#python #time-series #statsmodels #timeserieschart
Вопрос:
Я занимаюсь моделированием временных рядов (или пытаюсь это сделать). Я выполняю простую автоматическую проверку, но у меня возникают проблемы с выводом (так что, вероятно, и с вводом). Данные довольно прямолинейны. Есть времена, дни с начала и значения, которые я хочу смоделировать и спрогнозировать.
import statsmodels.api as sm
from statsmodels.tsa.ar_model import AutoReg, ar_select_order
train7 = p7.iloc[:len(p7)-1728]
test7 = p7.iloc[len(p7)-1728:]
mod = AutoReg(train7['Gv'], 5, old_names=False)
res = mod.fit()
print(res.summary())
pred = res.predict(start=len(train7), end=(len(p7)-1), dynamic=False)
from matplotlib import pyplot
pyplot.plot(pred)
pyplot.plot(test7['Gv'], color='red')
Это создает сумасшедшую диаграмму, представленную ниже.
Прогнозируемые значения оси x находятся далеко за пределами диапазона, в котором они должны быть. т. е. pred показывает диапазоны за пределами диапазона оси x, и они расположены не в правильном порядке, что, по-видимому, отражено на диаграмме ниже.
Данные p7 выглядят следующим образом :
rec1; Gv:100; time: 23:50:39; days from start: 0
rec2; Gv:150; time: 23:55:39; days from start: 0
rec3; Gv:190; time: 00:00:39; days from start: 1
Я в растерянности. Очевидно, я пропустил или пропустил что-то важное. Впервые моделирую TS на python.
Комментарии:
1. Я думаю, что индекс p7 неверен. На что это
pf7.head(10)
похоже?2. p7.глава(10) показывает, что вы правы. Я забыл сбросить индекс.