我有一个模型,用于rho
从. 每个项目都有一个固定的效果(平均向量),但我还想为每个人添加一个随机效果。我不是 100% 确定如何做到这一点,但我有一个猜测,如果有人能确认或更正它,我将不胜感激。我只需要将最后一行更改为以下内容:N_items
N_subjects
mu
y[i]' ~ multi_normal(mu + gamma[i],Sigma)
gamma[i]
person 的随机效应在哪里i
?(此外,在块中声明实数列向量,parameters
然后在model block
.
顺便说一句,如果有人对提高这个模型的效率有任何建议,我将永远感激不尽。
data {
int N_subjects;
int N_items;
matrix[N_subjects,N_items] y;
}
parameters {
vector[N_items] mu;
real<lower=0> sigma;
real<lower=0,upper=1> rho;
}
transformed parameters {
cov_matrix[N_items] Sigma;
for (j in 1:N_items)
for (k in 1:N_items)
Sigma[j,k] <- pow(sigma,2)*pow(rho,step(abs(j-k)-0.5));
}
model {
sigma ~ uniform(0,100);
rho ~ uniform(0,1);
for (i in 1:N_items)
mu[i] ~ normal(0,100);
for (i in 1:N_subjects)
y[i]' ~ multi_normal(mu,Sigma);
}