(拓端数据)如何在R中进行贝叶斯分析?
在这篇关于如何在R中进行贝叶斯分析的文章中,我们介绍了贝叶斯分析,这个例子是关于职业足球比赛中的进球数。
模型
首先,我们认为职业足球比赛的进球数来自于分布
,其中 θ 是平均进球数。 现在假设我们根据足球专家的意见求出足球比赛的平均进球数,即参数θ,我们得到:
。
曲线(dnorm(x,2.5,0.2)足球比赛预测模型,从= -2足球比赛预测模型,到= 8,...)
我们想知道什么?
在这种情况下,我们想知道 θ 的后验分布是什么样的以及该分布的均值是多少。 为此,我们将分析三种情况:
我们从分布中得到 1 个观测值 x=1
全面的。
我们有 3 个观测值 x=c(1,3,5),来自 a
人口分布。
我们有 10 个观测值 x=c(5,4,3,4,3,2,7,2,4,5)足球比赛预测模型,来自
人口分布。
理论方法
在这里,我想告诉你贝叶斯分析是如何工作的。 首先,我们有一个来自参数 θ 未知的泊松分布总体的似然函数。
我们知道参数 θ 的先验分布 p(θ) 由以下公式给出。
最后,θ 的后验分布为。
常数C的计算方法如下。
后验分布 E(θ|x) 的平均值由以下公式给出。
计算方法
在这里,您将学习如何在 R 中使用蒙特卡洛模拟来回答上述问题。 对于这三种情况,您将按照以下步骤操作。
1. 定义数据
首先,您需要根据模式定义数据。
2.计算常数C
现在使用蒙特卡罗模拟来计算积分。为此,需要从先验分布生成 N = 10000 个值 θi 并将它们用于似然函数
评价他们。 最后,对这些值进行平均,得到C。 R中的代码如下。
rnorm(n=N,mean=2.5,sd=0.2)#先验分布
prod(dpois(x=x, = theta)) #似然函数
3.求后验分布
计算出C后,可以得到如下所示的后验分布。
fvero(theta) * dnorm(x=theta) / C
4.计算后验分布的均值
最后可以使用蒙特卡罗模拟计算积分以获得后验分布的均值。
结果
如前所述,上面提供的代码适用于所有三种情况,唯一根据情况变化的是 x。 在本节中,我们将展示每种情况的图,其中包含 θ 的先验分布和后验分布、后验分布的平均值(蓝色虚线)和观测值(粉红色点)。
第一种情况
曲线(dnorm(x, 2.5, 0.2), col=4,,x=x, y=rep(0, (x)),
line,v = ,=c("", =c("后", "前"),)
第二种情况
第三种情况
综上所述
从结果中我们可以得出结论,当我们的观测数据很少时,如图 1 和图 2 所示,由于缺乏样本证据,后验分布将倾向于与先验分布相似。 相反,当我们有大量的观测数据时,如图3所示,后验分布会偏离先验分布,因为数据会产生更大的影响。
我希望您喜欢这篇文章并了解贝叶斯统计。 我鼓励您在其他发行版上运行该程序。
最流行的见解
1.R语言多元逻辑回归应用案例
2.面板平滑传递回归(PSTR)分析案例的实现
3. 偏最小二乘回归(PLSR)和主成分回归(PCR)
4.R语言泊松回归模型分析案例
5.R语言回归中的拟合优度检验
6. R语言中LASSO回归、Ridge回归和Net模型的实现
7.R语言实现逻辑回归
8.使用线性回归来预测股票价格
9、R语言如何计算生存分析和Cox回归中的IDI和NRI指标?
标签: 足球比赛预测模型