R語言實現(xiàn)嶺回歸的示例代碼
嶺參數(shù)的一般選擇原則
- 選擇k(或lambda)值,使得:
- 各回歸系數(shù)的嶺估計基本穩(wěn)定
- 用最小二乘估計時符號不合理的回歸系數(shù),其嶺回歸的符號變得合理
- 回歸系數(shù)沒有不合乎實際意義的絕對值
- 殘差平方和增大的不多
用R語言進行嶺回歸
這里使用MASS包中的longley數(shù)據(jù)集,進行嶺回歸分析(longley數(shù)據(jù)集中的變量具有顯著的多重共線性)。從而分析使用嶺回歸進行多重共線性的解決。
首相將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,并繪制嶺跡圖,如下:
詳細嶺回歸的嶺跡圖如下:
從嶺跡圖中可以看出,當(dāng)lambda=0時,圖像不穩(wěn)定。因此,可以說明這里的變量存在多重共線性。
現(xiàn)在需要對嶺參數(shù)lambda進行選擇:
可以看出,這里由于使用了不同的估計方法,從而可以得到幾個不同的嶺參數(shù)的估計。通常取GCV估計,或者結(jié)合幾個結(jié)果進行取值。這里取lambda=0.006。
使用R的ridge包的時候,出現(xiàn)如下問題:
嶺回歸的問題
- 嶺參數(shù)計算方法太多,差異太大
- 根據(jù)嶺跡圖進行變量篩選,隨意性太大
- 嶺回歸返回的模型(如果沒喲經(jīng)過變量篩選)包含所有的變量
- 而且,對于使用嶺回歸進行變量的篩選,目前只能作為一個擴展計算視野的方法,而在實際使用中,會出現(xiàn)很多問題。
到此這篇關(guān)于R語言實現(xiàn)嶺回歸的示例代碼的文章就介紹到這了,更多相關(guān)R語言 嶺回歸內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
R語言中assign函數(shù)和get函數(shù)的用法
這篇文章主要介紹了R語言中assign函數(shù)和get函數(shù)的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04R語言讀取excel數(shù)據(jù)的方法(兩行命令)
這篇文章主要介紹了R語言讀取excel數(shù)據(jù)的方法(兩行命令),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03