R語言 檢驗多重共線性的操作

函數kappa()

df<-data.frame()
df_cor=cor(df)
kappa(df_cor, exact=T) 

當 κ<100κ<100 , 說明共線性程度小;

當 100<κ<1000100<κ<1000 , 有較強的多重共線性;

當 κ>1000κ>1000,存在嚴重的多重共線性。

函數qr()

x<-matrix()
qr(x)$rank

qr(X)$rank 計算X矩陣的秩,如果不是滿秩的,說明其中有xixi可以用其他xjxj的線性組合表示;此時可以進行逐步回歸,用step()命令。

fm<-lm()
step(fm)

補充:多重共線性的產生原因、判別、檢驗、解決方法

最近做回歸分析,出現瞭相關系數與回歸方程系數符號相反的問題,經過研究,確認是多重共線性問題並探索瞭解決方法。

在此將多重共線性的相關知識整理如下。

解釋變量理論上的高度相關與觀測值高度相關沒有必然關系,有可能兩個解釋變量理論上高度相關,但觀測值未必高度相關,反之亦然。所以多重共線性本質上是數據問題。

造成多重共線性的原因有一下幾種:

1、解釋變量都享有共同的時間趨勢;

2、一個解釋變量是另一個的滯後,二者往往遵循一個趨勢;

3、由於數據收集的基礎不夠寬,某些解釋變量可能會一起變動;

4、某些解釋變量間存在某種近似的線性關系;

判別:

1、發現系數估計值的符號不對;

2、某些重要的解釋變量t值低,而R方不低

3、當一不太重要的解釋變量被刪除後,回歸結果顯著變化;

檢驗:

1、相關性分析,相關系數高於0.8,表明存在多重共線性;但相關系數低,並不能表示不存在多重共線性;

2、vif檢驗;

3、條件系數檢驗;

解決方法:

1、增加數據;

2、對模型施加某些約束條件;

3、刪除一個或幾個共線變量;

4、將模型適當變形;

5、主成分回歸

處理多重共線性的原則:

1、 多重共線性是普遍存在的,輕微的多重共線性問題可不采取措施;

2、 嚴重的多重共線性問題,一般可根據經驗或通過分析回歸結果發現。如影響系數符號,重要的解釋變量t值很低。要根據不同情況采取必要措施。

3、 如果模型僅用於預測,則隻要擬合程度好,可不處理多重共線性問題,存在多重共線性的模型用於預測時,往往不影響預測結果;

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。