Menu
CoddyTech

標本分布

CoddyのMachine Learningジャーニー「機械学習のための統計」セクションの一部。レッスン 21/64。

動画セッションの分布は右に歪んでいます。ほとんどは数分で終わりますが、数時間続くものもあります。それでも、40セッションからなる標本を1000個とったときの平均値は釣鐘型になります。

1つのグラフに2つのヒストグラム。個々のセッションは灰色で、0分付近に集中し、120分まで長い裾を引いています。40セッションの平均値は、母平均の30分を中心とした細い青い釣鐘型を形成しています

多くの標本平均のヒストグラムは標本分布です。各標本に十分な数の値があれば、データが歪んでいる場合でも、母平均を中心とした釣鐘型になります:

means = sample_means(sessions, 40, 1000)  # Sample Means Vary で作成した関数
ax.hist(means, bins=12)

これが中心極限定理です。これにより平均値を予測しやすくなります。テストセット全体におけるモデルの平均誤差も、おおよそ正規分布に従います。

challenge icon

チャレンジ

中級

クラウドドライブにある6000個のファイルサイズを表すfiles(MB)は右に歪んだ分布です。文書が多く、動画は少数です。プログラムはサンプルサイズを読み込み、スターターコードにはsample_meansと2つのグラフがあります。

  1. そのサイズのサンプル平均を500個求めます。
  2. ファイルの平均値から中央値を引いた値を出力し、次にサンプル平均の値を出力します(小数点以下2桁)。
  3. axs[0]にファイルのヒストグラムを、axs[1]にサンプル平均のヒストグラムを描画し、bins=12を指定して表示します。

別のドライブで60を指定した場合:

Files: mean - median = 25.28 MB
Sample means: mean - median = 0.55 MB

横に並んだ2つのヒストグラム。すべてのファイル:最初の棒が高く、右側に細長い裾が伸びています。サンプル平均:左右対称の釣鐘型

次にCoddyが各グラフを報告します。0に近い差は、歪みがなくなったことを意味します。

自分で試してみよう

import numpy as np
import matplotlib.pyplot as plt

size = int(input())

# 以下の行は変更しないでください:ドライブ内の各ファイルのサイズ(MB単位)
rng = np.random.default_rng(21)
files = np.round(rng.random(6000) ** 4 * 300 + 5, 2)


# Sample Means Varyで作成した関数:count個の標本の平均値
def sample_means(data, size, count):
    means = []
    for i in range(count):
        sample = rng.choice(data, size=size, replace=False)
        means.append(sample.mean())
    return np.array(means)


fig, axs = plt.subplots(1, 2)
axs[0].set_title("All Files")
axs[0].set_xlabel("File size (MB)")
axs[1].set_title("Sample Means")
axs[1].set_xlabel("Mean file size (MB)")

# 以下にコードを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

機械学習のための統計のすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