【发布时间】:2018-02-03 10:02:53
【问题描述】:
我正在尝试使用广义加法模型拟合非线性模型。如何确定要使用的样条线数。有没有特定的方法来选择样条线的数量?我使用了三阶(三次)样条拟合。下面是代码。
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()
这是预期的结果
原始数据散点图
如果没有正确选择样条线的数量,那么我得到的拟合不正确。
拜托,我想要一个准确选择样条线数量的方法建议。
【问题讨论】:
标签: python curve-fitting spline gam