基于模型的递归划分模型是否来自混合效应模型家族?

Is a model-based recursive partitioning model from the family of the mixed effect models?

我想知道基于模型的递归分区模型(mob,package partykit)是否正确 混合效应模型系列。

我的观点是,混合效应模型为每个随机效应提供了不同的参数,暴民模型也是如此。我看到的主要区别是暴民将随机效应划分为自己。

这是一个例子:

library(partykit); library(lme4)
set.seed(321)

##### Random data
V1 <- runif(100); V2 <- sample(1:3, 100, replace=T)
V3 <- jitter(ifelse(V2 == 1, 2*V1+3, ifelse(V2==2, -1*V1+2, V1)), amount=.2) 

##### Mixed-effect model
me <- lmer(V3 ~ V1 + (1 + V1|V2))
coef(me) #linear model coefficients from the mixel effect model

#$V2
#  (Intercept)         V1
#1  2.99960082  1.9794378
#2  1.96874586 -0.8992926
#3  0.01520725  1.0255424

##### MOB
fit <- function(y, x, start = NULL, weights = NULL, offset = NULL)  lm(y ~ x)
mo <- mob(V3 ~ V1|V2, fit=fit) #equivalent to lmtree
coef(mo) #linear model (same) coefficients from the mob

#      (Intercept) x(Intercept)        xV1
#2  2.99928854           NA  1.9804084
#4  1.97185661           NA -0.9047805
#5  0.01333292           NA  1.0288309

不是,那种线性的regression-based MOB(lmtree)不是mixed-effects类型的模型。但是,您使用 MOB 树来估计交互模型(或嵌套效应),实际上 mixed-effects 模型也可以用来这样做。

您的 data-generating 过程为 V2 的每个级别实施不同的截距和 V1 斜率。如果已知这种相互作用,则可以通过具有相互作用效应的合适的线性回归轻松恢复它(但 V2 应该是一个分类因子变量)。

V2 <- factor(V2)
mi <- lm(V3 ~ 0 + V2 / V1)
matrix(coef(mi), ncol = 2)
##            [,1]       [,2]
## [1,] 2.99928854  1.9804084
## [2,] 1.97185661 -0.9047805
## [3,] 0.01333292  1.0288309

请注意,模型拟合等同于 lm(V3 ~ V1 * V2),但对系数使用不同的对比编码。

上面获得的估计与 lmtree() 输出完全相同(或像您在 post 中那样手动使用 mob() + lm()):

coef(lmtree(V3 ~ V1 | V2))
##   (Intercept)         V1
## 2  2.99928854  1.9804084
## 4  1.97185661 -0.9047805
## 5  0.01333292  1.0288309

主要区别在于您必须准确地告诉 lm() 要考虑的交互。 lmtree(),另一方面,"learned" 以 data-driven 方式进行交互。不可否认,在这种情况下,没有太多需要学习的东西......但是 lmtree() 可以决定不进行任何拆分或进行两次拆分,而不是执行所有可能的拆分。

最后,您的 lmer(V3 ~ V1 + (1 + V1 | V2)) 规范还估计了嵌套(或交互)效应。然而,它使用了一种不同的估计技术,具有随机效应而不是完全固定效应。另外,这里你必须预先指定交互。

简而言之:lmtree()可以被认为是一种以data-driven的方式寻找交互作用的方法。但是这些相互作用不是用随机效应估计的,因此不是 mixed-effects 模型。

P.S.: 可以组合 lmtree()lmer() 但那是另一回事了。如果您有兴趣,请参阅包 https://CRAN.R-project.org/package=glmertree 和随附的文件。