平滑项就像广义线性模型中的一条简单线(包 mgcv)

Smooth terms are like a simple line in a generalized linear model (package mgcv)

我使用以下代码拟合了一个具有二元响应的广义加性模型:

library(mgcv)
attach(mydata)
m = gam(y ~ dm  + af + s(BMI) + s(sleepworkday), family=binomial(logit), data=mydata, method="REML")
summary(m)

并不是说 dm 和 af 也是二进制的。结果是:

Family: binomial 
Link function: logit 

Formula:
y ~ dm + af + s(BMI) + s(sleepworkday)

Parametric coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)  -1.3683     0.1291 -10.600  < 2e-16 ***
dmyes        -1.0930     0.3019  -3.621 0.000294 ***
afyes        -2.5139     1.0209  -2.462 0.013801 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Approximate significance of smooth terms:
              edf Ref.df Chi.sq p-value  
s(BMI)          1.000  1.000  4.834  0.0279 *
s(sleepworkday) 1.112  1.216  5.700  0.0305 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

R-sq.(adj) =  0.0447   Deviance explained = 6.58%
-REML = 247.49  Scale est. = 1         n = 606

看来这两个平滑项都很显着。但他们只吃了一条简单的线,因为我使用:

plot(m)

剧情如下:

另一个平滑项也像一条简单的线。为什么平滑项显着但不弯曲?我应该更改任何选项吗?

p 值用于测试曲线是否等于零,而不是它是否等于直线(当自动估计平滑参数时,后者不是最自然的测试)。