ポアソン過程は絵が1枚しかない:指数分布とガンマ分布の関係【第23回】

はじめに

第15章は確率過程の基礎です。前回の「離散的に1歩ずつ進む鎖」を、時間も状態も連続に広げる回になります。

この章を読む前、私は確率過程を「時間とともに動く確率的なもの」という漠然としたイメージでしか捉えていませんでした。ポアソン過程・ブラウン運動・マルチンゲールと名前が並んでいて、それぞれ別々に覚えるものだと思っていました。

ところが手を動かしてみて、いちばん驚いたのはここです。ポアソン過程には絵が1枚しかありません。 ポアソン分布・指数分布・ガンマ分布という3つの分布は、その1枚の絵のどこを測るかの違いでしかありませんでした。縦に切れば件数、隣との距離を測れば間隔、原点からの長さを測れば待ち時間。第5回と第6回で別々に覚えた3つの分布が、1枚の絵の上で握手していました。

もうひとつ引っかかっていたのが、到着間隔が指数分布になるという話です。導出を追ってみたら、計算を1行もしていませんでした。 ただ言い換えただけで答えが出ます。

そしてランダムウォークの再帰性。「1次元と2次元では必ず原点に戻るが、3次元では戻らない」という話を聞いたことがあって、正直これは怪しいと思っていました。シミュレーションしたら本当でした。3次元は 0.34 で止まります。

この記事の後半では、私が最初に書いた説明が間違っていた箇所も記録します。「ランダムウォークを細かくして n\sqrt{n} で割ればブラウン運動になる」と説明したのですが、これは対称な場合だけの話でした。指摘を受けて検証したら、非対称だと n\sqrt{n} で割っても発散します。

いつものように、出てくる数値はすべて自分で計算し、理論値と突き合わせています。

この回で扱う用語

用語読み・意味
確率過程Stochastic Process。時刻ごとに1つずつ確率変数が並んだもの全体
N(t)N(t)時刻 tt までに起きた件数。カウント過程
増分Increment。2つの時刻の値の差 N(t)N(s)N(t)-N(s)BtBsB_t-B_s
独立増分重ならない区間の増分が互いに独立
定常増分増分の分布が区間の位置によらず幅だけで決まる
λ\lambda強度・到着率。単位時間あたりの平均件数
o(h)o(h)ランダウの記号。hh で割ると 0 に行く量(hh より速く小さくなる)
アーラン分布Erlang分布。ガンマ分布のうち形状パラメータが整数のもの
ウィーナー過程Wiener Process。ブラウン運動の数学的な呼び名。同じもの
マルチンゲールMartingale。「次の平均は今いる場所」という性質を持つ過程
Fn\mathcal{F}_n時刻 nn までに得られた情報の全体(フィルトレーション)
再帰的Recurrent。確率1で出発点に戻ってくる
一時的Transient。戻らない可能性が正の確率で残る
M/M/1到着がポアソン・サービス時間が指数・窓口1つの待ち行列

「確率過程」という言葉は4つの箱の総称だった

まず用語の整理から始めます。ここで詰まると先に進めないので、定義から入ります。

確率過程とは、時刻ごとに1つずつ確率変数を並べたもの全体です。X1,X2,X3,X_1, X_2, X_3, \dots でも {Xt:t0}\{X_t : t \ge 0\} でもよく、大事なのは「1個の確率変数ではなく、その集まりを1つの対象として扱う」という点です。

そして確率過程には時間状態という2つの軸があり、それぞれ離散か連続かで4種類に分かれます。「確率過程」という言葉自体は、この4つの箱を一括で呼ぶための名前にすぎません。

確率過程の4分類。時間の刻み方(離散/連続)と状態の取り方(離散/連続)で2×2に分けた4枚のグラフ。左上は離散時間×離散状態でマルコフ連鎖の3状態A・B・Cを行き来する階段状の折れ線。右上は離散時間×連続状態で、増分が正規分布のランダムウォークの階段状の折れ線。左下は連続時間×離散状態でポアソン過程の累積件数が1ずつ増える階段関数と到着時刻を示す縦棒。右下は連続時間×連続状態でブラウン運動のギザギザした連続曲線

状態が離散状態が連続
時間が離散マルコフ連鎖(前回)/±1\pm1 の単純ランダムウォーク正規ランダムウォーク・時系列モデル
時間が連続ポアソン過程(今回の主役)ブラウン運動

図の右上に描いたのは正規ランダムウォークです。±1\pm1 の単純ランダムウォークは状態が整数なので、分類上は左上の箱に入ります。

前回のマルコフ連鎖は左上の箱でした。今回はその隣、同じ「状態が離散」のまま時間だけ連続にしたのがポアソン過程です。前回との対応を先に置いておくと、後の理解が楽になります。

前回(マルコフ連鎖)今回(ポアソン過程)
離散時間・離散状態連続時間・離散状態
次に動くのは「1ステップ後」次に動くのは「指数分布に従う時間の後」
推移確率 pijp_{ij}(無次元の確率)推移率 λ\lambda(単位時間あたりの件数)
状態はあちこち行き来する状態は1つずつ増えるだけ(純出生過程)

最後の行が地味に重要です。ポアソン過程はカウンタなので後戻りしませんN(t)N(t) は増える一方で、これは連続時間マルコフ連鎖のなかでも最も単純な形です。

ポアソン分布と「ポアソン過程」は何が違うのか

第5回でポアソン分布はやりました。「1時間に平均3件の電話が来るとき、ある1時間に kk 件来る確率」です。では「過程」になると何が加わるのでしょうか。

結論から言うと、時間軸が入るだけ、という理解でほぼ合っています。 ただ、正確に言うと2段階の変化があります。

ポアソン過程とポアソン分布の関係。上段は3本のポアソン過程の経路(累積件数の階段関数)が描かれ、t=1、t=2、t=3の位置に灰色の縦破線が引かれている。下段は3枚のヒストグラムで、各時刻で切った件数の分布が水色の棒で、赤い折れ線と丸印でポアソン分布の理論値が重ねられ、λt=3、6、9それぞれでぴったり一致している

上段が3本の経路です。時刻 tt で縦に切ると、そこでの件数が1つの確率変数になります。 その断面の分布を見たのが下段で、N(1)N(1)N(2)N(2)N(3)N(3) がそれぞれ Po(3)(3)、Po(6)(6)、Po(9)(9) にぴったり一致しています。

時刻 tt平均(実測)分散(実測)理論値 λt\lambda t
12.99772.98593
25.99275.98036
38.98548.94019

平均と分散が両方 λt\lambda t になるのはポアソン分布の性質そのものです(第5回)。ここは「分布に時間が入っただけ」で説明がつきます。

では何が本当に加わったのか。「複数の時刻の間の関係」です。

これが決定的な違いです。ポアソン分布を1個だけ見ていたら、そもそも次のような問いを立てられません。

  • 区間 [0,1][0,1] の件数と区間 [3,4][3,4] の件数は独立か
  • 朝の1時間と夜の1時間で、件数の分布は同じか
  • 最初の1件が来るまでの時間はどんな分布に従うか

3つ目に注目してください。これは分布だけ見ていたら絶対に出てこない問いです。「時間」を変数として扱えるようになった瞬間に、「件数」ではなく「時刻」を確率変数にできるようになります。そしてこの問いの答えが、この記事の一番おいしい部分になります。

上の1つ目と2つ目が、そのままポアソン過程の定義条件になっています。

ポアソン過程の定義:3つの条件

ポアソン過程は次の3条件で定義されます(前提として N(0)=0N(0)=0 で、NN は1ずつ増える計数過程とします)。試験では「これはポアソン過程といえるか」という形で問われるので、3つのどれが崩れているかを探す練習が有効です。

ポアソン過程の3つの特徴づけ。左は独立増分の説明図で、到着時刻を示す縦棒の列の上に、重ならない2つの区間が水色と桃色で塗られ「区間A:9件」「区間B:6件」と記され、重ならない区間の件数は互いに独立と書かれている。中央は定常増分の図で、幅1.2の同じ大きさの区間が3か所に色違いで置かれ、どこに置いても件数の分布は同じPo(λ·1.2)と記されている。右は微小区間の確率の図で、時間軸上に幅hの小さな赤い区間が描かれ、1件来る確率がλh+o(h)、2件以上来る確率がo(h)と示されている

① 独立増分

