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


R smooth.construct.gp.smooth.spec 低阶高斯过程平滑


R语言 smooth.construct.gp.smooth.spec 位于 mgcv 包(package)。

说明

基于简单协方差函数的高斯过程/克里金模型可以用与薄板和 Duchon 样条模型非常相似的形式编写(例如 Handcock、Meier、Nychka,1994 年),以及由 Wood 的特征近似方法生成的低阶版本(2003 年) )。 Kammann 和 Wand (2003) 提出了一种特别简单的 Matern 协方差函数形式,仅需要估计一个平滑参数,并且此类实现了该模型和其他类似模型。

通常由 gam 公式中的 s(...,bs="gp") 项调用。参数 m 选择协方差函数,设置范围参数和任何幂参数。如果未提供m,则默认为NA,并使用 Kammann 和 Wand (2003) 建议的协方差函数及其建议的范围参数。否则,abs(m[1]) 介于 1 和 5 之间,分别从球面、幂指数和 Matern 中选择相关函数,kappa = 1.5、2.5 或 3.5。 m[1] 的符号决定是否将协变量的线性趋势添加到高斯过程(正)或不添加(负)。后者确保平稳性。 m[2](如果存在)指定范围参数,非正值或不存在表示应使用 Kammann 和 Wand 估计。 m[3] 可用于指定幂指数的幂,否则默认为 1。

用法

## S3 method for class 'gp.smooth.spec'
smooth.construct(object, data, knots)
## S3 method for class 'gp.smooth'
Predict.matrix(object, data)

参数

object

平滑的规范对象,通常由术语 s(...,bs="ms",...) 生成。

data

仅包含该术语所需的数据(包括任何 by 变量)的列表,其名称对应于 object$term (和 object$by )。 by 变量是最后一个元素。

knots

包含为基础设置提供的任何结的列表 - 与 data 具有相同的顺序和相同的名称。可以是NULL

细节

为范围参数, 表示两点之间的距离。那么m[1]索引的相关函数为:

  1. 如果 则为 ,否则为0。

  2. .

参见 Fahrmeir 等人。例如,(2013) 第 8.1.6 节。请注意,将 r 设置为太小的值会导致令人不快的结果,因为大多数点几乎都是独立的(特别是对于球形模型。注意:Wood 2017,图 5.20 右侧基于有缺陷的实现)。

此类的默认基本维度是 k=M+k.def,其中 M 是零空间维度(未惩罚函数空间的维度),k.def 对于维度 1 为 10,对于维度 2 为 30,对于更高维度为 100。这本质上是任意的,应该进行检查,但与所有惩罚回归平滑器一样,结果在统计上对确切的选择不敏感,只要它不是小到强制过度平滑(平滑器的自由度主要由其平滑参数控制) )。

构造函数通常不直接调用,而是由 gam 在内部使用。要用于基础设置,建议使用 smooth.construct2

对于这些类,规范 object 将包含有关如何在其 xt 字段中处理大型数据集的信息。默认情况下,如果唯一预测变量组合的数量超过 2000,则对 2000 ‘knots’ 进行随机子采样,从中生成完整基础的降级特征值近似。默认值可以通过 xt 参数修改为 s 。它作为一个列表提供,其中包含元素 max.knotsseed,其中包含用于代替 2000 的数字,以及要使用的随机数种子(两者都可以缺失)。请注意,随机采样不会影响 R 的 RNG 的状态。

对于这些基础 knots 有两个用途。首先,如前所述,对于大型数据集,tp 基础的计算可能非常耗时。用户可以通过提供一组精简的协变量值来保留该方法的大部分优点,从中获取基础 - 通常使用的协变量值的数量将大大小于数据的数量,并且远大于基础维度,k。如果唯一协变量值(组合)的数量超过 max.knots ,则自动采用此方法。第二种可能性是避免用于完全查找样条基础的特征分解,而仅使用所选结隐含的基础:如果提供的结数量与基础尺寸 k 匹配,就会发生这种情况。对于给定的基本尺寸,第二个选项速度更快,但结果较差(用户在选择结位置时必须非常小心)。

"gp.smooth" 的对象。除了 smooth.construct 下记录的平滑类的常见元素之外,该对象还将包含:

shift

应用于每个协变量的移位记录,以便使其以零为中心,并避免在该项的惩罚零空间基础中可能发生的任何 co-linearity 问题。

Xu

此平滑的唯一协变量组合的矩阵(通过首先删除重复位置来构建基础)。

UZ

将平滑参数映射回完整 GP 平滑参数的矩阵。

null.space.dimension

根据此项的摆动惩罚,摆动为零的函数空间的维数。

gp.defn

定义相关函数的类型、范围参数和功率参数。

例子

require(mgcv)
eg <- gamSim(2,n=200,scale=.05)
attach(eg)
op <- par(mfrow=c(2,2),mar=c(4,4,1,1))
b0 <- gam(y~s(x,z,k=50),data=data)  ## tps
b <- gam(y~s(x,z,bs="gp",k=50),data=data)  ## Matern spline default range
b1 <- gam(y~s(x,z,bs="gp",k=50,m=c(1,.5)),data=data)  ## spherical 

persp(truth$x,truth$z,truth$f,theta=30) ## truth
vis.gam(b0,theta=30)
vis.gam(b,theta=30)
vis.gam(b1,theta=30)

## compare non-stationary (b1) and stationary (b2)
b2 <- gam(y~s(x,z,bs="gp",k=50,m=c(-1,.5)),data=data)  ## sph stationary 
vis.gam(b1,theta=30);vis.gam(b2,theta=30)
x <- seq(-1,2,length=200); z <- rep(.5,200)
pd <- data.frame(x=x,z=z)
plot(x,predict(b1,pd),type="l");lines(x,predict(b2,pd),col=2)
abline(v=c(0,1))
plot(predict(b1),predict(b2))

detach(eg)

作者

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

参考

Fahrmeir, L., T. Kneib, S. Lang and B. Marx (2013) Regression, Springer.

Handcock, M. S., K. Meier and D. Nychka (1994) Journal of the American Statistical Association, 89: 401-403

Kammann, E. E. and M.P. Wand (2003) Geoadditive Models. Applied Statistics 52(1):1-18.

Wood, S.N. (2003) Thin plate regression splines. J.R.Statist.Soc.B 65(1):95-114

Wood, S.N. (2017) Generalized Additive Models: an introduction with R (2nd ed). CRC/Taylor and Francis

也可以看看

tprs

相关用法


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