論文で「α = 0.05」「有意水準5%で検定」と書かれる数字。 p値の判定基準。
有意水準 とは:「これより小さいp値なら帰無仮説を棄却する」と事前に決める閾値。慣習的に 0.05, 0.01, 0.001。
有意水準 α は、 検定の「合否ライン」です。 「p値が α より小さければ、 偶然とは考えにくいので帰無仮説を棄却する」というルール。 慣習的に α = 0.05(5%)が最も使われますが、 厳しい検証では 0.01 や 0.001 も。
α は事前に決めるのが厳密な手順。 結果を見てから「3%なら有意」と動かすのは p-hacking の温床。
α の意味:「本当は帰無仮説が正しいのに、 誤って棄却してしまう確率」の上限(第1種の過誤)。 α を小さくすると false positive は減るが、 本物の効果も見逃しやすくなる(第2種過誤の増加)。

| 用語 | 記号 | 何を測る? | 公式 |
|---|---|---|---|
| 標準偏差 | σ, s | データ1個のばらつき | √(Σ(x-x̄)²/(n-1)) |
| 標準誤差 | SE | 推定値のばらつき | σ/√n |
| 信頼区間 | CI | 真値の入る範囲 | x̄ ± z·SE |
| p値 | p | 偶然この結果が出る確率 | P(|T| ≥ |t_obs| | H₀) |
| 有意水準 | α | Type I 誤り許容率 | 通常 0.05 |
| 検出力 | 1-β | 真の差を検出する確率 | 1 - Pr(Type II error) |
| 効果量 | d, r, R² | 差の大きさ | Cohen's d = (μ₁-μ₂)/σ |
| サンプルサイズ | n | 標本数 | power analysisで決定 |
頻度主義の p値に対する、 ベイズ統計の対案。 「H₁ が H₀ より何倍ありそうか」を直接示します。
$$ BF_{10} = \frac{P(\text{data} | H_1)}{P(\text{data} | H_0)} $$
| BF₁₀ | 解釈 |
|---|---|
| 1〜3 | 弱い証拠 |
| 3〜10 | 中程度の証拠 |
| 10〜30 | 強い証拠 |
| >100 | 決定的証拠 |
p < 0.05 は BF ≈ 3 程度しか意味しないという議論があり、 BF を併記する研究が増えています。
α と CI は厳密に対応します:
「H₀: μ = μ₀ を α 水準で棄却」 ⇔ 「(1-α)·100% CI が μ₀ を含まない」
つまり、 CI を計算するだけで、 すべての値に対する仮説検定の結果が一気に分かります。
「有意水準で判定」より「CI を示す」方向へ。 効果量と組み合わせて、 統計的・実質的の両方を判断するのが推奨。
| 分野 | 標準的な α | 理由 |
|---|---|---|
| 心理学・社会学 | 0.05 | 慣習 |
| 医薬品試験(FDA) | 0.05 両側 | 承認基準 |
| 高エネルギー物理 | 5σ ≈ 3×10⁻⁷ | 膨大な仮説検定があるため |
| GWAS | 5×10⁻⁸ | 100万SNPの多重比較 |
| 経済学 | 0.05〜0.10 | サンプル取得困難 |
| 産業の品質管理 | 6σ | 致命的欠陥防止 |
0.05 はあくまで慣習で、 数学的・統計学的根拠はありません。 Fisher は柔軟に使うことを意図していました。 文脈に応じて変えるべき。
0.049 と 0.051 はほぼ同じ証拠の強さ。 機械的に「有意/非有意」と分けるのは過度な単純化。
巨大データでは小さな効果でも p < 0.05 に。 効果量と組み合わせて評価を。
10個の検定を α = 0.05 で行うと、 偶然に有意になる確率は約40%。 必ず補正を。
n が小さいと、 真の効果を見逃す(Type II 誤り)。 「有意ではない」が「効果がない」とは限らない。
結果を見てから α を変えるのは禁忌。 必ず事前に決定。
「0.05 の慣習」が見直され続ける現代統計学の混乱と発展。
新薬承認には、 通常 α = 0.05 両側で「プラセボより有意に効果がある」を示す必要。 効果量と CI も併記。 安全性検定は α = 0.01 などより厳しく。
α = 0.05 が標準。 ただし「あれもこれも有意」になりがちなため、 効果量(lift)も重視。 Type I より Type II(機会損失)を気にする傾向。
5σ ルール: 5 標準偏差を超える信号でないと「発見」とは認めない(p ≈ 3×10⁻⁷)。 ヒッグス粒子の発見(2012年)でも 5σ。
従来 α = 0.05 が慣習。 再現性危機を受けて、 事前登録(pre-registration)が急速に普及。
従来は仮説検定をあまり使わなかったが、 近年は「複数モデルの比較」に McNemar 検定や CV スコアの t検定が使われる。
💡 有意水準 α は「許容するTypeI誤り率」。 通常 0.05 を採用するが、 これは便宜的な慣習で、 分野や目的により変えるべき。 検出力 1-β、 効果量、 信頼区間と合わせて使うのが現代統計の標準。 p < α だけで判断する時代は終わりつつある。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | from scipy import stats # 1標本 t検定 t, p = stats.ttest_1samp(data, popmean=0) alpha = 0.05 if p alpha: print(f"棄却: p={p:.4f} {alpha}") else: print(f"不棄却: p={p:.4f} ≥ α={alpha}") # 2標本 t検定(独立) t, p = stats.ttest_ind(group1, group2) # 対応のあるt検定 t, p = stats.ttest_rel(before, after) # Welch t検定(不等分散) t, p = stats.ttest_ind(g1, g2, equal_var=False) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | from statsmodels.stats.multitest import multipletests p_values = [0.001, 0.01, 0.03, 0.04, 0.10, 0.20] # Bonferroni reject, p_adj, _, _ = multipletests(p_values, alpha=0.05, method='bonferroni') # Benjamini-Hochberg (FDR) reject, p_adj, _, _ = multipletests(p_values, alpha=0.05, method='fdr_bh') # Holm reject, p_adj, _, _ = multipletests(p_values, alpha=0.05, method='holm') for p_orig, p_a, rej in zip(p_values, p_adj, reject): print(f'p={p_orig:.3f} → 補正後 p={p_a:.3f}, 棄却={rej}') |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | from statsmodels.stats.power import TTestIndPower analyzer = TTestIndPower() # 検出可能な効果量を計算 effect = analyzer.solve_power(nobs1=50, alpha=0.05, power=0.80) print(f'検出可能な最小効果量: {effect:.3f}') # 必要なサンプルサイズ n = analyzer.solve_power(effect_size=0.3, alpha=0.05, power=0.80) print(f'必要n(各群): {n:.0f}') # 与えられた条件での検出力 power = analyzer.solve_power(effect_size=0.5, nobs1=30, alpha=0.05) print(f'検出力: {power:.3f}') |
有意水準 がデータサイエンスの体系の中でどこに位置するかを、 3つの異なる視点で可視化します。 同じ情報でも見方を変えると気付きが変わります。
🌐 統計・データサイエンス › 推測統計 › 検定 › 有意水準
中心の概念から放射状に、 前提・兄弟・発展形・応用先などの関係性を矢印で結びます。 横の繋がりを見るのに最適。 ノードをドラッグ、 ホイールでズーム、 クリックで遷移。
大きな円が小さな円を包含する Circle Packing 図。 「有意水準」は緑色でハイライト。
長方形を入れ子に分割した Treemap 図。 各分野の規模感を面積で比較。 「有意水準」は緑色でハイライト。
| マップ | 分かること | こんな時に見る |
|---|---|---|
| 🔗 関係マップ | 手法間の横の関係(前提→発展→応用) | 「次に何を学べばよい?」 学習順序の判断 |
| ⭕ 包含マップ | 分類体系の入れ子構造(上位⊃下位) | 「この手法はどんなジャンルに属する?」 |
| 🌳 ツリーマップ | 分野の規模比較(面積=ボリューム) | 「データサイエンス全体の俯瞰像」 |
💡 ジャストインタイム学習のヒント:3つの視点を行き来することで、 概念を多角的に理解できます。 包含マップやツリーマップはズーム/ドリルダウンで大分類から細部まで探索できます。
有意水準(significance level)に関する用語を、 誤り種類・補正・代替論 別に索引化します。
| カテゴリ | キーワード(日本語) | キーワード(英語) |
|---|---|---|
| 基本概念 | 有意水準、 α、 棄却域、 臨界値、 片側/両側 | significance level, alpha, critical region, one/two-sided |
| 誤り種類 | 第一種の誤り、 第二種の誤り、 検出力(1−β)、 偽陽性率 | Type I, Type II, power, false positive rate |
| 多重比較補正 | Bonferroni補正、 Holm法、 BH法(FDR)、 Šidák、 Hochberg | Bonferroni, Holm, BH, FDR, Šidák |
| 関連指標 | p値、 信頼区間、 効果量、 ベイズファクター | p-value, CI, effect size, Bayes factor |
| 代替論 | 事前登録、 再現性、 信頼性、 p-hacking、 HARKing | preregistration, replication, p-hacking, HARKing |
| 実装関数 | scipy.stats、 statsmodels、 pingouin、 multipletests | scipy.stats, statsmodels, pingouin, multipletests |
SSDSE-B から「都道府県別の平均所得」を使い、 全国平均との差をt検定で評価します。
H₀(帰無仮説):北海道の母平均 = 全国平均(μ₀ = 304万円)
H₁(対立仮説):北海道の母平均 ≠ 全国平均
標本平均 x̄ = 290、 SD = 35、 n = 10 とすると
t = (290 − 304) / (35 / √10) = −1.265
自由度 9、 両側p値 ≈ 0.237
α = 0.05 で 棄却できない(差は確認できない)
| α | 臨界値 t (df=9) | 判定 | 第一種の誤り率 |
|---|---|---|---|
| 0.01 | ±3.25 | 不棄却 | 1% |
| 0.05 | ±2.26 | 不棄却 | 5% |
| 0.10 | ±1.83 | 不棄却 | 10% |
47回の検定を α=0.05 で行うと、 偶然有意になる回数の期待値は 47×0.05 ≈ 2.35回。
Bonferroni 補正後の有意水準 = 0.05/47 ≈ 0.00106
BH法(FDR=5%):p値を昇順に並べ、 p₍ₖ₎ ≤ k/47 × 0.05 となる最大 k までを有意とする。
1 2 3 4 5 6 7 8 9 10 11 | import pandas as pd from scipy.stats import ttest_1samp, t df = pd.read_csv('data/raw/SSDSE-B-2024.csv', encoding='shift_jis', skiprows=1) sample = df[df['都道府県'] == '北海道']['平均所得'] # 仮定の系列 stat, p = ttest_1samp(sample, popmean=304) alpha = 0.05 crit = t.ppf(1 - alpha/2, df=len(sample)-1) print(f't={stat:.3f}, p={p:.4f}, 臨界値=±{crit:.3f}') print('棄却' if abs(stat) > crit else '不棄却') |
1 2 3 4 5 6 | from statsmodels.stats.weightstats import DescrStatsW desc = DescrStatsW(sample) print('mean:', desc.mean) print('95% CI:', desc.tconfint_mean(alpha=0.05)) print('t統計量, p値:', desc.ttest_mean(value=304)) |
1 2 3 | import pingouin as pg res = pg.ttest(sample, 304, alternative='two-sided') print(res) # T, dof, p-val, CI95%, cohen-d, BF10, power |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | from statsmodels.stats.multitest import multipletests from scipy.stats import ttest_1samp import pandas as pd df = pd.read_csv('data/raw/SSDSE-B-2024.csv', encoding='shift_jis', skiprows=1) pvals = [] for pref, g in df.groupby('都道府県'): _, p = ttest_1samp(g['平均所得'], 304) pvals.append(p) # Bonferroni 補正 rej_b, padj_b, _, _ = multipletests(pvals, alpha=0.05, method='bonferroni') # BH法 (FDR) rej_bh, padj_bh, _, _ = multipletests(pvals, alpha=0.05, method='fdr_bh') # Holm法 rej_h, padj_h, _, _ = multipletests(pvals, alpha=0.05, method='holm') print('Bonferroni 棄却数:', rej_b.sum()) print('BH (FDR) 棄却数 :', rej_bh.sum()) print('Holm 棄却数 :', rej_h.sum()) |
1 2 3 4 5 6 | from statsmodels.stats.power import TTestPower # α=0.05, 検出力=0.8, 効果量 d=0.5 → 必要n analysis = TTestPower() n = analysis.solve_power(effect_size=0.5, alpha=0.05, power=0.8) print(f'必要サンプルサイズ: {n:.1f}') |
1 2 3 4 | from statsmodels.stats.weightstats import ttost_ind # 2群が「実質的に同じ」と主張するための片側2回検定 p, _, _ = ttost_ind(group1, group2, low=-5, upp=5) print('TOST p値:', p) # p<0.05 で「等価」 |
有意水準 α(significance level)は、 仮説検定で「H₀ が真なのに棄却してしまう」ミスを許容する確率。 通常 0.05(5%)が標準。
青曲線(H₀)の右側赤領域が α。 緑曲線(H₁)の左側オレンジ領域が β(H₁ が真なのに H₀ を採用するミス、 第二種の誤り)。
| H₀ が真(差なし) | H₁ が真(差あり) | |
|---|---|---|
| H₀ 棄却(差ありと判定) | α: Type I 誤り | 1-β: 正解(検出力) |
| H₀ 不棄却(差なしと判定) | 1-α: 正解 | β: Type II 誤り |
α を小さくすれば誤検出は減るが、 検出力も下がる。 トレードオフ。
長年、 p < 0.05 が「有意」の自動基準とされてきましたが、 近年その慣習が問い直されています: