Pythonで学ぶ仮説検定
James Chapman
Curriculum Manager, DataCamp
age_first_code_cut はStack Overflowユーザーがプログラミングを始めた時期を分類します"adult" は14歳以上で開始したことを意味します"child" は14歳未満で開始したことを意味します仮説とは、未知の母集団パラメータに関する主張です
仮説検定とは、2つの競合する仮説を検定することです
帰無仮説($H_{0}$) は既存の考え方
対立仮説($H_{A}$) は研究者が提唱する新しい考え方
今回の問題では:
有意水準は、仮説検定における「合理的な疑いを超えた」基準に相当します

仮説検定は、標本統計量が帰無分布の裾に位置するかどうかを確認します
| 検定 | 裾 |
|---|---|
| 対立仮説が帰無仮説と 異なる | 両側 |
| 対立仮説が帰無仮説より 大きい | 右側 |
| 対立仮説が帰無仮説より 小さい | 左側 |
$H_{A}$: データサイエンティストが子供の頃にプログラミングを始めた割合は35%超
これは右側検定です

p値:帰無仮説が真であると仮定した場合に、その結果が得られる確率
prop_child_samp = (stack_overflow['age_first_code_cut'] == "child").mean()
0.39141972578505085
prop_child_hyp = 0.35
std_error = np.std(first_code_boot_distn, ddof=1)
0.010351057228878566
z_score = (prop_child_samp - prop_child_hyp) / std_error
4.001497129152506
norm.cdf() は scipy.stats の正規CDF関数です。norm.cdf() を使用。1 - norm.cdf() を使用。
from scipy.stats import norm
1 - norm.cdf(z_score, loc=0, scale=1)
3.1471479512323874e-05
Pythonで学ぶ仮説検定