Свободный член и начальные условия
В этом упражнении вы познакомитесь со свободным членом и наклоном в контексте моделирования объёма раствора, содержащегося в большом стеклянном кувшине. Раствор состоит из воды, зерна, сахара и дрожжей. Также была зафиксирована общая масса раствора вместе с ёмкостью, однако масса пустого контейнера не записывалась.
Ваша задача — использовать заранее загруженный DataFrame df с колонками volumes и masses, чтобы построить линейную модель, описывающую зависимость masses (данные по оси y) от volumes (данные по оси x). Наклон будет оценкой плотности раствора (изменение массы / изменение объёма), а свободный член — оценкой массы пустого контейнера (масса при объёме, равном 0).

Это упражнение является частью курса
Введение в линейное моделирование на Python
Инструкции к упражнению
- Импортируйте
ols()изstatsmodelsи используйте эту функцию для построения модели, обученной наdata=dfс параметромformula = "masses ~ volumes". - Извлеките свободный член
a0и наклонa1с помощью.params['Intercept']и.params['volumes']соответственно. - Выведите
a0иa1, используя содержательные физические названия. - Вызовите
model_fit()и найдите значения, совпадающие с полученными выше; обратите внимание на метки строкIntercept,volumesи метку столбцаcoef.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Import ols from statsmodels, and fit a model to the data
from statsmodels.formula.api import ols
model_fit = ols(formula="____ ~ ____", data=____)
model_fit = model_fit.fit()
# Extract the model parameter values, and assign them to a0, a1
a0 = model_fit.params['____']
a1 = model_fit.params['____']
# Print model parameter values with meaningful names, and compare to summary()
print( "container_mass = {:0.4f}".format(____) )
print( "solution_density = {:0.4f}".format(____) )
print( model_fit.summary() )