R語言|廣義相加模型(GAM)

轉(zhuǎn)自個(gè)人微信公粽號(hào)【易學(xué)統(tǒng)計(jì)】的統(tǒng)計(jì)學(xué)習(xí)筆記:R軟件:廣義相加模型(GAM)

01解決何種問題

前面一期和大家分享如何運(yùn)用樣條回歸處理遇到的非線性問題,但這適合處理單個(gè)因變量Y對(duì)應(yīng)一個(gè)自變量X的問題,而現(xiàn)實(shí)情況是,我們常常要處理多個(gè)自變量和一個(gè)因變量之間的關(guān)系,除此以外,雖然通過做散點(diǎn)圖能發(fā)現(xiàn)非線性關(guān)系,但很難歸屬它的形式,廣義線性模型中的多項(xiàng)式回歸,由于其不好解釋的系數(shù),降低了模型實(shí)用性。

因此本章分享的廣義相加模型提供了一種優(yōu)選方案,它可以研究多個(gè)自變量與一個(gè)因變量之間關(guān)系,同時(shí)不需要預(yù)先知曉因變量和自變量的關(guān)系,而使用非線性平滑項(xiàng)來擬合模型。

02GAM模型說明

廣義相加模型(GAM:Generalized Additive Model),它模型公式如下:有p個(gè)自變量,其中X1與y是線性關(guān)系,其他變量與y是非線性關(guān)系,我們可以對(duì)每個(gè)變量與y擬合不同關(guān)系,對(duì)X2可以擬合局部回歸,X3采用光滑樣條,不必采用統(tǒng)一的關(guān)系,而最終結(jié)果‘加’在一起就可以了。


公式1.png
  1. 該函數(shù)有兩個(gè)組成部分,β0+β1X1部分屬于參數(shù)部分,后半部分屬于非參數(shù)平滑部分,因此該模型又稱為半?yún)?shù)模型。參數(shù)部分等同于線性項(xiàng)或廣義線性項(xiàng),非參數(shù)平滑部分,則是廣義相加模型的關(guān)鍵部分。模型的左側(cè)與廣義線性模型一樣,可以是因變量本身,也可以是對(duì)因變量進(jìn)行變換后的結(jié)果。

  2. 什么是非參數(shù)平滑項(xiàng)?
    經(jīng)樣條函數(shù)變化后的自變量也被稱作非參數(shù)平滑項(xiàng),常見的樣條函數(shù)如:光滑樣條(可參見前述內(nèi)容)、自然樣條和局部樣條等??偨Y(jié)起來,為了盡可能多地捕捉回歸模型中的非線性因素對(duì)因變量的影響,我們采用樣條函數(shù)來靈活地將自變量擬合為平滑的曲線;同時(shí)又相對(duì)不那么“靈活”,能有效防止過度擬合。

  3. 關(guān)于樣條函數(shù),需要確定多少個(gè)節(jié)點(diǎn)合適?怎么選取合適的函數(shù)?
    節(jié)點(diǎn)的個(gè)數(shù)直接和函數(shù)中自由度df掛鉤,函數(shù)中的自由度df=節(jié)點(diǎn)數(shù)+4,通??梢酝ㄟ^1)AIC,根據(jù)AIC最小確定自由度;2)廣義交叉驗(yàn)證;3)根據(jù)殘差獨(dú)立原則,最小化殘差自相關(guān)確定自由度。

3.1 AIC法:GAM的比較可以用aov(model1,model2,test="Chisq")或者AIC(model1,model2)來比較。通過比較選出最優(yōu)節(jié)點(diǎn)數(shù)量。該法還可以通過觀察模型中非參數(shù)平滑函數(shù)的自由度改變對(duì)解釋變量的影響大小來評(píng)判模型是否穩(wěn)健。
3.2 廣義交叉驗(yàn)證(GCV:Generalized Cross Validation)。這種方法的基本思路是,a)取出一部分?jǐn)?shù)據(jù);b)用某一數(shù)量的節(jié)點(diǎn)使樣條擬合剩下的這些數(shù)據(jù);c)用樣條擬合之前取出的數(shù)據(jù);d)重復(fù)a)~c),直到每個(gè)觀察值都被取出過一次,計(jì)算整個(gè)交叉驗(yàn)證過程的均方根誤差(RMSE:Root Mean Square Error);e)針對(duì)不同數(shù)量的節(jié)點(diǎn)重復(fù)a)~d),最后選擇最小RMSE時(shí)的節(jié)點(diǎn)數(shù)量。一般可以分成10份重復(fù)此過程
3.3樣條函數(shù)是具有m-1個(gè)連續(xù)導(dǎo)數(shù)的m階分段多項(xiàng)式,例如三次樣條函數(shù)指的就是具有連續(xù)性、且一階和二階連續(xù)的三階分段多項(xiàng)式。在實(shí)際研究中,我們一般使用三次樣條函數(shù);除此之外,也可選擇自然三次樣條函數(shù)(增加了三次樣條函數(shù)在邊界區(qū)域的平滑性)、薄板樣條函數(shù)(可同時(shí)平滑多個(gè)變量,因此一般在研究多個(gè)變量的交互作用時(shí)使用)等。

