RSS の極小値を可視化する
この演習では、モデルパラメータの値を変えたときに RSS がどのように変化するかを計算し、可視化します。まず切片は固定し、傾きだけを変えます。各傾きに対してモデル値を計算し、その結果としての RSS を求めます。RSS の配列が得られたら、コードで最小の RSS を特定し、その最小値を与えた傾きを求めます。
あらかじめ読み込まれているデータ配列 x_data、y_data と、空のコンテナ rss_list を使って始めてください。

この演習はコースの一部です
Pythonで学ぶ線形モデリング入門
演習の手順
a1_arrayの各試行値a1について、model()でモデル値を予測し、続いてcompute_rss()にy_data, y_modelを渡して計算したrss_valueをrss_listに保存します。rss_listをnp.array()に変換し、np.min()を使ってrss_arrayの最小値を求めます。np.where()を使って対応する試行値を見つけ、結果をbest_a1に代入します。plot_rss_vs_parameters()を使って、図と一致しているかを視覚的に確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Loop over all trial values in a1_array, computing rss for each
a1_array = np.linspace(15, 35, 101)
for a1_trial in a1_array:
y_model = model(x_data, a0=150, a1=____)
rss_value = compute_rss(y_data, ____)
rss_list.append(____)
# Find the minimum RSS and the a1 value from whence it came
rss_array = np.array(____)
best_rss = np.min(____)
best_a1 = a1_array[np.where(rss_array==____)]
print('The minimum RSS = {}, came from a1 = {}'.format(best_rss, best_a1))
# Plot your rss and a1 values to confirm answer
fig = plot_rss_vs_a1(a1_array, rss_array)