重ならない区間の件数は互いに独立。 「さっき混んだから次は空くはず」のような関係が一切ないという条件です。図の左側がその2区間で、実測の相関は +0.003+0.003 でした(相関が 0 なのは独立の必要条件にすぎませんが、目安になります)。

これは前回のマルコフ性の親戚です。マルコフ性は「1つ前だけ見れば十分」でしたが、独立増分は「過去は一切関係ない」という、より強い条件です。ポアソン過程はこれから先の増分については過去を完全に忘れます(N(t)N(t) という値そのものは過去の到着の合計なので、もちろん履歴を持っています)。

② 定常増分

増分の分布が、区間の「位置」ではなく「幅」だけで決まる。 図の中央で、幅 1.2 の窓を3か所に置いていますが、どこに置いても件数は Po(λ1.2)(\lambda \cdot 1.2) に従います。

N(t+s)N(s)Po(λt)(s に依存しない)N(t+s) - N(s) \sim \text{Po}(\lambda t) \quad (s \text{ に依存しない})

実務ではここが最初に崩れます。ブログのアクセスも、コールセンターの電話も、時間帯によってペースが変わるからです。後で扱います。

③ 微小区間の確率

hh をどんどん小さくしたときの振る舞いです。

P(N(h)=1)=λh+o(h),P(N(h)2)=o(h)P(N(h)=1) = \lambda h + o(h), \qquad P(N(h) \ge 2) = o(h)

o(h)o(h)(スモールオーの hh)は「hh で割ると 0 に行く量」を表す記号です。要するに hh より速く小さくなるので無視できる、という意味です。

この条件の意味は2つあります。1つ目はλ\lambda が「単位時間あたりの率」であることの宣言です。幅 hh に対して確率が λh\lambda h で比例するので、λ\lambda は「1あたりいくつ」という次元を持ちます。2つ目が地味に重要で、同時に2件は起こらないという条件です。1件ずつバラバラに来ることを保証しています。

そして、この3つを仮定するだけで N(t)Po(λt)N(t) \sim \text{Po}(\lambda t) が導かれます。 ポアソン分布を仮定に置く必要はなく、結論として出てくるのです。導出は微分方程式を立てて解く形になり準1級では深追い不要ですが、「3条件が本質でポアソン分布は結果」という向きは押さえておくと、次の話が理解しやすくなります。

到着間隔が指数分布になる理由:計算を1行もしていない

いよいよ本題です。「ポアソン過程の到着間隔は指数分布に従う」という有名な事実ですが、導出には計算が1行も出てきません。

到着間隔が指数分布になる理由の3枚組。左は言い換えの図で、時間軸上の原点からtまでの区間が桃色に塗られ「この区間に到着が1件もない」と赤字で記され、その右に最初の到着T1を示すオレンジの縦棒がある。上部にP(T1>t)=P(N(t)=0)という式が置かれている。中央はポアソン分布にk=0を代入する計算で、e^(-λt)が出てF(t)=1-e^(-λt)となり「これは指数分布の分布関数そのもの」と結ばれている。右は到着間隔のヒストグラムに指数分布の密度関数λe^(-λt)の赤い曲線が重なった図で、実測の平均0.3345、理論0.3333と記されている

左の図がすべてです。最初の到着時刻を T1T_1 とすると、

{T1>t}{N(t)=0}\{T_1 > t\} \quad \text{と} \quad \{N(t) = 0\}

この2つは同じ事象を別の言葉で言っただけです。「最初の電話が10分後より後」と「10分以内に電話が0件」は、日本語として同じことを指しています。だから確率も等しくなります。

P(T1>t)=P(N(t)=0)=eλt(λt)00!=eλtP(T_1 > t) = P(N(t) = 0) = \frac{e^{-\lambda t}(\lambda t)^0}{0!} = e^{-\lambda t}

ポアソン分布の式に k=0k=0 を代入しただけです。(λt)0=1(\lambda t)^0 = 10!=10! = 1 なので eλte^{-\lambda t} が残ります。あとは補集合を取れば分布関数になります。

F(t)=P(T1t)=1eλtF(t) = P(T_1 \le t) = 1 - e^{-\lambda t}

これは指数分布の分布関数そのものです。第6回で出てきた形と一字一句同じです。密度に直せば f(t)=λeλtf(t) = \lambda e^{-\lambda t}

シミュレーションでも確認しました(λ=3\lambda = 3)。

実測理論
到着間隔の平均0.33451/λ=0.33331/\lambda = 0.3333
到着間隔の分散0.111031/λ2=0.111111/\lambda^2 = 0.11111

言い換えだけで分布が1つ導けてしまうのが、この章のいちばん美しいところだと思いました。ポアソン分布の k=0k=0 という、いちばん退屈そうな場所に指数分布が隠れていたわけです。

ただし正確に言うと、言い換えだけで出るのは最初の間隔 T1T_1 の分布までです(あとで W1W_1 と書くのはこの T1T_1 と同じものです)。2番目以降の間隔 W2,W3,W_2, W_3, \dots独立に同じ指数分布に従うことを言うには、独立増分と定常増分を使って「到着した時点で過程が新品同様に再出発する」ことを示す必要があります。

第5回の無記憶性とのつながり

第5回で「指数分布は無記憶性を持つ」をやりました。それがここでどう繋がるかというと、独立増分がそのまま無記憶性に翻訳されます。

ポアソン過程はこれから先の増分について過去を完全に忘れます(条件①)。だから「すでに5分待った」という情報は、これから先の待ち時間に何の影響も与えません。過去を忘れる過程の待ち時間だから、待ち時間も過去を忘れる分布になる。それが指数分布です。

数値で確認しました(λ=12\lambda = 12 件/時、単位は分)。

問い
P(T>10)P(T > 10\text{分})e2=0.135335e^{-2} = 0.135335
P(T>15T>5)P(T > 15\text{分} \mid T > 5\text{分})(実測)0.135878

5分待って損した気分になっても、そこから先の見通しは待つ前とまったく同じです。行列に並んだときの徒労感の正体がこれです。

ポアソン・指数・ガンマの三角関係:絵は1枚しかない

ここが今回いちばん腑に落ちたところです。第5回でポアソン分布、第6回で指数分布とガンマ分布を別々に学びました。この3つは同じ1枚の絵の、どこを測るかの違いでしかありません。

ポアソン過程から3つの分布を読み取る図。3枚とも同じ累積件数の階段関数が描かれている。左は時刻2までの領域が桃色に塗られN(2)=5件と示され「時間を固定して件数を読む→ポアソン分布」。左は時刻2を示す赤い縦破線が引かれている。中央と右はどちらも左端(時刻0から1)を拡大したもので、中央は隣り合う到着の間隔がW1=0.195、W2=0.121、W3=0.463と青い両向き矢印で示され「間隔を読む→指数分布」。右は原点から3件目までの長さがS3=0.778と緑の両向き矢印で示され、3件目の水準を示す水平破線が引かれ「k件目までの合計時間を読む→ガンマ分布」

何を測るか従う分布平均分散
時間 tt を固定して件数 N(t)N(t)ポアソン Po(λt)(\lambda t)λt\lambda tλt\lambda t
隣り合う到着の間隔 WiW_i指数 Ex(λ)(\lambda)1/λ1/\lambda1/λ21/\lambda^2
kk 件目までの合計時間 SkS_kガンマ Ga(k,λ)(k, \lambda)k/λk/\lambdak/λ2k/\lambda^2

Sk=W1+W2++WkS_k = W_1 + W_2 + \dots + W_k ですから、指数分布を kk 個足すとガンマ分布になります。これは第9回で母関数を使って示した再生性そのものです。図の中でも 0.195+0.121+0.4630.7780.195 + 0.121 + 0.463 \approx 0.778 と閉じています(表示は小数第3位で丸めているので、末尾が1だけずれます)。

kk が整数のガンマ分布はアーラン分布とも呼ばれます。名前が2つあるだけで同じものです。

数値の検証(λ=3\lambda = 3k=3k = 3)。

実測理論
E[S3]E[S_3]1.00024k/λ=1k/\lambda = 1
V[S3]V[S_3]0.33185k/λ2=0.3333k/\lambda^2 = 0.3333

件数と時間は同じことを言っている

三角関係のいちばん深いところがこれです。件数の話と時間の話は、完全に言い換え可能です。

{Sk>t}{N(t)<k}\{S_k > t\} \quad \Longleftrightarrow \quad \{N(t) < k\}

