MCMC5.0版在R中实现了空间广义线性模型,并使用CARBayes模拟在贝叶斯设置中进行推理。它包含许多不同的模型,这个问题涉及的是‘S.CARbym’。
我正在使用这个模型来拟合具有空间随机效果的泊松GLM,下面的第一个块中给出了一个示例代码,其中‘Y’是响应,‘x1’‘x2’‘x3’是协变量,‘N’是偏移量。此公式用于S.CARbym (model1),指定泊松分布和已知的空间权重矩阵‘W’。
这似乎工作得很好,但是我不确定如何为“prior.mean.beta”和“prior.var.beta”指定先验分布,这两个先验分布与默认值不同(默认的先验是高斯的,不包括在下面的第一段代码中)。我想知道,为了指定不同的先验分布,我需要在model2的第二个代码块中的‘prior.mean.beta=’(而不是‘NULL’)之后输入什么代码,例如Gamma或uniform?
随附的这个包的小插曲是有帮助的,但我无法弄清楚这一点,任何帮助都将不胜感激。
公式<- Y~ x1 + x2 + x3 +offset( model1 (N))model1 <- S.CARbym(公式=公式,系列=泊松,data = data,W=W,burnin = 5000,n.sample = 20000,瘦= 10)
公式<- Y~ x1 + x2 + x3 +offset( model2 (N))model2 <- S.CARbym(公式=公式,系列=泊松,data = data,W=W,burnin = 5000,n.sample = 20000,thin = 10,prior.mean.beta=NULL,prior.var.beta=NULL)
发布于 2018-01-08 05:22:50
我已经在Duncan Lee (软件包作者)的专家帮助下解决了这个问题。所以,我想我会回答这个问题,以防其他人遇到这个问题。这实际上是一个比我想象的简单得多的解决方案,每个回归参数都需要一个高斯先验,即beta_j ~ N(m_j,v_j)。(m_j,v_j)可以由您选择,并且对于每个回归参数都是不同的,因此,如果您希望指定先验均值和方差,则它们都需要是回归参数数量的向量。例如,如果你有3个回归参数和一个截距,向量需要乘以4乘以1,类似于下面的m <- c(0,0,0,0)
https://stackoverflow.com/questions/47801338
复制相似问题