0621

18
確率シミュレーション 1 授業振替 (休講⽇)7⽉19⽇(⽕) 2限 (11:10-12:40) (振替⽇)7⽉12⽇(⽕)5限 (16:40-18:10) http://www.slideshare.net/ShinjiNakaoka 授業レクチャーノート 授業1つ前に事前公開予定、授業後、追加スライド挿⼊、誤植など 訂正分を再アップロード

Upload: lecture-slides

Post on 12-Jan-2017

239 views

Category:

Education


1 download

TRANSCRIPT

確率シミュレーション

1

授業振替(休講⽇)7⽉19⽇(⽕) 2限 (11:10-12:40)(振替⽇)7⽉12⽇(⽕)5限 (16:40-18:10)

http://www.slideshare.net/ShinjiNakaoka

授業レクチャーノート

授業1つ前に事前公開予定、授業後、追加スライド挿⼊、誤植など訂正分を再アップロード

シミュレーション

2

擬似的な環境を作り出してその上で挙動を⾏う作業をシミュレーションという。宇宙⾶⾏⼠が宇宙滞在時を想定した模擬作業もあるが、コンピューターシミュレーション、数値シミュレーションといえば、台⾵接近予想や⾼速で物質が衝突する挙動を、数値的に⽅程式を解くことを表す。本講義で学ぶ確率シミュレーション⼿法とは、確率的法則に⽀配される挙動を計算機上で表現するための⼿法である。

シミュレーションとは?

1.乱数発⽣「乱数シミュレーション」2.モンテカルロ法 [乱数を利⽤した数値計算]3.Gillespie のアルゴリズム [Poisson過程シミュレーション]

取り扱うシミュレーション技法

上台⾵接近、物質衝突など決定論⽅程式にしたがう物理法則をベースにしたシミュレーション (確率シミュレーションと区別して決定論シミュレーションともいう) は扱わない。

乱数シミュレーション

3

コインを投げて表が出る回数 N(t) を数える試⾏

コインを投げて、表が出れば +1、裏が出れば 0となる乱数を繰り返し発⽣させる。公平なコイン (表、裏が出る確率が p=1/2)の場合、表が出た回数は裏が出た回数とほぼ等しくなる。

表、表、裏、表、裏、裏、表、表、裏、表、 表・・・時刻 t: 1 2 3 4 5 6 7 8 9 10 11

N(t): 1 2 2 3 3 3 4 5 5 6 7

ソースコード

Pythonや Rなどスクリプト⾔語を⽤いれば簡単に実⾏可能

モンテカルロ法

4

コインを投げて表が出る回数 N(t) を数える試⾏表、表、裏、表、裏、裏、表、表、裏、表、 表・・・

時刻 t: 1 2 3 4 5 6 7 8 9 10 11

N(t): 1 2 2 3 3 3 4 5 5 6 7

コインを投げて、表が出れば +1、裏が出れば 0となる乱数を繰り返し発⽣させ、表が出た頻度 (表が出た回数/試⾏回数)がどう変化するかを確認。公平なコイン (表、裏が出る確率が p=1/2)の場合、表が出た頻度ははじめ変動しているが、試⾏回数が増えるに連れて 1/2の値に収束することが確認できる。確率性 (乱数)を利⽤し、解析が困難な問題も数値的に結果(の⼀例)を得ることができる。

円周率の計算

5

2つの⼀様乱数 r1, r2 (0--1) を発⽣させ、円内 (r12+ r22<1) であれば+1、そうでなければ 0 とする。

この試⾏を N 回繰り返すと、近似的に円周率を計算することができる。

N=10000 のとき 3.1484 なので、計算効率はあまり良くない。

Poisson過程復習

6

パラメーター λ が時間依存する Poisson過程を考える。

計数 (counting)過程 N(t)が次の3つの条件

(i)

(iii)

(Vi)

を満たすとき、計数過程はパラメーター λ(t)の⾮⻫次 Poisson過程と呼ばれる。

(ii) 過程は独⽴増分をもつ。

以下で Gillespieアルゴリズムについて学ぶが、⾮⻫次 Poisson過程を計算機で実装したものに対応する。

Gillespieアルゴリズム

7

確率シミュレーション

