t統計量からp値を計算する

Pythonで学ぶ仮説検定

James Chapman

Curriculum Manager, DataCamp

t分布

  • t統計量はt分布に従う
  • 自由度(degrees of freedom、df)というパラメータを持つ
  • 正規分布に似るが、裾が太い

標準正規分布と自由度1のt分布のPDF。t分布は裾が太く、中央の峰が低い。

Pythonで学ぶ仮説検定

自由度

  • 自由度が大きいほど → t分布は正規分布に近づく
  • 正規分布 → 自由度無限大のt分布
  • 自由度:標本内で論理的に独立な値の最大数

標準正規分布と様々な自由度のt分布のPDF。自由度が増えると裾が細くなり峰が高くなり、正規分布に近づく。

Pythonで学ぶ仮説検定

自由度の計算

  • データは独立観測5個
  • 値の4つは2, 6, 8, 5
  • 標本平均は5
  • 残りの値は4になる
  • よって自由度は4

 

  • $df = n_{child} + n_{adult} - 2$
Pythonで学ぶ仮説検定

仮説

$H_{0}$:子ども期に初めてコードを書いた人と大人になってからの人で、平均報酬(USD)は同じ

$H_{A}$:子ども期に初めてコードを書いた人の平均報酬(USD)が、大人から始めた人より大きい

 

右片側検定を用いる

Pythonで学ぶ仮説検定

有意水準

$\alpha = 0.1$

もし $p \le \alpha$ なら帰無仮説 $H_{0}$ を棄却。

Pythonで学ぶ仮説検定

p値の計算:母比率1つ vs. 値

from scipy.stats import norm
1 - norm.cdf(z_score)

$SE(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}}) \approx \sqrt{\dfrac{s_{\text{child}}^2}{n_{\text{child}}} + \dfrac{s_{\text{adult}}^2}{n_{\text{adult}}}}$

  • z統計量:母数を1つの標本統計量で推定するときに使用

  • t統計量:母数を複数の標本統計量で推定するときに使用

Pythonで学ぶ仮説検定

p値の計算:異なる2群の平均

numerator = xbar_child - xbar_adult
denominator = np.sqrt(s_child ** 2 / n_child + s_adult ** 2 / n_adult)
t_stat = numerator / denominator
1.8699313316221844
degrees_of_freedom = n_child + n_adult - 2
2259
Pythonで学ぶ仮説検定

p値の計算:異なる2群の平均

  • 正規CDFでなくt分布のCDFを使用
from scipy.stats import t
1 - t.cdf(t_stat, df=degrees_of_freedom)
0.030811302165157595
  • 子ども時代にコーディング開始したStack Overflowのデータサイエンティストは、収入が高い証拠。
Pythonで学ぶ仮説検定

Passons à la pratique !

Pythonで学ぶ仮説検定

Preparing Video For Download...