Иерархическая линейная модель смеси

Я реализовал стандартную иерархическую модель с уровнем 1 в группах, чтобы быть линейной моделью и уровнем 2 в модели гауссовой смеси предметов. Это означает, что наклон, полученный из уровня 1, используется моделью уровня GMM для кластеризации. Когда я запускаю модель, у нее возникает проблема сходимости.

ВНИМАНИЕ: pystan: Превышено максимальное (плоское) количество параметров (1000):
Пропуск диагностических тестов для n_eff и Rhat. Чтобы запустить всю диагностику, вызовите pystan.check_hmc_diagnostics(fit)
ВНИМАНИЕ:pystan:2 из 500 итераций закончились расхождением (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 ответов

Другие вопросы по тегам