医療統計学・医療情報学・遠隔医療

医療統計学・医療情報学・遠隔医療 · 09

多重比較 — 多重性の問題・Bonferroni法・FDR

The Multiplicity Problem: Bonferroni, Holm, and the False Discovery Rate

🧠 全体像:検定を1回行うたびに、「の有意」を引く抽選券を1枚買っている。α=5%\alpha = 5% なら20枚に1枚が当たる。20回検定すれば、真実がすべて「差なし」でも、およそ1回は有意になる。問題の本質は数学ではなく報告にある。当たった券だけが論文になり、外れた19枚は誰にも見えない。だから読者には「何枚買ったのか」が分からない。

検定を重ねると何が起こるか

mm 回の互いに独立な検定を、すべて H0 が真の状況で行うとする。

確率
1回の検定で誤って有意とする α\alpha
1回の検定で誤らない 1−α1-\alpha
mm 回すべてで誤らない (1−α)m(1-\alpha)^m
mm 回のうち少なくとも1回誤る 1−(1−α)m1-(1-\alpha)^m

⭐ この最後の量を family-wise error rate(FWER、族単位の過誤率) と呼ぶ。

FWER  =  1−(1−α)m\mathrm{FWER} \;=\; 1-(1-\alpha)^{m}

α=0.05\alpha = 0.05 のときの値を並べると、増え方の速さが見て取れる。

検定数 mm 1 2 3 5 10 18 20 50 100
FWER 5.0% 9.8% 14.3% 22.6% 40.1% 60.3% 64.2% 92.3% 99.4%

💡 m=20m = 20 で FWER が 64% になるのは直感に反するが、「20回に1回当たる」は「20回引けば必ず1回当たる」ではないからである。1回も当たらない確率は 0.9520=0.3580.95^{20} = 0.358 なので、当たる確率は 64.2%。m=14m = 14 で既に 50% を超える。

xychart-beta
    title "検定回数と、少なくとも1つ誤って有意になる確率"
    x-axis "検定の回数 m" [1, 2, 3, 5, 10, 15, 20, 30, 50, 100]
    y-axis "FWER" 0 --> 1
    line [0.05, 0.098, 0.143, 0.226, 0.401, 0.537, 0.642, 0.785, 0.923, 0.994]
    line [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05]

立ち上がる線が無補正の FWER、水平のままの線が Bonferroni 補正後(定義上つねに α\alpha 以下に抑えられる)。

曲線が最初の数回で最も急に立つことに注意する。mm が 1 から 5 に増えるだけで 5% → 22.6% と4倍以上になる。「たった数回の検定だから補正は要らない」という感覚は、このの部分を見ていない。逆に mm が大きい領域では曲線は 1 に貼りついて平らになる——すでに「ほぼ確実に誤りが混じる」状態なので、そこから検定を足しても事態は変わらない。

独立性の仮定について

この式は検定どうしが独立であることを前提にしている。「検定が独立でないので、FWER はさらに高くなりうる」と説明されることがあるが、正の相関を持つ検定どうしでは、むしろ独立の場合より低くなるのがふつうである。極端な例として、まったく同じ検定を mm 回繰り返せば結果は完全に一致するので FWER は α\alpha のままである。

⚠️ ただしは変わらない。検定を増やすほど「少なくとも1つ誤って有意になる」確率が上がることは、相関の有無にかかわらず成り立つ。1−(1−α)m1-(1-\alpha)^m は独立を仮定した目安であり、正確な値ではない。

具体例 — 「チョコレートで痩せる」

2015年、「低炭水化物ダイエット中に毎日チョコレートを食べた人は、10% 速く痩せた」という研究がヨーロッパ最大の日刊紙の1面を飾った。研究者本人は「報告した統計的に有意な効果は、実際のデータにもとづいている」と述べている。データも検定も捏造されていない。 では何が起きたのか。

研究の構成 数
15人(低炭水化物群/低炭水化物+チョコレート群/対照群の3群に)
測定項目 18項目(体重、コレステロール、ナトリウム、血中タンパク、睡眠の質、well-being など)

m=18m = 18 のとき FWER は 60.3% である。つまり効果がまったく存在しなくても、6割の確率でどれか1つは「有意」になる。研究者は当たった1つ(体重減少)だけを報告した。

flowchart TD
  A["15人・18項目を測る"] --> B["18回の検定を行う"]
  B --> C["どれか1つは有意になる<br>(確率 60%)"]
  C --> D["有意だった1項目だけを報告する"]
  D --> E["読者には<br>「1回の検定で p < 0.05」<br>にしか見えない"]
  E --> F["⚠️ 検定の総数が隠れると<br>p値は意味を失う"]

