ゼロから学ぶベイズの定理 — 99%正確な検査が、なぜコイン投げになるのか
ベイズの定理は条件付き確率をひっくり返す4つの記号であり、同時に人が確率をいちばん取り違える場所でもある。この記事は条件付き確率の定義から1行ずつ導出し、4つの部品に名前を与え、医療検査を最後の数字まで計算する——感度99%・特異度99%の検査を有病率1%の病気に使うと、陽性でも病気である確率は50%になる。最後に基準率の誤り、逐次更新、そして事前確率はどこから来るのかを扱う。
要点
- 条件付き確率 P(A|B) は、B が起きたと知った後の縮んだ世界のなかでの A の割合である。
- ベイズの定理 P(A|B) = P(B|A)P(A)/P(B) は、測れる向きの条件付き確率を知りたい向きへ反転させる。
- 分母 P(B) は全確率の法則で、A が真の経路と偽の経路の両方を足して求める。
- 感度99%・特異度99%の検査を有病率1%の病気に使うと、陽性時に病気である確率はちょうど50%になる。
- 基準率の誤りとは尤度 P(+|D) を事後確率 P(D|+) と取り違えることで、オッズ形式では証拠はオッズを掛け算する。
An Essay towards solving a Problem in the Doctrine of Chances
一次資料 — この記事の根拠
この解説の公開 2026-09-23
An Essay towards solving a Problem in the Doctrine of ChancesBayes 1763論文ページProbability Theory: The Logic of ScienceJaynes 2003論文ページ
測れる問いと、知りたい問いは逆向きになっている
検査室は、病気だとわかっている1000人に検査をかけることで、検査が「陽性」と言う頻度を教えてくれます。それは測定できて報告できる数字——検査の感度です。一方、患者が知りたいのはまったく別のことです。手元に陽性の結果があり、知りたいのは自分が病気である確率です。
この2つは同じ数ではありません。そして両者の混同は、日常の推論で起こる算数の間違いのうち、おそらくいちばん影響が大きいものです。前者は「仮説を前提としたときの証拠の確率」。後者は「証拠を前提としたときの仮説の確率」。ベイズの定理は前者を後者へ変える機械で、そのために材料をもう1つ必要とします——みんなが省いてしまう、あの材料です。
この記事では、条件付き確率の定義から定理を組み立て、式を記号ごとに分解し、4つの部品に名前を与え、そのうえで医療検査の計算を最後までやります。最後に出てくる数は、初めて見ると本当に意外だからです。
前提: 条件付き確率
事象 が起こる確率を と書きます。条件付き確率は と書き「 が与えられたときの の確率」と読み、 が起きたとすでに知っている状態で が起こる確率を表します。定義は
で、 は「 と の両方」を意味します。絵で言うと、 が起きたと知ることで、 が起きなかった結果はすべて捨てられ、あなたの世界は全体から だけに縮みます。その縮んだ世界のなかで も成り立っている部分が 。だからこの分数は「生き残った世界のうちどれだけが か」です。 で割るのは、縮んだ世界の確率の合計を1に戻すための操作です。要するに、条件付き確率とは「前提を知ったあとの世界のなかでの割合」です。
両辺に をかけると、割り算のない同じ主張——積の法則が得られます。
この式が言っているのは要するに、「 と が両方起こる確率」は「まず が起こる確率」に「 のなかで も成り立つ割合」を掛けたものだ、ということです。
ここで、「 と の両方」はどちらを先に呼ぶかを気にしないことに注目してください。 と は同じ事象です。だから積の法則は逆向きにも使えます。
同じ量に対する2つの表現。これで導出は全部です。
定理を記号ごとに読む
どちらも に等しいので、2つの右辺を等号で結びます。
そして両辺を で割ります。
これがベイズの定理です。左から右へ、文として読んでください。左辺が欲しいもの—— を見たいまの の確率。右辺の は逆向きの条件付き確率で、検査室が測れるほうです。 は何も見る前に がどれくらいありそうだったか。そして分母の は、 が成り立つかどうかに関係なく、証拠 が全体としてどれくらいありそうだったかです。要するに、「測れる向きの確率 × もともとのありやすさ」を「証拠そのもののありやすさ」で割れば、知りたい向きの確率になる、という式です。
何も仮定していないし、何も近似していません。この定理は条件付き確率の定義に対する2行の代数です。その威力はもっぱら「できること」の側にあります—— を差し出す気がある限り、条件付き確率の向きを反転できるのです。
その最後の条件に難しさが宿ります。 だけでは は決まりません。 がそもそもどれくらいありふれていたかも必要です。検査の結果は証拠であって判決ではなく、ある証拠がどれだけ考えを動かすかは、どこから出発したかに依存します。
4つの言葉
部品には名前があり、どの論文もどのライブラリもその名前を使うので、覚えておく価値があります。
事前確率(prior) : この証拠が来る前に について信じていたこと。医療の例では、病気を持つ人の割合——有病率、あるいは基準率(base rate)。
尤度(likelihood) : が真だとしたら、その証拠はどれくらい起こりやすいか。これは についての主張ではなく証拠についての主張であることに注意してください。実験が報告するのはこの数字です。
周辺尤度(marginal likelihood、証拠) : 証拠が全体としてどれくらい起こりやすいか。これはまず手渡されません。 が起こりうるすべての経路を足し上げて自分で計算します。仮説が と非 の2つなら、
これが全確率の法則で、人が省いてしまうのがこの一歩です。この式が言っているのは要するに—— が起こるのは、 が真で検査が正しく反応したから、または が偽なのに検査が反応してしまったから。どちらの経路も数に入る、ということです。
事後確率(posterior) : 証拠を織り込んだあとに について信じること。これが出力で、そして決定的に重要なことに、これは事前確率と同じ種類の確率です。だからこそ、この手続きは繰り返せます。
医療検査を、最後まで計算する
数字はこうです。ある病気は人口の1%に起きます。その検査は感度99%——病気を持つ人のうち99%が陽性になる——と特異度99%——病気を持たない人のうち99%が陰性になる——を持ちます。あなたは陽性でした。病気である確率はいくらでしょう。
を「病気を持つ」、 を「陽性になる」とします。与えられた数字を1つずつ、慎重に記号へ翻訳します。
- — 事前確率、すなわち有病率
- — 感度、これが尤度
- — 特異度。したがって偽陽性率は
- — ほとんどの人は健康
次に分母を、全確率の法則で。陽性になる経路はちょうど2つです。
先へ進む前に、この2つの項を見てください。等しいのです。病気のグループは小さい(1%)がほぼ必ず陽性になる。健康なグループは大きい(99%)がまれにしか陽性にならない——そしてこの2つの効果がぴったり打ち消し合います。陽性の半分がそれぞれのグループから来る。答えはもう見えています。
ちょうど50%。99%の確率で正しい検査が陽性を返して、残るのはコイン投げです。99%でも98%でもなく、50%。
人数で数えると具体的になります。10,000人を取ります。
- 100人が病気(1%)。そのうち99人が陽性。
- 9,900人は病気でない。そのうち1%——つまり99人——がそれでも陽性になる。
- 陽性の合計: 人。その198人のうち、実際に病気なのはちょうど99人。
。式は要りません。定理はこの表の帳尻合わせにすぎないのです。
基準率の誤り: なぜ答えは間違って感じるのか
ほとんどの人の最初の答えは「だいたい99%」です。この誤りには名前があります——基準率の誤り(base rate fallacy)——尤度 を事後確率 のように読んでしまう癖です。両者は別の問いで、定理は何が両者を橋渡しするかをはっきり示しています。基準率 です。
仕組みは2つの母集団の競争です。検査の誤り率1%は健康なグループにかかり、そのグループは病気のグループより99倍大きい。だから巨大な母集団にかかる小さな誤り率は、ごく小さな母集団にかかる高い成功率と同じだけの陽性を生みます。希少性が偽陽性を製造する——しかもその状態がどれだけ希少かに比例して、です。
ほかをすべて固定したまま、事前確率が動くと事後確率がどう動くかを見てください。
| 有病率 | |
|---|---|
| 0.1% | 9.0% |
| 1% | 50.0% |
| 10% | 91.7% |
| 30% | 97.7% |
| 50% | 99.0% |
同じ検査、同じ99%/99%の精度で、答えは9%から99%まで動きます。変わったのは検査ではなく、問いの文脈だけです。だからこそ、まれな病気について全人口をスクリーニングすれば偽陽性の洪水が起き、同じ検査をすでに症状がある人に使えば——そこでの事前確率は1%ではなく30%程度かもしれません——本当に情報になるのです。そして「この検査は99%正確です」がそれ単独ではあなたの結果について何も意味のあることを言っていない理由も、これです。
頭のなかに置いておくのにいちばんきれいな形は、定理のオッズ形式です。 についてのベイズ式を についてのそれで割ると、扱いにくい が消えます。
今回の場合、事前オッズは 、尤度比は 。かけると 、つまり事後オッズは ——確率50%が1行で出ます。読み方は明快です。証拠はオッズを掛け算する。 尤度比99の検査はあなたを99倍動かし、99分の1から99倍動いた先はちょうど五分五分。1つだけ持ち帰るなら、これです——証拠の強さは倍率であり、だから答えは常にどこから出発したかに依存します。
逐次更新: 今日の事後確率が明日の事前確率になる
事後確率は事前確率と同じ種類の確率なので、そのまま入力に戻せます。2回目の、独立した検査を受けてこれも陽性だったとしましょう。あなたの事前確率はもう1%ではなく、いま計算した50%です。
要するに、2回目の計算は1回目とまったく同じ式で、出発点(事前確率)だけが1%から50%に入れ替わっています。
陽性2回で99%に達します。オッズ形式なら即座です——事後オッズ 、すなわち 。独立した証拠のそれぞれがオッズを自分の尤度比で掛けるので、証拠は複利で積み上がる。かけ算は可換なので順序が関係ないことにも注目してください。医師がスクリーニングの結果を1回で信じずに別の2回目の検査で確認するのはこのためで、データが届くたびに信念を改訂するあらゆるオンライン学習システムの裏にあるのも同じ仕組みです。
その「独立」という語に注意が1つ埋まっています。2つの検査が同じ理由で失敗するなら——血液中の同じ干渉物質、同じラベル間違いの検体——2回目の陽性は99という倍率よりずっと小さな情報しか運ばず、尤度比をかけ算すると確信をひどく過大に見積もります。
落とし穴
事前確率は避けて通れない。 ベイズに対する最もよくある不満は「事前確率が主観的だ」で、最もよくある失敗はそれに応えて事前確率を省くことです。省くと、暗黙に50/50を仮定したことになります。それは中立ではありません。有病率1%の病気で50/50を仮定するのは、具体的でひどく間違った主張であり、人が答えてしまう「99%」を生み出しているのはまさにそれです。基準率が手に入らないときの誠実な手は、使った事前確率を明示し、もっともらしい範囲で結論がどう変わるかを見せること——上の表がやっているとおりです。
感度と特異度は別物で、どちらも「精度」ではない。 検査の2つの誤り率は独立したダイヤルで、「99%正確」という1つの数字はそれがどちらなのかを隠します。もっと悪いことに、まれな病気では「常に陰性と答える」だけの検査が全体精度99%を達成してしまいます——感度は0なのに。2つの数を必ず別々に聞いてください。
陰性の結果もベイズ更新であり、ふつうは非常に強い更新です。 同じ検査で 、およそ9,800人に1人。この非対称性はじっくり味わう価値があります。まれな病気では、同じ検査が陰性のときはほぼ決定的で、陽性のときはほぼ役に立たない。希少性は「除外する」のを助け、「確定する」のを邪魔します。
ベイズと頻度論は違う問いに答えている。 頻度論の p値は ——尤度の風味を持つ量です。これは帰無仮説が真である確率ではありませんし、一方を他方に変換するには事前確率が必要で、p値はそれを含んでいません。「」を「99%の確率で効果は本物」と読むのは、基準率の誤りが学術の衣装を着たものです。詳しくは仮説検定とA/Bテストへ。
連続なパラメータでは、分母は積分になる。 2択の仮説ではなくパラメータ を相手にすると となり、この積分はふつう解析的に解けません。ベイズ計算の重い機械——MCMC、変分推論——はすべて、この1つの項を迂回するために存在します。モンテカルロ法を参照してください。
現場ではこう使う
ベイズの定理を名前で呼ぶ場面は少なくても、その計算は現場のあちこちで毎日行われています。代表的な場面を4つ挙げます。
1. 異常検知・不正検知のアラートを設計するとき(データサイエンティスト、SRE、不正対策の担当)。 「検知率99%・誤報率1%」の検知器を、不正が1万件に1件しかない取引に当てると、アラートの大半は誤報になります。これは医療検査とまったく同じ計算で、分母の偽陽性の項が巨大な正常母集団にかかるからです。検知器を評価するときは、再現率(recall=感度)だけでなく適合率(precision)を本番の陽性率で見積もること。適合率は 、すなわち事後確率そのもので、本番の基準率が変わればそれだけで動きます。人がアラートを1件ずつ確認する運用なら、この数字が現場の負荷を決めます。
2. 分類器の出力確率を扱うとき(機械学習エンジニア)。 不均衡なデータをオーバーサンプリングやクラス重み(scikit-learn の class_weight="balanced" など)で釣り合わせて学習すると、モデルが学ぶ事前確率は本番の基準率とずれます。出力された predict_proba を「本番での確率」として閾値や意思決定に使うと、陽性を系統的に過大評価します。事前確率のずれは、オッズ形式どおり事後オッズに「本番の事前オッズ ÷ 学習時の事前オッズ」を掛けて補正できます。確率そのものを使う用途なら、本番に近い分布の検証データで較正(CalibratedClassifierCV など)してから使います。
3. テキスト分類の最初の一手として(NLP・検索の担当)。 ナイーブベイズはベイズの定理に「特徴は条件付き独立」という仮定を足しただけの分類器で、スパム判定や問い合わせの振り分けの基準線として今も使われます。scikit-learn の MultinomialNB で実際に触るのは、未出現の単語で尤度が0になるのを防ぐ平滑化の alpha、事前確率を学習データから推定するかどうかの fit_prior、事前確率を直接与える class_prior です。「条件付き独立」は本記事の逐次更新と同じ仮定で、相関した特徴(同じ内容の言い回し違いが並ぶなど)があると確信度を過大に出します。順位付けには使えても、出力確率をそのまま信じてはいけない理由がこれです。
4. A/Bテストの結果を報告するとき(アナリスト、プロダクト担当)。 「p値0.01だから99%の確率で効果あり」という報告は、落とし穴の節で見た取り違えそのものです。「効果がある確率」を言いたいなら事前確率を明示したベイズ的な分析が必要で、そうでなければp値は「効果がないと仮定したとき、このデータがどれだけ珍しいか」として報告します。
知らないと事故になる落とし穴。 学習・評価時と本番とで基準率が変わる(季節で不正率が変わる、対象ユーザーを絞り込む、など)と、モデルも検知器も何ひとつ変えていないのに適合率が大きく動きます。尤度(感度・誤報率)は検知器の性質でも、事後確率は検知器と母集団の組み合わせの性質です。アラートの質が急に落ちたら、まず母集団の基準率が動いていないかを疑ってください。
面接や設計レビューで問われる問い。 「感度・特異度とも99%の検知器を、陽性率0.1%のデータに使ったときの適合率は?」が定番です。答えの筋道は、10,000件あたりの件数表を作る(真陽性およそ10、偽陽性およそ100)→ 適合率は約9% → だから二段階の確認や閾値の見直しが要る、まで言えれば十分です。もう1つは「学習データを釣り合わせたモデルの確率をそのまま使ってよいか」で、答えは「事前確率がずれているので、補正か較正が必要」です。
まとめ
- 条件付き確率 は世界を に縮めて正規化し直す。積の法則を両向きに使えば、定理は2行で出る
- が条件付き確率をひっくり返す——事前確率、尤度、周辺尤度、事後確率
- 分母には全確率の法則 が必要で、ここがいちばん省かれる一歩
- 感度99%・特異度99%の検査を有病率1%の病気に使うと 。大きな健康グループからの偽陽性が、小さな病気グループからの真陽性とぴったり同数になるから
- 基準率の誤りとは を と取り違えること。オッズ形式「事後オッズ = 尤度比 × 事前オッズ」なら、基準率への依存を見落とすことができない
- 事後確率は事前確率になるので、独立な証拠はオッズを掛け算する——2回目の陽性は50%を99%へ運ぶ
事前・事後を実務でどう扱うかの全体像はベイズ的に考えるへ。モデルの内側でこれがどう現れるかはAIにおけるベイズの定理、その下地となる確率論はAIのための確率・統計へ。
確認問題
- 同じ検査(感度99%、特異度99%)ですが、病気は1,000人に1人に起きるとします。 を正確に計算し、その結果をオッズ形式を使って1文で説明してください。
- メーカーが検査を改良し、感度は99%のまま特異度が99.9%に上がりました。有病率を1%に戻したとき はいくらになりますか。2つの誤り率のどちらがボトルネックだったのか、そしてそれはなぜですか。
- あるクリニックでは、検査を受ける人の30%がすでに病気と整合する症状を持っています。検査はもとの99%/99%のものです。このグループの患者が陽性でした。事後確率を計算してください。そのうえで、同じ検査が人口スクリーニング事業からは「役に立たない」と呼ばれ、このクリニックからは「信頼できる」と呼ばれうる理由を説明してください。
- 同僚がこう主張します。「陽性2回のあとの事後確率は99%だから、3回目の陽性なら99.99%になる。つまりどんな検査でも十分に繰り返せば確実になる」。3回目の更新を計算し、そのうえで彼の結論が依存している仮定と、それが現実に崩れる道を1つ挙げてください。
解答
- なので 。、よって 、およそ 9.0%。オッズ形式で言うと、事前オッズ 、尤度比99、事後オッズ ——証拠はオッズを99倍にしたが、出発点が1000倍不利だったので追いつけなかった。陽性のうち真陽性より偽陽性が10倍多いということです。
- 偽陽性率が に下がります。、よって 、およそ 90.9%——片方の誤り率を10倍改善しただけで50%から跳ね上がりました。ボトルネックは特異度です。偽陽性率は大きな健康人口にかけ算されるので、それを縮めれば偽陽性の10分の9が消えます。感度は小さな病気グループにしか作用しないので、すでに99%あるそれを改善しても真陽性は最大1%ぶんしか増えません。まれな状態では、効く数字はほぼ常に特異度です。
- 、。、よって 、およそ 97.7%。検査は両方の設定で同一で、違うのは事前確率だけです。スクリーニングは基準率が約1%のところで使うので、陽性の大半は巨大な健康多数派からの偽陽性になる。クリニックは基準率が約30%のところで使うので、細い偽陽性の流れは真陽性に飲み込まれる。診断法の有用性は、検査とそれを向けた母集団の両方の性質であって、決して検査だけの性質ではありません。
- 陽性2回のあとの事前オッズは 。3回目の独立な陽性がさらに99倍して 、すなわち 、99.99%——彼の算数は正しいです。彼の結論が依存しているのは、検査が真の状態を条件として独立であること。つまりどの陽性も互いに無関係な引きでなければなりません。現実にはそうではありません。患者が検査系と交差反応する物質を持っていたり、検体が最初の段階で取り違えられていたり、3回すべてが同じ不良ロットの試薬を使っていたりすれば、2回目と3回目の結果は1回目のほぼ複製で、新しい情報をほとんど運びません。相関した繰り返しの実効的な尤度比は99をはるかに下回るので、本当の事後確率は確実性のはるか手前で足踏みします。確認に同じ検査を3回ではなく別の検査を使うのは、このためです。
コメント
コメントにはログインが必要です