ブートストラップ仮説検定

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

Justin Bois

Lecturer at the California Institute of Technology

仮説検定の流れ

  • 帰無仮説を明確にする
  • 検定統計量を定義する
  • 帰無仮説が真と仮定して多数の疑似データを生成
  • 各疑似データで検定統計量を計算
  • p値=実データと同程度以上に極端な統計量となる割合
Pythonで学ぶ統計思考(パート2)

ミケルソンとニューカム:光速の先駆者

ch3-3.008.png

1 ミケルソン画像: パブリックドメイン(スミソニアン) 2 ニューカム画像: 米国議会図書館
Pythonで学ぶ統計思考(パート2)

ミケルソンとニューカム:光速の先駆者

ch3-3.010.png

1 ミケルソン画像: パブリックドメイン(スミソニアン) 2 ニューカム画像: 米国議会図書館
Pythonで学ぶ統計思考(パート2)

利用可能なデータ

ch3-3.011.png

1 データ: Michelson, 1880
Pythonで学ぶ統計思考(パート2)

帰無仮説

  • ミケルソンの実験における真の光速の平均は、実際にはニューカムの報告値である
Pythonで学ぶ統計思考(パート2)

ミケルソンのデータをシフト

newcomb_value = 299860  # km/s
michelson_shifted = michelson_speed_of_light \\
           - np.mean(michelson_speed_of_light) + newcomb_value

ch3-3.019.png

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

検定統計量の計算

def diff_from_newcomb(data, newcomb_value=299860):
    return np.mean(data) - newcomb_value
diff_obs = diff_from_newcomb(michelson_speed_of_light)

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

p値の算出

bs_replicates = draw_bs_reps(michelson_shifted,
                             diff_from_newcomb, 10000)

p_value = np.sum(bs_replicates <= diff_observed) / 10000
p_value
0.16039999999999999
Pythonで学ぶ統計思考(パート2)

 

1標本検定

- 1つのデータ集合を単一の数値と比較

 

2標本検定

- 2つのデータ集合を比較
Pythonで学ぶ統計思考(パート2)

練習してみましょう!

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

Preparing Video For Download...