Я пытаюсь поэкспериментировать с HoltWinters, используя некоторые случайные данные.Однако, используя statsmodel api, я не могу предсказать следующие X точек данных.
Вот мой пример кода.Я не могу понять API Предсказание и что оно означает под start
и end
.
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.holtwinters import ExponentialSmoothing
data = np.linspace(start=15, stop=25, num=100)
noise = np.random.uniform(0, 1, 100)
data = data + noise
split = int(len(data)*0.7)
data_train = data[0:split]
data_test = data[-(len(data) - split):]
model = ExponentialSmoothing(data_train)
model_fit = model.fit()
# make prediction
pred = model_fit.predict(split+1, len(data))
test_index = [i for i in range(split, len(data))]
plt.plot(data_train, label='Train')
plt.plot(test_index, data_test, label='Test')
plt.plot(test_index, pred, label='Prediction')
plt.legend(loc='best')
plt.show()
Я получил странный график для прогноза и считаю, что он как-то связан с моим пониманием predict
API.