熱線電話:13121318867

登錄
首頁精彩閱讀使用R對共線性檢驗
使用R對共線性檢驗
2018-03-11
收藏

使用R對共線性檢驗

高維數據常會出現共線性 、變量選擇等問題 。如何消除共線性確定最佳模型,是回歸分析的一個重點。 傳統的最小二乘估計在處理多重共線性問題上 往往有令人不太滿意的地方, 主要有兩點: 一是 預測準確性,二是模型可解釋性。 目前處理嚴重共線性的常用方法有以下幾種: 主成分回歸、逐步回歸、嶺回歸等, 這些方法有各自的優缺點 多重共線性的Lasso 方法兼有子集選擇和嶺估計的優點,同時進行變 量選擇與未知參數估計。選擇最佳模型的標準有 Cp、AIC、BIC準則,它們也有各自的適用范圍。(Mallows Cp 統計量用來作為逐步回歸的判停規則,對于一個好的模型,它的Cp統計量非常接近于模型的參數數目)

Robert Tibshirani (就是R中MASS以及 The Elements of Statistical Learning的作者之一)于 1996 年提出了一種新的變 量選擇技術Lasso,即 Least Absolute Shrinkage and Selection Operator 就是翻譯過來頗顯別扭的套索回歸, lasso方法用模型系數的絕對值 函數作為懲罰來壓縮模型系數,使一些回歸系數變 小,甚至使一些絕對值較小的系數直接變為0 。
本文先從普通回歸說起:
R語句如下

[plain] view plain copy

    library(car)  
    D=read.csv("/Users/Documents/train_test_model/ridgereg1.csv",sep=",") # 加載數據  
    a=lm(y~., data=D);summary(a) # 定義模型,summary為輸出匯總  
    vif(a) # 輸出模型匯總 
得到一下擬合檢驗參數
[plain] view plain copy

    Call:  
    lm(formula = y ~ ., data = D)  
    Coefficients:  
                 Estimate Std. Error t value Pr(>|t|)      
    (Intercept) 11.011694   1.718393   6.408 4.94e-06 ***  
    long         1.692736   0.369589   4.580 0.000232 ***  
    touwei      -2.158831   0.535513  -4.031 0.000783 ***  
    weight       0.007472   0.001144   6.531 3.87e-06 ***  
    ---  
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1  
      
    Residual standard error: 1.163 on 18 degrees of freedom  
    Multiple R-squared:  0.9754,    Adjusted R-squared:  0.9713   
    F-statistic: 238.1 on 3 and 18 DF,  p-value: 1.14e-14  
    long  
    200.013181140721  
    touwei  
    209.429825510575  
    weight  
    9.68788132590006 

通過vif方差膨脹因子可以知道上面三個變量存在嚴重的共線性,有書中規定超過10就算存在嚴重共線性同時分析回歸系數,嬰兒的頭圍越大,年齡應該越大才對,不應該是負向預測關系,從這里也可以看出一些端倪以上是我們依據數據診斷出多元回歸中自變量存在嚴重共線性,當然在spss中也是可以直接選擇,杜賓-瓦特森檢驗,也是統計分析中常用的一種檢驗序列一階自相關最常用的方法。所以不能直接使用常規ols方法。于是請看下面的解決辦法。#我們進一步的對檢測回歸分析的另一個前提--即方差齊性
[plain] view plain copy

    library(MASS)  
    install.packages("gvlma") #導入gvlma包  
    library(gvlma)  
    gvmodel <- gvlma(a)  
    summary(gvmodel)  
得到如下參數

[plain] view plain copy

    Call:  
    lm(formula = y ~ ., data = D)  
    Residuals:  
    Min       1Q   Median       3Q      Max   
    -1.87262 -0.69499 -0.09376  0.74618  2.80676   
    Coefficients:  
    Estimate Std. Error t value Pr(>|t|)      
    (Intercept) 11.011694   1.718393   6.408 4.94e-06 ***  
    long         1.692736   0.369589   4.580 0.000232 ***  
    touwei      -2.158831   0.535513  -4.031 0.000783 ***  
    weight       0.007472   0.001144   6.531 3.87e-06 ***  
    ---  
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1  
    Call:  
    gvlma(x = a)   
    Value p-value                   Decision  
    Global Stat        6.6421 0.15605    Assumptions acceptable.  
    Skewness           0.7794 0.37733    Assumptions acceptable.  
    Kurtosis           0.1147 0.73484    Assumptions acceptable.  
    Link Function      1.7108 0.19088    Assumptions acceptable.  
    Heteroscedasticity 4.0372 0.04451 Assumptions NOT satisfied!  
可以得出,異方差性違反,也違反了普通最小二乘建模的前提。如果還是不死心,我們來看看殘差分析吧。
#建模試試,看是否存在異常

[plain] view plain copy

    lm.sol<-lm(y~.,data=D)  
    summary(lm.sol)  
    #可視化,殘差與預測散點圖  
    plot(fitted(lm.sol), resid(lm.sol),  
    cex=1.2, pch=21, col="red", bg="orange"  
    xlab="Fitted Value", ylab="Residuals") 

當描繪的點圍繞殘差等于0的直線上下隨機散布,說明回歸直線對原觀測值的擬合情況良好。否則,說明回歸直線對原觀測值的擬合不理想。 在標準化殘差圖中,大約有95.45%的殘差在-2到+2之間 同時,也可以識別異常點,標準化殘差小于-3或者大于+3時,就可以判斷為異常值。
那么最后大概是可以相信這個模型用最小二乘法是并不合適。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