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

Model 如何构造模型并在R代码中找到贝叶斯模型的beta?,model,prediction,bayesian,jags,Model,Prediction,Bayesian,Jags,我试图构建一个Jags模型,并找到贝塔和先验数据,以便进行贝叶斯数据分析。 我的模型有3个预测因子x1、x2、x3,结果是贝努利分布变量Y。 如何定义影响结果Y的三个预测因子的先验概率PY=1 | X1,PY=1 | X2,PY=1 | X3? 我的数据基于一个矩阵nXr,n=1920 r=4列X1、X2、X3和Y。听起来你在问如何在JAG中构造GLM。如果是这样,那么最简单的方法可能是使用runjags包中的template.jags函数,通过以下方式为您完成此操作: library('run

我试图构建一个Jags模型,并找到贝塔和先验数据,以便进行贝叶斯数据分析。 我的模型有3个预测因子x1、x2、x3,结果是贝努利分布变量Y。 如何定义影响结果Y的三个预测因子的先验概率PY=1 | X1,PY=1 | X2,PY=1 | X3?
我的数据基于一个矩阵nXr,n=1920 r=4列X1、X2、X3和Y。

听起来你在问如何在JAG中构造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应该是一个数据帧,而不是您目前所说的矩阵。这将对相关参数使用相对标准的最小信息优先级,但最好编辑为您创建的模型文件,以便根据需要调整优先级。我不知道你所说的“找到β”是什么意思,除非你是指固定效应的截距和系数


如果这没有帮助,那么我认为你需要在你的问题中添加更多的信息——例如更多关于你的预测因子X1-3的信息,你试图准确实现的目标,并且显示数据的前几行也不会有任何影响。

在这种情况下,贝叶斯公式是如何形成的?PY | X1,X2,X3=?PY | X1X2怎么样?如果还没有偏差,可以在JAGSmodel.txt文件的监视器列表中添加“偏差”一词,以监控偏差减去模型对数的两倍。这给了你完全的偏差。如果您想计算似然/后验概率的各个部分,您可以在R中使用例如dbinom和来自JAGS模型后验概率的X1、X2、X3估计值进行计算,或者您可以计算并监控JAGS模型内的似然概率的各个分量。