Я реализовал стандартную иерархическую модель с уровнем 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]));
}
"""