如何构建模型并在R代码中找到贝叶斯模型的beta?

时间:2017-02-23 15:39:45

标签: model prediction bayesian jags

我正在尝试构建一个Jags模型,并找到beta以及贝叶斯数据分析的先验。 我的模型有3个预测变量x1, x2, x3,结果是伯努利分布变量 Y 。 如何为影响结果Y的三个预测因子定义先验概率 P(Y=1|X1), P(Y=1|X2), P(Y=1|X3) ? 我的数据基于矩阵nXr, n=1920 r=4 columns X1, X2, X3 and Y

1 个答案:

答案 0 :(得分:1)

听起来您在询问如何在JAGS中构建GLM。如果是这样,那么最简单的方法可能就是使用runjags包中的template.jags函数来为你做这样的事情:

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应该是一个数据框,而不是您现在所说的矩阵。这对于相关参数使用(相对标准的)最低信息量的先验,但是编辑为您创建的模型文件以便根据需要调整先验是非常明智的。我不知道你的意思是找到beta&#39;除非你的意思是截距和固定效应的系数?

如果这没有帮助,那么我认为您需要在问题中添加更多信息 - 例如有关您的预测器X1-3的更多信息,您要完全实现的目标,以及显示前几个您的数据行也不会受到影响。