В предыдущей главе мы изучили определение стационарных процессов вместе с парой важных примеров: IID-шум, белый шум, случайные блуждания и процессы AR (1) и MA (1), а также их соответствующие ожидания и автоковариантность. функции. Теперь мы переключимся на то, что мы видели некоторое время назад о тенденции и сезонности, двух важных факторах, которые вместе образуют так называемую классическую модель разложения . В этой статье мы изучим определение классической модели декомпозиции и способы оценки тренда. Давайте прямо в это дело!

Классическая модель разложения

Чтобы выполнить анализ, мы хотели бы, чтобы наши ряды были стационарными, поскольку это часто помогает подобрать более простые и эффективные модели для прогнозирования. Идея очень проста; рассмотрите изображение выше. Это говорит о том, что наша модель, по сути, состоит из трех компонентов:

Вопрос в том, учитывая некоторые данные, как мы можем узнать, что такое mt или sd? Простой ответ: нет! Однако есть методы для выполнения оценки. Начнем с тренда.

Оценка тенденций

Мы хотели бы получить какие-либо точные оценки тренда и сезонности, не делая никаких основополагающих предположений о распределении. По этой причине мы используем методы непараметрической статистики. Хотя они более гибкие, они также имеют тенденцию быть более субъективными. Чтобы оценить тенденцию, сначала предположим, что

, где Yt - белый шум. Теперь мы рассмотрим один из самых популярных методов для этого: фильтр конечного скользящего среднего.

Фильтр конечного скользящего среднего

линейный фильтр определяется как

то есть это средневзвешенное с реальными (суммируемыми) коэффициентами. Как мы можем использовать это, чтобы оценить нашу тенденцию? Конечно, мы можем взять среднее значение по всем пунктам, но давайте сделаем что-нибудь более умное. Поскольку у нас также нет бесконечных данных, вместо этого мы используем так называемый фильтр конечного скользящего среднего порядка (2q + 1), определяемый следующим образом.

Обратите внимание, что +1 это потому, что мы также суммируем по j = 0. Это действительно своего рода линейный фильтр с

Вы можете думать об этом как об «окне» над доступными данными. который мы продвигаемся вперед на каждом этапе, вычисляя «мини-средние» пары точек за раз. Неявно мы каждый раз вычисляем среднее значение тренда и шума:

Кроме того, эта оценка несмещена, так как

Цель. Мы хотели бы уменьшить шум, но надеемся, что не уменьшим тенденцию слишком сильно.

Как выбрать q?

В конечном итоге, если мы оценим тенденцию и удалим ее, у нас должно получиться

то есть остатки должны выглядеть как белый шум. Как мы можем это проверить? С участками АКФ! (или тесты стационарности, которые мы увидим позже).

Экспоненциальное сглаживание

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

где

Я не буду подробно останавливаться на этом, но если вам интересно, вы можете проверить страницу Википедии на ней. В практических приложениях не имеет большого значения, используете ли вы экспоненциальное сглаживание или скользящее среднее относительно небольшого порядка. Учтите, что это довольно субъективно.

Другие методы оценки тренда

Есть несколько других распространенных методов, которые мы можем использовать для оценки тренда, например, мы можем использовать

  1. Линейный тренд
  2. Полиномиальный тренд
  3. Базовые функции
  4. Высокочастотное сглаживание с использованием рядов Фурье

Давайте теперь посмотрим на рабочий пример применения различных оценок тенденций к реальному набору данных!

Как R

Давайте сначала рассмотрим Lake Huron данные из datasets пакета. Начнем с загрузки необходимых библиотек (обратите внимание, что некоторые из них на самом деле могут не понадобиться, но я бы хотел включить их на всякий случай :)):

Затем мы проверяем данные, которые уже поступают в формате ts.

Давайте визуализировать данные! Сначала мы упаковываем данные в объект tibble, который похож на объект dataframe, а затем используем ggplot для построения графика данных.

Помните, что функция aes обычно используется в ggplot для передачи «эстетических свойств», таких как сами переменные, а иногда и цвета и т. Д. Я не буду подробно объяснять, как это работает, поэтому, если вам интересно, вы можете проверить официальную документацию или используйте ?aes в консоли R studio. Двигаясь дальше, получается следующий сюжет:

Итак, действительно, у нас есть некоторые данные об уровне воды в озере Гурон с 1875 по 1972 год. Что можно сказать о тренде? Прикинем парочку и посмотрим!

Сначала мы оцениваем как линейный, так и квадратичный тренд с помощью функции forecast::tslm. Затем мы подбираем скользящую среднюю порядка 7 с forecast::ma. Затем мы соединяем все это вместе и строим график, получая следующее:

Довольно круто, а? Однако это само по себе нам ни о чем не говорит. Вместо этого лучше посмотреть на остатки, т. Е.

Помните, что после удаления тренда результат должен каким-то образом выглядеть как стационарный процесс или, по крайней мере, как процесс со средним нулем!

Мы можем видеть, что для всех трендов они определенно выглядят намного более средне-нулевыми, чем исходный, а MA7 (скользящая средняя 7-го порядка) больше похожа на белый шум, чем другие. Вы также можете заметить, что мы потеряли некоторые данные в процессе: действительно, поскольку мы можем пройти только через окно [-q, q], мы потеряем пару наблюдений на границах. Мы можем проверить это более формально, используя графики ACF, которые мы видели раньше:

Действительно, все наши оценки тенденций намного лучше, чем исходные ряды, поскольку большее количество лагов попадает в пределы доверительной вероятности. Однако мы видим, что иногда переоценка тренда может привести к дальнейшей корреляции. В целом, MA7 кажется лучшим выбором. Недостатком является то, что, используя фильтр MA, мы жертвуем некоторыми данными и, следовательно, некоторой предсказательной силой. В конце концов, вам решать, какую оценку тренда использовать вместо другой!

Примечание. Мы называем как процесс скользящего среднего, так и фильтр скользящего среднего «MA», но ясно, какой из них используется в каком контексте! Например, вы можете использовать фильтр MA5 для оценки тренда MA (1) (который будет равен нулю!).

В следующий раз

В следующей статье мы увидим, как оценить и проанализировать сезонность, чтобы получить полное представление о классической модели декомпозиции. Следите за обновлениями и счастливых занятий!

Предыдущая статья

Процесс AR (1)

Главная страница



Следуй за мной в

  1. Https://blog.jairparraml.com/
  2. Https://www.linkedin.com/in/hair-parra-526ba19b/
  3. Https://github.com/JairParra
  4. Https://medium.com/@hair.parra