測度論的確率論入門 — σ加法族と確率測度

サイコロを振って出る目の確率を考えるとき、「6つの面が等確率で出る」という直感的な理解で十分です。しかし、連続的な確率変数(たとえば「0から1の一様分布から1点を選ぶ」)を扱おうとすると、深い問題にぶつかります。個々の点の確率はすべてゼロなのに、全体の確率は1——この矛盾をどう解決するのでしょうか。

この問題を解決し、確率論に厳密な数学的基盤を与えるのが測度論的確率論(measure-theoretic probability)です。コルモゴロフ(A. N. Kolmogorov)が1933年に定式化したこの枠組みは、離散確率と連続確率を統一的に扱い、現代の確率論・統計学・確率過程論の基盤となっています。

測度論的確率論を理解すると、以下のような理論が厳密に定式化できます。

  • 確率変数の収束理論: 概収束、確率収束、分布収束などの概念の厳密な定義と相互関係
  • 条件付き期待値: 一般の場合の条件付き期待値の存在と一意性(ラドン・ニコディムの定理)
  • 確率過程: ブラウン運動、マルチンゲール、確率微分方程式の理論的基盤
  • 大数の法則と中心極限定理: これらの定理の一般的な条件と証明

本記事では、測度論的確率論の3つの柱——σ加法族確率測度確率空間——を直感的に理解し、なぜこの抽象的な道具立てが必要なのかを具体例で示します。

本記事の内容

  • なぜ測度論的確率論が必要なのか
  • σ加法族(σ-algebra)の定義と直感的意味
  • 確率測度の公理と性質
  • 確率空間 $(\Omega, \mathcal{F}, P)$ の構成
  • 確率変数の測度論的定義
  • ボレル集合とルベーグ測度
  • Pythonによる具体例の可視化

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

なぜ測度論的確率論が必要なのか

素朴な確率の限界

高校で学ぶ確率は、有限個の結果(サイコロの目、コインの表裏)に対して定義されます。全事象 $\Omega = \{\omega_1, \omega_2, \dots, \omega_n\}$ の各要素に非負の確率 $P(\{\omega_i\})$ を割り当て、総和が1になれば、どんな事象(部分集合)の確率も計算できます。

しかし、$\Omega$ が非可算無限集合(たとえば $\Omega = [0, 1]$)になると、事情が変わります。

$[0, 1]$ の一様分布を考えましょう。任意の1点 $x$ に対して $P(\{x\}) = 0$ です。「点の確率がゼロ」は矛盾ではありません。しかし、$[0, 1]$ のすべての部分集合に対して一貫した確率を定義しようとすると、数学的に矛盾が生じることが知られています。

具体的には、ヴィタリの定理(1905年)により、選択公理のもとで「$[0, 1]$ のすべての部分集合にルベーグ測度と整合的な測度を定義することはできない」ことが証明されています。つまり、「測定不能な集合」(非可測集合)が存在するのです。

測度論の役割

この問題に対する解決策が、確率を定義する集合の範囲を制限することです。すべての部分集合ではなく、「確率を定義するのに十分で、かつ矛盾が生じない」ような部分集合のコレクションだけを考えます。この「適切なコレクション」がσ加法族であり、そのコレクション上で定義される確率の関数が確率測度です。

大雑把に言えば、測度論的確率論は以下の3つの質問に答える枠組みです。

  1. どこで確率を測るか: σ加法族 $\mathcal{F}$(「どの事象の確率を問うことが許されるか」)
  2. 確率をどう割り当てるか: 確率測度 $P$(「各事象にどれだけの確率を割り当てるか」)
  3. 全体の舞台は何か: 標本空間 $\Omega$(「何が起こりうるかの全体」)

この3つ組 $(\Omega, \mathcal{F}, P)$ が確率空間(probability space)です。

では、各要素を順に定義していきましょう。

σ加法族の定義

定義

