R语言pglm包固定效应泊松回归的Pseudo R2计算方法
问题解答
1. pglm拟合的固定效应泊松模型summary是否直接输出Pseudo R2?
pglm包的summary()方法默认不会直接输出任何类型的Pseudo R2指标,需要手动计算获取。
2. 手动计算Pseudo R2的方法
固定效应泊松回归场景最常用的是McFadden伪R2,计算步骤如下:
- 第一步:保存你拟合的全模型对象,提取全模型对数似然值
# 你的原始拟合代码 full_model <- pglm(y~x+x1, data=pdata, model= "within", family=poisson) # 提取全模型对数似然值 ll_full <- as.numeric(logLik(full_model))
- 第二步:拟合仅保留固定效应的空模型(不加入任何自变量,和全模型使用相同的固定效应设定),提取空模型对数似然值
null_model <- pglm(y~1, data=pdata, model= "within", family=poisson) # 提取空模型对数似然值 ll_null <- as.numeric(logLik(null_model))
- 第三步:代入公式计算McFadden伪R2
mcfadden_r2 <- 1 - (ll_full / ll_null)
注:McFadden伪R2取值范围为0到1,数值越接近1代表自变量对因变量的解释能力越强。如果需要其他类型的伪R2(如Cox-Snell、Nagelkerke),也可以基于两类模型的似然值、观测数代入对应公式计算。
内容的提问来源于stack exchange,提问作者Martina Buratti
相关产品推荐
相关产品推荐

