嵌套随机效应及相关固定效应

4
我有跨国面板数据,想知道IV对二元学生层次结果DV的影响。我想包括一个嵌套随机效应,考虑到学生所在的学校将影响结果,并且学校在不同国家之间存在实质性差异:(1|country/school)。因此,我开始使用的模型是:
model = glmer(DV ~ IV + (1|country/school), data=data, family = 'binomial')

我还希望考虑时间趋势。起初,我认为应该进行年固定效应,但是这些国家的政治发展随时间显著变化,我想捕捉到这一点,尽管1991年可能让A国家的学校陷入动荡,但1991年可能是B国家教育经费的好年份。因此,我认为可能应该包括一个国家-年固定效应,如下所示:

model = glmer(DV ~ IV + (1|country/school) + as.factor(country_year),
                data=data, family = 'binomial')

这个模型的随机效应为:

Random effects:
 Groups          Name        Variance  Std.Dev. 
 school:country (Intercept) 5.703e-02 2.388e-01
 country         (Intercept) 4.118e-15 6.417e-08
Number of obs: 627, groups:  school:country, 51; country, 22

如果模型中已经包含了国家随机效应,那么是否将国家-年份固定效应也包含在内会导致错误?

另一种提问方式: 如何处理这样一个事实:学校是国家的子集,而国家-年份是国家的子集,但学校和国家-年份之间互不是子集关系?


我认为你的问题更适合在交叉验证网站上提问。 - Eli Korvigo
1个回答

1
据我所见,你有22个国家。不清楚country_year是什么,但假设它只是country:year的虚拟变量,那么将其作为固定效应(因子)可能不是一个好主意,因为会有太多层次无法有用地解释。
既然你对时间趋势感兴趣,将year作为固定效应是有道理的:
DV ~ IV + (1|country/school) + as.factor(year)

如果有很多“年份”,最好将年份作为数字包含在内。
DV ~ IV + (1|country/school) + as.numeric(year)

作为单一(线性)趋势的估计,如果它是一个因子,则会计算出减1后的估计值,这将在有许多级别时难以解释。但是,当编码为因子时,估计值可以指示是否存在非线性趋势,然后您可以切换到as.numeric并引入非线性项。
OP的最后一段有点令人困惑。如果country_year确实嵌套在country中,则我们将有:
DV ~ IV + (1|country/school) + (1|country:country_year)

..这与以下代码相同:

DV ~ IV + (1|country) + (1/school:country) + (1|school:country_year)

然而,这将不会估计任何时间趋势。如果您想要估计趋势,那么您需要像上面提到的一样将年份(或国家_年份)作为固定效应包含在内 - 并且您可以通过将其作为随机斜率包括在内来使其在学校(和/或国家)之间有所不同,例如:
DV ~ IV + year + (1|country) + (year|school:country)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接