之前,我們引薦了①非參數, 半參數, 廣義可加, 偏線性, 單指數模型代碼公開,②廣義線性回歸模型估計:所有線性回歸的大倉庫,③廣義線性回歸模型估計:所有線性回歸的大倉庫(2)。今天,我們繼續引薦廣義可加模型(generalized additive model)及其程序。
線性模型簡單、直觀、便於理解,但是,在現實生活中,變量的作用通常不是線性的,線性假設很可能不能滿足實際需求,甚至直接違背實際情況。廣義加性模型是一種自由靈活的統計模型,它可以用來探測到非線性回歸的影響。
提出背景
非參數回歸不需要模型滿足線性的假設前提,可以靈活地探測數據間的複雜關係,但是當模型中自變量數目較多時 ,模型的估計方差會加大,另外,基於核與光滑樣條估計的非參數回歸中自變量與因變量間關係的解釋也有難度,1985 年 Stone 提出加性模型 (additive models) ,模型中每一個加性項使用單個光滑函數來估計,在每一加性項中可以解釋因變量如何隨自變量變化而變化,很好地解決了上述問題 。1990 年,Hastie 和 Tibshirani 擴展了加性模型的應用範圍 ,提出了廣義加性模型(generalized additive models)。
模型形式
經典的線性回歸模型假定因變量
與自變量
是線性形式:
其中,
通過最小二乘法獲得。
加性模型擴展了線性模型:
其中,
是光滑函數,
通過backfitting算法獲得。
廣義加性模型是廣義線性模型的擴展:
其中,
為線性預測值,
是非參數光滑函數,它可以是光滑樣條函數、核函數或者局部回歸光滑函數,它的非參數形式使得模型非常靈活,揭示出自變量的非線性效應。
模型不需要
對
的任何假設,由隨機部分
(randomcomponent)、加性部分
(additivecomponent)及聯結兩者的連接函數
(linkfunction)組成,反應變量
的分布屬於指數分布族,可以是二項分布、Poisson分布、Gamma分布等。
模型中不必每一項都是非線性的 ,可以納入線性等參數項 ,因為每個解釋變量的關係如都用非參數擬合會出現計算量大 、過擬合等問題 ,有時因變量與某個預測變量的關係簡化成參數形式會更便於解釋 ,這樣就出現了半參數廣義加性模型 ( semi-parametric generalized additive models) ,其形式為 :
優缺點
1) 可以引入非線性函數
2)非線性可能使得對
預測的更準確
3) 因為是」加性的」,所以,線性模型的假設檢驗的方法仍然可以使用
4) 因為是「加性」假設,所以GAMs中可能會缺失重要的交互作用
,只能通過手動添加交互項來彌補
應用示例
某研究者欲研究新生兒出生低體重與孕婦的年齡、先兆流產、妊高症的關係,共調查了997例婦女,整理後的數據見表1。調查包括孕婦的年齡age(0:<20歲;1:20~25歲;2:25~30歲;3:30~40;4:40歲以上),有無先兆流產xz(0:無;1:有),有無妊高症rg(0:無;1:有),試分析低出生體重與這些因素的關係。
分析:
該資料的特點是因變量為二分類變量 ,體重小於2500 g 為低出生體重兒 。可以採用 logistic 回歸來分析低出生體重與解釋變量年齡 、先兆流產 、妊高症的關係 ,但是從醫學背景考慮 ,年齡較小與年齡較大的孕婦可能發生低體重的新生兒多 ,要使這種複雜的非線性關係直觀地呈現 ,我們用半參數 logistic 廣義可加模型擬合 ,變量 xz、rg 以參數形式 ,年齡 age 用光滑樣條來擬合 。
Stata軟體的程序:GAM: Stata module for generalised additive models
* 廣義可加模型 Generalized additive model運行程序示例:gam lnhwage educatn hours,df(3)* Graphsgamplot educatn,saving(graph1, replace)gamplot hours,saving(graph2, replace)graph combine graph1.gph graph2.gph,iscale(1.2)rows(1)ysize(2.5)xsize(5)graph export nonparametricfig21.wmf, replace
gam fits a generalized or proportional hazards additive model (GAM) by mazimizing a penalized log likelihood function. Each component of the resulting estimated function of the covariates is a cubic smoothing spline. The smoothness of each component function is determined by the 'equivalent degrees of freedom' of the corresponding covariate. Models supported: Normal (Gaussian) errors, binomial, Poisson, gamma, Cox (now with Stata's stcox), and link functions among identity, log, logit and inverse. This package is an update to accommodate the latest versions of the Windows operating system (specifically, Win 2000 and XP) and supersedes the version published in the STB (Royston P, Ambler G (1998) Generalized additive models. Stata Technical Bulletin 42: 38-43.)
R軟體的程序:Package 『gam』或者更為普遍使用的'mgcv'
gam is used to fit generalized additive models, specified by giving a symbolic description of the additive predictor and a description of the error distribution. gam uses the backfitting algorithm to combine different smoothing or fitting methods. The methods currently supported are local regression and smoothing splines
一些文獻對GAM方法的介紹:
註:由於網盤被過多分享很容易被blocked,決定還是把這個上傳到計量社群,有需要的群友可以自行下載。