モデルの構成要素
これまでは、あらかじめ定義済みのモデルを使ってきました。この演習では、入力データ x と、モデルの「0次」項 a0、「1次」項 a1、および二次項 a2 の係数を受け取り、y のモデル値を返すモデル関数を実装します(下式)。
\(y = a_0 + a_1 x + a_2 x^2\)
「1次」は線形であることを思い出してください。そのため、この一般的な線形モデルでは既定値として a2=0 を設定します。のちほど比較のためにこの値を変更します。
この演習はコースの一部です
Pythonで学ぶ線形モデリング入門
演習の手順
- 関数定義
model()を完成させ、入力としてxと既定引数a0=3, a1=2, a2=0を受け取り、yを返すようにします。 numpyのnp.linspace()を使って配列xを作成します。- 既定値を使うため、
a0, a1, a2を指定せずにxをmodel()に渡して、既定の予測値yを得ます。 - 事前定義の
plot_prediction()を使って、得られたxとyのプロットを確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define the general model as a function
def model(x, a0=____, a1=____, a2=____):
return a0 + (a1*____) + (a2*____*____)
# Generate array x, then predict y values for specific, non-default a0 and a1
x = np.____(-10, 10, 21)
y = model(____)
# Plot the results, y versus x
fig = plot_prediction(____, ____)