Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
マルコフ連鎖モンテカルロシミュレーションの理論と応
用的方法について
産業技術総合研究所 計測標準研究部門
物性統計科 応用統計研究室 城野 克広
左図のように3つのマス目が環状に並んでおり,サイコロの目が奇数なら右回りに出た目の数だけ進み,偶数なら動かないものとする.2回サイコロを振って元の位置に帰ってくる確率はどれだけだろうか? 10回なら?
2回なら,+ +, , + ,
+ , +
の6通りで,それぞれ1/36,1/36,1/36,1/12,1/12,1/4であるので,その和は1/2と計算できる.
, +
確率過程
確率過程
左図のように3つのマス目が環状に並んでおり,サイコロの目が奇数なら右回りに出た目の数だけ進み,偶数なら動かないものとする.2回サイコロを振って元の位置に帰ってくる確率はどれだけだろうか? 10回なら?
左のようにマスに1-3の名前をつけ,i回振ったとき1~3に止まっている確率をp1(i)~p3(i)として,p(i) = (p1(i) p2(i) p3(i))としよう.
①
②③
10回の総数えは,場合分けが多すぎて複雑過ぎる.
p(i)とp(i-1)の関係を考え,問題を単純にする.
左図のように3つのマス目が環状に並んでおり,サイコロの目が奇数なら右回りに出た目の数だけ進み,偶数なら動かないものとする.2回サイコロを振って元の位置に帰ってくる確率はどれだけだろうか? 10回なら?
p(i)とp(i -1)の関係が以下のように表わされる.
確率過程
( ) ( ) ( )Pppp 1326161613261616132
1 −=⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛−= iii ttt
これから,tp(10) =tp(0)P10= (1, 0, 0)P10= (0.33, 0.33, 0.33)である.
確率過程
この場合,位置1,2,3の遷移する過程を確率過程(stochastic process)と呼ぶ.天候,地震の発生,生物学における遺伝,株価,為替レートなど,時間の推移とともに刻々と変化していく現象の変化の過程を分析するのに有効な枠組みである.
( ) ( )Ppp 1−= ii ttという式で表わされることが多い. pを状態確率分布といい,とくにp(0)は初期分布と呼ばれる.Pは推移確率行列という.この場合Pが例えばiや{Xi}の関数であってもよい.
マルコフ連鎖
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
mmmm
m
m
aaa
aaaaaa
L
MOMM
L
L
21
22221
11211
P
先に示したように推移確率行列Pの各要素aklは状態Xi=kからXi+1=lに移る確率を示しているとする.このとき,aklがXi=kとXi+1=lのみによって決まる関数である場合,このような確率過程はマルコフ性を持つといい,マルコフ性を持つ確率過程{Xi}をマルコフ連鎖という.
表が出る確率が1/2のコインでコイントスを考える。コインを10回投げて,表が5回出ている確率は,どのくらいだろうか?
もちろん二項分布に従うから,p=10C5(0.5)10=0.246であるが,これを「i回投げて,k回表が出ているときに,i+1回目を投げる」というマルコフ連鎖の問題として考える.ak,k=0.5, ak,k+1=0.5,ak,l=0 (lはk,k+1以外の数字)であるから,
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
5.000
05.0005.05.0
L
MOMM
L
L
P
例えば;二項過程
11個
11個( ) ( )0010 Lt=p
11個
最初は0回表が出ている状態から
例えば;二項過程表が出る確率が1/2のコインでコイントスを考える。コインを10回投げて,表が5回出ている確率は,どのくらいだろうか?
このように5回表が出る確率は0.246と求めることができる.
( ) ( ) ( ) ( )
( )0.001 0.010, 0.044, 0.117, 0.205, 0.246, 0.205, 0.117, 0.044, 0.010, 0.001, 0.001000
0.0100.00100.0010.0100.001
0
5.0000
05.0005.05.0
0010
1010
10
=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
==MOMM
L
L
MOMM
L
L
ppPpp tttt
先の問題と同じく,
(ある条件化で無限回に拡張すると,ポアソン分布も導ける.)
定常分布
奇数回の試行では,必ず元の位置にはおらず,偶数回なら必ず元の位置にいるから確率1で元の位置にいる.推移確率行列による表記をしておくと,
左図のように2つのマス目が並んでおり,サイコロの目が奇数なら出た目の数だけ進み,偶数なら今いるマスから別のマスに移動するものとする.10回振った後,元の位置に戻っている確率はどれだけか?
( ) ( ) ( ) ⎟⎟⎠
⎞⎜⎜⎝
⎛−=⎟⎟
⎠
⎞⎜⎜⎝
⎛−=
1001
10110
110
iii ttt ppp
定常分布
無限回試行することを考えてみる.
最初の例では, 10回試行した時点でほぼ1/3になっていた.無限回試行すると,どのマスに止まる確率も等しくなりそうである.
2マスの例では,無限回試行しても,それが奇数か偶数かによって確率は大きく変化してしまう.
定常分布状態確率分布ベクトルの全ての要素の和は1であるから,もし推移行列Pの無限べき乗Pinfが下のような形になれば,無限回試行したのちの状態の分布はある一つのベクトルに収束するが,そのベクトルは定常分布(stationary distribution)あるいは,不変分布(invariant distribution)と呼ばれる.
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
m
m
m
bbb
bbbbbb
L
MOMM
L
L
21
21
21
infP
ちなみに,tp(inf)=(b1, b2, …, bm)に収束する.
定常分布実は推移確率行列のすべての要素が正であれば,Pinfは先スライドに示した形になることが証明されており,定常的な確率過程が生じることは特別なことではなく以下の2つの条件が必要十分な条件である.
非周期であること.先のマスが2つの例では周期的であった.
状態間の遷移が起きること.(既約という).例えば,最初に置いた位置から動かないとすると,Pinfは単位行列となる.
MCMCある定常分布を実現する確率過程が存在するとき,適当な初期状態を定めて,その確率過程による状態の遷移を観測することは結局その定常分布における状態の発生を観測していることになる.
このマルコフ連鎖を実現することで定常分布を表現するシミュレーションの技法をマルコフ連鎖モンテカルロ(MCMC)シミュレーションという.
もし,1,2,3を等確率で発生させたいなら下の試行を行って,マスの番号を記録することで実現できる.
なぜMCMC?①例えば,統計物理で行われるイジング系のシミュレーションを見てみる.これはエネルギーE,化学ポテンシャルμに対して,グランドカノニカル分布 p(E) ∝ exp(-(E-μN)/kT)することが知られている.スピンの方向は2つの値しかないが,十分に広い空間で配置させる必要がある.左図の25マスの場合でも,225 = 33554432通り,マスの数に従って,文字通り指数関数的に配置の組は大きくなる.適当にサンプリングして得られた結果が検討するに値しないことも大いにありうる.MCMCはこのような問題をクリアする鍵になりうる.
なぜMCMC?②確率分布の式は得られているものの,その確率分布に従う乱数を発生させることが困難な場合には,他の分布を元にして棄却法を行って発生させることなどもできるが,元の分布と呼びだしの分布があまりに異なると極めて非効率なサンプリングになる.これを克服するためにMCMCが役に立つかも知れない.
p(x)
x
abまず一様分布から乱
数を発生する
確率分布からaを計算し確率a/bで発生した乱数を採用する.(bはp(x)のモード値より大きくなくてはならない.)
詳細釣合条件
左図のように3つのマス目が環状に並んでおり,サイコロの目が出た数だけ右回りに進むものとする.10回振って元の位置に帰ってくる確率はどれだけだろうか?
p(i)とp(i -1)の関係が以下のように表わされる.
( ) ( ) ( )Pppp 1313131313131313131
1 −=⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛−= iii ttt
これから,tp(10) =tp(0)P10= (1, 0, 0)P10 = (1/3, 1/3, 1/3)である.(最初の例と同じPinfに収束する?)
詳細釣合条件
同じ定常分布を実現する確率過程が唯一とは限らない.しかし,以下の詳細釣合条件を満たし,かつ非周期で既約な確率過程であれば,定常分布p(inf)に収束することが証明されている.(逆はない.)
( ) ( ) lklklk apap infinf =pk(inf)は定常分布p(inf)のk番目の要素.
Pはm次の確率行列(どの行の和も1)である.確率行列の拘束がm個,詳細釣合条件はm(m-1)/2個なので,残りのm(m-1)/2個は自由に定めることができ,詳細釣合条件が唯一の確率過程を定めるわけではない.
メトロポリス・サンプリング
統計物理で,最もよく用いられているメトロポリス・サンプリングは以下のようなものである.
( )( ) lkklklk
lklkl QQQp
pQa =⎟⎟⎠
⎞⎜⎜⎝
⎛= ,
infinf,min
Qklは状態kにあるときに,次の遷移先としてlを選ぶ確率で,任意に定められるがこれをk,lに対して対称に選ぶ.次に例証するが,実際には,akk = 1-Σaklということも非常に重要である.
例えばpl(inf) > pk(inf)の場合,akl = pl(inf)/pk(inf)Qkl,alk = Qlkとなる.pk(inf)akl = pl(inf)Qklかつ, pl(inf)alk = pl(inf)Qlk = pl(inf)Qklとなるから, pk(inf)akl = pl(inf)alk であり,詳細釣合の条件が確かに満たされている.
メトロポリス・サンプリング
分子の吸着を考える.25個の吸着サイトがある.ただし周期境界とする.斜めも含め,隣り合う分子同士は相互作用してエネルギーkTだけ安定化する.蒸気圧は化学ポテンシャルμに単調に増加するが,蒸気圧を変化させていくと,吸着量はどのように変化するだろうか?
グランドカノニカル分布 p(E) ∝ exp(-(E-μN)/kT) (E:エネルギー,μ:化学ポテンシャル,k:ボルツマン定数,T:温度)を発生させる.
周期境界というのは,同じ5×5の領域が周期的に続いていることを意味する.たとえば一番左の一番上のサイトの左には,一番右の一番上のサイトが位置することになり,上には一番左の一番下のサイトが位置することになる.
メトロポリス・サンプリング
( )( ) lkklklk
lklkl QQQp
pQa =⎟⎟⎠
⎞⎜⎜⎝
⎛= ,
infinf,min
重みQklで新しい状態を選ぶ.pl(inf)/pk(inf) > 1ならその状態に遷移するということにすれば,この確率は実現される.
pl(inf)/pk(inf) < 1なら,確率pl(inf)/pk(inf) で新しい状態に移る.とすれば,この確率が実現される.
重みQklが対称性を持つうように注意しなくてはならない.状態kにあるときに,状態lを選ぶ確率と,状態lにあるときに状態kを選ぶ確率を同じくする.Qkl=Qlk=0でも非周期,既約が保たれる限り問題ない.
実際のメトロポリスサンプリングでは,「状態kから,新しい状態としてlを選ぶというステップ」と,「それを確率pl(inf)/pk(inf)で採用するというステップ」に分けられる.状態lが棄却される場合には,状態kを新しい状態として採用する.(akk = 1-Σakl > 0で実現する.)
メトロポリス・サンプリング実際のメトロポリスサンプリングでは,状態kから,新しい状態としてlを選び,確率pl(inf)/pk(inf)で採用する.
iステップ目のエネルギーEを計算しておき,一つのサイトをランダムに選ぶ.
そこに分子吸着していれば削除し,いなければ,追加した状態のエネルギEnewを算出する.
確率比c = exp (-(Enew-μN)/kT)/exp (-(E-μN)/kT)を算出し,もしc > 1ならば消した状態をi+1ステップ目として採用.c < 1ならば,0-1の乱数rを発生させ,c > rならば採用,そうでなければ,変化前の状態を採用する.
対称性が保たれている.
メトロポリス・サンプリング
非常に疎な二次元気相
非常に密な二次元液体
化学ポテンシャル
vs吸着量
非常に単純なシミュレーションだが,二次元相変化という複雑な物理を表現することができている.
相変化
連続への拡張
ここまで,離散的な確率を扱ってきたが,実際には連続系への拡張にほとんど困難はない.詳細釣合が成り立っており,非周期で,既約であれば,定常分布が実現される.以後,状態をxの定常確率密度をp(x)と表記する.状態xからyへの推移確率密度をaxyとすると,詳細釣合は以下のように書ける.
( ) ( ) yxxy apap yx =
例えば;t分布の発生①ある正規分布から3つのサンプルをとったら,(z1, z2, z3) = (-1.0,0.0,1.0)が得られた.母分散,母平均ともに事前分布として,局所一様分布を用いた場合,ベイズ統計が与える母平均の分布はどのようになるだろう?
もちろん自由度2,平均0,分散1/√3のt分布になるが…
母平均θと,母分散qの局所一様分布はそれぞれ,p(θ) ∝1, p(q) ∝ 1/q.尤度l(θ,q) ∝ q-3/2exp(-1/(2q)·Σ(zi-θ))から,同時事後分布は,
-1 0 1 !
( ) ( ) ⎟⎟⎠
⎞⎜⎜⎝
⎛−−⎟⎟
⎠
⎞⎜⎜⎝
⎛= ∑
=
+ 3
1
21
23
21exp1,
iizqq
qp θθ z
例えば;t分布の発生①多くの場合には,複数の変数を同時に動かす過程は非効率なサンプリングを生じやすい.このため,変数を一つにして動かす過程を採用するのが普通である.これは状態xから,2つの変数を同時に動かして達成される状態yへのサンプリングの重み確率Qxy = 0とおくことに相当する.この場合,どの変数を動かすかはランダムに決めてもよいし,シークエンシャルに定めてもよい.
先の吸着の例でも25個の変数の中から,ひとつの変数をランダムに選んで,推移させていたことにあたる.2つ以上のサイトを同時に選んで,分子の削除や追加を同時に行うと,エネルギーの変化の仕方が非常に大きくて,採用されない確率が大きくなる.一方で,非常に相関が強い2つの変数がある場合などは,逆に同時に動かすなどして,効率的なサンプリングを目指す場合もある.
例えば;t分布の発生①母分散qを固定して,母平均θを動かす場合には,母平均θの確率密度関数は以下のようになる.
( ) ( ) ⎟⎟⎠
⎞⎜⎜⎝
⎛−−∝ 2
23exp, zq
qp θθ z
qの分布も実は逆χ2分布と呼ばれる分布で, χ2の逆数に相当する分布だから,実際には正規サンプラーがあれば,これらのサンプリングは簡単にできる.ここでは,あえてメトロポリスサンプリング,MHサンプリングを行ってみる.
母平均θを固定して,母分散qを動かす場合には,母分散qの確率密度関数は以下のようになる.
( ) ( ) ⎟⎟⎠
⎞⎜⎜⎝
⎛−−⎟⎟
⎠
⎞⎜⎜⎝
⎛∝ ∑
=
+ 3
1
21
2
21exp1,
ii
n
zqq
qp θθz
例えば;t分布の発生①今,一様サンプラーしか持っていないとしよう.どのように重み確率密度Qxyを構成するかが,残された課題である.(特に統計物理で)よく行われるのは以下の方法である.
θx θy
δθ
θx θy
δθ
(i) |θx-θy| < δθ の場合Qxy = 1/δθ
(ii) |θx-θy| > δθ の場合Qxy = 0
xとyが入れ換わっても, |θy-θx| < δ ならQyx = 1/δθで,Qxy = Qyxである.
例えば;t分布の発生①qに関しても同じくして,プログラムのフローは以下のようになる.
START
初期値θ0,q0,変位幅δθ, δq の決定.i = 0
|θnew - θi-1| < δθなるθnewに,c = p(θnew|z,q)/p(θi-1|z,q).
c > 1? orc > r ?
rは0-1の一様乱数
θi = θnew
θi = θi-1
|qnew - qi-1| < δqなるqnewに,c = p(qnew |z,θ)/p(qi-1|z, θ).
c > 1? orc > r ?
rは0-1の一様乱数
qi = qnew
qi = qi-1
i = i + 1i < m ?
ENDyes
yes
yes
no
no
no
例えば;t分布の発生①計算されたt = (θ-z)/√3の確率密度関数を右図に示す.ヒストグラムがメトロポリスサンプリングから,計算されたもの,線は自由度2,分散1のt分布.よく一致していることが分かる.
一様分布からのメトロポリスサンプリングでt分布を表すことができた.
MCMCの本質的な機能は簡単な乱数サンプラーを用いて,複雑な確率密度分布に従う状態の分布を発生することである.正規分布も常に対称性を保つから,正規分布や部分正規分布も重み分布としてよく用いられる.
MHサンプリングメトロポリス・サンプリングでは重みに対称性を必要としたが,
( )( ) ⎟⎟⎠
⎞⎜⎜⎝
⎛= yxxyxy Qp
pQaxy,min
とおけば,詳細釣合を満たす.これをメトロポリス・ヘイスティング・サンプリング(MHサンプリング)と呼ぶ.もちろんメトロポリス・サンプリングもMHサンプリングの一種に過ぎない.
例えばQxy < p(y)/p(x)Qyx の場合,axy = Qxy,ayx = p(x)/p(y)Qxyとなる.p(x)axy = p(x)Qxyかつ, p(y)ayx = p(y)·p(x)/p(y)Qxy = p(x)Qxyとなるから, p(x)axy = p(y)ayx であり,詳細釣合の条件が確かに満たされている.
MHサンプリングメトロポリス・サンプリングは推移前の状態の影響がきわめて強く影響するために,ある状態から違う状態に移るのに時間がかかると考えられる.MHサンプリングではサンプリングの重み確率密度Qxyを自由に選べるので,定常確率と近い重み確率密度Qxyを選んで効率的なサンプリングが可能になる.
x
δδ
メトロポリス・サンプリングでは...
サンプリングが少ない.
サンプリングが多い
初めから確率密度関数に近いサンプリングできていれば効率的
という問題だけではないですが...
例えば;t分布の発生②ある正規分布から3つのサンプルをとったら,(z1, z2, z3) = (-1.0,0.0,1.0)が得られた.母分散,母平均ともに事前分布として,局所一様分布を用いた場合,ベイズ統計が与える母平均の分布はどのようになるだろう?
-1 0 1 !
先の問題をMHサンプラーを使ってより効率的に解いてみよう.以下の同時事後確率分布からサンプルを発生させるという問題であるという点で違いはない.
( ) ( ) ⎟⎟⎠
⎞⎜⎜⎝
⎛−−⎟⎟
⎠
⎞⎜⎜⎝
⎛= ∑
=
+ 3
1
21
23
21exp1,
iizqq
qp θθ z
( ) ( ) ⎟⎟⎠
⎞⎜⎜⎝
⎛−−∝ 2
23exp, zq
qp θθ z
に関しては,重み確率密度をQxy = p(θy|z,q)とすると,Qyx = p(θy|z,q)であり,axy = min(p(θy|z,q),p(θy|z,q)/p(θx|z,q)·p(θx|z,q)) = p(θy|z,q)とできる.平均x,分散q/3の正規サンプラーから発生した値をそのまま採用すればよい.
今度は正規サンプラーは持っているとしよう.母分散qを固定して,母平均θを動かす場合の
例えば;t分布の発生②
( )( ) ⎟⎟⎠
⎞⎜⎜⎝
⎛= yxxyxy Qp
pQaxy,minMHサンプリングの推移確率
に関して,なるべく現ステップの状態を時ステップのサンプリングに引きずりたくないから,先のθに関する重み確率密度と同じく,Qxy = f(qy)としたい.(これを独立連鎖という)しかし,先のθと異なり,ここではp(q|z,θ)からのサンプル発生はせず,次善の策として,近似的な正規分布を用いた棄却法と組み合わせることを考える.
母平均θを固定して,母分散qを動かす場合の
例えば;t分布の発生②
( ) ( ) ⎟⎟⎠
⎞⎜⎜⎝
⎛−−⎟⎟
⎠
⎞⎜⎜⎝
⎛∝ ∑
=
+ 3
1
21
2
21exp1,
ii
n
zqq
qp θθz
先にも触れたように,qの分布も実は逆χ2分布と呼ばれる分布で, χ2の逆数に相当する分布だから,実際には正規サンプラーがあれば,これらのサンプリングは簡単にできる.ここでは,あえてそれを用いてない.
例えば;t分布の発生②
cf. 例えば,対数をとってテーラー展開すれば,右のようになるから,モード値を揃えると,分散(∂2L/∂q2)-1の正規分布に近似することはよく行われる.
( )( ) ( )
( ) ( ) ( )22
1log123~
21log1
23,log
2*
2
2*
3
1*
*
3
1
**
qqqLqq
qLz
zq
qqpL
qqqqii
ii
−∂∂
+−∂∂
+−−⎟⎠⎞
⎜⎝⎛ +−
−−⎟⎠⎞
⎜⎝⎛ +−∝=
===
=
∑
∑
θ
θθz
元の分布とよく重なっている近似分布を選ぶと効率がよい.ここではモードの位置を揃え,分散を調整して近似の正規分布を選んだ.黒線が元の分布で,赤線が近似の分布である.これを用いてMHサンプリングできるが,ここではさらにひと工夫してみる.
今回はこの近似はあまりよくないので,上のようにした.
例えば;t分布の発生②近似した正規分布の確率密度をp'(q|z,θ)とし,モード位置q*において,定数bを持ってb·p'(q* |z,θ) = p(q*|z,θ)とする.正規分布から乱数qtrialを発生して,b·p'(qtrial|z,θ) < p(qtrial|z,θ)なら,それをqnewとして採用し,さもなくば確率p(qtrial|z,θ)/b·p'(qtrial|z,θ)で採用すると,実際にqnewとして採用されるのは,右図灰色部の近似した確率密度と元の密度が重なる部分の確率密度を発生する.
このqnewの確率密度をQxyによるqyの重み確率とおく.つまりQxy ∝ min(p(qy|z,θ), b·p'(qy|z,θ)).これをMHサンプリングのアルゴリズムに組み込む.
この部分のずれをMHサンプリングで補てんする.
例えば;t分布の発生②プログラムのフローは以下のようになる.
START
初期値θ0,q0,i = 0
p(θi|z,qi-1)からθiをサンプリングする.
i = i + 1
p'(qnew|z,θi)からのqnewをサンプリングし,c = p(qnew|z,θi)/p' (qi-1|z,θi)·
c > 1? orc > r ?
rは0-1の一様乱数
c = p(qnew|z,θ)/p' (qi-1|z,θi)·Q(qi-1|z,θi)/Q(qnew|z,θi)
c > 1? orc > r ?
rは0-1の一様乱数ただしQ(q|x,θi) ∝min(p(qnew|x,θ), b·p' (qi-1|x,θi))
qi = qnew
qi = qi-1
i < m ?
END
yes
no
yes
no
yes
計算されたt = (θ-z)/√3の確率密度関数を右図に示す.ヒストグラムがMHサンプリングから計算されたもので,線は自由度2,分散1のt分布.よく一致していることが分かる.
正規分布からのMHサンプリングでt分布を表すことができた.
今回紹介した方法は, AR(採択棄却)-MH法と呼ばれる方法で,MHサンプリングの中でも効率的なサンプリングを目指して構築されたものである.棄却法も用いず,独立連鎖でもないMHサンプラーも有りうる.
例えば;t分布の発生②
ギブス・サンプラー
実はすでにギブス・サンプラーは登場している.MHサンプリングでの重み確率密度をQxy = p(y)とすると,axy = p(y)とできると先ほど示したが,これをギブス・サンプラーという.つまり,
( ) 0 or ypaxy ∝0というのは,普通,変数を一個ずつ動かすからxからyへの推移が一つの変数の変化のみを伴うものである場合にのみp(y)に比例して推移することを意味している.(axy = 0ならayx = 0)
これが詳細釣合p(x)axy = p(y)ayxを満たすことは自明である.すでにMHサンプリングのところで示したように,ギブス・サンプラーはMHサンプラーの特別な場合--変数を固定すれば確率密度に従う乱数を発生できる場合--であるに過ぎない.
例えば;t分布の発生③ある正規分布から3つのサンプルをとったら,(z1, z2, z3) = (-1.0,0.0,1.0)が得られた.母分散,母平均ともに事前分布として,局所一様分布を用いた場合,ベイズ統計が与える母平均の分布はどのようになるだろう?
-1 0 1 !
先ほどから繰返しているように,θを固定したqの分布は逆χ2分布であるから,これを発生するサンプラーを持っている場合には,ギブス・サンプラーを構成できる.(先ほどのMHサンプラーは,ギブス-ARMHのハイブリッドとでも呼ぶべき手法であった.)
もし正規サンプラーrn(mean,sd)しかなくても,x = rn(0,1)を3回呼び出して,chisq = sum(x^2)とすれば,自由度3のχ2分布を得るから,その逆数invchisq = 1/chisqが自由度3の逆χ2分布に従うことを利用すれば発生できる.
例えば;t分布の発生③プログラムのフローは以下のようになる.
START
初期値θ0,q0,i = 0
p(θi|z,qi-1)からθiをサンプリングする.
i = i + 1
p(qi|z,θi)からqiをサンプリングする.
i < m ?
END
no
yes
すべての試行が採択されるので分岐が少ないアルゴリズムが構成できる.
なぜギブス・サンプラー?統計科学ではギブス・サンプラーによる構成がポピュラーに思われている.確率過程を利用する以上,以前のステップでの状態の影響を受けた状態が新しく発生するのは免れないが,一般的なMHサンプリングに比べてギブス・サンプラーではその影響を小さくすることが期待される.
先に紹介した3つの手法で計算した{qi, i = 1, …, n}のうちjステップ離れたqiとqi+jの相関係数r(qi, qi+j) = (qi-q)·(qi+j –q)/var(q).コレログラムと呼ばれる.jステップ前の値とどれだけ相関があるかを示し,ステップ数に比べてどれだけ広い空間をサンプリングしているかの目安になる.ギブス・サンプラーが他と比べて圧倒的に収束が早い.ARMHサンプラーも素早く収束しており,関数の近似の良さをうかがわせる.
Metropolis SamplingARMH – Gibbs Hybrid SamplingGibbs Sampling
不確かさ評価への応用①不確かさ評価で,使える場面を考えてみた.極めて形式の複雑な確率密度を解くこと要求された場合でも,MCMCは簡単にアルゴリズムを構築できる.
ある自由度10の計測を行ったのち,計測値x= 1.0,標準不確かさu(x) = 0.1を得た.実際に興味がある計測値がy = u(x)/x = 0.1である場合,yの標準不確かさ,あるいは95%包含区間に相当する拡張不確かさを求めよ.
xのばらつきと,u(x)のばらつきがyに影響する.厳密に解こうとするとかなり厄介な確率密度が現われ,しかも非対称になる.MCMCでは統一的なアルゴリズムで,数値計算が可能であり,分布の非対称性は基本的には問題にならない.
u2(y) = (1/x)2u2(u(x)) + (-u(x)/x2)2u2(x)
第一項のu2(u(x))については,以下のように近似できる.u2(u(x)) = u2([u2(x)]1/2) ~ (1/2·[u2(x)]-1/2)2u2(u2(x))
~ (1/2·[u2(x)]-1/2)2·2[u2(x)]2/ν = 1/2·u2(x)/ν= 1/2·(0.1)2/10 = 5.0 ×10-4
第二項は (u(x)/x)2u2(x) = 1.0 ×10-4ゆえに, u(y) = 2.45×10-2
自由度についても多少考察の余地はあるが,ここでは,簡単にk=2としてしまおう.
y = 0.10 ± 0.049 (k=2)
不確かさ評価への応用①伝播則を用いると,どうしても近似が必要である.以下は一例.
u2[u2(x)] ~ 2[u2(x)]2/ν
t分布を導いたのと同じく,局所一様分布を用いたベイズ統計を用い,以下のギブス・サンプラーでyをサンプリングしていく.
不確かさ評価への応用①
START
初期値θ0,q0,変位幅δθ, δq の決定.i = 0
p(θi|x,qi-1)からθiをサンプリングする.
i = i + 1
p(qi|x,θi)からqiをサンプリングする.
i < m ?
END
no
yes
y = (qi/11)1/2/θi ただし,
p(θi|x,qi-1) = N(mean = 1.0, var = qi-1/11)
p(qi|x,θi) = λi·χ−2(df =11)
λi = Σj(xj-θi)2= n(θi-x)2+ Σj(xj-x)2= 11×(θi-1.0)2+ 11×10×0.12
不確かさ評価への応用①
求まったyの分布は左図の通り,平均が0.110となり,その非線形性からわずかにバイアスが生じている.標準偏差はu(y) = 0.033と伝播則が与えるものより大きく,最大密度の95%包含区間(0.061,0.172)は,伝播則が与える(0.051, 0.149)と位置もずれており,範囲も広く,また非対称である.
xを積分消去すれば,u(x)は逆χ分布に従い,u(x)を積分消去すれば,xはt分布に従うが,これらを独立にサンプリングしてy = u(x)/xとしても,厳密ではない.また,u(x)に応じて,xは正規分布するから,u(x)とxの間に相関はない(関係はある)ので,伝播則に相関の項が入っていないことは影響ない.