НачатьНачать бесплатно

Свободный член и начальные условия

В этом упражнении вы познакомитесь со свободным членом и наклоном в контексте моделирования объёма раствора, содержащегося в большом стеклянном кувшине. Раствор состоит из воды, зерна, сахара и дрожжей. Также была зафиксирована общая масса раствора вместе с ёмкостью, однако масса пустого контейнера не записывалась.

Ваша задача — использовать заранее загруженный 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() )
Редактировать и запускать код