← 統計検定テキスト 一覧

📊 対象級:2級 | 重要度:A(頻出)

ベイズの定理 ── 条件付き確率の向きの逆転/事前→事後の更新/陽性的中率と base rate fallacy

要点(BLUF)

本文

身近な例:迷惑メールフィルタ

ベイズの定理は迷惑メールフィルタの中身そのもの。「“無料""当選”という単語が入っているメールは迷惑メールである確率が高い」——これは「迷惑メール(原因)なら”無料”という単語が出やすい(結果)」というわかっている向きの知識を、「“無料”が入っている(結果)から、これは迷惑メールか?(原因)」という知りたい向きにひっくり返している。このひっくり返しがベイズの定理。

スマホの予測変換、病気の検査、機械学習の分類器——「観測したデータから、その裏にある原因・カテゴリを推測する」場面のほぼすべてにベイズの定理が潜んでいる。

ベイズの定理とは(条件付き確率の向きを逆転する)

ベイズの定理は「結果(観測)BB がわかったときに、その原因 AiA_i である確率」を求める道具。前トピックの条件付き確率・乗法定理・全確率の定理を組み合わせるだけで出てくる、新しい仮定のいらない定理(公理から導かれる帰結)。

原因の候補 {A1,A2,,Ak}\{A_1,A_2,\dots,A_k\} が標本空間 Ω\Omega分割(排反かつ網羅、条件付き確率・独立性・全確率の定理)であるとき、観測 BB に対して

P(AiB)=P(Ai)P(BAi)j=1kP(Aj)P(BAj)\boxed{\,P(A_i\mid B)=\frac{P(A_i)\,P(B\mid A_i)}{\displaystyle\sum_{j=1}^{k} P(A_j)\,P(B\mid A_j)}\,}

要するに「知りたい向き P(AiB)P(A_i\mid B)(原因←結果)」を、「わかっている向き P(BAi)P(B\mid A_i)(結果←原因)」と「事前の確率 P(Ai)P(A_i)」だけで計算する公式。多くの場面で P(BAi)P(B\mid A_i)(原因がわかれば結果の確率は出せる)は手元にあるが、本当に知りたいのは逆向きの P(AiB)P(A_i\mid B)(結果から原因を推定したい)。その橋渡しがベイズの定理。

2分割の場合(原因が「AAAcA^c」の2通り。医療検査がこの形)はとくに頻出:

P(AB)=P(A)P(BA)P(A)P(BA)+P(Ac)P(BAc)P(A\mid B)=\frac{P(A)\,P(B\mid A)}{P(A)\,P(B\mid A)+P(A^c)\,P(B\mid A^c)}

4つの用語の対応(式の各部分に名前をつける)

ベイズの定理の各部分には決まった呼び名がある。AiA_i を「仮説(原因)」、BB を「観測データ」と読むと、式全体が「データを見て信念を更新する」という意味になる。

用語式の部分意味
事前確率(prior)P(Ai)P(A_i)データ BB を見るに持っている、原因 AiA_i の確率(信念)
尤度(likelihood)P(BAi)P(B\mid A_i)原因が AiA_i だとしたら、観測 BB がどれだけ出やすいか
周辺尤度/正規化定数(marginal likelihood, evidence)P(B)=jP(Aj)P(BAj)P(B)=\sum_j P(A_j)P(B\mid A_j)観測 BB が出る全体の確率(分母)。全確率の定理そのもの
事後確率(posterior)P(AiB)P(A_i\mid B)データ BB を見たに更新された、原因 AiA_i の確率

この4語で書き直すと、ベイズの定理は

P(AiB)事後=P(Ai)事前 P(BAi)尤度jP(Aj)P(BAj)周辺尤度(正規化定数)  P(Ai)事前 P(BAi)尤度\underbrace{P(A_i\mid B)}_{\text{事後}}=\frac{\overbrace{P(A_i)}^{\text{事前}}\ \overbrace{P(B\mid A_i)}^{\text{尤度}}}{\underbrace{\textstyle\sum_j P(A_j)P(B\mid A_j)}_{\text{周辺尤度(正規化定数)}}}\ \propto\ \underbrace{P(A_i)}_{\text{事前}}\ \underbrace{P(B\mid A_i)}_{\text{尤度}}

