論文一覧に戻る 📚 用語集トップ 🗺 概念マップ
📚 用語解説
📚 用語解説
確率
Probability
確率分布

🔖 キーワード索引

事象標本空間条件付き確率ベイズの定理独立性期待値分散確率変数確率分布大数の法則中心極限定理

別名・略称:プロバビリティ、 P、 Pr

確率は 不確実性の数学的表現。 0 ≤ P ≤ 1 の値で「起こりやすさ」を測り、 統計推定・機械学習・意思決定の基盤となります。

確率 (Probability) は事象 A の発生しやすさを [0,1] の数値で表す概念で、 頻度主義 (長期相対頻度) とベイズ主義 (信念の度合い) の 2 解釈がある。 SSDSE-B-2026 で「出生率が全国平均を上回る県」を A とし、 47 県中の該当数からの頻度確率 P(A) と、 事前情報を加えた事後確率 P(A|data) を対比する。

これらのキーワードは「確率の理解 → 適用 → 検証」のプロセスを構成する。 標本空間・事象・条件付き確率・独立性・ベイズの定理を軸に、 各章で詳しく解説する。

💡 30秒で分かる結論

🍰 まずはやさしく

確率は、あることが起きる可能性を数字にしたものです。

未来に何が起こりそうかを予想するために使います。

サイコロの目や、明日の天気を考えるときなどに役立ちます。

ここでは確率の基本的なルールや計算方法を読みます。

確率(Probability):ある事象が起こる可能性を 0〜1 で表す数

📍 あなたが今見ているもの

🍰 まずはやさしく

確率は、データのばらつきを扱うための共通の言葉です。

AIや保険などの仕組みを作るために使われます。

スマホの予測変換など、身近な技術にも使われています。

ここでは確率がどのように実務で役立つかを読みます。

機械学習モデルの出力(分類確率・回帰の信頼区間)も、 統計検定(p 値)も、 リスク推定(保険・金融)も、 全て確率に基づきます。 「データのばらつき」を扱う全ての学問・実務の基盤言語であり、 これなしには ベイズ推論強化学習生成 AI も成立しません。

本ページは 確率 を、 SSDSE-B-2026 47 都道府県のデータで頻度主義とベイズ主義の両解釈を実演する。 P(A) を相対頻度で求める方法と、 ベイズの定理 P(θ|data) ∝ P(data|θ)P(θ) で事後分布を更新する方法を numpy で並べて実装する。

「確率」は統計・データサイエンスの体系における最も基礎的な概念のひとつ。 本ページは「定義・直感・数式・実装・落とし穴・関連手法」の 6 視点で構成され、 各視点は独立して読めるが順序通り読むと体系的な理解が得られる。

🎨 直感で掴む

🍰 まずはやさしく

確率は、考え方によって3つの捉え方があります。

状況に合わせて、どの考え方を使うか決めるために使います。

くじ引きや、専門家の予想などで使い分けます。

ここでは直感的に確率を理解するコツを読みます。

3 種類の解釈

解釈定義
古典的同様に確からしい場合の数の比サイコロ:1 が出る確率 = 1/6
頻度論的試行を無限回繰り返した時の相対頻度コイン投げで表が出る長期割合
主観的(ベイズ)信念の度合い「明日雨が降る確率は 70%」

基本ルール(コルモゴロフの公理)

  1. 非負性:$P(A) \ge 0$
  2. 正規化:$P(\Omega) = 1$
  3. 加法性:$A_i$ が互いに排反なら $P(\bigcup A_i) = \sum P(A_i)$

SSDSE-B-2026 で見る 3 解釈の使い分け

解釈SSDSE での具体例計算
古典的47 都道府県から無作為に 1 県選ぶ → 「東京都」が選ばれる確率$P = 1/47 \approx 0.0213$
頻度論的A1303/A1101 の比 (高齢化率) が 30% を超える県の割合 → SSDSE-B-2026 で実測該当 35 県/47 県 $\approx$ 0.74
主観的 (ベイズ)「2030 年に総人口 1.2 億人を下回る確率」(過去推移から専門家が信念を更新)事後分布から 0.7〜0.9

感覚を掴むコツ: 「47 県から 5 県を無作為抽出」「東京を含む確率」を SSDSE-B-2026 で計算してみると、 $P = 1 - \binom{46}{5}/\binom{47}{5} = 5/47 \approx 0.106$ となり、 古典的確率の体感が得られる。 一方「東京が他のどの県より人口が多い確率」は 1 (確定値、 確率ではない) であり、 「確率」と「事実」の境目を意識する練習になる。

📐 定義 / 数式

🍰 まずはやさしく

確率は、数学的なルールで厳しく決められています。

計算ミスを防ぎ、正しく答えを出すために使います。

テストの点数や、部活の勝率などを計算するときに役立ちます。

ここでは確率をあらわす数式や定義について読みます。

【条件付き確率】
$$P(A \mid B) = \frac{P(A \cap B)}{P(B)}, \quad P(B) > 0$$
【ベイズの定理】
$$P(A \mid B) = \frac{P(B \mid A) P(A)}{P(B)}$$
【期待値と分散】
$$E[X] = \sum_x x P(X=x), \quad V[X] = E[(X - E[X])^2]$$

📐 コルモゴロフの公理と主要定理(数式を言葉で読み解く)

現代確率論は 1933 年のコルモゴロフによる公理化で「測度論の特殊例」として再構築された。 確率は「測度」、 事象は「可測集合」、 確率変数は「可測関数」と一対一対応する。 ここでは 3 つの公理を述べ、 そこから加法定理・条件付き確率・ベイズの定理を導出する流れを確認する。

⚙️ 公理

$$\text{(A1)}\; P(A) \ge 0 \quad \text{(A2)}\; P(\Omega) = 1 \quad \text{(A3)}\; P\!\left(\bigcup_i A_i\right) = \sum_i P(A_i) \text{ for disjoint } A_i$$

数式を言葉で読み解く:(A1) 確率は非負、 (A2) 全事象は確率 1、 (A3) 互いに排反な事象の和の確率は個別確率の和(可算加法性)。 たった 3 つで、 余事象・加法定理・包除原理・期待値の線型性まで全て導ける。

⚙️ 加法定理

$$P(A \cup B) = P(A) + P(B) - P(A \cap B)$$

言葉で読み解く:A または B のどちらか起きる確率は、 A と B の確率を足したあと、 重複して数えた「両方起きる」分を引く。 「ベン図の包除」を数式化したもの。 排反なら $P(A \cap B)=0$ で公理 (A3) に帰着。

⚙️ 条件付き確率とベイズの定理

$$P(A \mid B) = \frac{P(A \cap B)}{P(B)} \quad\Rightarrow\quad P(A \mid B) = \frac{P(B \mid A)\, P(A)}{P(B)}$$

言葉で読み解く:B が起きたという条件のもと A が起きる確率は、 「両方起きる確率」を「B が起きる確率」で割る(条件付き=部分集合への正規化)。 これを変形すると ベイズの定理:観測 B のもとで原因 A の確率を、 事前 P(A) と尤度 P(B|A) から計算できる。 機械学習・医療診断・スパムフィルタの理論的中核。

⚙️ 全確率の定理

$$P(B) = \sum_i P(B \mid A_i)\, P(A_i)$$

言葉で読み解く:排他的・網羅的な原因集合 $\{A_i\}$ について、 結果 B の確率は「各原因のもとでの B の確率」を「原因の確率」で重み付け平均したもの。 ベイズの定理の分母 P(B) を計算するときに必須。

🐍 ベイズの定理:医療診断の古典問題を SSDSE 風に翻案

このコードでやること:ある県の「総人口が前年より減少した」というシグナルから、 「高齢化が進んでいる県(高齢化率が 30% 超)」である確率を求める。 SSDSE-B-2026 で「人口減少」と「高齢化率>30%」のクロス集計を取り、 条件付き確率 P(高齢化>30% | 人口減少) を計算する。

📥 入力データ(読み込み後の集計):

クロス集計(総人口減少 × 高齢化率>30%、 47 都道府県) 高齢化≤30% 高齢化>30% 合計 人口減少 10 35 45 人口増加 2 0 2 合計 12 35 47 P(人口減少) = 45/47 = 0.957 P(高齢化>30%) = 35/47 = 0.745 P(高齢化>30%∩人口減少) = 35/47 = 0.745 P(高齢化>30%|人口減少) = 35/45 = 0.778
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# 条件付き確率を SSDSE-B-2026 の実集計で確認
import pandas as pd

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
y = df['SSDSE-B-2026'].max()                        # 最新年(2023)
now  = df[df['SSDSE-B-2026'] == y  ][['Prefecture', 'A1101', 'A1303']]
prev = df[df['SSDSE-B-2026'] == y-1][['Prefecture', 'A1101']]
m = now.merge(prev, on='Prefecture', suffixes=('_now', '_prev'))

m['pop_decline'] = m['A1101_now'] < m['A1101_prev']       # 総人口が前年より減少
m['aging']       = m['A1303'] / m['A1101_now'] > 0.30     # 高齢化率(65歳以上)>30%

ct = pd.crosstab(m['pop_decline'], m['aging'], margins=True)
print(ct)
p = (m['aging'] & m['pop_decline']).sum() / m['pop_decline'].sum()
print(f'P(高齢化>30% | 人口減少) = {p:.4f}')

📤 実行結果(例):

aging False True All pop_decline False 2 0 2 True 10 35 45 All 12 35 47 P(高齢化>30% | 人口減少) = 0.7778

💬 結果の読み方:人口減少県のうち高齢化率が 30% を超えるのは 35/45 ≈ 77.8%。 一方 P(A|B) と P(B|A) は別物で、 高齢化率>30% の 35 県は すべて人口減少県なので P(人口減少 | 高齢化>30%) = 35/35 = 100%。 同じ 2 事象でも「どちらを条件にするか」で 78% と 100% に分かれる——条件付き確率の非対称性の典型例。

📊 主要な確率分布と実データへのフィット

「現象 → 分布」の対応を覚えると、 確率はぐっと使いやすくなる。 ここでは離散・連続の代表的分布と、 SSDSE-B-2026 のどの指標がどの分布にフィットしやすいかを並べる。

分布パラメータ期待値・分散SSDSE 例
ベルヌーイ $B(p)$$p$$E=p,\;V=p(1-p)$1 県の人口減少 (Yes/No)
二項 $\mathrm{Bin}(n,p)$$n,p$$E=np,\;V=np(1-p)$47 県中の減少県数 X
ポアソン $\mathrm{Po}(\lambda)$$\lambda$$E=V=\lambda$単位時間あたり発生件数
正規 $N(\mu,\sigma^2)$$\mu,\sigma$$E=\mu,\;V=\sigma^2$log(人口) の県分布
対数正規$\mu,\sigma$右側に長い裾県人口(東京が外れ値)
指数$\lambda$$E=1/\lambda$イベント間隔(待ち時間)
Beta $\mathrm{Beta}(\alpha,\beta)$$\alpha,\beta$$E=\alpha/(\alpha+\beta)$比率の事後分布
ガンマ$k,\theta$$E=k\theta$滞在時間・所得

🐍 二項分布で「47 県のうち人口減少が 45 県以上になる確率」を計算

このコードでやること:仮に「真の人口減少確率 p=0.9 が日本全国に適用される」と仮定した場合、 47 県中 45 県以上が減少する確率を二項分布から計算し、 観測 45/47 がどれくらい「驚くべきこと」かを評価する。

📥 入力例:

パラメータ: n = 47 (都道府県数) p = 0.90 (真の人口減少確率の仮説) 観測値:X = 45 (実際の減少県数) 期待値 E[X] = np = 47 × 0.9 = 42.3 標準偏差 σ = sqrt(np(1-p)) = sqrt(4.23) ≈ 2.057
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 二項分布で「45 県以上の人口減少」の確率を計算
from scipy.stats import binom

n, p, x = 47, 0.90, 45
print(f'E[X] = {n*p:.2f}, Var[X] = {n*p*(1-p):.2f}')
print(f'P(X = 45) = {binom.pmf(x, n, p):.4f}')
print(f'P(X >= 45) = {1 - binom.cdf(x-1, n, p):.4f}')

# 仮説の p を変えると確率はどう動くか
print(f'p=0.95 のとき P(X >= 45) = {1 - binom.cdf(x-1, n, 0.95):.4f}')
print(f'p=0.80 のとき P(X >= 45) = {1 - binom.cdf(x-1, n, 0.80):.4f}')

📤 実行結果:

E[X] = 42.30, Var[X] = 4.23 P(X = 45) = 0.0943 P(X >= 45) = 0.1383 p=0.95 のとき P(X >= 45) = 0.5805 p=0.80 のとき P(X >= 45) = 0.0022

💬 結果の読み方:「真の p=0.9」なら 45 県以上の減少が起こる確率は約 14%——ありうるが高くはない。 「p=0.95」だと 58% で起こり観測とよく整合する。 「p=0.80」だと 0.22% しか起こらず、 観測が稀少 → 仮説 p=0.80 は棄却される。 これが 仮説検定(p 値)の基礎ロジック。

🌊 大数の法則と中心極限定理

確率論の二大柱が 大数の法則(LLN)中心極限定理(CLT)。 統計推論・モンテカルロ法・機械学習の理論基盤は、 すべてこの 2 つに帰着する。

⚙️ 大数の法則 (LLN)

$$\bar{X}_n = \frac{1}{n}\sum_{i=1}^{n} X_i \xrightarrow{n \to \infty} \mu \quad (\text{a.s. または 確率収束})$$

数式を言葉で読み解く:iid サンプルの標本平均 $\bar{X}_n$ は、 n を増やすと真の母平均 $\mu$ に収束する。 「コインを何万回も投げれば、 表の比率は 1/2 に近づく」が直感的解釈。 ベイズ事後分布が事前から離れて尤度に支配されていくのも LLN の現れ。

