logo

確率過程とは何か? 📂確率論

確率過程とは何か?

定義

  1. 確率変数 X:ΩEX: \Omega \to E の値域を状態空間という。
  2. 確率変数の集合 {Xtt[0,)}\left\{ X_{t} \mid t \in [ 0 , \infty ) \right\}連続的確率過程という。
  3. 確率変数の数列 {Xnn=0,1,2,}\left\{ X_{n} \mid n = 0, 1, 2, \cdots \right\}離散的確率過程という。

説明

過程processという言葉が含まれているため、確率過程を理解するのは難しい、典型的には言葉が難しいために難しい概念だ。「プロセス」とは通常、あるアルゴリズムや、言葉そのままの「過程」を意味するため、上の定義と全く合わないためである。高校を卒業すると、数列を「定義域が自然数の関数」と定義するため、「確率変数の数列」や「確率変数の集合」という説明を敢えてする。

関数?数列?集合?

この意味で確率過程とは結局のところ、「時間的な変数 ttnn に対して確率変数を対応させる関数」である。重要なのは結局「いつ、どのように確率が出るか?」であり、集合だの数列だの複雑に考える必要はない。人々は今日雨が降る確率も気になるし、明日の雨の確率も気になるし、明後日の雨の確率も気になる。今日をD+0、明日をD+1、明後日をD+2として、p(Xn= rain )p ( X_{n} = \text{ rain } ) をD+nの降水確率と表せるなら、確率過程の概念を素晴らしく理解したことになる。

確率過程論は、その性質上、多くの学問分野で様々なレベルで学ばれるため、教科書によって言葉が異なる。少なくとも確率情報論を学び始めるときは、正確な定義よりも直観的な概念をうまく受け入れることがさらに重要だ。

ギャンブル

例として、コイン投げゲームCash Processを考えてみよう。このゲームでは、コインを投げて表が出れば11ポイントを得て、裏が出れば11ポイントを失う。プレイヤーが終了を宣言した時点でゲームは終わり、最後にスコアが正ならばポイント一つにつき千円を受け取り、負ならばポイント一つにつき千円を支払わなければならないゲームである。スコアは00ポイントから始まる。

まずこのゲームの状態空間はプレイヤーのスコアであり、整数の集合{,(2),(1),0,1,2,}\left\{ \cdots, (- 2) , (-1) , 0 , 1 , 2 , \cdots \right\}になるだろう。プレイヤーがnn回コインを投げた時のスコアがxxポイントである確率はp(Xn=x)p( X_{n} = x)のように表せる。特に、コインを一度も投げていない場合、私のスコアは必ず00ポイントであり、p(X0=0)=1p ( X_{0} = 0 ) = 1を確信することができる。

ここでX1X_{1}(1)(-1)11であり、X2X_{2}(2),0,2(-2) , 0 , 2のうちの1つであることが確実だ。このように、試行回数nnが変わると、確率変数XnX_{n}も変わっている。

10.png 1000.png 上述のゲームのシミュレーションを行うと、スコアの波は上のようにランダムに現れる。このようなランダムな波をブラウン運動Brownian Motionという。1010回繰り返し、それでやめたなら2千円の賞金を手にしていただろうし、400400回くらいでやめたならかなりの損失があっただろうし、900900回くらいでやめたならかなりの大金を手にしていただろう。

確率過程論は「では、いつやめるのがよいか」に対する答えも提供することができる。適切な目標を達成した時、次の機会はいつか、どれほどのリスクを負うかについても誰もが疑問に思う。

もう一つの例は株式である。

20190121\_113540.png もちろん、株は完全にランダムではない。しかし、上のようなチャートを見て1年後の動向を予測するのは非常に難しい。確率過程論を勉強することは、チャーチストになることではなく、むしろその逆である。何が価格の変動に影響を与えるかを把握し、迅速に情報を取得し、正確なモデルを作成し、それを自分だけが知っていれば、一生懸命にならずとも生計を立てることができる(もちろん、不可能だが)。

一方、数学的には、確率過程は非決定論的な動力学系とも見なすことができる。

コード

以下はRを通じてキャッシュプロセスをシミュレーションした例のコードである。

set.seed(150421)
toss<-sample(c(-1,1),10,replace=T)
win.graph(4,4)
plot(cumsum(toss),type='l',main='10회 반복')
abline(h=0)
 
toss<-sample(c(-1,1),1000,replace=T)
win.graph(4,4)
plot(cumsum(toss),type='l',main='1000회 반복')
abline(h=0)