![](/img/trans.png)
[英]using numpy.polynomial.hermite.hermfit in python for curve fitting to data?
[英]Fitting data to a polynomial curve with Python/Numpy
我有一些時間序列數據,試圖使用Numpy中的polyfit
函數擬合到曲線。 我已使用date2num
函數將datetime x值轉換為數字,並繪制了原始數據的圖表,該數據大約為600個數據點(2014年1月1日-2015年10月8日)。
我正在嘗試得出曲線的表達式,以便可以大致預測未來的數據點,例如超出圖形數據的未來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()
下圖以藍色顯示了原始曲線。
我無法發表評論,因為我缺乏聲譽。 如果管理員將其移至評論,我將很高興。 我認為問題在於您的數據看起來根本不是多項式。 最終,您會遇到一個無法通過多項式實現的平台。
也許嘗試其他功能。 在不了解數據來源的情況下,很難說出哪種功能有用。
嘗試在75的間隔上使用1級函數。 真正使用多項式擬合並不是這種函數所需要的。 看起來最像是2個線段連接在一起,因此在某些點上的線性擬合將為您提供非常好的擬合。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.