ギブスサンプリング

統計学統計物理学において、ギブスサンプリング: Gibbs sampling, Gibbs sampler)は、直接サンプリングが難しい確率分布の代わりにそれを近似するサンプル列を生成するMCMC法(Markov chain Monte Carlo algorithm)の1つである。この生成された数列は、同時分布周辺分布期待値などの積分計算を近似するために用いられる。通常は観測として与えられている変数に関してはサンプリングをする必要はない。ギブスサンプリングは統計的推定やベイズ推定の手法として頻繁に用いられている。ランダムアルゴリズムであり、変分ベイズ法(英語版)variational Bayes)やEMアルゴリズム(expectation-maximization algorithm)のような統計的推定法のための決定論的な方法の代替法である。

他のMCMC法と同様に、ギブスサンプリングはサンプルのマルコフ連鎖を生成する。得られるサンプル列がマルコフ連鎖であるため、例えば100番目毎にサンプルを選ぶといったサンプルが十分に独立とみなせるように気をつけるべきである。それに加え、サンプル列の始めの方の値は目的の分布を精確には表していないため、初期値を与えたすぐ後はburn-in期間としてサンプルを捨てるべきである。

導出

ギブスサンプリングはメトロポリス・ヘイスティングス法の1つである。同時分布より周辺化された条件付き確率分布から、与えられた確率分布に従ったサンプルをサンプリングする。同時確率 ( x 1 , , x n ) {\displaystyle (x_{1},\dotsc ,x_{n})} から確率変数 X = { x 1 , , x n } {\displaystyle {\boldsymbol {X}}=\{x_{1},\dotsc ,x_{n}\}} k {\displaystyle \left.k\right.} サンプル得たい。 n {\displaystyle n} 次元の i {\displaystyle i} 番目のサンプルを X ( i ) = { x 1 ( i ) , , x n ( i ) } {\displaystyle {\boldsymbol {X}}^{(i)}=\{x_{1}^{(i)},\dotsc ,x_{n}^{(i)}\}} とする。

手順は以下の通りである。

  1. 初期値 X ( 0 ) {\displaystyle {\boldsymbol {X}}^{(0)}} を設定する。
  2. 条件付き確率 p ( x j | x 1 ( i ) , , x j 1 ( i ) , x j + 1 ( i 1 ) , , x n ( i 1 ) ) {\displaystyle p(x_{j}|x_{1}^{(i)},\dotsc ,x_{j-1}^{(i)},x_{j+1}^{(i-1)},\dotsc ,x_{n}^{(i-1)})} から i {\displaystyle i} 番目のサンプル x j ( i ) {\displaystyle x_{j}^{(i)}} をサンプリングする。
  3. i {\displaystyle i} k {\displaystyle k} 以下であれば i = i + 1 {\displaystyle i=i+1} して2へ。それ以外だと終了。

サンプルは他の変数に条件付けされた分布からサンプリングされるが、他の変数には新しいサンプルを使用すべきである。つまりは、1ステップ毎に1変数をサンプルし、新しいサンプルに入れ替えていく。このサンプル集合は、全ての変数に関する同時分布を近似する。

それに加え、全てのサンプルに関して平均をとることで期待値を近似することができる。

以下は注意点である。

  • 初期値の設定にEMアルゴリズムなどを用いたり、ランダムに決めてもいい。しかし初期値の設定に敏感にならなくても、burn-inの期間を設ければ問題ではない。
  • サンプリング初期の値を捨てる期間(burn-in period)を設けることがよく行われる。また、期待値を計算するときには n {\displaystyle n} 番目毎の値しか用いないといったこともよく行われる。この理由には2つある。1つは生成されるサンプル列はマルコフ連鎖でありサンプル間にある程度の相関が存在するため独立なサンプルではない。もう1つはマルコフ連鎖の定常分布は目的の分布になるが初期値から定常分布に到達するまでには時間がかかる。 自己相関の量や n {\displaystyle n} をアルゴリズムで決定することもできるが、それは黒魔術的である。
  • 焼きなまし法(Simulated Annealing)はサンプリングの初期によく用いられる。しかしサンプル空間の移動が遅くサンプルの相関が強くなってしまう。その他の自己相関を減少させる方法には collapsed Gibbs samplingblocked Gibbs samplingordered overrelaxationなどがある。