要するに「事後 ∝ 事前 × 尤度」。分母 P(B)P(B)ii に依存しない(どの AiA_i でも同じ値)ので、AiA_i の相対的な大小には効かない。分母の役割は「事後確率を全部足したら1になるように調整する」正規化だけ。この見方が Phase 7 のベイズ統計で連続パラメータ(確率分布)に一般化される土台になる(事前分布→事後分布の更新)。

具体例:医療検査(2級頻出・感度と的中率を区別する)

ある病気の有病率が1%P(病気)=0.01P(\text{病気})=0.01)。検査の感度90%(病気の人を陽性と判定 P(陽性病気)=0.9P(\text{陽性}\mid\text{病気})=0.9)、特異度90%(病気でない人を陰性と判定 P(陰性病気でない)=0.9P(\text{陰性}\mid\text{病気でない})=0.9、よって偽陽性率 P(陽性病気でない)=0.1P(\text{陽性}\mid\text{病気でない})=0.1)。

:陽性と出たとき、本当に病気である確率(陽性的中率)P(病気陽性)P(\text{病気}\mid\text{陽性}) は?

ベイズの定理(2分割)に代入する:

P(病気陽性)=P(病気)P(陽性病気)P(病気)P(陽性病気)+P(病気でない)P(陽性病気でない)P(\text{病気}\mid\text{陽性})=\frac{P(\text{病気})P(\text{陽性}\mid\text{病気})}{P(\text{病気})P(\text{陽性}\mid\text{病気})+P(\text{病気でない})P(\text{陽性}\mid\text{病気でない})} =0.01×0.90.01×0.9+0.99×0.1=0.0090.009+0.099=0.0090.1080.083=\frac{0.01\times0.9}{0.01\times0.9+0.99\times0.1}=\frac{0.009}{0.009+0.099}=\frac{0.009}{0.108}\approx 0.083

感度は90%もあるのに、陽性的中率はわずか約8.3%。「陽性なら90%病気」と思い込むのが典型的な誤りで、これが base rate fallacy(基準率の無視)/偽陽性のパラドックス。理由は分母の内訳を見ればわかる:本物の陽性は 0.0090.009 しかないのに、母数の大きい「病気でない99%」から出る偽陽性が 0.0990.099 もあり、偽陽性が本物を11倍も上回る。詳しい直観は後述「数式の直観的意味」。

人数で考えると一発(10000人で考えるのが2級の定石):

病気あり(100人)病気なし(9900人)
陽性90(真陽性 TP)990(偽陽性 FP)1080
陰性10(偽陰性 FN)8910(真陰性 TN)8920
100990010000

陽性的中率 =TPTP+FP=9090+990=9010800.083=\dfrac{\text{TP}}{\text{TP}+\text{FP}}=\dfrac{90}{90+990}=\dfrac{90}{1080}\approx0.083。表を作れば暗算で解ける。

感度・特異度・的中率の対応(混同行列)

医療検査の4つの数を混同行列で整理する。「何を分母にするか(縦に見るか横に見るか)」で指標の意味と向きが変わる。

