方差膨脹因子VIF


在建立邏輯回歸模型的過程中,有一個重要的步驟——利用VIF來檢驗變量之間是否有多重共線性,那么多重共線性是什么,VIF又是什么呢?

大家上學的時候應該都知道線性關系:假設有n個非零向量X1,X2, …,Xn,如果存在不全等於零的常數b1, b2, …, bn使得b1X1+b2X2+b3X3+…+bnXn=0,則認為X1,X2,…,Xn之間存在線性關系。多重共線性也是相似的道理。在實際建模的過程中,我們的數據集常常含有成千上萬個樣本,其中某幾個變量之間存在非常嚴格的線性關系的情況是幾乎不可能存在的,因此當解釋變量之間存在一定程度的相關性(近似共線性)時,也可以稱之為多重共線性。當有多重共線性的情況發生時,參數估計的結果不再具有有效性,因此在進行邏輯回歸分析之前我們需要通過VIF檢驗來排除掉某些有多重共線性的變量。

邏輯回歸除去sigmoid映射函數關系,在本質上也可以看作是線性回歸,因此在接下來的介紹中我們針對的是普遍的線性回歸模型,和參數估計方法以及損失函數無關。

VIF,VarianceInflation Factor,方差膨脹因子。VIF指的是解釋變量之間存在多重共線性時的方差與不存在多重共線性時的方差之比,可以反映多重共線性導致的方差的增加程度。它的公式長這樣:

看起來很簡單的一個式子,問題在於R2是什么?R2是線性回歸中的決定系數,反映了回歸方程解釋因變量變化的百分比。它可以由因變量和自變量之間的復相關系數的平方得到,也可以由回歸方程的殘差平方和和總平方和的比值得到。為了得到每一個變量的VIF,我們需要以每一個變量為因變量對其余所有變量進行線性回歸分析,對每一個變量得到各自的R2,再代入上面的式子,就可以得到每一個變量的VIF了。

復相關系數和這些“平方和”又是什么呢?我們直接來看栗子:

先用X1對X2、X3進行線性回歸,利用EXCEL的數據數據分析回歸可以得到回歸結果:

其實這里我們已經能得到R2=0.9398,算出來VIF=16.61。接下來我們來驗證一下這個R2是怎么來的。

1.復相關系數

復相關系數是反映一個因變量與一組自變量(兩個或兩個以上)之間相關程度的指標,其實就是因變量和自變量擬合結果之間的相關系數。擬合的參數估計可以參考上面EXCEL得出的結果:X(^)1=0.0572X2+1.5178X3-3.8466,如下表所示:

計算X1和X(^)1之間的相關系數,可以得到r(X1,X(^)1)=0.9694,那么R2= r(X1,X(^)1)2=0.9398

2.SSR/SST

首先來看幾個式子:

SST、SSR、SSE分別指的是總平方和、回歸平方和和殘差平方和。其中SST為因變量和因變量均值之差的平方和,SSR為自變量擬合結果和因變量均值之差的平方和,SSE為因變量和自變量擬合結果之差的平方和。那么有:

將我們的數據集代入計算:

我們用兩種方法分別驗證了EXCEL給出R2。那么對X2、X3進行同樣的操作,可以得到:

VIF越高,多重共線性的影響越嚴重。一般來說,當5

That's All!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM