Не вложенная двойная сезонность с использованием dshw() в R

Я пытаюсь использовать dshw(), чтобы справиться с двойной сезонностью - в моем случае, ежедневными данными с недельной (7-дневной) и однолетней (365-дневной) сезонностью. Тем не менее, я получаю следующую ошибку при запуске моего кода:

data<-msts(1:1000, seasonal.periods=c(7,365), ts.frequency=365, start=2012)
decompose<-dshw(data, period1=7, period2=365)
 -- Error in dshw(data, period1 = 7, period2 = 365) : Seasonal periods are not nested

Как вы думаете, что является лучшей практикой, чтобы обойти эту проблему? Должен ли я просто использовать stl дважды для моих данных (для частот 7 и 365 дней)? Или как-то изменить данные?

Спасибо!

1 ответ

Решение

Попробуйте tbats() модель вместо. Он был специально разработан, чтобы избежать этой проблемы. DSHW является частным случаем модели TBATS.

decompose <- tbats(data)

Если вы определите period2 в терминах period1, вы не получите ошибку.

Вместо:

разложить<-dshw (данные, период1 = 7, период2 = 365)

использовать:

разложить<-dshw (данные, период1 = 7, период2 = 7 * 52)

Другие вопросы по тегам