病気あり病気なし
検査 陽性真陽性 TP偽陽性 FP
検査 陰性偽陰性 FN真陰性 TN
指標定義(式)向き有病率に依存?
感度(真陽性率)P(陽性病気)=TPTP+FNP(\text{陽性}\mid\text{病気})=\dfrac{\text{TP}}{\text{TP}+\text{FN}}病気→検査しない(病気の列だけで決まる)
特異度(真陰性率)P(陰性病気でない)=TNTN+FPP(\text{陰性}\mid\text{病気でない})=\dfrac{\text{TN}}{\text{TN}+\text{FP}}病気でない→検査しない
偽陽性率P(陽性病気でない)=FPTN+FP=1特異度P(\text{陽性}\mid\text{病気でない})=\dfrac{\text{FP}}{\text{TN}+\text{FP}}=1-\text{特異度}病気でない→検査しない
陽性的中率 PPVP(病気陽性)=TPTP+FPP(\text{病気}\mid\text{陽性})=\dfrac{\text{TP}}{\text{TP}+\text{FP}}検査→病気する(事前確率=有病率に引きずられる)
陰性的中率 NPVP(病気でない陰性)=TNTN+FNP(\text{病気でない}\mid\text{陰性})=\dfrac{\text{TN}}{\text{TN}+\text{FN}}検査→病気でないする

要点は 感度・特異度は「病気→検査」の向き(検査の性能、有病率に依存しない)/的中率は「検査→病気」の向き(有病率に依存する)。ベイズの定理は、検査の性能(感度・特異度)と有病率から、知りたい的中率を計算する変換になっている。

ベイズ更新のフロー

事前確率に尤度を掛け、正規化して事後確率を得る一連の流れ。

flowchart LR
  A["事前確率<br/>P(A_i)"] --> C["事前 × 尤度<br/>P(A_i)P(B&#124;A_i)"]
  B["尤度<br/>P(B&#124;A_i)"] --> C
  C --> D["正規化<br/>÷ ΣP(A_j)P(B&#124;A_j)"]
  D --> E["事後確率<br/>P(A_i&#124;B)"]
  E -.->|"次の観測では<br/>これが新しい事前"| A

点線が示すように、今回の事後確率は次の観測での事前確率になる。これが逐次更新(後述)で、Phase 7 のベイズ統計の核心。

試験での問われ方

数式の直観的意味

ベイズの定理の導出(定義+乗法定理+全確率の定理の3点セット)

新しい公理は一切使わない。前トピックまでの道具だけで導ける。

ステップ1:条件付き確率の定義を、知りたい向きで書く。 知りたいのは P(AiB)P(A_i\mid B)(観測 BB のもとでの原因 AiA_i)。条件付き確率・独立性・全確率の定理 の定義そのまま:

P(AiB)=P(AiB)P(B)(P(B)>0).P(A_i\mid B)=\frac{P(A_i\cap B)}{P(B)}\qquad(P(B)>0).

ステップ2:分子に乗法定理を使う。 同時確率 P(AiB)P(A_i\cap B) は、確率の基本(定義・加法定理・乗法定理) の乗法定理で「わかっている向き」P(BAi)P(B\mid A_i) を使って書ける。乗法定理は順番を入れ替えても成り立つ(P(AiB)=P(BAi)P(A_i\cap B)=P(B\cap A_i))から:

P(AiB)=P(Ai)P(BAi).P(A_i\cap B)=P(A_i)\,P(B\mid A_i).