集合 $\Omega$ の部分集合の族 $\mathcal{F}$ がσ加法族(σ-algebra、シグマ代数)であるとは、以下の3つの条件を満たすことをいいます。

$$ \text{(i)} \quad \Omega \in \mathcal{F} $$

$$ \text{(ii)} \quad A \in \mathcal{F} \implies A^c \in \mathcal{F} \quad \text{(補集合で閉じている)} $$

$$ \text{(iii)} \quad A_1, A_2, A_3, \dots \in \mathcal{F} \implies \bigcup_{i=1}^{\infty} A_i \in \mathcal{F} \quad \text{(可算和で閉じている)} $$

直感的な意味

σ加法族の各要素は「事象」(event)です。$\mathcal{F}$ に含まれる集合だけが「確率を問うことのできる事象」なのです。

条件(i)は「何かが起きる」という確実事象が事象であることを要求します。

条件(ii)は「$A$ が起きる確率が定義できるなら、$A$ が起きない確率も定義できるべきだ」という自然な要求です。

条件(iii)は「事象 $A_1, A_2, A_3, \dots$ の確率がそれぞれ定義できるなら、そのいずれかが起きる確率も定義できるべきだ」という要求です。「可算個」の和で閉じていることが重要であり、有限個の和だけでは不十分です(有限加法族ではなくσ加法族が必要な理由は、確率の連続性を保証するためです)。

具体例

最小のσ加法族: $\mathcal{F} = \{\emptyset, \Omega\}$(自明σ加法族)。確率を問える事象は「何も起きない」と「何か起きる」だけです。

最大のσ加法族: $\mathcal{F} = 2^{\Omega}$($\Omega$ のべき集合)。$\Omega$ が有限集合であれば、これが自然な選択です。サイコロの場合、$\Omega = \{1,2,3,4,5,6\}$ の全64個の部分集合がσ加法族を形成します。

ボレルσ加法族: $\Omega = \mathbb{R}$ のとき、すべての開区間から生成されるσ加法族 $\mathcal{B}(\mathbb{R})$ をボレルσ加法族と呼びます。開集合、閉集合、$G_\delta$ 集合、$F_\sigma$ 集合、およびそれらの可算的な操作で得られるすべての集合を含みますが、非可測集合は含みません。

生成σ加法族

集合族 $\mathcal{C}$ を含む最小のσ加法族を $\sigma(\mathcal{C})$ と書き、$\mathcal{C}$ が生成するσ加法族と呼びます。

たとえば、$\mathbb{R}$ 上のボレルσ加法族は、すべての開区間 $\{(a, b) : a < b\}$ が生成するσ加法族です。

$$ \mathcal{B}(\mathbb{R}) = \sigma(\{(a, b) : a, b \in \mathbb{R},\, a < b\}) $$

σ加法族の概念を理解したところで、次に確率測度を定義しましょう。

確率測度の定義

コルモゴロフの公理

$(\Omega, \mathcal{F})$ を可測空間(σ加法族付きの集合)とします。$\mathcal{F}$ 上の関数 $P: \mathcal{F} \to [0, 1]$ が確率測度(probability measure)であるとは、以下の3つの公理を満たすことをいいます。

公理1(非負性):

$$ P(A) \geq 0 \quad \text{for all } A \in \mathcal{F} $$

公理2(正規化):

$$ P(\Omega) = 1 $$

公理3(可算加法性、σ加法性):

$$ A_1, A_2, \dots \in \mathcal{F} \text{ が互いに排反 } \implies P\left(\bigcup_{i=1}^{\infty} A_i\right) = \sum_{i=1}^{\infty} P(A_i) $$

公理からの帰結

これら3つの公理から、確率の基本的な性質がすべて導出されます。

空事象の確率: $P(\emptyset) = 0$

