Python教程之创建您自己的用于贝叶斯推理的 Metropolis-Hastings 马尔可夫链蒙特卡罗算法

在今天的休闲编码练习中,我们学习如何将模型参数拟合到数据(带有误差线),并获得最有可能解释数据的建模参数分布,称为后验分布。我们将在贝叶斯框架中进行此操作,这是一种非常强大的方法,因为它允许我们整合先验知识和不确定性,并在观察更多数据时更新我们对模型参数的信念。我们将使用简单且通用的马尔可夫链蒙特卡罗 (MCMC) 方法(称为 Metropolis-Hastings 算法)对模型参数的后验分布进行采样。

1_wCSWerASM1Cd_Zp7fWGAjQ.gif

贝叶斯框架

我们将使用贝叶斯框架进行模型拟合和参数估计。假设一个模型具有一组参数θ并给定数据集D,我们寻求使用贝叶斯定理找到模型参数的后验分布 P( θ |D):

image.png

where:
P( θ |D)是在数据D为真的情况下参数具有值θ 的后验概率。
P(D| θ )是数据D的可能性,假设θ为真。
P( θ ) 是一组参数θ为真的先验概率(在看到任何数据之前)。
P(D) 是边缘化,即D为真的概率。
这就是贝叶斯推理所需的全部内容。一个简单而强大的想法。

蒙特卡洛都会黑斯廷斯马尔可夫链

Metropolis-Hastings MCMC 算法将对后验分布进行随机采样。马尔可夫链是一个随

猜你喜欢

转载自blog.csdn.net/iCloudEnd/article/details/132218611