当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R one.se.rule 更平滑模型的一个标准误差规则


R语言 one.se.rule 位于 mgcv 包(package)。

说明

“一个标准误差规则”(参见 Hastie、Tibshirani 和 Friedman,2009 年)是一种生成比通过自动平滑参数选择方法直接估计的模型更平滑的模型的方法。在单一平滑参数的情况下,我们选择平滑参数选择标准最优值的一个标准误差内的最大平滑参数。这种方法可以推广到由 REML 或 ML 估计的多个平滑参数。

细节

在 REML 或 ML 平滑参数选择下,渐近分布近似可用于对数平滑参数。让 表示我们想要增加以获得更平滑模型的对数平滑参数。 估计器的大样本分布是 ,其中 sp.vcov 返回的矩阵。删除 中已经处于“有效无穷大”的任何元素,以及 的相应行和列。对数平滑参数的标准误差可以从 的前导对角线获得。令它们的向量为 。现在假设我们想要将估计的对数平滑参数增加 。我们选择 以便 ,其中 p 是 d 的维度,2p 是卡方 r.v 的方差。具有 p 个自由度。

我们的想法是,我们按其标准差的比例增加对数平滑参数,直到 RE/ML 根据其渐近分布增加 1 个标准差。

例子

 
require(mgcv)
set.seed(2) ## simulate some data...
dat <- gamSim(1,n=400,dist="normal",scale=2)
b <- gam(y~s(x0)+s(x1)+s(x2)+s(x3),data=dat,method="REML")
b
## only the first 3 smoothing parameters are candidates for
## increasing here...
V <- sp.vcov(b)[1:3,1:3] ## the approx cov matrix of sps
d <- diag(V)^.5          ## sp se.
## compute the log smoothing parameter step...
d <- sqrt(2*length(d))/d
sp <- b$sp ## extract original sp estimates
sp[1:3] <- sp[1:3]*exp(d) ## apply the step
## refit with the increased smoothing parameters...
b1 <- gam(y~s(x0)+s(x1)+s(x2)+s(x3),data=dat,method="REML",sp=sp)
b;b1 ## compare fits

作者

Simon N. Wood simon.wood@r-project.org

参考

Hastie, T, R. Tibshirani and J. Friedman (2009) The Elements of Statistical Learning 2nd ed. Springer.

也可以看看

gam

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 The one standard error rule for smoother models。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。