多重線性回歸要求各個自變量之間相互獨立,不存在多重共線性。所謂多重共線性,是指自變量之間存在某種相關或者高度相關的關系,其中某個自變量可以被其他自變量組成的線性組合來解釋。 醫學研究中常見的生理資料,如收縮壓和舒張壓、總膽固醇和低密度脂蛋白膽固醇等,這些變量之間本身在人體中就存在一定的關聯性。
如果在構建多重線性回歸模型時,把具有多重共線性的變量一同放在模型中進行擬合,就會出現方程估計的偏回歸系數明顯與常識不相符,甚至出現符號方向相反的情況,
對模型的擬合帶來嚴重的影響。 今天我們就來討論一下,如果自變量之間存在多重共線性,如何通過有效的變量篩選來加以解決?
一、多重共線性判斷
回顧一下前期講解多重線性回歸時,介紹的判斷自變量多重共線性的方法。 1. 計算自變量兩兩之間的相關系數及其對應的P值,一般認為相關系數>0.7,且P<0.05時可考慮自變量之間存在共線性,可以作為初步判斷多重共線性的一種方法。 2. 共線性診斷統計量,即Tolerance(容忍度)和VIF(方差膨脹因子)。一般認為如果Tolerance<0.2或VIF>5(Tolerance和VIF呈倒數關系),
則提示要考慮自變量之間存在多重共線性的問題。
二、多重共線性解決方法:變量剔除
顧名思義,當自變量之間存在多重共線性時,最簡單的方法就是對共線的自變量進行一定的篩選,保留更為重要的變量,刪除次要或可替代的變量,
從而減少變量之間的重復信息,避免在模型擬合時出現多重共線性的問題。 對於如何去把握應該刪除哪一個變量,保留哪一個變量,近期也有小伙伴在微信平台中問到這個問題,下面舉個例子進行一個簡單的說明。
表1. 自變量相關性
如表1所示, X3和X4、X5之間相關系數>0.7,變量X4與X1、X3、X5之間相關系數>0.7,X5與X3、X4之間相關系數>0.7,說明X3、X4、X5之間存在一定的共線性,
由於X4與X1的相關性也較高,故此時建議可以先將X4刪除再進行模型擬合,當然也需要結合容忍度和VIF值及專業知識來進行判斷。
有些時候共線性不可能從統計上得到完全解決,因此在不損失重要信息的前提下,人為剔除共線的變量往往是最有效的方法。
三、多重共線性解決方法:逐步選擇
當自變量之間的關系較為復雜,對於變量的取舍不易把握時,我們還可以利用逐步回歸的方法進行變量篩選,以解決自變量多重共線性的問題。
逐步回歸法從共線性的自變量中篩選出對因變量影響較為顯著的若干個變量,把對因變量貢獻不大的自變量排除在模型之外,從而建立最優的回歸子集,
不僅克服了共線性問題,而且使得回歸方程得到簡化。 在SPSS中提供了5種自變量進入模型的方法: 1. Enter(進入法) 將所選自變量強制性引入模型中進行擬合,不涉及變量篩選的問題,為默認選項。 2. Remove(移除法) 將指定的自變量強制性移除模型。Remove方法的第一步是利用Enter法構建回歸方程,第二步再用Remove法將指定的自變量移除模型。該方法常與其他篩選變量的方法聯合使用。 3. Forward selection(前進法) 即回歸方程中的自變量從無到有,由少到多逐個引入來構建模型的一種方法。這里需要提到一個新的概念--偏回歸平方和,簡單來說就是在模型已經含有其他自變量的基礎上,
加入一個新的自變量后,引起的對於回歸模型貢獻的增加量,或者刪除某個自變量后,引起的對於回歸模型貢獻的減少量。 如果不太好理解,這里打個比方,某個公司(因變量Y)將進行員工(自變量X)選拔。第一步,公司(Y)需要評估一下每個員工(X)對公司(Y)的貢獻大小(偏回歸平方和),
選拔出貢獻最大且有統計學顯著性(引入標准Pin<0.05)的第一個員工(X1)。 第二步,在選拔出第一個員工(X1)的基礎上,公司(Y)再次評價如果每個員工都與第一個員工(X1)一起工作時所產生的貢獻增加量(偏回歸平方和),
選拔出貢獻最大且有顯著性意義的第二個員工(X2)。以此類推不斷有員工(X)選拔進來,直到公司認為即使再有員工選拔進來,也不會額外增加對公司(Y)的貢獻,
此時選拔結束,以上即為前進法的基本流程。 前進法的優點是可以自動去掉高度相關的自變量,但也有一定的局限性,前進法在自變量選擇的過程中,只在自變量引入模型時考察其是否有統計學意義,
並不考慮在引入模型后每個自變量P值的變化,后續變量的引入可能會使先進入方程的自變量變得無統計學意義。 4. Backward elimination(后退法) 后退法與前進法相反,即先建立全變量模型,然后逐步剔除無統計學意義的自變量,以此構建回歸模型的一種方法。如果說前進法是選拔員工,那么后退法就相當於公司裁員,
每一次裁掉一個對公司貢獻最小且無顯著性意義的員工(剔除標准Pout>0.1),然后對剩下的員工再次進行評估,裁掉一個貢獻最小的員工,以此類推不斷有員工被裁掉,
直到公司認為即使再裁掉其他員工,也不會額外減少對公司的貢獻,此時裁員停止,以上即為后退法的基本流程。 后退法的優點是考慮了自變量的組合作用,但是當自變量數目較多或者自變量間高度相關時,可能得不出正確的結論。 5. Stepwise(逐步回歸法) 逐步回歸法,是在前進法和后退法的基礎上,進行雙向篩選變量的一種方法。其本質是前進法,也就是說公司(Y)每引入一個員工(X)后,
都要重新對已經進入公司的每個員工的貢獻進行評估和檢驗,如果原有的員工由於后續引入新員工后,其貢獻變得不再有顯著性,則會將其裁掉,
以確保公司里每一個員工的貢獻都是有意義的。 這個過程反復進行,直到既沒有不顯著的自變量引入回歸方程,也沒有顯著的自變量從回歸方程中剔除為止,從而得到一個最優的回歸方程。
逐步回歸法結合了前進法和后退法的優點,因此被作為自變量篩選的一種常用的方法。
四、注意事項
1. 在Linear Regression對話框中點擊Options選項,可以設定自變量引入(Entry)和剔除(Removal)的臨界值。
如設定引入標准的Pin值為0.05,剔除標准的Pout值為0.1,或者設定其對應的F值。一般要求引入變量的檢驗水准要小於等於剔除變量的水准,
即Pin ≤ Pout,P值越小表明選取自變量的標准越嚴格,對於小樣本數據可以適當將P值設定為0.1甚至0.15,0.2。
2. Forward、Backward、Stepwise的側重點有所不同,三種方法的選擇取決於你的研究目的,如果是進行預測,在預測效果差不多的情況下,一般選擇自變量最少的方法。
當自變量間不存在多重共線性時,三種方法的計算結果基本一致。當自變量間存在多重共線性時,Forward側重於引入單獨作用較強的變量,
Backward側重於引入聯合作用較強的變量,Stepwise介於兩者之間。 3. 在Linear Regression對話框中,可以利用Previous和Next組合選項,將自變量分為不同的塊(Block),並且對不同Block中的變量可以指定不同的變量篩選的方法,
以滿足復雜變量篩選的要求。例如:首先將LDL選入Independent(s)框中,Method選擇Enter法,然后點擊Next,再將其他變量選入Independent(s)框中,
Method選擇Stepwise法。
4. 這一期內容主要從變量篩選的角度,包括根據相關性和共線性診斷結果進行變量剔除,或者在自變量選擇時采用向前、向后或逐步回歸的方法,以解決自變量間多重共線性的問題。
在下一期內容中,我們將繼續向大家介紹另一種用於處理多重共線性的方法--嶺回歸法,敬請期待。