⚙️ 中心極限定理 (CLT)

$$\sqrt{n}\,\frac{\bar{X}_n - \mu}{\sigma} \xrightarrow{d} \mathcal{N}(0, 1) \quad (n \to \infty)$$

言葉で読み解く:iid な確率変数の和(や平均)の分布は、 元の分布が何であれ n が大きくなると正規分布に近づく。 「世の中の平均値の分布が正規になる」根本理由はこれ。 標本平均の信頼区間が $\bar{x} \pm 1.96 \cdot s/\sqrt{n}$ で書けるのも CLT のおかげ。

🐍 CLT を SSDSE-B-2026 でブートストラップ確認

このコードでやること:47 都道府県の人口を母集団とみなし、 サイズ 10 の標本を 5000 回リサンプリング。 標本平均の分布が正規分布に近づくことを CLT で確認する。

📥 入力例:母集団は 47 都道府県の人口(右に大きく偏った分布)

母集団(47 都道府県の人口、 単位:千人) mean = 2,646, std = 2,798 min = 537 (鳥取), max = 14,086 (東京) skewness ≈ 2.2(右に大きく歪んだ分布)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# CLT のブートストラップ確認
import pandas as pd
import numpy as np

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
df = df[df['SSDSE-B-2026'] == df['SSDSE-B-2026'].max()]
pop = df['A1101'].values / 1000   # 千人単位

rng = np.random.default_rng(0)
means = [rng.choice(pop, size=10, replace=True).mean() for _ in range(5000)]
means = np.array(means)

print(f'母平均   = {pop.mean():.1f}')
print(f'標本平均の平均 = {means.mean():.1f}')
print(f'標本平均の標準偏差 = {means.std():.1f}')
print(f'理論値 σ/√n = {pop.std()/np.sqrt(10):.1f}')

📤 実行結果:

母平均 = 2645.8 標本平均の平均 = 2641.0 標本平均の標準偏差 = 879.6 理論値 σ/√n = 875.2

💬 結果の読み方:n=10 でも標本平均の平均は母平均にほぼ一致(LLN)、 標準誤差も σ/√n の理論値とほぼ一致(CLT)。 母集団分布が大きく歪んでいても、 標本平均の分布は釣鐘型に近づく。 これが「世論調査 1000 人で全国の意見が分かる」根拠。

⚠️ CLT が効かない例

🧠 確率の哲学:3 つの解釈と実務での選択

「確率とは何か」には現在もコンセンサスがない。 大別すると 3 つの解釈があり、 どれを取るかで分析手法・解釈・報告の仕方が変わる。

解釈基本的考え方代表手法限界
古典的(ラプラス)等確率に分解できる根元事象の比組合せ確率「等確率」の根拠が循環論的
頻度論無限回試行の極限的相対頻度古典的統計(NHST, CI)単発事象の確率は意味不明
主観/ベイズ合理的エージェントの信念度ベイズ統計、 MCMC・階層ベイズ事前分布の正当化が必要

実務的には:反復試行が可能(A/B テスト、 工場検査、 大規模実験)→ 頻度論。 単発の意思決定(新薬承認、 投資判断、 医療診断)→ ベイズ。 定理証明・教育→ コルモゴロフの公理(解釈中立)。 どの解釈でも数学的構造は同じだが、 結果の言い回しと意思決定の枠組みが変わる。

💼 実務応用ケーススタディ 5 選

① 医療診断:陽性反応 → 真に病気の確率

有病率 0.1%、 検査の感度 99%、 特異度 95% のとき、 陽性者が真に病気である確率は P(病気|陽性) = 0.99 × 0.001 / (0.99 × 0.001 + 0.05 × 0.999) = 約 1.94%。 直感の「99%」とは大違い。 ベース率の軽視(base-rate neglect)が招く典型誤解。 SSDSE で類推すれば「東京都の確率を 1/47 と単純化せず、 人口比 11% で重み付ける」感覚に近い。

② スパムフィルタ:単語からメール分類

ナイーブベイズ:P(spam|words) ∝ P(spam) × Π P(word|spam)。 各単語の出現確率を spam/ham 別に学習し、 ベイズで事後確率を計算。 単純だが Gmail の初期スパムフィルタの中核。 「単語間が独立」という強い仮定(ナイーブ)が成立しないケースでも、 順序判定だけ正しければ実用上は十分。

③ A/B テスト:ボタン色の効果検証

A 案 CTR = 100/1000、 B 案 CTR = 120/1000 のとき、 「B が真に良い」確率は? 頻度論なら χ² 検定で p 値、 ベイズなら Beta 事後分布から P(p_B > p_A) を直接計算可能。 ベイズの方が「効果の大きさ」を分布で示せるため、 ビジネス意思決定では好まれる傾向。

④ 災害リスク:100 年に 1 度の洪水

「100 年確率の洪水」とは年確率 1/100 の洪水。 30 年間に少なくとも 1 回起きる確率は $1 - (1 - 0.01)^{30} \approx 26\%$。 「100 年もたないだろう」ではなく「3 割の家庭が遭遇する」と読むのが正しい。 SSDSE-E-2026 で地域別の災害頻度を確認できる。

⑤ 機械学習:分類器の確率出力

ロジスティック回帰・ニューラルネット・LightGBM 等は「クラスに属する確率」を出力。 ただしこの確率は較正されていないことが多く(過信または過小評価)、 sklearn の CalibratedClassifierCV や Platt スケーリング、 isotonic 回帰で較正してから運用するのが定石。

📐 期待値・分散・モーメントの厳密な意味

分布を 1 つの数値で要約するときの代表選手が期待値(重心)と分散(広がり)。 さらに歪度・尖度などの高次モーメントで「分布の形」を捉える。

$$E[X] = \int x\, f(x)\, dx, \quad V[X] = E[(X - E[X])^2] = E[X^2] - (E[X])^2$$

数式を言葉で読み解く:期待値は確率密度で重み付けした x の積分(離散なら和)。 分散は「平均からの距離の 2 乗」の期待値で、 「平均的にどれくらい散らばっているか」を示す。 後者は計算上 $E[X^2] - (E[X])^2$ の方が便利。

⚙️ 期待値の線型性

$$E[aX + bY + c] = a E[X] + b E[Y] + c \quad (X, Y \text{独立性不要})$$

言葉で読み解く:期待値は独立性に依存せず線型作用素。 X と Y がどれほど絡んでいても、 和の期待値は期待値の和。 これが「期待値計算が分散計算より簡単」な理由。 分散の場合 $V[X+Y] = V[X] + V[Y] + 2\text{Cov}(X,Y)$ と共分散項が出る。

🐍 SSDSE 47 県の人口分布のモーメント

このコードでやること:47 都道府県人口の 1〜4 次モーメント(平均・分散・歪度・尖度)を計算し、 「右に長い裾を持つ分布」が数値的にどう表れるか確認する。

📥 入力データ:

