Введение

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

В контексте статистики, экономики, сейсмологии, метеорологии и геофизики основной целью анализа временных рядов является прогнозирование.

В контексте обработки сигналов, техники управления и связи он используется для обнаружения и оценки сигналов.

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

Хорошо, так что же такое временной ряд?

Временные ряды - это совокупность точек данных, упорядоченных по относительно детерминированным временным меткам. Чаще всего это последовательность, снятая в последовательные равноотстоящие моменты времени. (в основном, набор точек данных, собранных с постоянными интервалами времени)

Регрессия против временных рядов

Регресс;

  • Математическая модель, предназначенная для оценки взаимосвязи между зависимой переменной и одной или несколькими независимыми переменными.
  • Пример: вес человека может зависеть от его роста и количества риса, которое он ест каждый день.

Временные ряды;

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

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

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

Анализ включает методы детального изучения данных временного ряда с целью извлечения значимой статистики из данных.

Стационарные временные ряды?

Временной ряд называется стационарным, если его статистические свойства остаются постоянными во времени.

Мы можем предположить, что ряд является стационарным, если он имеет постоянные статистические свойства во времени, то есть следующее;

  • Постоянное среднее
  • Постоянная дисперсия
  • Автоковариация, не зависящая от времени

Почему стационарность важна?

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

В случае нарушения стационарных условий первым важным условием становится сделать временной ряд стационарным.

Как проверить стационарность временного ряда?

Мы можем проверить стационарность, используя следующие методы;

  • Тест Дики-Фуллера: это один из статистических тестов для проверки стационарности. Здесь нулевая гипотеза состоит в том, что временной ряд нестационарен. Результаты теста включают статистику теста и некоторые критические значения для разных уровней достоверности. Если «Статистика теста» меньше «Критического значения», мы можем отклонить нулевую гипотезу и сказать, что ряд является стационарным.
  • Скользящая статистика. Мы строим скользящую среднюю или скользящую дисперсию и проверяем, меняется ли она со временем.

Как сделать временной ряд стационарным?

Временные ряды нестационарны по двум причинам:

  • Тенденция: среднее значение меняется со временем.
  • Сезонность: колебания наблюдаются в определенные периоды времени.

Итак, здесь принцип:

  1. Смоделируйте или оцените тенденцию и сезонность во временных рядах
  2. Удалите тренд и сезонность из ряда, чтобы получить стационарный ряд.

Оценка тренда во временных рядах

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

  • Агрегация: оценка тенденции в момент времени t получается путем усреднения значений временного ряда в пределах «k» периодов «t». Наблюдения, близкие по времени, также, вероятно, будут иметь близкую ценность. Таким образом, среднее значение устраняет часть случайности в данных, оставляя компонент плавного тренда.
  • Сглаживание: скользящее среднее (или скользящее среднее) за период (m) представляет собой серию последовательных средних значений m значений за один раз. Первое среднее - это среднее значение первых m членов.

Устранение тренда и сезонности

  • Различие: сравните разницу между наблюдением в конкретный момент и наблюдением в предыдущий момент.
  • Разложение: тренд и сезонность моделируются отдельно, и возвращается оставшаяся часть ряда.

Что такое прогнозирование временных рядов?

Это использование модели для прогнозирования будущих значений на основе ранее наблюдаемых значений.

Модель ARIMA (авторегрессивные интегрированные скользящие средние)

Итак, вот ответ на заявление, сделанное выше ранее «Я хочу провести регрессию данных временного ряда».

Что такое ARIMA?

  • Авторегрессия (AR): модель временных рядов, которая использует наблюдения из предыдущих временных шагов в качестве входных данных для уравнения регрессии для прогнозирования значения на следующем временном шаге.
  • Скользящее среднее (MA): модель скользящего среднего концептуально представляет собой линейную регрессию текущего значения ряда по сравнению с текущими и предыдущими (наблюдаемыми) ошибками белого шума или случайными шоками.

Итак, ARIMA - это модель, которая использует

  • Зависимая связь между наблюдением и некоторым количеством запаздывающих наблюдений.
  • Различие необработанных наблюдений (например, вычитание наблюдения из наблюдения на предыдущем временном шаге), чтобы сделать временной ряд стационарным.
  • Зависимость между наблюдением и остаточной ошибкой модели скользящего среднего, примененной к запаздывающим наблюдениям.

Прогнозирование временного ряда

Прогнозирование ARIMA для стационарного временного ряда - это не что иное, как линейное (как линейная регрессия) уравнение. Предикторы зависят от параметров (p, d, q) модели ARIMA;

  1. Количество терминов AR (авторегрессивных) (p)
  2. Количество условий скользящей средней (q)
  3. Количество несезонных отличий (г)

Определение стоимости P&Q

Следующие 2 графика используются для определения этих чисел;

  1. Функция автокорреляции (ACF): это мера корреляции между временными рядами и собственной версией с запаздыванием.
  2. Функция частичной автокорреляции (PACF): измеряет корреляцию между временными рядами с запаздывающей версией самого себя, но после устранения вариаций, уже объясненных промежуточными сравнениями.

На двух вышеприведенных графиках

  • P: значение запаздывания, при котором диаграмма PACF пересекает верхние доверительные интервалы.
  • Q: значение запаздывания, при котором диаграмма ACF пересекает верхние доверительные интервалы.

Примеры прогнозирования временных рядов

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

Исходный код для этой статьи

Исходный код этой статьи написан с использованием языка программирования Python, включая анализ набора данных временных рядов и прогнозирование путем реализации модели ARIMA, представленной в этом репозитории GitHub.

Резюме

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

Анализ

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

Прогнозирование

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