第 4 章 確率と統計¶
まえがき — 不確実な世界を扱う数学¶
「明日の降水確率 30%」って、結局どういう意味? A/B テストで「効果があった」と言うには何人のデータが必要? なぜ機械学習モデルは「正解」じゃなくて「確率」を出すの? スパムフィルタはどうやって新しいメールを分類してるの?
これらの疑問の答えを与えるのが 確率と統計 です。
世界は 不確実 に満ちています。コインの裏表、サイコロの目、サーバーが落ちる時間、ユーザーがボタンを押すかどうか――全部「予測不能」です。確率は不確実性を 数値化する言葉、統計は データから世界の姿を推論する技術。両者を合わせて、「何となく」を「数値で論じる」ことができる ようになります。
🎯 章の目標
- 確率の基本ルール(条件付き確率、ベイズの定理)を扱える
- 期待値と分散を計算でき、平均と「ばらつき」の意味を語れる
- 正規分布・二項分布など主要な分布を場面に応じて使い分けられる
- 大数の法則と中心極限定理が現実で何を保証するか分かる
- A/B テスト、最尤推定、ベイズ推定の概念を実務で活かせる
中学・高校の確率(順列・組合せ)があれば前提十分です。
4.1 なぜ確率と統計か¶
4.1.1 CS の現場には不確実性が満ちている¶
- A/B テスト: 新機能で本当に CTR が上がる?
- 機械学習: 入力に対する予測の確信度
- ネットワーク遅延: 平均は 50ms、99 パーセンタイルは 200ms
- ハッシュ衝突: 何万件のキーで衝突確率は?
- 暗号の安全性: ランダム鍵が推測される確率
- ランダム化アルゴリズム: クイックソートのピボット
- 強化学習: 環境からの確率的な報酬
「正しいか間違っているか」ではなく「どれくらい確かか」を測れることが、現代エンジニアの基礎力です。
4.1.2 直感は当てにならない¶
人間の直感は確率に弱いです。有名な落とし穴:
- 誕生日のパラドックス: 23 人の集団で誕生日が一致するペアがいる確率 > 50%
- モンティ・ホール問題: 3 つのドアの選び方を変えるべきかどうか
- 基準率の誤謬: 検査が陽性でも、本当に病気の確率は意外と低い
「直感」より「数式」を信じる ことが、確率を学ぶ最大の効用です。
4.2 確率の基礎¶
4.2.1 標本空間と事象¶
- 標本空間 \(\Omega\): 起こりうる結果の集合
- 事象 \(A\): \(\Omega\) の部分集合
例: サイコロを 1 回投げる - \(\Omega = \{1, 2, 3, 4, 5, 6\}\) - 「偶数が出る」 = \(A = \{2, 4, 6\}\)
4.2.2 確率の公理¶
確率測度 \(P\) は次を満たす関数:
- \(0 \leq P(A) \leq 1\)
- \(P(\Omega) = 1\)
- 互いに素な \(A_1, A_2, \ldots\) に対し \(P(\bigcup A_i) = \sum P(A_i)\)
これがコルモゴロフの公理 (1933)。「確率は和が 1、互いに素なら足せる」という素朴な要請をきっちり定式化したもの。
4.2.3 確率の計算(古典的定義)¶
「同様に確からしい」場合: $\(P(A) = \frac{|A|}{|\Omega|}\)$
例: サイコロで偶数が出る確率 = \(3/6 = 1/2\)。
4.2.4 余事象と和の法則¶
- 余事象: \(P(\bar A) = 1 - P(A)\)
- 加法定理: \(P(A \cup B) = P(A) + P(B) - P(A \cap B)\)
例: トランプから 1 枚引いて「ハート」または「絵札」の確率 $\(13/52 + 12/52 - 3/52 = 22/52 \approx 0.42\)$
4.2.5 条件付き確率¶
「\(B\) が起きたとわかった上で、\(A\) が起きる確率」: $\(P(A \mid B) = \frac{P(A \cap B)}{P(B)}\)$
例: サイコロで「偶数が出た」と分かった上で「6 が出た」確率は \(1/3\)。
4.2.6 独立性¶
\(A, B\) が独立 ⇔ \(P(A \cap B) = P(A) P(B)\)。
「片方の結果がもう一方の確率に影響しない」。
例: - コインを 2 回投げる ⇒ 各回は独立 - カードを引いて戻さず 2 枚目 ⇒ 独立ではない
注意: 「独立」と「互いに素」は 全く違う 概念。互いに素は同時に起きない、独立は確率的に無関係。
4.3 ベイズの定理 — 確率を「更新」する¶
4.3.1 ベイズの定理¶
「\(A\) の確率を、新情報 \(B\) で更新する」公式。
4.3.2 古典的応用: 検査結果を信じるべきか?¶
ある病気の罹患率は 0.1%(1000 人に 1 人)。検査の精度は: - 病気の人が陽性になる確率: 99% (感度) - 健康な人が陰性になる確率: 99% (特異度)
検査で陽性になった人が 本当に病気である確率は?
ベイズの定理を使って: $\(P(\text{病気} \mid \text{陽性}) = \frac{P(\text{陽性} \mid \text{病気}) P(\text{病気})}{P(\text{陽性})}\)$
分母を計算: $\(P(\text{陽性}) = 0.99 \cdot 0.001 + 0.01 \cdot 0.999 = 0.00099 + 0.00999 = 0.01098\)$
ツリーで描くとこんな構造です:
graph TD
Root[1000 人]
Root -->|罹患率 0.1%| Sick[病気: 1 人]
Root -->|99.9%| Healthy[健康: 999 人]
Sick -->|感度 99%| SickPos[陽性: 約 1 人]
Sick -->|1%| SickNeg[陰性: ほぼ 0]
Healthy -->|偽陽性 1%| HealthyPos[陽性: 約 10 人]
Healthy -->|99%| HealthyNeg[陰性: 989 人]
style SickPos fill:#ffcdd2
style HealthyPos fill:#ffe0b2
陽性者 11 人のうち、本当に病気は 1 人だけ → 約 9%。
驚きの結果: 99% 精度の検査で陽性でも、本当に病気の確率は わずか 9%。
これが 基準率の誤謬 (base rate fallacy)。「精度 99%」は完璧に見えても、まれな事象(罹患率 0.1%)と組み合わさると直感に反します。
医療、法廷、スパム判定、不正検知。「数字で考える」のがいかに大事か実感させてくれる例です。
4.3.3 ベイズの応用¶
- スパムフィルタ: メール本文 → スパム確率
- 医療診断: 症状 → 病気確率
- 機械学習: ナイーブベイズ分類器
- 音声認識: 音 → 単語の確率
- ベイズ推定: 機械学習のモデルパラメータ更新
「事前 (prior) → 観測 (likelihood) → 事後 (posterior)」の流れが現代 AI の中核。
4.4 確率変数¶
4.4.1 定義¶
確率変数 (random variable) \(X\) は、標本空間から実数への関数。
例: サイコロの目を表す \(X\) - \(X(1) = 1, X(2) = 2, \ldots, X(6) = 6\)
確率変数があると、確率を「\(X\) がある値になる確率」として扱えます。
4.4.2 離散と連続¶
- 離散: 取りうる値が飛び飛び(コイン、サイコロ、人数)
- 連続: 取りうる値が範囲内に無限にある(身長、温度、時間)
それぞれで違う道具を使う: - 離散: 確率質量関数 (PMF) \(p(x) = P(X = x)\) - 連続: 確率密度関数 (PDF) \(f(x)\)、\(P(a \leq X \leq b) = \int_a^b f(x) dx\)
4.4.3 累積分布関数 (CDF)¶
\(F(x) = P(X \leq x)\)。離散・連続どちらでも定義可能。単調非減少で、\(F(-\infty) = 0\), \(F(\infty) = 1\)。
4.5 期待値と分散¶
4.5.1 期待値¶
確率変数の「平均値」: - 離散: \(E[X] = \sum x \cdot p(x)\) - 連続: \(E[X] = \int x f(x) dx\)
例: サイコロの目の期待値 = \(\frac{1+2+3+4+5+6}{6} = 3.5\)
期待値の 線形性 — 最強の道具¶
\(X, Y\) が独立でなくても成立。これが超強力。
応用: コイン 100 回投げて表の数の期待値は? 1 回ごとに表になる確率は 0.5、それを 100 個足すだけで 50。線形性のおかげで簡単。
4.5.2 分散と標準偏差¶
ばらつきの指標: $\(\operatorname{Var}(X) = E[(X - \mu)^2] = E[X^2] - (E[X])^2\)$ $\(\sigma = \sqrt{\operatorname{Var}(X)}\)$
平均が同じでも分散が違うと「散らばり方」が違います。
例: サイコロの分散 $\(E[X^2] = \frac{1 + 4 + 9 + 16 + 25 + 36}{6} = 91/6 \approx 15.17\)$ $\(\operatorname{Var} = 15.17 - 3.5^2 = 2.92\)$
4.5.3 共分散と相関¶
2 変数の関連の強さ: $\(\operatorname{Cov}(X, Y) = E[(X - \mu_X)(Y - \mu_Y)]\)$
相関係数(-1 から 1): $\(\rho = \frac{\operatorname{Cov}(X, Y)}{\sigma_X \sigma_Y}\)$
- \(\rho = 1\): 完全な正の相関
- \(\rho = 0\): 無相関
- \(\rho = -1\): 完全な負の相関
注意: 相関は因果ではない。アイスの売上と溺死事故の数は相関するが、原因はどちらも気温。
4.6 主要な分布¶
4.6.1 ベルヌーイ分布¶
「1 回の試行で成功か失敗」。\(P(X=1) = p\), \(P(X=0) = 1-p\)。 - \(E[X] = p\) - \(\operatorname{Var}(X) = p(1-p)\)
例: コイン 1 回の表(\(p = 0.5\))。
4.6.2 二項分布¶
「独立に \(n\) 回の試行で成功した数」。 $\(P(X = k) = \binom{n}{k} p^k (1-p)^{n-k}\)$ - \(E[X] = np\) - \(\operatorname{Var}(X) = np(1-p)\)
例: コイン 10 回投げて表が 5 回出る確率 = \(\binom{10}{5}(0.5)^{10} \approx 0.246\)。
4.6.3 ポアソン分布¶
「単位時間あたりに稀な事象が起きる回数」。 $\(P(X = k) = \frac{\lambda^k e^{-\lambda}}{k!}\)$
- アクセス数(1 分間に届くリクエスト数)
- 不良品の発生数
- 地震発生数
\(E[X] = \operatorname{Var}(X) = \lambda\)(平均 = 分散)が特徴。
4.6.4 正規分布(ガウス分布)— 統計の王様¶
確率密度
^
| __
| / \ ← 68% (μ ± σ)
| / ████ \
| / ██████ \
| / ██████████ \
|/ \
──+──────|─────|─────|─────|──→ x
| μ-2σ μ-σ μ μ+σ μ+2σ
←──── 95% ────→
←──────── 99.7% ──────→
「山型の左右対称な分布」。中心 \(\mu\) で最も高く、両側に裾を引きます。標準偏差 \(\sigma\) が小さいほど 尖って細く、大きいほど なだらかで広い。
身長、誤差、株価変動、テストの点数――自然界のあらゆる「平均的なもの」が正規分布に近い。
経験則 (68-95-99.7)¶
- \(\mu \pm \sigma\) 内に 約 68% のデータ
- \(\mu \pm 2\sigma\) 内に 約 95% のデータ
- \(\mu \pm 3\sigma\) 内に 約 99.7% のデータ
「3σ を外れたら異常」というのはこれ。製造業の品質管理、機械学習の異常検知の基本。
標準正規分布¶
\(\mu = 0, \sigma = 1\) の正規分布。\(Z = (X - \mu)/\sigma\) で標準化できる。
4.6.5 指数分布¶
「次のイベントまでの時間」。 $\(f(x) = \lambda e^{-\lambda x}, \quad x \geq 0\)$
無記憶性: \(P(T > s + t \mid T > s) = P(T > t)\)。 「過去にいくら待ったかは、これからの待ち時間に影響しない」。
例: サーバ障害発生時間、放射性崩壊。
4.7 大数の法則と中心極限定理¶
確率論の 2 大定理。これらが「統計が信頼できる」根拠です。
4.7.1 大数の法則 (LLN)¶
独立同分布の \(X_1, X_2, \ldots, X_n\)(期待値 \(\mu\))について、標本平均 $\(\bar X_n = \frac{1}{n}(X_1 + \cdots + X_n)\)$ は \(n \to \infty\) で \(\mu\) に収束する。
「たくさんデータを集めれば、平均は真の値に近づく」――当然のように見えるが、定理として保証されている事実。
応用: モンテカルロ法(円周率の推定、機械学習)、A/B テスト、保険料の計算。
4.7.2 中心極限定理 (CLT)¶
標本平均 \(\bar X_n\) の分布は、\(n\) が大きいとき近似的に正規分布 \(N(\mu, \sigma^2/n)\) になる。
驚異的な事実: 元の分布が何であれ(正規でも一様でも非対称でも)、平均を取ると正規分布に近づく。
これが「正規分布が至る所に出る理由」。身長、誤差、視聴率の調査、すべて多くの要因の重ね合わせなので CLT の効果で正規分布になります。
応用: - 信頼区間の計算 - 仮説検定 - 機械学習の損失分布 - 物理シミュレーションの誤差評価
4.8 推定 — データからパラメータを当てる¶
4.8.1 点推定 vs 区間推定¶
- 点推定: 1 つの値を答える。「平均は 5.0」
- 区間推定: 範囲で答える。「95% の確率で平均は [4.5, 5.5] にある」
4.8.2 最尤推定 (MLE)¶
「観測データが最も起きやすいパラメータ」を選ぶ。
尤度: \(L(\theta) = \prod_i p(x_i; \theta)\)
例: コイン 10 回投げて表 7 回。\(\hat p = 7/10 = 0.7\) が MLE。
MLE はあらゆる学習の母¶
- 線形回帰の最小二乗 = ガウス雑音モデルでの MLE
- ロジスティック回帰 = ベルヌーイモデルでの MLE
- ニューラルネット = 適切な分布での MLE
「学習 = MLE」と一言で言っても過言ではないくらい、機械学習の中核。
4.8.3 ベイズ推定¶
事後分布を計算: $\(p(\theta \mid \mathcal{D}) \propto p(\mathcal{D} \mid \theta) p(\theta)\)$
事前分布 \(p(\theta)\)(信念)にデータの尤度を掛けて、事後分布を得る。
MLE と何が違う? ベイズは「不確実性も含めて」答える。「平均は 5.0」ではなく「平均はおそらく 4.8〜5.2 の範囲、最も確からしいのは 5.0」。
応用: 強化学習、A/B テスト、医療意思決定、自動運転。
4.8.4 不偏性・一致性¶
- 不偏: \(E[\hat\theta] = \theta\)。「平均的に正しい」
- 一致: \(n \to \infty\) で真値に収束
標本分散の式で \(n - 1\) で割るのは不偏推定にするため: $\(s^2 = \frac{1}{n-1} \sum (x_i - \bar x)^2\)$
4.9 信頼区間¶
「真値が含まれる区間を、95% の信頼度 で当てる」推定。
標本平均の場合(\(n\) が大きい): $\(\bar X \pm 1.96 \cdot \frac{s}{\sqrt n}\)$
「1.96」は標準正規分布の 95% 点(覚える価値あり)。
重要な誤解の訂正: 「真値が区間に含まれる確率が 95%」ではない。「同じ手続きで何度も区間を作れば、95% は真値を含む」が正確な意味。
4.10 仮説検定 — A/B テストの数学¶
4.10.1 流れ¶
- 帰無仮説 \(H_0\): 「効果はない」(保守的な主張)
- 対立仮説 \(H_1\): 「効果がある」
- データを取り、検定統計量を計算
- \(H_0\) のもとで、観測値以上に極端な値が出る確率 = \(p\) 値
- \(p < \alpha\) (有意水準、典型 0.05) なら \(H_0\) を棄却
4.10.2 第 1 種誤り・第 2 種誤り¶
| \(H_0\) 真 | \(H_0\) 偽 | |
|---|---|---|
| \(H_0\) 棄却 | 第 1 種誤り \(\alpha\) | 正解 (検出力) |
| \(H_0\) 採択 | 正解 | 第 2 種誤り \(\beta\) |
A/B テストでは: - 第 1 種: 効果ないのに「ある」と判定(偽陽性) - 第 2 種: 効果あるのに「ない」と判定(偽陰性)
両方を抑えたいが、トレードオフがあります。サンプルサイズを増やす のが両方下げる王道。
4.10.3 主要な検定¶
| 検定 | 用途 |
|---|---|
| \(z\) 検定 / \(t\) 検定 | 平均の比較 |
| カイ二乗検定 | カテゴリの分布 |
| ANOVA | 3 群以上の平均 |
| ノンパラメトリック検定 | 分布形を仮定しない |
4.10.4 A/B テストの実例¶
A 群 1000 人中 50 人がコンバージョン (5%)、B 群 1000 人中 70 人 (7%)。差は 有意?
割合の差の検定: $\(z = \frac{p_B - p_A}{\sqrt{p(1-p)(1/n_A + 1/n_B)}}\)$
ここで \(p = (50+70)/2000 = 0.06\)。 $\(z = \frac{0.07 - 0.05}{\sqrt{0.06 \cdot 0.94 \cdot (1/1000 + 1/1000)}} \approx 1.88\)$
両側 \(p\) 値 ≈ 0.06。0.05 をわずかに超えるので「有意とは言えない」。さらにサンプルが必要。
多重比較の罠¶
「100 個の指標で A/B テスト」をすると、5% の確率で偶然「有意」が出る指標が必ず数個出ます。ボンフェローニ補正 などで対処。
4.10.5 効果量と実用的有意性¶
\(p\) 値が小さくても、実用的な意味で重要かは別問題。サンプルが大きいと、ごくわずかな差も「統計的有意」になります。
- 効果量 (Cohen's d, Odds Ratio) で「どれくらい違うか」を見る
- ビジネス判断は 統計的有意性 + 効果の大きさ で
4.11 回帰分析¶
4.11.1 線形回帰¶
\(y = \beta_0 + \beta_1 x_1 + \cdots + \beta_p x_p + \varepsilon\)
最小二乗解: $\(\hat{\boldsymbol\beta} = (X^T X)^{-1} X^T \mathbf{y}\)$
これは MLE(誤差が正規分布のとき)と一致。第 17 章で詳述。
4.11.2 ロジスティック回帰¶
二値分類: $\(P(y = 1 \mid \mathbf{x}) = \sigma(\mathbf{w}^T \mathbf{x}) = \frac{1}{1 + e^{-\mathbf{w}^T \mathbf{x}}}\)$
学習はベルヌーイの MLE。これも第 17 章で詳述。
4.12 マルコフ連鎖¶
「次の状態が今の状態だけで決まる」確率過程。
例: 天気のモデル - 今日晴れ → 明日晴れ 0.8、雨 0.2 - 今日雨 → 明日晴れ 0.4、雨 0.6
遷移行列 \(P\) で記述、長期的な分布は固有ベクトル(線形代数!)で求めます。
応用: - PageRank(第 7 章) - 隠れマルコフモデル(音声認識) - 強化学習の MDP - 自然言語生成(n-gram 言語モデル) - MCMC(マルコフ連鎖モンテカルロ法)
4.13 情報理論との接続¶
4.13.1 エントロピー¶
不確かさの量: $\(H(X) = -\sum_x p(x) \log p(x)\)$
- 確率が一様 → エントロピー最大
- 1 つに集中 → エントロピー 0
例: コインの表確率 0.5 → 1 ビット、0.99 → ほぼ 0 ビット。
4.13.2 KL ダイバージェンス¶
2 つの分布の「距離」(厳密には距離ではない): $\(D_{\mathrm{KL}}(p \| q) = \sum_x p(x) \log \frac{p(x)}{q(x)}\)$
機械学習で「予測と真の分布の差」を測るのに使う。
4.13.3 クロスエントロピー¶
\(H(p, q) = H(p) + D_{\mathrm{KL}}(p \| q)\)
分類問題の損失関数として超頻出。
4.14 演習問題¶
- コイン 10 回中、表が 7 回以上出る確率を求めよ。
- ある検査の感度 95%、特異度 90%、罹患率 1% のとき、陽性者が病気である確率を求めよ。
- \(X \sim N(0, 1)\) について \(P(-1.96 \leq X \leq 1.96)\) を概算せよ。
- \(X_1, \ldots, X_n \sim \text{Bern}(p)\) のとき MLE が \(\bar X\) になることを示せ。
- A/B テストで A 群 5000 人中 250、B 群 5000 人中 300 がコンバージョン。\(z\) 検定で有意差判定をせよ。
- 2 状態のマルコフ連鎖 \(P = \begin{pmatrix}0.7 & 0.3 \\ 0.4 & 0.6\end{pmatrix}\) の定常分布を求めよ。
- 期待値の線形性を使い、コイン 100 回投げで表の数の期待値・分散を求めよ。
- 誕生日のパラドックスで、\(n\) 人いると「誕生日が一致するペアが存在する確率が 50% を超える」最小の \(n\) を求めよ。
- ポアソン分布 \(\lambda = 5\) で「ちょうど 3 回起こる」確率を計算せよ。
- NumPy で正規分布乱数 1000 個を生成し、ヒストグラムを描き、平均・分散を計算するコードを書け。
4.15 この章のまとめ¶
| 概念 | 役割 |
|---|---|
| 条件付き確率・ベイズ | 情報を取り入れて確率を更新 |
| 期待値の線形性 | 計算を超強力にする道具 |
| 正規分布 + CLT | 「平均は正規分布」が普遍 |
| 大数の法則 | データが多ければ真値に近づく |
| MLE | 機械学習の学習原理 |
| 仮説検定 | A/B テストの判定 |
| エントロピー | 不確かさの定量化 |
確率は「不確実性の代数」、統計は「データから世界を推論する科学」。両輪で、「直感の独裁」を脱した分析力 が手に入ります。
4.16 次に読むもの¶
- 入門: 東京大学教養学部統計学教室『統計学入門』
- 教科書: Wasserman, All of Statistics; Bishop, Pattern Recognition and Machine Learning
- CS 寄り: Mitzenmacher & Upfal, Probability and Computing
- 直感: Stat Quest (YouTube)
- 応用: 久保川達也『現代数理統計学の基礎』
- ベイズ: Gelman et al., Bayesian Data Analysis
🌟 メッセージ 確率と統計は「「分からない」を測る言葉」です。「絶対」「100%」を嫌い、「おそらく」「有意」「信頼区間」で語る訓練をすると、世界の見方が大人になります。