要するに「AiA_i がまず起きて(P(Ai)P(A_i))、その世界で BB が起きる(P(BAi)P(B\mid A_i)」。これを分子に代入:

P(AiB)=P(Ai)P(BAi)P(B).P(A_i\mid B)=\frac{P(A_i)\,P(B\mid A_i)}{P(B)}.

ステップ3:分母 P(B)P(B) を全確率の定理で展開する。 {Aj}\{A_j\} が分割なので、条件付き確率・独立性・全確率の定理 の全確率の定理がそのまま使える:

P(B)=j=1kP(AjB)=j=1kP(Aj)P(BAj).P(B)=\sum_{j=1}^{k}P(A_j\cap B)=\sum_{j=1}^{k}P(A_j)\,P(B\mid A_j).

これを代入して完成:

P(AiB)=P(Ai)P(BAi)jP(Aj)P(BAj)\boxed{\,P(A_i\mid B)=\frac{P(A_i)\,P(B\mid A_i)}{\sum_{j}P(A_j)\,P(B\mid A_j)}\,}

3つの道具の役割が明確

なぜ「向きが逆転」できるのか。分子で乗法定理を対称な形 P(AiB)=P(Ai)P(BAi)=P(B)P(AiB)P(A_i\cap B)=P(A_i)P(B\mid A_i)=P(B)P(A_i\mid B) の左側を使い、分母で P(B)P(B) を別途求めることで、P(AiB)P(A_i\mid B)P(BAi)P(B\mid A_i) で表せた。同時確率 P(AiB)P(A_i\cap B) がどちらの向きでも分解できる対称性が、向きの逆転を可能にしている。

なぜ事前確率(有病率)が低いと的中率が下がるのか(base rate fallacy の数式的理解)

ベイズの定理の分母を見る:

P(病気陽性)=P(病気)P(陽性病気)本物の陽性P(病気)P(陽性病気)本物の陽性+P(病気でない)P(陽性病気でない)偽陽性P(\text{病気}\mid\text{陽性})=\frac{\overbrace{P(\text{病気})P(\text{陽性}\mid\text{病気})}^{\text{本物の陽性}}}{\underbrace{P(\text{病気})P(\text{陽性}\mid\text{病気})}_{\text{本物の陽性}}+\underbrace{P(\text{病気でない})P(\text{陽性}\mid\text{病気でない})}_{\text{偽陽性}}}

分母は「本物の陽性 + 偽陽性」。有病率 P(病気)=pP(\text{病気})=p とおくと:

つまり有病率が低いと、分母が偽陽性で埋め尽くされ、本物の陽性(分子)が埋もれる。「感度が高い」は病気の人の中での話で、母数の大きい健康な人から出る偽陽性の絶対数には勝てない。これが base rate fallacy。

数式で限界を見る。感度・特異度を固定して p0p\to0 とすると:

P(病気陽性)=p感度p感度+(1p)(1特異度)p000+(1特異度)=0.P(\text{病気}\mid\text{陽性})=\frac{p\cdot\text{感度}}{p\cdot\text{感度}+(1-p)(1-\text{特異度})}\xrightarrow{p\to0}\frac{0}{0+(1-\text{特異度})}=0.

有病率が0に近づくと、どんなに感度が高くても陽性的中率は0に近づく。逆に p1p\to1 なら的中率 1\to1。的中率は事前確率 pp に強く引きずられる——これがベイズの定理の本質的なメッセージで、シミュ bayes_teiri_yuubyouritsu.py の曲線がまさにこれ。

なお感度・特異度は分子・分母の「率」の部分にしか現れず pp を含まない。だから感度・特異度は有病率に依存せず、的中率だけが依存する(混同行列の表と一致)。

オッズ形式のベイズ更新(準1級・Phase 7 への布石)

2分割(AAAcA^c)のとき、AAAcA^c それぞれのベイズの定理は分母 P(B)P(B)共通

P(AB)=P(A)P(BA)P(B),P(AcB)=P(Ac)P(BAc)P(B).P(A\mid B)=\frac{P(A)P(B\mid A)}{P(B)},\qquad P(A^c\mid B)=\frac{P(A^c)P(B\mid A^c)}{P(B)}.

辺々を割ると、共通の分母 P(B)P(B) がきれいに消える:

P(AB)P(AcB)事後オッズ=P(A)P(Ac)事前オッズ×P(BA)P(BAc)尤度比(ベイズ因子)\underbrace{\frac{P(A\mid B)}{P(A^c\mid B)}}_{\text{事後オッズ}}=\underbrace{\frac{P(A)}{P(A^c)}}_{\text{事前オッズ}}\times\underbrace{\frac{P(B\mid A)}{P(B\mid A^c)}}_{\text{尤度比(ベイズ因子)}}

要するに「事後オッズ = 事前オッズ × 尤度比」。P(BA)P(BAc)\dfrac{P(B\mid A)}{P(B\mid A^c)} が**尤度比(ベイズ因子)**で、「観測 BB が、AA のときと AcA^c のときでどちらをどれだけ支持するか」を表す。面倒な分母(正規化定数)を計算せずに済むのがオッズ形式の利点。

検査の例:尤度比 =感度1特異度=0.90.1=9=\dfrac{\text{感度}}{1-\text{特異度}}=\dfrac{0.9}{0.1}=9。事前オッズ =0.010.990.0101=\dfrac{0.01}{0.99}\approx0.0101。事後オッズ =0.0101×90.0909=0.0101\times9\approx0.0909。確率に戻すと 0.09091+0.09090.083\dfrac{0.0909}{1+0.0909}\approx0.083 で、ベイズの定理の結果と一致。

逐次更新:観測 B1,B2,B_1,B_2,\dots が(AA のもとで・AcA^c のもとで)互いに独立なら、尤度比が掛け算でつながる:

事後オッズ=事前オッズ×P(B1A)P(B1Ac)×P(B2A)P(B2Ac)×\text{事後オッズ}=\text{事前オッズ}\times\frac{P(B_1\mid A)}{P(B_1\mid A^c)}\times\frac{P(B_2\mid A)}{P(B_2\mid A^c)}\times\cdots

要するに「観測を1つ得るたびに尤度比を掛けて信念を更新し、今回の事後を次回の事前にする」。前述のフロー図の点線(事後→次の事前)がこれ。Phase 7 のベイズ統計では、これが確率分布(事前分布→事後分布)の更新に一般化される。準1級では深入り不要だが、的中率の素早い計算と逐次更新の考え方を押さえておくとよい。

⚠️ 引っかけポイント・頻出論点・級ごとの差

よくある疑問

Q. 感度と陽性的中率って、結局どう違うんですか?

A. 向き(条件にするもの)が逆です。感度 P(陽性病気)P(\text{陽性}\mid\text{病気}) は「病気の人を見たとき、陽性になる割合(検査の性能)」。陽性的中率 P(病気陽性)P(\text{病気}\mid\text{陽性}) は「陽性の人を見たとき、本当に病気の割合(あなたが知りたいこと)」。縦棒の右が「条件=すでにわかっていること」です。感度は有病率に関係なく決まりますが、的中率は有病率に大きく左右されます。

Q. 事前確率(有病率)が分からないときはどうするんですか?

A. 試験では必ず与えられます。実務では、過去のデータや専門知識から見積もります。ここで大事なのは「事前確率を無視して尤度(感度)だけで判断すると base rate fallacy にハマる」ということ。「珍しいことか、ありふれたことか」という事前の情報は、結論を左右する重要な材料です。

Q. 分母が複雑で間違えそうです。コツはありますか?

A. 人数に直すのが一番確実です。「10000人いて、病気は100人、健康は9900人……」と具体的な人数で表を埋めれば、あとは足し算と割り算だけ。公式の分母を直接書くより、ミスがぐっと減ります。とくに2級では人数表が最強の武器です。

Q. 「偽陽性率」と「特異度」がこんがらがります。

A. 特異度 =P(陰性病気でない)=P(\text{陰性}\mid\text{病気でない}) は「病気でない人を正しく陰性にする率」。偽陽性率 =P(陽性病気でない)=P(\text{陽性}\mid\text{病気でない}) は「病気でない人を誤って陽性にする率」。両者は足すと1なので、偽陽性率 = 1 − 特異度。ベイズの分母に入るのは(陽性の話なので)偽陽性率のほうです。特異度90%なら偽陽性率は10%です。

Q. なぜ事後確率は「事前 × 尤度」に比例するんですか?

A. ベイズの定理の分母(正規化定数)は、ii が何であっても同じ値です。だから各原因 AiA_i の事後確率の大小関係を決めるのは分子の「事前 × 尤度」だけ。分母は「全部足して1にする」ための調整役にすぎません。だから「事後 ∝ 事前 × 尤度」と書けるのです。この見方は Phase 7 のベイズ統計でとても重要になります。

まとめ

対応するシミュレーション

ベイズの定理:陽性的中率の実測が理論値と一致

有病率を動かすと陽性的中率が変わる

関連ノート