如何使用lme4拟合与glm等效的泊松对数线性模型
使用lme4拟合等效泊松对数线性模型的方法
你当前使用glm拟合的是全固定效应的饱和泊松对数线性模型,lme4包核心用于拟合广义线性混合效应模型,默认要求模型包含至少1项随机效应,要得到和glm输出完全等效的结果,可按以下步骤操作:
步骤1:加载依赖包、准备数据集
library(MASS) library(lme4) UCBAdf <- as.data.frame(UCBAdmissions)
步骤2:构造等效模型
由于glmer要求必须有随机效应项,我们可以新增一个和每行观测一一对应的ID作为随机截距项,固定效应结构和glm完全一致即可:
# 新增逐行唯一的观测ID UCBAdf$obs_id <- seq(nrow(UCBAdf)) # 拟合等效泊松对数线性模型 lme4_fit <- glmer( formula = Freq ~ Admit * Dept * Gender + (1 | obs_id), family = poisson(link = "log"), data = UCBAdf )
结果校验
拟合完成后可通过以下方式核对结果和glm完全一致:
- 提取固定效应系数:
fixef(lme4_fit)和coef(glmFitT)输出完全相同 - 模型指标:
summary(lme4_fit)会输出系数显著性、AIC,deviance(lme4_fit)可获取残差偏差
拟合过程中如果出现奇异拟合警告属于正常情况,是因为新增的观测级随机效应方差趋近于0导致的,不影响固定效应计算结果。
注意事项
如果你的分析场景不需要引入随机效应,直接使用基础包的glm拟合纯固定效应泊松模型效率更高、更符合规范;lme4的核心优势是可将某类分类变量(比如部门、性别)设置为随机效应纳入模型,适配更复杂的分层数据结构。
内容的提问来源于stack exchange,提问作者cliu
相关产品推荐
相关产品推荐

