【问题标题】:Is a model-based recursive partitioning model from the family of the mixed effect models?是来自混合效应模型家族的基于模型的递归分区模型吗?
【发布时间】:2018-03-06 10:21:42
【问题描述】:

我想知道说基于模型的递归分区模型(mob,包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

【问题讨论】:

    标签: r tree lme4 mixed-models party


    【解决方案1】:

    不,基于线性回归的 MOB (lmtree) 不是混合效应类型的模型。但是,您使用 MOB 树来估计交互模型(或嵌套效应),实际上也可以使用混合效应模型。

    您的数据生成过程为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() 输出完全相同(或手动使用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() 以数据驱动的方式“学习”了交互。诚然,在这种情况下,没有太多要学习的东西......但是lmtree() 可以决定不进行任何拆分或进行两次拆分,而不是执行所有可能的拆分。

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

    简而言之:lmtree() 可以被认为是一种以数据驱动的方式寻找交互效果的方法。但这些相互作用不是用随机效应估计的,因此不是混合效应模型。

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

    【讨论】:

    • 非常感谢。这是非常清楚的。是否有任何理由更信任 lmer 的系数估计而不是 lmtree 估计?不是像 glmetree 包那样将 lmtree 与嵌套 lmer 组合,是否可以将 lmtree 与另一个嵌套 lmtree 组合(例如 2lmtree(V3~V1|V2|V4) 之类的东西)?
    • 如果您知道分组因子但它有很多级别,则最好使用与lmer() 交互的随机效应估计。如果分组已知但级别相对较少(与样本量相比),则使用lm() 进行固定效应估计更为可取。 lmtree() 的优势在于它可以以数据驱动的方式发现组。至于嵌套树,我不确定你的意思。使用lmtree(V3 ~ V1 | V2 + V4) 将递归地确定是否使用V2 或V4 或两者都用于分组。
    • 感谢一百万分享您的知识!这是非常有帮助的。关于我的第二个问题,我将开一个新帖子来说明它
    猜你喜欢
    • 2021-12-28
    • 2011-10-02
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 2017-04-03
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多