モデルのパラメータ
これまでに一般的なモデルを作成しました。次は、新しく(事前に読み込まれた)観測データ xd, yd に対して、モデルと観測データの点がプロット上で重なるように、モデルパラメータ a0, a1 の具体的な値を見つけてモデルを「最適化」または「フィット」させましょう。
これは反復的な可視化の戦略です。まずパラメータの当て推量から始め、model() に渡して、得られたモデルの直線を観測データに重ね描きし、直線が点を通っているかを目視で確認します。通っていなければ、パラメータを変えて再試行します。

この演習はコースの一部です
Pythonで学ぶ線形モデリング入門
演習の手順
- 関数
plot_data_and_model(xd, yd, ym)を完成させ、内部のプロット呼び出しにxd, ydとxd, ymを渡してください。 - データ
xdと、推定したパラメータa0、a1の両方を渡してym = model()を呼び出し、モデルの予測を計算します。- 上のデータを確認し、最初の2つの推定値を決める際の参考にしてください。直線の当てはまりを見たあとで、これらの推定を見直してかまいません。
plot_data_and_model()を使って、xd、yd、ymを一緒にプロットします。a0とa1の値を変更し、直線がすべての点を通るまで、直前の2つの手順を繰り返してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Complete the plotting function definition
def plot_data_with_model(xd, yd, ym):
fig = plot_data(____, ____) # plot measured data
fig.axes[0].plot(____, ____, color='red') # over-plot modeled data
plt.show()
return fig
# Select new model parameters a0, a1, and generate modeled `ym` from them.
a0 = ____
a1 = ____
ym = model(xd, a0, a1)
# Plot the resulting model to see whether it fits the data
fig = plot_data_with_model(xd, yd, ____)