mgcv 中的高斯过程平滑:在球形和指数协方差函数之间进行选择

机器算法验证 r 毫克CV
2022-04-17 02:00:49

我的一位同事解释说,在变差法中,指数协方差函数在拟合空间数据和生成准确预测方面通常比球面协方差函数做得更好。

'mgcv' R 包中存在的高斯过程回归(AKA 克里金法)是否有任何工作?我似乎在 Simon Wood 的 mgcv 文本中找不到任何内容。

我正在拟合一些空间 GAM,并且很想根据我同事的评论选择球形的指数协方差函数。

在进行最终调用之前,我是否应该使用 gam.check/AIC 等测试两个协方差函数?我正在拟合许多模拟的空间数据集,因此在协方差函数之间反复检查既繁琐又耗时。

1个回答

gp平滑类型仅在 Simon 的书的第二版中讨论,因为它在第一版出版后很久就被添加到mgcv

要考虑的主要区别是球面协方差函数不是完全平滑的;有一个不连续性可以通过产生平滑。Matérn 和幂指数函数不存在这个问题。

不连续性是由于如果两点之间的距离大于(范围参数),则球面协方差函数取值为 0:ρ

c(d)={11.5d/ρ+0.5(d/ρ)2,if dρ.0,otherwise.

其中是一对点之间的距离。我们可以在下面的 R 示例中看到它的效果,修改自d?smooth.construct.gp.smooth

library("mgcv")
set.seed(24)
eg <- gamSim(2, n = 300, scale = 0.05)
b  <- gam(y ~ s(x, z, bs= "gp", k = 50, m = c(3, 0.175)), data = eg$data, method = "REML") ## Matern spline
b1 <- gam(y ~ s(x, z, bs = "gp", k = 50, m = c(1, 0.175)), data = eg$data, method = "REML") ## spherical 
b2 <- gam(y ~ s(x, z, bs = "gp", k = 50, m = c(2, 0.175)), data = eg$data, method = "REML") ## exponential 

op <- par(mfrow=c(2,2), mar = c(0.5,0.5,3,0.5))
with(eg$truth, persp(x, z, f, theta = 30, main = "Truth")) ## truth
vis.gam(b, theta=30, main = "Matern")
vis.gam(b1, theta=30, main = "Spherical")
vis.gam(b2, theta=30, main = "Exponential")
par(op)

在此处输入图像描述

对于相同的值,我们仍然使用 Matern 和指数协方差函数恢复光滑表面,这与球面函数不同。也就是说,使用轮廓似然方法来确定的最佳值应该会导致拟合更接近图中所示的 Matern 或指数拟合ρρ

## slightly modified from Wood (2017, pp. 362)
REML <- r <- seq(0.1, 1.5, by = 0.05)
for (i in seq_along(r)) {
  m <- gam(y ~ s(x, z, bs = "gp", k = 50, m = c(1, r[i])), data = eg$data, method = "REML")
  REML[i] <- m$gcv.ubre
}

plot(REML ~ r, type = "o", pch = 16, ylab = expression(rho))

在此处输入图像描述

在这个尝试的值序列中,REML 分数的最小值为,据我所知,该值接近该示例的 ~ 0.7 的真实有效范围,这会导致像 Matern 一样平滑的拟合和指数拟合显示较早ρ=0.65

我怀疑您会发现各种协方差函数之间的差异太大。主要问题将是建立一个轮廓似然循环来为范围参数或每个函数的一系列值拟合 GAM,并选择功率参数。然后使用导致 REML 或 ML 分数最低值的协方差函数的参数。上面的示例代码显示了如何为完成此操作。ρ

西蒙的书的第二版有一个例子。在空间上下文中,您可能会摆脱默认值 - 这基本上是说空间相关性的有效范围与观察对之间的最大距离一样大 - 但使用循环检查是一件相对简单的事情此参数的取值范围。

我不知道您可以使用gam.checkGP 平滑器来全面诊断问题;您需要为协方差函数指定任何所需参数的值,以便使用mgcv中采用的二次惩罚方法来估计这些平滑器输出gam.check将确认您是否具有正确的基础维度,但您仍需要为您正在使用的协方差函数优化其他参数。

伍德,SN (2017)。广义加法模型:R 简介,第二版。CRC出版社。