0
我现在正在使用包含两个组件的混合模型:正态和对数正态以适应矢量。 我尝试使用JAGS,这里是代码:关于拟合正常+对数正态混合模型的问题
model {
for(i in 1:N) {
y[i] <- latent[i,index[i]+1]
index[i] ~dbern(pi)
latent[i,1]~ dlnorm(mu1,tau1)
latent[i,2]~ dnorm(mu2,tau2)}
pi ~ dbeta(0.5,0.5)
mu1 ~ dnorm(0.4,0.000001)
tau1~ dgamma(0.001,0.001)
mu2 ~ dnorm(4,0.000001)
tau2~ dgamma(0.001,0.001)
}
然而,它不与错误消息工作“Y [1]是一个逻辑节点,并且不能观察到”。 我也试过
y[i] <- pi*z1+(1-pi)*z2
z1 ~ dnorm(mu1,tau1)
z2 ~ dlnorm(mu2,tau2)
...
,但它给了同样的错误消息。看来我必须分配一个分配给y [i]。任何人都可以帮助克服这个问题吗?或者用于解决这种混合模型的其他方法也将被赞赏!
您好,非常感谢您的回复!我尝试了你的代码,但是错误信息是“Error line parsing model file: syntax error on line 4 near”(“” –
Ah。Change'latent [i]〜(dlnorm(mu1,tau1)*(1-index [i ])+ dnorm(mu2,tau2))+(dnorm(mu2,tau2)* index [i])到'y [i]〜(dlnorm(mu1,tau1)*(1-index [i])) * index [i])'看看是否有效,如果有的话,我会编辑答案。 –