条件付き分布と同時分布の関係

他のすべての変数が与えられたときのある変数に関する条件付き確率は同時確率に比例する。

p ( x j | x 1 , , x j 1 , x j + 1 , , x n ) = p ( x 1 , , x n ) p ( x 1 , , x j 1 , x j + 1 , , x n ) p ( x 1 , , x n ) {\displaystyle p(x_{j}|x_{1},\dotsc ,x_{j-1},x_{j+1},\dotsc ,x_{n})={\frac {p(x_{1},\dotsc ,x_{n})}{p(x_{1},\dotsc ,x_{j-1},x_{j+1},\dotsc ,x_{n})}}\propto p(x_{1},\dotsc ,x_{n})}

ここで比例するとは、分母が x j {\displaystyle x_{j}} の関数ではなく、 x j {\displaystyle x_{j}} がどんな値であれ分母が定数であることである。周辺化定数は同時確率を x j {\displaystyle x_{j}} に関して周辺化した値である。

p ( x 1 , , x j 1 , x j + 1 , , x n ) = p ( x 1 , , x n ) d x j {\displaystyle p(x_{1},\dotsc ,x_{j-1},x_{j+1},\dotsc ,x_{n})=\int p(x_{1},\dotsc ,x_{n})dx_{j}}

実用上、確率変数 x j {\displaystyle x_{j}} の条件付き分布を求めるためのもっとも簡単な方法はグラフィカルモデルの変数のうち x j {\displaystyle x_{j}} の関数ではない値を独立とみなして因子化すればいい。

そのほかには、3つの場合が考えられる。

  1. 分布が離散分布である場合、 x j {\displaystyle x_{j}} の取りうる値すべてに関して確率を計算し、足しあわせることで周辺化定数を計算すればいい。
  2. 分布が連続で既知の形を持つ場合、1次元の周辺化なので周辺化定数が計算可能である。
  3. その他の場合、周辺化定数は無視することができる。大抵のサンプリング法は周辺化定数がなくても問題ではない。

理論

サンプル X {\displaystyle \left.X\right.} を次元 d {\displaystyle \left.d\right.} のパラメータベクトル θ Θ {\displaystyle \theta \in \Theta \,\!} に基づいた事前分布 g ( θ 1 , , θ d ) {\displaystyle g(\theta _{1},\dotsc ,\theta _{d})} からサンプリングする。

d {\displaystyle \left.d\right.} が大きい場合、数値積分を行ない θ i {\displaystyle \left.\theta _{i}\right.} の周辺化分布を計算することは困難を伴う。

その周辺化分布の計算を Θ {\displaystyle \left.\Theta \right.} 空間上のマルコフ連鎖を生成することで代替する。以下の2ステップを繰り返す。

  1. j {\displaystyle j} を選ぶ 1 j d {\displaystyle 1\leq j\leq d}
  2. g ( θ 1 , , θ j 1 , , θ j + 1 , , θ d ) {\displaystyle g(\theta _{1},\dotsc ,\theta _{j-1},\,\cdot \,,\theta _{j+1},\dotsc ,\theta _{d})} の分布にしたがい、新しい変数 θ j {\displaystyle \left.\theta _{j}\right.} を選ぶ。

この2ステップは分布 g {\displaystyle \left.g\right.} にしたがう可逆なマルコフ連鎖を生成する。

これは以下の通り証明される。すべての i j {\displaystyle i\neq j} に関して x i = y i {\displaystyle \left.x_{i}=y_{i}\right.} であれば、 x j y {\displaystyle x\sim _{j}y} と表す。 x j y {\displaystyle x\sim _{j}y} は同値関係である。 p x y {\displaystyle \left.p_{xy}\right.} x Θ {\displaystyle x\in \Theta } から y Θ {\displaystyle y\in \Theta } へ遷移する確率の分布を表す。

