切片と開始点
この演習では、大きなガラス容器に入った溶液の体積を測定したデータをモデル化する文脈で、切片と傾きのパラメータを確認します。溶液は水、穀物、糖分、酵母で構成されています。溶液とガラス容器の合計の質量も記録されていますが、空の容器の質量は記録されていません。
ここでは、事前に読み込まれた pandas の DataFrame df(列は volumes と masses)を使って、masses(y データ)を volumes(x データ)に関連付ける線形モデルを構築します。傾きは溶液の密度(質量の変化量/体積の変化量)の推定値、切片は空の容器の重さ(体積=0 のときの質量)の推定値になります。

この演習はコースの一部です
Pythonで学ぶ線形モデリング入門
演習の手順
statsmodelsからols()をインポートし、formula = "masses ~ volumes"、data=dfとして当てはめたモデルを作成します。.params['Intercept']と.params['volumes']を使って、切片a0と傾きa1をそれぞれ取り出します。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() )