kk 件目が時刻 tt より後」と「時刻 tt までに kk 件未満」は同じ事象です。さっき k=1k=1 で使ったのと同じ論法を、一般の kk に広げただけです。

数値で確認しました(λ=3\lambda=3k=3k=3t=1.5t=1.5)。

計算のしかた
P(S3>1.5)P(S_3 > 1.5) をガンマ分布から(シミュレーション)0.17334
P(N(1.5)<3)P(N(1.5) < 3) をポアソン分布から(厳密計算)0.17358

試験ではこの言い換えが武器になります。 ガンマ分布の積分を計算しろと言われても、kk が整数ならポアソン分布の足し算に変換できます。上の右辺は

P(N(1.5)<3)=e4.5(1+4.5+4.522)P(N(1.5)<3) = e^{-4.5}\left(1 + 4.5 + \frac{4.5^2}{2}\right)

と、手計算できる形です。積分せずに済みます。

ポアソン過程の合成・分解と条件付き分布

試験で頻出の3つの性質をまとめます。どれも直感的にもっともらしいのですが、成り立つ理由は独立増分にあります。

合成:足すと足される

強度 λ1\lambda_1λ2\lambda_2 の独立なポアソン過程を重ね合わせると、強度 λ1+λ2\lambda_1 + \lambda_2 のポアソン過程になります。窓口を2つ合わせて1つのカウンタで数えるイメージです。

操作平均(実測)分散(実測)理論
Po(4)(4) + Po(6)(6)10.003610.0290Po(10)(10)

分解:選別しても壊れない

到着した1件ずつを、独立に確率 pp で「A」、1p1-p で「B」に振り分けます。するとAだけを数えた過程は強度 λp\lambda p のポアソン過程になります。

操作平均(実測)分散(実測)理論
Po(4)(4) を確率 0.3 で選別1.20041.2016Po(1.2)(1.2)

そして驚くべきことに、選別されたものと残りは互いに独立になります。実測の相関は 0.0002-0.0002 でした。

これは直感に反します。全体の件数 NN が決まっていれば、A が多ければ B は少ないはずです。ところがNN 自体がポアソン分布で揺らいでいるので、その揺らぎが打ち消して独立になります。ポアソン分布だけが持つ特殊な性質で、たとえば NN が固定値だったら(二項分布になり)独立にはなりません。

実務ではこれが効きます。サイトの総PVがポアソン過程なら、「スマホからのPVだけ」を取り出してもポアソン過程のままです。だからセグメントを切ってから分析しても枠組みが崩れません。

条件付き分布:件数を知ると時刻は一様分布

N(t)=nN(t) = n という情報を与えると、nn 個の到着時刻は [0,t][0,t] 上の一様分布の順序統計量になります。

言い換えると、「1時間に10件来た」と知った後では、その10件は1時間のなかにランダムにばらまかれただけになります。「時間が経つほど来やすい」というような偏りは残りません。

ここから便利な結果が出ます。N(1)=10N(1) = 10 を与えたとき、N(0.5)N(0.5) は二項分布 Bin(10,0.5)(10, 0.5) に従います。10個の点をそれぞれ「前半か後半か」でコイン投げしているのと同じだからです。

実測理論 Bin(10,0.5)(10,0.5)
E[N(0.5)N(1)=10]E[N(0.5) \mid N(1)=10]5.00035
V[N(0.5)N(1)=10]V[N(0.5) \mid N(1)=10]2.50272.5

この型は過去問で出ます。「1時間に nn 件来たとき、最初の20分に kk 件来る確率」を問われたら、ポアソン分布ではなく二項分布 Bin(n,1/3)(n, 1/3) で答えるのが正解です。私は過去問でここを間違えました。ポアソン過程の問題だからポアソン分布で答えるものだと思い込んでいたのですが、条件を付けた瞬間に二項分布に変わります。

複合ポアソン過程:件数に「金額」を掛ける

ポアソン過程は件数しか数えません。ところが実務では「何件来たか」だけでなく「1件いくらか」が知りたいことが多いです。保険の支払総額、サイトの売上、地震の被害額などです。

そこで各到着に金額 YiY_i を対応させて足し上げたものを複合ポアソン過程といいます。

S(t)=i=1N(t)YiS(t) = \sum_{i=1}^{N(t)} Y_i

複合ポアソン過程の2枚組。左は件数だけを数えるポアソン過程で、累積件数の階段関数の段の高さが常に1で揃っている。右は同じ到着時刻に金額を対応させた複合ポアソン過程で、累積支払額の階段関数の段の高さが到着ごとにバラバラになっている。どちらも下部に到着時刻を示すオレンジの縦棒が並んでいる

左は段の高さが常に 1、右はバラバラです。この「段の高さがランダム」が複合ポアソン過程の見た目です。

平均と分散は次の形になります。

E[S(t)]=λtE[Y],V[S(t)]=λtE[Y2]E[S(t)] = \lambda t \cdot E[Y], \qquad V[S(t)] = \lambda t \cdot E[Y^2]

検証(λ=1.5\lambda = 1.5/月、t=10t = 10 か月、YY は平均 3,591.7 円の対数正規分布)。

実測理論
E[S]E[S]53,865 円λtE[Y]\lambda t E[Y] = 53,875 円
V[S]V[S]2.777 億λtE[Y2]\lambda t E[Y^2] = 2.773 億

分散の式に E[Y2]E[Y^2] が出てくるところが試験のポイントです。 E[Y]2E[Y]^2 ではありません。ここは第3回の分散の分解(全分散の公式)から出てきます。

V[S]=E[N]V[Y]+V[N](E[Y])2=λt(V[Y]+(E[Y])2)=λtE[Y2]V[S] = E[N]V[Y] + V[N](E[Y])^2 = \lambda t \left(V[Y] + (E[Y])^2\right) = \lambda t E[Y^2]

V[N]=E[N]=λtV[N] = E[N] = \lambda t というポアソン分布の性質を使うと、括弧の中が E[Y2]E[Y^2] にまとまります。件数のばらつきと金額のばらつきの両方が効いているという意味で、実務的にも納得できる形です。

金融以外での応用:ブログのアクセスは定常増分でない

「確率過程といえば金融」という印象がありますが、身近な応用のほうがむしろ豊富です。私のブログのアクセス解析がそのまま教材になりました。

金融以外の応用の3枚組。左はブログの1時間あたりPVを24時間分描いた図で、12時と21時に山がある赤い階段状の折れ線と、その平均を示す青い水平破線が対比され、階段の下は桃色に塗られている。中央は2つのヒストグラムの重ね描きで、純粋なポアソン分布(分散/平均=0.98)と、レートが揺らぐ場合(分散/平均=4.03)の広がりの違いを示している。右は待ち行列M/M/1の平均客数のグラフで、利用率ρが1に近づくと系内客数Lが急激に立ち上がる曲線に、ρ=0.5でL=1人、0.8で4人、0.9で9人の点が示されている

定常増分が崩れる:非定常ポアソン過程

左の図です。PVは深夜と昼休みと夜で明らかにペースが違います。つまり条件②の定常増分が成り立ちません。

このとき λ\lambda を定数ではなく時刻の関数 λ(t)\lambda(t) にしたものを非定常ポアソン過程といいます。件数の分布は、強度を積分した値をパラメータに持つポアソン分布になります。

N(t)Po(0tλ(u)du)N(t) \sim \text{Po}\left(\int_0^t \lambda(u)\,du\right)

平均をならすのではなく、面積を取るのがポイントです。図の桃色の面積がそれです。

独立増分が崩れる:過分散

中央の図です。日ごとに λ\lambda 自体が揺らぐ場合(バズった日と平常日がある)、件数の分布はポアソン分布より広がります。

このとき同じ1日のなかの区間どうしが共通の λ\lambda を共有します。λ\lambda が大きい日は全区間で件数が多くなるので、区間の件数に正の相関が生まれ、独立増分が崩れます(定常増分のほうは保たれます)。

状況分散 ÷ 平均(実測)
純粋なポアソン0.9821
λ\lambda 自体がガンマ分布で揺らぐ4.0324

ポアソン分布は平均と分散が等しいので、分散 ÷ 平均が 1 から離れたらポアソンの仮定が崩れているサインです。1 より大きいことを過分散といいます。

