哪个事后对不平衡 lmer 模型的多重比较更有效:lsm 或 mcp?

机器算法验证 r 多重比较 最小二乘 事后 不平衡类
2022-04-07 04:49:00

在与我的混合 lmer 模型进行模型比较后,我有一个具有三个主要影响的模型,没有交互,比如说signal ~ factor A + factor B + factor C + (1|subj)

因素 C 有三个级别,所以我想做一个事后测试,看看这些级别之间有何不同。我尝试了两种方法:

方法 1:mcp 与 Tukey(来自 multcomp 包)

summary(glht(myModel, mcp(factorC="Tukey"))

我得到以下结果:

     Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Tukey Contrasts


Fit: lme4::lmer(formula = signal ~ factorA + factorB + factor C + (1 | 
    subj), data = s)

Linear Hypotheses:
             Estimate Std. Error z value Pr(>|z|)  
e1 - e2 == 0   0.8071     0.4681   1.724   0.1984    
e1 - e3 == 0   1.9926     0.4681   4.257   <1e-04 ***
e2 - e3 == 0   1.1855     0.4681   2.533   0.0321 *    ---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)

方法 2:lsm(来自 lsmeans 包)

summary(glht(myModel, lsm(pairwise ~ factorC)))

给我以下结果:

     Simultaneous Tests for General Linear Hypotheses

Fit: lme4::lmer(formula = signal ~ factorA + factorB + factorC + 
    (1 | ID), data = s)

Linear Hypotheses:
             Estimate Std. Error t value Pr(>|t|)    
e1 - e2 == 0   0.8071     0.4681   1.724    0.198    
e1 - e3 == 0   1.9926     0.4681   4.257   <1e-04 ***
e2 - e3 == 0   1.1855     0.4681   2.533    0.032 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)

结果非常相似,我猜想 lsm-results 更可靠,因为 lsmeans 明确适用于观察不等的模型。不过,我仍然想知道这样做是否可以接受,并希望有任何评论!

1个回答

你确定结果真的完全不同我只看到小数点后第 4 位的变化(第 2 组和第 3 组之间差异的 p 值),相对差异为 0.3%,这可能是由于以不同顺序进行等效计算而导致的数值差异。

?lsm说:

它的工作方式类似于“mcp”,除了在调用“lsmeans”时提供的“specs”(以及可选的“by”和“contr”参数)。

这向我强烈暗示(因为lsmeans通常有充分的记录)这只是相同功能的不同接口:如果存在重要的统计差异,我认为它们会被提及......

lsm告诉我们来自lsmeans包(并且glht来自)会很有帮助multcomp