我正在尝试使用R来计算后验分布,并为我的先验,似然性和后验分布产生三重梯度。我有先验分布π_1(θ)= Be(1.5,1.5)。
这是我的R代码:
n <- 25
X <- 16
a <- 1.5
b <- 1.5
grid <- seq(0,1,.01)
like <- dbinom(X,n,grid)
like
like <- like/sum(like)
like
prior <- dbeta(grid,a,b)
prior1 <- prior/sum(prior)
post <- like*prior
post <- post/sum(post)
它确实给了我一个Triplot,但我也想获取后验分布的值,但是我的代码中似乎缺少一些东西。
为澄清起见,我正在寻找上述先验分布的θ的后验分布
此外,我已经尝试过:
install.packages("LearnBayes")
library("LearnBayes")
prior = c( a= 1.5, b = 1.5 )
data = c( s = 25, f = 16 )
triplot(prior,data)
它给了我一个完美的Triplot,但后验却再无价值。
答案 0 :(得分:1)
就在那儿,只是先验的信息量太弱(Beta[a=1.5, b=1.5]
几乎是统一的),以至于似然函数与后验的差异很小。考虑这一点的直观方法是a+b-2
为1,表示先验实际上仅由1个先前的观察结果支持,而N
为25,意味着数据由25个观察结果支持。这导致数据在贡献信息方面占主导地位。
将先验改变为更强将使区别更加明显:
prior <- c(a=10, b=10)
data <- c(s=25, f=16)
triplot(prior, data)
请注意,如果所有信息都可用,那么使用弱信息先验也没有错。当观测到的数据足够大时,它应 支配后验。