gpt4 book ai didi

r - STAN中的嵌套模型?

转载 作者:行者123 更新时间:2023-12-04 09:40:53 25 4
gpt4 key购买 nike

假设我想在两个级别对随机效应进行建模,即我有两个嵌套级别:父组中的个体和祖父组中的父组。我知道如何从 these 等示例中为单个随机效应(如下)编写基本模型但我不知道如何写等价于

lmer(resp ~ (1|a/b), data = DAT)

在 lmer。

单个 RE 的 STAN 代码。问题是,如何嵌套 a上一级 b ?
data{
int<lower=0> N;
int<lower=0> K;
matrix[N,K] X;
vector[N] price;
int J;
int<lower=1,upper=J> re[N];
}
parameters{
vector[J] a;
real mu_a;
real tau;
real<lower=0> sigma_a;
real<lower=0> sigma;
vector[K] beta;
}
transformed parameters{
vector[N] mu_hat;
for(i in 1:N)
mu_hat[i] <- a[re[i]];
}
model {
mu_a ~ normal(0,10);
tau ~ cauchy(0,5);
a ~ normal(mu_a,sigma_a);
for(i in 1:N)
price[i] ~ normal(X[i]*beta + mu_hat[i], sigma);
}
"

最佳答案

我不确定 lmer 中的 a/b 符号是什么,但是如果您希望嵌套级别更深,那么使用预测器很容易。假设您有一个 IRT 模型,其中学生(j in 1:J)嵌套在学校(school[j] in 1:S)和学校嵌套在城市(city[s] in 1:C)中。

[2017 年 4 月 14 日更新]

您现在可以矢量化所有内容。所以而不是这个:

for (j in 1:J) 
theta[j] ~ normal(alpha[school[j]], sigma_theta);
for (s in 1:S)
alpha[s] ~ normal(beta[city[s]], sigma_alpha);
beta ~ normal(0, 5);

你可以有
theta ~ normal(alpha[school], sigma_theta);
alpha ~ normal(beta[city], sigma_alpha);
beta ~ normal(0, 5);

关于r - STAN中的嵌套模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29379001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com