⚠️ 問題は「18回検定したこと」ではなく「18回検定したと書かなかったこと」である。 探索的に18項目を見ること自体は正当な研究行為である。悪いのは、選んだあとの p値を、選ぶ前の p値であるかのように提示することである。米国統計学会が「解析の全体を報告せよ」を原則の1つに掲げるのは、これを指している1。

多重性はどこに潜んでいるか

⚠️ 「複数のを検定した」以外にも、多重性はな解析手順の中に紛れ込む。されないものほど危険である。

潜んでいる場所 中身
複数の 18項目を測る。最も分かりやすい形
全体では有意でなかったので、性別・年齢層・重症度で切り直す
試験の途中で何度も検定し、有意になった時点で止める
複数の時点 3か月・6か月・12か月で同じを検定する
3群以上の総当たり比較 kk 群なら k(k−1)/2k(k-1)/2 回。4群で6回、5群で10回
前提条件の事前検定 t検定の前に正規性検定、Welch の前に F検定。それ自体が1回の検定である
解析方針の分岐 外れ値を除くか、をするか、共変量を入れるか。選択肢の数だけ「見えない検定」が増える

💡 最後の2つが特に重要である。講義が t検定 の説明で繰り返し「正規性を検定するな」「分散を検定するな」と述べているのは、多重性が理由である。データを見てから解析方法を選ぶ行為はすべて、暗黙の多重検定になる。

3群以上を比べたいときに t検定を総当たりで繰り返さない。 3群なら3回、4群なら6回の検定になり FWER がする。まず分散分析(ANOVA)で「どこかに差があるか」を1回で判定し、そのうえで補正付きの事後比較に進むのが標準的な手順である。

出版バイアス — 多重性を見えなくする仕組み

⚠️ 有意でない結果は投稿されず、投稿されても採択されにくい。したがって科学界全体としては、何回の検定が行われたのか誰にも分からない。分かるのは何回が有意だったかだけである。

flowchart TD
  A["世界中で同じ仮説が<br>20の研究室で検定される"] --> B["19研究室:有意でない"]
  A --> C["1研究室:<span class='jp-term jp-term-diagram' title='chance'>偶然</span> p < 0.05"]
  B --> D["⚠️ 発表されない<br>(ファイルの引き出しに眠る)"]
  C --> E["発表される"]
  E --> F["文献を読むと<br>「この効果は再現されている」<br>ように見える"]

💡 これが file drawer problem(引き出し問題) である。個々の研究者が誠実でも、発表という選択フィルタが系統的な偏りを作る。事前登録(clinical trial registration、プレレジストレーション)が求められるようになったのは、この仕組みを断ち切るためである。

補正の方法

FWER を制御する方法

方法 やること 性質
Bonferroni 各検定を α/m\alpha/m と比べる(または各 p値を mm 倍する) 最も単純。保守的。検定の独立性を仮定しない
Šidák 各検定を 1−(1−α)1/m1-(1-\alpha)^{1/m} と比べる Bonferroni よりわずかに緩い。独立性を仮定する
Holm(逐次的 Bonferroni) p値を小さい順に並べ、ii 番目を α/(m−i+1)\alpha/(m-i+1) と比べる。初めて超えた時点で以降すべて非棄却 Bonferroni より必ず強い(等しいか、より多く棄却する)。仮定も同じ

Bonferroni 補正はこう書ける。

αeach=αmまたは同値にpadj=min⁡(1,  m⋅p)\alpha_{\text{each}} = \frac{\alpha}{m} \qquad\text{または同値に}\qquad p_{\text{adj}} = \min(1,\; m \cdot p)

💡 なぜこれで足りるのか。Boole の不等式(和事象の確率は各事象の確率の和以下)から、次の関係が相関の有無によらず成り立つ。

FWER  ≤  ∑i=1mαm  =  α\mathrm{FWER} \;\le\; \sum_{i=1}^{m} \frac{\alpha}{m} \;=\; \alpha

⭐ 仮定を一切置かないぶん、必ずを取りすぎる。これが Bonferroni が保守的である理由そのものである。

Holm 法は Bonferroni 法を無条件に置き換えてよい。 同じ仮定のもとで、棄却する仮説の集合は必ず Bonferroni 以上になる。「Bonferroni は保守的すぎる」という批判の一部は、Holm を使うだけで解消する。

