贝叶斯统计学习笔记|Bayesian Statistics|Metropolis-Hastings与Gibbs Sampling
(一) Metropolis-Hastings(MH)
现要从目标分布 p ( θ ) ∝ g ( θ ) p(\theta)\propto g(\theta) p(θ)∝g(θ)中抽样,MH算法的思想是:构建一个马氏链,其平稳分布就是目标分布。在构建时,我们首先随机选取一个初始值,从另一个更容易抽样的分布中将抽取出的样本作为候选,进行接受或拒绝操作,所得的马氏链收敛于目标分布,如此也就得到了后验分布的样本(posterior samples)。
MH算法的过程如下:
- 选取初始值 θ 0 \theta_0 θ0
- 对 i = 1 , . . . , m i=1,...,m i=1,...,m,重复如下操作:
(1)从proposal distribution q ( θ ∗ ∣ θ i − 1 ) q(\theta^{*}| \theta_{i-1}) q(θ∗∣θi−1)中抽取一个候选样本 θ ∗ \theta^{*} θ∗
(2)计算接受率 α \alpha α:
α = g ( θ ∗ ) / q ( θ ∗ ∣ θ i − 1 ) g ( θ i − 1 ) / q ( θ i − 1 ∣ θ ∗ ) \alpha = \frac{g(\theta^{*}) /q(\theta^{*}| \theta_{i-1})}{g(\theta_{i-1}) /q(\theta_{i-1}| \theta^{*})} α=g(θi−1)/q(θi−1∣θ∗)g(θ∗)/q(θ∗∣θi−1)
(3)接受或拒绝候选样本(规则如下):
\quad 若 α ≥ 1 \alpha \geq1 α≥1,则令 θ i = θ ∗ \theta_{i}=\theta^{*} θi=θ∗(即接受候选样本);
\quad 若 α < 1 \alpha <1 α<1,则
\qquad θ i = θ ∗ \theta_{i}=\theta^{*} θi=θ∗ with prob α \alpha α
\qquad θ i = θ i − 1 \theta_{i}=\theta_{i-1} θi=θi−1 with prob 1 − α 1-\alpha 1−α
上述过程中的proposal distribution是人为选择、更方便抽样的分布,由于分布q不同于目标分布p,因此MH算法中的接受/拒绝操作可以看做是对分布q的一种修正。对于马氏链的每一步,我们或者拒绝、或者接受候选样本,其规则取决于接受率 α \alpha α的大小。如果我们跳过这种筛选机制,每一步都接受候选样本,那么显而易见,所得到的最终结果并非是对目标分布p而是分布q的蒙特卡洛模拟。
例子:已知一枚不均匀的硬币出现正面概率为0.7。现掷另一枚未知均匀的硬币共5次,2次正面,3次反面。求硬币不均匀的概率 P ( l o a d e d ∣ X = 2 ) P(loaded|X=2) P(loaded∣X=2)?
方法一:贝叶斯公式
θ = { f a i r