установка параметра «частота» для многолетнего среднего значения почасовых данных по озону - PullRequest
0 голосов
/ 24 ноября 2018

Я пытаюсь разложить временной ряд , который представляет собой среднемесячное многолетнее среднее значение почасовых данных по озону.Есть 288 точек данных (24 часа * 12 месяцев).STL нужен объект ts для извлечения компонентов временных рядов.И у тс есть параметр "частота".Насколько я знаю, это количество наблюдений за один период.Например, это 12 для среднемесячных данных о температуре.Какова частота для моего случая, так как если я использую 288

data_ts=stl(ts(data,frequency = 288),s.window = "per"))

Как и ожидалось, он выдает ошибку "серия не периодическая или имеет менее двух периодов".Кстати, я знаю о других методах извлечения сезонности, но мне также нужно проверить результаты с помощью STL.

Best

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Как вы можете видеть на рисунке АКФ , АКФ ваших данных четко показывает годовой сезонный тренд.оно достигает пика с годовой задержкой около 12, 24 и т. д.

Если я буду от вашего имени, я буду использовать freq = 12 для декомпозиции данных своего временного ряда.

0 голосов
/ 25 ноября 2018

Предполагая, что у вас есть почасовые данные, существует 24 периода в день и в среднем 24 * 365,25 периодов в год.Месяцы, казалось бы, не имеют отношения к природному явлению, такому как озон.Точно так же недели не имеют значения.Поэтому вам просто нужны сезонные периоды 24 и 24 * 265,35.

Функция mstl() из пакета forecast может обрабатывать несколько сезонных периодов.

library(forecast)
data_ts <- mstl(msts(data, seasonal.periods = c(24, 24*365.25)))

Однако, если вы на самом делеиметь месячные данные, то частота 12.

data_ts <- mstl(ts(data, frequency = 12))
...