47 都道府県の人口 A1101(2023 年、 単位:千人) 最小:537(鳥取県) 最大:14,086(東京都) 分布形:右に大きく歪んだ(東京 1 つが極端)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 4 次モーメントまで一気に計算
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['SSDSE-B-2026'] == df['SSDSE-B-2026'].max()]
pop = df['A1101'] / 1000   # 千人

print(f'平均  E[X]   = {pop.mean():.1f} 千人')
print(f'分散  V[X]   = {pop.var():.1f}')
print(f'歪度  skew   = {stats.skew(pop):.3f}')
print(f'尖度  kurt   = {stats.kurtosis(pop):.3f}')

📤 実行結果:

平均 E[X] = 2645.8 千人 分散 V[X] = 7826293.9 歪度 skew = 2.219 尖度 kurt = 4.951

💬 結果の読み方:歪度 2.22 は「正規分布(0)に比べ右に大きく歪んでいる」、 尖度 4.95 は「正規分布(0)より鋭いピークと長い裾」を示す。 東京都だけが平均から約 4σ も離れた巨大な外れ値であることが数値で確認できる。 こうした分布で「平均値」だけ報告すると現実が見えない(中央値は 1549 千人)。

📏 不等式:分布の形を知らなくても言えること

分布の具体形が不明でも、 期待値と分散だけから「外れ値の確率の上界」が言える。 これがマルコフ不等式・チェビシェフ不等式・ヘフディング不等式などの威力。

⚙️ マルコフの不等式

$$X \ge 0 \Rightarrow P(X \ge a) \le \frac{E[X]}{a}$$

言葉で読み解く:非負確率変数の値が a 以上になる確率は、 平均を a で割った値以下。 「平均 100 万円の所得で、 5000 万円以上の人は最大 2% しかいない」と言える。 ただし非常に緩い上界。

⚙️ チェビシェフの不等式

$$P(|X - \mu| \ge k\sigma) \le \frac{1}{k^2}$$

言葉で読み解く:分布の形によらず、 平均から k 標準偏差以上離れる確率は 1/k² 以下。 k=2 で 25%、 k=3 で 11% 以下。 正規分布なら k=3 で 0.3% だが、 これはあくまで「最悪値」。 分布の形が分からない時の保証として有用。

🐍 47 都道府県データで不等式を実測検証

このコードでやること:人口データで「平均から k×σ 以上離れる県の比率」を計算し、 マルコフ・チェビシェフ・正規分布の理論値と比較する。

📥 入力例:

47 県の人口 A1101 から、 標準化 z = (x - μ)/σ (μ ≈ 2645.8, σ ≈ 2767.6 千人) k=1: 平均から 1σ 以上離れる県の比率 k=2: 平均から 2σ 以上離れる県の比率 k=3: 平均から 3σ 以上離れる県の比率
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# チェビシェフ vs 正規分布 vs 実測
import pandas as pd, numpy as np
from scipy.stats import norm

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
df = df[df['SSDSE-B-2026'] == df['SSDSE-B-2026'].max()]
x = df['A1101'].values / 1000
mu, sd = x.mean(), x.std()

print('k    実測    Chebyshev上界  正規分布理論')
for k in [1, 2, 3]:
    emp  = np.mean(np.abs((x - mu) / sd) >= k)
    cheb = min(1, 1 / k**2)
    theo = 2 * (1 - norm.cdf(k))
    print(f'{k}    {emp:.3f}   {cheb:.3f}        {theo:.3f}')

📤 実行結果:

k 実測 Chebyshev上界 正規分布理論 1 0.128 1.000 0.317 2 0.064 0.250 0.046 3 0.021 0.111 0.003

💬 結果の読み方:チェビシェフ上界は常に実測 ≤ 上界で成立しているが、 k=1 では「1.0」と無情報。 正規分布理論は k=3 では実測 (2.1%) と乖離(東京の外れ値の影響)、 すなわち人口分布は正規ではない。 「分布の形を仮定しないでよい」チェビシェフの汎用性と、 「正確だが仮定が必要」な正規理論のトレードオフが見える。

🎲 モンテカルロ法:確率を「計算する」のではなく「シミュレーションする」

解析的に解けない確率問題でも、 乱数で大量試行すれば平均値として確率が見える。 これがモンテカルロ法。 大数の法則がその理論的保証。 機械学習・ベイズ統計・金融工学・物理シミュレーションの中核技術。

🐍 SSDSE 風シナリオ:1 県をランダム抽出して「人口減少」だった回数

このコードでやること:47 県から復元抽出を 10000 回繰り返し、 「人口減少県だった回数」を数える。 大数の法則により、 比率は P(decline)=0.957 に収束していくはず。

📥 入力例:母集団 = 47 県の人口減少フラグ(True=45, False=2)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# モンテカルロで P(decline) を推定し、収束を観察
import pandas as pd, numpy as np

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
y = df['SSDSE-B-2026'].max()
a = df[df['SSDSE-B-2026'] == y  ][['Prefecture', 'A1101']].rename(columns={'A1101': 'now'})
b = df[df['SSDSE-B-2026'] == y-1][['Prefecture', 'A1101']].rename(columns={'A1101': 'prev'})
m = a.merge(b, on='Prefecture')
flags = (m['now'] < m['prev']).values

rng = np.random.default_rng(42)
for N in [10, 100, 1000, 10000, 100000]:
    samples = rng.choice(flags, size=N, replace=True)
    print(f'N={N:6d}: 推定 P(decline) = {samples.mean():.4f}')
print(f'真値        : {flags.mean():.4f}')

📤 実行結果:

N= 10: 推定 P(decline) = 1.0000 N= 100: 推定 P(decline) = 1.0000 N= 1000: 推定 P(decline) = 0.9630 N= 10000: 推定 P(decline) = 0.9556 N=100000: 推定 P(decline) = 0.9565 真値 : 0.9574

確率 を含むデータ分析は、 分野によって使われ方が違います。 下の表は分野ごとの代表的な用途で、 確率 だけの用途一覧ではありません。 自分の分野の行を見て、 どんな問いにデータを使うのかを掴んでください。

⚙️ モンテカルロ法の典型的応用

分野用途
金融オプション価格、 VaR(Value at Risk)、 ポートフォリオ最適化
物理高次元積分、 イジングモデル、 経路積分
ベイズ統計MCMC で事後分布のサンプリング(PyMC, Stan)
機械学習強化学習(モンテカルロ木探索、 AlphaGo)
ゲーム理論ナッシュ均衡の数値計算、 シミュレーション

💻 データサイエンス現場の「確率の言い回し」

「確率」は実務文脈で多様な表現を取る。 同じ数値でも文脈で意味が違うため、 受け手の理解に合わせた言い換えが重要。

表現数学的意味使われる場面
確率 / probability[0, 1] の数一般的説明、 教科書
頻度 / frequency観測比率疫学、 品質管理
尤度 / likelihoodパラメータの関数 L(θ;x)MLE, ベイズ
スコア / score確率に単調変換した値信用スコア、 ML 予測値
オッズ / oddsp / (1-p)ロジット、 ベッティング
ハザード / hazard瞬間死亡率 h(t)生存解析、 信頼性工学
リスク / risk期待損失 E[L]金融、 保険
信頼度 / confidence信頼区間の被覆率統計推論、 機械学習較正

