確率変数の収束 — 概収束・確率収束・分布収束・Lp収束

通常の解析学では、数列 $a_n$ が $a$ に「収束する」とは $|a_n – a| \to 0$ のことであり、意味は一つしかありません。しかし、確率変数の列 $X_n$ が $X$ に「収束する」とは何を意味するのでしょうか。確率変数は関数であり、その値が確率的に揺らぐため、「近づく」という概念には複数の異なる定式化が可能です。

実は、確率変数の収束には少なくとも4つの主要な概念があり、それぞれが異なる状況で使われます。大数の法則には「概収束」と「確率収束」、中心極限定理には「分布収束」、ルベーグ積分の極限交換には「$L^p$ 収束」が使われます。

これら4つの収束概念を正確に理解し、その強弱関係を把握することは、確率論と統計学を学ぶうえで不可欠です。

確率変数の収束を理解すると、以下のような理論が厳密に理解できます。

  • 大数の強法則・弱法則: 2つの法則の違いは概収束と確率収束の違い
  • 中心極限定理: 分布収束の最も重要な応用
  • 統計的推定の一致性: 推定量の収束を確率収束で定義
  • マルチンゲール収束定理: 概収束の重要な応用

本記事では、4つの収束概念を直感的に理解し、数学的定義を与え、相互関係を証明します。さらに、Pythonシミュレーションで各収束概念の振る舞いの違いを可視化します。

本記事の内容

  • 4つの収束概念の直感的理解と数学的定義
  • 収束間の含意関係(強弱関係)の証明
  • 反例による関係の非可逆性の確認
  • Pythonによるシミュレーションと可視化

前提知識

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

4つの収束概念 — 直感的な理解

アナロジー: 射撃の腕前が上達するとは

射撃の練習を考えましょう。$n$ 回目の練習での的の中心からのずれを $X_n$ とします。「射撃が上手くなる」($X_n$ が0に収束する)とは、どういう意味でしょうか。

  1. 概収束(almost sure convergence): 練習を無限に続ければ、いつか必ず的に命中するようになる。例外があるとしても、その例外的な「腕の悪い人」の割合は0%
  2. 確率収束(convergence in probability): 十分に練習すれば、的から $\epsilon$ 以上ずれる確率をいくらでも小さくできる。ただし、ごくまれにひどい外れが出る可能性は排除しない
  3. $L^p$ 収束: ずれの $p$ 乗の平均(期待値)が0に近づく。ずれの「平均的な大きさ」が小さくなる
  4. 分布収束(convergence in distribution): $X_n$ の分布(確率密度関数)の形が、$X$ の分布の形に近づく。個々の $X_n$ の値ではなく、分布全体としての近さ

直感的に、これらの強弱は次の通りです。

$$ \text{概収束} \implies \text{確率収束} \implies \text{分布収束} $$

$$ L^p\text{収束} \implies \text{確率収束} \implies \text{分布収束} $$

概収束と $L^p$ 収束の間に一般的な含意関係はありません。

では、各概念を数学的に定義していきましょう。

概収束(almost sure convergence)

定義

確率変数の列 $\{X_n\}$ が $X$ に概収束する(converge almost surely)とは、

$$ \begin{equation} P\left(\omega \in \Omega : \lim_{n \to \infty} X_n(\omega) = X(\omega)\right) = 1 \end{equation} $$

が成り立つことをいいます。$X_n \xrightarrow{\text{a.s.}} X$ と書きます。

直感

確率空間 $\Omega$ の各要素 $\omega$ は「運命のシナリオ」に対応します。概収束は、「ほとんどすべてのシナリオで、$X_n(\omega)$ が $X(\omega)$ に各点収束する」ことを意味します。例外的なシナリオ(収束しない $\omega$ の集合)の確率がゼロであれば許容されます。

同値な条件

概収束は以下の条件と同値です。

$$ P\left(\bigcap_{m=1}^{\infty}\bigcup_{N=1}^{\infty}\bigcap_{n=N}^{\infty}\left\{|X_n – X| < \frac{1}{m}\right\}\right) = 1 $$

あるいは、

$$ \forall \epsilon > 0: \quad P\left(\sup_{n \geq N} |X_n – X| \geq \epsilon\right) \to 0 \quad (N \to \infty) $$

大数の強法則: $X_1, X_2, \dots$ が i.i.d. で $E[|X_1|] < \infty$ ならば、$\bar{X}_n = \frac{1}{n}\sum_{i=1}^n X_i \xrightarrow{\text{a.s.}} E[X_1]$

概収束は最も強い収束の一つです。次に、一段弱い確率収束を見てみましょう。

