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

Connected

演習

ノーヒッターはどれくらいの頻度で起きる?

メジャーリーグベースボールの近代(1901–2015)における、各ノーヒッターの間に行われた試合数は配列 nohitter_times に保存されています。

ノーヒッターがポアソン過程に従うと仮定すると、ノーヒッター間の時間は指数分布に従います。ご覧のとおり、指数分布には 1 つのパラメータがあり、ここでは典型的な間隔時間を表す \(\tau\) と呼びます。指数分布がデータに最もうまく一致する \(\tau\) の値は、ノーヒッター間の平均間隔時間(単位は試合数)です。

このパラメータの値をデータから計算してください。次に、見つけた \(\tau\) をもつ指数分布からノーヒッター間隔をサンプリングすることで、np.random.exponential() を使ってメジャーリーグの「歴史を再現」し、得られたヒストグラムを PDF の近似としてプロットしましょう。

NumPy、pandas、matplotlib.pyplot、seaborn はそれぞれ np、pd、plt、sns としてインポート済みです。

指示

100 XP
  • 乱数生成器を 42 でシードします。
  • ノーヒッター間の平均時間(単位は試合数)を計算します。
  • ノーヒッター間隔の平均から得たパラメータを使い、指数分布から 100,000 サンプルを生成します。
  • plt.hist() を使って理論的な PDF をプロットします。キーワード引数 bins=50、normed=True、histtype='step' を必ず指定し、軸ラベルも付けてください。
  • プロットを表示します。