そして「λ\lambda がガンマ分布で揺らぐポアソン分布」は、計算すると負の二項分布になります。第5回で出てきた分布であり、第18回のポアソン回帰で「過分散なら負の二項回帰へ」と扱った話の出どころがここです。確率過程の言葉で見ると、なぜ負の二項分布が現実のカウントデータに合うのかがわかります。

待ち行列:M/M/1

右の図です。到着がポアソン過程、サービス時間が指数分布、窓口が1つの待ち行列をM/M/1と書きます(M は Markovian の頭文字で、無記憶性を意味します)。

この話は前回(マルコフ連鎖)で詳しく扱ったので、ここでは「到着の側がポアソン過程だった」という接続だけ確認します。 前回は状態が無限個ある出生死滅過程として定常分布を求めましたが、その「客が到着する」部分こそ今回のポアソン過程です。

到着率 λ\lambda、サービス率 μ\mu として利用率 ρ=λ/μ\rho = \lambda/\mu を定めると、系内の客数の定常分布は幾何分布 πk=(1ρ)ρk\pi_k = (1-\rho)\rho^k になり、系内の平均客数は L=ρ/(1ρ)L = \rho/(1-\rho) です。

利用率 ρ\rho系内の平均客数 LL待ち客数 Lq=ρ2/(1ρ)L_q = \rho^2/(1-\rho)
0.51人0.5人
0.84人3.2人
0.99人8.1人
0.9519人18.05人

利用率を 0.8 から 0.9 に上げただけで、系内の客数が4人から9人へ2倍以上になります。 サーバのCPU使用率を上げすぎると急にレスポンスが悪化する、という現象の理論的な説明がこれです。

今回の視点で新しいのは、この λ\lambda が「単位時間あたりの到着率」として意味を持つ理由が、ポアソン過程の条件③(微小区間で λh+o(h)\lambda h + o(h))にあるという点です。前回は λ\lambda を天から与えられた定数として使っていましたが、その出どころが今回わかりました。

そのほかの応用

分野何をポアソン過程と見るか
Webサービスリクエスト到着、エラー発生、コンバージョン
インフラ運用障害発生、ディスク故障(MTBF=平均故障間隔は指数分布の平均)
疫学感染の発生、まれな疾患の症例数
品質管理製品の欠陥数、コールセンターの入電
地震学地震の発生(ただし余震があるので独立増分は崩れる)
神経科学ニューロンの発火

最後の地震が面白い例です。余震という現象があるので独立増分が成り立ちません(1回起きると続けて起きやすい)。そのため自己励起型の過程(ホークス過程)という拡張が使われます。「ポアソン過程が合わない」ことがわかると、次にどこを直せばいいかも見えてきます。

ランダムウォークの定義

ここから後半です。時間が離散のまま状態を実数にした話に移ります。

ランダムウォークは累積和です。独立で同じ分布に従う確率変数 Z1,Z2,Z_1, Z_2, \dots を用意して、

S0=0,Sn=Z1+Z2++ZnS_0 = 0, \qquad S_n = Z_1 + Z_2 + \dots + Z_n

漸化式で書けば Sn=Sn1+ZnS_n = S_{n-1} + Z_n です。「一歩ずつランダムに動く」をそのまま式にしたものです。

ZZ の分布は何でもかまいません。 ここが意外と大事で、名前が分布ごとに付いています。

ZZ の分布呼び名状態空間
±1\pm 1 を等確率単純ランダムウォーク(対称)整数
+1+1 が確率 p1/2p \ne 1/2非対称ランダムウォーク整数
N(0,σ2)N(0, \sigma^2)正規ランダムウォーク実数
N(μ,σ2)N(\mu, \sigma^2), μ0\mu \ne 0ドリフト付きランダムウォーク実数

±1\pm 1 ウォークの1歩の平均と分散を確認しておきます。ZZ±1\pm1 しか取らないので Z2Z^2常に 1、したがって E[Z2]=1E[Z^2] = 1 です。

E[Z]=2p1,σ2=V[Z]=E[Z2](E[Z])2=1(2p1)2=4p(1p)E[Z] = 2p-1, \qquad \sigma^2 = V[Z] = E[Z^2]-(E[Z])^2 = 1-(2p-1)^2 = 4p(1-p)

σ2=4pq\sigma^2 = 4pq は自分で決めるパラメータではなく、pp から出てくる値です。

ppE[Z]=2p1E[Z] = 2p-1σ2=4pq\sigma^2 = 4pq(実測)理論
0.501.00001.00
0.6+0.20.96060.96
0.9+0.80.36180.36

pp が 0.5 から離れるほど分散は小さくなります。 動く向きが決まってくるので、ばらつく余地が減るからです。p=1p=1 なら毎回 +1+1 で確定するので σ2=0\sigma^2 = 0、ランダムでなくなります。

そして nn 歩後は、独立な和なので平均と分散が単純に足し算になります。

E[Sn]=n(2p1),V[Sn]=nσ2E[S_n] = n(2p-1), \qquad V[S_n] = n\sigma^2

ランダムウォークの再帰性:3次元では戻らない

「1次元と2次元のランダムウォークは必ず原点に戻るが、3次元では戻らない」という話を聞いたことがありました。正直、怪しいと思っていました。次元が上がると戻りにくいのはわかりますが、2次元と3次元の間に「必ず/必ずでない」という断絶があるのは飛躍しすぎではないかと。

シミュレーションしてみたら本当でした。

ランダムウォークの再帰性を示す図。上段左は1次元の3本の経路が原点を示す水平破線を何度も横切る様子。上段中央は2次元の2本の経路が平面を塗りつぶすように広がる様子で原点に黒丸。上段右は3次元の2本の経路が空間に散らばる様子。下段は横軸を歩数の上限(対数軸100から10万)、縦軸を原点へ戻った経路の割合とした折れ線グラフで、1次元は0.914から0.997へ上昇して1の点線に漸近し、2次元は0.580から0.780へゆっくり上昇し、3次元は0.304から0.334付近で横ばいになりポリアの定数0.3405の点線に下から近づいている

まず用語です。前回のマルコフ連鎖で出てきたものと同じです。

用語意味
再帰的(recurrent)確率 1 で出発点に戻ってくる
一時的(transient)戻らない確率が正の値として残る

nn 歩以内に原点へ戻った経路の割合を測りました。

歩数の上限1次元2次元3次元
1000.91400.57970.3038
1,0000.97150.68050.3252
10,0000.99220.73950.3318
100,0000.99650.78020.3343

同じ経路を使って上限だけを延ばして測ったので、どの列も単調に増えています。1次元は 1 に向かって上がり続け、2次元も遅いながら上昇を続けます。ところが3次元は 0.33 付近で止まります。 歩数を10倍にしても 0.3318 から 0.3343 しか動きません。

1次元は厳密値が計算できるので照合しました。2m2m 歩以内に一度も原点に戻らない確率はちょうど (2mm)/4m\binom{2m}{m}/4^m に等しくなります(これが P(S2m=0)P(S_{2m}=0) と同じ値になるという、フェラーによる有名な等式です)。したがって戻る確率は 1(2mm)/4m1 - \binom{2m}{m}/4^m で、下の表はこちらと突き合わせています。

歩数未復帰の厳密値復帰の厳密値実測(復帰)
1000.0795890.9204110.9140
1,0000.0252250.9747750.9715
10,0000.0079790.9920210.9922
100,0000.0025230.9974770.9965

(2mm)/4m1/πm\binom{2m}{m}/4^m \approx 1/\sqrt{\pi m} なので、未復帰確率は 1/m1/\sqrt{m} という非常にゆっくりした速度でしか減りません(=復帰確率が 1 に近づくのが遅い)。「必ず戻る」とはいえ、100,000 歩でもまだ約 0.25% が戻っていません。数学的には確率 1 でも、実用的には「待てば戻る」と言い切れない遅さです。

そして3次元の 0.34 には名前が付いています。ポリアの定数で、

11G,G=1.51638605921 - \frac{1}{G}, \qquad G = 1.5163860592\ldots

GG はグリーン関数と呼ばれる量で、「出発時点も数えて原点に何回いるかの期待値」です。この GG が有限なら一時的、無限なら再帰的になります。出発点の1回を除いた「戻ってくる回数」の期待値は G1=0.516G-1 = 0.516 回で、3次元では平均0.52回しか戻ってきません。 復帰確率 0.3405 と整合しています(戻る回数は成功確率 f=0.3405f=0.3405 の幾何分布なので、平均は f/(1f)=0.516f/(1-f) = 0.516 回)。

