共线性分析

  • 共线性是指信息具有重叠关系,比如X1为身高,X2为体重,二者具有一定的信息重叠,身高和体重都可以表示身体的轮廓情况。当共线性问题过于严重时,比如某两项之间相关系数大于0.8甚至0.9时,那么进行某些分析(尤其是回归分析,比如线性回归,二元logit回归等等各类回归研究方法时)时,会对模型带来影响,严重情况时会导致模型无法拟合出结果。因而应该重视共线性问题。

    通常情况下,共线性问题的表现是两两项之间具有高度的相关关系,比如相关系数大于0.8。还有一种情况是绝对的共线性,即二者相关系数值为1,即信息具有绝对的重叠性,比如类别数据进行哑变量处理后,并没有少放一个参照项到模型中,即会导致模型出现异常等。

    共线性问题分析的判断标准上,通常有两种,分别是Pearson相关系数和VIF法。二者的数学原理均是判断信息重叠情况,但二者出来分析出来的结论可能并不相同。如果是Pearson相关系数法,通常以其绝对值大于0.8作为标准,如果是VIF值法,通常以VIF值>10作为判断标准。

    本文档出于演示需要,首先准备一份数据,共有10个X,1个Y,并且进行二元Logit回归。操作如下图所示:

    第1次操作时,SPSSAU提示数据质量异常。猜测很可能有共线性问题等,但当前共有10个X和1个Y,具体共线性问题是什么并不知道,因而使用共线性分析。操作如下图所示:

    • 提示:
    • 关于共线性标准这个参数,SPSSAU默认以Pearson相关系数绝对值>0.8作为共线性标准,并且进行智能分析和共线性项标识。

    • 当发现模型(比如二元logit回归等各类回归方法)出问题时,建议将所有的分析项,一次性放入‘共线性分析’对应的分析框中,并且越重要的分析项放在越前面,比如当前有1个Y和10个X,Y是最重要的,因而将其放在最前面,10个X依次放入即可。放置顺序不同,会影响到SPSSAU提供的智能分析建议也跟着变化。

    最终共线性分析后得到下图:

    图中使用红底色标识出共线性问题的项,从图中可以‘横向’看时,X2和X8与其它项出现相关系数绝对值为1,即绝对共线性问题,此两项一定需要从模型中移除出去。当然也可以‘纵向’看时,X1和X2与其它项出现相关系数绝对值为1即绝对共线性。至于移除X1和X8,也或者X1和X2,事实上两种处理均可。因为移除后就不会继续存在绝对共线性问题。

    当然也可以查阅SPSSAU提供的智能分析文字,里面会有详细的分析说明,SPSSAU当前操作的智能分析建议如下:

    SPSSAU建议将X8,X8,X4,X6共四项从模型中移除出去,将该4项移除后再次进行二元logit回归,此时模型不再存在严重的共线性问题,因而可以拟合输出正常结果。

    在实际研究中,有可能某些变量很重要不愿意移除,此时建议先移除一些‘具有严重共线性并且相对不那么重要’的项,逐一分别进行,结合SPSSAU提供的建议重新构建模型,最终完成分析。

    与此同时:也可结合VIF标准进行判断共线性问题,当然VIF值标准的结果与Pearson相关作为标准的智能分析建议很可能不一样,因而二者分析同样的问题但数学原理并不完全一致,但通常结合Pearson相关系数进行共线性分析即可。本次案例SPSSAU输出VIF值指标结果如下图:

    上图显示,X1,X4和X6的VIF值>10,SPSSAU也提供智能化建议为将该3项从模型中移除出去。事实上从上图可以看到,X2和X8的VIF值也比较奇怪(基本上接近于0),此种情况下可自行考虑将此类奇怪的项移除出去。当然也可以先按照SPSSAU提供的建议处理一次,重新进行二元logit回归,如果还是出现各种异常问题等,此再次以新的分析项为准,重新进行共线性分析,结合智能分析建议处理和分析即可。

    本案例数据时,如果是移除X1,X4和X6后,余下7个X进行二元logit回归,依旧提示质量异常模型无法拟合出结果,因而再次分析,结果显示还需要移除X8,再次把X8移除后分析即可正常输出模型结果。