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_theorとx, 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()