step.gam
位于 mgcv
包(package)。 说明
包 mgcv
中没有 step.gam
。 mgcv
模型选择的默认值是使用预测误差标准,例如 GCV、GACV、Mallows' Cp/AIC/UBRE 或基于似然的 REML 或 ML 方法。由于模型选择的平滑度估计部分是以这种方式完成的,因此以相同的方式执行模型选择的其余部分在逻辑上是最一致的。即通过查看 GCV、AIC、REML 等的变化来决定包含或省略哪些术语。
为了促进全自动模型选择,该软件包实现了两种平滑修改技术,可用于将平滑度缩小到零,作为平滑度选择的一部分。
- 收缩平滑剂
-
是平滑器,其中单位矩阵的小倍数被添加到平滑惩罚中,因此足够强的惩罚会将平滑的所有系数缩小到零。作为平滑参数估计的一部分,这种平滑器可以有效地从模型中完全受到惩罚。实现了 2 类收缩平滑器:
"cs"
和"ts"
,基于三次回归样条曲线和薄板回归样条平滑器(参见s
) - 零空间惩罚
-
另一种方法是为每个平滑构造一个额外的惩罚,根据其现有的惩罚来惩罚零摆动函数的空间。如果该项的所有平滑参数趋于无穷大,则该项将被惩罚为零,并且实际上会从模型中删除。这种方式的优点是可以自动实现任意平滑。
gam
的select
参数导致使用后一种方法。未受处罚的术语(例如s(x,fx=TRUE)
)仍然不受处罚。
REML 和 ML 平滑度选择在这种方法下是等效的,并且模拟证据表明,对于模型选择,它们往往比预测误差标准表现得更好一些。
例子
## an example of GCV based model selection as
## an alternative to stepwise selection, using
## shrinkage smoothers...
library(mgcv)
set.seed(0);n <- 400
dat <- gamSim(1,n=n,scale=2)
dat$x4 <- runif(n, 0, 1)
dat$x5 <- runif(n, 0, 1)
attach(dat)
## Note the increased gamma parameter below to favour
## slightly smoother models...
b<-gam(y~s(x0,bs="ts")+s(x1,bs="ts")+s(x2,bs="ts")+
s(x3,bs="ts")+s(x4,bs="ts")+s(x5,bs="ts"),gamma=1.4)
summary(b)
plot(b,pages=1)
## Same again using REML/ML
b<-gam(y~s(x0,bs="ts")+s(x1,bs="ts")+s(x2,bs="ts")+
s(x3,bs="ts")+s(x4,bs="ts")+s(x5,bs="ts"),method="REML")
summary(b)
plot(b,pages=1)
## And once more, but using the null space penalization
b<-gam(y~s(x0,bs="cr")+s(x1,bs="cr")+s(x2,bs="cr")+
s(x3,bs="cr")+s(x4,bs="cr")+s(x5,bs="cr"),
method="REML",select=TRUE)
summary(b)
plot(b,pages=1)
detach(dat);rm(dat)
作者
Simon N. Wood simon.wood@r-project.org
参考
Marra, G. and S.N. Wood (2011) Practical variable selection for generalized additive models Computational Statistics and Data Analysis 55,2372-2387
也可以看看
相关用法
- R scat 用于重尾数据的 GAM 缩放 t 系列
- R smooth.construct.cr.smooth.spec GAM 中的惩罚三次回归样条
- R smooth.construct.bs.smooth.spec GAM 中的惩罚 B 样条
- R smooth.construct GAM 中平滑项的构造函数
- R smooth.construct.sz.smooth.spec GAM 中的约束因子平滑交互
- R smooth.construct.re.smooth.spec GAM 中的简单随机效应
- R slanczos 计算对称矩阵的截断特征分解
- R single.index 具有 mgcv 的单指数模型
- R smooth.info 提供有关平滑规范的额外信息的通用函数
- R smooth2random 将平滑转换为适合估计随机效应的形式
- R smooth.construct.mrf.smooth.spec 马尔可夫随机场平滑
- R smooth.construct.gp.smooth.spec 低阶高斯过程平滑
- R smooth.construct.tp.smooth.spec GAM 中的惩罚薄板回归样条
- R smooth.construct.ad.smooth.spec GAM 中的自适应平滑
- R smooth.construct.so.smooth.spec 皂膜平滑剂
- R smooth.construct.ds.smooth.spec 低阶 Duchon 1977 样条
- R sp.vcov 从 (RE)ML GAM 拟合中提取平滑参数估计器协方差矩阵
- R smooth.construct.fs.smooth.spec GAM 中平滑交互的因子
- R smooth.construct.ps.smooth.spec GAM 中的 P 样条
- R smooth.construct.sos.smooth.spec 球体上的样条线
- R smooth.construct.tensor.smooth.spec 张量积平滑构造函数
- R shash Sinh-arcsinh 位置比例和形状模型族
- R s 在 GAM 公式中定义平滑
- R smooth.construct.t2.smooth.spec 张量积平滑构造函数
- R smoothCon GAM 平滑项的预测/构造包装函数
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Alternatives to step.gam。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。