Вложенные сезоны HoltWinters в R

У меня есть набор данных о ежедневном спросе за последние 2 года. Данные имеют еженедельные сезоны и вложенные ежедневные сезоны. Я преобразовал данные во временной ряд, используя функцию ts с частотой = 365. При использовании метода Холт-Винтерса сейчас он интерпретирует каждый день как собственный сезон, что приводит к ненадежным результатам. Как я могу сказать ему, чтобы он включал только 59 сезонов (52 еженедельных и 7 ежедневных сезонов)?


person Peter Dieter    schedule 09.02.2018    source источник


Ответы (1)


Прежде всего, еженедельная сезонность означает, что модель может повторяться каждую неделю. Ежедневная сезонность означает, что закономерность может повторяться каждый день. Чтобы ваша модель содержала ежедневную сезонность, вам нужен временной ряд с более высокой частотой, чем ежедневный. Я предполагаю, что под '52 недельных и 7 ежедневных сезонов' вы подразумеваете, что хотите указать 52 сезонных фактора для годовой сезонности и 7 сезонных факторов (логически) для еженедельной сезонности.

Частота определяет количество наблюдений за цикл (сезон). С ежедневными данными недельная сезонность вводится:

ts(x, frequency = 7)

Возможно, вы захотите ограничить себя использованием только этого. (https://robjhyndman.com/hyndsight/dailydata/)

Вместо объекта ts можно использовать объект msts (многосезонный временной ряд) следующим образом, чтобы указать еженедельную и годовую сезонность.

msts(x, seasonal.periods = c(7, 365.25))

Или опустите наблюдения за високосными днями и просто используйте 365. Вы можете использовать летучие мыши или tbats:

y <- msts(x, seasonal.periods=c(7,365.25))
fit <- tbats(y)
fc <- forecast(fit)
plot(fc)

Вы должны взглянуть на https://robjhyndman.com/hyndsight/dailydata/

Надеюсь это поможет.

person StackerDekker    schedule 11.01.2019