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
作为该页面的更简单的快捷方式。)
我想将 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
作为该页面的更简单的快捷方式。)