例:「P(クリック)=0.05」を金融なら「クリック率 5%」、 保険なら「事故率 0.05」、 機械学習なら「予測スコア 0.05」、 ベッティングなら「オッズ 0.0526」と表現する。 同じ数学的対象だが、 文脈で言い方が変わる。

🤖 確率と機械学習:どこに「確率」が潜んでいるか

機械学習モデルは表面上「ブラックボックス」に見えるが、 内部は確率論の応用そのもの。 主要モデルの確率的解釈を表で整理する。

モデル背後の確率モデル出力の意味
線形回帰$y \sim N(\beta^\top x, \sigma^2)$条件付き期待値の MLE
ロジスティック回帰$y \sim \mathrm{Bern}(\sigma(\beta^\top x))$クラス確率 P(y=1|x)
ナイーブベイズ$P(y|x) \propto P(y) \prod P(x_i|y)$事後確率
隠れマルコフ$P(x_{1:T}, z_{1:T})$系列の同時確率
ガウス過程$f \sim GP(m, k)$関数の事後分布
変分オートエンコーダ$p(x|z) p(z) / q(z|x)$潜在変数の事後近似
拡散モデル逆拡散過程の SDE条件付きサンプル生成

深層学習でさえ「クロスエントロピー最小化 = 尤度最大化」で本質的に確率的最適化。 「確率を制する者は機械学習を制す」と言われる所以。

📝 章末まとめ:確率を 7 つの命題で復習

  1. 確率はコルモゴロフの 3 公理から全体系が導かれる(公理的測度論的定義)。
  2. 「P(decline)=45/47」は古典的・頻度論的・ベイズ的の 3 通りで解釈可能だが、 数値は同じ。
  3. 条件付き確率 P(A|B) と P(B|A) は別物。 ベイズで結ぶ。
  4. 主要分布は「現象の型」と一対一対応する。 二項・ポアソン・正規・指数・Beta を覚えれば実務の 8 割をカバー。
  5. 大数の法則と中心極限定理が、 統計推論とモンテカルロ法の理論的基盤。
  6. 確率の解釈(古典/頻度/ベイズ)はデータの性質と意思決定の文脈で選ぶ。
  7. 認知バイアス(ベース率無視、 ギャンブラーの誤謬、 生存者バイアス)を意識しないと、 数式が正しくても結論を誤る。

🔬 記号・式を言葉で読み解く

$\Omega$ — 標本空間
起こり得る全結果の集合。 サイコロなら $\{1,2,3,4,5,6\}$。
$A, B$ — 事象
$\Omega$ の部分集合。 「偶数が出る」「3 以上」など。
$P(A \cap B)$ — 同時確率
$A$ かつ $B$ が同時に起こる確率。
$P(A \mid B)$ — 条件付き確率
$B$ が起こったという情報のもとでの $A$ の確率。
独立
$P(A \cap B) = P(A)P(B)$。 一方の発生が他方の確率に影響しない。
$X$ — 確率変数
標本空間から実数への関数。 大文字で書き、 観測値は小文字 $x$。
$E[X]$ — 期待値
確率変数の平均的な値。 加重平均。
$V[X]$ — 分散
期待値からの 2 乗ずれの平均。 ばらつきの指標。

🧮 実値で計算してみる(SSDSE-B-2026・47 都道府県)

SSDSE-B-2026 の人口データで 確率の基本 を体験します。 47 都道府県を「無作為に 1 県選ぶ」標本空間とし、 各事象の確率を計算します。

  • $P(\text{人口} > 500 万)$ = 該当県数 / 47
  • $P(\text{首都圏})$ = 4/47(東京・神奈川・千葉・埼玉)
  • $P(\text{人口} > 500 万 \mid \text{首都圏})$ = 4/4
事象該当県確率
人口 > 500 万人北海道・東京・神奈川・大阪・愛知・千葉・埼玉・兵庫・福岡9/47 ≈ 0.191
首都圏(東京・神奈川・千葉・埼玉)4 県4/47 ≈ 0.085
人口 > 500 万 ∩ 首都圏東京・神奈川・千葉・埼玉4/47 ≈ 0.085
P(人口>500万|首都圏) = (4/47)/(4/47)4/4 = 1.000

🧮 数式に値を入れて手で計算する: 確率の加法と乗法

合成事象 A, B で確率の演算を計算する。

Step 1: 事象

P(A) = 0.4, P(B) = 0.3 P(A∩B) = 0.12 (独立: 0.4×0.3)

Step 2: 加法

P(A∪B) = P(A) + P(B) - P(A∩B) = 0.4 + 0.3 - 0.12 = 0.58

Step 3: 条件付き

P(A|B) = P(A∩B)/P(B) = 0.12/0.30 = 0.40 独立: P(A|B) = P(A) ✓

🐍 Python で再現

1
2
3
4
5
6
7
pA, pB = 0.4, 0.3
pAB = pA * pB
pA_or_B = pA + pB - pAB
pA_given_B = pAB / pB
print(f"P(A∩B): {pAB}")
print(f"P(A∪B): {pA_or_B}")
print(f"P(A|B): {pA_given_B}")

📤 実行結果

P(A∩B): 0.12 P(A∪B): 0.58 P(A|B): 0.4

💬 手計算 (Step 2,3) と Python 出力が完全一致。

🐍 Python 実装

SSDSE-B-2026(47 都道府県・2023 年)の実データを使った最小コード:

📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行) 都道府県 A1101(総人口) 北海道 5,092,000 東京都 14,086,000 沖縄県 1,468,000 …(全 47 行)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# SSDSE-B-2026 で条件付き確率を計算
import pandas as pd

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1], header=0)
df.columns = pd.read_csv('data/raw/SSDSE-B-2026.csv', nrows=0, encoding='cp932').columns
df = df[df['SSDSE-B-2026'] == 2023]   # 2023 年の 47 県のみ抽出

df['人口'] = df['A1101'].astype(float)
df['首都圏'] = df['Prefecture'].isin(['東京都', '神奈川県', '千葉県', '埼玉県'])
df['人口500万超'] = df['人口'] > 5_000_000

P_A = df['人口500万超'].mean()         # 人口500万超
P_B = df['首都圏'].mean()              # 首都圏
P_AB = (df['人口500万超'] & df['首都圏']).mean()  # 両方
P_A_given_B = P_AB / P_B               # 条件付き

print(f'P(人口500万超) = {P_A:.3f}')
print(f'P(首都圏)      = {P_B:.3f}')
print(f'P(人口500万超 ∩ 首都圏) = {P_AB:.3f}')
print(f'P(人口500万超 | 首都圏) = {P_A_given_B:.3f}')

⚠️ よくある落とし穴

