Ответы:
Перед тестированием на сезонность вы должны подумать, какой тип сезонности у вас есть. Обратите внимание, что существует много разных типов сезонности:
Одним из наиболее распространенных методов определения сезонности является разложение временных рядов на несколько компонентов.
В 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-тест Стьюдента и критерий Уилкоксона со знаком.
Мои мысли, чтобы проверить амплитуду:
(Коэффициенты Фурье связаны с ACF через теорему Винера-Хинчина .)