gam
R のパッケージの関数を使用して 3 次スプラインを当てはめたいと思い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