另眼看待变量间多重共线性

多重共线性是使用回归算法时经常要面对的一个问题。在其他算法中,例如决策树和Naïve Bayes,前者的建模过程是逐步递进,每次拆分只有一个变量参与,这种建模机制含有抗多重共线性干扰的功能;后者干脆假定变量之间是相互独立的,因此从表面上看,也没有多重共线性的问题。但是对于回归算法,不论是一般回归,逻辑回归,或存活分析,都要同时考虑多个预测因子,因此多重共线性是不可避免需要面对的。而在营销数据中,多重共线性更是一个普遍的现象。

多重共线性的危害主要是使用上的问题。简单地说,由于变量之间的高度相关,使算法无法准确分离各个因子对目标变量的影响,因而造成系数估计的偏差加大,体现在模型输出结果上是一系列错乱现象,例如:一个原本显著的变量由于另一个变量的加入突然失掉重要性、因子对目标变量的作用方向突然出现逆转、模型的拟合度很高,但各个因子都不显著,等等。

但是,多重共线性对预测模型的危害不应该被等量齐观。换句话说,如果数据挖掘的目的是预测,则一定程度的多重共线性是可以容忍的,只要一些基本条件能够被满足。包括:变量之间虽然高度相关,但算法仍然可以找到其各自对目标变量的影响,且影响是显著的;通过了内部检验,即模型在训练样本和检验样本上的表现基本一致,没有明显的恶化迹象;各个因子对目标变量的影响方向符合经验期望或理论。

为什么预测模型可以容纳一定程度的多重共线性?这需要从建模的目的谈起。模型的效用不外两个:预测和解释。两者都会用到回归算法。但是,回归算法在用于解释模型时对多重共线性的要求要较预测模型为高。换句话说,前者对多重共线性更敏感。原因在于解释模型的功能是判断每个因子对目标变量的独特贡献,而多重共线性阻挠了这种判断。而不能准确区分出每个因子的作用,即是宣告了解释模型的失败。但是对于预测模型来说,解释的功能是次要的,预测模型的首要任务是对未来做出某种推测,而这种推测需要依赖模型的整体能力,包括模型中涉及到的所有因子。至于单个因子是否准确,只要不影响到模型的总体能力,则不必过于计较。

看到这里,有人不免会发问,既然多重共线性总的来说不是一个积极的现象,那么何必非要保留在预测模型中呢?把多余的变量拿掉就是了。问题在于,只要变量之间不是百分之百地联系在一起,拿掉一个变量总会对模型的预测能力带来影响,尤其在拿掉的变量对目标变量的影响是其它变量无法取代的情况下。换句话说,数据挖掘人员不会特意保留多重共线性,但如果发现消除多重共线性会对模型的整体能力带来严重影响时,两害相衡取其轻,则还是以保留多重共线性为好。

因此,在构造预测模型时如何处理多重共线性是一个比较微妙的议题。既不能不加控制,又不能一刀切,认为凡是多重共线性就应该消除。

你可能感兴趣的:(算法,数据挖掘,任务)