GG の値も自分で数値積分して確かめました(ワトソン積分と呼ばれる3重積分です)。

格子の細かさGG11/G1-1/G
601.5024760.334432
1201.5094320.337499
2401.5129090.339022
4001.5143000.339629

既知の値 1.5163860592 に向かって単調に増えており、復帰確率も 0.3405 に近づいています。シミュレーションの 0.3343 と理論の 0.3405 は、10万歩という有限の打ち切りを考えれば一致しています(打ち切るぶん実測は必ず理論より小さく出ます)。

なぜ2次元と3次元の間に断絶があるのか

理屈は級数の収束・発散です。nn 歩後にちょうど原点にいる確率は、次元 dd に対して

P(S2m=0)C(2m)d/2P(S_{2m} = 0) \approx C \cdot (2m)^{-d/2}

の大きさになります。中心極限定理から nn 歩後の位置は n\sqrt{n} 程度の範囲に散らばり、dd 次元なら体積が (n)d=nd/2(\sqrt{n})^d = n^{d/2} になるので、1点あたりの確率がその逆数になる、という理屈です。

なお単純ランダムウォークは偶数歩でしか原点に戻れません(1歩ごとに座標の和の偶奇が反転するため)。前回の言葉でいえば周期 2 です。だから奇数歩では P(Sn=0)=0P(S_n=0)=0 で、上の式は偶数歩に沿った漸近として読みます。

そして原点にいる回数の期待値 GG は、この確率を全部足したものです。

G=nP(Sn=0)Cm(2m)d/2G = \sum_{n} P(S_n = 0) \approx C\sum_m (2m)^{-d/2}

偶数項だけの和になるので係数は変わりますが、収束するか発散するかの判定は変わりません。

これは pp 級数 np\sum n^{-p} で、p>1p > 1 のときだけ収束します。 d/2>1d/2 > 1、つまり d3d \ge 3 で収束し、d=1,2d = 1, 2 では発散します。

次元級数収束するか原点に戻る回数判定
1n1/2\sum n^{-1/2}発散無限回再帰的
2n1\sum n^{-1}発散(調和級数)無限回再帰的
3n3/2\sum n^{-3/2}収束有限回一時的

2次元がぎりぎり発散側にいるのがこの現象の正体でした。1/n\sum 1/n が発散するという、微積分で最初に習うあの事実が効いています。境界が d=2d=2 にあるので、2次元と3次元の間に断絶が生まれます。

言い換えると「必ず戻る」の理由は、戻る機会が無限にあるからです。1回あたりの確率がどれだけ小さくても、無限に足して発散するなら、いつかは起きます。3次元では機会の総量が有限(滞在回数の期待値 1.52 回、うち出発点が1回)なので、取りこぼしが残ります。

これは有名な言い方があって、「酔っ払いは家に帰れるが、酔った鳥は帰れない」。地面を歩く酔っ払いは2次元なので必ず家に戻りますが、空を飛ぶ鳥は3次元なので戻れない、というたとえです。

ブラウン運動の定義:「一個前」が存在しない

ここで最初に告白しておくと、私はブラウン運動を「一個前の状態から正規分布のノイズで動くもの」だと思っていました。これは間違いです。正確には、それはランダムウォーク(の正規版)の説明になっています。

ブラウン運動には「一個前」が存在しません。 時間が連続なので、どの時刻にも「直前の点」がないのです。

そのため定義の書き方が根本的に違います。ブラウン運動(ウィーナー過程とも呼びます。同じものです)は次の4条件で定義されます。

条件
B0=0B_0 = 0(原点から出発)
独立増分:重ならない区間の増分が互いに独立
増分が正規分布BtBsN(0,ts)B_t - B_s \sim N(0, t-s)
連続性:経路 tBtt \mapsto B_t が連続(ジャンプしない)

③が核心です。 「一個前からのノイズ」ではなく、「どの2時刻を取ってきても、その差が N(0,)N(0, \text{幅}) に従う」という形で定義されています。前の点を経由しないので、時間が連続でも意味を持ちます。

そして分散が σ2\sigma^2 固定ではなく区間の幅そのものです。これが「分散が時間に比例する」という性質の正体で、実は定義に書いてあることでした。

検証しました。

区間の幅増分の標準偏差(実測)理論 \sqrt{\text{幅}}
10.998991.00000
0.10.316270.31623
0.010.099830.10000
0.0010.031480.03162

一般のブラウン運動は Xt=μt+σBtX_t = \mu t + \sigma B_t と書き、増分は N(μ(ts),σ2(ts))N(\mu(t-s), \sigma^2(t-s)) になります。μ\muドリフトσ\sigmaボラティリティと呼びます。

2つの定義を並べる

項目ランダムウォークブラウン運動
時間整数 n=0,1,2,n = 0,1,2,\dots(離散)実数 t0t \ge 0(連続)
「一個前」あるSn1S_{n-1}ない
定義の書き方漸化式 Sn=Sn1+ZnS_n = S_{n-1}+Z_n増分の分布 BtBsN(0,ts)B_t-B_s \sim N(0,t-s)
増分の分布何でもよい正規分布に限る
1歩の分散σ2\sigma^2±1\pm1 なら 4pq4pq)で固定tst-s に比例
位置の分散nσ2n\sigma^2tt
経路折れ線(区間ごとに直線)連続だがどこでも微分不可能
マルチンゲールかE[Z]=0E[Z]=0 なら YesYes

いちばん下から2行目が効いています。ランダムウォークには「1歩」という最小単位があるので漸化式で書けます。ブラウン運動は最小単位を消し去った極限なので、漸化式では書けません。

「細かく切ればブラウン運動」は半分しか正しくない

ではランダムウォークを細かく切っていけばブラウン運動になるのでしょうか。横方向だけの操作では、なりません。

ランダムウォークのスケーリング3通りの比較。3枚とも横軸を時刻0から1に押し込め、歩数50・500・5000・40000のウォークを濃さの違う4色で重ねている。左は縦をそのままで、歩数が多いほど縦に大きく広がり最大250以上まで発散。中央は縦をnで割ったもので、歩数が多いほど平らに潰れて0の水平破線に張り付く。右は縦を√nで割ったもので、どの歩数でも同じくらいの大きさ(およそ-1から1.4の範囲)に収まっている

横軸を [0,1][0,1] に押し込めた(=時間を細かく刻んだ)状態で、縦の扱いを3通り試しました。

縦の扱い何が起きるか終点の分散(nn=50/500/5000)
そのまま縦に発散する50.0 / 502.1 / 5006.9
nn で割る平らに潰れて 0 になる0.0200 / 0.0020 / 0.0002
n\sqrt{n} で割る大きさが揃う0.9998 / 1.0042 / 1.0014

nn で割った真ん中の列は 0 に収束していますが、これは大数の法則そのものです(標本平均が母平均に収束する)。n\sqrt{n} で割ったときだけ、ちょうど 1 に落ち着きます。

つまり正しくは「横を nn 倍細かくしながら、同時に縦を n\sqrt{n} 分の1に縮める」。この2つを同時にやって初めて収束します。これをドンスカーの不変原理、または関数中心極限定理といいます。

なぜ n\sqrt{n} かというと、第8回とまったく同じ理由です。独立な和の分散は足し算なので nn 歩で分散 nn、標準偏差は n\sqrt{n}。だから n\sqrt{n} で割れば標準偏差が 1 に正規化されます。第8回で「精度が n\sqrt{n} でしか改善しない」と嘆いた同じ性質が、ここでは「n\sqrt{n} で割ると形が定まる」という御利益として現れます。

同じ乱数列を粗さを変えて見た4枚組。左から20点、100点、1000点、20000点で見たもの。全体の形(0.15付近で上に膨らみ、0.7付近で下に落ち込み、最後に上昇する)が4枚すべてで保たれたまま、ギザギザの細かさだけが増えていく

スケーリングを正しく取ったうえで、同じ1本の乱数列を 20点から20000点まで細かく見たのがこの図です。全体の形が保たれたまま、ギザギザの細かさだけが増えていきます。 これがブラウン運動への収束の見た目です。

ただし対称の場合に限る(自分の誤り)

ここは私が最初に間違えたところです。「n\sqrt{n} で割れば収束する」と書いたのですが、これは対称ランダムウォーク(p=0.5p = 0.5)に限った話でした。

