R語言實現(xiàn)嶺回歸的示例代碼
嶺參數(shù)的一般選擇原則
- 選擇k(或lambda)值,使得:
- 各回歸系數(shù)的嶺估計基本穩(wěn)定
- 用最小二乘估計時符號不合理的回歸系數(shù),其嶺回歸的符號變得合理
- 回歸系數(shù)沒有不合乎實際意義的絕對值
- 殘差平方和增大的不多

用R語言進(jìn)行嶺回歸
這里使用MASS包中的longley數(shù)據(jù)集,進(jìn)行嶺回歸分析(longley數(shù)據(jù)集中的變量具有顯著的多重共線性)。從而分析使用嶺回歸進(jìn)行多重共線性的解決。

首相將longley數(shù)據(jù)集中的第一列數(shù)據(jù)命名為“y”,并使用嶺回歸創(chuàng)建線性模型:

顯示當(dāng)y為因變量,其余各個變量為自變量時,直接構(gòu)建線性模型的統(tǒng)計結(jié)果如下:

可見,雖然線性回歸的Multiple R-squared: 0.9926是一個很高的值。但各個變量的顯著性檢驗卻很差,同樣說明直接使用線性模型的擬合效果并不是很理想。
制定嶺參數(shù)lamdba從0-0.1,每次變化的長度為0.001,并繪制嶺跡圖,如下:

詳細(xì)嶺回歸的嶺跡圖如下:

從嶺跡圖中可以看出,當(dāng)lambda=0時,圖像不穩(wěn)定。因此,可以說明這里的變量存在多重共線性。
現(xiàn)在需要對嶺參數(shù)lambda進(jìn)行選擇:

可以看出,這里由于使用了不同的估計方法,從而可以得到幾個不同的嶺參數(shù)的估計。通常取GCV估計,或者結(jié)合幾個結(jié)果進(jìn)行取值。這里取lambda=0.006。
使用R的ridge包的時候,出現(xiàn)如下問題:

嶺回歸的問題
- 嶺參數(shù)計算方法太多,差異太大
- 根據(jù)嶺跡圖進(jìn)行變量篩選,隨意性太大
- 嶺回歸返回的模型(如果沒喲經(jīng)過變量篩選)包含所有的變量
- 而且,對于使用嶺回歸進(jìn)行變量的篩選,目前只能作為一個擴(kuò)展計算視野的方法,而在實際使用中,會出現(xiàn)很多問題。
到此這篇關(guān)于R語言實現(xiàn)嶺回歸的示例代碼的文章就介紹到這了,更多相關(guān)R語言 嶺回歸內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
R語言編程數(shù)學(xué)分析重讀微積分理解極限算法
這篇文章主要為大家介紹了R語言編程重讀微積分?jǐn)?shù)學(xué)分析理解極限算法的詳細(xì)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10
R語言wilcoxon秩和檢驗及wilcoxon符號秩檢驗的操作
這篇文章主要介紹了R語言wilcoxon秩和檢驗及wilcoxon符號秩檢驗的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04

