Прогнозирование продаж для нескольких отделов с использованием внешних факторов
У меня есть еженедельная информация о продажах для разных мест в течение примерно 3 лет. У меня есть информация за 157 недель. Кроме того, у меня есть возможные внешние факторы, влияющие на продажи. Я хочу прогнозировать продажи для каждого из мест в течение следующих 5 недель. с учетом влияния других независимых факторов.
Вот мой набор данных:
https://drive.google.com/file/d/0Bx_EVbbAkrHMcWxFc2ZSb0NTcTg/view?usp=sharing
Для начала я написал код для одного местоположения и хочу разработать его для нескольких местоположений и других факторов.
Вполне возможно, что все факторы могут не повлиять на продажи. Моя идея найти важные движущие силы для продаж, а затем использовать их в прогнозировании.
Вот мой код на некоторых образцах данных (случайный):
s.date <- c (2011,46) sales <- ts (mystore $ Sales, start = s.date, частота = 52)
sales
Time Series:
Start = c(2011, 46)
End = c(2014, 46)
Frequency = 52
[1] 357 429 256 131 497 389 265 360 126 401 205 294 173 121 446 333 142 361 119
[20] 228 396 386 149 398 333 349 274 269 174 298 115 193 289 468 494 295 440 482
[39] 328 379 337 491 331 182 279 497 239 434 462 119 167 133 145 251 199 428 472
[58] 193 448 480 154 244 108 150 173 273 357 277 219 216 211 340 101 192 309 281
[77] 423 373 135 354 179 459 500 445 259 341 325 167 335 431 322 140 188 430 238
[96] 299 204 350 120 262 193 433 159 457 216 487 239 242 281 207 440 386 339 490
[115] 225 223 208 322 279 408 312 168 249 438 242 241 369 214 383 310 487 382 465
[134] 480 127 394 274 335 369 332 145 210 265 467 115 372 447 270 440 278 122 477
[153] 353 360 451 309 347
> fit_sales <- auto.arima(sales)
> forecast_sales <- forecast(fit_sales,5)
> summary(forecast_sales)
Forecast method: ARIMA(0,0,0)(1,0,0)[52] with non-zero mean
Model Information:
Series: sales
ARIMA(0,0,0)(1,0,0)[52] with non-zero mean
Coefficients:
sar1 intercept
0.0630 303.2885
s.e. 0.0969 9.5327
sigma^2 estimated as 13012: log likelihood=-966.56
AIC=1939.11 AICc=1939.27 BIC=1948.28
Error measures:
ME RMSE MAE MPE MAPE MASE ACF1
Training set -0.01696482 114.0691 97.73952 -19.54967 42.19241 0.7709323 0.0365932
Forecasts:
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
2014.885 314.8688 168.6833 461.0543 91.29737 538.4402
2014.904 299.2361 153.0506 445.4216 75.66467 522.8075
2014.923 299.4252 153.2397 445.6107 75.85377 522.9966
2014.942 301.8836 155.6981 448.0691 78.31214 525.4550
2014.962 297.2190 151.0335 443.4045 73.64754 520.7904
> accuracy(forecast_sales)
ME RMSE MAE MPE MAPE MASE ACF1
Training set -0.01696482 114.0691 97.73952 -19.54967 42.19241 0.7709323 0.0365932
> plot(forecast_sales)
> forecast_sales
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
2014.885 314.8688 168.6833 461.0543 91.29737 538.4402
2014.904 299.2361 153.0506 445.4216 75.66467 522.8075
2014.923 299.4252 153.2397 445.6107 75.85377 522.9966
2014.942 301.8836 155.6981 448.0691 78.31214 525.4550
2014.962 297.2190 151.0335 443.4045 73.64754 520.7904
Хотелось бы знать, позаботится ли об авто сезонности сама по себе сезонность или нет (хотя выбрана оптимизированная модель)? Мне известны основы преобразования, стационарные тесты, различие для трендов,acf,pacf, тест белого шума для остатков. Как я должен реализовать их в моем случае.
Пожалуйста, помогите мне с кодом для моего случая. Должен ли я пойти на любой цикл?
1 ответ
Это учитывает сезонность. Посмотрите на страницу помощи для auto.arima под 'D'.
Кроме того, если у вас много информации, вы можете попробовать другие способы прогнозирования, такие как случайные леса и т. Д. В настоящее время я прогнозирую компанию на 4 месяца вперед, и мои модели временных рядов не могут приблизиться к другим моим моделям., Я использую входные данные, такие как то, что было доходом сегодня -364. Какие цены? Месяц года. И многое другое. Я считаю, что могу получить больше информации в стандартной модели, в отличие от auto.arima.
А также, это не совсем форум для такого вопроса. Я думаю, что вы хотите Cross-Validated:).