証明: $\Omega = \Omega \cup \emptyset \cup \emptyset \cup \cdots$(互いに排反)より、$P(\Omega) = P(\Omega) + P(\emptyset) + P(\emptyset) + \cdots$。$P(\Omega) = 1$ は有限なので、$P(\emptyset) = 0$ でなければなりません。

補事象: $P(A^c) = 1 – P(A)$

証明: $\Omega = A \cup A^c$(互いに排反)より、$1 = P(A) + P(A^c)$。

単調性: $A \subseteq B$ ならば $P(A) \leq P(B)$

証明: $B = A \cup (B \setminus A)$(互いに排反)より、$P(B) = P(A) + P(B \setminus A) \geq P(A)$。

加法公式: $P(A \cup B) = P(A) + P(B) – P(A \cap B)$

確率の連続性: $A_1 \subseteq A_2 \subseteq \cdots$ のとき $P\left(\bigcup_{i=1}^{\infty} A_i\right) = \lim_{n \to \infty} P(A_n)$

確率の連続性は、σ加法性(可算加法性)から導かれる重要な性質であり、有限加法性だけでは保証されません。これがσ加法族を使う主要な理由の一つです。

確率空間

定義

3つ組 $(\Omega, \mathcal{F}, P)$ が確率空間(probability space)であるとは、

  • $\Omega$ が空でない集合(標本空間
  • $\mathcal{F}$ が $\Omega$ のσ加法族(事象の族
  • $P$ が $\mathcal{F}$ 上の確率測度

であることをいいます。

具体例

例1: 公正なサイコロ

$$ \Omega = \{1, 2, 3, 4, 5, 6\}, \quad \mathcal{F} = 2^{\Omega}, \quad P(\{k\}) = \frac{1}{6} $$

例2: $[0, 1]$ 上の一様分布

$$ \Omega = [0, 1], \quad \mathcal{F} = \mathcal{B}([0, 1]), \quad P([a, b]) = b – a $$

ここで $\mathcal{B}([0, 1])$ はボレルσ加法族($[0, 1]$ の開集合から生成されるσ加法族)、$P$ はルベーグ測度です。

例3: コイン投げの無限列

$$ \Omega = \{H, T\}^{\mathbb{N}}, \quad \mathcal{F} = \sigma(\text{有限次元の円柱集合}), \quad P\text{は積測度} $$

無限回のコイン投げの結果の全体を $\Omega$ とし、有限回の結果に基づく事象から生成されるσ加法族上に確率測度を定義します。

次に、確率変数の測度論的定義を見ていきましょう。

確率変数の測度論的定義

可測関数としての確率変数

直感的には、確率変数は「結果に数値を割り当てる関数」です。サイコロの出目そのもの、あるいは出目の2乗、出目が偶数なら1、奇数なら0、など。

測度論的には、確率変数は可測関数として定義されます。

$(\Omega, \mathcal{F}, P)$ を確率空間、$(\mathbb{R}, \mathcal{B}(\mathbb{R}))$ をボレル可測空間とするとき、関数 $X: \Omega \to \mathbb{R}$ が確率変数であるとは、$X$ が $\mathcal{F}$-$\mathcal{B}(\mathbb{R})$ 可測、すなわち

$$ \begin{equation} X^{-1}(B) = \{\omega \in \Omega : X(\omega) \in B\} \in \mathcal{F} \quad \text{for all } B \in \mathcal{B}(\mathbb{R}) \end{equation} $$

であることをいいます。

可測性の直感

この条件は「$X$ がどんなボレル集合の値をとるか」という事象が、常にσ加法族 $\mathcal{F}$ に属していること——つまり、常に確率を計算できること——を要求しています。

実用的には、すべてのボレル集合について確認する必要はなく、以下のいずれか1つを確認すれば十分です。

$$ \{X \leq a\} = \{\omega : X(\omega) \leq a\} \in \mathcal{F} \quad \text{for all } a \in \mathbb{R} $$

これは累積分布関数 $F(a) = P(X \leq a)$ が定義可能であることと同値です。

確率変数の分布

確率変数 $X$ の分布(law, distribution)$P_X$ は、$(\mathbb{R}, \mathcal{B}(\mathbb{R}))$ 上の確率測度として次のように定義されます。

$$ P_X(B) = P(X^{-1}(B)) = P(X \in B) \quad \text{for all } B \in \mathcal{B}(\mathbb{R}) $$

これは $P$ の $X$ による像測度(pushforward measure)です。

ボレル集合とルベーグ測度

ボレル集合

$\mathbb{R}$ 上のボレル集合(Borel set)とは、ボレルσ加法族 $\mathcal{B}(\mathbb{R})$ の要素のことです。

ボレルσ加法族は、すべての開区間(あるいは同等に、すべての開集合)から生成される最小のσ加法族です。以下の集合はすべてボレル集合です。

  • 開集合、閉集合
  • $G_\delta$ 集合(開集合の可算共通部分)
  • $F_\sigma$ 集合(閉集合の可算和)
  • 1点 $\{x\}$(閉集合)
  • 可算集合(1点集合の可算和)
  • カントール集合(閉集合)

実用上遭遇するほとんどすべての集合はボレル集合です。

ルベーグ測度

$\mathbb{R}$ 上のルベーグ測度(Lebesgue measure)$m$ は、区間の「長さ」を一般化した測度です。

$$ m([a, b]) = b – a $$

ルベーグ測度は、区間に対する長さの概念を、σ加法性と平行移動不変性を保ちつつ、ボレル集合(さらにルベーグ可測集合)全体に拡張したものです。

$[0, 1]$ 上の一様分布は、$[0, 1]$ 上のルベーグ測度そのものです。

Pythonで見る確率空間の具体例

抽象的な概念を具体例で確認しましょう。

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(42)

fig, axes = plt.subplots(1, 3, figsize=(18, 5))

# (a) 離散的な確率空間: サイコロ
ax = axes[0]
omega = np.arange(1, 7)
P = np.ones(6) / 6

ax.bar(omega, P, color="steelblue", edgecolor="white", alpha=0.8)

# 事象 A = {偶数} の確率
A = [2, 4, 6]
for a in A:
    ax.bar(a, 1/6, color="red", edgecolor="white", alpha=0.6)

ax.set_xlabel(r"$\omega$", fontsize=12)
ax.set_ylabel(r"$P(\{\omega\})$", fontsize=12)
ax.set_title(r"Discrete: $\Omega = \{1,...,6\}$, $P(A)=1/2$", fontsize=12)
ax.set_xticks(omega)
ax.grid(True, alpha=0.3, axis="y")

# (b) 連続的な確率空間: 一様分布
ax = axes[1]
x = np.linspace(0, 1, 500)
pdf = np.ones_like(x)

ax.fill_between(x, pdf, alpha=0.3, color="steelblue")
ax.plot(x, pdf, "b-", linewidth=2)

# 事象 B = [0.2, 0.5]
x_B = np.linspace(0.2, 0.5, 100)
ax.fill_between(x_B, np.ones_like(x_B), alpha=0.5, color="red")

ax.set_xlabel(r"$\omega$", fontsize=12)
ax.set_ylabel(r"$f(\omega)$", fontsize=12)
ax.set_title(r"Continuous: $\Omega = [0,1]$, $P(B) = 0.3$", fontsize=12)
ax.set_xlim(-0.1, 1.1)
ax.set_ylim(0, 1.5)
ax.grid(True, alpha=0.3)

# (c) 確率変数の像測度
ax = axes[2]
n_samples = 10000
omega_samples = np.random.uniform(0, 1, n_samples)

# 確率変数 X(ω) = -ln(ω) → 指数分布に従う
X = -np.log(omega_samples)

ax.hist(X, bins=50, density=True, alpha=0.6, color="steelblue",
        edgecolor="white", label=r"$X(\omega) = -\ln(\omega)$")

from scipy import stats
x_theory = np.linspace(0, 6, 200)
ax.plot(x_theory, stats.expon.pdf(x_theory), "r-", linewidth=2.5,
        label="Exp(1) PDF")

ax.set_xlabel("x", fontsize=12)
ax.set_ylabel("Density", fontsize=12)
ax.set_title(r"Pushforward: $U[0,1] \to \mathrm{Exp}(1)$", fontsize=12)
ax.legend(fontsize=10)
ax.grid(True, alpha=0.3)

plt.tight_layout()
plt.savefig("measure_prob_examples.png", dpi=150, bbox_inches="tight")
plt.show()

この可視化から、確率空間の概念が具体的に理解できます。

  1. 左図(離散): サイコロの確率空間。各要素に確率 $1/6$ が割り当てられ、事象 $A = \{2, 4, 6\}$(赤)の確率は $P(A) = 1/2$ です。離散の場合、σ加法族として $2^\Omega$(全部分集合)を取れば何の問題もありません

  2. 中央図(連続): $[0, 1]$ 上の一様分布。個々の点の確率はゼロですが、区間 $B = [0.2, 0.5]$(赤)には $P(B) = 0.3$ という正の確率が定義されます。ボレルσ加法族に属する集合だけが事象として扱えます

  3. 右図(像測度): $\Omega = [0, 1]$ 上の一様分布から、確率変数 $X(\omega) = -\ln(\omega)$ を通じて指数分布が「生成」されています。確率変数は確率空間の構造を別の空間に「写す」関数であり、その像測度が確率変数の分布です

期待値のルベーグ積分による定義

測度論の枠組みでは、確率変数の期待値はルベーグ積分として定義されます。

$$ \begin{equation} E[X] = \int_{\Omega} X(\omega)\,dP(\omega) \end{equation} $$

この積分が存在するための条件は $E[|X|] < \infty$ です。

離散の場合は $E[X] = \sum_{\omega} X(\omega)P(\{\omega\})$、連続の場合(確率密度関数 $f$ が存在する場合)は $E[X] = \int_{-\infty}^{\infty} x f(x)\,dx$ に帰着します。

ルベーグ積分の重要な性質は、リーマン積分よりも広いクラスの関数に対して定義でき、優収束定理単調収束定理のような強力な極限交換の道具を使えることです。

import numpy as np
import matplotlib.pyplot as plt

fig, axes = plt.subplots(1, 2, figsize=(14, 5.5))

# リーマン積分 vs ルベーグ積分の直感
ax = axes[0]

# ディリクレ関数の近似: [0,1]上で有理数なら1、無理数なら0
# リーマン積分は存在しないが、ルベーグ積分は0
x = np.linspace(0, 1, 500)

# 近似(実際のディリクレ関数は描画できないので概念的に示す)
ax.axhline(0, color="blue", linewidth=2, label="Value at irrationals (measure 1)")
ax.scatter([0.1, 0.2, 0.25, 1/3, 0.4, 0.5, 0.6, 2/3, 0.75, 0.8, 0.9],
           [1]*11, color="red", s=30, zorder=5,
           label="Value at rationals (measure 0)")

ax.set_xlabel(r"$\omega \in [0, 1]$", fontsize=12)
ax.set_ylabel("f(x)", fontsize=12)
ax.set_title("Dirichlet function: Riemann fails, Lebesgue works", fontsize=12)
ax.legend(fontsize=10)
ax.set_ylim(-0.3, 1.5)
ax.grid(True, alpha=0.3)
ax.text(0.5, 0.7, r"$\int_0^1 f\,dm = 0$ (Lebesgue)", fontsize=14,
        ha="center", bbox=dict(facecolor="lightyellow", alpha=0.8))

# 確率変数のルベーグ積分
ax = axes[1]
np.random.seed(42)

n_range = np.arange(10, 10001, 10)
means = []

for n in n_range:
    omega = np.random.uniform(0, 1, n)
    X = np.sin(2 * np.pi * omega) * np.exp(omega)
    means.append(np.mean(X))

ax.plot(n_range, means, "b-", linewidth=0.8, alpha=0.7)

# 理論値(ルベーグ積分)
from scipy.integrate import quad
theoretical_mean, _ = quad(lambda w: np.sin(2*np.pi*w)*np.exp(w), 0, 1)
ax.axhline(theoretical_mean, color="red", linewidth=2, linestyle="--",
           label=rf"$E[X] = {theoretical_mean:.4f}$ (Lebesgue integral)")

ax.set_xlabel("Sample size n", fontsize=12)
ax.set_ylabel("Sample mean", fontsize=12)
ax.set_title(r"$X(\omega) = \sin(2\pi\omega)e^{\omega}$, $\omega \sim U[0,1]$",
             fontsize=12)
ax.legend(fontsize=10)
ax.grid(True, alpha=0.3)

plt.tight_layout()
plt.savefig("measure_prob_lebesgue.png", dpi=150, bbox_inches="tight")
plt.show()

この図から、測度論的な期待値の概念が具体的に理解できます。

  1. 左図: ディリクレ関数はリーマン積分できないが、ルベーグ積分は0 。有理数の集合は可算なのでルベーグ測度がゼロであり、関数値が1である点は「測度ゼロの例外」として無視できます。測度論的な視点では「ほとんど至るところで0」なので積分値は0です

  2. 右図: モンテカルロ法はルベーグ積分の数値近似 。$\omega$ を $[0, 1]$ の一様分布から繰り返しサンプルし、$X(\omega)$ の算術平均を取ると、大数の法則によりルベーグ積分 $\int_0^1 X(\omega)\,d\omega$ に収束します。サンプルサイズが大きくなるにつれて、サンプル平均が理論値(赤の破線)に収束する様子が確認できます

「ほとんど確実に」の概念

測度論的確率論でよく登場する概念が「ほとんど確実に」(almost surely, a.s.)です。

事象 $A$ が「ほとんど確実に」成り立つとは、$P(A) = 1$ であることを意味します。同値な表現として、$A$ が成り立たない確率変数の集合 $A^c$ がゼロ測度、すなわち $P(A^c) = 0$ です。

この概念は、大数の法則の正確な記述に不可欠です。

大数の強法則: $X_1, X_2, \dots$ が i.i.d. で $E[|X_1|] < \infty$ ならば、

$$ P\left(\lim_{n \to \infty} \frac{1}{n}\sum_{i=1}^n X_i = E[X_1]\right) = 1 $$

「ほとんど確実に」収束するとは、収束しない $\omega$ の集合の確率がゼロであることを意味します。ゼロでないが測度がゼロの例外は許容されるのです。

まとめ

本記事では、測度論的確率論の基礎概念を解説しました。

  • σ加法族 $\mathcal{F}$ は「確率を問うことが許される事象のコレクション」であり、補集合と可算和で閉じている部分集合族です
  • 確率測度 $P$ は非負性・正規化($P(\Omega) = 1$)・σ加法性の3つの公理で定義される関数です
  • 確率空間 $(\Omega, \mathcal{F}, P)$ は、標本空間・事象の族・確率測度の3つ組であり、確率論の出発点です
  • 確率変数は $\mathcal{F}$-$\mathcal{B}(\mathbb{R})$ 可測関数として定義され、像測度が分布を与えます
  • 期待値はルベーグ積分として定義され、優収束定理・単調収束定理などの強力な極限交換が使えます
  • ほとんど確実に(a.s.)は $P = 1$ の事象を指し、大数の法則の正確な記述に不可欠です

測度論的確率論は抽象的ですが、この枠組みがあるからこそ、収束の理論、条件付き期待値、確率過程論といった高度な理論が矛盾なく構築できるのです。

次のステップとして、以下の記事も参考にしてください。