回归分析的多重共线性现象诊断与正确处理姿势
“如何分析真实世界研究”系列(12)
回归诊断中,多重共线性问题的识别与处理也是重要的内容.
多重共线性(Multicollinearity)是指回归模型中的解释变量之间由于存在较精确相关关系或高度相关关系而使模型估计失真或难以估计准确。完全共线性的情况并不多见,一般出现的是在一定程度上的共线性,即近似共线性。
1.多重共线性现象
多重共线性的出现,将会导致以下一些现象:
1)增加或者剔除一个自变量,或者是改变一个观测值,回归系数的估计值发生较大变化;
2)一些被认为具有统计学意义自变量在回归方程的假设检验中未能通过;
3)当回归方程中一些自变量的系数所带的正负号与理论推断的结果相违背;
4)当一些重要的自变量的回归系数的标准误差较大;
5)线性回归模型总体检验具有统计学意义,但是没有一个自变量具有统计学差异;
6)样本量不小时,许多自变量单因素回归具有统计学意义,但多因素一个统计学意义也没有
2.多重共线性诊断方法
1、相关性分析,相关系数高于0.8,表明存在多重共线性;但相关系数低,并不能表示不存在多重共线性。(线性回归、logistic和COX回归)
2、容忍度(tolerance)与方差扩大因子(VIF)。某个自变量的容忍度等于1减去该自变量为因变量而其他自变量为预测变量时所得到的线性回归模型的判定系数。容忍度越小,多重共线性越严重。通常认为容忍度小于0.1时,存在严重的多重共线性。方差扩大因子等于容忍度的倒数。显然,VIF越大,多重共线性越严重。一般认为VIF大于10时,存在严重的多重共线性。(线性回归)
5.条件数与特征分析法:在自变量的观测值构成的设计矩阵X中,求出变量相关系数R的特征值,如果某个特征值很小(如小于0.05 ),或所有特征值的倒数之和为自变量数目的5倍以上,表明自变量间存在多重共线性关系。(线性回归、logistic和COX回归)
3.多重共线性常规处理方法;
总结起来,很多文献、教材、视频处理多重共线性方法包括以下若干种方法:
1)增加样本容量:多重共线性问题的实质是样本信息的不充分而导致模型参数的不能精确估计,因此追加样本信息是解决该问题的一条有效途径。
2)如果要在模型中保留所有的自变量,那就应该:避免根据t统计量对单个参数β进行检验;对因变量y值的推断限定在自变量样本值的范围内。
3)删除一个或几个共线变量:实际操作中常用逐步法作为自变量筛选方法。
4)岭回归法;岭回归法是通过最小二乘法的改进允许回归系数的有偏估计量存在而补救多重共线性的方法。
5)主成分分析法。
但我认为,这些方法都是瞎处理方法,其实都不严谨!
4.多重共线性正确处理姿势
很多人研究和处理多重共线性回归非常简单粗暴,采用的数据驱动的多重共线性处理方法,这些方法也就是上文提到的多重共线性常规处理方法是流行于教材的主要方法。但我认为上述的方法都属于简单粗暴的方法。因为上述方法都只考虑到了数据的相关性,而没有真正考虑到相关性背后的原因。所有的方法都是基于统计学原理产生,而非针对流行病学病因关系形成的,但是回归分析必须基于因果关系开展,否则就没有存在的意义了。
因此,这些方法都欠缺因果关系研究的灵魂
没有无缘无故的爱,也没有无缘无故的相关性。处理多重共线性,要从流行病学病因上介绍,为什么有些变量会有相关性?采用主成分降维或者逐步回归法减少自变量来强行消除相关性是否合适?
自变量为什么会相关?这是多重共线性必须要考虑的问题?
诸位不妨来看看早期的论文所介绍的相关的主要形式()
总结来说,自变量相关主要三种可能:
1)因为有些变量是混杂因素,是自变量的原因变量
2)因为有些变量是中介变量,是自变量的结局变量
3)也有可能有些变量自是纯粹的相关关系
我在之前的论文也说过,自变量回归,混杂因素必须纳入模型,而中介变量一定不能纳入模型()。
因此,如果数据采用逐步回归分析方法,情况就太粗暴。它只考虑模型构建的总体评价指标(R平方,-2Ln,AIC,BIC),它不管自变量谁重要、谁没有价值,不考虑病因研究中的各个自变量的角色。它可能混杂因素提早踢出局,或者把中介变量留到最后。无论哪种方式,都不能得到好的一个结果。
如果你看到这里还明白我讲的意思,那么就很清楚接下来怎么做了?
当存在多重共线性时,应该认真分析研究变量与变量的关系及关系密切程度,根据DAG理论,手动剔除不重要、或者会干扰结果的自变量,再构建线性回归方程,至于是否采取逐步回归法已经不重要了。
也就说,多重共线性的处理,必须遵从理论驱动的方法,而非数据驱动的方法。
5.什么时候不需要考虑多重共线性问题?
1) 多重共线性是普遍存在的,轻微的多重共线性问题可不采取措施;
2) 如果模型仅用于预测,则只要拟合程度好,可不处理多重共线性问题,存在多重共线性的模型用于预测时,往往不影响预测结。
更多精品阅读:
1.
2.
4.
5.
6.