0
我正在尝试使用广义相加模型拟合非线性模型。如何确定要使用的样条线数量。是否有特定的方式来选择样条的数量?我已经使用了三阶(立方)样条拟合。以下是代码。广义相加模型 - 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()
这是预期的结果
原始数据散点图
如果未正确选择花键的数量,然后我得到一个不正确拟合。
请,我想建议的方法来精确选择样条数。