⚠️ 頻度と確率の混同
小サンプルでは観測頻度 ≠ 真の確率。 信頼区間で不確かさを示すべき。
⚠️ 検察官の誤謬
$P(A|B)$ と $P(B|A)$ の混同。 ベイズの定理で正しく反転する。
⚠️ 独立の思い込み
株価日次変動はほぼ独立に見えても、 ボラティリティに自己相関あり。
⚠️ 0 確率の罠
観測されない=確率 0 とは限らない。 ラプラス平滑化等で対処。
⚠️ 離散/連続の混同
連続分布では $P(X=x) = 0$。 密度関数と確率を区別する。

⚠️ 落とし穴:認知バイアスと確率の罠(拡張版)

⚠️ Prosecutor's fallacy(検察官の誤謬)
「無実の人がこの DNA 一致を示す確率は 1/100万。 だから有罪確率は 99.9999%」は誤り。 P(一致|無実) ≠ P(無実|一致)。 母集団に該当者が 100 人いれば、 1 人一致しても無実かもしれない。 ベース率を必ず加味すべし。
⚠️ ギャンブラーの誤謬
「ルーレットで赤が 10 回連続したから、 次は黒が出やすい」は誤り。 各回独立試行なら、 過去の結果は次の確率に影響しない。 ただし「コインが歪んでいるかも」と疑うベイズ更新は合理的(独立性の仮定への懐疑)。
⚠️ Conjunction fallacy(連言誤謬)
「リンダ問題」:銀行員 vs 銀行員かつフェミニスト、 を比較すると後者を「ありそう」と感じる人が多いが、 数学的には P(A∩B) ≤ P(A) で逆。 「具体的な物語」が「単純な確率」より高く感じられる人間の認知バイアス。
⚠️ Survivorship bias(生存者バイアス)
「成功した起業家を 100 人調べたら全員早起き → 早起きすれば成功する」は誤り。 失敗者も含めた条件付き確率 P(成功|早起き) と P(早起き|成功) は別物。 SSDSE で「人口が増えた県の特徴」を見るときも、 「減った県」と対照しないと結論できない。
⚠️ Selection bias(選択バイアス)
「自社サイト訪問者にアンケート → 顧客満足度 90%」は、 そもそも不満な顧客は来ない可能性。 標本が母集団からどう選ばれたかを常に確認。 ランダム化(RCT)が金本位なのは選択バイアスを排除できるから。
⚠️ 独立性の仮定の濫用
「2 つの事象は独立だから P(A∩B)=P(A)P(B)」を安易に使うと崩壊。 たとえば「県の総人口減少」と「県の高齢化率上昇」は独立ではない。 独立性は仮定であって観測事実ではない点に注意。

🎮 触って理解する

確率は「頭で理解する」より「手を動かして体感する」方が腑に落ちます。 下の コイン投げ/サイコロ・シミュレータで、 理論確率 $p$(例:コインの表 = 0.5、 サイコロの特定の目 = 1/6 ≈ 0.167)をスライダーで設定し、 試行ボタンを押して乱数試行を繰り返してみてください。 経験的頻度(実験で観測した割合)が、 試行回数が増えるにつれて理論確率の点線へ近づいていく様子(大数の法則)が折れ線で見えます。 少数回では大きく振れ、 多数回で収束する——この「揺れ幅の縮み方」を目で確かめるのが狙いです。

プリセット:
試行を回す:
理論確率 p = 0.500 試行回数 n = 0 成功回数 k = 0 経験的頻度 k/n = |k/n − p| =
1.0 0.5 0.0 試行回数 n(左から右へ増加) 経験的頻度 k/n 理論値 p = 0.50 0 0

💡 グラフを指でなぞる/マウスで触れると、 その試行時点での経験的頻度を読み取れます。 「+1000 回」を何度か押すと、 赤い折れ線が緑の点線(理論値)にへばりつくように収束していくのが分かります。

🧠 直感:起こりやすさを 0〜1 で、 そして「頻度」と「確率」の橋渡し

確率 $p$ は「起こりやすさ」を $[0,1]$ に押し込んだ数です。 $0$ は「絶対起きない」、 $1$ は「必ず起きる」、 $0.5$ は「半々」。 では、 現実に手元にあるのは 頻度(何回中何回起きたか)だけなのに、 なぜそれを「確率」と呼べるのでしょうか。 橋を架けるのが 大数の法則です。 上のシミュレータで確かめられるとおり、 独立に同じ試行を繰り返すと、 経験的頻度 $k/n$ は試行回数 $n \to \infty$ で理論確率 $p$ に確率収束します。 つまり「長い目で見た相対頻度」こそが確率の頻度主義的な正体で、 少数回の $k/n$ はその 推定値にすぎません。

⚠️ よくある落とし穴:少数の法則とギャンブラーの誤謬

大数の法則が保証するのは「$n$ が十分大きいとき」の収束だけです。 これを「少ない試行でも平均に近いはず」と勘違いするのが 少数の法則(law of small numbers)。 シミュレータで「+10 回」だけ回すと、 コイン($p=0.5$)でも $k/n$ が $0.2$ や $0.8$ に平気で振れることを確認してください——少数回のばらつきは理論上も大きいのです。 さらに危険なのが ギャンブラーの誤謬:「表が 5 回続いたから次は裏が出やすい」という思い込み。 各試行が独立なら、 過去の結果は次の確率を一切変えません(次も $p=0.5$)。 収束は「裏が来て帳尻を合わせる」からではなく、 試行数 $n$ という分母が巨大になって初期のズレが薄まるから起きます。 「揺り戻し」と「希薄化」はまったく別物です。

🚀 発展:条件付き確率とベイズ更新へ

ここまでは「$p$ が既知で頻度を生成する(順方向)」話でした。 実務ではむしろ逆——観測した頻度から未知の $p$ を推定するのが本命です。 これが 条件付き確率ベイズの定理 の出番。 事前の信念 $P(p)$ に、 観測データの尤度 $P(\text{data}\mid p)$ を掛けて事後 $P(p\mid \text{data})$ に更新します。 コインの表裏なら事前・事後ともにベータ分布で表現でき(共役性)、 「10 回中 7 回表」を観測すると事後は $\mathrm{Beta}(1{+}7,\,1{+}3)$ のように更新されます。 試行が増えるほど事後分布は真の $p$ の周りに尖っていく——これはベイズ流に言い換えた大数の法則です。 より詳しくは ベイズの定理確率変数確率分布 の各ページへ。

🗺 概念マップ

確率の周辺概念をテーマ別ツリーで整理:

数学・統計の基礎
  ├── 集合論・測度論 / 組合せ論 / 期待値・分散 (並列基礎)
  ├── 【確率】 ← ここ (Kolmogorov 公理 1933)
  │     ├── 条件付き確率 / ベイズの定理 / 独立性
  │     ├── 確率変数 / 確率分布 (正規・二項・ポアソン)
  │     └── 大数の法則 / 中心極限定理 / チェビシェフの不等式
  └── 推定 / 検定 / ベイズ統計 / 機械学習 (応用)

この階層構造を頭に入れておくと、 学習や論文読みで「自分が今どこにいるか」を見失わずに済みます。

