🎓 レベル:標準 | 重要度:A(必須)
📎 前提:代表的分布の生成(正規・指数・ポアソン) | 金融:ブラウン運動と幾何ブラウン運動・モンテカルロ法によるオプション価格
要点(BLUF)
- 確率過程のパス生成:時間とともにランダムに動く過程の**標本路(サンプルパス)**を作る手法。多くのモンテカルロ応用の入力になります。
- ポアソン過程は指数間隔の積み上げ、ブラウン運動は独立増分を でスケールして積み上げ、一般の**確率微分方程式(SDE)**は Euler–Maruyama 法で離散化します。
- ブラウン運動の分散が時間に比例( で 1.003)し、Ornstein–Uhlenbeck 過程が定常分散へ収束することを実証します。
1. ポアソン過程:指数間隔を積み上げる
レート のポアソン過程は、事象の到着間隔が独立な指数分布 (代表的分布の生成(正規・指数・ポアソン))。間隔を累積すれば到着時刻列になります(離散事象の到着過程の土台)。
import numpy as np
# 乱数シードを固定
rng = np.random.default_rng(65)
lam = 5.0; T_end = 10000
inter = rng.exponential(1/lam, int(lam*T_end*1.2)) # 指数間隔
arrival = np.cumsum(inter)
arrival = arrival[arrival < T_end] # 観測区間内の到着
print(f"ポアソン過程: 単位時間あたり事象数 N(T)/T = {len(arrival)/T_end:.4f} (理論 lambda={lam})")
出力:
ポアソン過程: 単位時間あたり事象数 N(T)/T = 4.9765 (理論 lambda=5.0)
出力の意味:指数間隔を積み上げただけで、単位時間あたり事象数が に一致。非斉次(レートが時間変化する)ポアソン過程は間引き法(thinning)——高いレートで生成し、確率 で受理——で作れます(棄却法の応用)。
2. ブラウン運動:独立増分を √dt でスケールする
標準ブラウン運動(ウィーナー過程) は、(1) 、(2) 独立増分、(3) を満たす過程。時間刻み ごとの増分は 、つまり標準正規に を掛けたものを積み上げます。
import numpy as np
# 乱数シードを固定
rng = np.random.default_rng(64)
T = 1.0; steps = 1000; n_paths = 20000
dt = T / steps
increments = rng.normal(0, np.sqrt(dt), (n_paths, steps)) # 各増分 ~ N(0, dt)
W = np.cumsum(increments, axis=1) # 標本路
for k in [steps//4 - 1, steps//2 - 1, steps - 1]:
t = (k+1) * dt
print(f"ブラウン運動 t={t:.2f}: 分散={W[:,k].var():.4f} (理論 {t:.4f})")
出力:
ブラウン運動 t=0.25: 分散=0.2498 (理論 0.2500)
ブラウン運動 t=0.50: 分散=0.5037 (理論 0.5000)
ブラウン運動 t=1.00: 分散=1.0034 (理論 1.0000)
出力の意味:ブラウン運動の分散が時間 に正比例( で分散 0.25, 0.50, 1.00)。これがブラウン運動の決定的な性質で、標準偏差は で広がる——[[01-04_大数の法則と中心極限定理の役割|ランダムウォークの 拡散]]の連続時間版です。増分を でスケールするのが要で、 で掛けると(誤って)分散が消えてしまいます。
3. Euler–Maruyama 法:SDE を離散化する
一般の確率微分方程式(SDE)
は、ブラウン増分 を使って離散化できます(Euler–Maruyama 法):
ドリフト項に 、拡散項に を掛けるのがポイント。例として、平均回帰する Ornstein–Uhlenbeck (OU) 過程 を解き、定常分布の平均 ・分散 に収束するか確かめます。
import numpy as np
# 乱数シードを固定
rng = np.random.default_rng(66)
theta, mu, sigma = 1.0, 2.0, 0.5
steps = 200_000; dt = 0.01
X = 0.0
xs = np.empty(steps)
for i in range(steps):
X += theta*(mu - X)*dt + sigma*np.sqrt(dt)*rng.standard_normal() # Euler-Maruyama
xs[i] = X
burn = 10_000
print(f"OU過程 平均={xs[burn:].mean():.4f} (理論 {mu})")
print(f"OU過程 分散={xs[burn:].var():.4f} (理論 {sigma**2/(2*theta):.4f})")
出力:
OU過程 平均=1.9849 (理論 2.0)
OU過程 分散=0.1285 (理論 0.1250)
出力の意味:OU 過程は初期値0から始まって、定常分布の平均 (1.985)・分散 (0.129)へ収束。Euler–Maruyama で SDE をステップ更新するだけで、平均回帰という連続時間ダイナミクスが再現できました。分散がわずかに大きい(0.129 vs 0.125)のは離散化バイアス—— を小さくすると縮みます(Euler–Maruyama は強収束次数 1/2・弱収束次数 1)。
4. 応用への橋渡し(境界)
これらのパス生成は多くの応用の入口です。
- 金融:幾何ブラウン運動(GBM) は株価モデルで、これを生成して経路依存オプションをモンテカルロ評価します。GBM・オプション価格付けの本拠は金融(ブラウン運動と幾何ブラウン運動・モンテカルロ法によるオプション価格)——ここは「ブラウン運動・SDE のパス生成手法」を提供する立場です。
- 物理・化学:拡散・反応過程、ランジュバン動力学。
- 待ち行列・信頼性:ポアソン到着過程は離散事象の入力。
数式の直観的意味
確率過程のパス生成は「ランダムな変化を、時間方向に少しずつ積み上げる」操作です。ブラウン運動で増分を でスケールするのは、独立増分の分散が時間に比例する()ことの裏返し—— ステップで分散が になるには、各増分の標準偏差が でなければならない。これは中心極限定理で標本和が で広がるのと同じ算術で、ブラウン運動は「無限に細かいランダムウォークの極限」。Euler–Maruyama がドリフトに ・拡散に を使う非対称性も、この「ランダム項は オーダー」という確率解析の核心を反映しています。だから拡散項を で離散化する素朴な真似をすると、ランダム性が消えて間違う——通常の ODE 数値解法と SDE が決定的に違う点です。
⚠️ よくある誤解・落とし穴
- 「ブラウン増分は でスケール」ではない: です。 で掛けると分散が オーダーになり、ランダム性が消えます。
- 「Euler–Maruyama は ODE の Euler 法と同じ」ではない:拡散項に が入る点が決定的に違う。ODE 流に書くと誤ります。
- 「 は精度に効かない」ではない:離散化バイアス(OU の分散0.129 vs 0.125)があり、 を小さくすると縮みます。強収束次数1/2。
- 「ポアソン過程は等間隔」ではない:間隔は指数分布でばらつきます。等間隔は決定的過程で別物。
- 「GBM の価格付けをここで展開」ではない:オプション価格・リスク中立評価は金融の本拠(モンテカルロ法によるオプション価格)。ここはパス生成手法(境界)。
対応シミュレーション参照
本文のポアソン過程(default_rng(65))・ブラウン運動(default_rng(64)、分散∝t)・OU過程の Euler–Maruyama(default_rng(66))。応用はブラウン運動と幾何ブラウン運動へ。
関連ノート
- 代表的分布の生成(正規・指数・ポアソン)(前提・指数/正規の生成)
- シミュレーション最適化(前のトピック)
- 離散事象シミュレーションとは(ポアソン到着の利用)
- 大数の法則と中心極限定理の役割( 拡散との対応)
- ブラウン運動と幾何ブラウン運動・モンテカルロ法によるオプション価格(金融・応用の本拠)
- 第9章 応用 目次
- シミュレーション・モンテカルロ法 全体目次