lsmeans 为广义线性模型报告什么,例如泊松混合模型(适合 glmer)?

机器算法验证 r 混合模式 泊松回归 lsmeans lme4-nlme
2022-03-18 17:23:25

我正在分析来自设计实验的眼动追踪数据。我的数据的简化版本如下所示(您可以在此处获取 dput() 数据),

head(lookDATA)

  participant fixationImage fixationCount
1           9    Automobile            81
2           9          Bird            63
3           9         Chair            82
4           9           Dog            64
5           9          Face            90
6           9         Plant            75

其中参与者是每个主题的唯一标识符,fixationImage 是他们关注的图片类别,而 fixationCount 是他们关注该图片类别的次数。

我使用lme4 包中的 glmer() 将泊松模型拟合到数据中

model<-glmer(fixationCount ~ fixationImage + (1|participant), family = poisson, data = lookDATA)

我使用 lsmeans中的 lsmeans()来检查因子水平之间的差异,

cld(lsmeans(model,"fixationImage"))

它提供以下输出:

fixationImage   lsmean         SE df asymp.LCL asymp.UCL .group
Chair         3.786022 0.05764923 NA  3.673018  3.899026  1    
Bird          3.866201 0.05750641 NA  3.753476  3.978925   2   
Dog           3.868768 0.05751010 NA  3.756037  3.981500   2   
Body          3.883644 0.06040952 NA  3.765230  4.002059   23  
Plant         3.893327 0.05746744 NA  3.780679  4.005975   23  
Automobile    3.901939 0.05745528 NA  3.789315  4.014563   23  
Face          3.946848 0.05832549 NA  3.832519  4.061178    3 

根据我(可能是有限的)对使用 lsmeans小插图的理解,lsmean 列应该代表模型预测的给定类别的平均外观数。

然而,这些值似乎与这些数字的简单描述性统计数据相去甚远,

summaryBy(fixationCount ~ fixationImage, data = lookDATA)

  fixationImage fixationCount.mean
1    Automobile           55.18750
2          Bird           53.25000
3          Body           57.12821
4         Chair           50.39450
5           Dog           53.82883
6          Face           56.76389
7         Plant           54.71429

暗示我可能没有正确理解 lsmeans 在这里代表什么,或者我错误地指定了模型。

任何帮助将不胜感激。

1个回答

输出代表您的模型对每个图像的预测。对于毒系列,默认链接函数是自然对数 - 所以这些值是对数刻度。如果你这样做lsmeans(..., type = "response"),它会将预测反向转换为原始响应规模。