Я только изучаю смешанные эффекты и применяю их в stan. У меня ментальный блок в понимании того, что я надеялся, что кто-нибудь мне объяснит, пожалуйста. Я не понимаю, почему случайные эффекты (только перехват) моделируются со средним 0, только с той дисперсией, которая нам подходит. Мое нетехническое понимание случайных перехватов заключается в том, что у вас есть фиксированный перехват эффекта, а затем случайные эффекты компенсируют перехват для определенной группы (например, повторных точек данных индивидуума), для которой вы применяете случайный эффект. Например, один человек может иметь более высокий перехват, чем другие. Но как возможно, чтобы у этого человека было более высокое смещение, если подходящее смещение имеет среднее значение 0 для этого человека? Если все, что мы делаем, это подгоняем дисперсию, то мы можем изменить только то, насколько выше И ниже фиксированного смещения индивидуум?
Я явно упускаю что-то очевидное, но я не могу разобраться Это. Извините - я нуб.
Вот пример кода stan, на который я смотрю:
data {
int<lower=1> N; //number of data points
real rt[N]; //reading time
real<lower=-1,upper=1> so[N]; //predictor
int<lower=1> J; // number of subjects
int<lower=1> K; // number of items
int<lower=1, upper=J> subj[N]; // subject id as integer index
int<lower=1, upper=K> item[N]; // item id as integer index
}
parameters {
vector[2] beta; // fixed intercept and slope
vector[J] u; // subject intercepts
vector[K] w; // item intercepts
real<lower=0> sigma_e; // error sd
real<lower=0> sigma_u; // subj sd
real<lower=0> sigma_w; // subj sd
}
model {
real mu;
// priors for the subject and item random intercepts
//(note flat prior for betas because we don't define one)
u ~ normal(0, sigma_u); // subj random effects
w ~ normal(0, sigma_w); // subj random effects
// likelihood
for (i in 1:N){
mu = beta[1] + u[subj[i]] + w[item[i]] + beta[2] * so[i];
log(rt[i]) ~ normal(mu, sigma_e);
}
}
Итак, здесь w, например, имеет среднее значение 0 для всех людей. Так что, на мой взгляд, вы не можете сместить этого человека выше или ниже фиксированного перехвата, вы можете только варьировать, насколько они go выше и ниже (sigma_w)?