Я сделал преобразование в свои данные, чтобы сделать его стационарным, а затем предсказал 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)