エルゴード性とは?確率過程における意味をわかりやすく解説

確率過程を学ぶと、エルゴード性(Ergodicity)という概念に出会います。エルゴード性は、統計力学や通信工学、金融工学など幅広い分野で重要な概念です。

大雑把に言うと、エルゴード性とは「1つの過程を十分長い時間観測すれば、多数の過程のアンサンブル(集合)を観測したのと同じ情報が得られる」という性質です。

本記事の内容

  • エルゴード性の直感的な理解
  • 時間平均とアンサンブル平均
  • エルゴード性の数学的定義
  • Python でのシミュレーション

前提知識

  • 確率変数と確率過程の基本的な概念
  • 期待値と分散の定義

時間平均とアンサンブル平均

エルゴード性を理解するには、時間平均アンサンブル平均の違いを理解する必要があります。

アンサンブル平均

確率過程 $X(t)$ の時刻 $t$ におけるアンサンブル平均は、多数の実現値(サンプルパス)の平均です。

$$ \begin{equation} \mu_X(t) = E[X(t)] = \int_{-\infty}^{\infty} x \, p_X(x, t) \, dx \end{equation} $$

これは、同じ確率過程を何度も独立に実行し、ある時刻 $t$ での値を平均するイメージです。

時間平均

1つの実現値 $x(t)$ に対する時間平均は、

$$ \begin{equation} \langle x \rangle_T = \frac{1}{2T}\int_{-T}^{T} x(t) \, dt \end{equation} $$

これは、1つの観測を長時間にわたって記録し、その時間方向の平均をとるイメージです。

エルゴード性の本質

エルゴード性とは、$T \to \infty$ のとき時間平均がアンサンブル平均に(確率1で)一致する性質です。

$$ \begin{equation} \lim_{T \to \infty} \langle x \rangle_T = E[X(t)] \quad \text{(確率1で)} \end{equation} $$

エルゴード性の定義

確率過程 $X(t)$ が平均に関してエルゴード的であるとは、

$$ \begin{equation} P\left(\lim_{T \to \infty} \frac{1}{2T}\int_{-T}^{T} X(t) \, dt = \mu_X\right) = 1 \end{equation} $$

が成り立つことです。

エルゴード性と定常性

エルゴード性が成り立つには、まず確率過程が広義定常(Wide-Sense Stationary; WSS)である必要があります。

広義定常過程の条件:

  1. $E[X(t)] = \mu$(時刻に依存しない定数)
  2. $R_X(t_1, t_2) = R_X(t_2 – t_1)$(自己相関関数が時間差のみに依存)

ただし、定常過程であってもエルゴード的とは限りません。エルゴード性は定常性よりも強い条件です。

平均に関するエルゴード性の十分条件

広義定常過程 $X(t)$ において、自己共分散関数を $C_X(\tau) = R_X(\tau) – \mu^2$ とするとき、

$$ \begin{equation} \lim_{T \to \infty} \frac{1}{2T}\int_{-2T}^{2T} \left(1 – \frac{|\tau|}{2T}\right) C_X(\tau) \, d\tau = 0 \end{equation} $$

が成り立てば、平均に関してエルゴード的です。

十分に離れた時刻のデータが無相関に近づく($C_X(\tau) \to 0$ as $\tau \to \infty$)場合、この条件は満たされます。

具体例

エルゴード的な過程

ホワイトノイズ $X(t)$(各時刻で独立同分布)は典型的なエルゴード過程です。時間平均と統計平均が一致します。

エルゴード的でない過程

$X(t) = A$($A$ は確率変数で一度決まったら変わらない)は、定常過程ですがエルゴード的ではありません。時間平均は常に $A$ であり、アンサンブル平均 $E[A]$ とは一般に一致しません。

Python でのシミュレーション

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(42)

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

# エルゴード的な過程: AR(1)過程
T = 5000
n_paths = 50
phi = 0.5
sigma = 1.0
mu_true = 0.0

# 複数のサンプルパス
ax1 = axes[0, 0]
time_means = []
for i in range(n_paths):
    x = np.zeros(T)
    x[0] = np.random.normal(0, sigma / np.sqrt(1 - phi**2))
    for t in range(1, T):
        x[t] = phi * x[t-1] + np.random.normal(0, sigma)
    if i < 5:
        ax1.plot(x[:200], alpha=0.5, linewidth=0.8)
    time_means.append(np.cumsum(x) / np.arange(1, T+1))

ax1.set_xlabel('Time', fontsize=11)
ax1.set_ylabel('X(t)', fontsize=11)
ax1.set_title('Ergodic Process: AR(1) Sample Paths', fontsize=12)
ax1.grid(True, alpha=0.3)

# 時間平均の収束
ax2 = axes[0, 1]
for i in range(min(10, n_paths)):
    ax2.plot(time_means[i], alpha=0.3, linewidth=0.8, color='blue')
ax2.axhline(y=mu_true, color='r', linestyle='--', linewidth=2, label=f'E[X] = {mu_true}')
ax2.set_xlabel('Time T', fontsize=11)
ax2.set_ylabel('Time average', fontsize=11)
ax2.set_title('Time Average Converges to Ensemble Mean (Ergodic)', fontsize=12)
ax2.legend(fontsize=10)
ax2.set_ylim(-2, 2)
ax2.grid(True, alpha=0.3)

# 非エルゴード的な過程: X(t) = A (定数過程)
ax3 = axes[1, 0]
n_paths_ne = 50
A_values = np.random.normal(2, 3, n_paths_ne)
for i in range(5):
    ax3.axhline(y=A_values[i], alpha=0.5, linewidth=1.5, label=f'A={A_values[i]:.1f}')
ax3.set_xlabel('Time', fontsize=11)
ax3.set_ylabel('X(t) = A', fontsize=11)
ax3.set_title('Non-Ergodic Process: X(t) = A', fontsize=12)
ax3.set_xlim(0, 200)
ax3.legend(fontsize=9)
ax3.grid(True, alpha=0.3)

# 非エルゴード的過程の時間平均
ax4 = axes[1, 1]
for i in range(min(20, n_paths_ne)):
    ax4.axhline(y=A_values[i], alpha=0.2, linewidth=0.8, color='blue')
ax4.axhline(y=A_values.mean(), color='r', linestyle='--', linewidth=2, label=f'E[A] = {A_values.mean():.2f}')
ax4.set_xlabel('Time T', fontsize=11)
ax4.set_ylabel('Time average (= A)', fontsize=11)
ax4.set_title('Time Average != Ensemble Mean (Non-Ergodic)', fontsize=12)
ax4.legend(fontsize=10)
ax4.grid(True, alpha=0.3)

plt.tight_layout()
plt.show()

上段のエルゴード的過程では、時間平均がアンサンブル平均($E[X] = 0$)に収束する様子が確認できます。下段の非エルゴード的過程では、各サンプルパスの時間平均は個別の $A$ の値に固定され、アンサンブル平均とは一致しません。

まとめ

本記事では、エルゴード性について解説しました。

  • エルゴード性とは、時間平均がアンサンブル平均に一致する性質
  • エルゴード性が成り立つためには、まず確率過程が定常である必要がある
  • 自己共分散が時間差が大きくなるにつれて0に収束する場合、エルゴード性が成立しやすい
  • 実用上、エルゴード性は1回の長時間観測から統計量を推定できることを保証する

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