我知道随机效应和平滑曲线估计之间存在对偶性。在此链接中,Simon Wood 描述了如何使用 mgcv 指定随机效应。特别值得注意的是以下段落:
例如,如果 g 是一个因子,则 s(g,bs="re") 为 g 的每个级别生成一个随机系数,所有随机系数都建模为 iid normal。
经过快速模拟,我可以看到这是正确的,并且模型拟合几乎相同。然而,可能性和自由度是非常不同的。谁能解释其中的区别?应该使用哪一种进行测试?
library(mgcv)
library(lme4)
set.seed(1)
x <- rnorm(1000)
ID <- rep(1:200,each=5)
y <- x
for(i in 1:200) y[which(ID==i)] <- y[which(ID==i)] + rnorm(1)
y <- y + rnorm(1000)
ID <- as.factor(ID)
# gam (mgcv)
m <- gam(y ~ x + s(ID,bs="re"))
gam.vcomp(m)
coef(m)[1:2]
logLik(m)
# lmer
m2 <- lmer(y ~ x + (1|ID))
sqrt(VarCorr(m2)$ID[1])
summary(m2)$coef[,1]
logLik(m2)
mean( abs( fitted(m)-fitted(m2) ) )
完全披露:我遇到这个问题是因为我想拟合一个还包括随机效应(重复测量)的 GAM,但需要知道我是否可以信任这些模型下的基于可能性的测试。