始める無料で始める

ブートストラップ標本の可視化

この演習では、イギリスのシェフィールド気象観測所で 1883 年から 2015 年に測定された年間降水量データからブートストラップ標本を生成します。データは NumPy 配列 rainfall にミリメートル (mm) 単位で格納されています。ブートストラップ標本を ECDF で可視化すると、ブートストラップサンプリングがどのようにデータの確率的な記述を可能にするか、直感的に理解できます。

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

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

コースを見る

演習の手順

  • for ループを書いて、降水量データのブートストラップ標本を 50 個取得し、その ECDF をプロットします。
    • NumPy 配列 rainfall からブートストラップ標本を生成するには np.random.choice() を使います。再標本化した配列の size は必ず len(rainfall) にしてください。
    • このコースの前編で作成した関数 ecdf() を使い、ブートストラップ標本 bs_sample の ECDF のための xy の値を生成します。
    • ECDF の値をプロットします。多数を重ねるため、marker='.'linestyle='none' に加えて、color='gray'(灰色の点)と alpha=0.1(半透明)を指定します。
  • 配列 rainfall にある元の降水量データについても ecdf() を使って ECDF の xy の値を生成します。
  • 元データの ECDF をプロットします。
  • 完了したら Submit(提出する)を押してサンプルを可視化しましょう!

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

for _ in range(50):
    # Generate bootstrap sample: bs_sample
    bs_sample = ____(____, size=____)

    # Compute and plot ECDF from bootstrap sample
    x, y = ____
    _ = plt.plot(____, ____, ____='.', ____='none',
                 ____='gray', ____=0.1)

# Compute and plot ECDF from original data
x, y = ____
_ = plt.plot(____, ____, ____='.')

# Make margins and label axes
plt.margins(0.02)
_ = plt.xlabel('yearly rainfall (mm)')
_ = plt.ylabel('ECDF')

# Show the plot
plt.show()
コードを編集して実行