始める無料で始める

ブートストラップ回帰のプロット

線形回帰で想定されるばらつきを視覚化するよい方法は、傾きと切片の各ブートストラップレプリケートから得られる回帰直線をすべて描くことです。最初の 100 個のブートストラップレプリケート(bs_slope_repsbs_intercept_reps に保存)について、これを実行してください。

この演習はコースの一部です

Pythonで学ぶ統計思考(パート2)

コースを見る

演習の手順

  • 回帰直線を描くために、0100 からなる \(x\) 値の配列を生成します。np.array() 関数を使ってください。
  • ペアブートストラップのレプリケートで与えられる傾きと切片を用いて回帰直線を描く for ループを書きます。100 本の直線を描いてください。
    • for ループの各反復で回帰直線をプロットするとき、回帰方程式 y = a*x + b を思い出してください。ここで abs_slope_reps[i]bbs_intercept_reps[i] です。
    • plt.plot() の呼び出しでは、キーワード引数 linewidth=0.5alpha=0.2color='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()
コードを編集して実行