我想使用Rgam
中包中的函数拟合三次样条曲线mgcv
。此外,我想将训练集之外的值(外部结点之外)约束为等于最近的结点值。也就是说,不应在训练数据范围之外进行模型预测。我知道我可以通过消除predict
调用中的这些点然后将它们设置为训练数据的最小值和最大值来做到这一点。但是,是否有内置方法gam
可以做到这一点(只是让它更干净一点?)
示例代码:
require(mgcv)
x = 10:90
y = x^2
mdl = gam(y ~ s(x, bs="cr"))
needed_x = 1:100
p = predict(mdl, newdata = list(x = needed_x)) #this returns model values form 1:9 and 91:100