確率収束(convergence in probability)

定義

$\{X_n\}$ が $X$ に確率収束する(converge in probability)とは、任意の $\epsilon > 0$ に対して

$$ \begin{equation} \lim_{n \to \infty} P(|X_n – X| > \epsilon) = 0 \end{equation} $$

が成り立つことをいいます。$X_n \xrightarrow{P} X$ と書きます。

直感

$n$ が大きくなると、$X_n$ が $X$ から $\epsilon$ 以上離れる確率が0に近づくという意味です。概収束との違いは、確率収束は各 $n$ での確率的な近さだけを要求し、パス($\omega$ ごとの収束)については何も言わない点です。

確率収束はするが概収束はしない例が存在します。これは後ほど反例で確認します。

大数の弱法則: $X_1, X_2, \dots$ が i.i.d. で $E[X_1^2] < \infty$ ならば、$\bar{X}_n \xrightarrow{P} E[X_1]$

次に、$L^p$ 収束を定義しましょう。

$L^p$ 収束

定義

$p \geq 1$ に対して、$\{X_n\}$ が $X$ に$L^p$ 収束する(converge in $L^p$)とは、

$$ \begin{equation} \lim_{n \to \infty} E[|X_n – X|^p] = 0 \end{equation} $$

が成り立つことをいいます。$X_n \xrightarrow{L^p} X$ と書きます。

$p = 2$ の場合を特に平均二乗収束(mean-square convergence)と呼びます。

直感

$L^p$ 収束は、$X_n$ と $X$ の「ずれの $p$ 乗の平均」がゼロに近づくことを要求します。確率収束が「大きなずれの確率がゼロに近づく」のに対し、$L^p$ 収束は「ずれの大きさの平均がゼロに近づく」というより量的な条件です。

確率収束との関係

$L^p$ 収束は確率収束を含意します。これはマルコフの不等式から直ちに従います。

$$ P(|X_n – X| > \epsilon) \leq \frac{E[|X_n – X|^p]}{\epsilon^p} \to 0 $$

逆は一般には成り立ちません。確率収束はするが $L^p$ 収束しない例が存在します。

最後に、最も弱い収束概念を見ましょう。

分布収束(convergence in distribution)

定義

$\{X_n\}$ が $X$ に分布収束する(converge in distribution)とは、$F_n$ を $X_n$ の累積分布関数、$F$ を $X$ の累積分布関数として、$F$ のすべての連続点 $x$ で

$$ \begin{equation} \lim_{n \to \infty} F_n(x) = F(x) \end{equation} $$

が成り立つことをいいます。$X_n \xrightarrow{d} X$ と書きます。

直感

分布収束は、個々の確率変数の値の近さではなく、分布全体の形が近づくことを要求します。たとえば、$X_n$ と $X$ が同じ確率空間上で定義されている必要すらありません。

中心極限定理: $X_1, X_2, \dots$ が i.i.d. で $E[X_1] = \mu$, $\text{Var}(X_1) = \sigma^2 < \infty$ ならば、$\frac{\sqrt{n}(\bar{X}_n - \mu)}{\sigma} \xrightarrow{d} N(0, 1)$

分布収束は他のすべての収束から含意される最も弱い収束概念です。

収束の含意関係

関係のまとめ

$$ \begin{array}{ccc} \text{概収束} & \Rightarrow & \text{確率収束} \\ & & \Downarrow \\ L^p\text{収束} & \Rightarrow & \text{分布収束} \end{array} $$

ただし矢印の向きは上から下、左から右です。正確には、

  1. 概収束 ⇒ 確率収束 (逆は一般に偽)
  2. $L^p$ 収束 ⇒ 確率収束 (逆は一般に偽)
  3. 確率収束 ⇒ 分布収束 (逆は一般に偽)
  4. 概収束と $L^p$ 収束の間に一般的な含意関係なし

証明1: 概収束 ⇒ 確率収束

$X_n \xrightarrow{\text{a.s.}} X$ と仮定します。$A_N = \sup_{n \geq N}|X_n – X|$ とおくと、概収束から $A_N \to 0$ a.s. が従います。

任意の $\epsilon > 0$ に対して $P(|X_n – X| > \epsilon) \leq P(A_N > \epsilon)$ であり($n \geq N$ のとき)、$A_N \to 0$ a.s. から $P(A_N > \epsilon) \to 0$ です。$\square$

証明2: $L^p$ 収束 ⇒ 確率収束

マルコフの不等式より、$P(|X_n – X| > \epsilon) \leq E[|X_n – X|^p]/\epsilon^p \to 0$。$\square$

証明3: 確率収束 ⇒ 分布収束