FDR を制御する方法

⭐ 発想の転換がある。「1つでも偽陽性を出したくない」(FWER)のではなく、「有意と判定したものの中に偽陽性が何割混じるかを抑えたい」(FDR) と考える。

FWER FDR(偽発見率)
制御する量 偽陽性を少なくとも1つ出す確率 棄却した仮説のうち偽陽性が占める割合の期待値
適する場面 検定が数個〜数十個。1つの誤りが重大(確認的試験) 検定が数百〜数万個。探索的(遺伝子発現、画像のボクセル、多数の)
検出力 低い(mm が大きいと壊滅的) 高い

Benjamini–Hochberg 法(BH法) の手続きは次のとおり2。p値を昇順に p(1)≤⋯≤p(m)p_{(1)} \le \dots \le p_{(m)} と並べ、

k=max⁡{ i  :  p(i)≤im α }k = \max\left\{\, i \;:\; p_{(i)} \le \frac{i}{m}\,\alpha \,\right\}

を求め、p(1),…,p(k)p_{(1)}, \dots, p_{(k)} をすべて棄却する。

💡 閾値が ii に比例して緩んでいくのがポイントである。1番小さい p値には Bonferroni と同じ α/m\alpha/m を課すが、順位が下がるにつれて閾値が上がる。だから「本物の効果がたくさんある」状況で、Bonferroni より多くを拾える。

3つの手続きの比較

m=6m = 6 個の p値 {0.001, 0.009, 0.011, 0.030, 0.048, 0.200}{0.001,\ 0.009,\ 0.011,\ 0.030,\ 0.048,\ 0.200}、α=0.05\alpha = 0.05 で比べる。

順位 ii p値 Bonferroni の閾値 α/m\alpha/m Holm の閾値 αm−i+1\dfrac{\alpha}{m-i+1} BH の閾値 imα\dfrac{i}{m}\alpha
1 0.001 0.00833 ✓ 0.00833 ✓ 0.00833 ✓
2 0.009 0.00833 ✗ 0.01000 ✓ 0.01667 ✓
3 0.011 0.00833 ✗ 0.01250 ✓ 0.02500 ✓
4 0.030 0.00833 ✗ 0.01667 ✗ 停止 0.03333 ✓
5 0.048 0.00833 ✗ — 0.04167 ✗
6 0.200 0.00833 ✗ — 0.05000 ✗
棄却数 1 3 4

⭐ 同じデータ・同じ α\alpha で棄却数が 1・3・4 と変わる。 どの補正を使うかをデータを見る前に決めておく必要があるのは、このためである。

⚠️ BH法の注意点。i=5i = 5(p = 0.048)は閾値 0.04167 を超えるので棄却されないが、i=4i = 4 までは棄却される。BH法は「初めて超えたところで止める」のではなく「条件を満たす最大の ii を探し、そこまで全部棄却する」手続きである。Holm と逆向きに走る点を取り違えないこと。

from statsmodels.stats.multitest import multipletests
p = [0.001, 0.009, 0.011, 0.030, 0.048, 0.200]
for m in ("bonferroni", "holm", "fdr_bh"):
    rej, p_adj, _, _ = multipletests(p, alpha=0.05, method=m)
    print(m, rej.sum(), p_adj.round(4))     # 棄却数と補正後p値 → 1, 3, 4

補正は万能ではない

Bonferroni 補正には強い批判がある3。

批判 中身
第2種の過誤が増える α\alpha を α/m\alpha/m に下げれば検出力が落ちる。実在する効果を見逃す確率が上がる。mm が大きいと実質的に何も検出できなくなる
「族」の定義が恣意的 どこまでを1つの比較族とみなすのか。1つの論文の中の検定? その研究プロジェクト全体? その研究者が生涯に行った全検定? 論理的な境界がない
解釈が転倒する 「同じ p値でも、一緒に検定した項目が多かったという理由だけで有意でなくなる」。ある結果の意味が、な他の検定の数に左右されてしまう

⭐ したがって多重性への第一の対処は補正ではなく設計である。

flowchart TD
  A["多重性への対処"] --> B["⭐ 第一:設計で防ぐ"]
  B --> C["<span class='jp-term jp-term-diagram' title='primary endpoint'>主要評価項目</span>を<br>ただ1つ事前に決める"]
  B --> D["解析計画を事前登録する<br>(何をどう検定するか)"]
  B --> E["副次項目は<br>探索的と明示する"]
  A --> F["第二:補正で調整する"]
  F --> G["検定が少数<br>→ Holm(Bonferroniより常に強い)"]
  F --> H["検定が多数・探索的<br>→ Benjamini–Hochberg(FDR)"]
  A --> I["第三:報告で守る"]
  I --> J["行った検定の総数を書く"]
  I --> K["補正前と補正後の<br>両方の p値を示す"]

