0
我想构建一个Jags模型,并找到测试以及贝叶斯数据分析的先验。 我的模型有3个预测变量x1, x2, x3
,结果是伯努利分布变量Y。 如何定义先验概率P(Y=1|X1), P(Y=1|X2), P(Y=1|X3)
三个预测因素影响结果Y? 我的数据基于矩阵nXr, n=1920 r=4 columns
X1, X2, X3 and Y
。如何构建模型并在R代码中找到贝叶斯模型的测试版?
我想构建一个Jags模型,并找到测试以及贝叶斯数据分析的先验。 我的模型有3个预测变量x1, x2, x3
,结果是伯努利分布变量Y。 如何定义先验概率P(Y=1|X1), P(Y=1|X2), P(Y=1|X3)
三个预测因素影响结果Y? 我的数据基于矩阵nXr, n=1920 r=4 columns
X1, X2, X3 and Y
。如何构建模型并在R代码中找到贝叶斯模型的测试版?
听起来好像你在问如何在JAGS中构造GLM。如果是的话,那么最简单的方法可能是使用template.jags功能在runjags包你使用类似做到这一点的:
library('runjags')
template.jags(Y ~ X1 + X2 + X3, data=nXr, family='binomial', write.data=FALSE)
## Inspect and edit the JAGSmodel.txt file ##
results <- run.jags("JAGSmodel.txt", data=nXr)
注意NXR有望成为一个数据帧,而不是一个矩阵就像你说你现在有。这为相关参数使用了(相对标准的)最小信息量的先验,但为了根据需要调整先验,编辑为您创建的模型文件是高度可预见的。我不知道'找到测试版'是什么意思,除非你是指固定效应的截距和系数?
如果这没有帮助,那么我认为您需要为您的问题添加更多信息 - 例如更多关于您的预测变量X1-3的信息,您试图准确实现的内容以及显示前几行你的数据也不会受到伤害。
在这种情况下贝叶斯公式是如何形成的? P(Y | X1,X2,X3)=? P(Y | X1X2)怎么样? –
通过将单词'deviance'添加到JAGSmodel.txt文件中的监视器列表(如果它尚未存在),可以监视模型的偏差(减去log后验的两倍)。这给了你偏差的完整后面。如果你想计算可能性/后验的各个部分,你可以用R来做这个。 dbinom和来自JAGS模型后面的X1,X2,X3的估计值(或者您可以计算和监测JAGS模型内可能性的单个分量)。 –