$X_n \xrightarrow{P} X$ のとき、任意の連続点 $x$ で $F_n(x) \to F(x)$ を示します。

任意の $\epsilon > 0$ に対して、 $$ F_n(x) = P(X_n \leq x) \leq P(X \leq x + \epsilon) + P(|X_n – X| > \epsilon) $$ $$ F_n(x) \geq P(X \leq x – \epsilon) – P(|X_n – X| > \epsilon) $$

$n \to \infty$ で $P(|X_n – X| > \epsilon) \to 0$ なので、$F(x-\epsilon) \leq \liminf F_n(x) \leq \limsup F_n(x) \leq F(x+\epsilon)$。$\epsilon \to 0$ で、$x$ が $F$ の連続点なら $F_n(x) \to F(x)$。$\square$

反例: 逆の含意は成り立たない

収束の含意関係の「逆」が成り立たないことを、具体的な反例で確認しましょう。

反例1: 確率収束するが概収束しない

タイプライターの列(typewriter sequence)と呼ばれる古典的な反例があります。

$[0, 1]$ 上の一様分布で $\omega$ を選びます。事象の列を次のように定義します。

$$ X_1 = \mathbf{1}_{[0, 1]}, \quad X_2 = \mathbf{1}_{[0, 1/2]}, \quad X_3 = \mathbf{1}_{[1/2, 1]}, \quad X_4 = \mathbf{1}_{[0, 1/3]}, \quad X_5 = \mathbf{1}_{[1/3, 2/3]}, \quad X_6 = \mathbf{1}_{[2/3, 1]}, \quad \dots $$

$n$ 番目の $X_n$ は $[0,1]$ を $k$ 等分した部分区間の一つの指示関数です。$k$ は $n$ とともに増大するので、$P(X_n = 1) = 1/k \to 0$ であり、$X_n \xrightarrow{P} 0$ です。

しかし、どの $\omega \in [0,1]$ を取っても、$\omega$ を含む区間が無限回巡ってくるため、$X_n(\omega) = 1$ が無限回起きます。したがって $X_n(\omega) \not\to 0$ がすべての $\omega$ で成り立ち、概収束はしません。

反例2: 確率収束するが $L^p$ 収束しない

$X_n$ を次のように定義します。

$$ X_n = \begin{cases} n & \text{確率 } 1/n \\ 0 & \text{確率 } 1 – 1/n \end{cases} $$

$P(|X_n| > \epsilon) = P(X_n = n) = 1/n \to 0$ なので $X_n \xrightarrow{P} 0$ です。

しかし、$E[|X_n|^p] = n^p \cdot 1/n = n^{p-1} \to \infty$($p \geq 1$)なので、$L^p$ 収束はしません。まれにしか起きないが、起きたときの値が大きすぎるため、$p$ 乗期待値が発散します。

反例3: 分布収束するが確率収束しない

$X$ を一様分布 $U(0,1)$ に従う確率変数とし、$X_n = 1 – X$ とします。すると $X_n$ も $U(0,1)$ に従うので、$X_n \xrightarrow{d} X$(実際、$X_n$ の分布は $X$ の分布と完全に一致しています)。

しかし、$|X_n – X| = |1 – 2X|$ であり、$P(|X_n – X| > 1/2) = P(|1 – 2X| > 1/2) = P(X < 1/4) + P(X > 3/4) = 1/2$ です。したがって $P(|X_n – X| > 1/2) = 1/2$ は $n$ によらず一定であり、確率収束しません。

この反例は、分布収束が「個々の値の近さ」ではなく「分布の形の近さ」しか要求しないことを明確に示しています。

反例4: 概収束するが $L^p$ 収束しない

$X_n$ を次のように定義します。

$$ X_n = \begin{cases} 2^n & \text{確率 } 1/2^n \\ 0 & \text{確率 } 1 – 1/2^n \end{cases} $$

$\sum P(X_n \neq 0) = \sum 1/2^n < \infty$ なので、ボレル・カンテリの第1補題より $P(X_n \neq 0 \text{ i.o.}) = 0$。したがって $X_n \xrightarrow{\text{a.s.}} 0$ です。

しかし、$E[|X_n|] = 2^n \cdot 1/2^n = 1$ であり、$L^1$ 収束しません。

反例5: $L^p$ 収束するが概収束しない

反例1のタイプライターの列を少し修正します。$X_n = c_n \cdot \mathbf{1}_{I_n}$ で、$I_n$ は反例1と同じ巡回する区間とし、$c_n = 1/k$(区間の幅の平方根)とします。すると $E[|X_n|^2] = c_n^2 \cdot (1/k) = 1/k^3 \to 0$ なので $L^2$ 収束します。しかし、各 $\omega$ で $X_n(\omega) > 0$ が無限回起きるため、概収束はしません。

