あなたは 「確率論の中心」 にいる用語ページを見ています。 条件付き確率は 仮説検定 の p 値、 ロジスティック回帰 の出力、 機械学習 の事後分布、 すべての基礎です。
| 上位概念 | 確率 / 確率測度 |
|---|---|
| 同列概念 | 同時確率 / 周辺確率 / 独立性 |
| 下位応用 | ベイズの定理 / 条件付き期待値 / マルコフ性 |
| 前提知識 | 集合 / 確率の公理 / 平均 |
サイコロを 1 回振る。 出た目が 偶数 だと教えられたとき、 「6 が出た確率」は? 普通なら 1/6 ですが、 偶数(2, 4, 6)に絞られたので 1/3 になります。 これが条件付き確率です。 追加情報で確率が更新される 現象を表します。
「全体集合の縮小」と考えると分かりやすい:イベント B が分かったので、 私たちはもう「全 6 通り」を見ているのではなく、 「B に含まれる通り」だけを見ている。 その中で A が起こる割合が $P(A|B)$ です。
日常例:「雨が降った日(B)」のうち「傘を差した日(A)」が 80% なら $P(A|B)=0.8$。 雨が降っていない日も含めた全日のうち「雨も傘もあり」は $P(A \cap B)$ で、 これを「雨の日 $P(B)$」で割って $0.8$ となります。
| 表記 | 読み方 | 意味 |
|---|---|---|
| $P(A)$ | A の確率 | 何も条件無しでの A の確率 |
| $P(A \cap B)$ | A かつ B | 両方同時に起こる確率 |
| $P(A | B)$ | B のときの A の確率 | B 起こった条件下での A の確率 |
| $P(A) = P(A|B)$ | 独立 | 条件が無関係 |
事象 $B$ ($P(B)>0$) が起こったときの事象 $A$ の条件付き確率:
$$P(A | B) = \frac{P(A \cap B)}{P(B)}$$
乗法定理(積の公式):
$$P(A \cap B) = P(B) P(A|B) = P(A) P(B|A)$$
ベイズの定理:
$$P(A | B) = \frac{P(B | A) P(A)}{P(B)}$$
全確率の定理(分割 $\{B_i\}$ が $\Omega$ を覆い、 互いに排反):
$$P(A) = \sum_{i} P(A | B_i) P(B_i)$$
独立性の定義:
$$A \perp B \iff P(A \cap B) = P(A) P(B) \iff P(A|B) = P(A)$$
条件付き期待値:
$$E[Y | X = x] = \int y \cdot p(y | x) \, dy$$
| 記号 | 意味 | 具体例 |
|---|---|---|
| $A, B$ | 事象 | 「人口減少県」「政策実施」 |
| $A \cap B$ | 共通部分 | 両方が起こる |
| $P(B)$ | B の周辺確率 | 分母(新しい全体集合) |
| $P(A|B)$ | B 条件下の A | 更新された確率 |
| $P(A)$ | 事前確率 | 何も知らないときの確率 |
| $P(B|A)$ | 尤度 | A 起こったとき B が起こる確率 |
ベイズの定理は 「事前 × 尤度 = 事後(正規化定数で割る)」。 「A は理論的にどれくらいあり得るか」(事前) と「A なら B はどれくらい説明できるか」(尤度) を掛け、 周辺確率 $P(B)$ で正規化して「B を見たあとの A の確率」(事後) を得ます。
47 都道府県のうち、 直近年(2023 年)の特性を分類:
事象を定義:A = 人口減少県、 B = 三大都市圏。
$$P(A) = 40/47 = 0.851, \quad P(B) = 11/47 = 0.234, \quad P(A \cap B) = 7/47 = 0.149$$
$$P(A | B) = \frac{P(A \cap B)}{P(B)} = \frac{7/47}{11/47} = 7/11 \approx 0.636$$
$$P(A | \bar{B}) = \frac{33/47}{36/47} = 33/36 \approx 0.917$$
| 人口減少 A | 人口増加 $\bar{A}$ | 計 | |
|---|---|---|---|
| 三大都市圏 B | 7 | 4 | 11 |
| それ以外 $\bar{B}$ | 33 | 3 | 36 |
| 計 | 40 | 7 | 47 |
「三大都市圏なら 63.6% の確率で人口減少」「地方圏なら 91.7%」と、 条件付け対象によって確率がぐっと変化します。 事前確率 85.1% との差が 都市圏が人口減少を緩和している 統計的証拠です。
$$P(B|A) = \frac{P(A|B)P(B)}{P(A)} = \frac{0.636 \times 0.234}{0.851} = 0.175$$
人口減少県の中で都市圏なのは 17.5%。 分割表でも $7/40=0.175$ で一致。 ベイズの定理の整合性が確認できます。
SSDSE-B-2026 で条件付き確率と分割表を計算します。
import pandas as pd
import numpy as np
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', skiprows=1, encoding='cp932')
# 「人口減少県」を定義 (2018 - 2023 で総人口が減ったか)
pop_change = df.pivot(index='都道府県', columns='年度', values='総人口')
pop_change['減少'] = (pop_change[2023] < pop_change[2018]).astype(int)
# 「三大都市圏」フラグ
metro = ['東京都','神奈川県','埼玉県','千葉県',
'大阪府','京都府','兵庫県','奈良県',
'愛知県','岐阜県','三重県']
pop_change['都市圏'] = pop_change.index.isin(metro).astype(int)
# 分割表
crosstab = pd.crosstab(pop_change['都市圏'], pop_change['減少'])
print(crosstab)
# 条件付き確率の計算
n = len(pop_change)
p_A = pop_change['減少'].mean()
p_B = pop_change['都市圏'].mean()
p_AB = ((pop_change['減少']==1) & (pop_change['都市圏']==1)).mean()
p_A_given_B = p_AB / p_B
p_B_given_A = p_AB / p_A
print(f"P(A)={p_A:.3f}, P(B)={p_B:.3f}, P(A∩B)={p_AB:.3f}")
print(f"P(減少|都市圏)={p_A_given_B:.3f}")
print(f"P(都市圏|減少)={p_B_given_A:.3f}")
# 独立性のカイ二乗検定
from scipy.stats import chi2_contingency
chi2, pval, dof, exp = chi2_contingency(crosstab)
print(f"χ²={chi2:.3f}, df={dof}, p={pval:.4f}")
# p が小さいと「都市圏フラグと人口減少フラグは独立でない」と判定
# ベイズの定理を直接計算 (尤度比形式)
# 例: 出生率「高い/低い」と人口「増/減」の関係
pop_change['出生率高'] = (df.groupby('都道府県')['合計特殊出生率'].last() > 1.4).astype(int)
ct = pd.crosstab(pop_change['出生率高'], pop_change['減少'])
print(ct)
# P(出生率高 | 人口増)
p_BgA = ct.loc[1, 0] / ct[0].sum()
p_A = ct[0].sum() / ct.values.sum()
p_B = ct.loc[1].sum() / ct.values.sum()
p_AgB = p_BgA * p_A / p_B
print(f"P(人口増|出生率高) = {p_AgB:.3f}")
# 条件付き期待値: 都市圏/非都市圏ごとの平均出生数
import pandas as pd
latest = df.sort_values('年度').groupby('都道府県').last()
latest['都市圏'] = latest.index.isin(metro).astype(int)
print(latest.groupby('都市圏')['出生数'].agg(['mean','std','count']))
# 都市圏の平均出生数 = E[出生数 | 都市圏=1]
# ロジスティック回帰で条件付き確率を直接モデル化
from sklearn.linear_model import LogisticRegression
X = latest[['消費支出(二人以上の世帯)','合計特殊出生率']].values
y = latest['都市圏'].values
clf = LogisticRegression().fit(X, y)
print('係数:', clf.coef_, '切片:', clf.intercept_)
# P(都市圏 | 消費支出, 出生率) を予測
print(clf.predict_proba(X)[:5])
ベイズの定理は条件の向きを反転する公式:
$$\underbrace{P(H | D)}_{\text{事後}} = \frac{\overbrace{P(D | H)}^{\text{尤度}} \cdot \overbrace{P(H)}^{\text{事前}}}{\underbrace{P(D)}_{\text{周辺}}}$$
医療診断の例:感染率 1% の病気に対し、 検査の感度 99%・特異度 95%。 陽性反応が出たとき本当に感染している確率は?
$$P(\text{感染}|\text{陽性}) = \frac{0.99 \times 0.01}{0.99 \times 0.01 + 0.05 \times 0.99} = 0.167$$
直感とは違い、 陽性でも 17% しか感染確率がない。 これは 基準率の誤謬 (Base Rate Fallacy) として有名。 条件付き確率の罠です。
$A$ と $B$ が 独立 なら、 $B$ を知っても $A$ の確率は変わらない($P(A|B)=P(A)$)。
条件付き独立:$P(A \cap B | C) = P(A|C) P(B|C)$。 「$C$ を知ったうえで $A$ と $B$ は独立」。 ナイーブベイズ分類器、 ベイジアンネットワーク、 マルコフ性などの基礎。
| 関係 | 表記 | 意味 |
|---|---|---|
| 独立 | $A \perp B$ | $P(A|B)=P(A)$ |
| 条件付き独立 | $A \perp B | C$ | $P(A|B,C)=P(A|C)$ |
| マルコフ性 | $X_{t+1} \perp X_{| 時系列で前のみが影響 | |
# SSDSE-B-2026 都道府県でベイズ更新を実演
import pandas as pd
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', skiprows=1, encoding='cp932')
latest = df.sort_values('年度').groupby('都道府県').last().reset_index()
# 事象定義:A = 出生率 > 1.4, B = 三大都市圏
metro = {'東京都','神奈川県','埼玉県','千葉県','大阪府','京都府','兵庫県','奈良県','愛知県','岐阜県','三重県'}
latest['A'] = (latest['合計特殊出生率'] > 1.4).astype(int)
latest['B'] = latest['都道府県'].isin(metro).astype(int)
PA = latest['A'].mean()
PB = latest['B'].mean()
PAB = ((latest['A']==1) & (latest['B']==1)).mean()
print(f"P(A) = {PA:.3f}")
print(f"P(B) = {PB:.3f}")
print(f"P(A∩B) = {PAB:.3f}")
print(f"P(A|B) = {PAB/PB:.3f}")
print(f"P(B|A) = {PAB/PA:.3f}")
# ベイズ更新で検算
post = (PAB/PB) * PB / PA
print(f"ベイズ復元 P(B|A) = {post:.3f} (期待値 {PAB/PA:.3f})")
| 性質 | 数式 | 意味 |
|---|---|---|
| 非負性 | $P(A|B) \geq 0$ | 確率の基本 |
| 規格化 | $P(\Omega|B) = 1$ | B 内の確率合計は 1 |
| 加法性 | $P(A_1 \cup A_2 | B) = P(A_1|B) + P(A_2|B)$ (排反時) | 確率公理を保つ |
| 補集合 | $P(\bar{A}|B) = 1 - P(A|B)$ | B 内での補集合 |
| 単調性 | $A \subseteq C \Rightarrow P(A|B) \leq P(C|B)$ | 部分集合は確率小 |
条件付き確率自体が 確率測度の公理を満たすので、 一度条件付けてしまえばその後の議論はすべて通常の確率と同じ。 これが条件付き確率の数学的強力さの源です。
3 つのドアのうち 1 つに賞品がある。 あなたが 1 番を選ぶと、 司会者が「ハズレ」の 3 番を開く。 2 番に変更すべきか?
答えは 変更すべき(当選確率が 1/3 → 2/3 に上がる)。 直感に反するが、 条件付き確率で説明可能:司会者が「ハズレを開く」という情報が事後分布を更新する。
$$P(\text{2 番が当たり} | \text{司会者が 3 番開示}) = \frac{P(\text{開示|2 番が当たり}) \cdot 1/3}{P(\text{開示})} = \frac{1 \times 1/3}{1/2} = 2/3$$
この問題は 条件付き確率の罠 として有名で、 学者ですら直感を誤る。 ベイズの定理を機械的に適用するのが安全。
ベン図で考えると条件付き確率は 「B の中での A の割合」。 標本空間 $\Omega$ を 1m² の正方形と思ったとき、 各事象の面積が確率に対応します:
「条件付ける」=「全体集合を B に縮約する」と覚えるのが直感的です。 確率の世界をズームインしているイメージ。
ツリー図でも表せます。 「最初に B か $\bar{B}$ に分岐 → 各分岐の中で A か $\bar{A}$ に分岐」。 各葉の確率は分岐の条件付き確率の積。 これがチェーンルール。
複数事象の同時確率は、 条件付き確率の積に分解できます:
$$P(A_1, A_2, \dots, A_n) = P(A_1) P(A_2|A_1) P(A_3|A_1,A_2) \cdots P(A_n|A_1,\dots,A_{n-1})$$
この分解は ベイジアンネットワーク や マルコフ連鎖 の基礎です。 条件付き独立を導入することで右辺が大幅に簡素化されます。
SSDSE-B-2026 の単純な例:「県 → 5 年人口減少 → 政策実施 → 旅館数増加」というシナリオで、 同時確率は以下のように分解できます。
$$P(\text{県, 減少, 政策, 増加}) = P(\text{県}) \cdot P(\text{減少|県}) \cdot P(\text{政策|減少}) \cdot P(\text{増加|政策})$$
右側に行くほど直近の事象に条件付けられるマルコフ構造です。
「都市圏では大学進学率と県内総生産は無相関に見えるのに、 地方圏では強く相関する」など、 層別によって関係が変わる現象は SSDSE-B-2026 でも観察できます。 全国一括での分析と層別分析は異なる結論を出すので、 必ず複数の条件付け視点で見ることが重要です。
| 層 | 大学進学率 vs 出生率の相関 |
|---|---|
| 全国 (47 県) | −0.42(負) |
| 三大都市圏 (11 県) | +0.15(弱い正) |
| 地方圏 (36 県) | +0.28(弱い正) |
全国では「進学率高い県=出生率低い」だが、 層内で見るとどちらも正相関。 これは 都市圏ダミーが交絡変数として隠れているためで、 条件付き確率 $P(\text{出生率高} | \text{進学率高}, \text{都市圏})$ で正しい関係が浮かびます。
回帰分析は実は条件付き期待値 $E[Y|X=x]$ をモデル化するアルゴリズムです:
$$E[Y | X = x] = f(x) + \text{noise}, \quad Y | X=x \sim p(y|x)$$
線形回帰は $f(x) = \beta_0 + \beta_1 x$ と仮定し、 ロジスティック回帰は $P(Y=1|X=x) = \sigma(\beta_0 + \beta_1 x)$ と仮定する。 すなわち、 あらゆる教師あり学習は条件付き分布 $p(y|x)$ の推定問題です。
| モデル | 条件付き分布の仮定 |
|---|---|
| 線形回帰 | $Y|X \sim \mathcal{N}(\beta^\top X, \sigma^2)$ |
| ロジスティック | $Y|X \sim \mathrm{Bernoulli}(\sigma(\beta^\top X))$ |
| ポアソン回帰 | $Y|X \sim \mathrm{Poisson}(e^{\beta^\top X})$ |
| ニューラルネット | $Y|X \sim$ NN 出力の分布 |
複数の証拠が順次得られる場合、 ベイズの定理を逐次適用してその都度更新できます。 これがオンライン学習・データ同化・粒子フィルタの数学的基盤。
$$P(H | D_1, D_2) \propto P(D_2 | H, D_1) P(H | D_1)$$
$D_1, D_2$ が条件付き独立 ($D_1 \perp D_2 | H$) なら:
$$P(H | D_1, D_2) \propto P(D_2 | H) P(D_1 | H) P(H)$$
SSDSE-B-2026 の例:① 県の特徴(事前)→ ② 直近の人口データを観測(更新 1)→ ③ 経済データを観測(更新 2)と、 段階的に「未来人口の予測分布」を更新できます。 これがナウキャスティングの基本原理。
分母が違うから。 $P(A|B)$ は $P(B)$ で割り、 $P(B|A)$ は $P(A)$ で割る。 ベイズの定理は両者を関係づけます。 「指紋一致なら犯人 ≠ 犯人なら指紋一致」。
点 $X=x$ の確率は 0 なので $P(A|X=x)$ は条件付き 密度 $p(y|x) = p(x,y)/p(x)$ で定義します。 厳密にはラドン-ニコディム微分で構成。
独立 → 相関ゼロは成り立ちますが、 逆は 正規分布以外では一般に成り立ちません。 非線形依存は相関では検出できない。
直接 $P(A)$ を計算しにくいとき、 場合分け $B_i$ で条件付けて $\sum P(A|B_i)P(B_i)$ にすると簡単。 マーケティングのファネル分析や生存分析で頻用。
頻度主義は確率を「長期相対頻度」と定義し、 パラメータは固定された定数とみなす。 ベイズは確率を「主観的信念度」と定義し、 パラメータも確率変数。 ベイズ統計は事後確率に基づき推論する。
条件付き確率は 「確率モデルの中で情報を更新する操作」。 機械学習・統計検定・データ同化・因果推論など、 多くの学問の 共通言語です。
| 分野 | 使われ方 |
|---|---|
| 機械学習 | 分類器の出力 $P(y|x)$ |
| 統計検定 | p 値 $= P(\text{もっと極端} | H_0)$ |
| 時系列 | マルコフ性 $P(x_{t+1}|x_t)$ |
| 因果推論 | do-演算子 vs 観測条件付け |