Стационарный в SARIMA - PullRequest
       9

Стационарный в SARIMA

0 голосов
/ 02 марта 2020

Я сделал преобразование в свои данные, чтобы сделать его стационарным, а затем предсказал SARIMA за последние 6 месяцев, я знаю, как инвертировать преобразованные данные, чтобы получить исходные данные, но как насчет прогнозов, как преобразовать их так, чтобы я можете сравнить его с реальным тестовым набором не преобразованным ??

мои данные

date_block_num
0         131479.0
1         128090.0
2         147142.0
3         107190.0
4         106970.0
Name: item_cnt_day, dtype: float64

функция трансформатора

def difference(dataset, interval=1):
    diff = list()
    for i in range(interval, len(dataset)):
    value = dataset[i] - dataset[i - interval]
    diff.append(value)
    return diff

обратная функция

def inverse_difference(last_ob, value):
    return value + last_ob

Это преобразованный набор для проверки и обучения, я хочу то же самое, что и ниже, но по исходным данным я могу преобразовать тест и обучить, но как это сделать на предсказаниях? :

plt.figure(figsize = (12,6))
yhat = results.predict(27, 32)

plt.plot(ts_train_transformed, label='Train')
plt.plot(ts_test_transformed, label='Test')
plt.plot(yhat, label='Prediction')

plt.xlabel('Date block num')
plt.ylabel('number of items sold')
plt.title("last 6 months")
plt.legend()
plt.show()
rmse = sqrt(mean_squared_error(ts_test,yhat))
print('RMSE for 6 months ahead: %.1f' % rmse)

enter image description here

...