1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶ統計思考(パート2)

Connected

演習

ペア・ブートストラップ用の関数を作る

動画で説明したとおり、ペア・ブートストラップではデータのペアをリサンプリングします。各ペアの集合に対して、ここでは np.polyfit() を使って直線を当てはめます。これを何度も繰り返して、パラメータ値のブートストラップ複製を得ます。ペア・ブートストラップを行う便利なツールとして、x,y データの集合に対してペア・ブートストラップを実行する関数を書いていきます。

指示

100 XP
  • 線形回帰パラメータに対してペア・ブートストラップ推定を行う関数 draw_bs_pairs_linreg(x, y, size=1) を定義します。
    • np.arange() を使って、0 から len(x) までのインデックス配列を作ります。これをリサンプリングし、x と y 配列から値を取り出すのに用います。
    • np.empty() を使って、傾きと切片の複製配列をサイズ size で初期化します。
    • 次の処理を行う for ループを書きます。
      • インデックス inds をリサンプリングします。np.random.choice() を使ってください。
      • リサンプリングしたインデックス bs_inds を使って、新しい \(x\) と \(y\) の配列 bs_x と bs_y を作ります。これは x と y を bs_inds でスライスして作成します。
      • 新しい \(x\) と \(y\) 配列に np.polyfit() を適用し、得られた傾きと切片を保存します。
    • 傾きと切片のペア・ブートストラップ複製を返します。