R, Временные ряды, Модель Арима, Прогнозирование, Ежедневные данные [закрыто]

Я пытаюсь сделать некоторые прогнозы спроса с ежедневными данными, с 16 января 2012 года по 10 октября 2013 года. Но прогнозирование просто возвращает ужасные результаты. Любая подсказка, почему?

Вот как данные выглядят на графике: существуют еженедельные и ежемесячные сезонности. То есть: больше спроса в будний день и меньше спроса в выходные дни.

Вот как выглядит график прогнозирования: где черная линия - это фактические данные, а синяя линия - это прогнозируемые данные.

 x = ts(data, freq=7, start=c(3,2))
 fit <- auto.arima(x)
 pred <- forecast(fit, h=300)

Я провел много исследований о том, как согласовать ежедневные данные с моделью арима. А так как есть еженедельная сезонность, поэтому я выбрал freq = 7.

Однако, поскольку прогнозы плохие. И кто-то был достаточно хорош, чтобы указать на один из методов, которыми профессор Хиндман поделился о подборе моделей с несколькими сезонностями.

https://stats.stackexchange.com/questions/74418/frequency-of-time-series-in-r/74426#74426

Поэтому я воспользовался советом хороших парней и подобрал модели по двум указанным выше методам.

Способ 1: использование функции tbats ().

x_new <- msts(x, seasonal.periods=c(7,7*52))
fit <- tbats(x_new)
fc <- forecast(fit, h=7*52)

Я использовал еженедельную сезонность 7 и ежегодную сезонность 7 * 52. Поскольку я не нашел простой способ получить месячную сезонность. Исходя из результата, прогноз тоже не очень хороший. Примечание: если я использую 7 * 4 в качестве второго сезонного периода для месяца, это дает худший прогноз.

Метод 2: Использование фурье в качестве xreg.

seas1 <- fourier(x, K=1)
seas2 <- fourier(ts(x,freq=7*52), K=1)
fit <- auto.arima(x, xreg=cbind(seas1,seas2))
seas1.f <- fourierf(x, K=1, h=7*52)
seas2.f <- fourierf(ts(x,freq=7*52), K=1, h=7*52)
fc1 <- forecast(fit, xreg=cbind(seas1.f, seas2.f))

Я попробовал это с другим K, и это не улучшает прогноз.

Поэтому я застрял! Поскольку прогнозирование далеко. Может ли кто-нибудь указать, где мои ошибки? Или как мне улучшить мою модель?

Большое спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос