r - 使用 Rethinking R 包拟合贝叶斯模型时出错
问题描述
我正在尝试拟合一个非常简单的模型来估计疾病的流行率,如此处所述https://www.ecdc.europa.eu/sites/default/files/documents/Methodology-estimating-point-prevalence%20-SARS -CoV-2-infection-pooled-RT-PCR-testing.pdf第 6 页,使用 Rethinking R 包
这是我的代码:
quap(alist(
p ~ dbeta(.3, .3),
p_test ~ 1 - dbinom(0, s, p), # I tried also p_test <- 1 - dbinom(0, s, p)
k ~ dbinom(w, p_test)
), data = list(s = 10, k = 30, w = 200))
但我收到错误:
Error in pars[[i]] : subscript out of bounds in quap
我究竟做错了什么?
解决方案
重新排序中的定义alist
可以解决问题。
quap(
alist(
k ~ dbinom(w, p_test),
p ~ dbeta(.3, .3),
p_test ~ 1 - dbinom(0, s, p)
),
data = list(s = 10, k = 30, w = 200)
)
此代码返回:
Quadratic approximate posterior distribution
Formula:
k ~ dbinom(w, p_test)
p ~ dbeta(0.3, 0.3)
p_test ~ 1 - dbinom(0, s, p)
Posterior means:
p
0.01575975
Log-likelihood: -2.55
推荐阅读
- matlab - 如何在球面上生成一个随机点?
- python - 蟒蛇钥匙。钥匙
- python - discord.py 向频道发送错误
- java - Apache Ignite:胖客户端阻塞等待初始化锁定
- alert - “无数据”时的 Grafana 警报
- java - 字符串方法通过带计数的参数来整数
- mongodb - 为什么 $gte 和 $lte 不能使用像“2020/12/09”这样的特定日期来获取像 ISODate("2020-12-09T04:32:37.266Z") 这样的文档
- android - Android BLE 扫描在后台运行几分钟后停止
- javascript - 在类中使用 fetch 函数?
- apache-spark - Spark SQL Datediff 列之间的分钟数