r - 绘制 N 给定似然性和先验的后验分布
问题描述
假设似然是 Y|n~Binomial(n, theta) 并且先验是 n~Poisson(5),我试图计算 Y=0 和 theta=0.2 的样本大小 n 的后验分布。我的代码如下:
Y <- 0
theta <- 0.2
n_grid <- seq(0,1,length=1000)
like <- dbinom(Y,n_grid,theta)
prior <- dpois(n_grid,5)
fy <- sum(like*prior)
post <- like*prior/fy
plot(n_grid,post,type="l")
在计算似然函数和先验时,我不断得到 NaN 结果。任何帮助,将不胜感激!
解决方案
所以我意识到回答我自己的问题可能是非常规的,但我想出了我的解决方案,并认为我会发布答案来帮助其他人。
Y <- 0
theta <- 0.2
N <- 0:0.01:100
like <- dbinom(Y,N,theta)
prior <- dpois(N,5)
fy <- sum(like*prior)
post <- like*prior/fy
plot(N,post,type="l")
推荐阅读
- menu - 跳过liferay中的导航菜单问题?
- python - Python:使用 Selenium 获取安全 cookie
- visual-studio-code - 理论上是否可以在 VS Code 中获得插入符号的 x,y 屏幕坐标?
- python - 如何使用 selenium 和 python 允许基于浏览器的弹出窗口
- python - id() 用于 python 3.x 中的复数
- mongodb - Mongorestore 行为
- php - 在 Laravel 中登录后将接口绑定到实现
- go - *time.Time 不是 proto.Message:缺少方法 ProtoMessage
- android - 如果使用 setVariable() 方法设置 ViewModel,则 DataBinding 不起作用
- python - 我想从 xlsx 中提取 10 张表并将所有 10 张表导出为 python 中的 csv 格式