03R代碼及解讀

第一部分:結(jié)局是連續(xù)變量

library(ISLR)
library(splines)
library(gam)
data(Wage)
gam2 <- gam(wage ~ s(age,5) + s(year,4) +  education,data=Wage)
gam3 <- gam(wage ~ s(age,5) + year+ education,data=Wage)
plot(gam2,se=T,col=c('blue'))
###
gam5 <- gam(wage ~ s(age,5) + lo(year,span=0.7) +  education,data=Wage)
1.jpg
2.jpg

結(jié)果說明:
1)采用summary(gam2),查看模型結(jié)果,該結(jié)果分為參數(shù)部分和非參數(shù)部分,其中非參數(shù)中的year變量,p值大于0.05,說明該變量不適合做非線性擬合,而education這個(gè)變量沒有做非線性擬合,因?yàn)樵诜菂?shù)部分沒有其結(jié)果。將year這個(gè)變量采用線性回歸擬合,其擬合結(jié)果是顯著的,感興趣的小伙伴可以跑下模型。
2)采用plot()可以將模型畫出來,圖一的圖橫坐標(biāo)為自變量X,縱坐標(biāo)為因變量Y,表示隨著年齡的變量,收入是先增長,然后降低的。圖二中間的圖意思是隨著年份的增加,收入一直呈增長狀態(tài),中間有兩年下降了,圖三則是隨著教育程度的升高,收入越來越高。其他的圖解釋以此類推。
3)s()是樣條函數(shù),括號(hào)里面的數(shù)字是定義的自由度,除了使用回歸樣條,還能使用局部樣條lo()函數(shù),得到的結(jié)果與上面的結(jié)果十分類似。

第二部分:結(jié)局是分類變量

當(dāng)Y是分類變量時(shí),GAM同樣適用。比如:

gam4 <- gam(I(wage>250) ~ ns(age,5) + year + education,data=Wage,family = binomial)
plot(gam4,se=T,col=c('blue'))
3.jpg

結(jié)果說明:
1)采用I(),將wage變量處理成二分類變量,模型的寫法和第一部分稍有變化。
2)采用plot()可以將模型畫出來,上圖橫坐標(biāo)為自變量X,縱坐標(biāo)表示概率,這個(gè)跟第一部分不太一樣,小伙伴注意區(qū)分,上圖第一個(gè)表的解釋是:隨著年齡的增加,收入超過250的可能性先增加后降低,其他的圖解釋以此類推。
各位小伙伴兒,碼了這么多字,期望能夠幫助各位更好的理解和使用這些模型。

04總結(jié)

GAM模型存在的缺點(diǎn):
1.由于模型是可加的,這在很大程度上限制了模型的靈活性,變量間的相互作用常被忽略,雖然模型本身可以考察交互作用。
2.由于是基于非線性的模型,因此GAM模型的系數(shù)依然難以準(zhǔn)確解釋和描述。
如果您覺得有用,請(qǐng)點(diǎn)贊,轉(zhuǎn)發(fā)哦~

更多統(tǒng)計(jì)小知識(shí),請(qǐng)關(guān)看 公粽號(hào) 易學(xué)統(tǒng)計(jì)

更多閱讀
R語言:多水平統(tǒng)計(jì)模型
R語言:廣義估計(jì)方程(GEE)
R語言|兩因素重復(fù)測(cè)量方差分析
R語言|基于Cox模型pec包深度驗(yàn)證
R語言|中位生存時(shí)間列線圖繪制
R語言|Cox模型校準(zhǔn)度曲線繪制
R語言|中位生存時(shí)間列線圖繪制
基于Lasso回歸篩選變量構(gòu)建Cox模型并繪制Nomogram
R語言Logistic回歸模型驗(yàn)證及Nomogram繪制
如何進(jìn)行高維變量篩選和特征選擇(一)?Lasso回歸

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容