прогнозирование по модели Холт-Уинтерса

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.holtwinters import ExponentialSmoothing

df =pd.read_csv(r"C:\Users\USER\PycharmProjects\mysqlconnection\mul.csv",
                 index_col='finalYears')

)
df.index.freq = 'M'
train, test = df.iloc[:20, 0], df.iloc[20:, 0]
model = ExponentialSmoothing(train, seasonal='mul', seasonal_periods=4).fit()
pred = model.predict(start=test.index[0], end=test.index[-1])

plt.plot(train.index, train, label='Train')
plt.plot(test.index, test, label='Test')
plt.plot(pred.index, pred, label='Holt-Winters')
plt.legend(loc='best')

Я пробовал прогнозировать с помощью модели Холта-Уинтерса, как показано выше, но я продолжаю получать эту ошибку. ошибка возникает в строке pred, в которой говорится, что «аргумент start не может быть сопоставлен с местоположением, связанным с индексом данных». , как мне обработать эту ошибку?

Это мои данные. я группирую данные по кварталам 1


person pixca ziera    schedule 30.11.2019    source источник


Ответы (1)


Из здесь кажется, что начало и конец должны быть int,str или datetime. Если я сделаю

start = 20
end = test.shape[0]+20
pred = model.predict(start=start, end=end)

затем выполняется предсказание. read_csv, возможно, преобразовал ваш столбец индекса во что-то другое, чем int/str/datetime.

person jeremy_rutman    schedule 30.11.2019
comment
спасибо за ответ :) Но это дает мне другую ошибку, которая является ошибкой построения графика, которая говорит об этом. Ошибка IndexError: индекс кортежа вне допустимого диапазона. Можете ли вы помочь мне с этим ? - person pixca ziera; 01.12.2019
comment
проверьте длину ваших векторов поезда, теста и пред, может быть, один или несколько имеют нулевую длину? - person jeremy_rutman; 01.12.2019
comment
эй, я уже запутался, что мне нужно изменить :( ошибка связана с этой строкой? df.index.freq = 'M' train, test = df.iloc[:20, 0], df.iloc[20: , 0] По сути, я хочу протестировать запуск со строки 20 и ниже в моем файле данных (приведенном выше). Надеюсь, вы поможете мне решить эту проблему :) - person pixca ziera; 01.12.2019