r - JAGS 随机效应模型预测

标签 r regression bayesian glm-math jags

我正在尝试使用指数作为响应 (D47)、温度作为预测变量 (Temp) 并考虑离散变量( Material )的随机效应来对贝叶斯回归建模。我找到了关于非层次回归的非常好的信息,一些帖子甚至包括这些模型的预测策略。尽管如此,我在预测模型中的 D47 值时发现了一个显着的问题,这主要是因为随机截距。

在 JAGS 回归预测过程中有没有办法处理随机截距?

感谢您的回答,

model1<-"model {
# Priors
mu_int~dnorm(0, 0.0001) # Mean hyperparameter for random intercepts
sigma_int~dunif(0, 100) # SD hyperparameter for random intercepts
tau_int <- 1/(sigma_int*sigma_int)
for (i in 1:n) {
alpha[i]~dnorm(mu_int, tau_int) # Random intercepts
}
beta~dnorm(0, 0.01) # Common slope
sigma_res~dunif(0, 100) # Residual standard deviation
tau_res <- 1/(sigma_res*sigma_res)
# Likelihood
for (i in 1:n) {
mu[i] <- alpha[Mat[i]]+beta*Temp[i] # Expectation
D47[i]~dnorm(mu[i], tau_res) # The actual (random) responses
}
}"

最佳答案

当然,您可以使用随机截距进行预测,您需要做的就是将其指定为某种派生量。

尝试在模型中添加类似这样的内容。

for(i in 1:(n)){
D47_pred[i] <- dnorm(mu[i], tau_res)
}

然后跟踪D47_pred作为参数。

编辑:

此外,您还需要更改指定随机截距先验的方式。这将需要几个步骤(从评论中更新代码)。

您需要在数据列表中添加一个新常量,它表示向量 Mat 中唯一组的数量。在这种情况下,我将其标记为 M(例如 Mat 中的 4 组,M = 4)

for (j in 1:(M)){ 
alpha[j] ~ dnorm(mu_int, tau_int) # Random intercepts
}

此规范只是为您的模型生成正确数量的随机截距

关于r - JAGS 随机效应模型预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35186075/

相关文章:

machine-learning - 有没有办法快速决定使用哪些变量进行模型拟合和选择?

java - 将 Ruby 代码转换为 Java

r - 确定 R 中分布的高密度区域

R 数学运算 NA 值

python - 交互: and * term for formulas in StatsModels OLS regression之间的区别

r - 语料库参数上的 DocumentTermMatrix 错误

r - 如何为 r 中的转换变量创建汇总统计表

python - PyMC3 用时变捕获概率估计封闭种群的大小

r - 如何使用 R 映射美国所有州和每个州发生的犯罪数量?

r - 使用 here() 函数上一级根目录