ある確率法則に従って⽣じるイベントの選択と、イベント発⽣に伴う系の状態変化と経過時間を追跡する⼿法

個体群ダイナミクスの確率シミュレーション

個体の⽣成 (出⽣)と消滅 (死亡)が主なイベントで、個体数の増減が系の状態変化、出⽣・死亡が⽣じるまでの時間が経過時間に対応する。

Gillespieアルゴリズム (1976,2000)

Gillespieによって化学反応系のダイナミクス (結合乖離など化学反応がイベント)を表現するために提案された⼿法。本講義では直接法 (directmethod)を紹介するが、𝛕-leap法 (leap:跳躍)など計算速度向上を実現する近似⼿法など、様々な改良が⾏われている。再⽣過程など、無記憶性が仮定できないような確率過程は対象外であるが、個体ベースの Gillespieアルゴリズムを考慮することで取り扱いができるなど拡張が可能である (NakaokaandAihara,J.Math.Biol.2012)。

Gillespieアルゴリズム

8

前提条件 (仮定)

系に存在する反応の種類 (reactionchannel:個体群ダイナミクスの場合は出⽣、死亡など)の総数を R とする。微⼩区間 (t+𝜏,t+𝜏+d𝜏)内で 𝜅番⽬の反応 が起こる確率を P(𝜏,𝜅)d𝜏

Gillespieアルゴリズム (1976,2000)

P(𝜏,𝜅): 連続変数 𝜏 (0≤𝜏<∞)かつ離散変数 𝜅 (𝜅=1,2,…,R)からなる同時確率分布d𝜏内で2つ以上の反応は起きないと仮定: o(d𝜏)

1.次の反応が起こるまでの時間ステップ 𝛥Tを決定

2.R 個ある反応のうち、どの反応が起こるかを選択

3.選択された反応の種類によって、系の個体数を更新

Gillespieアルゴリズム

9

Gillespieアルゴリズム (1976,2000)1.次の反応が起こるまでの時間ステップ 𝛥Tを決定2.R 個ある反応のうち、どの反応が起こるかを選択3.選択された反応の種類によって、系の個体数を更新

B1 à B3à D3

à B2 à B2 àD1 à…

t1 t2 t3 t4 t5 t6

イベント系列

B=出⽣,D=死亡

b2 b3

⻫次 Poisson 過程の場合不変

b2(t)b3(t)

b2(t) b3(t) t1 t2

t1 t2 b2 b3

変形

group1

group2

group3

Gillespie 直接法 (模式図)

⾮⻫次 Poisson 過程の場合

次の反応までの待ち時間 (t2-t1,t3-t2,…)は、指数乱数で決める (いずれかの反応が⽣じるまでの待ち時間)。起こるイベントは、サイコロの⽬を選ぶイメージ。起こりやすいイベントほど、サイコロ⾯が⼤きく選ばれやすい。出⽣が選択された場合、その個体群の個体数は +1するなど、個体数の状態を更新。

証明

10

時刻 tにおける系の状態 x(t)は、各集団の個体数 xi(t)を⽤いて

微⼩区間 𝛿t内で n 番⽬の反応が起こる確率:pn(t,x)t 𝛿t

どの区間 (t,t+𝜏)でどの反応も起こらない確率:

定義より、P(𝜏,𝜅)d𝜏 は以下の関係式を満⾜する。

したがって P(𝜏,𝜅)は

証明

11

同時確率密度分布 P(𝜏,𝜅)は、確率密度関数が満たすべき性質を満⾜する:

P1(𝜏)d𝜏 は区間 (t,t+𝜏) 内で R 個存在する反応の中でいずれかが起こる確率, P2(𝜅|𝜏) はその起こる反応が 𝜅 番⽬の反応である条件付き確率とする. P(𝜏,𝜅)の定義により

P1(𝜏)d𝜏 の定義より

したがって

が得られる。

証明

12

(続き)K番⽬までの反応の傾向関数 pk(t,x)の累積和 𝛤K(t,x)(K=1,2,…,R ):

傾向関数 pk(t,x)の総和を 𝛤0(t,x)とすると、定義より

このとき P1(𝜏), P2(𝜅|𝜏) はそれぞれ

したがって

確率密度関数が満たすべき性質が成⽴:

証明

