R語言實(shí)現(xiàn)嶺回歸的示例代碼
嶺參數(shù)的一般選擇原則
- 選擇k(或lambda)值,使得:
- 各回歸系數(shù)的嶺估計(jì)基本穩(wěn)定
- 用最小二乘估計(jì)時(shí)符號不合理的回歸系數(shù),其嶺回歸的符號變得合理
- 回歸系數(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è)變量為自變量時(shí),直接構(gòu)建線性模型的統(tǒng)計(jì)結(jié)果如下:
可見,雖然線性回歸的Multiple R-squared: 0.9926是一個(gè)很高的值。但各個(gè)變量的顯著性檢驗(yàn)卻很差,同樣說明直接使用線性模型的擬合效果并不是很理想。
制定嶺參數(shù)lamdba從0-0.1,每次變化的長度為0.001,并繪制嶺跡圖,如下:
詳細(xì)嶺回歸的嶺跡圖如下:
從嶺跡圖中可以看出,當(dāng)lambda=0時(shí),圖像不穩(wěn)定。因此,可以說明這里的變量存在多重共線性。
現(xiàn)在需要對嶺參數(shù)lambda進(jìn)行選擇:
可以看出,這里由于使用了不同的估計(jì)方法,從而可以得到幾個(gè)不同的嶺參數(shù)的估計(jì)。通常取GCV估計(jì),或者結(jié)合幾個(gè)結(jié)果進(jìn)行取值。這里取lambda=0.006。
使用R的ridge包的時(shí)候,出現(xiàn)如下問題:
嶺回歸的問題
- 嶺參數(shù)計(jì)算方法太多,差異太大
- 根據(jù)嶺跡圖進(jìn)行變量篩選,隨意性太大
- 嶺回歸返回的模型(如果沒喲經(jīng)過變量篩選)包含所有的變量
- 而且,對于使用嶺回歸進(jìn)行變量的篩選,目前只能作為一個(gè)擴(kuò)展計(jì)算視野的方法,而在實(shí)際使用中,會出現(xiàn)很多問題。
到此這篇關(guān)于R語言實(shí)現(xiàn)嶺回歸的示例代碼的文章就介紹到這了,更多相關(guān)R語言 嶺回歸內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
R語言:實(shí)現(xiàn)因子與字符串的互轉(zhuǎn)
這篇文章主要介紹了R語言:實(shí)現(xiàn)因子與字符串的互轉(zhuǎn)操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04R語言中assign函數(shù)和get函數(shù)的用法
這篇文章主要介紹了R語言中assign函數(shù)和get函數(shù)的用法說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04R語言讀取excel數(shù)據(jù)的方法(兩行命令)
這篇文章主要介紹了R語言讀取excel數(shù)據(jù)的方法(兩行命令),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03