ドリフト付きランダムウォークのスケーリング3枚組。左はp=0.6のウォークをS_n/√nでスケールしたもので、歩数が増えるほど直線の傾きが急になり、n=100000では最大60以上まで上へ逃げていく。中央は平均n(2p-1)を引いてからσ√nで割ったもので、どの歩数でも同じ大きさ(-1.5から1.6程度)に収まっている。右は両対数グラフで、p=0.5、0.6、0.9の分散の実測点が、それぞれ1.00n、0.96n、0.36nの理論直線にぴったり乗っている

p0.5p \ne 0.5 だと1歩の平均が 2p102p-1 \ne 0 なので、nn 歩後の平均が n(2p1)n(2p-1) で伸びていきます。これを n\sqrt{n} で割ると n(2p1)\sqrt{n}(2p-1) ですから、まだ発散します。

実測(p=0.6p = 0.6)がまさにそうなりました。

歩数 nnSn/nS_n/\sqrt{n} の平均中心化後の分散
100+2.0040.950
1,000+6.3240.958
10,000+20.0020.967

平均が 103.16\sqrt{10} \approx 3.16 倍ずつ増えています。正しくは平均を引いてから割る必要があります。

Sntnt(2p1)σnBt(0t1),σ2=4pq\frac{S_{\lfloor nt \rfloor} - \lfloor nt \rfloor(2p-1)}{\sigma\sqrt{n}} \longrightarrow B_t \quad (0 \le t \le 1), \qquad \sigma^2 = 4pq

t=1t=1 だけを見れば右辺は B1N(0,1)B_1 \sim N(0,1) で、これは第8回の中心極限定理そのものです。ドンスカーの不変原理が主張しているのは、それが経路全体で成り立つことです。私が「n\sqrt{n} で割る」と略したせいで、中心化の一手が落ちていました。

一方で、右の図が示すように分散が nσ2n\sigma^2 になること自体は非対称でも崩れません。 独立な和の分散は足し算だからで、増分の分布に依存しません。両対数で傾き 1 の直線に乗り、切片が 4pq4pq で決まります(pp=0.5 で 1.00n1.00n、0.6 で 0.96n0.96n、0.9 で 0.36n0.36n)。

ドリフトを残したまま極限を取りたい場合は、pp 自体を nn とともに 1/21/2 へ近づけます。具体的には 2p1=μ/n2p-1 = \mu/\sqrt{n} とすると、Snt/nS_{\lfloor nt \rfloor}/\sqrt{n}ドリフト付きブラウン運動 Xt=μt+BtX_t = \mu t + B_t に収束します。nt(μ/n)/nμt\lfloor nt \rfloor \cdot (\mu/\sqrt{n}) / \sqrt{n} \to \mu t となるからです(このとき σ2=1μ2/n1\sigma^2 = 1-\mu^2/n \to 1 なので、揺らぎの側は標準ブラウン運動になります)。ドリフトが生き残るのは、pp1/21/2 からのずれがちょうど 1/n1/\sqrt{n} の速さのときだけという微妙なバランスになっています。

なぜ「一個前」が無いのか:自己相似性

「一個前がない」という話が抽象的に感じられたので、図で確かめました。

ブラウン運動を10倍ずつ拡大した4枚組。左から順に幅1、幅0.1、幅0.01、幅0.001の区間を描いており、縦軸の目盛りが1.4、0.1、0.075、0.02と桁で小さくなっているのに、ギザギザの見た目がどの拡大率でもまったく変わらない

1本のブラウン運動を10倍ずつ拡大しています。縦軸の目盛りが 1.4 → 0.1 → 0.075 → 0.02 と桁で小さくなっているのに、ギザギザの見た目がほとんど変わりません。 これを自己相似性といいます(一番右は描画に使った刻み幅に近づくので、多少粗く見えます)。

普通の関数なら、拡大すれば直線に近づきます。これが微分可能ということで、そこに接線=「進む向き」が定まります。ブラウン運動は拡大しても直線に近づかないので、「次にどちらへどれだけ動くか」が定まりません。だから漸化式で書けないのです。

理屈はスケーリングそのものです。幅 hh の増分は標準偏差 h\sqrt{h}。傾きは

hh=1hh0\frac{\sqrt{h}}{h} = \frac{1}{\sqrt{h}} \xrightarrow{h \to 0} \infty

分子が h\sqrt{h} でしか小さくならないのに、分母は hh で小さくなるので、割り算が発散します。 ここでも \sqrt{} が効いています。

ここまでは「差分商の大きさが発散する」という直観です。実際に確率1ですべての時刻で微分できないことは別に証明が必要な定理で、準1級では結果だけ知っておけば十分ですが、上のスケーリングはその理由の見当をつける計算だと思ってください。

いずれにせよブラウン運動は連続なのにどこでも微分できないという性質を持ちます。手で描ける関数にはこんなものがないので、直感的にはかなり異常な対象です。これが後で伊藤の補題が必要になる理由でもあります(普通の微積分が使えないので、専用の計算規則を作った)。

実装するときは必ず細かいランダムウォークで近似します(この図も刻み幅 1/2000001/200000 の正規ランダムウォークで描いています)。その意味では「細かいランダムウォーク=ブラウン運動」という感覚は実務的に正しいです。ただし定義としては向きが逆で、極限のほうが定義側にあります。

幾何ブラウン運動と σ の推定

ブラウン運動そのままだと株価のモデルにはなりません。値が負になれますし、100円の銘柄と10000円の銘柄が同じ幅で動くことになってしまいます。

そこで変化率が正規分布に従うと考えます。これが幾何ブラウン運動です。

St=S0exp((μσ22)t+σBt)S_t = S_0 \exp\left(\left(\mu - \frac{\sigma^2}{2}\right)t + \sigma B_t\right)

幾何ブラウン運動の3枚組。左は300本の経路のうち25本を描いたもので、下は0で止まり上は無限に伸びる非対称な広がりを示し、黒い太線でS_0e^(μt)の期待値の曲線が引かれている。中央は同じ経路の対数を取ったもので、ドリフト付きの直線に揺らぎが乗った形(普通のブラウン運動)になっている。右は日次対数収益率のヒストグラムに、平均(μ-σ²/2)Δt、分散σ²Δtの正規分布の赤い密度曲線が重なり、ぴったり一致している

対数を取ると普通のブラウン運動になるのが中央の図です。第6回でやった「掛け算で動くなら対数正規分布」がここに繋がります。掛け算の世界を対数で足し算の世界に移すと、ブラウン運動が現れます。

そして対数収益率 Xi=log(Si/Si1)X_i = \log(S_i/S_{i-1}) の分布は

XiN((μσ22)Δt, σ2Δt)X_i \sim N\left(\left(\mu - \frac{\sigma^2}{2}\right)\Delta t,\ \sigma^2 \Delta t\right)

レートそのものではなく、対数の差を取るのがポイントです。ここから σ\sigma を推定する問題が章末に出ます。手順は4段階です。

  1. 価格から対数収益率 Xi=log(Si/Si1)X_i = \log(S_i/S_{i-1}) を作る
  2. 標本分散 s2s^2 を計算する
  3. Δt\Delta t で割るs2s^2σ2Δt\sigma^2\Delta t の推定値なので)
  4. 平方根を取る

実際に σ=0.20\sigma = 0.20Δt=1/252\Delta t = 1/252(日次)で1007日分のデータを生成して推定してみました。

