GAM适合性摘要


12

如果我们适合GAM,例如:

gam.fit = gam::gam(Outstate ~ Private + s(Room.Board, df = 2) + s(PhD, df = 2) + 
    s(perc.alumni, df = 2) + s(Expend, df = 5) + s(Grad.Rate, df = 2), data = College)

在哪里,我们使用数据集College,该数据集可以在package中找到ISLR
现在,如果找到适合的摘要,则可以看到:

> summary(gam.fit)

Call: gam(formula = Outstate ~ Private + s(Room.Board, df = 2) + s(PhD, 
    df = 2) + s(perc.alumni, df = 2) + s(Expend, df = 5) + s(Grad.Rate, 
    df = 2), data = College)
Deviance Residuals:
     Min       1Q   Median       3Q      Max 
-7522.66 -1140.99    55.18  1287.51  7918.22 

(Dispersion Parameter for gaussian family taken to be 3475698)

    Null Deviance: 12559297426 on 776 degrees of freedom
Residual Deviance: 2648482333 on 762.0001 degrees of freedom
AIC: 13924.52 

Number of Local Scoring Iterations: 2 

Anova for Parametric Effects
                        Df     Sum Sq    Mean Sq F value    Pr(>F)    
Private                  1 3377801998 3377801998 971.834 < 2.2e-16 ***
s(Room.Board, df = 2)    1 2484460409 2484460409 714.809 < 2.2e-16 ***
s(PhD, df = 2)           1  839368837  839368837 241.496 < 2.2e-16 ***
s(perc.alumni, df = 2)   1  509679160  509679160 146.641 < 2.2e-16 ***
s(Expend, df = 5)        1 1019968912 1019968912 293.457 < 2.2e-16 ***
s(Grad.Rate, df = 2)     1  148052210  148052210  42.596 1.227e-10 ***
Residuals              762 2648482333    3475698                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Anova for Nonparametric Effects
                       Npar Df Npar F   Pr(F)    
(Intercept)                                      
Private                                          
s(Room.Board, df = 2)        1  3.480 0.06252 .  
s(PhD, df = 2)               1  1.916 0.16668    
s(perc.alumni, df = 2)       1  1.471 0.22552    
s(Expend, df = 5)            4 34.350 < 2e-16 ***
s(Grad.Rate, df = 2)         1  1.981 0.15971    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

在这里,我不理解“用于参数化效应的方差分析”和“用于非参数化效应的方差分析”部分的含义。尽管我确实了解ANOVA测试的工作原理,但我无法理解摘要中的“参数效应”和“非参数效应”部分。那么,它们是什么意思?它们的意义是什么?


出现此问题的原因是答案的(d)部分,即《统计学习简介》第7章第10题。

Answers:


22

构造适合GAM的方法的输出的结构方式是,将平滑器的线性部分与其他参数项组合在一起。注意Private,第一个表中有一个条目,但第二个表中的条目为空。这是因为Private是严格的参数术语;它是一个因子变量,因此与代表的影响的估计参数相关联Private。平滑项分为两种效果的原因是,此输出使您可以确定平滑项是否具有

  1. 非线性影响:查看非参数表并评估其重要性。如果有意义,请保留平滑的非线性效果。如果无关紧要,请考虑线性效应(下面的2.)
  2. 线性效应:查看参数表并评估线性效应的重要性。如果有意义,则可以在描述模型的公式中将其变为平滑s(x)-> x。如果微不足道,您可以考虑将其从模型中完全删除(但要小心使用---这足以说明真实效果== 0)。

参数表

此处的输入类似于如果您拟合此线性模型并计算ANOVA表时所得到的结果,除了未显示任何相关模型系数的估计值。代替估计的系数和标准误差以及相关的t或Wald检验,在F检验旁边显示了解释的方差量(以平方和表示)。与装有多个协变量(或协变量的函数)的其他回归模型一样,表中的条目以模型中的其他项/函数为条件。

非参数表

所述非参数影响涉及装配在平滑器的非线性部分。除了的非线性效应外,这些非线性效应中没有一个是重要的Expend。有一些证据表明γ的非线性效应Room.Board。每一个都与一定数量的非参数自由度(Npar Df)相关联,它们解释了响应的变化量,该变化量通过F检验评估(默认情况下,请参见论点test)。

非参数部分中的这些检验可以解释为检验线性关系而非非线性关系的原假设

您可以这样解释,即仅将Expend权证视为平滑的非线性效应。其他平滑可以转换为线性参数项。Room.Board一旦将其他平滑转换为线性参数项,您可能需要检查平滑是否继续具有非重要的非参数效果。可能是的影响Room.Board有些微非线性,但这受到模型中其他平滑项的存在的影响。

但是,很多情况可能取决于以下事实:许多平滑只允许使用2个自由度。为什么2?

自动平滑度选择

较新的GAM拟合方法将通过自动平滑度选择方法为您选择平滑度,例如在建议的软件包mgcv中实施的Simon Wood的惩罚样条线方法:

data(College, package = 'ISLR')
library('mgcv')

