コンテンツにスキップ

第 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\) は次を満たす関数:

  1. \(0 \leq P(A) \leq 1\)
  2. \(P(\Omega) = 1\)
  3. 互いに素な \(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 ベイズの定理

\[P(A \mid B) = \frac{P(B \mid A) P(A)}{P(B)}\]

\(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\)$

\[P(\text{病気} \mid \text{陽性}) = \frac{0.99 \cdot 0.001}{0.01098} \approx 0.090 = 9\%\]

ツリーで描くとこんな構造です:

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\)

連続分布の PDF と CDF:

   PDF                CDF
    /\             1┤    ╭────
  /    \            │  /
/        \          │/
                     0┤

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\)

期待値の 線形性 — 最強の道具

\[E[aX + bY] = aE[X] + bE[Y]\]

\(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 正規分布(ガウス分布)— 統計の王様

\[f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-(x-\mu)^2/(2\sigma^2)}\]
   確率密度
     ^
     |          __
     |        /    \      ← 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 流れ

  1. 帰無仮説 \(H_0\): 「効果はない」(保守的な主張)
  2. 対立仮説 \(H_1\): 「効果がある」
  3. データを取り、検定統計量を計算
  4. \(H_0\) のもとで、観測値以上に極端な値が出る確率 = \(p\)
  5. \(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 演習問題

  1. コイン 10 回中、表が 7 回以上出る確率を求めよ。
  2. ある検査の感度 95%、特異度 90%、罹患率 1% のとき、陽性者が病気である確率を求めよ。
  3. \(X \sim N(0, 1)\) について \(P(-1.96 \leq X \leq 1.96)\) を概算せよ。
  4. \(X_1, \ldots, X_n \sim \text{Bern}(p)\) のとき MLE が \(\bar X\) になることを示せ。
  5. A/B テストで A 群 5000 人中 250、B 群 5000 人中 300 がコンバージョン。\(z\) 検定で有意差判定をせよ。
  6. 2 状態のマルコフ連鎖 \(P = \begin{pmatrix}0.7 & 0.3 \\ 0.4 & 0.6\end{pmatrix}\) の定常分布を求めよ。
  7. 期待値の線形性を使い、コイン 100 回投げで表の数の期待値・分散を求めよ。
  8. 誕生日のパラドックスで、\(n\) 人いると「誕生日が一致するペアが存在する確率が 50% を超える」最小の \(n\) を求めよ。
  9. ポアソン分布 \(\lambda = 5\) で「ちょうど 3 回起こる」確率を計算せよ。
  10. 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%」を嫌い、「おそらく」「有意」「信頼区間」で語る訓練をすると、世界の見方が大人になります。