分散減少法

提供: testwiki
ナビゲーションに移動 検索に移動
単位正方形内にランダムに生成される点の分散は層化抽出法によって減少させることができる。

数学、特にモンテカルロ法の理論における分散減少法(ぶんさんげんしょうほう、テンプレート:Lang-en-short)は推定の精度を改善するのに用いられる手法であり、与えられたシミュレーション、計算量(computational effort)に応じて適用し得る[1]。シミュレーションの出力値となる確率変数は、その結果の精度を左右する量である分散と結び付いている。シミュレーションを統計上効果的に、つまり、注目している確率変数の出力がより高い精度・より狭い信頼区間となるようにするために、分散減少法が利用できる場合がある。代表的なものに共通乱数法、テンプレート:仮リンクテンプレート:仮リンクテンプレート:仮リンク層化抽出法がある。ブラックボックスモデルを使ったシミュレーションに対しては、テンプレート:仮リンクテンプレート:仮リンクが用いられることもある。これらの項目の下位区分に、様々な特化型の技法が存在する。例えば、粒子輸送シミュレーションでは広範にわたって「ウェイト・ウインドウ法(weight windows)」や「セルインポータンス法(splitting/Russian roulette)」の技法が用いられるが、これらは重点サンプリング法の一形式である。

共通乱数法

共通乱数法(Common Random Numbers, CRN)は、(系の単一の設定(configuration)に注目するのではなく)複数の設定間の比較をする際に適用できる、頻用され有用な手法である。correlated samplingmatched streamsmatched pairs とも呼ばれる。

共通乱数法では乱数列を同期(synchronization)させる。同一の乱数列を全ての設定に対して共通に用い、また発生する各乱数を全ての設定で同一の用途に用いるということである。例えば待ち行列理論において銀行の窓口係の2通りの配置を比較する場合であれば、各配置での N 番目の顧客のランダムな到着時刻を、共通の乱数列から生じる乱数を用いてそれぞれ発生させる。

共通乱数法の原理

X1jX2j とを、第1の設定と第2の設定とで独立に反復した j 回目の出力結果とし、今

ξ=E(X1j)E(X2j)=μ1μ2

を推定したいとする。各設定について出力を n 回実行し

Zj=X1jX2jfor j=1,2,,n

とおくと E(Zj)=ξ であり、Z(n)=j=1,,nZjnξ の不偏推定量である。

確率変数列 Zj独立同分布なので、

Var[Z(n)]=Var(Zj)n=Var[X1j]+Var[X2j]2Cov[X1j,X2j]n

乱数列を共有せず、それぞれに別個のものを用いる場合は Cov(X1j, X2j) = 0 だが、X1X2 との間に正の相関をもたらす(Cov(X1j, X2j) > 0)ような要素をうまく導入することができれば、上式の通り分散を減少させられる。

共通の乱数列によって相関が負になる(Cov(X1j, X2j) < 0)場合、この手法は逆効果、つまり意に反して分散を増大させてしまい得ることもわかる[2]

関連項目

脚注

テンプレート:Reflist

参考文献