广义可加模型GAM是什么?如何在常用软件上实现?

  之前,我们引荐了①非参数, 半参数, 广义可加, 偏线性, 单指数模型代码公开,②广义线性回归模型估计:所有线性回归的大仓库,③广义线性回归模型估计:所有线性回归的大仓库(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,决定还是把这个上传到计量社群,有需要的群友可以自行下载。

  举报/反馈