[转载]另眼看待变量间多重共线性
多重共線性是使用回歸算法時經常要面對的一個問題。在其他算法中,例如決策樹和Na?ve Bayes,前者的建模過程是逐步遞進,每次拆分只有一個變量參與,這種建模機制含有抗多重共線性干擾的功能;后者干脆假定變量之間是相互獨立的,因此從表面上看,也沒有多重共線性的問題。但是對于回歸算法,不論是一般回歸,邏輯回歸,或存活分析,都要同時考慮多個預測因子,因此多重共線性是不可避免需要面對的。而在營銷數據中,多重共線性更是一個普遍的現象。
多重共線性的危害主要是使用上的問題。簡單地說,由于變量之間的高度相關,使算法無法準確分離各個因子對目標變量的影響,因而造成系數估計的偏差加大,體現在模型輸出結果上是一系列錯亂現象,例如:一個原本顯著的變量由于另一個變量的加入突然失掉重要性、因子對目標變量的作用方向突然出現逆轉、模型的擬合度很高,但各個因子都不顯著,等等。
但是,多重共線性對預測模型的危害不應該被等量齊觀。換句話說,如果數據挖掘的目的是預測,則一定程度的多重共線性是可以容忍的,只要一些基本條件能夠被滿足。包括:變量之間雖然高度相關,但算法仍然可以找到其各自對目標變量的影響,且影響是顯著的;通過了內部檢驗,即模型在訓練樣本和檢驗樣本上的表現基本一致,沒有明顯的惡化跡象;各個因子對目標變量的影響方向符合經驗期望或理論。
為什么預測模型可以容納一定程度的多重共線性?這需要從建模的目的談起。模型的效用不外兩個:預測和解釋。兩者都會用到回歸算法。但是,回歸算法在用于解釋模型時對多重共線性的要求要較預測模型為高。換句話說,前者對多重共線性更敏感。原因在于解釋模型的功能是判斷每個因子對目標變量的獨特貢獻,而多重共線性阻撓了這種判斷。而不能準確區分出每個因子的作用,即是宣告了解釋模型的失敗。但是對于預測模型來說,解釋的功能是次要的,預測模型的首要任務是對未來做出某種推測,而這種推測需要依賴模型的整體能力,包括模型中涉及到的所有因子。至于單個因子是否準確,只要不影響到模型的總體能力,則不必過于計較。
看到這里,有人不免會發問,既然多重共線性總的來說不是一個積極的現象,那么何必非要保留在預測模型中呢?把多余的變量拿掉就是了。問題在于,只要變量之間不是百分之百地聯系在一起,拿掉一個變量總會對模型的預測能力帶來影響,尤其在拿掉的變量對目標變量的影響是其它變量無法取代的情況下。換句話說,數據挖掘人員不會特意保留多重共線性,但如果發現消除多重共線性會對模型的整體能力帶來嚴重影響時,兩害相衡取其輕,則還是以保留多重共線性為好。
因此,在構造預測模型時如何處理多重共線性是一個比較微妙的議題。既不能不加控制,又不能一刀切,認為凡是多重共線性就應該消除。
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/statdm/archive/2011/03/31/6292519.aspx
posted on 2012-03-18 22:07 wentingtu 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/wentingtu/archive/2012/03/18/2405171.html
總結
以上是生活随笔為你收集整理的[转载]另眼看待变量间多重共线性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 三层架构
- 下一篇: java中去掉Sprit(arg0)中正