乐趣区

关于算法:R语言贝叶斯Poisson泊松正态分布模型分析职业足球比赛进球数

原文链接:http://tecdat.cn/?p=23099 

在本文对于如何在 R 中进行贝叶斯剖析。咱们介绍贝叶斯剖析,这个例子是对于职业足球比赛的进球数。

模型

首先,咱们认为职业足球比赛的进球数来自散布,其中 θ 是均匀进球数。当初假如咱们用一位足球专家的意见来得出足球比赛的均匀进球数,即参数 θ,咱们失去:

curve(dnorm(x, 2.5, 0.2), from = -2, to = 8,...)

 

咱们想晓得什么?

在这种状况下,咱们想晓得 θ 的后验散布是什么样子的,这个散布的平均值是什么。为了做到这一点,咱们将在三种状况下剖析:

咱们有 1 个察看值 x =1,来自散布为 的总体。
咱们有 3 个观测值 x =c(1,3,5),来自一个具备 散布的总体。
咱们有 10 个观测值 x =c(5,4,3,4,3,2,7,2,4,5),来自一个具备 散布的总体。

实践办法

在这里,我想通知你贝叶斯剖析是如何剖析的。首先,咱们有一个来自具备未知参数 θ 的泊松散布的人口的似然函数。

 

咱们晓得参数 θ 的先验散布 p(θ)是由以下公式给出的。

 最初,θ 的后验散布为。

 

 其中常数 C 的计算方法如下。

而后验散布 E(θ|x)的平均值由以下公式给出。

计算方法

在这里,你将学习如何在 R 中应用蒙特卡洛模仿来答复下面提出的问题。对于这三种状况,你将遵循以下步骤。

1. 定义数据

首先,你须要依据计划定义数据。

x <- 1 #第一种状况

2. 计算常数 C

当初应用蒙特卡洛模仿来计算积分。为此,有必要从先验散布中产生 N =10000 个值 θi,并在似然函数 中评估它们。最初,为了失去 C,这些值被平均化。R 中的代码如下。

N <- 100000  # 模仿值的数量
rnorm(n=N, mean = 2.5, sd = 0.2) #先验散布
prod(dpois(x=x, lambda = theta)) #似然函数

3. 寻找后验散布

计算完 C 后,你能够失去后验散布,如下所示。

        fvero(theta) * dnorm(x=theta) / C

 

4. 计算后验散布的平均数

最初你能够应用蒙特卡洛模拟计算积分来取得后验散布的平均值。

integral <- mean(aux)
posterior <- integral/C

后果

如前所述,下面介绍的代码用于所有三种状况,惟一依据状况变动的是 x。在这一节中,咱们将为每种状况展现一张图,其中蕴含 θ 的先验和后验散布、后验散布的平均值(蓝色虚线)和观测值(粉红色的点)。

第一种状况

curve(dnorm(x, 2.5, 0.2), col=4,,x=x, y=rep(0, length(x)),
line,v = mposterior,legend=c("topright", legend=c("后验", "先验"),)

 

第二种状况

 

 

第三种状况

论断

从后果中咱们能够得出这样的论断:当咱们有很少的观测数据时,如图 1 和图 2,因为不足样本证据,后验散布将偏向于相似于先验散布。相同,当咱们有大量的观测数据时,如图 3,后验散布将偏离先验散布,因为数据将有更大的影响。

我心愿你喜爱这篇文章并理解贝叶斯统计。我激励你用其余散布运行这个程序。


最受欢迎的见解

1.R 语言多元 Logistic 逻辑回归 利用案例

2. 面板平滑转移回归 (PSTR) 剖析案例实现

3.matlab 中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R 语言泊松 Poisson 回归模型剖析案例

5.R 语言回归中的 Hosmer-Lemeshow 拟合优度测验

6.r 语言中对 LASSO 回归,Ridge 岭回归和 Elastic Net 模型实现

7. 在 R 语言中实现 Logistic 逻辑回归

8.python 用线性回归预测股票价格

9.R 语言如何在生存剖析与 Cox 回归中计算 IDI,NRI 指标

退出移动版