🎓 学習パス(推奨順)

「確率」を確実にマスターするには、 次の順序で進むのが効率的です:

  1. 前提知識の確認 — 上記「🔗 前提となる用語」セクションのリンクを順に読む(30 分〜)
  2. 直感を作る — 本ページの「🎨 直感で掴む」と「🧮 実値で計算」を SSDSE-B で手を動かしてみる
  3. 数式を読み下す — 「📐 定義」と「🔬 数式を言葉で読み解く」で 1 つずつ意味を確認
  4. Python で動かす — 「🐍 Python 実装」のコードをコピペし、 別の指標で実験
  5. 落とし穴を知る — 「⚠️ 落とし穴」を読み、 自分のコードに該当箇所がないか確認
  6. 関連手法を学ぶ — 「🌐 関連手法・派生」で次に学ぶべき派生概念へ
  7. 論文で活用 — 上位「📚 関連グループ教材」のページで実論文の文脈を確認

焦らず、 1 段ずつ確実に。 7 ステップを 1 周すれば、 単に「知っている」から「使える」レベルに到達できます。

🗺 確率の学習ロードマップ

レベル習得目標推奨教材
入門 (1 週)公理、 加法/乗法、 条件付き確率、 独立性高校数学 IA + Khan Academy
基礎 (1 月)主要分布、 期待値・分散、 中心極限定理Blitzstein "Introduction to Probability"
中級 (3 月)確率過程、 マルコフ連鎖、 推定論、 仮説検定Casella & Berger "Statistical Inference"
上級 (半年)測度論的確率、 マルチンゲール、 確率微分方程式Durrett "Probability: Theory and Examples"
応用ベイズ統計、 機械学習、 因果推論Gelman "BDA3", Pearl "Causality"
probability 確率分布 確率変数の演算 大数の法則 中心極限定理 ベイズ推論 確率過程

🔗 隣接手法への橋渡し

確率は事象の生起のしやすさを 0-1 で数値化した概念で、 確率変数・確率分布・ベイズ統計の基盤。

SSDSE-B-2026 を用いた演習では、 「確率」 を中核に据えて上記の上流・並列・下流の手法を実データで連結する経験を積むと、 単独の手法暗記より実務的応用力が身につく。

🌳 手法選択フロー

「確率」を実際に使うとき、 何をどう選ぶかを順に判断する。 上から順に答えていくと、 使うべき手法と評価の仕方が決まる。

  1. 何を「起こりうること全体」とするか
    分母を取り違えると答えが変わる。 「47 都道府県のうち」なのか「人口 100 万人未満の 10 県のうち」なのかを、 式を書く前に日本語で言い切る。
  2. 頻度として捉えるか、 確信度として捉えるか
    「繰り返せばこの割合に近づく」なら頻度主義。 「今この時点でどれくらい確からしいか」ならベイズ。 同じ数字でも、 何を言っているかが違う。
  3. 事象は独立か
    独立なら確率は掛け算でよい。 独立でないのに掛けると、 実際よりずっと小さい確率が出る。 同じ県の年次データなどは独立でないことが多い。
  4. 求めたいのは条件付きか
    「Aが起きたときのB」と「Bが起きたときのA」は別物。 ベイズの定理で変換する。 事前確率が小さい事象では、 検査が陽性でも事後確率は思ったほど上がらない。

確率でつまずく多くは、 計算ではなく分母の取り違え条件の向きの取り違えで起きる。 式を立てる前に、 何を全体としているかを書き出す。

📝 補足:直感と公理をもう一段深く

確率のいちばん素朴なイメージは「不確実性の度合いを $0$〜$1$ の物差しに載せたもの」です。 $0$ は「起こらない」、 $1$ は「必ず起こる」、 その間はグラデーション。 この物差しの読み方には大きく 2 つの解釈があります。 頻度主義は「同じ試行を長く繰り返したときの相対頻度の極限」として確率を定義し(本ページ上部の 🎮 シミュレータで $k/n \to p$ に収束していく姿がまさにこれ)、 ベイズ主義は「ある命題への信念の度合い」として確率を捉えます。 面白いのは、 どちらの解釈でも確率が従う数学的ルールは同一だということ。 それを保証するのが 集合論 の言葉で書かれた コルモゴロフの公理です。

標本空間・事象・確率の三点セット

確率を厳密に扱うには、 まず「何が起こり得るか」を集合として書き下します。

コルモゴロフの 3 公理(再掲+読み替え)

ページ上部「🎨 直感で掴む」でも触れた 3 公理を、 集合と重みの言葉でもう一度読み替えます。

  1. 非負性 $P(A)\ge 0$:どんな事象の重みも負にはならない。
  2. 正規化 $P(\Omega)=1$:全体で必ず重み 1(「何かは必ず起こる」)。
  3. 加法性:互いに排反($A_i \cap A_j = \varnothing$)なら $P\!\left(\bigcup_i A_i\right)=\sum_i P(A_i)$。 「重ならない事象の重みは単純に足せる」。

この 3 つだけから、 余事象 $P(A^c)=1-P(A)$、 加法定理 $P(A\cup B)=P(A)+P(B)-P(A\cap B)$(ベン図の重複を引く操作)、 単調性 $A\subseteq B \Rightarrow P(A)\le P(B)$ が全て導けます。 「同様に確からしい」場合には確率が 場合の数の比に落ちるため、 組合せ順列が計算道具になります(架空例:サイコロで偶数 $P=3/6=1/2$)。

⚠️ 落とし穴を 6 つ厳密に(重要)

確率は「数式は正しいのに直感が裏切る」ことが多い分野です。 コンペ・レポートで結論を誤りやすい 6 類型を、 反例つきで固めておきます。

