マルコフ連鎖モンテカルロ法 (Markov chain Monte Carlo; MCMC) によるベイズ推定を行うソフトウェアとしては, ギブスサンプラー (Gibbs sampler) の BUGS (WinBUGS, OpenBUGS)JAGS が有名であり, また近年では, ハミルトニアンモンテカルロ法 (Hamiltonian Monte Carlo; HMC) に基づく Stan も勢いがある.

BUGS は枯れていて実績があり, Stan は従来の MCMC サンプラーと比較して高速・高効率なサンプリングが可能であるなど, それぞれメリットはあるが, いずれもその言語でモデルを記述する必要があるため, 初学者には多少敷居が高い.

一方, R 上で MCMC を実行する MCMCpack は, インターフェースが R のビルドイン関数に合わせて設計されているため, 少ない事前知識で MCMC を試せる.

MCMCpack

以下は, MASS パッケージに含まれる乳癌の生検データから, MCMCpack でロジスティック回帰のパラメーターを推定した例.

MCMClogit() では, glm() と同じような記述でメトロポリス法 (Metropolis algorithm) によるサンプリングを実行できる.
実装が C++ のため処理も速い.

まとめ

R に慣れていれば MCMCpack は簡単に試せる.
今回は一般化線形モデルの固定効果の例だが, 混合効果モデルに使える関数もある様子.

同様に R 上で MCMC を実行するパッケージとしては他に, MCMCglmm などがある.

ただ, 使えるモデルは限定されるので, 複雑なモデリングや細かいチューニングには BUGS や Stan の方が向いている.