よって遷移確率は

p x y = { 1 d g ( y ) z Θ : z j x g ( z ) x j y 0 otherwise {\displaystyle p_{xy}={\begin{cases}{\dfrac {1}{d}}{\dfrac {g(y)}{\sum _{z\in \Theta :z\sim _{j}x}g(z)}}&x\sim _{j}y\\0&{\text{otherwise}}\end{cases}}}

したがって、

g ( x ) p x y = 1 d g ( x ) g ( y ) z Θ : z j x g ( z ) = 1 d g ( y ) g ( x ) z Θ : z j y g ( z ) = g ( y ) p y x {\displaystyle g(x)p_{xy}={\frac {1}{d}}{\frac {g(x)g(y)}{\sum _{z\in \Theta :z\sim _{j}x}g(z)}}={\frac {1}{d}}{\frac {g(y)g(x)}{\sum _{z\in \Theta :z\sim _{j}y}g(z)}}=g(y)p_{yx}}

このように詳細つりあい条件は満たされる。

実用的には j {\displaystyle \left.j\right.} はランダムに選ばれず、並びの順番で選ばれる。 また正確に言うと、これは非定常マルコフ連鎖を生成するが、各ステップは可逆であり、全体のプロセスは求めたい定常分布を与える。

手法の拡張

ギブスサンプリングの拡張について説明する。これらの拡張はサンプル間の自己相関を減少させることで、計算コストを減らすことを目標に考えられている。

Blocked Gibbs sampler

blocked Gibbs sampler は個々の変数を考えるのではなく、変数を複数のグループに分割して条件づき分布を考える。 例えば、隠れマルコフモデルではforward-backward algorithmを使い、隠れ変数に関するマルコフ連鎖を生成する。

Collapsed Gibbs sampler

collapsed Gibbs samplerは周辺化分布の変数を積分消去する。たとえば、ABCの3つの変数があるとする。ギブスサンプリングではp(A|B,C)、p(B|A,C)、p(C|A,B)からサンプリングすることになる。collapsed Gibbs samplerではAをサンプリングする時には例えばBを積分消去した周辺化分布p(A|C)からサンプリングを行う。Aに関してBが共役事前分布であったり、指数分布族であれば計算が容易にできる。詳しくはcompound distribution、Liu (1994)を参考。[1]

ソフトウェア

  • OpenBUGS (Bayesian inference Using Gibbs Sampling) :複雑な統計モデルのベイズ推定にMCMC法を用いている
  • JAGS (Just another Gibbs sampler) MCMC法を用いた階層ベイズモデルを推定できる
  • Church :任意の分布をギブスサンプリングする

参照

  1. ^ Liu, Jun S. (September 1994). “The Collapsed Gibbs Sampler in Bayesian Computations with Applications to a Gene Regulation Problem”. Journal of the American Statistical Association 89 (427): 958–966. doi:10.2307/2290921. JSTOR 2290921. 
離散単変量で
有限台
離散単変量で
無限台
  • ベータ負二項(英語版)
  • ボレル(英語版)
  • コンウェイ–マクスウェル–ポワソン(英語版)
  • 離散位相型(英語版)
  • ドラポルト(英語版)
  • 拡張負二項(英語版)
  • ガウス–クズミン
  • 幾何
  • 対数(英語版)
  • 負の二項
  • 放物フラクタル(英語版)
  • ポワソン
  • スケラム(英語版)
  • ユール–サイモン(英語版)
  • ゼータ(英語版)
連続単変量で
有界区間に台を持つ
  • 逆正弦(英語版)
  • ARGUS(英語版)
  • バルディング–ニコルス(英語版)
  • ベイツ(英語版)
  • ベータ
  • beta rectangular(英語版)
  • アーウィン–ホール(英語版)
  • クマラスワミー(英語版)
  • ロジット-正規(英語版)
  • 非中心ベータ(英語版)
  • raised cosine(英語版)
  • reciprocal(英語版)
  • 三角
  • U-quadratic(英語版)
  • 一様
  • ウィグナー半円
連続単変量で
半無限区間に台を持つ
  • ベニーニ(英語版)
  • ベンクタンダー第一種(英語版)
  • ベンクタンダー第二種(英語版)
  • 第2種ベータ
  • Burr(英語版)
  • カイ二乗
  • カイ(英語版)
  • Dagum(英語版)
  • デービス(英語版)
  • 指数-対数(英語版)
  • アーラン
  • 指数
  • F
  • folded normal(英語版)
  • Flory–Schulz(英語版)
  • フレシェ
  • ガンマ
  • gamma/Gompertz(英語版)
  • 一般逆ガウス(英語版)
  • Gompertz(英語版)
  • half-logistic(英語版)
  • half-normal(英語版)
  • Hotelling's T-squared(英語版)
  • 超アーラン(英語版)
  • 超指数(英語版)
  • hypoexponential(英語版)
  • 逆カイ二乗(英語版)
    • scaled inverse chi-squared(英語版)
  • 逆ガウス
  • 逆ガンマ
  • コルモゴロフ
  • レヴィ
  • 対数コーシー
  • 対数ラプラス(英語版)
  • 対数ロジスティック(英語版)
  • 対数正規
  • ロマックス(英語版)
  • 行列指数(英語版)
  • マクスウェル–ボルツマン
  • マクスウェル–ユットナー(英語版)
  • ミッタク-レフラー(英語版)
  • 仲上(英語版)
  • 非心カイ二乗
  • パレート
  • 位相型(英語版)
  • poly-Weibull(英語版)
  • レイリー
  • relativistic Breit–Wigner(英語版)
  • ライス(英語版)
  • shifted Gompertz(英語版)
  • 切断正規
  • タイプ2ガンベル(英語版)
  • ワイブル
    • 離散ワイブル(英語版)
  • ウィルクスのラムダ(英語版)
連続単変量で
実数直線全体に台を持つ
連続単変量で
タイプの変わる台を持つ
  • 一般極値
  • 一般パレート(英語版)
  • マルチェンコ–パストゥール(英語版)
  • q-指数(英語版)
  • q-ガウス
  • q-ワイブル(英語版)
  • shifted log-logistic(英語版)
  • トゥーキーのラムダ(英語版)
混連続-離散単変量
  • rectified Gaussian(英語版)
多変量 (結合)
【離散】
エウェンズ(英語版)
多項
ディリクレ多項(英語版)
負多項(英語版)
【連続】
ディリクレ
一般ディリクレ(英語版)
多変量正規
多変量安定(英語版)
多変量 t(英語版)
正規逆ガンマ(英語版)
正規ガンマ(英語版)
行列値
逆行列ガンマ(英語版)
逆ウィッシャート(英語版)
行列正規(英語版)
行列 t(英語版)
行列ガンマ(英語版)
正規逆ウィッシャート(英語版)
正規ウィッシャート(英語版)
ウィッシャート
方向
【単変量 (円周) 方向
円周一様(英語版)
単変数フォン・ミーゼス
wrapped 正規(英語版)
wrapped コーシー(英語版)
wrapped 指数(英語版)
wrapped 非対称ラプラス(英語版)
wrapped レヴィ(英語版)
【二変量 (球面)】
ケント(英語版)
【二変量 (トロイダル)】
二変数フォン・ミーゼス(英語版)
【多変量】
フォン・ミーゼス–フィッシャー(英語版)
ビンガム(英語版)
退化特異
  • 円周(英語版)
  • 混合ポワソン(英語版)
  • 楕円(英語版)
  • 指数
  • 自然指数(英語版)
  • 位置尺度(英語版)
  • 最大エントロピー(英語版)
  • 混合(英語版)
  • ピアソン(英語版)
  • トウィーディ(英語版)
  • wrapped(英語版)
サンプリング法(英語版)
  • 一覧記事 一覧(英語版)
  • カテゴリ カテゴリ
  • 表示
  • 編集