mgcv工具箱中的大多数额外平滑实际上都是用于专业应用程序的-对于一般GAM,您可以在很大程度上忽略它们,尤其是单变量平滑(您不需要随机效果样条,球面上的样条,马尔可夫随机场,或肥皂膜平滑剂(例如,如果您拥有单变量数据)。
如果您可以承担设置成本,请使用薄板回归样条(TPRS)。
这些样条曲线在渐近MSE意义上是最佳的,但每次观察都需要一个基函数。Simon在mgcv中所做的工作是通过采用完整的TPRS基础并对其进行特征分解来生成标准TPRS的低等级版本。这创建了新的基础,其中k
新空间中的第一个基础函数将大部分信号保留为原始基础,但保留的信号要少得多。这是mgcv设法获得仅使用指定数量的基本函数而不是每个观察值使用一个指定数量的TPRS的方式。该特征分解保留了经典TPRS基础的大部分最优性,但是对于大型数据集却需要大量的计算工作。
如果您无法承担TPRS的设置费用,请使用三次回归样条(CRS)
这是快速生成的基础,因此适用于大量数据的问题。但是,它是基于结的,因此在某种程度上,用户现在需要选择这些结的放置位置。对于大多数问题,超出默认的结点放置(在数据的边界处并在它们之间均匀间隔)几乎无济于事,但是如果在协变量范围内采样特别不均匀,则可以选择放置结点例如,均匀分布的协变量样本分位数。
mgcv中的每个其他平滑都是特殊的,用于需要各向同性的平滑或两个或多个协变量的地方,或者用于空间平滑的地方,或者实现收缩,随机效果和随机样条曲线的地方,或者协变量是循环的,或者摆动性在协变量的范围。你只需要,如果你有需要特殊处理的问题冒险远成光滑的工具箱这一点。
收缩率
有在两个的TPR收缩版本和CRS mgcv。这些会执行样条,其中基础的完美平滑部分也会受到平滑度损失的影响。这使平滑度选择过程可以将平滑度缩小到甚至超出线性函数的范围,甚至基本上缩小到零。这使得平滑度损失也可以执行特征选择。
Duchon样条,P样条和B样条
这些样条线可用于需要单独指定基本订单和罚款订单的专业应用程序。Duchon花键将TPRS泛化。我得到的印象是,P样条曲线已添加到mgcv中,以便与其他基于惩罚性似然方法的比较,并且因为它们是Eilers&Marx在其1996年的论文中使用的样条曲线,刺激了GAM中的许多后续工作。P样条线还可用作其他样条线的基础,例如具有形状约束的样条线和自适应样条线。
如mgcv中所实现的B样条线为设置样条线的惩罚和结点提供了很大的灵活性,这可以允许在观察到的数据范围之外进行某些推断。
循环样条
如果可以将协变量的值范围视为一个圆,在该圆上,该范围的终点应实际上是等效的(一年中的月份或日期,运动角度,坡向,风向),则可以对此施加约束基础。如果您有这样的协变量,则强加此约束是有意义的。
自适应平滑器
自适应样条线不是在协变量的各个部分中使用单独的GAM,而是使用加权惩罚矩阵,在该矩阵中权重在协变量范围内平稳变化。例如,对于TPRS和CRS样条曲线,它们在整个协变量范围内都具有相同程度的平滑度。如果不是这种关系,则最终可能会使用比预期更多的自由度,以使样条曲线能够适应摆动和非摆动的零件。平滑文献中的经典示例是
library('ggplot2')
theme_set(theme_bw())
library('mgcv')
data(mcycle, package = 'MASS')
pdata <- with(mcycle,
data.frame(times = seq(min(times), max(times), length = 500)))
ggplot(mcycle, aes(x = times, y = accel)) + geom_point()
这些数据清楚地显示出不同平滑度的周期-对于系列的第一部分实际上为零,在冲击过程中很多,随后减小。
如果我们将标准GAM应用于这些数据,
m1 <- gam(accel ~ s(times, k = 20), data = mcycle, method = 'REML')
我们得到了合理的拟合度,但是在开始和结束时存在一些额外的摆动性,times
并且所使用的拟合度约为14个自由度
plot(m1, scheme = 1, residuals = TRUE, pch= 16)
为了适应变化的摆动,自适应样条使用加权惩罚矩阵,其权重随协变量平滑变化。在这里,我使用相同的基本尺寸(k = 20)来对原始模型进行重新拟合,但是现在我们有5个平滑度参数(默认为m = 5
),而不是原始的1个。
m2 <- gam(accel ~ s(times, k = 20, bs = 'ad'), data = mcycle, method = 'REML')
请注意,该模型使用的自由度要少得多(〜8),并且拟合的光滑度在端部的摆动要小得多,同时仍然能够充分适应冲击过程中头部加速度的大变化。
实际情况是,样条曲线具有平滑的基础和惩罚的基础(以使权重随协变量平滑地变化)。通过这两个默认是P样条曲线,但你也可以使用CRS基础类型太(bs
只能是一个'ps'
,'cr'
,'cc'
,'cs'
。)
如此处所示,是否选择自适应实际上取决于问题。如果您有一个关系,您认为函数形式是平滑的,但是平滑度在该关系的协变量范围内变化,则自适应样条线可能有意义。如果您的系列有快速变化的时期而有较低或逐渐变化的时期,则可能表明可能需要自适应平滑。