Тест на сезонность временных рядов

9

Каковы самые простые тесты сезонности для временных рядов?

Будучи более конкретным, я хочу проверить, имеет ли specific time series the seasonal componentсмысл.

Какие рекомендуемые пакеты в Python / R?

Майкл Д
источник

Ответы:

5

Перед тестированием на сезонность вы должны подумать, какой тип сезонности у вас есть. Обратите внимание, что существует много разных типов сезонности:

  • Аддитивная или мультипликативная сезонность
  • Одиночная или множественная сезонность
  • Сезонность с четным или неравномерным количеством периодов. Каждый год имеет двенадцать месяцев, но 52,1429 недель.
  • Тренд против сезонности: модель сезонности всегда появляется в один и тот же период, но тенденция может появляться немного позже или раньше, а не точно каждые 5 лет. Одним из примеров тренда являются бизнес-циклы.

Одним из наиболее распространенных методов определения сезонности является разложение временных рядов на несколько компонентов.

В R вы можете сделать это с помощью decompose()команды из предустановленного пакета статистики или с помощью stl()команды из пакета прогноза.

Следующий код взят из Маленькой книги R для временных рядов

births <- scan("http://robjhyndman.com/tsdldata/data/nybirths.dat")
birthstimeseries <- ts(births, frequency = 12, start = c(1946,1))
birthstimeseriescomponents <- decompose(birthstimeseries)
plot(birthstimeseriescomponents)

введите описание изображения здесь

Вы можете проверить отдельные компоненты с

  • birthstimeseriescomponents$seasonal

  • birthstimeseriescomponents$random

  • birthstimeseriescomponents$trend


Другой метод состоит в том, чтобы включить сезонные манекены и проверить, имеют ли они значимые p-значения при вычислении регрессии. Если отдельные месяцы имеют значимые коэффициенты, ваш месячный временной ряд является сезонным.


Другой метод определения сезонности - это либо построить сами данные, либо построить ACF (автокорреляционная функция). В нашем случае вы можете легко заметить, что есть сезонность.

введите описание изображения здесь

введите описание изображения здесь


И, наконец, что не менее важно, существуют некоторые «формальные» тесты гипотез для определения сезонности, такие как T-тест Стьюдента и критерий Уилкоксона со знаком.

Ферди
источник
в моем случае я сам не знаю (аддитивная или мультипликативная, одиночная или множественная сезонность с четным или неравномерным числом периодов), у меня много временных рядов, и я хотел бы иметь приблизительный типич возможный. Для начала я хотел бы начать с аддитивной, одиночной сезонности, даже + даже не даже. @Ferdi
Майкл Д
может быть, вам стоит подумать о своих данных: это ежедневные, еженедельные, ежемесячные или квартальные данные? Есть ли шоки или нарушения? что вы наблюдаете, когда визуализируете это?
Ферди
некоторые временные ряды имеют еженедельные, ежедневные, ежечасные. А некоторые другие не имеют вообще. Для первого шага я хочу определить, означает ли сезонный компонент полное значение. Для вашего второго примера это лаг 3 и 12. Но как-то на глаз я не вижу никакой сезонности в лаге 3. Лучше вместо этого смотреть на pacf ? Если я посмотрю на ACF или PACF, как я различаю модель AR (p) (которая не является сезонной) и сезонную модель? @Ferdi
Michael D
Я не знаю ни одного алгоритма, который вы можете использовать вслепую на любых временных рядах для проверки сезонности
Ферди
1
Я ... AUTOBOX автоматически ищет как стохастическую, то есть структуру ARIMA, так и детерминированную структуру (фиксированные эффекты, такие как день недели, месяц года, день месяца, квартал - год и т. д.) при работе с такими сложностями, как сдвиг шага / уровня, местные временные тренды, импульсы, изменения обоих параметров и отклонения ошибок во времени. Есть версия R Это результат моей докторской диссертации по автоматизации идентификации моделей временных рядов как в одномерных, так и в многомерных условиях.
IrishStat
0

Мои мысли, чтобы проверить амплитуду:

  • Автокорреляционная функция ACF
  • Частичная автокорреляционная функция PACF
  • Коэффициенты Фурье

(Коэффициенты Фурье связаны с ACF через теорему Винера-Хинчина .)

Майкл Д
источник