0x03 PyMC与MCMC

PyMC使用MCMC解决问题的原理

根据贝叶斯公式有:

P(θX)P(θ)P(Xθ)P(\theta|X)\propto{P(\theta)P(X|\theta)}

在这里, θ\theta是我们想要求的随机变量, XX是随机变量θ\theta观测值集合. 我们并不知道θ\theta的真实分布是怎么样的, 因此我们先假设出θ\theta先验分布P(θ)P(\theta), 在观测点集合XX的纠正下, 得到后验分布P(θX)P(\theta|X), 就是我们认为的随机变量θ\theta的真实分布, 即我们的目标就是求解后验分布P(θX)P(\theta|X).

而对于贝叶斯公式中的P(Xθ)P(X|\theta)项, 表示的是在θ\theta当前分布的条件下, 观测集XX的发生概率, 因此P(Xθ)P(X|\theta)是一个关于θ\theta的函数, 其实就是似然函数:

fθ(X)=L(θX)=P(Xθ)f_{\theta}(X)=L(\theta|X)=P(X|\theta)

似然函数条件概率都是指事件发生的可能性, 但是关注点不同, 似然函数关注的是当前模型参数的下, 观测结果(已知)发生的概率. 可以参考这篇文章.

因此有如下的公式:

P(θX)P(θ)fθ(X)P(\theta|X)\propto{P(\theta)f_{\theta}(X)}

后验概率正比于先验分布以及似然函数.

因此, 对于复杂的后验分布, 可以通过假设的先验分布以及以及求得的似然函数来表示(正比关系, 只是相差一个系数), 通过MCMC采样去逼近后验分布, 即随机变量θ\theta的真实分布. 在收敛之后的采样就是对后验分布的采样, 也就能代表随机变量θ\theta的真实分布情况. 然后再用这些样本去代替分布概率, 计算我们关心的变量, 如积分, 关于θ\theta的函数f(θ)f(\theta)的期望等等.

最后更新于

这有帮助吗?