始める無料で始める

Belmont Stakes の結果は正規分布に従いますか?

1926年以降、Belmont Stakes は3歳サラブレッドによる1.5マイルの競走です。1973年には Secretariat が史上最速のタイムを記録しました。最速の年がある一方で、1970年は異常な降雨とぬかるみのため最も遅い年でした。これら2つの外れ値をデータセットから取り除いたうえで、Belmont 勝者のタイムの平均と標準偏差を計算してください。この平均と標準偏差を用いて rng.normal() から正規分布に従うサンプルを生成し、CDF をプロットします。さらに、勝者タイムから得た ECDF を重ねて表示しましょう。これらは正規分布に近いといえますか?

※補足: Justin は Belmont Stakes に関するデータを Belmont のWikipediaページ からスクレイピングしました。

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

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

コースを見る

演習の手順

  • 2つの外れ値を除いた Belmont 勝者タイムの平均と標準偏差を計算します。NumPy 配列 belmont_no_outliers にデータが入っています。
  • この平均と標準偏差を使って、rng.normal() で正規分布から1万件のサンプルを取得します。
  • 理論サンプルのCDFと、Belmont 勝者データのECDFを計算し、それぞれ x_theor, y_theorx, y に代入します。
  • Submit を押して、サンプルのCDFとECDFをプロットし、軸ラベルを付けてプロットを表示してください。

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

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

# Compute mean and standard deviation: mu, sigma



# Sample out of a normal distribution with this mu and sigma: samples


# Get the CDF of the samples and of the data



# Plot the CDFs and show the plot
_ = plt.plot(x_theor, y_theor)
_ = plt.plot(x, y, marker='.', linestyle='none')
_ = plt.xlabel('Belmont winning time (sec.)')
_ = plt.ylabel('CDF')
plt.show()
コードを編集して実行