一般化加算モデルを使って非線形モデルに適合しようとしています。使用するスプラインの数を決定する方法スプラインの数を選択する具体的な方法はありますか? 3次(立方体)のスプラインフィットを使用しました。以下はコードです。一般化された加算モデル - Python
from pygam import LinearGAM
from pygam.utils import generate_X_grid
# Curve fitting using GAM model - Penalised spline curve.
def modeltrain(time,value):
return LinearGAM(n_splines=58,spline_order=3).gridsearch(time, value)
model=modeltrain(t1,x1)
# samples random x-values for prediction
XX = generate_X_grid(model)
#plots for vizualisation
plt.plot(XX, model.predict(XX), 'r--')
plt.plot(XX, model.prediction_intervals(XX,width=0.25), color='b', ls='-- ')
plt.scatter(t1, x1)
plt.show()
これは、スプラインの数が正しく選択されていない場合、私は間違ったフィット感を得ることが期待結果
オリジナルデータの散布図
です。
スプラインの数を正確に選択する方法の提案をお願いします。