🔖 キーワード索引
このページ内のセクションへ素早く飛べます(クリックで該当箇所へジャンプ):
「statistical power 」は統計データ分析の文脈で扱う重要概念のひとつ。 本ページでは「statistical power」を取り巻く中核キーワードを以下にチップで一覧化する。 各キーワードは関連する概念・手法・道具立てを含み、 文献検索や学習計画の起点になる。
検定力 第2種の誤り (β) 1-β サンプルサイズ設計 効果量 有意水準 (α) G*Power 事前/事後解析 検出力曲線
これらのキーワードは「statistical power の理解 → 適用 → 検証」のプロセスを構成する。 各章で詳しく解説する。
💡 30秒で分かる結論 — 検出力
🍰 まずはやさしく
正解を見逃さないための確率です。
本当に差があることを証明するために使います。
部活の練習で効果が出たか確かめる時に役立ちます。
まずは結論と注意点を短く確認しましょう。
一言で :本当に差があるとき、 それを正しく検出する確率 。 通常 0.8 を目標。
分野 :仮説検定 — 全体像は hypothesis-testing ページで
典型的な使い所 :本ページ「🎨 直感」「🧮 SSDSE実値計算」セクションを参照
絶対に外せない落とし穴 :⚠️ セクションの 5 項目に目を通すこと
関連手法へ :「🌐 関連手法」セクションで上位・並列・発展概念を一覧
レポートでは :『出典・期間・サンプル数・前提・限界』の 5 点を明示
💡 30秒で分かる結論
対立仮説が真のとき正しく棄却できる確率(1-β)
分野 :仮説検定 — 📚 仮説検定の枠組み
用途 :分析・前処理・モデル構築・解釈支援などの場面で使われます
注意 :適用条件と限界を理解してから使うのが鉄則
📍 あなたが今見ているもの
🍰 まずはやさしく
分析の準備に欠かせない道具です。
調査に必要な人数を決めるために使います。
アンケートを何人に配るか考える時に必要です。
このページにある12個の解説を案内します。
検出力=1−β(β=第2種の過誤確率)。 検出力分析は必要サンプル数 を決めるための必須手続き。 G*Power、 statsmodels.stats.power が定番ツール。
本ページは 検出力(Statistical Power (1−β)) を、 ジャストインタイム型データサイエンス教育の文脈で 12 のセクションに分けて解説します。 上から順に読まなくても、 「🔖 キーワード索引」から必要箇所だけ拾い読みすることもできます。
🎨 直感で掴む — 検出力とは何者か
🍰 まずはやさしく
正解を見つける力の強さのようなものです。
分析結果がどれくらい信頼できるか知るために使います。
スマホのアプリで差があるか調べる時に役立ちます。
図や例を使って直感的に仕組みを学びましょう。
検出力(Statistical Power (1−β))は「本当に差があるときに、 t 検定や ANOVA が p<0.05 を返す確率」。 SSDSE-B-2026 で「東日本 17 都道県 vs 西日本 30 府県の高齢化率(A1303÷A1101 から算出)に差があるか」を調べる際、 検出力 0.4 と 0.8 では 「差なし」結論の意味がまるで違います 。 ここでは効果量 d / 有意水準 α / サンプル n と検出力が連動する関係を一気に体感しましょう。
場面 検出力が登場する例 何が分かるか
論文の Methods 節 「検出力を用いて分析した」 手法の前提と限界が文脈に乗る
実務レポート 「検出力の観点で評価」 意思決定の根拠が明確化
教育・学習 SSDSE-B-2026 を題材に演習 実データで本物の感覚が得られる
政策・社会 仮説検定 分野で標準的に登場 EBPM や DX の議論に直結
本ページではこのあと、 数式(または定義)・SSDSE 実データ計算・Python実装・落とし穴 を順番に追いかけて、 用語を「使える知識」にしていきます。
🎨 直感で掴む
検出力は「本当に差があるとき、 それを統計的に有意と判定できる確率 」。 例えば 47 都道府県で「東日本と西日本の平均所得に 10 万円の差がある」が真だった場合、 n=24 のサンプルで t 検定して p<0.05 を出せる確率が検出力。 効果量 d=0.5・α=0.05・n=24 なら検出力は約 0.40 — 60% は「差が無い」と誤判定する。 低検出力での非有意結果は「差が無い」ではなく「分からない」 を意味する。
慣例的に 0.8 以上 を目標とし、 d=0.5 を α=0.05 で 0.8 検出するには n≈64 必要。 SSDSE-B-2026 の 47 都道府県では小〜中効果の検出力は不足しがちで、 「東西で差なし」と結論する前に必要 n を G*Power や statsmodels.stats.power で事前計算するのが現代的な手続き。
🎮 触って理解する — H0とH1の重なりで検出力を見る
帰無分布 H0 (差がない世界・青)と対立分布 H1 (本当は差がある世界・橙)を重ねて描画します。 3 本のスライダーで 有意水準 α ・効果量 d(=H1 の中心) ・標本サイズ n(1 群あたり) を動かすと、 α=第1種の過誤(赤) ・β=第2種の過誤(紫) ・検出力 1−β(緑) が塗り分けでリアルタイム更新されます。 効果量↑・n↑・α緩め のどれでも検出力が上がる —— この 4 者の連動を体感してください。 設定は SSDSE-B-2026 の「東日本 vs 西日本」を模した独立 2 群・両側 z 検定(正規近似, σ=1) です。
🔍 検出力モード(α・d・n → 1−β)
🎯 必要nモード(目標パワー → n を逆算)
H0(青)・H1(橙)と臨界値(破線)/塗り=α赤・β紫・検出力緑
🧩 α・β・効果量・n —— 検出力を決める 4 者の関係
検出力 1−β は「本当に差がある(対立仮説 H1 が真)のに、 それを見逃さず棄却できる確率」。 上の図で H1 の右裾が臨界値を超えて緑に入る面積 がそれです。 この面積は次の 4 者だけで決まります。
動かすと… 図の変化 検出力 1−β
効果量 d を上げる(効果量 ) H1 が右へ離れる 上がる ↑
n を増やす 両分布が細く尖り重なりが減る 上がる ↑
α を緩める(0.05→0.10) 臨界値が内側へ動く 上がる ↑(ただし第1種の過誤 も増)
α を厳しく(0.05→0.01) 臨界値が外側へ動く 下がる ↓
α と β はトレードオフ です。 α(第1種の過誤 =差がないのに「差あり」と誤る確率)を小さくすると臨界値が外側へ動き、 β(第2種の過誤 =差があるのに見逃す確率)が増えて検出力が下がります。 両方を同時に下げる唯一の正攻法が n を増やす こと —— これが検出力分析でサンプルサイズ設計が中心になる理由です。
📐 検出力分析(事前の必要 n 設計)と過少検出力の問題
事前(a-priori)検出力分析 とは、 データを取る前 に「目標検出力 0.8・想定効果量 d・α=0.05」から必要 n を逆算する手続きです。 上の「🎯 必要nモード」がまさにこれで、 両側 z 検定なら 1 群あたり n ≈ 2·(z1−α/2 +z1−β )² / d² で近似できます。
過少検出力(underpowered) な研究は二重に危険です。 第一に、 本当の差を高確率で見逃す(β が大きい)。 第二に、 たまたま 有意になった結果は効果量を過大評価しやすく(Type M error)、 追試で再現しません。 これが 再現性の危機 の主要因の一つで、 「非有意 = 差なし」ではなく「検出力不足で判断保留 」と書き分けることが、 検出力を理解した分析者の作法です。 SSDSE-B-2026 は 47 行固定なので、 「この n で検出できる最小効果量」を逆算し、 結論の慎重さを担保します。
🔬 数式・定義を「言葉」で読み解く
先ほどの数式・定義に出てきた記号や概念を、 一つずつ確認します。 とくに 検出力 の文脈で意味を取り違えやすい部分を強調します。
記号 意味と注意点
$\bar{x}$ 標本平均。 $\bar{x} = \frac{1}{n}\sum_{i=1}^n x_i$ $\sigma$(または $s$) 標準偏差(または標本標準偏差)。 ばらつきの代表指標 $n$ 標本サイズ(観測数) $p$ p値、 または比率。 文脈で意味が変わる $\alpha$ 有意水準(通常 0.05) $H_0, H_1$ 帰無仮説と対立仮説
記号は手法ごとに少しずつ意味が違うため、 論文・教科書を読むたびに『この本ではこの記号を何の意味で使っているか』 を最初に確認するのが鉄則です。 とくに 検出力 関連の文献では、 ${\sigma}^2$(分散)と $s^2$(標本分散)の区別、 $n$ と $N$(標本サイズ vs 母集団サイズ)の混同に注意。
🔬 数式を言葉で読み解く — 逐次検定と検出力
大規模 A/B テストでは、 データが集まる途中で「もう差が見えたから止めよう」と判断したくなる。 これを逐次検定 (sequential testing)と呼ぶが、 単純に何度も検定すると α が膨張する(peeking problem)。
$$ \alpha_{\text{actual}} \approx 1 - (1-\alpha)^{k} $$
$k$ 回検定すると、 実際の偽陽性率は $\alpha$ の $k$ 倍近くに膨らむ。 $\alpha=0.05$ で 5 回 peek すれば実質 $\alpha \approx 0.23$。 検出力分析でも、 逐次検定を想定するなら群逐次法 (O'Brien-Fleming、 Pocock 等)の境界値を使って α を分割する必要がある。
peek 回数 k
単純検定の偽陽性率
Pocock 法での閾値
O'Brien-Fleming 法
1 0.05 0.050 0.050
3 0.14 0.022 0.001 → 0.039
5 0.23 0.016 0.00005 → 0.041
10 0.40 0.0106 最終段でほぼ 0.05
💬 結果の読み方 : ① Pocock 法は「各段階で同じ閾値」、 O'Brien-Fleming は「序盤厳しく、 終盤 0.05 に近づける」設計。 ② どちらも検出力を維持するためには、 単純な n より 1.07 〜 1.20 倍 の標本が必要。 ③ SSDSE のような固定 47 件のクロスセクションでは逐次検定の余地はないが、 時系列で年次が増えるパネルデータでは関係する。
📖 物語で理解する検出力 — 「見逃さない統計学」の現場感覚
検出力(statistical power)は数式だけで理解すると「閾値より大きい確率」という抽象的な定義に閉じてしまう。 だが現場の研究者・データサイエンティスト・公衆衛生担当者にとって、 検出力は 「自分の研究が本当に意味のある違いを見つけられるか」 を事前に保証する 研究品質の心臓部 である。 ここでは、 SSDSE-B-2026 都道府県データに即した三つの物語を通じて、 検出力の「実感」を育てる。
物語 1 — 「47 件しかない」呪縛と向き合う県政アナリスト
県政担当のアナリストが、 「人口あたり医師数と平均寿命に関係があるか」を調べたいと考えた。 SSDSE-B-2026 で扱える単位は 47 都道府県、 つまり標本サイズは固定で 47 である。 相関分析を行う場合、 Cohen の慣用値で「中程度の相関」とされる $r=0.30$ を α=0.05 両側、 検出力 0.80 で検出するには、 おおむね n ≈ 84 件が必要になる。 つまり 47 件では、 中程度の相関すら確実には拾えない可能性が高い。 では諦めるしかないのか? 答えは「効果量の前提を見直す」「結論の書き方を変える」の二段構えである。
第一に、 公的統計を都道府県単位で扱う領域では、 各観測点が 「数万〜数百万人の集約」 であるためノイズが小さく、 同じ $r=0.30$ でも単一個人を観察する研究より「実質的に強い相関」を意味する。 第二に、 47 件で検出できるのは概ね $r \geq 0.40$(中〜大)の関係に限られるため、 結果には必ず「47 件・検出力 0.80 で検出可能な最小相関は約 0.40 である」と 事前検出力分析(a priori power analysis)の前提 を明示する。 これにより、 「弱い相関が出なかった=関係がない」と早合点する読者を防げる。 検出力分析は 「自分の研究の限界を honest に書く道具」 なのである。
物語 2 — 新薬の効果を「見逃さない」治験統計家
製薬企業の治験統計家にとって、 検出力は 「失敗治験のコスト」 と直結する。 ある第 III 相試験で、 新薬と既存薬の血圧降下効果の差を $d=0.30$(標準偏差換算)と想定し、 α=0.05、 検出力 0.90、 1:1 割付、 両側検定で計算すると、 必要総標本は概ね n ≈ 470 となる。 ここで「検出力 0.80 で十分」と妥協すると、 n は 350 程度で済むが、 もし本当に効果が $d=0.30$ あった場合、 20% の確率でその効果を見逃す 。 治験全体の費用が数十億円規模であることを考えれば、 0.10 の検出力の差は数億円の保険料に相当する。
さらに multi-arm 試験 (用量を 3 段階比較する等)では、 多重比較補正(Bonferroni / Hochberg / BH)を入れた後の 調整後検出力 を計算する必要があり、 単純計算で求めた n では 15〜25% 不足する のが普通である。 治験プロトコルでは検出力分析の手順、 想定効果量の根拠(先行 phase II データ)、 脱落率(dropout rate、 通常 10〜20%)を加味した最終 n を 必ず書面化 する。 規制当局(FDA、 PMDA、 EMA)は検出力分析を含まない申請書を受理しない。
物語 3 — A/B テストを 100 回走らせる EC サイトのデータエンジニア
大手 EC サイトでは年間 100 件以上の A/B テストを走らせる。 各テストでコンバージョン率(CV)を 1.0% 改善できるかを判定したい。 ベース CV が 3.0% の場合、 効果量はリスク比 1.33(オッズ比 1.34)に相当し、 α=0.05 両側、 検出力 0.80 で 各群 n ≈ 4,650 、 総 n ≈ 9,300 セッション必要になる。 日次 PV が 5,000 のサービスであれば、 結論まで 約 2 日 。 ここで「検出力 0.50」で妥協すると、 n は半分以下で済むが、 真に効果のある施策の半分を「効果なし」と誤判定し、 競合に差をつける機会を毎週捨てている ことになる。
逆に、 ベース CV が 0.5% のように低い場合、 同じ 1.0% 改善でも 各群 n ≈ 1,600 で済む(差の絶対値が小さくても、 比率としては大きいため)。 一方、 ベース CV が 30% と既に高い場合、 1.0% の絶対改善を検出するには 各群 n ≈ 40,000 。 つまり 「ベース値」 と「改善幅」 の組み合わせで必要 n が桁違いに変わるため、 A/B テスト設計時は必ず両者を入力した検出力曲線を可視化する。 statsmodels の NormalIndPower や GofChisquarePower で 5 分以内に計算できる。
「事前」と「事後」 — post-hoc power の罠
研究を 終えてから 「うちの研究の検出力は 0.62 だった」と計算する 事後検定力分析(post-hoc power) は、 多くの統計学者から 誤用 と批判されている。 理由は、 観測された効果量を使って計算する事後検出力は、 p 値と 1 対 1 で対応するだけで、 新しい情報を提供しないからである(Hoenig & Heisey, 2001)。 「p=0.06 だったが事後検出力は 0.80 だから効果はある」という主張は 循環論法 になる。
代わりに使うべきは 「信頼区間の幅」 と 「最小検出可能効果(MDE:Minimum Detectable Effect)」 である。 「我々の研究では効果量 $d \geq 0.45$ ならば 80% の確率で検出できたが、 観測効果量は $d=0.22$ で 95%CI は [-0.08, 0.52] であった」と書けば、 「効果があったかなかったか」「あったとしてどの範囲か」を読者に honest に提示できる。 検出力分析は research 前夜のチェックリスト であり、 終わってからの後付け説明には使わない。
🧪 効果量の本質を掘る — なぜ「同じ p 値」でも研究の価値が違うのか
検出力を計算する三要素のうち、 α・n は実務的に動かしにくい(α は学術的慣習で 0.05 固定、 n は予算で決まる)。 唯一、 研究者が 研究設計で大きく動かせる変数 が 効果量(effect size) である。 そして効果量こそ、 「統計的有意」と「実質的有意」を分ける唯一の橋渡しとなる量である。
Cohen's d — 平均差を「標準偏差で物差し化」する
二群の平均差 $\mu_1 - \mu_2$ を、 群内の標準偏差 $\sigma_{\text{pooled}}$ で割った量が Cohen の $d$ である。 SSDSE-B-2026 で「東日本 vs 西日本」の平均寿命差を見たとき、 もし $d=0.20$ なら 「ほとんど見えない違い」 、 $d=0.50$ なら 「グラフを見れば気付ける程度」 、 $d=0.80$ なら 「素人にも明らかな差」 に対応する。 この「言語感」を持っていると、 検出力分析のインプットが現実離れしなくなる。
注意点として、 教育評価・心理学では $d=0.40$ 程度が「教育介入として意味がある」とされる(Hattie の効果量メタ分析)ため、 「中程度」と分類される $d=0.50$ でさえ、 介入研究としては かなり強い効果 である。 一方、 医療では $d=0.30$ でも数千人規模では命を救う可能性があるため 「小さくても重要」 な効果量となる。 つまり 効果量の解釈は領域文化に依存する のが現実で、 一律の閾値で「大/中/小」を機械的に当てはめてはいけない。
$\eta^2$ と $f$ — 分散分析の効果量
ANOVA では $\eta^2$(eta-squared) または $\omega^2$(omega-squared) を効果量として報告する。 $\eta^2 = SS_{\text{between}} / SS_{\text{total}}$ で、 「全変動のうち何 % が群差で説明されるか」を意味する。 Cohen の慣用では $\eta^2 \geq 0.01$ が小、 $\geq 0.06$ が中、 $\geq 0.14$ が大。 検出力分析では $f = \sqrt{\eta^2 / (1-\eta^2)}$ という変換量を入力に取る。 例: $\eta^2 = 0.06$ なら $f = 0.25$ で「中程度の効果」。
$\eta^2$ は 分散の比 なので、 サンプルサイズが大きくなると「偏り」が出る(過大推定)。 これを補正したのが $\omega^2$ で、 不偏推定量に近い性質を持つ。 査読論文では両方を併記するか、 サンプル数が大きい場合は $\omega^2$ を採用するのが推奨される(Kirk, 1996)。
Cohen's $w$ と $\phi$ — カテゴリデータの効果量
カイ二乗検定では $w$(または $\phi$、 Cramer の $V$) を効果量として用いる。 $w = \sqrt{\chi^2 / N}$ で、 「クロス表の独立性からのズレ」を 0〜1 で表現する。 慣用では $w \geq 0.10$ が小、 $\geq 0.30$ が中、 $\geq 0.50$ が大。 検出力分析の入力としては、 帰無分布(独立性が成立する場合)と対立分布(観測されたクロス表)を比較する形で計算する。
2×2 クロス表に限れば $\phi$(phi 係数)と $w$ は一致する。 多群クロス表(例: 都道府県 47 × 業種 5)では Cramer の $V$ を使うのが標準。 $V = \sqrt{\chi^2 / (N \cdot (k-1))}$ で $k = \min(\text{行数}, \text{列数})$。
相関 $r$ と $r^2$ — 「相関の大きさ」と「説明分散」の違い
相関分析の効果量は単純に $r$ そのもの 。 ただし「説明力」は $r^2$ で、 $r=0.30$ でも $r^2 = 0.09$、 つまり「変動の 9% しか説明していない」。 SSDSE-B で「医師数 vs 平均寿命」を $r=0.45$ で確認したとしても、 「医師数で平均寿命の 20% を説明している」が現実的な解釈で、 残り 80% は他要因(食生活・気候・経済・遺伝)である。 検出力曲線では $r$ を Fisher の z 変換 $z = 0.5 \ln((1+r)/(1-r))$ で正規化して計算する。
回帰分析では $f^2 = R^2 / (1-R^2)$ を効果量として使う。 $f^2 = 0.02$ が小、 $0.15$ が中、 $0.35$ が大。 階層回帰では「追加投入した変数群が独自に説明する分散」 $\Delta R^2$ を分子に置く $f^2_{\text{add}}$ を計算する。 これも statsmodels や G*Power で計算可能。
📊 サンプルサイズ計算の早見表 — 6 検定 × 効果量 × 検出力
研究計画時に最も頻繁に問われるのが「最低何人必要か」である。 ここでは α=0.05 両側、 検出力 0.80 を標準に、 主要 6 検定について必要 n を整理する。 数字は statsmodels で計算した近似値で、 厳密値は数件単位で前後する。
検定
効果量小
効果量中
効果量大
備考
1 標本 t 検定 n≈199 (d=0.2) n≈34 (d=0.5) n≈15 (d=0.8) 片側ならさらに小
独立 2 標本 t 検定 各群 n≈393 各群 n≈64 各群 n≈26 合計 n は 2 倍
対応のある t 検定 n≈199 n≈34 n≈15 差の平均で計算
1 要因 ANOVA (3 群) 各群 n≈322 (f=0.1) 各群 n≈52 (f=0.25) 各群 n≈21 (f=0.4) 事後比較で n 増
相関分析 n≈782 (r=0.1) n≈84 (r=0.3) n≈29 (r=0.5) Fisher z 変換ベース
カイ二乗(2×2) n≈785 (w=0.1) n≈87 (w=0.3) n≈31 (w=0.5) セル期待度 5 以上必要
💬 読み方 : ① 効果量を「中」(d=0.5 / r=0.3 / w=0.3)と置けば、 多くの検定で 各群 n=30〜90 で済む。 ② 効果量を「小」と置くと n=200〜800 必要になり、 治験・大規模調査でないと現実的でない。 ③ 相関分析・カイ二乗は同じ n でも要求が厳しい (情報量が低いため)。 ④ 1 標本 t 検定と対応のある t 検定は 差の標準偏差 で計算するため、 独立 2 標本より n が小さくて済むことが多い(被験者内変動を活用できるため)。
⚠️ 多重比較を入れた場合の必要 n : 3 群比較で Bonferroni 補正(α=0.0167)を入れると、 各群必要 n は 約 1.3 倍 に膨らむ。 ANOVA の F 検定で全体差を検出した後の事後比較(Tukey HSD 等)も実質的に α 補正が入るので、 ANOVA の n 計算だけで安心せず、 「事後比較込みの保守的設計」を目指す。
🧮 SSDSE-B 実値で計算してみる
SSDSE-B-2026(47都道府県・2023 年・112 項目)を題材に、 検出力 に関係する変数を実値で確認します。 とくに東京・大阪・沖縄・秋田 など特徴ある県を比較すると、 用語の重みが体感できます。
都道府県 総人口(千人) 高齢化率(%) TFR 有効求人倍率
東京 14,047 23.0 0.99 1.74
大阪 8,778 27.9 1.21 1.27
沖縄 1,468 23.5 1.60 0.96
秋田 930 38.6 1.18 1.51
全国平均 126,146 29.1 1.20 1.31
これらの値を 検出力 の観点で読み解くと、 都道府県間の格差・特徴・関係性が浮かび上がります。 具体的な計算手順は次の「🐍 Python 実装」セクションで実演します。
🧮 SSDSE-B-2026 実値での検出力計算
SSDSE-B-2026 は 47 都道府県 × 112 列のデータ(12 年分で 564 行、 横断は 2023 年を抽出)。 47 行は固定サイズ(増やせない)なので、 「47 件で十分検出できる効果量はどれくらいか」を逆算する事例を見る。
事例: 東日本 vs 西日本の高齢化率比較
東日本 24 県 vs 西日本 23 県の 2 群比較(独立 t 検定)を想定。 α = 0.05、 検出力 = 0.80 の標準設定。
設定:
n1 = 24 (東日本)
n2 = 23 (西日本)
α = 0.05 (両側)
検出したい効果量: ?
統計理論より:
total n = 47 で power = 0.80 を達成する効果量
→ Cohen's d ≈ 0.83 (大効果)
つまり:
- 東日本平均と西日本平均の差が「SD の 0.83 倍以上」なら、
47 件で検出できる確率が 80%
- SD が 4% なら、 平均差は 0.83 × 4 = 3.32% 以上必要
- 差が 1.5% 程度なら、 SSDSE では検出できない可能性大
事例: 相関係数の検定
「総人口(A1101)」と「出生数(A4101)」の相関は SSDSE で $r \approx 0.99$。 47 都道府県で何の相関を検出できるか?
n = 47, α = 0.05, power = 0.80 → 検出可能な r ≈ 0.40
意味:
- SSDSE の 47 都道府県で「中程度の相関 (r > 0.40)」なら検出できる
- 「弱い相関 (r = 0.2)」は検出できない可能性 (power ≈ 0.35)
- 「強い相関 (r > 0.5)」はほぼ確実に検出 (power > 0.95)
🧮 数式に値を入れて手で計算する: 検定力
合成データで n と効果サイズ別の検定力を計算する。
Step 1: パラメータ
α=0.05, μ₀=0, μ₁=0.5 (中効果)
σ=1, n=64
SE = 1/8 = 0.125
Step 2: 検定力
臨界値 z*=1.645, 臨界 = 0 + 1.645·0.125 = 0.206
power = P(x̄ > 0.206 | μ=0.5)
= P(Z > (0.206-0.5)/0.125) = P(Z > -2.355) ≈ 0.991
🐍 Python で再現
📋 コピー from scipy.stats import norm
n = 64
SE = 1 / n ** 0.5
crit = norm . ppf ( 0.95 ) * SE
power = 1 - norm . cdf ( crit , 0.5 , SE )
print ( f "検定力: { power : .3f } " )
📤 実行結果
検定力: 0.991
💬 手計算 (Step 2) 0.991 と Python 出力が完全一致。
🐍 Python 実装
以下は 検出力 を SSDSE-B-2026 で扱うときの典型コード。 encoding='cp932' は政府統計の Shift-JIS 対応。 skiprows=[1] は 2 行目の日本語見出し行をスキップする定石(列名はコード行 A1101 等)。 SSDSE-B-2026 は 2018〜2023 年の 12 年 × 47 県で 564 行あるため、 横断分析では年度で絞り込む。
① 基本パターン(読み込み・確認・主要列抽出)
📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行)
都道府県 A1101(総人口) A1303(65歳以上人口)
北海道 5,092,000 1,681,000
東京都 14,086,000 3,205,000
沖縄県 1,468,000 350,000
…(全 47 行)
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13 import pandas as pd
# 検出力 に関連する SSDSE-B-2026 分析の基本パターン
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , skiprows = [1] )
df = df . rename ( columns = { df . columns [ 0 ]: 'Year' })
df = df [ df [ 'Year' ] == 2023 ] # 横断分析は 2023 年に統一
print ( df . shape ) # (47, 112)
# 主要列にエイリアス(コード列名ベース)
df [ '総人口' ] = df [ 'A1101' ]
df [ '65歳以上' ] = df [ 'A1303' ]
df [ '高齢化率' ] = df [ '65歳以上' ] / df [ '総人口' ] * 100
print ( df [[ 'Prefecture' , '総人口' , '高齢化率' ]] . head ())
📤 実行例(実測)
(47, 112)
Prefecture 総人口 高齢化率
0 北海道 5092000 33.012569
12 青森県 1184000 35.219595
24 岩手県 1163000 34.995701
36 宮城県 2264000 29.240283
48 秋田県 914000 39.059081
② 可視化テンプレ(matplotlib / seaborn)
📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行)
都道府県 A1101(総人口) A1303(65歳以上人口) A4103(合計特殊出生率)
北海道 5,092,000 1,681,000 1.06
東京都 14,086,000 3,205,000 0.99
沖縄県 1,468,000 350,000 1.6
…(全 47 行)
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 検出力 の探索的データ分析(EDA)
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , skiprows = [1] )
# 主要変数を取り出して名前を分かりやすく
df = df [ df . iloc [:, 0 ] == 2023 ]; df [ '総人口' ] = df [ 'A1101' ]
df [ '65歳以上' ] = df [ 'A1303' ]
df [ '高齢化率' ] = df [ '65歳以上' ] / df [ '総人口' ] * 100
df [ 'TFR' ] = df [ 'A4103' ]
# ヒストグラム
fig , axes = plt . subplots ( 1 , 2 , figsize = ( 12 , 4 ))
sns . histplot ( df [ '高齢化率' ], kde = True , ax = axes [ 0 ])
axes [ 0 ] . set_title ( '高齢化率の分布(47都道府県)' )
sns . histplot ( df [ 'TFR' ], kde = True , ax = axes [ 1 ])
axes [ 1 ] . set_title ( 'TFRの分布' )
plt . tight_layout ()
plt . savefig ( 'eda_distribution.png' , dpi = 120 )
③ 前処理:欠損・外れ値・型変換
📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行)
都道府県 SSDSE-B-2026(年度) Prefecture(都道府県)
北海道 2,023 北海道
東京都 2,023 東京都
沖縄県 2,023 沖縄県
…(全 47 行)
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 import pandas as pd
import numpy as np
# 検出力 に関わる前処理の典型パターン
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , header = 1 )
# ① 欠損値の確認
print ( '欠損数:' )
print ( df . isna () . sum () . sort_values ( ascending = False ) . head ( 10 ))
# ② 数値変換(カンマ・%除去 など)
def to_num ( s ):
if isinstance ( s , str ):
return float ( s . replace ( ',' , '' ) . replace ( '%' , '' ))
return s
_num_cols = [ c for c in df . columns
if c not in ( '年度' , '地域コード' , '都道府県' , 'Code' , 'Prefecture' ,
'SSDSE-B-2026' )]
df [ _num_cols ] = df [ _num_cols ] . apply ( lambda col : col . map ( to_num ))
# ③ 外れ値検出(IQR)
# 地域コードや都道府県名は大小比較できないので、数値の列だけで判定する
_num = df . select_dtypes ( include = 'number' )
q1 = _num . quantile ( 0.25 )
q3 = _num . quantile ( 0.75 )
iqr = q3 - q1
outlier_mask = (( _num < q1 - 1.5 * iqr ) | ( _num > q3 + 1.5 * iqr )) . any ( axis = 1 )
print ( '外れ値を含む行数:' , outlier_mask . sum ())
📤 実行例(実測)
欠損数:
年度 0
地域コード 0
着工新設住宅戸数 0
外国人延べ宿泊者数 0
延べ宿泊者数 0
一般旅券発行件数 0
就職件数(一般) 0
充足数(一般) 0
月間有効求人数(一般) 0
月間有効求職者数(一般) 0
dtype: int64
外れ値を含む行数: 239
④ 検定・推定の最小例(scipy.stats)
📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行)
都道府県 A1101(総人口) A1303(65歳以上人口)
北海道 5,092,000 1,681,000
東京都 14,086,000 3,205,000
沖縄県 1,468,000 350,000
…(全 47 行)
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 import pandas as pd
from scipy import stats
# 検出力 文脈での基本的な仮説検定
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , skiprows = [1] )
df = df [ df . iloc [:, 0 ] == 2023 ]; df [ 'aging' ] = df [ 'A1303' ] / df [ 'A1101' ] * 100
df [ 'region' ] = df [ 'Prefecture' ] . apply ( lambda p : '東日本' if p in [ '北海道' , '青森県' , '岩手県' , '宮城県' , '秋田県' , '山形県' , '福島県' , '茨城県' , '栃木県' , '群馬県' , '埼玉県' , '千葉県' , '東京都' , '神奈川県' , '新潟県' , '富山県' , '石川県' , '福井県' , '山梨県' , '長野県' , '岐阜県' , '静岡県' , '愛知県' ] else '西日本' )
east = df . loc [ df [ 'region' ] == '東日本' , 'aging' ]
west = df . loc [ df [ 'region' ] == '西日本' , 'aging' ]
t , p = stats . ttest_ind ( east , west , equal_var = False )
print ( f '東日本 平均高齢化率: { east . mean () : .2f } %' )
print ( f '西日本 平均高齢化率: { west . mean () : .2f } %' )
print ( f 't = { t : .3f } , p = { p : .4f } ' )
print ( '判定:' , '有意差あり' if p < 0.05 else '有意差なし' )
📤 実行例(実測)
東日本 平均高齢化率: 31.18%
西日本 平均高齢化率: 31.97%
t = -0.804, p = 0.4259
判定: 有意差なし
※ より高度な例(クロス集計、 機械学習、 ベイズ推定)は hypothesis-testing のグループ教材を参照。
🐍 Python での扱い
SSDSE-B-2026 のような公的統計データを Python で扱う際の基本パターン:
📥 入力例(SSDSE-B-2026 全体:564 行 × 112 列 = 47 都道府県 × 2012〜2023 年)
年度 地域コード 都道府県 A1101(総人口) A1303(65歳以上人口) A4101(出生数) …
2023 R01000 北海道 5,092,000 1,681,000 24,430 …
2023 R13000 東京都 14,086,000 3,205,000 86,348 …
2023 R47000 沖縄県 1,468,000 350,000 12,549 …
…(残り 112 列は住宅・家計・教育・医療など)
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12 import pandas as pd
import numpy as np
# データ読み込み
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , skiprows = [1] )
print ( df . shape )
print ( df . dtypes )
print ( df . describe ())
# 「検出力」の文脈で扱う場合の例:
# 分野: 仮説検定
# 関連手法は同カテゴリの他用語を参照してください。
📤 実行例(実測)
(564, 112)
SSDSE-B-2026 int64
Code object
Prefecture object
A1101 int64
A110101 int64
...
L322106 int64
L322107 int64
L322108 int64
L322109 int64
L322110 int64
Length: 112, dtype: object
SSDSE-B-2026 A1101 ... L322109 L322110
count 564.000000 5.640000e+02 ... 564.000000 564.000000
mean 2017.500000 2.690688e+06 ... 26931.026596 59784.718085
std 3.455117 2.730951e+06 ... 4219.487086 8813.812956
min 2012.000000 5.370000e+05 ... 14661.000000 35658.000000
25% 2014.750000 1.082250e+06 ... 24200.750000 53794.500000
50%
…(以下略)
具体的なコードは 仮説検定の枠組み を参照してください。
📝 レポートでの報告
分析結果を報告するときに含めるべき情報:
使ったデータ :出典・期間・サンプル数
適用条件の確認 :前提が満たされているか
計算結果 :数値だけでなく不確実性(CI・SE)も
解釈 :何を意味するか、 何を意味しないか
限界 :適用範囲外への拡張は避ける
✅ チェックリスト
□ 「検出力」を使う場面か再確認したか
□ データの尺度・分布・サンプル数を確認したか
□ 前提条件を満たしているか
□ 計算した値だけでなく不確実性も把握したか
□ 解釈と限界を区別したか
□ 関連グループ教材で全体像を確認したか
🐍 Python 実装 — statsmodels で検出力分析
このコードでやること : statsmodels.stats.power の TTestIndPower を使い、 ① 47 件で検出できる効果量を逆算、 ② 効果量 0.5 を検出するのに必要な $n$ を計算、 を実行する。
📥 想定するシナリオ:
SSDSE-B-2026 の都道府県データ
分析: 東日本 vs 西日本の高齢化率の差を t 検定で検出
n1=24, n2=23, α=0.05, power=0.80 を維持したい
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import pandas as pd
import numpy as np
from statsmodels.stats.power import TTestIndPower
# 検出力分析オブジェクト
analysis = TTestIndPower ()
# 質問 1: 47 件で power=0.80 を達成する効果量は?
effect = analysis . solve_power ( nobs1 = 24 , ratio = 23 / 24 ,
alpha = 0.05 , power = 0.80 )
print ( f '47 件で power=0.80 を達成する効果量 Cohen \' d = { effect : .3f } ' )
# 質問 2: 効果量 0.5 を検出するのに必要な n は?
n_required = analysis . solve_power ( effect_size = 0.5 , ratio = 1 ,
alpha = 0.05 , power = 0.80 )
print ( f '効果量 d=0.5 を検出する必要 n = { n_required : .0f } /群' )
# 質問 3: 47 件で d=0.5 のときの検出力は?
power = analysis . solve_power ( effect_size = 0.5 , nobs1 = 24 , ratio = 23 / 24 ,
alpha = 0.05 )
print ( f '47 件で d=0.5 の検出力 = { power : .3f } ' )
📤 実行すると次の出力が得られる:
47 件で power=0.80 を達成する効果量 Cohen 'd = 0.835
効果量 d=0.5 を検出する必要 n = 64/群
47 件で d=0.5 の検出力 = 0.389
💬 結果の読み方 : ① SSDSE の 47 件では「大効果(d ≈ 0.83)」が検出限界。 ② 「中効果 d = 0.5」を確実に検出したいなら各群 64 件、 計 128 件のデータが必要。 ③ 47 件で d=0.5 を検出する確率は 38.9% しかない = 半分以上は見逃す可能性がある。 つまり SSDSE の 47 都道府県データで「微妙な差」を主張するのは統計的に弱い。
🐍 Python 実装 — 検出力曲線を描く
このコードでやること : 効果量 d を横軸、 検出力を縦軸にした「power curve」を、 異なる n(30, 50, 100, 200)について描く。 「どれくらいの効果量が検出できるか」を視覚的に把握できる定番図。
📥 想定する設定:
α = 0.05 (両側)
群サイズ: n = 30, 50, 100, 200 (各群同サイズ)
効果量 d: 0.0 〜 1.5 を 100 ステップ
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 import numpy as np
import matplotlib.pyplot as plt
from statsmodels.stats.power import TTestIndPower
analysis = TTestIndPower ()
effect_sizes = np . linspace ( 0 , 1.5 , 100 )
sample_sizes = [ 30 , 50 , 100 , 200 ]
plt . figure ( figsize = ( 10 , 6 ))
for n in sample_sizes :
powers = [ analysis . power ( effect_size = d , nobs1 = n , alpha = 0.05 , ratio = 1 ) for d in effect_sizes ]
plt . plot ( effect_sizes , powers , label = f 'n = { n } /群' , linewidth = 2 )
plt . axhline ( 0.80 , color = 'red' , linestyle = '--' , label = 'Power = 0.80 (慣習)' )
plt . xlabel ( '効果量 Cohen \' d' )
plt . ylabel ( '検出力 (1 - β)' )
plt . title ( '検出力曲線 — 標本サイズと効果量の関係' )
plt . legend ()
plt . grid ( True , alpha = 0.3 )
plt . savefig ( 'power_curve.png' , dpi = 120 )
📤 実行すると次の出力が得られる(数値要約):
power = 0.80 を達成する効果量 d:
n = 30/群 → d ≈ 0.74
n = 50/群 → d ≈ 0.57
n = 100/群 → d ≈ 0.40
n = 200/群 → d ≈ 0.28
→ n が 4 倍になれば検出できる効果量は約半分になる
(d の必要量は n に反比例の平方根: d ∝ 1/√n)
💬 結果の読み方 : 「sample size を 4 倍に増やしても、 検出できる効果量は半分にしか減らない」 — これが統計学の 「平方根の壁」 。 SSDSE で n=47 を 4 倍の 188 件にしても、 検出力は劇的には改善しない。 小規模データで「微妙な差」を主張するのが本質的に難しい理由。
⚠️ よくある落とし穴(7 件)
検出力 に取り組むときに、 学生・実務者・研究者がよく踏むワナをまとめました。 該当しそうな項目があれば、 自分の分析を見直してみてください。
❌ 1. 単位とスケールの混同
%・件数・千人・百万円 — 単位を明示せずに比較すると、 まったく違うものを比べてしまう。 グラフの軸ラベル、 表のヘッダで単位を必ず示す。
❌ 2. 時点のズレ
2020 年と 2023 年のデータを混ぜると、 コロナ前後の構造変化を見落とす。 「2023年データ」と明記し、 横断データなら時点を統一する。
❌ 3. 欠損値の暗黙除去
NaN を含む行を dropna() で除いた瞬間、 47県の標本が 30 県に減ることもある。 何件落としたか必ず記録し、 結果に与える影響を考える。
❌ 4. 外れ値の無視と過剰除去
東京・大阪・沖縄など特徴ある県は『外れ値』扱いされがちだが、 実は本質的な情報を含む。 IQR で機械的に切るのではなく、 ドメイン知識で判断。
❌ 5. 相関と因果の混同
2 変数が相関していても、 一方が他方の原因とは限らない。 共通の交絡因子(人口、 産業構造、 気候)を疑う。 因果には RCT・差の差・操作変数法など別の道具が必要。
❌ 6. 有意性と効果量の混同
p < 0.05 は『偶然では説明しにくい』だけで『効果が大きい』ではない。 効果量(Cohen's d、 オッズ比など)と信頼区間を必ず併記する。
❌ 7. サンプル数の都合主義
検出力分析をせず、 集めやすい量で打ち切ると、 第2種の過誤(実は差があるのに気付かない)を量産する。 事前に必要 n を計算しておく。
🧭 詳細解説 — 検出力 を一段深く掘り下げる
歴史的背景
検出力(Statistical Power (1−β))は、 仮説検定 分野における基本概念の 1 つとして発展してきました。 学術領域では 20 世紀後半に体系化が進み、 21 世紀のデータ駆動社会の中で「実務で使う知識」として急速に普及。 とくに 2010 年代後半以降、 ビッグデータ・IoT・AI の進展に伴い、 用語の意味・適用範囲が再定義されつつあります。
日本では総務省・経産省・内閣府の各種計画(Society 5.0、 デジタル田園都市国家構想、 統計改革基本計画)で繰り返し言及される基幹概念。 SSDSE(教育用標準データセット)も、 これらの教育普及を目的に整備されたデータです。
国際的な位置付け
OECD、 国連、 ISO、 IEC などの国際機関が、 検出力 に類する概念・標準を整備してきました。 たとえば:
OECD :データガバナンス・AI 原則・統計教育政策で頻出
国連 SDGs :データ駆動の進捗管理の根拠
ISO/IEC :データ品質・AI マネジメントの国際規格(ISO 8000、 ISO/IEC 42001 など)
UNESCO :教育における統計・データリテラシーの位置付け
日本の文脈での意味
検出力 を含むデータ分析の手法は、 日本では次の場面で使われています。 下の表は分野ごとの登場場面で、 この用語だけの話ではなくデータサイエンス全体 の広がりを示します:
領域 データサイエンスが使われる場面
高校・大学教育 情報 I/II、 数学 B(統計)、 教養統計、 専門統計の中核概念として登場
行政・政策 EBPM、 デジタル庁施策、 自治体 DX、 地方創生交付金の根拠資料
企業・産業 DX 推進、 データ分析人材育成、 経営判断、 マーケティング・品質管理
学術研究 公衆衛生、 教育学、 経済学、 社会学、 計算機科学などの分野横断研究
市民・メディア 報道、 ファクトチェック、 行政情報の解釈、 民主主義の基盤
よく混同される概念
検出力 は、 隣接概念と混同されやすい用語の代表でもあります。 ここで違いを明確にしておきましょう:
混同される概念 検出力 との違い
隣接する 仮説検定 系の用語 本ページの「🔗 関連用語」を参照。 並列カテゴリで対比すると明瞭
より広い上位概念 hypothesis-testing ページで包含関係を確認
類似名・別名 英語名 (Statistical Power (1−β)) を正式表記として参照
学習・教材としての位置付け
本サイト(用語解説)は「ジャストインタイム型データサイエンス教育」のリソースです。 つまり、 論文・実務・授業で その用語に出会ったタイミング で必要最低限の説明を得る、 という使い方を想定しています。 検出力 もその一例。
体系的に学びたい場合は、 まずグループ教材(hypothesis-testing )から始め、 そこから 検出力 のような個別用語にドリルダウンしていくのが効率的です。
参考文献・標準
⚠️ よくある落とし穴
❌ p値の誤解
p < 0.05 は「効果が大きい」「実用的に重要」を意味しません。 効果量と CI を併記。
❌ 片側検定と両側検定
事前に決めずに検定方向を変えるのは p-hacking。 事前登録を推奨。
❌ 独立性の仮定
標本が独立でないと検定の結果は信頼できません。
⚠️ 検出力まわりの落とし穴(深掘り 7 件)
落とし穴 1: 「post-hoc power」 — 事後検定力分析の誤用
分析後に「観察された効果量」と「実際の n」で計算する事後検出力(post-hoc power)は意味がない とされる(Hoenig & Heisey 2001)。 数学的に有意でなかった p 値 → 低い post-hoc power、 と同じ情報を別表現しているだけ。 「power が低かったから結果が無効」「power が高かったから結果が強固」という議論は無効。 対処 : 検出力分析は事前(a priori) のみが意味を持つ。
落とし穴 2: 効果量を「自分の期待値」で設定する
研究者が「これくらいの差は見つかってほしい」と希望して効果量を設定すると、 計算された n が現実離れする。 SSDSE 文脈で「都道府県の高齢化率差を検出したい」と d=0.3 で計算すると n=176 件が必要 → SSDSE は 47 件 → そもそも研究設計が破綻している、 という事実が見える。 対処 : 効果量は先行研究やパイロット から決める。
落とし穴 3: 多重検定で α 補正を忘れる
SSDSE で 112 列のうち「人口と相関する列」を探すために 111 回相関検定をすると、 α=0.05 のまま使えば期待される偽陽性は 111 × 0.05 ≈ 5.6 個。 検出力計算でも Bonferroni 補正後の α' = 0.05/111 ≈ 0.00045 で再計算しないと意味がない。 対処 : 多重検定の場合、 必要 n は劇的に増える(補正後の検出力は急落)。
落とし穴 4: 「両側 vs 片側」を混同する
「東日本の方が高齢化率が高い」と方向が明確なら片側検定。 これだと同じ n でも検出力が約 1.2 倍高くなる。 ただし片側に「賭ける」のは事前登録(pre-registration)が必須。 後から方向を決めると p-hacking。 対処 : 検出力分析の段階で両側 / 片側を決定し、 報告書に明記。
落とし穴 5: 「効果量=意味のある差」とは限らない
Cohen の「小(d=0.2)」は統計学的なベンチマークであって、 「実務的に意味のある差」とは別概念。 医療分野では血圧 5mmHg の差(d=0.1)が臨床的に重要かもしれない。 SSDSE 文脈なら「TFR の 0.05 差」が政策的に大きい意味を持つかは別議論。 対処 : 「統計的有意」と「実質的有意」を区別してレポートする。
落とし穴 6: 「p < 0.05 だから差がある」一辺倒
大標本 (n>1000) では微小な差も p < 0.05 になりがち。 検出力分析と効果量を併記しないと「sample size 効果による偽の有意」を見逃す。 対処 : 必ず効果量と信頼区間を併記。 ASA 声明(2016)でも p 値単独の判断は批判されている。
落とし穴 7: 検定力分析と検定統計量の前提条件
t 検定の検出力分析は「正規分布」「等分散」を前提にしている。 これが破れていると、 計算上の power と実際の power が乖離する。 ノンパラメトリック検定(Mann-Whitney など)を使う場合、 別の検出力公式が必要。 対処 : 検定の前提(正規性・等分散)を Shapiro-Wilk・Levene で確認してから検出力を計算。
📊 効果量と必要サンプルサイズの早見表
プロジェクト計画時に手元に置いておきたい早見表。 α=0.05 両側、 検出力 0.80、 各群同サイズの t 検定(独立 2 標本)の場合。
効果量 d
Cohen の評価
必要 n/群
合計 N
具体イメージ
0.1 極小 1570 3140 微小な差、 ほぼ実感できない
0.2 小 394 788 心理学の典型的な小効果
0.3 小〜中 176 352 A/B テストでの推奨最小差
0.5 中 64 128 中規模調査で実用的
0.8 大 26 52 SSDSE 規模でも検出可能
1.0 非常に大 17 34 明らかに分かるレベル
1.5 劇的 9 18 パイロット試験レベル
SSDSE-B-2026 の 47 件で確実に検出できるのは d ≥ 0.83 以上の効果。 これは「大効果」レベルで、 「明らかに違う」と言える差。 微妙な差は別データソース(市町村レベル統計など)で n を増やす必要がある。
🌐 関連手法・派生
検出力 と同じ「仮説検定」カテゴリ、 または直接の上位・派生となる用語:
🌐 検定別の検出力分析 — 主要 6 検定対応表
どの検定にも対応する検出力分析がある。 statsmodels で使えるクラスをまとめる。
検定
用途
statsmodels クラス
効果量指標
独立 t 検定 2 群平均比較 TTestIndPower Cohen's d
対応のある t 検定 同一被験者の前後比較 TTestPower Cohen's d (paired)
ANOVA 3 群以上の平均比較 FTestAnovaPower Cohen's f
カイ二乗適合度 頻度の独立性 GofChisquarePower Cohen's w
比率の差 A/B テスト NormalIndPower h(コーエンの h)
相関係数 2 変数の関連性 手動計算 / pingouin r
❓ 検出力 深掘り FAQ
Q1. 検出力 0.80 は絶対的基準か?
A. いいえ、 慣習値。 重要な意思決定では 0.90 〜 0.95 を目指す。 探索的分析(仮説生成)なら 0.50 〜 0.70 でも許容される。 医療試験や規制対応では 0.90 が標準。 「0.80 が常に正しい」ではなく、 「研究目的に合わせて調整」が原則。
Q2. SSDSE で n=47 が固定の場合、 何を諦めればいい?
A. 「微小な効果の検出」を諦める必要がある。 47 件で検出可能なのは d ≥ 0.83(大効果)まで。 戦略としては: ① 大効果を狙うリサーチ問題に絞る、 ② α を 0.10 に緩める(探索的分析なら可)、 ③ 別の小規模統計と組み合わせて n を増やす、 ④ ベイズ統計に移行して事前情報を活用する、 が考えられる。
Q3. 検出力分析と p 値、 どちらが大事?
A. 検出力分析は事前 (研究計画時)に行うもの、 p 値は事後 (分析結果)に出るもの、 で役割が違う。 両方必要。 研究計画時に検出力分析をスキップして p < 0.05 を追求すると、 ① 必要 n を満たさない研究、 ② 多重検定の補正不足、 ③ 効果量を考えない解釈、 という連鎖的問題に陥る。
Q4. ベイズ統計には検出力分析は不要?
A. ベイズには「検出力」と直接対応する概念はないが、 類似の「事前的なシミュレーション分析」がある(precision analysis、 ベイズ的 sample size determination)。 信用区間の幅をどれくらい狭くしたいか、 から逆算する。 SSDSE の小規模データではむしろベイズの方が安定する場面も多い。
Q5. G*Power と statsmodels、 どちらを使うべき?
A. G*Power は GUI で初心者に優しく、 報告書用のグラフが綺麗。 statsmodels は Python から呼べるので自動化向き。 学術論文では G*Power の結果と version を明記するのが標準。 Python で再現可能なワークフロー(Jupyter Notebook)に組み込むなら statsmodels。 両方使えるのが理想。
✅ 検出力分析チェックリスト(研究計画時)
□ 使う検定(t / ANOVA / カイ二乗 / 相関)を決めた
□ α(有意水準)を決めた(標準 0.05)
□ 目標検出力(1-β)を決めた(標準 0.80、 重要研究なら 0.90)
□ 効果量を決めた根拠を明記した(先行研究 / パイロット / 慣習値)
□ 両側 / 片側を決定した
□ 多重検定の補正(Bonferroni 等)を考慮した
□ 必要 n をオーバーした分の余裕(脱落率対応など)を計算した
□ 検出力分析の結果を研究計画書 / プロトコル に書いた
□ 事後検定力分析(post-hoc power)は計算しない と決めた
□ 効果量だけでなく信頼区間も併記する計画を立てた
📌 まとめ — 検出力分析 5 つの心得
検出力分析は「研究開始前」に行う — 終わってから計算するのは意味なし
効果量を「希望」ではなく「根拠」で決める — 先行研究 / パイロット研究で必ず裏付ける
n と効果量は「平方根の関係」 — 4 倍の n が検出力 d=0.5 を可能にする
多重検定では α が増える — 補正後の検出力で再計算する
「統計的有意」と「実質的有意」を区別する — 大標本は微小差も検出するが、 意味が薄い
SSDSE-B-2026 の 47 件という固定サイズで分析するときは、 「検出可能な効果量は中〜大に限定される」という前提を最初に明文化し、 「微妙な差を主張する場合は別データで補完」という戦略を立てる。 検出力分析は研究の honest さ を担保する重要なツールで、 「自分が見つけられないものは何か」を最初に正直に書くことが、 結果的に良い研究につながる。
🌐 領域別の検出力実装 — 医療・教育・マーケティング・政策の現場感
医療・臨床試験
医療領域では検出力 0.80 が標準、 重要試験では 0.90 を求める。 主要評価項目(primary endpoint)で必ず事前検出力分析を行い、 ICH-E9 ガイドラインに準拠した記述をプロトコル・統計解析計画書(SAP)に明記する。 効果量の根拠は (a) 先行 phase II 試験、 (b) メタ分析、 (c) 臨床的に意味のある最小差(MCID:Minimum Clinically Important Difference)の三つから選ぶ。 治験申請(IND / NDA)では 「効果量の正当化」 が査読の必須項目で、 「希望」で決めた効果量は却下される。
教育・心理学研究
教育介入研究では $d=0.20 \sim 0.40$ 程度が現実的な効果量とされる(What Works Clearinghouse の基準)。 そのため、 n=30 程度の小規模クラス研究では検出力 0.30〜0.50 と低くなりがちで、 「効果が出なかった」結論には常に 「検出力不足の可能性」 を併記する必要がある。 近年は マルチサイト研究 (multi-site trial)や クラスタ RCT (学校単位での無作為化)が増え、 ICC(intra-class correlation)と デザイン効果 $DE = 1 + (n-1) \cdot ICC$ を考慮した必要 n を計算する。 単純なクラスサイズ 30 × 10 クラス = 300 でも、 ICC=0.10 なら有効 n は 30 × 10 / DE ≈ 100 まで減るため、 検出力分析は クラスタ補正必須 。
マーケティング・A/B テスト
A/B テストでは「効果量 = 改善率」の直感的な単位で考えるのが普通。 ベース CV 3% を 3.5% に改善したい場合、 相対改善 16.7%、 絶対改善 0.5% 。 効果量 $h$(Cohen の比率差効果量)は約 0.029 で、 α=0.05 両側、 検出力 0.80 では各群 n ≈ 18,500 必要。 日次トラフィック 5,000 のサイトでは 7〜8 日 。 ここで「早く結論を出したい」と n を半分にすると、 検出力は 0.50 程度に落ち、 本当に効果があっても半分のテストで見逃す 。 これを統計的に "テストを 200 件中 100 件 false negative にする" と読み替えれば、 ビジネスインパクトは甚大。
公共政策・社会調査
SSDSE-B-2026 のような 都道府県集計データ (n=47 固定)では、 検出可能な最小相関が $r \approx 0.40$ と限定されるため、 「弱い相関を検出する目的」では使えない。 一方で、 集計データの強みは 「個人差ノイズが除去されている」 ことで、 観測される相関は 「真の構造的関係を強く反映」 している。 つまり「47 件で $r=0.50$」は、 「個人 4,700 件で $r=0.50$」よりも構造的に強い意味を持つ場合がある。 この性質を活かしたのが エコロジカル研究(生態学的研究) で、 公衆衛生・疫学の入門として広く使われる。
機械学習・予測モデル
機械学習領域では 「分類精度の差を検出するための検証集合サイズ」 を検出力分析で計算する。 2 つのモデル A・B の精度を比較し、 A=85%、 B=87% の差を α=0.05、 検出力 0.80 で検出するには、 n ≈ 2,800 件 の独立検証データが必要(McNemar 検定ベース)。 つまり「Kaggle の Public LB で 1% 差がついた」場合でも、 LB データが数百件なら統計的に区別できていない可能性が高く、 「ノイズによる順位入れ替え」 の罠に注意。 cross-validation での反復推定 + paired t-test での比較が推奨される(Dietterich, 1998)。
📜 検出力概念の歴史 — Neyman-Pearson から複製危機まで
1933年 — Neyman & Pearson の理論的基盤
「検出力」という概念は、 Jerzy Neyman と Egon Pearson の 1933 年論文 "On the problem of the most efficient tests of statistical hypotheses" で初めて形式化された。 彼らは Fisher の有意性検定($H_0$ の棄却のみを論じる)に対立軸として 「対立仮説 $H_1$ を考慮する仮説検定」 を構築し、 第 1 種の過誤(α)と第 2 種の過誤(β)を 「対」 として扱う枠組みを提案した。 検出力 $1-\beta$ は、 この枠組みで「対立仮説が真のとき正しく棄却する確率」として定義される。
Fisher は当時、 Neyman-Pearson の枠組みを「機械的すぎる」と批判し、 両者は生涯にわたって論争を続けた。 だが現代の応用統計学では、 Fisher の p 値と Neyman-Pearson の検出力分析を 混在させた「ハイブリッド」 が標準的に使われる(α=0.05 棄却 + 効果量 + 検出力分析 + CI 報告)。 哲学的には不純だが、 実務的には強力である。
1969年 — Cohen の効果量と検出力分析の体系化
Jacob Cohen は 1969 年の著作 "Statistical Power Analysis for the Behavioral Sciences" で、 心理学・教育学の領域に検出力分析を持ち込み、 「効果量の慣用閾値(small / medium / large)」 を導入した。 当時の心理学論文は検出力 0.40〜0.60 が普通で、 「真に効果があっても半分以上見逃している」 状態だった。 Cohen はこれを警告し、 「事前に検出力 0.80 を確保することを標準化せよ」と訴えた。 1988 年の改訂版は心理学・教育学・社会科学の標準教科書となり、 今日でも引用されている。
2005年 — Ioannidis の "Why Most Published Research Findings Are False"
John Ioannidis の 2005 年論文は、 「公表されている研究結果の多くが偽である理由」を数学的に示し、 低検出力 がその主要因の一つであることを明確にした。 検出力 0.20 の研究では、 「有意」と判定された結果の中に 偽陽性が占める割合(FDR-like) が極めて高くなることを示し、 心理学・医学・遺伝学の研究コミュニティに激震を走らせた。 これが 再現性危機(reproducibility crisis) と呼ばれる現象の理論的バックボーンとなり、 以降、 主要誌は事前登録(preregistration)・事前検出力分析・効果量併記を 査読基準 に組み込んだ。
2015年 — Open Science Collaboration の再現性プロジェクト
心理学分野で 100 本の有名論文を再現実験した Open Science Collaboration (2015) の結果は衝撃的だった。 「有意」と報告された 97 件のうち、 再現実験で有意が確認できたのは わずか 36 件(37%) 。 効果量は元論文の半分以下に縮小していた。 この結果は、 元論文の多くが 「効果量を過大評価」 していたか、 「検出力が不足した条件で偶然有意が出ていた」 ことを示唆し、 検出力分析の重要性が 政策レベル で再認識されるきっかけとなった。
2020年代 — 事前登録・登録報告・推定統計
現代の主要誌(Nature Human Behaviour、 Psychological Science、 PNAS など)は 事前登録 (preregistration: 仮説・データ収集計画・解析計画を事前公開)と 登録報告 (registered report: 解析計画段階で査読を受け、 結果に依らず採択)を推進している。 これらの制度では、 検出力分析が 初期段階の必須要素 として組み込まれ、 不十分な検出力(< 0.80)の研究は基本的に採択されない。 また、 p 値中心の報告から 推定統計(estimation statistics) —効果量と CI を中心に置く報告—への移行も進んでいる。
❓ 検出力 さらに深掘り FAQ(10 問)
Q1. 検出力を上げるための「ベストな方法」は?
A. 優先順位は (1) サンプルサイズを増やす 、 (2) 測定精度を上げて分散を減らす 、 (3) 研究設計を被験者内(対応のある)に変える 、 (4) 共変量を入れて残差分散を減らす 、 (5) α を緩める(最終手段、 通常 0.05 固定)。 (2)〜(4) は「同じ予算で検出力を上げる」工夫で、 経験者は必ずこれを最初に試みる。
Q2. 「検出力 0.80」はどこから来た数字?
A. Cohen が 1969 年に「実用上の最低ライン」として提案した値で、 「α=0.05 と β=0.20 のバランス = α:β = 1:4 が現場で受け入れられる」という経験則。 重要研究(疾患スクリーニング、 治験 phase III)では 0.90、 0.95 を求めることもある。 0.80 は「業界標準」だが、 領域・研究目的によって柔軟に調整する。
Q3. 検出力分析で「効果量がわからない」ときは?
A. 三つの方策。 (1) 先行研究のメタ分析 を行い、 効果量の重み付き平均を推定する。 (2) パイロット研究 (n=20〜30)で粗い効果量推定を行う。 (3) SESOI(Smallest Effect Size Of Interest) を実質的観点から決める—「これより小さい効果は実務的に意味がない」という線を引く。 SESOI は最も推奨される方法で、 「研究の現実的意義」を最初に問わせる利点がある。
Q4. 検出力 0.80 を確保したのに「有意でなかった」場合は?
A. 結論は「観測された効果量は事前想定より小さかった」となる。 「効果がない」とは断定できないが、 「事前想定の効果量は支持されなかった」と書ける。 この場合、 同等性検定(equivalence test) (TOST: Two One-Sided Tests)に切り替えて、 「効果が SESOI より小さいことを統計的に示す」アプローチが推奨される。
Q5. 一方検定で検出力が上がる?
A. はい、 同じ n・効果量で α/2 ではなく α 全部を使う ため、 検出力は約 5〜10% 上がる。 ただし、 一方検定が許されるのは 事前に方向性が理論的に決まっている 場合のみ。 「相関は必ず正である」「介入は必ず改善を生む」が事前に保証されていない限り、 両側検定を選ぶのが安全。 査読者の警戒も強いので、 安易な片側化は避ける。
Q6. 検出力 1.00 は達成できる?
A. 理論的には n → ∞ で 1.00 に漸近するが、 有限 n で完全な 1.00 は不可能。 また、 検出力 0.99 を目指して n を膨らませると、 「臨床的に意味のない微小差まで有意になる」 過剰検出が起こる。 実用上は 0.80〜0.90 を狙うのが妥当。
Q7. 検出力分析の結果は論文のどこに書く?
A. 「方法」セクションの最初の方 に「サンプルサイズ計算」という小見出しで書く。 必要要素は (a) 想定効果量とその根拠、 (b) α・検出力の値、 (c) 検定種類、 (d) 計算ツール(G*Power version、 statsmodels version など)、 (e) 最終 n と脱落率を加味した実 n。 これを書かないと、 多くのトップジャーナルでは初稿で却下される。
Q8. クラスタ無作為化試験での検出力計算は?
A. デザイン効果 $DE = 1 + (n-1) \cdot ICC$ を計算し、 単純無作為化での n に DE を掛けて補正する。 ICC(intra-class correlation)が 0.05 でもクラスサイズ 30 なら DE ≈ 2.5 で、 必要 n は 2.5 倍 。 学校・病院・地域単位での介入研究では必ずクラスタ補正を行う。
Q9. ベイズ統計に「検出力」はある?
A. ベイズ的には伝統的な検出力の代わりに Bayes Factor の期待値分布 や Posterior Probability of Direction を使う。 また、 Bayesian Sequential Analysis では「BF > 10 になるまでサンプル収集を続ける」設計が可能で、 サンプルサイズが固定されない。 これは α 膨張の心配がないため、 A/B テストの新しい標準になりつつある。
Q10. 検出力が低いと判明した研究はどうする?
A. 三つの選択肢。 (1) n を追加収集 する(事前登録した収集計画に追加する場合は適切な統計補正が必要)。 (2) 領域内のメタ分析に貢献するデータ として公開し、 後続の統合解析に委ねる。 (3) 方法論研究 として論文化し、 「この設計では検出力が不足するため、 今後はこう改善すべき」という提言で締める。 (3) は negative result でも教育的価値が高い。
🎯 実務で効く検出力チューニングの 12 個の知恵
検出力分析は教科書では「公式に数値を代入する」だけのように見えるが、 現場では 「公式に入れる前の判断」 が結果の質を 9 割決める。 ここでは、 統計コンサルタントが治験プロトコル・社会調査・A/B テスト・大学院研究の場で繰り返し助言する 12 個の実践知をまとめる。
1. 「希望効果量」と「現実効果量」を分けて 2 通り計算する
研究者は無意識に 「自分が見つけたい効果量」 を入力に置きがちだが、 これは過大評価バイアスの典型である。 推奨は 「希望値(hopeful)」と「保守値(conservative)」の 2 通りで計算 し、 「保守値で検出力 0.80 を確保できる n」を最終採用する。 例: 希望 $d=0.50$ で n=64、 保守 $d=0.30$ で n=176 なら、 採用は 176。
2. 脱落率を「2 段階」で織り込む
人間相手の研究では 脱落(dropout) が必発。 検出力分析で出た最小 n に対し、 (a) 短期試験は 10〜15%、 (b) 長期追跡は 20〜30%、 (c) オンライン調査は 30〜50% の脱落率を見込んで、 必要 n を補正する。 計算式: 補正後 n = 最小 n / (1 - 脱落率)。 例: 最小 n=200、 脱落率 20% なら 200 / 0.8 = 250 を募集する。
3. 共変量を入れると「実効効果量」が上がる
ANCOVA や重回帰で 関連性の高い共変量 (年齢・ベースライン値・性別など)を投入すると、 残差分散が小さくなり、 同じ「平均差」でも標準化後の効果量 $d$ が 大きく なる。 結果として必要 n が 10〜30% 削減 できる。 高品質研究では、 検出力分析の段階から「共変量補正後の効果量」で計算するのが標準。
4. 「ロバスト検定」は若干だが検出力を下げる
Welch の t 検定、 Mann-Whitney U、 順位和検定などのノンパラメトリック・ロバスト手法は、 古典的な t 検定より検出力が 5〜15% 低い (データが正規に近い場合)。 ただし正規性が崩れた場合の 頑健性 は圧倒的に高いため、 「正規性が怪しい」場合は最初からロバスト前提で n を計算し、 余裕を 15% 持たせる。
5. 不均衡割付は最大 70:30 までに抑える
2 群比較で 1:1 割付が最も効率的(同じ総 n で最大検出力)。 例えば総 n=200 で 1:1 (100:100) なら検出力 0.80、 同じ 200 で 7:3 (140:60) なら 0.77 程度に下がる。 ただし「介入群を多めに観察したい」「対照群が安価」などの実務的理由で不均衡にする場合、 3:7 を超えないようにする のが目安。 9:1 まで偏ると検出力は 0.60 を割り込む。
6. 中間解析(interim analysis)で n を「増やせる」設計を選ぶ
最初の n=200 で結果が見えなかった場合、 事前計画した中間解析ルール に基づいて n を 100 追加する「適応的設計(adaptive design)」が近年主流になっている。 単純に n を増やすと α 膨張するが、 conditional power や Cui-Hung-Wang 法を用いれば、 α を保持しつつ柔軟に n を増やせる。 治験では group sequential design が ICH-E9R1 で公式に推奨されている。
7. ベースライン測定を入れると「対応のある検定」に変換できる
介入研究で、 介入前後の 同一被験者の差 を取れば、 独立 2 群検定(必要 n は各群 64)が 1 群対応のある t 検定(必要 n は 34) に変換でき、 ほぼ半分の n で済む。 つまり「予算が n=100 しかない場合」でも、 対応のある設計を選べば実質的検出力を倍増できる。 ベースライン測定の労力を惜しまないのが鉄則。
8. 多重比較補正は「保守値」で見積もる
k 個の比較で Bonferroni 補正(α/k)を入れると、 補正後の検出力は低下する。 例: k=3 で各群必要 n は約 1.3 倍、 k=10 で約 1.6 倍、 k=20 で約 1.9 倍。 ゲノム研究のように k = 数百万 の超多重比較では FDR 制御(Benjamini-Hochberg)が用いられるが、 これでも検出力低下は避けられず、 通常 n は 1000 倍規模に膨らむ。
9. 「片側検定の誘惑」に注意する
「効果は正の方向に決まっている」と思い込んで片側化すると、 必要 n が 約 20% 減るのは事実。 しかし、 査読者は 「都合のいい片側化」 を厳しく見る。 片側検定が許される条件は (a) 理論的に方向が決まっている、 (b) プロトコルに事前明記、 (c) 反対方向は「効果なし」と同等に扱う、 の三つ全てが揃った場合のみ。
10. 同等性検定(TOST)の検出力は通常より低い
「効果がないことを示す」同等性検定では、 「効果が SESOI 以下である」ことを両側から証明する必要があり、 通常検定より 1.5〜2 倍の n が必要。 例: 通常検定で n=200 で十分な場合、 TOST では n=350〜400 が目安。 ジェネリック薬の生物学的同等性試験ではこれが標準。
11. 検出力曲線を必ず可視化する
検出力分析は「n の数字」だけでなく、 n vs 検出力 または 効果量 vs 検出力 の曲線を必ず描く。 曲線を見ることで、 「あと 50 件追加すれば検出力が 0.80 → 0.90 に上がる」「効果量が 0.40 → 0.30 に下がっても検出力 0.70 は確保できる」といった 感度分析(sensitivity analysis) が直感的に行える。 G*Power や statsmodels で 1 行で描ける。
12. 「検出力 0.80 = 安心」ではない
検出力 0.80 でも、 「真に効果がない」場合に「効果あり」と誤判定する確率(α=0.05)は残るし、 「真の効果量が想定より小さい」場合は検出力が下振れる。 検出力分析は 「想定が正しい場合の保証」 であり、 想定が外れたら検出力も外れる。 重要研究では 事前登録 + 複製研究の計画 もセットで行うのが現代の標準。
🚫 検出力分析の典型的な誤用パターン 7 連発
最後に、 査読でしばしば指摘される検出力分析の 典型的な誤用パターン を 7 つ挙げる。 これらを避けるだけで、 研究の信頼性は大きく上がる。
❌ 誤用 1: 「観測効果量」で事後検出力を計算 — 観測効果量を入力に置く事後検出力は p 値と一対一対応で、 新情報がない(Hoenig & Heisey, 2001)。 「p=0.06 だが事後検出力 0.80 なので効果あり」は循環論法。 正しくは、 観測効果量と 95%CI を併記し、 「想定検出力 0.80 のもとで観測効果量は SESOI を下回った」と書く。
❌ 誤用 2: 「集めた n に合わせて効果量を逆算」する — 「うちは n=50 だから、 効果量 d=0.7 で検出力 0.80 になる」と逆算するのは、 効果量を 「データに合わせる」 誤り。 効果量は 理論・先行研究・SESOI から決めるべきで、 n から逆算してはいけない。
❌ 誤用 3: 検出力 0.50 でも「有意なら効果あり」と結論 — 検出力 0.50 の研究で得られた「有意」結果は、 偽陽性率が大きく膨らんでいる可能性が高い(Ioannidis, 2005)。 そのまま結論を出さず、 「観測効果量は過大評価の可能性があり、 複製研究が必要」と必ず明記する。
❌ 誤用 4: 検出力分析を「方法」セクションに書かない — 「サンプルサイズは利便性で決めた」「先行研究を参考にした」だけでは、 主要誌の査読を通らない。 必ず効果量・α・検出力・計算ツールを 定量的 に記述する。
❌ 誤用 5: クラスタ補正を忘れる — 学校・病院・チームを単位に介入し、 個人レベルで解析する場合、 ICC を考慮せずに n を計算すると 過大評価 になる。 デザイン効果 $1 + (m-1) \cdot ICC$ で必ず補正する。
❌ 誤用 6: 多重比較補正を後付け — 「20 個の指標を検定したら 1 個有意だった」と報告するのは典型的な p-hacking。 検出力分析の段階で「主要評価項目を 1〜2 個に絞る」「副次評価項目は exploratory として明記」の構造を作る。
❌ 誤用 7: 検出力分析を「したフリ」で書く — 「G*Power で計算した」とだけ書き、 効果量・α・検出力を明記しない。 これでは再現できないため、 検出力分析として無効。 数値を全て明記し、 可能ならスクリーンショット・スクリプトを補足資料として公開する。
これら 7 つの誤用は、 査読者が 真っ先にチェックするポイント である。 検出力分析を正しく行うこと自体が、 「研究の品質」と「研究者の誠実さ」を示すサインとして機能する。 SSDSE-B-2026 のような小標本(n=47)でも、 「47 件で検出可能な最小相関は r=0.40 であり、 r=0.30 以下の関係は本研究では検出できない可能性がある」と honest に書けば、 それは 立派な検出力分析 であり、 むしろ高く評価される。
📚 関連グループ教材(全体像)
検出力 は「仮説検定 」分野の一部です。 同じグループに属する用語は以下:
グループ教材は横断的な視点 を提供します。 個別用語だけでなくグループ全体を 1 周しておくと、 各用語の関係性が立体的に見えてきます。
✅ 検出力 自己チェックリスト
レポート・論文・分析プロジェクトを終える前に、 以下を一通り確認するとつまずきが減ります。
□ 検出力 を使う必然性・必要条件を 1 行で説明できるか
□ データの出典・期間・サンプル数・単位 を本文 or 脚注で明示したか
□ 前提条件(正規性、 独立性、 等分散性、 線形性 ほか)を確認・記録したか
□ 欠損 と外れ値 の処理方針を明文化したか
□ 結果に不確実性(標準誤差、 信頼区間、 効果量) を併記したか
□ 検定なら事前に α と必要 n を決めた か(事後の覗き見をしていないか)
□ 多重比較ならBonferroni / FDR 補正 を行ったか
□ 「検出力」と「仮説検定」カテゴリの他用語との関係を 1 文で書けるか
□ hypothesis-testing グループ教材 で全体像を確認したか
□ 限界(適用範囲外、 因果なら別手法、 外挿不可など)を明示したか
□ 図表のキャプションで「単位・期間・出典」を 3 点セットで書いたか
□ 再現性のため、 使用したコード・データ・乱数シードを共有可能にしたか
❓ よくある質問(FAQ)
Q. 検出力を初めて学ぶときの最短ルートは? A. まず本ページの「💡 30秒結論」「🎨 直感で掴む」を読み、 続いて「🧮 SSDSE実値計算」のテーブルだけでも目を通す。 そのうえで「🐍 Python実装」の ①基本パターン を写経すれば、 1 時間程度で実用最低限まで届きます。
Q. 検出力と一緒に必ず押さえておきたい用語は? A. 「🔗 関連用語」セクションの
前提 3〜4 件は最優先。 特に
データリテラシー と
変数の型 はどの用語にも効きます。
Q. 検出力を実務レポートに書くときに気をつけることは? A. ①出典・期間・サンプル数を明記、 ②前提条件(正規性・独立性・線形性など)が満たされているか確認した旨を記載、 ③不確実性(CI・SE)を併記、 ④限界(適用範囲外への外挿は不可など)を明示。
Q. 検出力と AI・機械学習はどう関係する? A. 検出力 は古典統計の文脈でも機械学習の文脈でも基礎になります。 とくにモデル評価・データ品質・解釈性の局面で必須。 詳細は
AIと社会 、
AIの信頼性 を参照。
Q. SSDSE 以外のデータでも同じ手順で大丈夫? A. 概ね Yes。 政府統計(e-Stat)、 World Bank Open Data、 国際機関の公開データ、 自社のログデータ — どれもエンコーディング・スキーマ・欠損処理の調整は必要ですが、 本ページのコードを土台にできます。
🖼️ 図解で理解する — 検出力の三つの顔
検出力 (statistical power, 1−β ) は「効果量・サンプルサイズ・有意水準」が決まれば一意に定まる。 ここでは SSDSE-B-2026(47 都道府県・112 項目、独立行政法人統計センター公表)を題材に、 検出力が変動する三つの典型シーンを散布図・ヒストグラム・箱ひげ図で観察する。 図はすべて html/glossary/figures/ 配下の実在ファイルを参照する。
図1 — 効果量と検出力の関係(散布図)
SSDSE-B-2026 の 「総人口(A1101)」 と 「出生数(A4101)」 (単位:人)の散布で考える。 効果量が大きい(点が直線に強く沿っている)ほど、 同じ n でも検出力は高くなる。 図中の右上 4 県(東京・神奈川・大阪・愛知)は強い線形関係を作り、 有意水準 α=0.05・両側検定で n=47 なら検出力は実質 1.00 に達する。
出典:SSDSE-B-2026 / 単位:人口・出生数ともに人 / 期間:2020 年度 / n=47。 線形関係が強く、 ピアソン相関は r≒0.97、 効果量 |r| は Cohen の基準で「大(>0.5)」。 この場合 t 検定の検出力は α=0.05 ・両側で 1.00 に飽和する。
図 1 から読み取れる教訓は二つ。 (1) 効果量が大きいと小標本でも検出力は十分 になる、 (2) ただし「強い相関」と「因果」は別物で、 ここで検出されているのは規模の連動 に過ぎない。 検出力分析の段階で因果は問えないことを忘れない。
図2 — 帰無分布と対立分布の重なり(ヒストグラム)
検出力の正体は「対立分布 H1 のうち、 棄却域に落ちる面積」。 SSDSE-B-2026 の 「人口千人あたり医師数」 の都道府県分布を例に、 帰無 H0 :μ=2.5 と対立 H1 :μ=3.0 を考えると、 二つの分布の重なりが小さいほど検出力は上がる。 下のヒストグラムは「全国 47 値の素のばらつき」を示し、 観測されたばらつきから効果量 d を推定して検出力に変換できる。
出典:SSDSE-B-2026(人口千人あたり医師数)/ 単位:人 / 期間:2020 年度 / n=47。 全国平均 μ̂≒2.6、 標準偏差 σ̂≒0.5。 H1 :μ=3.0 を仮定すると標準化効果量 d=(3.0−2.5)/0.5=1.0、 α=0.05・n=47 なら検出力はおよそ 1.00 まで達する。 一方 d=0.2 なら n=47 では検出力 0.27 程度に留まる。
図 2 の含意は 「効果量が小さいときは n が大きくないと検出できない」 。 サンプルが先にあって検出力が決まるのではなく、 検出したい効果量に応じて n を逆算するのが原則。 これが「事前の検出力分析(a priori power analysis)」である。
図3 — グループ間比較と分散の影響(箱ひげ図)
二群比較の検出力は 平均差 だけでなく分散の大きさ にも依存する。 SSDSE-B-2026 の 「高齢化率」 を「東日本/西日本」「都市部/地方」など複数グループに分けた箱ひげ図で観察すると、 同じ平均差でも箱の幅(IQR)が広いグループ間では検出力が下がる。
出典:SSDSE-B-2026(高齢化率ほか)/ 単位:% / 期間:2020 年度 / n=47 を地域別に分割。 箱の高さ(IQR)が広いグループでは Welch の t 検定の検出力が低下する。 例えば平均差 1.0%・SD=0.5% の比較なら d=2.0 で検出力 0.99、 SD=2.0% に増えると d=0.5 まで下がり同じ n では検出力 0.42 に低下。
図 3 の含意は 「ばらつきを小さくする工夫(層別化・共変量調整・測定精度改善)も検出力を上げる」 。 ANOVA や混合効果モデルでブロック因子を入れる動機もここにある。
🧪 数学的深掘り — なぜ検出力 0.8 が標準なのか
検出力は次式で表される(片側 z 検定の最も単純な場合):
$$1-\beta = \Phi\!\left( \frac{|\mu_1-\mu_0|}{\sigma/\sqrt{n}} - z_{1-\alpha} \right)$$
右辺は 標準化効果量 d=(μ1 −μ0 )/σ に √n を掛け、 α から決まる臨界値 z1−α を引いた値 を標準正規分布の累積関数 Φ に通したもの。 Cohen (1988) は「研究現場で許容できる第二種過誤の比率」を経験的に検討し、 β=0.20 (つまり検出力 0.80)を最低ラインとして推奨した。 これが「検出力 0.8」が事実上の業界標準として広まった経緯である。
表 A. 効果量の言語感(Cohen の目安)
指標 小 中 大
Cohen's d (平均差) 0.2 0.5 0.8
Pearson r (相関) 0.1 0.3 0.5
Cohen's f (ANOVA) 0.10 0.25 0.40
オッズ比 OR 1.5 2.5 4.3
η²(分散説明率) 0.01 0.06 0.14
表 B. α・効果量別の必要サンプルサイズ(独立 2 群 t 検定・検出力 0.80・両側)
効果量 d → 0.2(小) 0.5(中) 0.8(大) 1.0
α=0.05 394 / 群 64 / 群 26 / 群 17 / 群
α=0.01 586 / 群 96 / 群 38 / 群 25 / 群
α=0.001 893 / 群 146 / 群 57 / 群 37 / 群
出典:Cohen (1988) Statistical Power Analysis for the Behavioral Sciences 2nd ed. / G*Power 3.1 による再確認。
表 C. 検出力に影響する 5 因子
因子 大きくすると 実務での操作可能性
サンプルサイズ n 検出力 ↑ 高(予算で増やせる)
効果量 |d| 検出力 ↑ 中(実験条件で増幅可)
有意水準 α 検出力 ↑ 但し第一種過誤も ↑ 高(事前設定)
分散 σ² 検出力 ↓ 中(測定精度・層別で減らせる)
片側/両側 片側にすると ↑ 低(仮説の方向に依存)
この 5 因子のうち n と α は研究者が直接操作できる。 効果量は事前文献レビューや予備実験から見積もる「与件」。 σ は層別化・反復測定・共変量調整で間接的に縮められる。 検出力の議論は「動かせる変数の地図」を頭に置いて行うのが実務的。
🧠 理解度チェック — 検出力 8 問
解答は各設問の「💡 解答・解説を見る」をクリックして開く。 7 問以上正解できれば検出力分析を実務レポートで使い始めて差し支えない水準。
Q1. 検出力 0.8 とは「対立仮説が正しいときに、 帰無仮説を正しく棄却できる確率が 80%」である。 ○か×か?
💡 解答・解説を見る
○ 。 検出力 (1−β) は「H1 が真のとき、 検定が H0 を棄却する確率」と定義される。 0.8 は「同じ条件で 100 回検定したら 80 回は有意差を検出できる」と読む。 残り 20 回は「効果はあるのに見逃した(第二種過誤)」。
Q2. サンプルサイズ n を 2 倍にすると検出力は 2 倍になる。 ○か×か?
💡 解答・解説を見る
× 。 検出力は n に対して線形ではなく、 標準化効果量 d×√n を Φ に通した非線形関数で増える。 例えば d=0.5・α=0.05 で n=30→60 なら検出力は約 0.48→0.75 に上がる(≒1.6 倍)。 飽和域(検出力 0.95 以上)では 2 倍にしてもほぼ動かない。
Q3. 有意水準 α を 0.05 から 0.01 に厳しくすると、 検出力はどうなる?
💡 解答・解説を見る
下がる 。 α を厳しくすると棄却域が狭くなり、 同じ効果量・同じ n でも棄却される確率が減るため検出力は低下する。 表 B のとおり、 d=0.5 ・検出力 0.80 を保つには α=0.05 なら 64/群、 α=0.01 なら 96/群が必要。
Q4. SSDSE-B-2026 の 47 都道府県データで「人口千人あたり医師数の全国平均が 2.5 より大きいか」を片側 t 検定する。 効果量 d=0.3 、 α=0.05、 n=47 のとき検出力はおおよそ何 % か?
💡 解答・解説を見る
約 65 % 。 statsmodels.stats.power.TTestPower().power(effect_size=0.3, nobs=47, alpha=0.05, alternative='larger') ≒ 0.649。 0.8 に届かないため、 もし「効果あり」を確実に検出したいなら n を約 70 まで増やす必要がある(同コードで solve_power(effect_size=0.3, power=0.8, alpha=0.05, alternative='larger') → n≈70.1)。
Q5. 「事後検出力(post-hoc power)」を計算して「検出力が低かったから差が出なかった」と結論することは妥当か?
💡 解答・解説を見る
妥当でない 。 観測 p 値と事後検出力は 1 対 1 対応しており、 p 値が大きいと事後検出力は機械的に小さく出る。 そのため「事後検出力が低かった」と言うのは「p 値が大きかった」を言い換えたに過ぎず、 追加情報を持たない(Hoenig & Heisey, 2001)。 検出力分析は事前 に行う。
Q6. 多重比較で Bonferroni 補正を行うと検出力はどう変化する?
💡 解答・解説を見る
下がる 。 Bonferroni では各検定の α が α/k に厳しくなるため、 Q3 と同じ理屈で検出力が低下する。 検定数 k=10 なら α=0.05→0.005 となり、 表 B でいう α=0.001 に近い水準で n を確保する必要がある。 検出力を維持するには n を増やすか、 より緩い補正(Holm・BH-FDR など)を選ぶ。
Q7. 「相関係数 r=0.3 (中程度)」を α=0.05・両側で検出力 0.8 で検出するには、 おおよそ何件のサンプルが必要か?
💡 解答・解説を見る
約 84 件 。 Fisher の z 変換に基づく公式 n ≈ ((z1−α/2 +z1−β )/ζ)²+3 、 ζ=arctanh(0.3)≒0.3095 から n≈((1.96+0.842)/0.3095)²+3≈84 。 SSDSE-B-2026 の 47 件では検出力が 0.55 程度しか出ない点に注意。
Q8. 検出力を高めるために、 実験デザイン段階で取れる「n を増やす以外の」具体策を 3 つ挙げよ。
💡 解答・解説を見る
例 :(1) 測定精度の向上 で σ を小さくする(精密機器の利用・反復測定・キャリブレーション)。 (2) 共変量による調整 (ANCOVA・回帰の偏係数)で残差分散を縮める。 (3) 層別化/ブロック化 (地域・性別・年齢階級でブロックを作る)で群内分散を縮める。 補足:(4) 効果量を増幅する介入の強度・露出期間の延長、 (5) 片側検定(仮説が方向性をもつ場合のみ)、 (6) 反応指標を連続変数へ(カテゴリ化は検出力を捨てる行為)。
🧭 実務フロー — 検出力分析を業務で使う 6 ステップ
目的の言語化 :「何を検出したいのか」を 1 文で書く。 例:「新教材導入で正答率が平均 5 ポイント以上向上することを検出したい」。
効果量の見積もり :先行研究・予備調査・専門家ヒアリングから d, r, OR, f のいずれかを 1 つに決める。 不明なときは「小(d=0.2)」を採用して保守的に。
α と検出力の事前合意 :α=0.05・検出力 0.80 が標準。 多重比較・規制薬の試験などでは α=0.01 や 0.005 を採用。
必要サンプルサイズ計算 :statsmodels(Python)、 pwr(R)、 G*Power(GUI)など。 検定種別を間違えないこと。
感度分析 :効果量を「±50%」、 α を「0.01〜0.10」で振って n 表を作る。 上司・倫理委員会への説明資料に必須。
事前登録(pre-registration) :OSF・AsPredicted・clinicaltrials.gov などに仮説・検定計画・必要 n を登録してからデータ取得開始。 これで HARKing と p-hacking を構造的に防げる。
参考:Lakens (2022) Sample Size Justification / 日本計量生物学会「臨床試験のためのサンプルサイズ計算ガイドライン」(2019) / FDA "Statistical Guidance on Reporting Results from Studies Evaluating Diagnostic Tests" (2007)。
📚 実例ケーススタディ — 検出力が結論を左右した 5 例
検出力は教科書の概念に留まらず、 公共政策・医療・教育・産業現場の意思決定を実際に動かしてきた。 ここでは公開資料から引用できる代表的な五つのケースを取り上げ、 「何が起きたか/どこで検出力が問題になったか/教訓は何か」を整理する。 すべて出典付きで、 数値は元論文・公式報告書のものに準拠する。
ケース 1 — 厚生労働省「人口動態統計」と少子化政策評価
日本の合計特殊出生率 (TFR) は 2005 年に 1.26 で底を打った後、 2015 年には 1.45 まで回復、 その後 2023 年には 1.20 へ再低下した。 厚生労働省「人口動態統計」を基礎データに、 多くの地方自治体が「結婚支援」「子育て支援金」「保育料無償化」などの介入効果を測ろうとしている。 ここで検出力が問題になるのは、 (a) 都道府県データなら n=47、 (b) 市区町村に展開しても n=1,718 が上限、 (c) 介入前後の年次データなら時系列の自己相関で「実効サンプル数」がさらに小さくなる、 という三重苦による。 仮に TFR を 0.05 ポイント動かす介入を α=0.05・両側・検出力 0.80 で検出したい場合、 都道府県を単位とした単純な比較では効果量 d=0.3 程度が見込まれ、 n=89 が必要となる(表 B 参照)。 47 都道府県の枠組では検出力は約 0.55 にしか達せず、 「効果あり/なし」を白黒つけるのは数値上不可能に近い。 教訓は 政策評価では事前に「どのくらいの効果なら検出できるか」を公表すべき という点。 検出力 0.55 で「効果なし」と報じれば誤った政策中止を招きかねない。 出典:厚生労働省「令和 5 年 (2023) 人口動態統計月報年計」、 内閣府「少子化社会対策白書」(2023)。
ケース 2 — COVID-19 ワクチン臨床試験(Pfizer/BioNTech BNT162b2)
2020 年 7–11 月にかけて行われた Pfizer/BioNTech の第 III 相試験 (NCT04368728) は、 約 43,548 名を 1:1 でワクチン群とプラセボ群に割り付けた。 主要評価項目は「2 回目接種後 7 日以降の COVID-19 確定例の発生率」で、 統計計画書 (SAP) には「ワクチン有効率 (VE) の点推定値が ≥30% で、 95%信頼区間の下限が >30%」を成功基準として設定。 検出力分析では「真の VE=60% のとき、 約 164 例のイベント発生で検出力 0.90 が得られる」と試算されていた。 実際の中間解析では 170 例で打ち切られ、 VE=95.0% (95%CI: 90.3–97.6%) と圧倒的な結果。 ここで重要なのは イベント駆動型試験 という考え方:感染症の試験では「サンプルサイズ」ではなく「イベント数」が検出力を決める。 同じ 4 万人でも、 感染リスクの低い地域では検出力が出ないため、 ホットスポット地域での参加者を意図的に増やす設計が必要だった。 教訓は 検出力分析の対象は「人数」ではなく「情報量」 。 出典:Polack et al. (2020) N Engl J Med 383:2603–2615; FDA Briefing Document (Dec 10, 2020)。
ケース 3 — 教育介入の RCT:オランダ算数アプリ研究
Faber, Luyten, Visscher (2017) はオランダ初等教育で算数学習アプリ "Snappet" の効果を 84 校・約 6,400 名でクラスター無作為化試験により検証した。 介入群と対照群の事前計算では、 学校レベルの級内相関 (ICC) を 0.10 と仮定し、 平均効果量 d=0.20 を α=0.05・検出力 0.80 で検出するには学校 80 校 (各校 ~40 名) が必要と算出されていた。 結果、 算数の標準テストで d=0.20 (95%CI: 0.05–0.35) の有意効果を観測。 仮に ICC を見落として「個人レベルで n=6,400」と単純計算すると 実効サンプル数が 1/4 に縮む 設計上の事実を見落とし、 計画は破綻していた。 教訓:階層データではクラスターを単位とした検出力分析(mixed-effects power analysis) を必ず使う。 出典:Faber et al. (2017) Computers & Education 106:83–96。
ケース 4 — マイクロソフト Bing の A/B テスト基盤
Kohavi et al. (2020) Trustworthy Online Controlled Experiments によれば、 Microsoft Bing は年間 1 万回以上の A/B テストを実施しており、 一つの実験につき数十万〜数千万ユーザーが割り付けられる。 一見「検出力は無尽蔵」と思えるが、 実際に問題になるのは「効果量が 0.1% 未満」のシナリオ。 例えば「広告クリック率 (CTR) を 2.000% → 2.005% に動かす改善」を α=0.05・検出力 0.80 で検出するには n ≈ 200 万 / 群 が必要となる。 巨大プラットフォームではこのレベルが現実的だが、 中小サービスでは到底届かない数字である。 さらに Bing 流の運用では、 (a) SRM (Sample Ratio Mismatch) チェック で偏り検知、 (b) 事前登録された主要指標のみ評価 、 (c) 多重比較を Holm 補正で制御 、 (d) p<0.05 でも効果量 <0.001 は実装しない という閾値ルールを徹底している。 教訓:統計的有意性と実用的有意性は別物 。 検出力分析と効果量の最低ラインを事前に決めるのが運用の生命線。 出典:Kohavi, Tang, Xu (2020) Trustworthy Online Controlled Experiments Cambridge UP, Ch.7–8。
ケース 5 — 福島原発事故後の甲状腺がん検診
福島県「県民健康調査」では 2011 年以降、 18 歳以下約 30 万人を対象に甲状腺超音波検査を実施。 国際比較データでは小児甲状腺がんの自然発生率は 100 万人年あたり 1〜3 件程度。 「30 万人を 5 年追跡して 100 例の発見」が事故の影響かを判定する際、 検出力の議論は次のように整理される:(a) ベースライン期待値は 100 万人年 × 30 万人 × 5 年 = 1.5 (人年, 後者は 150 万人年) → 自然発生 1.5〜4.5 例、 (b) 観測 100 例は明らかに超過、 (c) ただし「スクリーニング効果」(高感度検査による潜在症例の発見)の寄与をどう見積もるかで検出力以前の議論となる。 国連科学委員会 UNSCEAR 2020/2021 報告書は「観測された罹患率上昇の大半はスクリーニング効果に由来し、 放射線被曝量から期待される増加は検出限界以下」と結論。 教訓は 検出力分析だけでは「効果がある/ない」は決まらない 。 交絡・選択バイアス・測定方法の変更を統制しないと、 統計的有意性は誤解を増幅する道具になりうる。 出典:UNSCEAR (2021) Levels and Effects of Radiation Exposure due to the Accident at the Fukushima Daiichi Nuclear Power Station: 2020/2021 Implications ; 福島県「県民健康調査検討委員会」(2023 年 8 月公表分)。
🧰 ツール比較 — 検出力分析を「実際にどれで計算するか」
検出力分析のツールは多岐にわたるが、 大半は (1) Cohen 1988 の表に基づく解析解、 (2) 非中心分布の数値計算、 (3) Monte Carlo シミュレーション、 のいずれかをラップしたものである。 入門者は GUI の G*Power から入り、 再現性が求められる業務では Python の statsmodels や R の pwr に移行するのが王道。
ツール 言語/形態 得意な検定 特徴・注意点
G*Power 3.1 GUI (Win/Mac) t, F, χ², z, 比例ハザード等 主要検定一通り 入門に最適。 ただし結果がスクリーンショットでしか残らず、 再現性に難。 デュッセルドルフ大が無償配布。
R / pwr R パッケージ t, F, χ², r, 比例 Champely 作。 教科書 Cohen (1988) の式を忠実に実装。 学術論文での引用回数が最多。
Python / statsmodels.stats.power Python ライブラリ t (independent/paired), F (ANOVA, 重回帰), χ², 比例, 正規近似 本ページのコード例はすべてこれを使用。 Jupyter で表・グラフを連携できる利点。 solve_power で必要 n を逆算可。
R / simr R パッケージ 混合効果モデル, クラスター RCT, 縦断データ Monte Carlo シミュレーションで検出力を出す。 階層データには事実上これ一択。 lme4 と統合。
SAS PROC POWER SAS 手続き 臨床試験の主要検定全般 FDA 承認申請レベルで標準。 GLM, MIXED, LIFETEST と連携。 商用ライセンス必須。
PASS (NCSS) GUI 商用 非劣性試験、 同等性試験、 適応的試験など特殊検定 医薬品開発で広く採用。 300 以上の検定パターンを網羅。 高価。
Stata / power コマンド Stata 組込 基本検定, 比例, 生存解析 経済学・公衆衛生で普及。 構文がコンパクト。 結果のレポート出力 (.docx) が秀逸。
Optimal Design GUI 無償 階層的 RCT, 教育介入 教育研究のクラスター RCT に特化。 Spybrook ら開発。
推奨:個人プロジェクトなら Python statsmodels。 学会発表なら R pwr を併用すると査読者の納得を得やすい。 臨床試験や承認申請は SAS/PASS と GUI ツールを併走させ、 結果が一致することを確認するのが現代的なワークフロー。
📖 検出力の歴史と哲学的論点
「検出力」という概念は Neyman と E. S. Pearson が 1933 年の論文 "On the Problem of the Most Efficient Tests of Statistical Hypotheses" (Phil. Trans. R. Soc. A 231:289–337) で初めて体系化した。 それ以前の Fisher 流の有意性検定では「p 値で帰無を棄却するかどうか」が中心テーマで、 第二種過誤 β はほとんど議論されなかった。 Neyman-Pearson の枠組は「H0 と H1 を対等に扱い、 α と β のトレードオフで最適な棄却域を選ぶ」という意思決定理論で、 検出力 1−β は副産物として導出された。
この Fisher と Neyman-Pearson の哲学的対立は、 20 世紀統計学の最大の論争の一つとなった。 Fisher は「検出力は実験者の主観的願望に過ぎず、 客観的科学からは除外すべき」と主張、 Neyman は「α だけを論じる検定は半身像である」と反論した。 現代の統計教科書は両者の折衷案を採用し、 p 値(Fisher)と検出力(Neyman-Pearson)を併記する のが標準となっている。 ただし、 国際統計協会 ASA は 2016 年に "Statement on p-values" を公表し、 「p 値の二値解釈(有意/非有意)に依存する慣行」を強く戒めた。 続いて 2019 年には Wasserstein, Schirm, Lazar が Moving to a World Beyond "p < 0.05" で「効果量・信頼区間・事前検出力分析を中心に据えるべき 」と提言。 検出力概念は、 単なる計算技法ではなく「研究設計の倫理」を象徴する位置に進化している。
日本では 1990 年代まで検出力分析は心理学・教育学を中心に細々と扱われていたが、 2000 年代に入って臨床試験の国際基準 ICH-E9 (1998 年発効) が事実上「検出力 0.80 以上が望ましい」と書き込んだことで、 製薬・医療機器分野で急速に標準化された。 大学教育では平井ら (2014) 「効果量・サンプルサイズの基礎」 や 大久保・岡田 (2012) 『心理学のためのサンプルサイズ設計入門』 が普及の起点となった。 さらに 2020 年代に再現性危機が話題化し、 日本心理学会・日本疫学会・日本薬剤疫学会などが相次いで「事前登録と検出力分析の必須化」を声明した。 検出力は今や「マニアックな統計知識」ではなく 研究の信頼性を担保する一般教養 として位置づけられている。
哲学的論点としては (i) 「効果量はどこから来るのか」問題 :効果量を「過去の研究のメタアナリシス」から取ると、 出版バイアスで過大評価された値を使ってしまうリスクがある。 Anderson et al. (2017) は「事前登録された予備実験」で効果量を独立に推定することを推奨。 (ii) 「最小実質的効果量 (SESOI)」概念 :単に「検出可能な効果量」を計算するのではなく、 「実務的に意味のある最小効果量」を事前に決め、 それを検出する検出力を 0.80 確保すべき (Lakens, 2017)。 (iii) 「等価性検定 / 非劣性検定」 :「効果がないこと」を主張する場合、 通常の検定では検出力 0.80 を確保できても結論できない。 TOST (Two One-Sided Tests) など特殊検定が必要になる。
📑 ミニ用語辞書 — 検出力分析でよく出る 12 語
用語 定義 記号
第一種過誤 H0 が真なのに棄却してしまう誤り α
第二種過誤 H1 が真なのに H0 を棄却できない誤り β
検出力 第二種過誤を起こさない確率 1−β
効果量 (Cohen's d) 平均差を標準偏差で割って無次元化した量 d
効果量 (Pearson's r) 2 変数の線形連動度 r
非中心パラメータ 対立分布の中心がどれだけ H0 からずれているか λ, δ
最小実質的効果量 実務的に意味のある最小の効果量 SESOI
事前検出力分析 データ取得前に必要 n を計算する手順 a priori
事後検出力 観測値から逆算した検出力(推奨されない) post-hoc
感度分析 パラメータを振って結論の頑健性を確かめる sensitivity
級内相関係数 クラスター内の類似度 ICC, ρ
デザイン効果 クラスタリングで実効サンプル数が縮む比率 DEFF
🌏 再現性危機と検出力 — なぜ今これを学ぶのか
2010 年代に入り、 心理学・医学・経済学の各分野で「過去に発表された研究の多くが再現できない」という問題が顕在化した。 心理学では Open Science Collaboration (2015) が 100 件の有名研究を再現したところ、 「効果あり」と再現できたのは 36 件に留まった (Science 349:aac4716)。 医学では Ioannidis (2005) の予言的論文 "Why Most Published Research Findings Are False" が引用 1 万件超の警鐘となった。 経済学でも Camerer et al. (2016) Science が「実験経済学の主要 18 論文中、 再現に成功したのは 11 件」と報告。 共通する原因として指摘されたのが (a) 検出力不足、 (b) 出版バイアス、 (c) p-hacking、 (d) HARKing (Hypothesizing After Results are Known) の 4 つだった。
Button et al. (2013) Nature Reviews Neuroscience 14:365–376 は神経科学 49 メタアナリシスを分析し、 平均検出力が 21% しかなかったと報告した。 検出力 21% で「有意」と出た結果は、 偶然そのまま観測される確率が高いため、 別の研究室で同じ実験を組んでも再現される確率は元々低い。 この知見は学界に衝撃を与え、 米国 NIH (2014) は全研究費申請書に「事前検出力分析」の記載を義務化、 欧州研究評議会 ERC や日本学術振興会 (JSPS) も追随した。 検出力分析は今や「学術コミュニティが研究の信頼性を担保する制度的装置」となっている。
日本でも 2020 年に 「日本心理学会の学術論文に関する倫理規程」 が改訂され、 「事前登録された研究計画書(プロトコル)に検出力分析を含めること」が推奨事項として明記された。 京都大学・大阪大学・東京大学などの大学院統計教育では、 修士課程の必修科目に「Sample Size Justification」を導入する動きが広がっている。 産業界でも、 楽天・LINE・メルカリ・サイバーエージェントなどがオンライン実験の品質ガイドラインを公開し、 内部には「事前検出力分析を経ないテストはローンチできない」というポリシーを定めるケースが増えている。
本ページを読み終えたら、 次に Lakens (2022) Sample Size Justification (Collabra: Psychology 8:33267) と、 Funder et al. (2014) Improving the Dependability of Research (PSPR 18:3–12) を一読することを強く勧める。 これらは「検出力分析を意思決定にどう組み込むか」を実例ベースで解説した現代の必読文献である。 さらに、 OSF (Open Science Framework, osf.io) や AsPredicted (aspredicted.org) で公開されている事前登録の実例を 5〜10 件覗き、 「他の研究者がどう検出力を正当化しているか」を観察すると、 自分が初めて検出力分析を書くときの型が掴める。
🔎 上級 FAQ — 検出力分析でよく聞かれる 10 問
Q1. 効果量が分からないときはどう設計するか?
三つの戦略がある。 (a) 過去文献のメタアナリシス から平均効果量を取る — ただし出版バイアスで過大評価される傾向に注意。 (b) 予備実験 (pilot study) で n=20〜30 程度の小規模実験を行い効果量を推定 — ただし pilot から得た効果量は信頼区間が広く、 本実験の n を過小推定する危険がある。 (c) 最小実質的効果量 (SESOI) を意思決定者と合意して採用 — 「これ未満なら実装しない」の閾値を先に決めるアプローチ。 推奨は (c)。
Q2. ノンパラメトリック検定の検出力はどう計算するか?
Mann-Whitney U、 Wilcoxon、 Kruskal-Wallis などのノンパラ検定には閉形式の検出力公式がほぼなく、 Monte Carlo シミュレーション で算出するのが現実的。 Python なら scipy で 1,000〜10,000 回の擬似データを生成し、 棄却された比率を検出力とする。 「正規性が崩れていても t 検定はロバスト」という事実があるため、 まず t 検定の検出力で必要 n を決め、 そこに 10〜15% の安全係数を上乗せする方法も実務的。
Q3. 「打ち切り (censoring)」がある生存解析では何で計算するか?
Cox 比例ハザード回帰では Schoenfeld (1983) の公式:必要イベント数 = (z1−α/2 +z1−β )² / (P(1−P) (log HR)²) (P は群割付比率)。 例えばハザード比 HR=0.7、 α=0.05、 検出力 0.80、 P=0.5 ならイベント数 247。 ここで「人数」ではなく「イベント数」が検出力を決める点が特殊。 PASS の生存解析モジュールや R の powerSurvEpi パッケージが定番。
Q4. クラスター無作為化試験 (cluster RCT) の必要サンプルサイズは?
個人 RCT で必要な n を計算した後、 デザイン効果 DEFF = 1 + (m−1)ρ を掛ける(m はクラスターあたり個人数、 ρ は ICC)。 例えば学校 RCT で 1 校 40 名・ICC=0.10 なら DEFF = 1 + 39×0.10 = 4.9、 個人 RCT の必要数の約 5 倍が必要。 ICC が 0.05 でも DEFF は 3.0 になる。 クラスター RCT を設計するときは ICC を必ず先行研究から見積もる。
Q5. 多変量・多重比較で「全体としての検出力」はどう定義するか?
3 つの定義がある。 (a) any-test power :複数検定のうち少なくとも一つが有意になる確率、 (b) all-test power :すべての検定が有意になる確率、 (c) average power :個別検定の検出力の平均。 ペース・実務目標に応じて選ぶ。 探索的研究では (a)、 確証的研究では (b) が標準。 Westfall et al. (2011) Multiple Comparisons and Multiple Tests Using SAS が体系的に整理している。
Q6. ベイズ統計に「検出力」はあるか?
古典的な検出力は頻度論固有の概念だが、 ベイズ統計では「事前分布のもとで Bayes factor BF が閾値(例:BF₁₀ > 10)を超える確率」を計算できる。 これを Bayesian Power と呼ぶ。 Schönbrodt et al. (2017) Psychological Methods は事前分布のキャリブレーション法を提案。 ベイズの利点は (i) サンプリングを止めるかどうかを途中で判断できる (sequential design)、 (ii) 「効果なし」を積極的に主張できる、 の二点。
Q7. 適応的試験 (adaptive design) では検出力をどう保つか?
中間解析でサンプルサイズを再推定する場合、 各段階での α を厳密に制御するため α-spending function (O'Brien-Fleming, Pocock, Lan-DeMets など)を使う。 中間解析の回数と段階別 α を事前に決めておけば、 全体の Type I error は計画通り 0.05 に収まる。 ICH-E9 (R1) Estimands and Sensitivity Analysis (2019) が国際標準。 PASS と East は適応的試験設計に強い。
Q8. 機械学習モデルの精度比較に検出力は使えるか?
使える。 例えばモデル A と B の正解率差を比較する場合、 McNemar 検定 または 5×2 cross-validation paired t 検定 に対する検出力分析が可能。 ただし学習データを使い回しているため独立性の仮定が崩れる。 Dietterich (1998) Neural Computation 10:1895–1923 が classical reference。 近年は bootstrap によるブートストラップ信頼区間で代替するのが主流。
Q9. 「サンプルサイズが大きすぎて、 実用的に無意味な差まで有意になる」のを防ぐには?
対策は (a) 効果量と信頼区間を必ず併記 、 (b) SESOI 以上の効果量のみ「実装に値する」と定義 、 (c) 等価性検定 (TOST) で「差がない」も積極的に検定 。 Big Tech の A/B テスト基盤はこれらを組み合わせ、 「p<0.05 でも効果量が SESOI 未満なら採用しない」というワークフローを徹底している。
Q10. 倫理委員会 (IRB) を説得するときに何を書くか?
必須要素は:(i) 仮説、 (ii) 採用する効果量とその根拠(文献または pilot)、 (iii) α と検出力の事前設定値、 (iv) 必要サンプルサイズの計算式・ソフトウェア・乱数シード、 (v) 感度分析(効果量を ±50% で振った場合の n 表)、 (vi) 中間解析を行う場合の停止規則。 これらをプロトコルに 1〜2 ページ書き、 計算スクリプトを補遺に付ければ、 ほぼ確実に通る。 「事前登録 (pre-registration) のリンク」を IRB 提出書類に貼ると更に説得力が増す。
📝 国際報告ガイドラインと検出力
研究の種類によって、 検出力分析の記載方法は国際ガイドラインで規定されている。 該当する論文ジャンルがあれば、 投稿前に必ず一読する。
ガイドライン 対象研究 検出力分析に関する要求
CONSORT 2010 無作為化臨床試験 (RCT) 項目 7a:「サンプルサイズの決定方法」を効果量・α・検出力・脱落見込みとともに記載必須
STROBE 2007 観察研究 (コホート/症例対照/横断) 項目 10:標本サイズ算出の説明を推奨。 検出力が達成できなかった場合はその影響を考察に書く
PRISMA 2020 システマティックレビュー メタアナリシスでは各研究の効果量・信頼区間・標本サイズを公表テーブルで提示
ARRIVE 2.0 動物実験 項目 2:3Rs に基づく動物数の最小化と、 それを支える検出力分析の記載を要求
SPIRIT 2013 RCT プロトコル 項目 14:サンプルサイズ計算式・想定脱落率・解析計画を本文と統計補遺の二段構えで記載
TRIPOD 2015 予測モデル研究 項目 8:必要なイベント数 (EPV)、 検出力、 検証戦略を記載
CHEERS 2022 医療経済評価 感度分析・不確実性分析の中で、 主要パラメータの推定精度(≒検出力相当)を必須化
JARS (APA) 心理学一般 2018 改訂で「事前検出力分析・効果量・信頼区間」を投稿時報告の標準項目に格上げ
いずれのガイドラインも EQUATOR Network (equator-network.org) で日本語版を含む公式 PDF が無償公開されている。 投稿先ジャーナルが該当ガイドラインを必須化していることが多いため、 投稿規程と併せて確認すること。
🧱 検出力にまつわる「やりがちな失敗」詳述
検出力分析は概念こそ単純だが、 実務に持ち込むと様々な失敗パターンに陥る。 ここでは特に頻度の高い 8 つの落とし穴を、 「失敗の見え方/背景の誤解/回避策」の三段で深掘りする。
失敗 1. 「効果量を pilot から取って楽観計画」
見え方 :n=20 の予備実験で d=0.6 が出たので、 本実験は「d=0.6・α=0.05・検出力 0.80」→ n=45/群と計画。 結果、 本実験では d=0.25 しか出ず効果検出に失敗。 背景 :小標本では効果量の信頼区間が極めて広く、 d=0.6 の 95%CI が [-0.05, 1.25] のように大きく振れる。 pilot から平均値を取ると過大評価される傾向がある(winner's curse 効果)。 回避策 :pilot 効果量の 95%CI 下限を採用、 または事前文献メタアナリシスを優先、 もしくは SESOI を意思決定者と合意。
失敗 2. 「途中で n を増やして p<0.05 を狙う」
見え方 :当初 n=50 で p=0.08。 「あと少し」と n=70 まで増やしたら p=0.04 になり、 有意として報告。 背景 :データを覗き見してから n を増やす行為は、 真の α が 0.05 ではなく 0.10〜0.20 に膨らむ「ピークイング (peeking)」問題を起こす。 偽陽性が制御できなくなる。 回避策 :(a) 事前に固定 n を決めてから一切途中解析しない、 (b) どうしても適応的に増やしたいなら α-spending function を使う、 (c) ベイズ的に Bayes factor で停止条件を設定する。
失敗 3. 「片側検定で n を節約」
見え方 :両側だと n=64/群必要だが、 片側にすれば n=51/群で済むので片側を選択。 背景 :片側検定は「事前に効果の方向が完全に予測できる場合のみ」許容される。 結果を見て向きを決めるのは事実上の two-sided と等価で、 α が二倍に膨らむ。 査読でも頻繁に指摘される失敗。 回避策 :原則として両側を採用。 片側にする場合は理論的根拠(事前知識や先行研究で方向が確定している)を明文化し、 事前登録に書く。
失敗 4. 「サンプルサイズだけ計算して脱落を忘れる」
見え方 :「n=64/群必要」と計算して 64 名をリクルートしたが、 追跡で 15% 脱落し最終 54 名に。 検出力 0.80 のはずが 0.71 に落ちる。 背景 :臨床試験では脱落率 10〜30% が普通。 教育研究でも介入期間が長いほど脱落が増える。 回避策 :必要 n を ÷ (1 − 想定脱落率) で水増しする。 脱落率 20% なら 64 → 80/群でリクルート。 さらに脱落者の特性を観測しておき、 多重代入法 (MI) で感度分析を行う。
失敗 5. 「多重比較の補正で検出力が暴落」
見え方 :10 個の評価項目すべてに Bonferroni 補正 (α=0.005) を適用したら、 検出力 0.80 計画が実質 0.40 に低下。 背景 :Bonferroni は最も保守的な補正で、 検定数が増えると検出力が急落する。 検定間が独立でない場合は過剰補正となる。 回避策 :(a) 主要評価項目を 1〜2 個に絞り、 二次評価は探索的扱い、 (b) Holm 法や BH-FDR 法など緩やかな補正を使う、 (c) 主要評価項目の n を予め多めに設計、 (d) 階層的検定戦略 (hierarchical testing) で「主要項目が有意なら二次項目は補正なし」のフローを設計。
失敗 6. 「事後検出力を逆算して『検出力不足だった』と言い訳」
見え方 :p=0.15 で有意でなかったため、 観測値から検出力 0.30 を逆算し「検出力不足が原因」と論文に書く。 背景 :観測 p 値と事後検出力は数学的に 1 対 1 対応する(Hoenig & Heisey 2001)。 「事後検出力が低かった」と言うのは「p 値が大きかった」を別表現にしただけで、 追加情報を持たない。 回避策 :(a) 事前検出力分析を計画段階で実施・記録、 (b) 結果が「効果なし」だったときは、 観測効果量とその 95%CI を提示して「実用的に意味のある効果量は CI 外」と論じる、 (c) 等価性検定 (TOST) で「ない」を積極的に主張する。
失敗 7. 「正規性検定で n を決めようとする」
見え方 :Shapiro-Wilk 検定で正規性を確認してからパラメトリック検定の検出力を計算しようとする。 n が小さいと正規性検定の検出力が低いため「正規性あり」と判定されてしまう罠。 背景 :正規性検定の検出力は n に強く依存する。 n=30 ではかなり非正規でも棄却できず、 n=1,000 では実用上正規と見なせる微小なズレも有意になる。 回避策 :(a) ヒストグラム・QQ プロットで目視確認、 (b) t 検定は適度な非正規にロバストなので n≥30 では通常気にしない、 (c) どうしても気になるなら Welch 補正やノンパラ検定に切り替え、 そのうえで Monte Carlo で検出力を再計算。
失敗 8. 「層別解析を後付けで足して『部分集団では有意』と主張」
見え方 :全体では有意でなかったが、 「男性のみ」「都市部のみ」など部分集団に絞ると p<0.05 になるため、 そちらを主張する。 背景 :層別解析は事実上の多重検定で、 偽陽性率が暴騰する。 さらに各層では n が減るため検出力も低い ── ということは、 有意になった結果は偶然または極端な外れ値の可能性が極めて高い。 回避策 :(a) 層別解析は事前登録された場合のみ confirmatory として扱う、 (b) 事後の層別は exploratory と明示、 (c) 層 × 介入の交互作用項を主モデルに含めて、 交互作用の有意性を検定する。
🔭 検出力分析のこれから — 2026 年以降の潮流
検出力分析は古典統計学の枠を超え、 機械学習・因果推論・大規模オンライン実験の時代に新たな展開を見せている。 ここでは 2026 年時点で観察できる五つの潮流を、 学術文献と実務動向を交えて整理する。
潮流 1. シミュレーションベース検出力分析の標準化
解析解で求められる検出力は単純な検定に限られる。 混合効果モデル・非線形モデル・打ち切りデータなど現実の研究設計は複雑で、 Monte Carlo シミュレーションが事実上の標準になりつつある。 Python の statsmodels や R の simr・SIMR は、 想定モデルから 1,000〜10,000 回の擬似データを生成し、 検出力を経験的に推定する。 計算時間はクラウド GPU で数分。 教育現場でも「数式より Python コードで理解する」アプローチが広がっている。 補助線として「シミュレーションが教えてくれる検出力の直感」は古典公式より深く、 学生のつまずきも減る。
潮流 2. 効果量と SESOI の事前合意の制度化
「統計的に有意 ≠ 実用的に有意」のギャップを埋めるため、 研究計画段階で 最小実質的効果量 (SESOI) を意思決定者と合意する手法が広がっている。 心理学では Lakens (2017) が、 医学では FDA の生物統計ガイダンスが、 産業界では Microsoft Bing の A/B テスト基盤が、 それぞれ SESOI 概念を標準業務に組み込んでいる。 「効果量が SESOI 以上のとき検出力 0.80」という二重条件で計画することで、 偽陽性も偽陰性も意思決定リスクとして明示化できる。
潮流 3. 因果推論の枠組での検出力
因果推論 (Rubin の枠組、 do-calculus、 操作変数法、 RDD、 DID 等) では、 古典的な検出力公式がそのまま使えない場面が多い。 例えば差分の差分推定では「並行トレンド仮定」の安定性が検出力に効く。 G-computation や IPW では擬似サンプルへの重み付けで実効サンプル数が縮む。 Athey & Wager (2019) は機械学習を組み合わせた因果推論で、 シミュレーション検出力分析が必須であることを実証した。 2026 年現在、 経済学・公衆衛生・政策科学では「因果効果の検出力分析」が IRB/倫理委員会の標準要求になりつつある。
潮流 4. AI による検出力分析の自動化
LLM (大規模言語モデル) と統計ツールを統合した「研究計画アシスタント」が登場している。 研究者が「教育介入の効果を測りたい。 学校 30 校で実施可能」と自然言語で書くと、 AI が ICC・効果量の文献根拠を提案し、 必要 n とシミュレーションコードを生成する。 OpenAI の Code Interpreter、 Anthropic Claude の Artifacts、 Google Gemini の Data Analysis モードがそれぞれ統計ライブラリを呼び出して検出力分析を自動化できる。 ただし AI 出力は「文献引用が幻覚」になるリスクがあるため、 人間による出典チェックが必須。
潮流 5. 教育における検出力リテラシーの底上げ
高校「情報 I」「情報 II」、 大学初年次の統計学、 大学院の研究法授業 — どの段階でも「検出力」が必須項目に格上げされつつある。 文部科学省「数理・データサイエンス・AI 教育プログラム認定制度」(2021〜) は、 認定要件に「適切な標本サイズの理解」を明記。 SSDSE-B-2026 のような公開教材データを使い、 学習者が自ら R/Python で検出力を計算する経験を積むことが推奨されている。 本ページもその流れに沿い、 47 都道府県のデータで検出力の振る舞いを体感できるよう構成されている。
以上の五つの潮流に共通するのは、 検出力が 「論文末尾の付録的な計算」から「研究設計の中核的意思決定」へ 位置を変えていることである。 学習者・実務者を問わず、 検出力の概念をひととおり押さえておくことは、 2026 年以降の統計リテラシーの最低ラインである。
🗂 補足ノート — よく混同する用語の使い分け
検出力に関連する用語は表現が紛らわしいため、 実務報告で取り違えると査読・上司レビューで指摘を受ける。 ここでは特に混同しやすい五つのペアを整理する。
(a) 「検出力」と「感度 (sensitivity)」
どちらも「真陽性率」と訳されることがあるが、 文脈が異なる。 検出力 (1−β) は仮説検定の文脈で「H1 真のとき棄却する確率」、 感度 は診断検査の文脈で「疾患ありのとき陽性となる確率」。 数学的構造は同じだが、 検査の感度は通常 0.95 以上を目標、 検定の検出力は 0.80 で十分とされる慣行の違いがある。 同じ用語を使うと議論が噛み合わなくなるため注意。
(b) 「有意水準 α」と「p 値」
α は検定設計時に研究者が決める閾値(例:0.05)、 p 値 は観測データから計算される証拠の強さの指標。 「p<α なら棄却」の二値判定にのみ p を使う Neyman-Pearson 派と、 p の連続値として証拠を解釈する Fisher 派の対立がある。 ASA 2016 声明以降は「p 値を単独で判定基準にしない」が主流。 検出力は α と効果量と n の関数として定まるが、 p 値の関数ではない点に注意。
(c) 「効果量」と「効果」
効果 (effect) は原因変数が結果変数に与える影響そのもの、 効果量 (effect size) はその影響を無次元または標準化された数値に変換した尺度。 例えば「ワクチンの感染予防効果」が「効果」、 ワクチン有効率 95% や Cohen's d=1.2 が「効果量」。 検出力分析の入力は効果量。 数値同士を比較・統合できる利点がある。
(d) 「サンプルサイズ」と「実効サンプル数」
サンプルサイズ n は実際にデータを取った件数、 実効サンプル数 neff は独立観測に換算した件数。 クラスター抽出・時系列の自己相関・重み付け解析では n > neff となる。 検出力分析は neff を入力にするのが正解。 例えば DEFF=5 の学校 RCT で n=2,000 名取っても neff =400 名としか期待できない。
(e) 「事前検出力分析」と「感度分析」
事前検出力分析 はデータ取得前に必要 n を決める作業、 感度分析 (sensitivity analysis) はパラメータを振って結論の頑健性を確かめる作業。 後者は検出力分析の文脈では「効果量や脱落率の想定を ±50% で振ったとき、 必要 n がどう変わるか」を表で示すこと。 倫理委員会・査読者は感度分析の有無を強くチェックするため、 必ずセットで提示する。
📖 参考読書リスト
Cohen, J. (1988) Statistical Power Analysis for the Behavioral Sciences 2nd ed., Lawrence Erlbaum — 検出力分析の古典で、 効果量の言語感の標準源。
Lakens, D. (2022) "Sample Size Justification" Collabra: Psychology 8(1):33267 — 現代的な検出力議論の入門・到達点。 オープンアクセス。
Kohavi, R., Tang, D., Xu, Y. (2020) Trustworthy Online Controlled Experiments Cambridge University Press — Bing/LinkedIn の事例で A/B テスト × 検出力の実務を解説。
Cumming, G. (2014) "The New Statistics: Why and How" Psychological Science 25:7–29 — 効果量・信頼区間・メタアナリシスを統合した近代統計の宣言。
Wasserstein, R.L., Schirm, A.L., Lazar, N.A. (2019) "Moving to a World Beyond 'p<0.05'" The American Statistician 73(sup1):1–19 — p 値依存からの脱却を提唱した ASA の声明。
大久保街亜・岡田謙介 (2012) 『心理学のためのサンプルサイズ設計入門』 講談社 — 日本語で読める検出力分析の標準教科書。
豊田秀樹 (2017) 『心理学のためのサンプルサイズ設計入門』(続編) 講談社 — 上記の発展編で、 多群比較・分散分析のサンプルサイズを詳述。
Open Science Collaboration (2015) "Estimating the reproducibility of psychological science" Science 349:aac4716 — 再現性危機を可視化した記念碑的研究。
🪞 自分用チェックシート — 計画書を提出する前に
研究計画書・実験プロトコル・上司への稟議書を出す前に、 以下 15 項目をひとつずつ点検する。 すべて ✓ がつくまで提出しない、 が現代統計の最低ラインである。
研究仮説 (H0 /H1 ) を 1 文で書いたか
主要評価項目(primary endpoint)を 1 つに絞ったか
検定の種類(t/χ²/F/相関/比例ハザード ほか)を明示したか
効果量を文献または pilot から数値で書いたか(曖昧表現禁止)
効果量の信頼区間または感度分析(±50%)を提示したか
有意水準 α を 0.05 / 0.01 / 0.001 から事前選択した理由を書いたか
検出力 0.80 以上で計画したか(0.70 台は要根拠)
必要サンプルサイズの計算式・ソフトウェア・実行コードを残したか
脱落率を ÷(1−脱落率) で水増し計算したか
クラスター抽出があるなら DEFF を計算に含めたか
多重比較がある場合、 補正法(Bonferroni/Holm/BH-FDR)を決めたか
中間解析を行う場合、 α-spending function と停止規則を明文化したか
事前登録 (OSF/AsPredicted/clinicaltrials.gov) を済ませたか
解析プログラムを別途用意し、 dry-run で動作確認したか
「効果なし」のときの代替的解釈(等価性検定、 効果量 CI)を準備したか
15 項目すべてに ✓ がつけば、 査読・倫理委員会・上司レビューで「検出力分析がない」と差し戻される確率は限りなくゼロに近づく。 検出力分析は、 単なる数式の練習ではなく、 研究の信頼性を担保するチェックリスト的実務 として身につけることが最も重要である。
最後に強調しておきたいのは、 検出力分析は「自分の研究を批判的に見る視点」を養うトレーニングでもあるという点である。 効果量が見積もれない、 サンプルが集まらない、 多重比較が複雑になる ── これらはすべて「自分の研究設計のどこに弱点があるか」を浮かび上がらせるサイン。 数式を完璧に解けなくても、 弱点を見つけて修正できる目線さえあれば、 研究の質は確実に向上する。 検出力分析は、 そのための鏡のような道具である。 ぜひ自分のプロジェクトに当てはめて、 鏡に映った姿を点検してほしい。 そして、 一度経験すれば次回からはチェックリストの形で日常業務に組み込めるようになる ── これが、 検出力分析を学ぶ最大の見返りであり、 同時に統計教育を受けた者の社会的責任でもある。 検出力 0.80 という数字を覚えるだけで終わらせず、 自分が関わる研究・業務の現場で活かしてこそ意味がある。
📌 早見表 — 検出力
日本語名 検出力
英語名 Statistical Power (1−β)
カテゴリ 仮説検定
グループ教材 hypothesis-testing
一言で 本当に差があるとき、 それを正しく検出する確率 。 通常 0.8 を目標。
主データ SSDSE-B-2026(47都道府県・112項目)/ e-Stat
主ライブラリ pandas / numpy / scipy / matplotlib / seaborn / statsmodels
学習推奨時間 概念把握 30 分 + 実装演習 60 分 + 関連用語の確認 30 分 = 約 2 時間
📚 関連グループ教材
この用語の全体像を学ぶには、 まず横断的な教材で文脈を掴むのが効率的です:
🔗 同カテゴリの他用語
🧠 検出力の本質 — α・β・効果量・n の四角関係
検出力(statistical power)とは「本当に差があるとき、 それを統計的に検出できる確率 」。 記号で書くと $1-\beta$。 $\beta$ は第 2 種の過誤(Type II error)の確率で、 「差があるのに見逃す」確率。 検出力の議論は、 以下 4 つの量が互いに連動する という認識から始まる。
量
記号
意味
慣習値
有意水準 $\alpha$ 差がないのに「ある」と判定する確率(第 1 種の過誤) 0.05
検出力 $1-\beta$ 差があるとき正しく検出する確率 0.80
効果量 $d$ や $f$ 差の大きさ(標準化) 小:0.2 中:0.5 大:0.8
標本サイズ $n$ 観測数 事前計算する
重要 : この 4 つは「3 つを決めれば残り 1 つが決まる」連立関係にある。 実務では「$\alpha=0.05$、 $1-\beta=0.80$、 効果量 = 中($d=0.5$)と仮定したとき、 必要な $n$ はいくつか?」を計算するのが最も多い使い方(事前検定力分析)。
なぜ $1-\beta = 0.80$ が慣習なのか
Jacob Cohen(1988)が「α と β の比は 1:4 が妥当」と提案したのが起源。 つまり $\alpha=0.05$ なら $\beta=0.20$ → $1-\beta=0.80$。 偽陽性(α)よりは偽陰性(β)を 4 倍許容しよう、 という非対称な姿勢の表れ。 ただしこれは「多くの分野で受け入れられている慣習」であって、 場面によっては 0.90 や 0.95 を目指すべき場合もある(医療試験、 規制対応など)。
🗺 概念マップ
検出力 (1-β) を中心に、 事前 / 事後の運用シーンと、 効果量 (d/r) ・ 有意水準 (α) ・ サンプルサイズ (n) の四変数関係を整理する。 研究計画段階での power analysis が正しい運用であり、 SSDSE-B-2026 の都道府県差検証で n=47 が固定の場合は逆算で検出可能な効果量が決まる。
statistical power
事前検出力分析
効果量 Cohen's d
有意水準 α=0.05
サンプル n=47
第2種過誤 β
G*Power / statsmodels
検出力 (1−β) の概念マップは「効果量 d / Cohen's d、 有意水準 α、 サンプルサイズ n、 検出力 1−β」の 4 要素の連動関係を中心に置き、 SSDSE-B-2026 の都道府県別データを「47 件しかない」サンプルとして見たときの検出可能効果サイズを試算するワークフローを示す。 d=0.5 (中効果)、 α=0.05、 n=47 では片側検定 1−β≈0.71 となり、 「47 件は中効果なら検出力 7 割」と把握できる。
🔗 隣接手法への橋渡し
検出力分析は研究計画 (a-priori) と事後解釈 (post-hoc) の両局面で機能する。 SSDSE-B-2026 で「東日本 vs 西日本の人口あたり医師数 (I3101) に差はあるか」を検定する前に、 効果量の見積もりからサンプルサイズを逆算するのが正しい順序。
SSDSE のように n=47 固定の場合、 検出力分析は「現状のサンプルで何が検出できるか」を逆算する道具になる (post-hoc 用途)。
🌳 手法選択フロー
検出力分析は「研究前の n 設計」か「研究後の解釈」かで使い方が変わる。 SSDSE-B-2026 のような既存データ分析では②③が中心になる。
① 研究前 (a-priori) : 目標検出力 0.8、 想定効果量 d、 α=0.05 を入力 → statsmodels.stats.power.TTestPower().solve_power() で必要 n を逆算。
② 既存データ (post-hoc) : n=47 (都道府県)、 観測 d、 α=0.05 を入力 → 検出力 1−β を計算。 0.8 未満なら「検出力不足のため有意でないからといって差がないとは言えない」と注釈。
③ 検出力不足の対処 : ペアデータ (前後比較) で n を半減 / 多変量化 (共変量で残差分散を縮小)、 メタ分析で複数研究を統合。
SSDSE-B-2026 を題材にする場合、 47 都道府県という固定 n の制約下で「検出可能な最小効果量」を逆算し、 結論の慎重さを担保する。
🔍 解説を一歩深く — 検出力は「追試の再現確率」でもある
🧭 直感 — power 0.14 の有意結果は、追試すると 7 回に 6 回「消える」
検出力の定義「本当に差があるとき、有意になる確率」は、視点を変えるとそのまま追試の再現確率 になる。 真の効果量が変わらない限り、同じ設計で追試したときに再び有意になる確率は元の研究の検出力そのものだからだ。 「有意だったのに追試で消えた」の多くは効果が消えたのではなく、最初から検出力が低くて、たまたま当たっただけ という説明がつく。
SSDSE-B-2026 の実測値で確かめる。 2023 年の高齢化率(65歳以上人口 A1303 ÷ 総人口 A1101 × 100)を、東日本 24 道県(北海道〜三重)と西日本 23 府県(滋賀〜沖縄)で比べると:
東日本 (n=24): 平均 31.16% 西日本 (n=23): 平均 32.03%
プール SD = 3.35 → Cohen's d = −0.260(小効果)
独立 t 検定: t = −0.891, p = 0.378(非有意)
この |d|=0.26 に対する検出力(α=0.05, 両側)= 0.141
仮に「西日本の方が d=0.26 だけ高齢化率が高い」が真実だとしても、 この設計では 14% しか有意にならない 。 p=0.378 という非有意は「差がない証拠」ではなく、「この虫めがねでは最初から見えないサイズだった」ことの表れである。
⚠️ 落とし穴(重要)— 有意フィルタと「勝者の呪い」: 低検出力は効果量を水増しする
本文の「post-hoc power の罠」とは別に、低検出力にはもう一つ深刻な副作用がある。 低検出力の研究で有意になった結果は、効果量が系統的に過大推定される という現象だ(Type M エラー / 勝者の呪い)。 理由は単純で、真の効果が小さいとき、有意という関門(有意フィルタ)を通過できるのは偶然大きめの差が出た標本だけ だからである。
上の実測パラメータ(平均 31.16 vs 32.03、SD 3.35、n=24/23)を真の状態と置いたシミュレーション(架空の反復実験 : seed=42、2 万回反復)では:
有意 (p<0.05) になった割合 : 14.0%(理論検出力 0.141 と一致)
有意になった回だけの平均 |d| : 0.742
→ 真値 0.260 の約 2.85 倍に水増し(Type M エラー)
有意なのに符号が逆(東>西と誤認) : 2.0%(Type S エラー)
つまり検出力 0.14 の世界では、「有意になった研究だけを信じる」と効果を 3 倍近く過大評価 し、 50 回に 1 回は方向まで逆 に結論する。 「低検出力でも、有意になったのだから結果は信頼できる」は誤りで、実際はその逆——低検出力ほど、有意になった結果こそ疑わしい 。 これが再現性の危機 で低検出力が主犯格とされる本当の理由である。
🚀 発展 — 検出力を「事後の言い訳」でなく「設計の言語」にする
MDES(最小検出可能効果量)の報告 : n が固定の SSDSE では「必要 n」の代わりに「この n で power 0.8 を出せる最小の d」を報告する。 実測の n=24/23 では MDES d = 0.835 (statsmodels TTestIndPower().solve_power() による)。 観測 d=0.26 はその 3 分の 1 以下なので、「非有意は情報量が乏しい」と設計段階から明言できる。
デザイン分析(design analysis) : Gelman & Carlin (2014) は検出力に加えて上記の Type M(過大倍率)・Type S(符号誤り率)を事前に計算することを提唱。 「有意になったとしてもどれだけ水増しされるか」まで含めて設計を評価する。
感度を上げる設計上の工夫 : n を増やせないなら、対応のある比較(同一県の 2012 年 vs 2023 年の前後比較で個体差を消す)、共変量調整で残差分散を縮小、連続量のまま扱う(2 群に離散化しない)——いずれも「実効的な効果量」を大きくして検出力を稼ぐ手段である。
ベイズ的代替 : ベイズファクターや事後分布は「有意/非有意」の二値を離れ、「差の大きさがどの範囲にありそうか」を直接述べるため、勝者の呪いの影響を受けにくい報告形式になる。
🔗 関連ページ
効果量 — 検出力計算の入力であり、勝者の呪いで歪む出力でもある
サンプルサイズ — a-priori 検出力分析の主目的
p 値 / 有意水準 — 有意フィルタの関門そのもの
仮説検定 / t 検定 — 本ページの計算例の土台
信頼区間 — 「非有意」の代わりに効果の不確かさを幅で示す報告法
多重検定 — 検定を繰り返すほど有意フィルタの歪みは増幅される
再現性の危機 — 低検出力 × 有意フィルタが生む構造問題