追加的な性質

確率収束の部分列原理

確率収束する列には概収束する部分列が存在します。

定理: $X_n \xrightarrow{P} X$ ならば、ある部分列 $\{n_k\}$ が存在して $X_{n_k} \xrightarrow{\text{a.s.}} X$。

証明: $P(|X_n – X| > 1/k) \to 0$ なので、$P(|X_{n_k} – X| > 1/k) < 1/2^k$ となる $n_k$ を選べます。このとき $\sum P(|X_{n_k} - X| > 1/k) < \infty$ であり、ボレル・カンテリの第1補題より概収束が従います。

連続写像定理

$g$ が連続関数のとき、$X_n \xrightarrow{d} X$ ならば $g(X_n) \xrightarrow{d} g(X)$。

スルツキーの定理

$X_n \xrightarrow{d} X$ かつ $Y_n \xrightarrow{P} c$(定数)のとき、$X_n + Y_n \xrightarrow{d} X + c$ かつ $X_n Y_n \xrightarrow{d} cX$。

スルツキーの定理は統計的推定で非常に重要です。たとえば、中心極限定理で $\sqrt{n}(\bar{X}_n – \mu)/\sigma \xrightarrow{d} N(0,1)$ が成り立つとき、$\sigma$ が未知でも一致推定量 $\hat{\sigma}_n \xrightarrow{P} \sigma$ を代入して $\sqrt{n}(\bar{X}_n – \mu)/\hat{\sigma}_n \xrightarrow{d} N(0,1)$ が成り立ちます。

一様可積分性と収束の強化

確率収束から $L^p$ 収束を導くための十分条件が一様可積分性(uniform integrability)です。

$\{|X_n – X|^p\}$ が一様可積分であり、$X_n \xrightarrow{P} X$ ならば、$X_n \xrightarrow{L^p} X$ です。

一様可積分性は「裾の確率の寄与が一様に小さい」ことを保証する条件であり、反例2のような「まれだが巨大な値」を排除します。

Pythonによる可視化

4つの収束概念の違いをシミュレーションで確認します。

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

np.random.seed(42)

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

n_max = 200
n_range = np.arange(1, n_max + 1)

# --- (a) 概収束: 大数の強法則 ---
ax = axes[0, 0]
n_paths = 20

for _ in range(n_paths):
    X = np.random.exponential(1, n_max)
    cumsum = np.cumsum(X)
    means = cumsum / n_range
    ax.plot(n_range, means, linewidth=0.8, alpha=0.6)

ax.axhline(1.0, color="red", linewidth=2, linestyle="--", label=r"$E[X] = 1$")
ax.set_xlabel("n", fontsize=12)
ax.set_ylabel(r"$\bar{X}_n$", fontsize=12)
ax.set_title("(a) Almost sure convergence (SLLN)", fontsize=13)
ax.legend(fontsize=10)
ax.grid(True, alpha=0.3)

# --- (b) 確率収束するが概収束しない例 ---
ax = axes[0, 1]
# [0,1]上の一様分布で、区間を巡回するスパイク
n_sim = 5000
X_vals = np.zeros(n_sim)

# n回目: [a_n, b_n]の区間に入ったら1、それ以外は0
# 区間は長さが減少するが、何度も巡回する
omega = np.random.uniform(0, 1, n_sim)

for n in range(1, n_sim + 1):
    # k = floor(log2(n)) + 1 とすると区間の長さは 1/k
    k = int(np.log2(n)) + 1
    j = n - 2**(k-1)  # 区間内のインデックス
    a = j / k
    b = (j + 1) / k
    X_vals[n-1] = 1 if (a <= omega[0] < b) else 0

# いくつかのωで確認
ax.plot(range(1, min(500, n_sim) + 1), X_vals[:min(500, n_sim)],
        "b-", linewidth=0.5, alpha=0.7)
ax.set_xlabel("n", fontsize=12)
ax.set_ylabel(r"$X_n(\omega)$", fontsize=12)
ax.set_title("(b) Conv. in probability but NOT a.s.", fontsize=13)
ax.set_ylim(-0.2, 1.3)
ax.grid(True, alpha=0.3)
ax.text(0.05, 0.85, "Sporadic spikes persist forever\nbut become rarer",
        transform=ax.transAxes, fontsize=10,
        bbox=dict(facecolor="wheat", alpha=0.5))

# --- (c) 分布収束: 中心極限定理 ---
ax = axes[1, 0]
n_samples_clt = 50000

