在这种特定情况下,y
是您的响应变量,m
是您的线性预测变量,tau
是精度(方差的倒数)。使用~
使关系随机。期待JAGS用户手册...
...以及与y [I]〜dnorm(m [i],tau)vs y [I]
考虑两行代码:
`for(I in 1:length(y)) { y[i] ~ dnorm(m[i],tau) #---> Jags code (stochastic node) m[i] = alpha + beta*(x[i] - x_bar) . . } y[i] <- dnorm(n,m[i],tau)?) ---> R`
在Jags中,由于未在dnorm函数中指定n值,将是n个值? (dnorm(m [i],tau))
对于每个i,dnorm函数是否相对于平均值m [I]计算每个y值的密度值,平均值m [I]具有由确定性节点和tau(precision)确定的线性关系?
总之,我想知道dnorm或任何其他密度函数将使用什么n值进行分布(dgamma或dbeta)。
...以及〜符号与y [I]〜dnorm(m [i],tau)vs y [I] ...]中的R相比是什么意思>
在这种特定情况下,y
是您的响应变量,m
是您的线性预测变量,tau
是精度(方差的倒数)。使用~
使关系随机。期待JAGS用户手册...
“关系可以有两种类型。随机关系(~
)定义一个随机节点,代表模型中的随机变量。确定性关系(<-
)定义一个确定性节点的值完全由其父节点的值确定。等号(=
)可以代替左箭头(<-
)用于确定性关系。“
因此,换言之,假设y
中的值是从与m
和tau
相关的正态分布中得出的。
R中的dnorm
计算密度时,JAGS计算对数密度(根据用户手册)。实际上,这种随机关系使您可以使用y
和x
来估计alpha
,beta
和tau
,在这种情况下,您可以通过对数据生成过程进行分布假设来使用dnorm
。
当然,由于这是贝叶斯分析,因此您需要先验参数。您也可以确定性地计算标准偏差而不是精度。完整的模型看起来像...
model{
# likelihood
for(I in 1:length(y)) {
y[i] ~ dnorm(m[i],tau)
m[i] <- alpha + beta*(x[i] - x_bar)
}
# priors
tau ~ dgamma(0.001, 0.001)
sd <- 1/ sqrt(tau)
alpha ~ dnorm(0, 0.001)
beta ~ dnorm(0, 0.001)
}
在这种特定情况下,y
是您的响应变量,m
是您的线性预测变量,tau
是精度(方差的倒数)。使用~
使关系随机。期待JAGS用户手册...