набор данных
график набора данных
набор данных
график набора данных
набор данных
график набора данных
p>
Seasonal_decompose
Сначала я проверил стационарность данных с помощью теста Дики Фуллера и получил значение p как 0,000002, что меньше 0,05, следовательно, данные стационарный. Поэтому я попытался найти p,d,q и P,D,Q, используя autoarima из pmarima с m=30.
Код: Выделить всё
import pmdarima as pm
SARIMA_model = pm.auto_arima(df['Premium'].iloc[0:911], start_p=1, start_q=1,
test='adf',
max_p=3, max_q=3,
m=30,
start_P=0,
seasonal=True,
d=None,
D=1,
trace=False,
error_action= 'ignore',
suppress_warnings=True,
stepwise=True)
Затем я тренировался и использовал модель для прогнозирования на тестовом наборе, я получил MAPE как 127.722, ошибку MSE: 1.132537192e+13 и
ошибку RMSE: 3365318.993.
Прогноз SARIMA (2,0 ,0),(2,1,0,30)
После этого я попытался улучшить его, включив экзогенную переменную в качестве дней недели.
Код: Выделить всё
exog=train['Weekday_detect']
Предсказание SARIMAX (2,0,0)x(2,1,0,30)
Я получил MAPE = 172.365, ошибка MSE: 1.2762327619e+13 и ошибка RMSE: 3.5724400092e+06.
Поэтому мой вопрос - где это могло пойти не так, имея не совсем-плохое- оранжевые линии прогнозирования по сравнению с невероятно большими MAPE, MSE и RMSE? Что является причиной таких больших цифр? Как я могу улучшить эту модель, чтобы она была более точной? Может ли быть причиной этого годовая сезонность, о которой я здесь не упомянул?
И как подойти к включению годовой сезонности в эту модель?
Подробнее здесь: https://stackoverflow.com/questions/787 ... e-accurate