⚠️ 事前にを1つ決めておけば、多重性の問題はについては発生しない。 残りは「仮説を生成するための探索的解析」と明記する。探索的な有意所見は次の研究で確認されるまでにならない。これがで primary endpoint を1つに絞る理由である。

論文と出力をどう読むか

💡 多数の p値が並んでいるときの読む順序

  1. はどれか — 事前に1つ決められていたか。決められていなければ、以下の p値はすべて探索的である
  2. 検定は全部で何回行われたか — 数 × 時点数 × サブグループ数。書かれていなければ、それ自体がである
  3. 効果量とその — 補正は p値を動かすが、効果量は動かさない。効果量と CI は多重性に汚染されていない
  4. 臨床的relevance — 有意になった項目の効果は、そもそも意味のある大きさか
  5. 補正の有無と方法 — 補正前の p値だけが示されていないか
  6. p値 — 最後

⚠️ 「20項目のうち1つだけが p = 0.04 で有意だった」という結果は、何も示していないと読むのが正しい。

補正は p値を変えるが、効果量とは変えない(信頼水準を調整しない限り)。だから多重性の疑いがある論文でも、効果量と CI を見れば「何がどれくらい起きたのか」は読み取れる。p値を追いかけるのをやめると、多重性の害の大部分が自動的に消える。これが 仮説検定の論理 と 統計的議論の組み立て を貫く一本の筋である。

まとめ

  • 検定を mm 回行うと、H0 がすべて真でも FWER=1−(1−α)m\mathrm{FWER} = 1-(1-\alpha)^m の確率で少なくとも1回は誤って有意になる。α=0.05\alpha = 0.05 で m=18m = 18 なら 60%、m=20m = 20 なら 64%。
  • この式は独立を仮定した目安である。正の相関があればふつう FWER はこれより低いが、増えること自体は変わらない。
  • 「チョコレートで痩せる」の例:15人・18項目。捏造ではなく、18回検定して当たった1つだけを報告した。問題は検定の数ではなく、その数を書かなかったこと。
  • 多重性は・・複数時点・総当たり比較・前提条件の事前検定・解析方針の分岐にも潜む。t検定の前に正規性や分散を検定しないのは、これが理由である。
  • が多重性を見えなくする。有意でない結果は発表されないので、文献からは検定の総数が読み取れない。
  • Bonferroni(α/m\alpha/m)は仮定を置かないぶん保守的。Holm 法は同じ仮定で必ず Bonferroni 以上に棄却するので、無条件に置き換えてよい。
  • 検定数が多いときは Benjamini–Hochberg 法(FDR)。p(i)≤imαp_{(i)} \le \frac{i}{m}\alpha を満たす最大の ii まで棄却する。「1つも間違えない」から「間違いの割合を抑える」への発想の転換。
  • Bonferroni 批判:検出力が落ちる、「族」の定義が恣意的、な検定の数でが変わる。
  • 第一の防御は補正ではなく設計 — を1つ事前に決め、解析計画を事前登録する。
  • 補正は p値を変えるが、効果量とは変えない。 効果量と CI を中心に読めば、多重性の害の大部分は避けられる。

出典

  1. 1.The ASA Statement on p-Values: Context, Process, and Purpose(The American Statistician (American Statistical Association)・2016)実施した解析と検定の全数を報告せずに有意な結果だけを選んで示すこと(選択的報告・p-hacking)がp値を無意味にすること、およびp値が解析の恣意性から独立ではないこと閲覧 2026-08-17
  2. 2.Controlling the False Discovery Rate: A Practical and Powerful Approach to Multiple Testing(Journal of the Royal Statistical Society Series B (Statistical Methodology)・1995)偽発見率(FDR)=棄却した仮説のうち誤って棄却したものの期待割合という概念の定義と、それを制御する逐次的手続き(Benjamini–Hochberg法)。検定数が多いときFWER制御より検出力が高いこと閲覧 2026-08-17
  3. 3.What's wrong with Bonferroni adjustments(BMJ・1998)Bonferroni補正が第2種の過誤を増やし検出力を著しく下げること、および「どこまでを1つの比較族とみなすか」の定義が恣意的であるという批判閲覧 2026-08-17