段階
標本分散 s2s^20.00016148
s2/Δts^2 / \Delta t0.040693
σ^=s2/Δt\hat\sigma = \sqrt{s^2/\Delta t}0.2017(真値 0.20)
Δt\Delta t で割り忘れると0.0127(0.063倍

Δt\Delta t で割り忘れると約16分の1になります。 1/252=0.063\sqrt{1/252} = 0.063 倍だからです。単位を「年率」で答えるのか「日次」で答えるのかを問題文で必ず確認する必要があります。

なお教科書では「モーメント法で推定せよ」と書かれていることがあり、解説が最尤法のように見えて混乱しました。これは正規分布のパラメータ推定ではモーメント法と最尤法が完全に一致するためです。私が検証したときも両者の差はゼロでした。第10回の十分統計量の話に繋がる性質で、ただし一般には一致しません(厳密には分散を nn で割る定義のときに一致します。n1n-1 で割ると標本サイズぶんの差が出ますが、1000点あれば無視できる大きさです)。

マルチンゲール:「公平な賭け」を定義に格上げしたもの

マルチンゲールは私にとって最後まで正体不明の概念でした。「公平な賭け」という説明は聞いたことがあったのですが、それを定義してどう役に立つのかがわかりませんでした。使いどころから入ります。

定義

E[Xn+1Fn]=XnE[X_{n+1} \mid \mathcal{F}_n] = X_n

Fn\mathcal{F}_n は「時刻 nn までに得られた情報の全体」で、フィルトレーションと呼ばれます。式の意味は「次の期待値は、今いる場所」です。

マルチンゲールの3枚組。左は公平な賭けの12本の経路が灰色で暴れているなかを、40経路の平均を示す赤い太線がほぼ0の水平破線に沿って動く図。中央は定義そのものの図で、時刻nまでの情報を示す青い線の先の点X_n=xから、オレンジの矢印が上(x+1、確率1/2)と下(x-1、確率1/2)に分かれ、その中点に赤い四角で「平均=x(動かない)」と示され、下部にE[X_{n+1}|F_n]=X_nの式がある。右は破産問題のグラフで、横軸が手持ちa円、縦軸が100円到達確率。公平p=0.5では直線a/N、p=0.49では下に大きく凸な曲線となり、a=20で0.20から0.023へ落ちることが矢印で示されている

中央が定義そのものの図です。今 xx にいて、±1\pm1 に等確率で動くなら、次の平均は xx のまま。「動くけれども、平均は動かない」という状態を式にしただけです。

左の図で、個々の経路は ±20\pm 20 以上まで暴れていますが、40本の平均は 0 のすぐ近くを動くだけです(40本では +2+2 程度のぶれが残ります)。20万回のシミュレーションで測ると、公平な賭けの平均は100回後で +0.019+0.019、分散は 99.8(理論 100)でした。

何のために定義されたのか

分布を一切仮定せず、「平均が動かない」という性質だけを抽出した枠組みだからです。そしてご利益は、その1つの性質だけで結論が出る定理が使えることです。代表が任意停止定理です。

任意停止定理は雑に言うと「マルチンゲールを途中で止めても平均は変わらない」という主張です。ここで効いている条件は2つで、止まる時刻 τ\tau が確率1で有限であることと、止めるまでの値が有界であること(今回は 0 円から NN 円の間に収まります)。目標を N=N=\infty にすると前者が壊れ、実際 a/N0a/N \to 0 で式も意味を失います。

使いどころ:破産問題

手持ち aa 円で、公平なコイン投げで ±1\pm 1 円を賭け続けます。0 円になったら破産、NN 円に到達したら勝ち。勝つ確率はいくらでしょうか。

任意停止定理を使うと、止めた時点の平均が最初の aa に等しくなります。止まる先は 0 円か NN 円のどちらかなので、勝つ確率を PP として

0(1P)+NP=aP=aN0 \cdot (1-P) + N \cdot P = a \quad \Longrightarrow \quad P = \frac{a}{N}

1行で出ました。 「何歩で到達するか」「途中どんな経路を通るか」を一切考えていません。実測で確認しました。

手持ち aa目標 NN実測理論 a/Na/N
1100.10280.10
5100.50310.50
9100.90050.90
201000.19850.20

公平が1%崩れると勝てなくなる

では公平でない場合はどうなるか。p=0.49p = 0.49(1%だけ不利)にしてみます。

ここで注意が必要です。p1/2p \ne 1/2 では所持金 SnS_n 自身はもうマルチンゲールではありません(平均が減っていくので優マルチンゲールです)。代わりに r=q/pr = q/p とおくと rSnr^{S_n} がマルチンゲールになり、これに同じ任意停止定理を当てると次の式が出ます。

P=1ra1rNP = \frac{1-r^a}{1-r^N}
手持ち aa目標 NNp=0.49p=0.49 の実測理論公平なら
201000.02240.02290.20
501000.11660.11920.50

わずか1%の不利で、達成確率が 0.20 から 0.023 に落ちます。約9分の1です。 これがカジノや宝くじの構造で、「胴元がほんの少し有利なだけ」が客側の絶望的な不利になる理由を数量化しています。図の右パネルで、直線が下に凸な曲線に潰れているのがそれです。

統計での使いどころ

賭けの話に見えますが、統計にも直接効いてきます。

場面どう使われるか
逐次検定データを取りながら検定するとき、尤度比がマルチンゲールになる。これで「いつ止めても有意水準が保たれる」設計が作れる
スコア関数帰無仮説の下でスコアの累積和がマルチンゲール。漸近正規性の裏側にある(χ2\chi^2 近似そのものはテイラー展開の話で、マルチンゲールは必須ではない)
ブラウン運動BtB_t 自身がマルチンゲール。Bt2tB_t^2 - t もマルチンゲール
確率的勾配降下法収束証明でマルチンゲール収束定理が使われる
金融無裁定価格はマルチンゲールになるように測度を取り替える(リスク中性化)

逐次検定が実務的に効きます。 通常のA/Bテストは事前にサンプルサイズを決める必要があり、途中で覗いて有意になったら止めるという運用をすると偽陽性が膨らみます(第12回の多重性の話)。マルチンゲールの性質を使うと、覗きながら止めても有意水準を守れる検定が設計できます。

用語の注意

マルチンゲールには紛らわしい用語が2つあります。

用語意味
マルチンゲールE[Xn+1Fn]=XnE[X_{n+1} \mid \mathcal{F}_n] = X_n(平均が動かない)
劣マルチンゲールE[Xn+1Fn]XnE[X_{n+1} \mid \mathcal{F}_n] \ge X_n(平均が増える傾向)
優マルチンゲールE[Xn+1Fn]XnE[X_{n+1} \mid \mathcal{F}_n] \le X_n(平均が減る傾向)

「劣」が増える側で「優」が減る側という、直感と逆の名付けになっているので注意が必要です(賭ける側から見て「優」なのではなく、劣調和関数・優調和関数(subharmonic / superharmonic)の言葉に由来します)。

また「マルチンゲール法」という倍賭けの賭博戦略が同じ名前で呼ばれますが、これは別の話です。負けたら賭け金を倍にする戦略で、必ず勝てるように見えて、資金が有限なので破産します。「平均が動かない」性質を裏切れないことの実例ではあります。

伊藤の補題はワークブック第15章に登場しない

結論を先に書きます。伊藤の補題と確率微分方程式は、公式ワークブックの第15章には登場しません。 計算問題として問われることはまず無いので、用語として名前を知っておけば十分です(公平を期すと、この記事で紙面を割いたマルチンゲールや再帰性も、ワークブック本文よりは踏み込んだ寄り道です)。

一応、何のためのものかだけ触れておきます。ブラウン運動はどこでも微分できないので、f(Bt)f(B_t) の変化を普通のテイラー展開で扱えません。通常の微積分なら2次の項 (dt)2(dt)^2 は無視できますが、ブラウン運動では

(dBt)2=dt(dB_t)^2 = dt

となり、2次の項が1次の大きさで残ります。 増分の標準偏差が dt\sqrt{dt} なので、2乗すると dtdt になるからです。この余分な項を組み込んだ微分の公式が伊藤の補題です。

df(Bt)=f(Bt)dBt+12f(Bt)dtdf(B_t) = f'(B_t)\,dB_t + \frac{1}{2}f''(B_t)\,dt

幾何ブラウン運動の式に出てくる σ2/2-\sigma^2/2 の正体がこの第2項です。「なぜ σ2/2\sigma^2/2 を引くのか」の答えが伊藤の補題なので、そこだけ知っておくと式が暗記でなくなります(第4回のイェンセンの不等式とも繋がっていて、指数関数が凸なので補正が必要になります)。

準1級で押さえるべきは次の1点だけです。幾何ブラウン運動の対数を取ると、ドリフト μσ2/2\mu - \sigma^2/2 のブラウン運動になる。 これは出ます。

試験対策:典型問題の解き方

ポアソン過程は出題されやすいので、計算パターンを整理します。λ=12\lambda = 12 件/時のコールセンターを例にします。時間の単位を λ\lambda に合わせるのが最大の注意点です。

問い立式答え
10分間に1件も来ない確率eλte^{-\lambda t}t=1/6t=1/6 時間e2=0.1353e^{-2} = 0.1353
10分間に3件以上来る確率1k=02e22kk!1 - \sum_{k=0}^{2}\frac{e^{-2}2^k}{k!}0.3233
次の電話までの平均待ち時間1/λ1/\lambda5分
5件目までの平均時間k/λk/\lambda25分
5件目までの時間の標準偏差k/λ\sqrt{k}/\lambda11.18分
すでに5分待った後、さらに10分以上待つ確率無記憶性より eλ10/60e^{-\lambda \cdot 10/60}0.1353
1時間に10件来たとき、最初の20分に3件の確率Bin(10,1/3)(10, 1/3)0.2601

最後の行が引っかけです。条件を付けたらポアソンではなく二項分布になります。

チェックリストにするとこうなります。

  1. 単位を揃えるλ\lambda が「時間あたり」なら tt も時間で書く。分で書いたら λ\lambda を60で割る
  2. 「件数」か「時間」かを見分ける。件数ならポアソン、1件目までの時間なら指数、kk 件目までならガンマ
  3. 「以上」「以下」は補集合を疑うP(N1)=1eλtP(N \ge 1) = 1 - e^{-\lambda t} が最頻出
  4. 条件付きが出たら一様分布・二項分布に切り替える
  5. 合成・分解は λ\lambda の足し算・掛け算で済む
  6. ブラウン運動の σ\sigma 推定はΔt\Delta t で割るのを忘れない

自分が間違えていたこと

①「n\sqrt{n} で割ればブラウン運動になる」は対称の場合だけ

これが今回いちばん大きな誤りでした。ランダムウォークからブラウン運動への収束を「横を細かくしながら縦を n\sqrt{n} で割る」と書いたのですが、p0.5p \ne 0.5 では平均が n(2p1)n(2p-1) で伸びるので n\sqrt{n} で割っても n(2p1)\sqrt{n}(2p-1) で発散します。 実測で p=0.6p=0.6 のとき平均が +2.00 → +6.32 → +20.00 と増えていくのを見て気づきました。

正しくは (Snn(2p1))/(σn)(S_n - n(2p-1))/(\sigma\sqrt{n}) で、中心化の一手が落ちていました。 第8回の中心極限定理では平均を引く操作を明示していたのに、こちらでは「n\sqrt{n} で割る」と略したせいで抜けました。

②「1歩の分散 σ2\sigma^2」という書き方が不親切だった

±1\pm1 ランダムウォークには σ\sigma というパラメータが出てこないので、抽象的に σ2\sigma^2 と書くと「どこから来た値か」が読者に見えません。σ2=4pq\sigma^2 = 4pq と具体形を併記すべきでした。pp が 0.5 から離れるほど分散が小さくなるという、書いてみないと気づかない性質もありました。

③ 条件付きポアソンを二項分布で答えられなかった

過去問で「1時間に nn 件来たとき、最初の20分に kk 件」という問いに、ポアソン分布で答えようとして詰まりました。条件を付けた瞬間に一様分布の順序統計量になり、件数は二項分布になります。 「ポアソン過程の問題だからポアソン分布」という短絡でした。

④ 複合ポアソン過程の分散を E[Y]2E[Y]^2 だと思っていた

正しくは V[S]=λtE[Y2]V[S] = \lambda t \cdot E[Y^2] です。件数のばらつきと金額のばらつきの両方が効くので、E[Y2]=V[Y]+(E[Y])2E[Y^2] = V[Y] + (E[Y])^2 の形になります。「平均金額の2乗」ではありません。

⑤ 再帰性の断絶を「怪しい」と思っていた

2次元と3次元の間に「必ず戻る/戻らない」の断絶があるのは飛躍だと感じていました。実際は nd/2\sum n^{-d/2} の収束・発散が d=2d=2 を境界にしているだけで、微積分で最初に習う「1/n\sum 1/n は発散する」がそのまま効いていました。 2次元がぎりぎり発散側にいる、という位置関係が本質でした。

⑥「必ず戻る」の速さを誤解していた

1次元は確率 1 で戻るのですが、未復帰確率が 1/πm1/\sqrt{\pi m} でしか減りません。100,000 歩でもまだ約 0.25% が戻っていません。 「確率 1」と「実用的にすぐ起きる」はまったく別物でした。

⑦ ブラウン運動の定義をランダムウォークで説明していた

「一個前の状態から正規分布のノイズで動く」と理解していたのですが、これはランダムウォークの説明です。ブラウン運動には「一個前」が存在しません(時間が連続なので直前の点がない)。定義は増分の分布 BtBsN(0,ts)B_t - B_s \sim N(0, t-s) で与えられます。自己相似性の図を見て、拡大しても直線に近づかない=進む向きが定まらないことが納得できました。

要点まとめ

問い答え
ポアソン分布と過程の違いは何か時間軸が入って複数時刻の関係(独立増分・定常増分)が問えるようになる。「時刻を確率変数にする」問いが立つ
ポアソン過程の3条件独立増分・定常増分・微小区間で λh+o(h)\lambda h + o(h)この3つから Po(λt)(\lambda t) が導かれる
なぜ到着間隔が指数分布か{T1>t}\{T_1>t\}{N(t)=0}\{N(t)=0\}同じ事象k=0k=0 を代入するだけ。計算していない
ポアソン・指数・ガンマの関係絵は1枚。件数を読む/間隔を読む/kk 件目までを読む、の違い
SkS_kN(t)N(t) の関係{Sk>t}{N(t)<k}\{S_k>t\} \Leftrightarrow \{N(t)<k\}。ガンマの積分をポアソンの足し算に変換できる
ポアソン過程の合成・分解合成は λ\lambda の足し算、確率 pp の選別は λp\lambda p選別後の2つは独立
件数を条件付けたら到着時刻は一様分布の順序統計量。部分区間の件数は二項分布
複合ポアソン過程の分散λtE[Y2]\lambda t \cdot E[Y^2]E[Y]2E[Y]^2 ではない
過分散のサイン分散÷平均が 1 から離れる(実測 0.98 vs 4.03)。λ\lambda が揺らぐと負の二項分布になる
M/M/1 の系内客数L=ρ/(1ρ)L = \rho/(1-\rho)(待ち客数は Lq=ρ2/(1ρ)L_q=\rho^2/(1-\rho))。ρ\rho=0.8 で系内4人・待ち3.2人、0.9 で9人。利用率を上げると爆発する
ランダムウォークの再帰性1・2次元は再帰的、3次元以上は一時的d=3d=3 の復帰確率は 0.3405。次元が上がるとさらに下がる)。nd/2\sum n^{-d/2} の収束・発散が境界
1次元が「必ず戻る」速さ未復帰確率が 1/πm1/\sqrt{\pi m}。10万歩でも約 0.25% は未復帰。確率1は「すぐ」を意味しない
ランダムウォーク→ブラウン運動横を nn 倍細かく、同時に縦を n\sqrt{n} で割る。非対称なら中心化も必要
ブラウン運動の定義B0=0B_0=0/独立増分/BtBsN(0,ts)B_t-B_s \sim N(0,t-s)/連続。「一個前」は存在しない
なぜ微分できないかhh の増分が h\sqrt h なので傾きが 1/h1/\sqrt h \to \infty。拡大しても直線にならない(自己相似)
幾何ブラウン運動の σ\sigma 推定対数収益率の標本分散を Δt\Delta t で割る。忘れると16分の1
マルチンゲールとは何かE[Xn+1Fn]=XnE[X_{n+1} \mid \mathcal{F}_n]=X_n分布を仮定せず「平均が動かない」だけを抽出した枠組み
マルチンゲールのご利益任意停止定理。破産問題が a/Na/N で1行で解ける。1%不利にすると 0.20 が 0.023 に落ちる
伊藤の補題は範囲かワークブック第15章には無く、計算問題は出ない。ただし幾何ブラウン運動の対数変換(μσ2/2\mu-\sigma^2/2)は出る

次回

次回からは多変量解析編に入ります。今回の「独立な増分に分解する」という発想は、次に扱う主成分分析でも形を変えて現れます。データのばらつきを互いに影響しない方向に分けるという意味で、発想の骨格が共通しています。

そして今回のランダムウォークは、時系列解析(第27章以降)で単位根過程として再登場します。「ホワイトノイズを積み上げるとランダムウォークになる」という関係で、見せかけの回帰が起きる原因がここにあります。今回「n\sqrt{n} で割らないと発散する」と確認した性質が、そのまま「単位根があると通常の tt 検定が使えない」理由になります。

この連載の全体像とこれまでの回は統計検定準1級・独学連載のまとめにあります。