ポリア・ガンマ分布
まず Polson et al. (2013, [1205.0310] Bayesian inference for logistic models using Polya-Gamma latent variables) の主な結果を紹介する.
ポリア・ガンマ分布の密度関数を とすると,
が成り立つ. ポリア・ガンマ分布というのは, あまり聞いたことがない(と思う)けど, この性質が成り立つように定義された分布(そういうものがある)だと思えばいいだろう.
これより を所与にしたときの の分布は,
Polson et al. (2013) ではこれを使って多項ロジスティック回帰について, ギブスサンプリングのためのfull conditional distribution(自分自身以外の変数を全部所与としたときの事後分布)を導出した.
多項ロジスティック回帰
多項ロジスティック回帰, つまり次のモデルを考える:
ここで, はベクトル値関数
である(ソフトマックス関数と呼ばれる).
モデルの識別可能性のため, 係数 のどこか1列 () を0に固定するのが定石である. ここでは とする.
とし, とすると, 多項ロジスティック回帰の 以外の変数を所与としたときのサンプル一つあたりの尤度 は,
先のポリア・ガンマ分布の性質を使うと,
と書け, 指数関数の中身は
と変形できる. ベクトルと行列を使ってまとめたいので,
, , , と置くと,
よって の事前分布も正規分布
とすると, このとき full conditional はポリア・ガンマ分布と多変量正規分布を用いて、
と書ける. ここで,
と置いた. は を対角成分とする対角行列, , .
(https://arxiv.org/pdf/1205.0310.pdf の41ページだとの符号がマイナスになってるけどたぶん誤字)
R による実装例
上のコードを実行するとこんな風にトレースプロットが見れます.