1簡介
本文討論了為什麽使用廣義加法模型。是個不錯的選擇。為此,我們需要先看看線性回歸,看看為什麽它在某些情況下可能不是最佳選擇。
2回歸模型
假設我們有壹些具有兩個屬性y和x的數據。如果它們是線性相關的,它們可能如下所示:
a & lt-ggplot(my_data,aes(x=X,y=Y))+geom_point()+
為了檢驗這種關系,我們可以使用回歸模型。線性回歸是壹種通過使用x來預測變量y的方法。將其應用於我們的數據會將壹組值預測為紅線:
a+geom_smooth(col="red ",method="lm")+
這就是“線性方程”。根據這個方程,我們可以從Y軸上直線開始的位置(“截距”或α)開始,X的每個單位增加了多少Y(“斜率”),我們稱之為X或β的系數)。有壹點自然的波動,如果沒有,所有的點都是完美的。我們稱之為“剩余”(?)。數學上:
或者,如果我們用實際數字來代替,我們會得到以下結果:
本文通過考慮每個數據點和線之間的差異(“殘差”)來估計模型,然後最小化該差異。我們在線的上方和下方都有正負誤差,所以通過將它們平方並使“平方和”最小化,它們對於估計都是正的。這被稱為“普通最小二乘法”或OLS。
3什麽是非線性關系?
那麽,如果我們的數據看起來像這樣,我們應該怎麽做:
我們剛剛看到的模型的壹個關鍵假設是y和x是線性相關的。如果我們的y不是正態分布,那麽用廣義線性模型?(內爾德&威德伯恩,1972),其中y由鏈接函數變換,但再次假設f(y)和x線性相關。如果不是這樣,關系在x的範圍內變化,可能不是最合適的。我們有壹些選擇:
我們可以使用線性擬合,但如果我們這樣做,我們會高於或低於某些部分的數據。
我們可以分為幾類。下圖我用了三個,是比較合理的選擇。同樣,我們可能在數據的某些部分之下或之上,在類別之間的邊界附近似乎是準確的。比如x = 49,y和x = 50差別很大嗎?
我們可以使用多項式之類的變換。接下來我用的是三次多項式,所以模型適用於:這些的組合使得函數平滑近似的變化。這是壹個很好的選擇,但它可能會出現極大的波動,並可能導致數據中的相關性,從而降低擬合度。
請點擊輸入圖片說明。
請點擊輸入圖片說明。
4樣條曲線
多項式的進壹步細化是擬合“分段”多項式,我們在數據範圍內將多項式鏈接在壹起來描述形狀。樣條是壹種分段多項式,因繪圖員繪制曲線時使用的工具而得名。物理樣條曲線是壹種柔性的長條,可以通過重量來彎曲和固定。在構造數學樣條曲線時,我們有多項式函數,二階導數是連續的,在接合點處是固定的。
下面是壹個ggplot2?對象。對象?geom_smooth?的公式包含ns?函數中的“自然三次樣條”?。該樣條曲線為三次曲線,使用10節。
請點擊輸入圖片說明。
請點擊輸入圖片說明。
5平滑函數
樣條曲線可以是平滑的或“不穩定的”,這可以通過改變節點數(k)或使用平滑懲罰γ來控制。如果增加結數,會更“搖搖晃晃”。這可能更接近數據,誤差會更小,但我們開始“過度擬合”關系,擬合我們數據中的噪聲。當我們結合平滑懲罰時,我們將懲罰模型中的復雜性,這將有助於減少過擬合。
請點擊輸入圖片說明。
6廣義加性模型(GAM)
廣義可加模型(GAM)(Hastie,1984)在回歸模型中使用光滑函數(如樣條曲線)作為預測器。這些模型是嚴格可加的,這意味著我們不能像正態回歸壹樣使用交互項,但我們可以通過重新參數化作為更平滑的模型來達到同樣的效果。事實並非如此,但本質上,我們正在轉向壹個模型,比如:
請點擊輸入圖片說明。
木頭做的?(2017)中GAM更正式的例子?是:
請點擊輸入圖片說明。
其中包括:
μi≡E(Yi),y的期望
易?EF(μi,?I),Yi是響應變量,根據均值μi和形狀參數?的指數族分布。
Ai是任何嚴格參數化模型組件的模型矩陣的壹行,其中θ是相應的參數向量。
Fi是協變xk的光滑函數,其中k是每個函數的基。
如果妳想建立壹個回歸模型,但懷疑平滑擬合會做得更好,GAM是壹個不錯的選擇。它們適用於非線性或噪聲數據。
7 gam配件
那麽,怎麽樣?為以上s型數據建立?GAM模式?這裏我就用三次樣條回歸?:
gam(Y ~ s(X,bs="cr ")
上述設置意味著:
s()指定了壹個平滑器。還有其他選項,但是s是壹個很好的默認選項。
BS = "Cr "告訴它使用三次回歸樣條(' basis ')。
s函數計算要使用的默認結數,但您可以將其更改為k=10,例如10結。
8模型輸出:
查看模型摘要:
####族:高斯##鏈接函數:恒等式##參數系數:##估計標準差。誤差測試值Pr(& gt;|t|)##(截距)?43.9659 0.8305 ?52.94 ?& lt2e-16 ***## - ##有效位。代碼:?0 '***' 0.001 '**' 0.01 '*' 0.05 '.'0.1 ' ' 1####光滑項的近似意義:## edf Ref.df F p-value## s(X) 6.087?7.143 296.3 ?& lt2e-16 ***## - ##有效位。代碼:?0 '***' 0.001 '**' 0.01 '*' 0.05 '.'0.1 ' ' 1#### R-sq。(adj) =?0.876 ?解釋偏差= 87.9%## GCV = 211.94?估計規模。= 206.93 n = 300
顯示我們截距的模型系數,所有非平滑參數將在此顯示。
每個平滑項的壹般含義如下。
這是基於“有效自由度”(edf),因為我們使用的樣條函數可以擴展到很多參數,但我們也在懲罰它們,減少它們的影響。
9檢查型號:
應該?gam.check()?該函數可用於查看殘差圖,但它也可以測試平滑器,以查看是否有足夠的結來描述數據。但是如果p值很低,就需要更多的結。
請點擊輸入圖片說明。
####方法:GCV?優化器:magic##平滑參數選擇在4次叠代後收斂。收斂時的RMS GCV分數梯度是1.107369e-05。##黑森是肯定的。##型號排名=?10 / 10####基礎尺寸(k)檢查結果。低p值(k指數& lt1)可能##表示k太低,尤其是當edf接近k '時。####好嗎?edf k指數p值# # s(X)9.00 6.09 1.1 0.97
10比線性模型好嗎?
讓我們比較壹下同樣數據的普通線性回歸模型:
方差分析(我的lm,我的gam)
##方差分析表####模型1: Y ~ X##模型2: Y ~ s(X,bs = "cr")##?Res.Df?RSS Df平方和?公關(& gtf)# # 1 298.00 88154 # # 2 292.91 60613 5.0873 27540 26.161 & lt;2.2e-16 ***## - ##有效位。代碼:?0 '***' 0.001 '**' 0.01 '*' 0.05 '.'0.1 ' ' 1
我們的ANOVA函數在這裏執行f檢驗,我們的GAM模型明顯優於線性回歸。
11匯總
我們看了什麽是回歸模型,以及我們如何解釋壹個變量Y和另壹個變量x。基本假設之壹是線性關系,但情況並非總是如此。當關系在x的範圍內變化時,我們可以用函數來改變這個形狀。壹個好的方法是在“結”點將光滑的曲線連接在壹起,我們稱之為“樣條曲線”
我們可以在常規回歸中使用這些樣條曲線,但是如果在GAM的後臺使用,我們還要估計回歸模型,以及如何讓我們的模型更平滑。
上面的例子展示的是基於樣條的GAM,其擬合度遠好於線性回歸模型。
12參考:
內爾德,J. A。韋德爾伯恩,郵編:1972。廣義線性模型。皇家統計學會雜誌。A系列(通用),135,370-384。
哈勒爾,F. E .,JR. 2001。回歸建模策略,紐約,斯普林格出版社,紐約。
請點擊輸入圖片說明。
最流行的觀點
多元Logistic回歸在1中的應用案例。r語言
2.面板平滑過渡回歸(PSTR)分析案例的實現。
3.3.matlab中的偏最小二乘回歸(PLSR)和主成分回歸(PCR)
4.R語言泊松回歸模型案例研究
5.R語言回歸中的Hosmer-Lemeshow擬合優度檢驗
6.套索回歸、嶺脊回歸和彈性網模型的r語言實現
7.用R語言實現邏輯回歸。
8.python使用線性回歸來預測股票價格。
9.R語言如何計算生存分析和Cox回歸中的IDI和NRI指數?