① ギャンブラーの誤謬 — 独立試行に「記憶」はない
「コインで表が 5 回続いたから、 そろそろ裏が出やすい」は誤り。 各試行が独立なら、 過去がどうであろうと次も $P(\text{裏})=0.5$ のまま。 コインに「帳尻を合わせよう」という意思はありません。 🎮 シミュレータで $p=0.5$ のまま「+1 回」を連打しても、 直前の結果は次の乱数に一切影響しないことを確認できます。 ただし「10 回連続で表なら、 そもそもコインが歪んでいるのでは?」と独立性・公平性の仮定自体を疑うのは合理的(これはベイズの定理による仮定の更新であって、 誤謬ではありません)。
② 大数の法則の誤解 — 「揺り戻し」ではなく「希薄化」
大数の法則(LLN)が保証するのは、 試行数 $n$ が十分大きいときに相対頻度 $k/n$ が真の確率 $p$ に近づくことだけ。 これを「少ない試行でも平均に近いはず」と読むのが少数の法則という誤り。 収束が起きる理由は「ズレを打ち消す裏が来る」からではなく、 分母 $n$ が巨大になって初期のズレが薄まるから。 「揺り戻し」と「希薄化」は別物です。 実際、 偏差は減ってもズレの絶対量 $|k - np|$ はむしろ増える傾向にあります(詳しくは中心極限定理へ → 標本抽出と中心極限定理)。
③ 確率と確信度(信頼度)の混同
「95% 信頼区間」は「真の値がこの区間に入る確率が 95%」ではありません(頻度主義では真の値は定数で、 確率を持ちません)。 正しくは「同じ手続きを反復すれば区間の 95% が真値を覆う」という手続きの被覆率。 一方で「真値がこの区間に入る確率 95%」と直接言えるのはベイズの信用区間の方(本ページの Beta 事後分布の例がそれ)。 モデルの出力「スコア 0.9」も、 較正されていなければ「確率 90%」とは限りません(sklearn の CalibratedClassifierCV 等で較正が要る)。
④ 条件付き確率の逆転 — $P(A\mid B)\neq P(B\mid A)$
「検査陽性なら病気」と「病気なら陽性」は別物。 本ページ上部の実データ例が象徴的で、 高齢化率>30% の 35 県はすべて人口減少県なので $P(\text{人口減少}\mid \text{高齢化}{>}30\%)=35/35=100\%$ ですが、 逆向きは $P(\text{高齢化}{>}30\%\mid \text{人口減少})=35/45\approx 78\%$。 同じ 2 事象でも条件にする側を変えると値が変わる。 両者を結ぶのが ベイズの定理 $P(A\mid B)=P(B\mid A)P(A)/P(B)$ で、 これを混同すると「検察官の誤謬」になります。
⑤ 低確率事象の過小/過大評価
「年 1/100 の洪水」は「100 年は安心」ではなく、 30 年住めば $1-(1-0.01)^{30}\approx 26\%$ が遭遇する(過小評価の典型)。 逆に、 母集団が巨大なら「100 万分の 1 の一致」も期待件数 = 母集団 × 確率で普通に何件も起こり得る(希少事象の過大評価=ベース率無視)。 低確率どうしの掛け算・積み上げは直感が特に外れるため、 必ず「期待件数」に直して考えるのが安全です。
⑥ 排反と独立の混同(実データで検証)
最も混同されるのがこの 2 つ。 排反は $A\cap B=\varnothing$(同時に起こらない)、 独立は $P(A\cap B)=P(A)P(B)$(一方が他方の確率を変えない)。 これらは似て非なるどころか、 両方とも正の確率を持つ排反事象は「独立ではない」(片方が起きた瞬間もう片方は $0$ になるので、 強い負の依存)。 SSDSE-B-2026(2023 年・47 県)の実測で確かめます。

📊 SSDSE-B-2026 実測(A1101 総人口・A1303 65 歳以上人口, 2023 年 47 県):

■ 排反の例(同時に起こり得ない) 事象 C:総人口 500 万人以上 → 9 県、 P(C)=9/47 =0.1915 事象 D:総人口 200 万人未満 → 31 県、 P(D)=31/47=0.6596 C ∩ D:0 県 ⇒ 排反(mutually exclusive) P(C∪D)=P(C)+P(D)=9/47+31/47=40/47=0.8511 ← 加法性がそのまま使える ※ もし独立なら P(C∩D)=P(C)P(D)=0.1263 のはず。実際は 0 ⇒ 排反な 2 事象は「独立」ではなく強い負の依存 ■ 独立でない例(正の依存) 事象 A:高齢化率>30%(A1303/A1101) → 35 県、P(A)=35/47=0.7447 事象 B:総人口 200 万人未満 → 31 県、P(B)=31/47=0.6596 A ∩ B:29 県、 P(A∩B)=29/47=0.6170 P(A)P(B)=0.4912 ≠ P(A∩B)=0.6170 ⇒ 独立ではない(小さい県ほど高齢化しやすい=正の相関)
📥 入力例(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
# 排反・独立を SSDSE-B-2026 の実測で確認
import pandas as pd

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
d = df[df['SSDSE-B-2026'] == df['SSDSE-B-2026'].max()].copy()   # 2023 年 47 県
n = len(d)

C = d['A1101'] >= 5_000_000          # 総人口 500 万以上
D = d['A1101'] <  2_000_000          # 総人口 200 万未満
A = d['A1303'] / d['A1101'] > 0.30   # 高齢化率 > 30%
B = D                                # 総人口 200 万未満(再利用)

print('排反?  C∩D =', int((C & D).sum()), '件  (0 なら排反)')
print(f'P(C∪D) = {(C | D).mean():.4f}  vs  P(C)+P(D) = {C.mean()+D.mean():.4f}')
print(f'独立?  P(A∩B) = {(A & B).mean():.4f}  vs  P(A)P(B) = {A.mean()*B.mean():.4f}')
排反? C∩D = 0 件 (0 なら排反) P(C∪D) = 0.8511 vs P(C)+P(D) = 0.8511 独立? P(A∩B) = 0.6170 vs P(A)P(B) = 0.4912

💬 結果の読み方:排反($C\cap D=\varnothing$)なので加法性で $P(C\cup D)$ が単純な和に一致。 一方 $A,B$ は $P(A\cap B)\neq P(A)P(B)$ で独立ではない。 「排反 ⇒ 独立」でも「独立 ⇒ 排反」でもない——両方の性質は別次元だと押さえておけば、 乗法定理 $P(A\cap B)=P(A)P(B\mid A)$ を安易に $P(A)P(B)$ で済ませる事故を防げます。

🚀 発展:確率論の全体像への橋渡し

ここまでの「事象と確率」を出発点に、 統計・機械学習で使う道具立てへ一本道でつながります。 各ステップは本用語集の個別ページで深掘りできます。

  1. 公理から条件付き確率へ:$P(A\mid B)=P(A\cap B)/P(B)$ は「情報 $B$ で標本空間を $B$ に絞り直し、 その中で正規化する」操作。 → 条件付き確率
  2. 条件付き確率からベイズへ:向きを反転して「観測から原因を推す」。 事前 × 尤度 ∝ 事後。 → ベイズの定理
  3. 事象から確率変数へ:結果に数値を割り当てる関数 $X:\Omega\to\mathbb{R}$ を考えると、 確率は「数の上の分布」になる。 → 確率変数
  4. 確率変数から分布へ:値の起こりやすさの全体像。 二項・ポアソン・正規など「現象の型」と対応。 → 確率分布主要な分布正規分布
  5. 分布を要約する:重心が期待値 $E[X]$、 広がりが 分散 $V[X]=E[X^2]-(E[X])^2$。 期待値は独立性なしで線型(→ 平均(期待値))。
  6. 多数の平均のふるまい:標本平均は真の期待値へ収束(大数の法則)、 その分布は正規に近づく(中心極限定理)。 統計推測・モンテカルロの理論的土台。 → 標本抽出と中心極限定理信頼区間仮説検定

※ 本用語集には 大数の法則中心極限定理期待値の単独ページは(現時点では)なく、 中心極限定理は 標本抽出と中心極限定理、 期待値は 平均(期待値) のページで扱っています。 大数の法則は本ページ上部「🌊 大数の法則と中心極限定理」および「🎲 モンテカルロ法」節を参照してください。