使用Python/Numpy将数据拟合到多项式曲线

BLL*_*L27 1 python numpy curve-fitting polynomial-math scipy

我有一些时间序列数据,我试图使用polyfitNumpy中的函数拟合曲线.我已使用该date2num函数将日期时间x值转换为数字,并绘制了原始数据,即大约600个数据点(01-01-2014 - 10-08-2015).

我试图导出曲线的表达式,以便我可以近似预测未来的数据点,例如在我绘制的数据之后的30天内.然而,当以任何顺序绘制时,我的多项式表达式都是偏离的.我确信我正在做一些明显错误的事情,但似乎无法破解它.

x = df["dates"]
y= df["brand"]

poly = numpy.polyfit(x, y, 5)
polynomial = numpy.poly1d(poly)

xs = numpy.linspace(x[0], x[-1]+60, len(x)+60)
y_int = polynomial(xs)

plt.plot(x, y)
plt.plot(xs, y_int)
plt.show()
Run Code Online (Sandbox Code Playgroud)

下图显示了蓝色的原始曲线.

两条曲线图.

Glo*_*tas 5

我不能发表评论,因为我缺乏声誉.如果管理员将此移动到评论我会很高兴.我认为问题是你的数据看起来根本不是多项式的.你最终会得到一个不能用多项式实现的平台.

也许尝试其他功能.没有任何关于数据来源的知识,很难说哪种功能是有用的......