mgcv 中的循环自适应样条

Cyclic adaptive spline in mgcv

我想将 GAM 拟合到具有循环预测变量的数据中,并且大部分波动都在循环的特定部分。

有什么方法可以使循环样条(bs = 'cc' 或 'cp')自适应吗? ...或者,等效地,使自适应样条 (bs = 'ad') 循环?

是; mgcv.

中的自适应样条基础已经允许这样做

自适应样条的默认基础是 P 样条。您可以切换到该类型样条的循环版本或使用循环三次样条。

要使其正常工作,您必须将信息传递给平滑函数的 xt 参数,同时将 bs = "ad" 留给自适应基础。

对于循环 P 样条你会做

y ~ s(x, bs = "ad", xt = list(bs = "cp"))

对于循环三次样条,您将使用

y ~ s(x, bs = "ad", xt = list(bs = "cc"))

xt 参数通常用于此类基础具有其他可配置选项的情况。 fs 基础类似,其中 xt 允许您控制用于随机平滑的基础。

要查看的另一个参数是 m;其中 k 指定实际平滑的基础维度,可以使用 m 设置自适应部​​分的基础,更高的 m 表示惩罚在范围内的潜在变化更多x,就像 k 允许在平滑 x 上有更多摆动一样。

这些详细信息在 ?smooth.construct.ad.smooth.spec 中讨论(或 ?adaptive.smooth 作为该页面的更简单的快捷方式。)