马尔可夫链蒙特卡洛(MCMC)是一种强大的计算技术,用于贝叶斯统计,在直接抽样困难时从后验分布中抽取样本。当后验分布复杂且没有闭合形式的解时,它特别有用。
贝叶斯推断与后验分布
在贝叶斯统计中,我们使用贝叶斯定理估计参数:
$$ P(\theta \mid D)=\frac{P(D \mid \theta) P(\theta)}{P(D)} $$
其中:
马尔可夫链
蒙特卡洛抽样
从初始猜测 θ0 开始。
从提议分布 $q\left(\theta^* \mid \theta\right)$ 提出一个新样本 $\theta^*$。
计算接受率:
$$ A=\frac{P\left(D \mid \theta^\right) P\left(\theta^\right)}{P(D \mid \theta) P(\theta)} $$
以概率 $A$ 接受 $\theta^*$,否则保持在 θ。
重复直到收敛。
以下是使用 MCMC 估计正态分布均值的实现:
https://gist.github.com/viadean/8b70b20cd524951303047564eec8ba5e