Прогнозирование продаж с учётом расходов на рекламу
Добро пожаловать в последнюю главу курса!
Функция auto.arima() позволяет подобрать модель динамической регрессии с ошибками ARIMA. По сравнению с предыдущим использованием изменение только одно: теперь вы будете передавать аргумент xreg с матрицей регрессионных переменных. Вот примеры кода из видео:
> fit <- auto.arima(uschange[, "Consumption"],
xreg = uschange[, "Income"])
> # rep(x, times)
> fcast <- forecast(fit, xreg = rep(0.8, 8))
Здесь данные задаются столбцом Consumption набора uschange, а регрессионная переменная — столбцом Income. Функция rep() в данном случае повторяет значение 0,8 ровно восемь раз для матричного аргумента xreg.
В этом упражнении вы построите модель продаж в зависимости от расходов на рекламу, добавив ошибку ARMA для учёта автокорреляции в остатках регрессии. В вашем рабочем пространстве доступен набор данных advert, содержащий 24 месяца данных о продажах и рекламных расходах компании по продаже автозапчастей. На графике показана зависимость продаж от рекламных расходов.
Вспомните всё, что вы изучили в этом курсе, изучите данные advert в консоли и внимательно прочитайте каждую инструкцию, чтобы справиться с этим непростым упражнением.
Это упражнение является частью курса
Прогнозирование в R
Инструкции к упражнению
- Постройте график данных из
advert. Поскольку переменные имеют разные шкалы, используйтеfacets = TRUE. - Подберите регрессию с ошибками ARIMA для
advert: в качестве первого аргументаauto.arima()укажите столбец"sales", второго аргументаxreg— столбец"advert", третьего аргументаstationary— значениеTRUE. - Убедитесь, что подобранная модель является регрессией с ошибками AR(1). Каков прирост продаж при увеличении рекламных расходов на одну единицу? Этот коэффициент является третьим элементом в выводе функции
coefficients(). - Постройте прогноз на основе подобранной модели, задав расходы на рекламу на следующие 6 месяцев по 10 единиц в месяц, и сохраните результат в
fc. Чтобы повторить значение 10 шесть раз, используйте функциюrep()внутриxreg, как в примере кода выше. - Постройте график прогнозов
fcи дополните предложенный код: добавьте подпись оси x"Month"и подпись оси y"Sales".
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Time plot of both variables
autoplot(___, ___)
# Fit ARIMA model
fit <- auto.arima(___[, ___], xreg = ___[, ___], stationary = ___)
# Check model. Increase in sales for each unit increase in advertising
salesincrease <- ___(___)[___]
# Forecast fit as fc
fc <- forecast(___, xreg = ___)
# Plot fc with x and y labels
autoplot(___) + xlab(___) + ylab(___)