Во-первых, я извиняюсь за мой английский.
Во-вторых, но цель моего поста в том, что я не понимаю результат применения метода polyfit к моим данным.
Я пытаюсь получить график скорости загрузки за день, все значения (точки) в порядке, но когда я пытаюсь получить полиномиальную линию, коэффициенты сводятся с ума.
Вот мой код:
import matplotlib.dates as pltDates
import numpy as np
import numpy.polynomial.polynomial as poly
dates = pltDates.date2num(timeValues)
polyLineEq = poly.polyfit(dates, downloadValues, 2)
polyLine = np.poly1d(polyLineEq)
plt.plot(xx, polyLine(xx))
Где timeValues - это список времени захвата скорости, а downloadValues - список времени захвата скорости.
Вот записи:
downloadValues:
[637.7002837917455, 360.3778120551389, 619.5766620821665, 636.9486179554266, 664.3231094306018, 738.2680311720497, 243.8327594142206, 742.9903527743229, 686.7140415927788, 668.3225185514085, 676.523718421761, 649.8826401724951, 672.2717746125593, 538.7263431234095, 753.3713378294058, 741.35418932585, 236.69393515608996, 644.9317040466514]
даты:
[737025.89454078 737025.90627192 737025.90696364 737025.9076631 737025.90835721 737025.90905097 737025.90974066 737025.91043157 737025.91113666 737025.91183039 737025.91252393 737025.91321981 737025.91391471 737025.91460573 737025.91529649 737025.91599611 737025.91668863 737025.91738283]
И результаты для степеней = 2:
polyLineEq:
-9.52e+07 x + 0.0002777 x + 0.0001752
polyLine (xx):
[-5.17110011e+19 -5.17110013e+19 -5.17110014e+19 -5.17110016e+19 -5.17110018e+19 -5.17110020e+19 -5.17110022e+19 -5.17110024e+19 -5.17110026e+19 -5.17110028e+19 -5.17110030e+19 -5.17110031e+19 -5.17110033e+19 -5.17110035e+19 -5.17110037e+19 -5.17110039e+19 -5.17110041e+19 -5.17110043e+19]
для градусов = 0:
0 градусов составляетлиния, которая выглядит хорошо, но это только линейная линия (нормальная для степени 0).
Для информации я уже пытался округлять значения и делить значения для работы с меньшими значениями, но с тем же результатом.
Что я неправильно понимаю?
Можно ли сделать то, что яищите (линия, отображающая тренд моей скорости загрузки)?
Большое спасибо за вашу помощь!
Хорошего дня;)
Ответ : в моих данных слишком много шума, чтобы иметь хорошую линию.