Прогноз временных рядов - ARIMA / ARIMAX с ежедневными данными в R - PullRequest
1 голос
/ 20 марта 2019

enter code here Я работаю над проектом по анализу и прогнозированию временных рядов продаж и доходов клиента.Существуют различные модели, которые я хочу протестировать в целях точности, а именно: Линейный метод Холта, Метод Холта Винтера, ARIMA, Seasonal ARIMA и ARIMAX (поскольку я также хочу учитывать категориальные переменные в данных).Данные представлены в ежедневной форме, и, следовательно, я выбрал частоту 7.

startW <- as.numeric(strftime(head(revenue$date, 1), format = "%W"))
startD <- as.numeric(strftime(head(revenue$date, 1) + 1, format =" %w")) 
revenue <- ts(revenue$amount, start = c(startW, startD), frequency = 7)

Затем я разделил их на тренировку и тестирование, сохранив последний месяц в качестве периода ожидания.

Я использовал функцию auto.arima() для модели ARIMA, и она дает ARIMA (0,0,0) (2,1,0) [7].Что это значит?График остатков выглядит следующим образом Residual Plot 1

После этого я добавил праздники в качестве экзогенной переменной

encoded_regressors <- sparse.model.matrix(amount~holiday, data = train_set)
encoded_regressors <- (encoded_regressors[,-1])
model2 <- auto.arima(revenue.train, xreg = encoded_regressors)

Модель, которую я получаю сейчас, - ARIMA (0,0, 1) (2,1,0) [7] и здесь - остаточный участок Residual Plot 2.

В обоих случаях, если я вижу разницу в прогнозируемом и наблюдаемом значении, процентная разница колеблется в среднем от 3% до 50%.Как я могу улучшить свою модель и понять результаты модели ARIMA?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

Графики ACF и PACF временного ряда такие же, как в ACF Plot PACF Plot

Если мое понимание верно, ACF предлагает q = 7 иPACF предлагает p = 7?

0 голосов
/ 20 марта 2019

Вы, похоже, используете auto.arima() из пакета forecast. Вы можете найти много полезной информации об использовании этого пакета и прогнозировании временных рядов в R здесь . Для вывода, который вы дали, 3 значения в первых скобках относятся к порядку p, d и q в модели ARIMA. p - авторегрессионный член, d - порядок разности, а q - член скользящей средней. 3 значения во вторых скобках относятся к сезонным компонентам P, D и Q, причем каждое из них относится к терминам авторегрессии, дифференцирования и скользящего среднего соответственно. Число 7 в скобках относится к выбранной вами частоте.

В общем, чтобы найти лучшую модель ARIMA, вы должны взглянуть на Информационный критерий Акаике (AIC) или Байесовский информационный критерий (BIC) и попытаться свести их к минимуму. Снова, посмотрите на ссылку для более подробной информации.

...