for n in [1, 2, 5, 30]:
    # 一様分布 U(0,1) からのサンプルの標準化された平均
    samples = np.random.uniform(0, 1, (n_samples_clt, n))
    means = samples.mean(axis=1)
    standardized = (means - 0.5) / (1/np.sqrt(12*n))

    ax.hist(standardized, bins=80, density=True, alpha=0.4,
            range=(-4, 4), label=rf"$n = {n}$")

x = np.linspace(-4, 4, 200)
ax.plot(x, stats.norm.pdf(x), "k-", linewidth=2.5, label="N(0,1)")

ax.set_xlabel("x", fontsize=12)
ax.set_ylabel("Density", fontsize=12)
ax.set_title("(c) Convergence in distribution (CLT)", fontsize=13)
ax.legend(fontsize=9)
ax.grid(True, alpha=0.3)

# --- (d) 含意関係の概念図 ---
ax = axes[1, 1]
ax.axis("off")

# 矢印付きの関係図
text_style = dict(fontsize=14, ha="center", va="center",
                  bbox=dict(boxstyle="round,pad=0.5", facecolor="lightblue",
                            alpha=0.8))

ax.text(0.25, 0.8, "a.s.\nconvergence", **text_style)
ax.text(0.75, 0.8, r"$L^p$" + "\nconvergence", **text_style)
ax.text(0.5, 0.45, "Convergence\nin probability", **text_style)
ax.text(0.5, 0.1, "Convergence\nin distribution", **text_style)

# 矢印
ax.annotate("", xy=(0.43, 0.50), xytext=(0.30, 0.72),
            arrowprops=dict(arrowstyle="->", lw=2, color="black"))
ax.annotate("", xy=(0.57, 0.50), xytext=(0.70, 0.72),
            arrowprops=dict(arrowstyle="->", lw=2, color="black"))
ax.annotate("", xy=(0.50, 0.18), xytext=(0.50, 0.38),
            arrowprops=dict(arrowstyle="->", lw=2, color="black"))

# 交差矢印なし(概収束とLpは一般に無関係)
ax.annotate("", xy=(0.55, 0.78), xytext=(0.45, 0.78),
            arrowprops=dict(arrowstyle="-", lw=2, color="red",
                            linestyle="dashed"))
ax.text(0.5, 0.86, "No general\nimplication", fontsize=9,
        ha="center", color="red")

ax.set_title("(d) Hierarchy of convergence modes", fontsize=13)

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

この可視化から、4つの収束概念の違いが直感的に理解できます。

  1. 左上(概収束): 大数の強法則により、すべてのパスが $E[X] = 1$ に収束しています。個々のパス($\omega$)で見ても収束が起きている——これが概収束の特徴です

  2. 右上: 確率収束するが概収束しない例の典型的な振る舞い。スパイク(値1)は次第にまれになりますが、完全には消えません。どの $\omega$ を取っても無限回スパイクが出現するため、パスとしては収束しません

  3. 左下(分布収束): 中心極限定理による分布の収束。$n$ が大きくなるにつれてヒストグラムの形が正規分布(黒曲線)に近づいていきます。個々のサンプル値ではなく分布全体の形が収束しています

  4. 右下: 4つの収束概念の含意関係のまとめ。概収束と $L^p$ 収束はそれぞれ独立に確率収束を含意し、確率収束は分布収束を含意します

まとめ

本記事では、確率変数の4つの収束概念を定義し、その相互関係を証明し、反例で逆の含意が成り立たないことを確認しました。

4つの収束概念: * 概収束 $X_n \xrightarrow{\text{a.s.}} X$: 確率1でパスごとに収束。大数の強法則で使われる最も強い収束概念の一つ * 確率収束 $X_n \xrightarrow{P} X$: 大きなずれの確率がゼロに近づく。統計的推定量の一致性の定義に使われる * $L^p$ 収束 $X_n \xrightarrow{L^p} X$: ずれの $p$ 乗の期待値がゼロに近づく。平均二乗誤差の収束に対応 * 分布収束 $X_n \xrightarrow{d} X$: 分布関数が各点で収束。中心極限定理で使われる最も弱い概念

含意関係: 概収束 $\Rightarrow$ 確率収束 $\Rightarrow$ 分布収束、$L^p$ 収束 $\Rightarrow$ 確率収束。いずれも逆は一般に成り立たない

追加的な性質: * 確率収束する列には概収束する部分列が存在する(部分列原理) * 連続写像定理とスルツキーの定理により収束を保存する操作が可能 * 一様可積分性のもとで確率収束から $L^p$ 収束を導ける

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