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。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- None Found