set.seed(1)
nr <- nrow(College)
train <- with(College, sample(nr, ceiling(nr/2)))
College.train <- College[train, ]
m <- mgcv::gam(Outstate ~ Private + s(Room.Board) + s(PhD) + s(perc.alumni) + 
               s(Expend) + s(Grad.Rate), data = College.train,
               method = 'REML')

模型摘要更加简洁,直接考虑了平滑函数的整体而不是线性(参数)和非线性(非参数)的贡献:

> summary(m)

Family: gaussian 
Link function: identity 

Formula:
Outstate ~ Private + s(Room.Board) + s(PhD) + s(perc.alumni) + 
    s(Expend) + s(Grad.Rate)

Parametric coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   8544.1      217.2  39.330   <2e-16 ***
PrivateYes    2499.2      274.2   9.115   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Approximate significance of smooth terms:
                 edf Ref.df      F  p-value    
s(Room.Board)  2.190  2.776 20.233 3.91e-11 ***
s(PhD)         2.433  3.116  3.037 0.029249 *  
s(perc.alumni) 1.656  2.072 15.888 1.84e-07 ***
s(Expend)      4.528  5.592 19.614  < 2e-16 ***
s(Grad.Rate)   2.125  2.710  6.553 0.000452 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

R-sq.(adj) =  0.794   Deviance explained = 80.2%
-REML = 3436.4  Scale est. = 3.3143e+06  n = 389

现在,输出将平滑项和参数项收集到单独的表中,后者获得了与线性模型类似的更熟悉的输出。下表列出了整个术语的平滑效果。这些测试与gam::gam您显示的模型不同;它们是针对零假设的检验,即平滑效果是一条平坦的水平线,零效果或显示零效果。另一种选择是,真正的非线性效应不同于零。

请注意,除之外的EDF都大于2 s(perc.alumni),这表明该gam::gam模型可能有一些限制。

拟合的平滑度由下式给出

plot(m, pages = 1, scheme = 1, all.terms = TRUE, seWithMean = TRUE)

产生

在此处输入图片说明

还可以选择自动平滑度选择,以将项完全收缩出模型:

完成此操作后,我们看到模型拟合并没有真正改变

> summary(m2)

Family: gaussian 
Link function: identity 

Formula:
Outstate ~ Private + s(Room.Board) + s(PhD) + s(perc.alumni) + 
    s(Expend) + s(Grad.Rate)

Parametric coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   8539.4      214.8  39.755   <2e-16 ***
PrivateYes    2505.7      270.4   9.266   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Approximate significance of smooth terms:
                 edf Ref.df      F  p-value    
s(Room.Board)  2.260      9  6.338 3.95e-14 ***
s(PhD)         1.809      9  0.913  0.00611 ** 
s(perc.alumni) 1.544      9  3.542 8.21e-09 ***
s(Expend)      4.234      9 13.517  < 2e-16 ***
s(Grad.Rate)   2.114      9  2.209 1.01e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

R-sq.(adj) =  0.794   Deviance explained = 80.1%
-REML = 3475.3  Scale est. = 3.3145e+06  n = 389

即使我们缩小了样条曲线的线性和非线性部分,所有的平滑度似乎都暗示了轻微的非线性效果。

就个人而言,我发现mgcv的输出更易于解释,并且因为已经证明,如果数据支持,自动平滑度选择方法将趋向于线性效果。


4
+1很棒的解释。(不过,我很好奇您所说的“非参数F检验”的意思:如果有的话,它与标准F检验有何不同?)
whuber

4
@whuber的措辞很差;这是标准的F检验,但是由于将平滑分解为线性和非线性部分,因此对输出称为“非参数”位的情况进行了检验。我将对其进行编辑。
恢复莫妮卡

3
p值不能那样工作;对于甚至要执行的测试,我们假设原假设为true。该测试的意思是,假设关系是线性的,那么数据带来的证据与该假设有多少冲突?如果数据带来的证据与我们期望的空值是真实的相符。如果证据与零假设不一致,那么如果零为真,我们将不太可能观察到我们所做的数据。p值是针对无效的证据的度量。
恢复莫妮卡

1
您说的是参数表:“如果将其作为线性模型进行拟合并计算ANOVA表,那么这里的条目本质上就是您将得到的。” 我认为这从字面上看是不正确的(即模型的非线性部分根本不影响线性部分的显着性估计)。当然,线性和非线性部分的估计是联合完成的,非线性部分会影响线性部分的系数,并且有显着性,对吗?
雅各布·索科拉尔

1
@JacobSocolar据我所知,样条线可分解为线性分量和一些非线性分量(其数量取决于样条允许的自由度)。我的意思是,这是您从线性模型拟合后跟方差分析(即均方的F检验)中获得的输出。但是,是的,从某种意义上讲,这是部分影响,因为模型的一部分解释的方差取决于模型中的其他项(和基函数)。是的,我的意思不是字面意思。我会改写为“喜欢你会...”。
恢复莫妮卡-G.辛普森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.