13

区間 (t,t+𝜏)を等しく K 分割すると,各分割区間の⻑さは 𝜀=𝜏/Kである。区間(t,t+𝜀)で R 個のいずれの反応も起こらない確率は

同様の操作を続く分割区間 (t +𝜀,t+2𝜀),(t +2𝜀,t+3𝜀),…,(t+(K-1)𝜀,t+K𝜀)において⾏うことで

が任意の K>1 について成⽴する。したがって K→∞とすることにより

Gillespieアルゴリズム

14

1.次の反応が起こるまでの時間ステップ 𝜏=𝛥Tを決定

2.R 個ある反応のうち、起こる反応 𝜅 を選択

3.選択された反応の種類によって、系の個体数を更新

2つの⼀様乱数 r1,r2 を⽤いて、確率変数の組 (𝜏,𝜅)を P1(𝜏)より決定

選択された反応は系の個体数を増加させる場合、第 番⽬の要素が 1で、それ以外は 0であるベクトル を⽤いて

具体例

15

体内で⽣じている確率的な現象をシミュレーションした図 (右)。

体内の細胞では、転写 (transcription)という過程を経て、DNAから中間物となる mRNA(messenger RNA)が⽣成される。その後、mRNAの配列をベースにタンパク質が翻訳(translation)される。計測技術の発達により、mRNAが⽣成される過程が確率的に⾏われていることが明らかになった。

詳細は、後の講義で扱う telegraphmodelと呼ばれる⼆段階 Poisson過程で紹介する。

近似解法

16

𝜏-leap法

Gillespie直接法では、反応が 1つ起こる毎に系の状態を更新する。もし⾮常に速い反応が存在する場合や個体数が多い場合、時間ステップの間隔が⾮常に短くなって計算に時間がかかってしまう。ここで、どの反応が選択されるかは傾向関数に従って決定するため、もし複数の時間ステップ間に反応の傾向が変化しない場合、同じ反応が続けて複数回⽣じる可能性が考えられる。すなわち、もし反応の傾向が近似的に⼀定と⾒なせる区間 𝜏が存在するならば、同じ反応が続けて起こると仮定して実際の計算を省略し、時間を跳躍(leap)させることができる。この近似計算⼿法は 𝜏 -leap法と呼ばれており、全ての i に対して反応の傾向 pi(x)が pi(x)~const と近似できる区間 [t、t+ 𝜏]が存在することを leap条件と呼ぶ 。 𝜏 -leap法をベースに Gillespie直接法を近似的に計算する⼿法がいくつか提案されている。それぞれの⼿法は、反応が続けて起きる回数 (発⽕数)を決定するルールに違いがある。

近似解法

17

陽的 (explicit) 𝜏 -leap法では、発⽕数を Poisson分布からサンプリングする。複数の発⽕で時間を跳躍させることで計算時間は短縮されるが、陽的 𝜏 -leap法は、原理的に不適切な結果を導く可能性がある。実際、Poisson 乱数は上限がないため、もし反応によって個体数が減少する場合、個体数よりも発⽕数が⼤きい反応が⽴て続けに起きると、個体数が負になってしまう。⼆項 𝜏 -leap法は、陽的 𝜏 -leap法のような負の個体数が出現する問題を回避するために考案された⼿法である。最⼤発⽕数 ki* を設定して⼆項分布から発⽕数をサンプリングを⾏うことで、発⽕数が⼤きくなり過ぎないよう調整する。陽的、⼆項 𝜏 -leap法はいずれも跳躍ステップ間隔 𝜏を利⽤者が予め決めておく必要があり、跳躍ステップ間隔が⼤きいと計算精度が悪くなってしまう。最適 𝜏 -leap法は、計算の精度保証を⾏った上で跳躍ステップ間隔 𝜏を最適(最⼤)にする⽅法である。最適 𝜏 -leap法では、個体数によって反応を要注意 (critical)かそうでないか (noncritical)に分類し、個体数がある閾値よりも⼩さい集団の反応を criticalとして取り扱う。noncritical な反応に陽的 𝜏 -leap法を適⽤して跳躍ステップ間隔を選択するなど、やや複雑なアルゴリズムを⽤いて最適な跳躍ステップ間隔を決定する。

Memo

18