分层线性混合模型

时间:2019-01-29 12:00:24

标签: stan mixture-model rstan multilevel-analysis hierarchical-bayesian

我已经实现了一个斯坦分层模型,其中组内的级别1为线性模型,而受试者高斯混合模型的级别为2。这意味着从级别1获得的斜率被级别模型GMM用于聚类。当我运行模型时,它存在收敛问题。

  

警告:pystan:超过最大(固定)参数计数(1000):
  跳过对n_eff和Rhat的诊断测试。要运行所有诊断,请调用pystan.check_hmc_diagnostics(fit)
  警告:pystan:500次迭代中有2次以差异(0.4%)结尾。
  警告:pystan:尝试在Adapt_delta大于0.8的情况下运行以消除差异。
  警告:pystan:链1:E-BFMI = 0.0611
  警告:pystan:E-BFMI低于0.2表示您可能需要重新参数化模型

对改进模型有何评论?

 multi_level_model = """

data {
  int<lower=0> N; // No of observations
  int J; // No of subjects   
  int<lower=1,upper=J> RID[N]; 
  vector[N] x;  // Cognitive measure
}

parameters{
  real a;
  vector[J] b;
  real mu_b;
  real<lower=0,upper=2> sigma_b;


 # Gaussian Parameters for level 2

  ordered[2] mu;
  real<lower=0> sigma[2];
  real<lower=0, upper=1> theta;

}
transformed parameters {
  vector[N] y_hat;
  for(i in 1:N)
    y_hat[i] <- a + x[i] * b[RID[i]];

}
model {

  sigma_b ~ normal(0, 1);
  b ~ normal (mu_b, sigma_b);

  a ~ normal (0, 1);


  sigma ~ normal(0, 1);
  mu ~ normal(0, 1);
  theta ~ beta(5, 5);

  for (n in 1:J)
   target += log_mix(theta,
                     normal_lpdf(b[n] | mu[1], sigma[1]),
                     normal_lpdf(b[n] | mu[2], sigma[2])); 

}
   """

0 个答案:

没有答案