非参数logistic回归模型
标签:
sas统计模型gamnoparametric平滑it |
分类: SAS |
Generalized additive model (简称GAM)在1986年由Hastie & Tibshirani发表以后,一直被应用于许多领域,如环境科学、医学、生物统计,在方法上也得到发展,如Amato等人(2002)提出的基于傅立叶变换最优逼近模式估计,Sardy(2003)基于非线性小波估计方法,范剑青2004年提出的基于核函数的广义可加模型估计以及基于GLR的统计推断,对可加模型的估计和统计推断做了进一步的发展,而且在应用上该方法也被拓展到经济金融领域,Wensui Liu 在2007年提出了基于GAM的信用评分模型改进无疑是该方法在金融实践中的一个成功的尝试,在不久的将来也许非参数计量将会是下一代计量理论体系的核心补丁。
下面说说GAM方法的优势,首先它没有参数方法对先验分布的限制前提(如normal assumption、homoscedasticity assumption),其次在处理非线性模式的能力要远远强于参数模型,当然新的模式出现也会给我们的应用增添一些疑惑,比如在可加成分是否显著或如何判断自变量与因变量间是线性还是非线性模式,基于这个问题,理论学者和应用大牛们也都分别给出了相应的方法和尝试,比如范剑青的GLR检验、profile least-squares estimation,Hastie的Back-Fitting and Local Scoring Algorithms,他们的方法本质上都是基于非参数部分的局部分解以及整体模式残差最小的思想,如果因变量是二分变量估计方法相应替换成似然方法便是。
接下来给出相应的估计和检验方法,之前博客里已经给出范剑青的核方法的半变系数非参数模型的估计和检验程序(理论可以参考Profile Likelihood inferences on Semiparametric Varying-coeffcient Partially Liner Models),接下来介绍基于SAS集成的程序(更灵活简单)。
先介绍下GAM 基本的概念。一般线性模式可如下所示:
E(Y)=b0+b1*X1+b2*X2+...+bp*Xp
但在 GAM
下,模式相应改为:
E(Y)=s0+s1(X1)+s2(X2)+...+sp(Xp)
其中 si(Xi) 为smooth function(平滑函数)。值得注意的是这个方程式没有确定的模式,而以 non-parametric 的形态去估计。SAS的过程布中采用「backfitting algorithm」。由于 GAMscore equation 没有close form,所以必须依赖 backfitting algorithm回溯拟合或构建估出si(Xi)的局
部核函数。
sas估计程序:
PROC GAM data=kyphosis;
model kyphosis = spline(NumVert,df=3)
spline(Age,df=3)
spline(StartVert,df=3)
/dist=logist;
output out=estimate pred uclm lclm;
run;
http://s11/middle/67bf7e91g788152b7aaba&690
其中spline是平滑方式,可用loess和spline2代替,三者的解释为:spline的平滑方式为cubic spline,即三次样条逼近,loess为局部估计(即为核估计),spline2是bivariate thin-plate
注:dist可以是GAUSSIAN, BINOMIAL, BINARY, GAMMA, or
POISSON.
另外OUTPUT statement 可以将参数估计、非参数平滑预测值、目标变量的预测概率和其 95% 置信区间分别给出(pred uclm lclm)并产生新变量。估计的数据可以用来做图。
http://s1/middle/67bf7e91gb50da4dbe000&690
先看下输出结果,第一部分是summary statistics,提供一些参数估计过程的信息,如下:
目标变量为二项分布(binomial),连接函数为logist,局部评分迭代9次等。接下来看下第二部分的输出结果:
http://s11/middle/67bf7e91gb50da783a5fa&690
这部分包含三张报表。第一个表示模式的线性部分的参数估计值(包含非参数的线性分解部分,具体会在后面介绍)。第二个是用 GAM 跑出的 smoother 即窗宽值。第三个表比较特别。此处利用 deviance analysis检验比较full model(包含全部 smoothing function)和 reduced model(少掉某一个smoothing function)那個统计量的检验结果(这正是GLR的核心思想,范剑青在2005的一篇文献中证明,这个似然统计量遵从wilks现象,即服从卡方分布,在具体应用中可根据卡方分布拟合及Bootstrap具体判断参数的显著推断)。所以零假设 H0: reduce model vs H1: full model。如果的 p-value小于0.05 則表示拒绝 reduced model。反之则表示不拒绝 reduce model。以 Age 和 StartVert 来看,两者的 p-value 分別是 0.0009 和 0.0350,皆小于0.05。所以可以同时分別少了这两个变量的 reduced model(对比参数模型中b=0的假设)。而 NumVert 的 p-value 为0.3311 > 0.05,表示不拒绝少了 NumVert 的 smoothing function 的 reduced model,也就是说f(NumVert) 在模式中不显著。
很多人可能会疑问,程序中设定的变量均为非参数形式为何输出的结果会有回归结果的parameter估计值和非参数部分的smoothing parameter,这得从gam过程的估计原理说起:当模型设定为下式时
model y = param(z) spline(x1) spline(x2)
则表示估计的模型为y = a0 + a1*z + s1(x1) +
s2(x2),而GAM过程实际估计的是y = a0 + a1*z + b1*x1+f1(x1) + b2*x2
+ f2(x2),其中s1(x1) = b1*x1 + f1(x1),
所以上述输出结果中
“Regression Model
Analysis”
P_Y = a0 + a1*z + b1*x1+f1(x1) + b2*x2 + f2(x2)
P_X1 = f1(X1)
P_X2 = f1(X2)
故而,非参数部分的full partial prediction即为:b1*x1+p_X1às(x1),b2*x2+p_x2às(x2);总体的预测必须在data步完成,或在proc步中添加score语句。

加载中…