ブートストラップ回帰のプロット
線形回帰で想定されるばらつきを視覚化するよい方法は、傾きと切片の各ブートストラップレプリケートから得られる回帰直線をすべて描くことです。最初の 100 個のブートストラップレプリケート(bs_slope_reps と bs_intercept_reps に保存)について、これを実行してください。
この演習はコースの一部です
Pythonで学ぶ統計思考(パート2)
演習の手順
- 回帰直線を描くために、
0と100からなる \(x\) 値の配列を生成します。np.array()関数を使ってください。 - ペアブートストラップのレプリケートで与えられる傾きと切片を用いて回帰直線を描く
forループを書きます。100本の直線を描いてください。forループの各反復で回帰直線をプロットするとき、回帰方程式y = a*x + bを思い出してください。ここでaはbs_slope_reps[i]、bはbs_intercept_reps[i]です。plt.plot()の呼び出しでは、キーワード引数linewidth=0.5、alpha=0.2、color='red'を指定します。
- x 軸に
illiteracy、y 軸にfertilityをとった散布図を作成します。キーワード引数marker='.'とlinestyle='none'を指定することを忘れないでください。 - 軸ラベルを付け、マージンを 2% に設定し、プロットを表示します。これはすでに用意してあるので、提出する を押してブートストラップ回帰を可視化しましょう!
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Generate array of x-values for bootstrap lines: x
x = ____
# Plot the bootstrap lines
for i in range(____):
_ = plt.plot(____,
____*x + ____,
____=0.5, ____=0.2, ____='red')
# Plot the data
_ = ____
# Label axes, set the margins, and show the plot
_ = plt.xlabel('illiteracy')
_ = plt.ylabel('fertility')
plt.margins(0.02)
plt.show()