Logistic回归:R2与P-value的计算
引言:在前面一小节中,我们知道如何利用最大似然估计大求解最佳logistic回归拟合,但是我们并不知道该拟合的效果怎样。同线性模型一样,我们需要计算R2和P值对拟合模型进行判定。那么该如何计算呢?
1. 选择何种方法计算R2与p值
2. logistic回归中计算R2与P值的常见方法:McFadden’s Pseudo R2
McFadden’s Pseudo R2(McFadden’s 伪R2),该方法与线性回归中计算R2的方法相似。
回顾线性模型中的R2和P值计算(参考:线性回归中的R方与R方显著性)
考虑小鼠体重与小鼠体积的拟合直线,计算残差平方和SS(fit);
仅考虑小鼠体积的均值直线,计算残差平方和SS(mean);
R2为考虑小鼠体重与小鼠体积关系的拟合直线所解释总体变异的百分比,R2取值范围为[0,1]。当拟合直线的效果较好时,R2值越接近1或者等于1;当拟合直线的效果较差时,R2值越接近0或者等于0。
学习Logistic回归中的R2
①最大似然值代替SS(fit),记作LL(fit)。
②最差拟合模型的似然值代替SS(mean),记作LL(overall probability)。
③基于一个好的模型(LL(fit))和一个差的模型(LL(overall probability)),计算R2。
在logistic回归中,因为log(odds)的取值范围为(-∞,+∞),故我们不能基于残差求解最佳拟合模型。相反,我们使用最大似然值估计的方法求解最佳拟合模型(参考:最大似然估计法拟合logistic回归曲线)。将最大似然值作为SS(fit)的替代,记作LL(fit),等于-3.77。
在线性模型中,不考虑小鼠体积与小鼠重量的均值直线为原始模型,拟合效果最差。在logistic回归的log(odds)坐标轴中,类似于线性回归模型中的R2计算,不考虑体重的肥胖优势比为原始模型,该原始模型为:y= Log(5/4)=0.22;将该拟合直线投射回y轴为概率的坐标轴中,p=0.56。
带入R2公式,R2的计算公式如下:
将拟合logistic回归曲线的似然值LL(fit),和不考虑体重的原始模型的似然值LL(overall probability)带入R2公式,便可以求解出R2,求出R2=0.39。R2表示拟合模型所能解释原始模型变异的百分比。
3 logistic 回归中R2的取值范围[0,1]
当体重与肥胖完全无关时,R2=0。
在下面的示意图中,不论小鼠的体重为多少,其为肥胖的概率都是0.5,也就是说体重与是否肥胖完全无关。此时的logistic回归完全不能预测小鼠的肥胖情况,R2=0。
当体重能够完美区分肥胖与否时,R2=1。
在下面的示意图中,基于小鼠的体重能否完美区分小鼠的肥胖与否,体重>中间界值为肥胖,体重<中间界值为非肥胖。此时的logistic回归能够完美预测小鼠的肥胖情况,R2=1。
基于以上讨论,我们可以总结出:logistic回归中,LL(fit)≤0。当模型的拟合效果越好,LL(fit)越接近0或者等于0;模型的拟合效果越差,LL(fit)越偏离0。
4. logistic回归中的p值计算
计算P值的方法比较简单,将前面提及的拟合模型的似然值和不考虑其他变量的初始模型的似然值带入p值的计算公式,如下:
2 x (LL(fit)-LL(overall probability))=卡方值(自由度等于两个模型参数之差)
卡方值的自由度:
例如在前面提及的LL(fit)模型中,有截距和斜率两个参数;
在LL(overall probability)模型中,仅截距一个参数;故卡方值的自由度为(2-1)=1。
将以上讨论的数据代入P值计算公式,得出卡方值为4.82(自由度=1)。在自由度为1的卡方分布中,卡方值≥4.82的概率为0.03,即p=0.02。故我们可以做出结论,体重与是否肥胖之间的关系具有显著性,R2=0.39告诉我们二者关系的效应量(effect size)。
5. 写在最后:饱和模型(Saturated model)
在我们讨论中,我们计算R2和P值的公式如下:
但是实际工作中,计算R2和P值的公式往往如下:
比对一下两种公式,后者多了饱和模型对应的似然值LL(Saturated model)。饱和模型指的是模型中的参数个数与样本的个数一样多,往往能得到完美的拟合效果,即得到一对一的匹配结果。但是由于模型中的参数过多,没有余下的数据估计数据的变异,故饱和模型往往意义不大。在logistic回归中,饱和模型能够完全正确分类结局变量,其对应的似然估计值的对数值等于0(log1=0),故可将其省略以得到简化的计算公式。
在logistic回归中,饱和模型的似然值等于0;但是在其他类型的广义线性模型中,饱和模型的似然值有时不会等于0,故在此类情形中计算R2和P值时往往需要考虑饱和模型的似然值。接下来一小节,我们进一步了解何谓饱和模型。
6. 小结
在本小节,我们讨论了如何计算logistic回归中的R2和P值。我们也指出了logistic回归中的饱和模型似然估计值的对数值等于0,接下来我们详细谈及何谓饱和模型及其意义。
编辑:吕琼
校审:罗鹏