找出逻辑回归分析的伪 R 平方值

机器算法验证 r 物流 拟合优度
2022-03-21 06:32:06

我叫图欣。当我在 R 中进行分析时,我提出了几个问题。

我在 R 中进行了逻辑回归分析,并试图检查模型对数据的拟合程度。

但是,我被卡住了,因为我无法获得模型的伪 R 平方值,这可以让我对模型解释的变化有所了解。

您能否指导我如何实现这个值(用于逻辑回归分析的伪 R 平方)。如果您能向我展示一种获取模型的 Hosmer Lemeshow 统计数据的方法,那也会很有帮助。我找到了一个用户定义的函数来做到这一点,但如果有可能更快的方法,那将非常有帮助。

如果您能回答我的疑问,我将不胜感激。

热切地等待您的回复。

问候

2个回答

看看Design包中的lrm()函数。它具有安装 GLM 所需的一切功能。Hosmer 和 Lemeshow 检验的功效有限,并且依赖于任意离散化;Harrell, Regression Modeling Strategies (p. 231) 和R-help邮件列表中对此进行了讨论。在逻辑回归模型的拟合优度测试的比较Stat 中,也有逻辑回归的 GoF 测试比较。医学。1997 年 16(9):965。

这是一个使用示例:

library(Design)  # depends on Hmisc
x1 <- rnorm(500)
x2 <- rnorm(500)
L  <- x1+abs(x2)
y  <- ifelse(runif(500)<=plogis(L), 1, 0)
f <- lrm(y ~ x1+x2, x=TRUE, y=TRUE)
resid(f, 'gof')

这会产生类似的东西

Sum of squared errors     Expected value|H0                    SD 
         100.33517914          100.37281429            0.37641975 
                    Z                     P 
          -0.09998187            0.92035872 

但请参阅help(residuals.lrm)以获取更多帮助。

以下线程包含可能也有帮助的批判性讨论:逻辑回归:要报告哪个伪 R 平方度量(Cox & Snell 或 Nagelkerke)?

伪 R 平方很容易手动计算。您只需要根据二项式事件发生的平均概率查找基线的 -2LL 值。而且,实际的逻辑回归需要 -2LL 值。

假设基线的 -2LL 值为 10,Logistic 回归模型的值为 5。那么,伪 R 平方的计算为:(10 - 5)/10 = 50%。

另一种常见的 Pseudo R Square 度量是生成相同结果的 McFadden R Square。其计算为:1-(5/10) = 50%。

伪 R 平方测量确实可以告诉您,与简单地猜测每个观察值的平均发生概率相比,您的逻辑回归模型减少了多少错误。