スライスサンプリング

スライスサンプリング（）とはマルコフ連鎖モンテカルロ法の一種であり、何らかの確率密度関数に従う擬似乱数を生成するためのアルゴリズムである。このアルゴリズムは等高線の高さと、等高線により囲まれた領域からサンプルされる点とを交互に一様乱数でサンプリングすることにより実現される。
スライスサンプリングにより、現在の点"x"tから次のサンプル点"x"t+1を決定する方法は次のようになる。
このアルゴリズムにおいて扱いが難しいのは、ある高さ"u"以上となる領域が非連結となる場合である。また、このような部分からのみ一様にサンプル点を得るのは一般にそれほど容易ではない。そこで実際の処理では"x"tを含み、"f"("x")>"u"となる連結領域から擬似的に一様乱数でサンプリングを行う。
スライスサンプリングも他のマルコフ連鎖モンテカルロ法と同様に確率密度関数の規格化定数が不明の場合でもサンプリングができる。さらにスライスサンプリングでは確率密度関数の評価さえ可能であるならば、任意の確率密度関数から容易にサンプル点を得ることができる。
実装.
スライスサンプリングの第1ステップでは拡張確率変数"U"からサンプルする。これは等高線の高さにあたるもので、[0, "f"("x"t]から一様乱数により"u"をサンプルされる。この高さ"u"により確率密度関数が水平方向に"スライス"されることが、このアルゴリズムの名前の由来である。特に{"x"|"f"("x")>"u"}なる領域をスライスと呼ぶ。そして次のサンプル点である"x"t+1は、このスライス上から再び一様乱数によりサンプルされる。
もしサンプルを試みる確率密度関数が注目領域において逆関数を持つのならば、スライスは連結となるために、アルゴリズムはシンプルである。そうでない場合にはスライスが非連結となるために、このようなスライスから一様に乱数を得ることは一般に容易ではない。これに対処する最もシンプルな方法はステップアウトによりスライスから外れる点により囲まれる領域を得て、その領域の中で棄却サンプリングをすることである。その他の対処法についてもNealの論文に示されている。
他の手法との比較.
スライスサンプリングはマルコフ連鎖モンテカルロ法の一種であり、その目的はメトロポリス・ヘイスティングス法やギブスサンプリングと同様である。ただし、スライスサンプリングはメトロポリス・ヘイスティングス法と異なり、提案分布それ自体や提案分布の分散等を調整する必要がない。メトロポリス・ヘイスティングス法はステップサイズ、すなわち正規分布を提案分布に取ったときの分散にあたるパラメータによって結果が大きく変わる恐れがある。分散が小さすぎればサンプル点の移動が遅くなり、それに伴って定常分布への収束も遅れる。一方で分散を大きくしすぎれば、提案されたサンプル点が棄却される可能性が高まり、こちらも定常分布への収束が遅れる。
一方でスライスサンプリングは上記のようなパラメータ設定が不要であり、またギブスサンプリングのように特殊な提案分布も必要もないことから、実装は非常に単純であり、適用範囲も広い。ただし、スライスサンプリングにより生成される擬似乱数は連続するサンプル点の間に相関が残るため、全ての点が同様に確からしくサンプルされるわけではない。
1次元関数の場合.
確率変数"X"を確率密度関数"f"("x")からサンプルするために、拡張変数"U"を導入し、次の手順でサンプルを行う。
実際には"u"により定まる非連結なスライスから一様乱数によりサンプル点を得ることは容易ではなく、仮に連結であったとしても、スライスが巨大領域となれば一度にサンプル点が大きく移動して効率が悪化する恐れがある。この問題に対処するため、サンプル候補領域の拡大・縮小を伴う以下のアルゴリズムを用いることが多い。