Введение
Статистическая модель, используемая в анализе временных рядов.
В статистическом анализе временных рядов модели авторегрессии – скользящего среднего (ARMA) обеспечивают экономное описание (слабо) стационарного стохастического процесса посредством двух полиномов: один для авторегрессии (AR), а второй – для скользящего среднего (MA). Общая модель ARMA была описана в диссертации Питера Уиттла 1951 года «Проверка гипотез в анализе временных рядов» и получила широкую известность благодаря книге Джорджа Э. П. Бокса и Гвилима Дженкинса, опубликованной в 1970 году. Для заданного временного ряда данных модель ARMA является инструментом для понимания и, возможно, прогнозирования будущих значений в этом ряду. Часть AR предполагает регрессирование переменной на ее собственные запаздывающие (то есть прошлые) значения. Часть MA предполагает моделирование члена ошибки как линейной комбинации членов ошибки, возникающих одновременно и в различные моменты времени в прошлом. Модель обычно обозначается как ARMA(p,q), где p – порядок части AR, а q – порядок части MA (как определено ниже). Модели ARMA могут быть оценены с использованием метода Бокса – Дженкинса.
Авторегрессивная модель
Обозначение AR(p) относится к авторегрессионной модели порядка p. Модель AR(p) записывается как
где – параметры, а случайная переменная – белый шум, обычно независимые и одинаково распределенные (i. i. d.) нормальные случайные величины. Для того чтобы модель оставалась стационарной, корни ее характеристического многочлена должны лежать вне единичного круга. Например, процессы в модели AR(1) с не являются стационарными, поскольку корень уравнения находится внутри единичного круга. ADF оценивает стабильность компонентов IMF и тренда. Для стационарных временных рядов используется модель авторегрессии и скользящего среднего (ARMA), а для нестационарных рядов – модели LSTM для извлечения абстрактных признаков. Окончательное значение получается путем реконструкции прогнозируемых результатов для каждого временного ряда.
Модель ARMA
Обозначение ARMA(p, q) относится к модели с p авторегрессионными членами и q членами скользящего среднего. Эта модель включает в себя модели AR(p) и MA(q). Общая модель ARMA была описана в 1951 году в диссертации Питера Уиттла, который использовал математический анализ (ряды Лорана и анализ Фурье) и статистический вывод. Модели ARMA получили широкое распространение благодаря книге Джорджа Э. П. Бокса и Дженкинса, опубликованной в 1970 году, в которой был представлен итеративный (Box–Jenkins) метод для выбора и оценки этих моделей. Этот метод был эффективен для полиномов низкого порядка (степени три или ниже). Модель ARMA по сути представляет собой фильтр с бесконечным импульсным откликом, примененный к белому шуму, с некоторой дополнительной интерпретацией.
The general ARMA model was described in the 1951 thesis of Peter Whittle, who used mathematical analysis (Laurent series and Fourier analysis) and statistical inference. ARMA models were popularized by a 1970 book by George E. P. Box and Jenkins, who expounded an iterative (Box–Jenkins) method for choosing and estimating them. This method was useful for low order polynomials (of degree three or less). The ARMA model is essentially an infinite impulse response filter applied to white noise, with some additional interpretation placed on it.
Альтернативное толкование
В цифровой обработке сигналов модель ARMA представляется как цифровой фильтр с белым шумом на входе и ARMA-процессом на выходе.
Выбор p и q
Найти подходящие значения p и q в модели ARMA(p,q) можно облегчить, построив графики частных функций автокорреляции для оценки p и, аналогично, используя функции автокорреляции для оценки q. Расширенные функции автокорреляции (EACF) могут быть использованы для одновременного определения p и q. Дополнительную информацию можно получить, рассматривая те же функции для остатков модели, подобранной с предварительным выбором p и q. Броквелл и Дэвис рекомендуют использовать информационный критерий Акаике (AIC) для определения p и q. Другим возможным вариантом определения порядка является критерий BIC.
Brockwell & Davis recommend using Akaike information criterion (AIC) for finding p and q. Another possible choice for order determining is the BIC criterion.
Коэффициенты оценки
Модели ARMA в целом, после выбора p и q, могут быть подогнаны методом наименьших квадратов для определения значений параметров, минимизирующих ошибку. Обычно считается хорошей практикой находить наименьшие значения p и q, обеспечивающие приемлемое соответствие данным. Для чистой AR-модели можно использовать уравнения Юла-Уокера для подгонки. В отличие от других методов регрессии (например, OLS, 2SLS и т.д.), часто применяемых в эконометрическом анализе, результаты модели ARMA используются прежде всего для прогнозирования данных временных рядов. Их коэффициенты используются исключительно для предсказаний. Другие области эконометрики занимаются причинно-следственным анализом, в то время как прогнозирование временных рядов с помощью ARMA – нет. Следовательно, коэффициенты следует рассматривать только как полезные для прогностического моделирования.
Внедрение в пакеты статистических данных
В R функция arima (в стандартном пакете stats) документирована в ARIMA Modelling of Time Series. В пакете astsa имеется улучшенный скрипт под названием sarima для подгонки моделей ARMA (сезонных и несезонных), а также sarima.sim для моделирования данных из этих моделей. Пакеты расширения содержат связанные и расширенные функциональные возможности, например, пакет tseries включает функцию arma, документированную в "Fit ARMA Models to Time Series"; пакет fracdiff содержит fracdiff для фракционно интегрированных процессов ARMA; и пакет forecast включает auto.arima для выбора экономного набора параметров p, q. В обзоре задач CRAN по временным рядам содержатся ссылки на большинство из них. Mathematica имеет полную библиотеку функций временных рядов, включая ARMA. MATLAB включает функции, такие как arma, ar и arx, для оценки моделей AR, ARX (авторегрессионных экзогенных) и ARMAX. Более подробная информация приведена в руководствах "System Identification Toolbox" и "Econometrics Toolbox". В Julia есть несколько пакетов, разрабатываемых сообществом, которые реализуют подгонку с использованием модели ARMA, например, arma.jl. Модуль Statsmodels для Python включает множество моделей и функций для анализа временных рядов, включая ARMA. Ранее являясь частью библиотеки scikit-learn, он теперь является самостоятельным и хорошо интегрируется с Pandas. Подробности здесь. PyFlux имеет реализацию на Python моделей ARIMAX, включая байесовские модели ARIMAX. Численные библиотеки IMSL – это библиотеки функциональных возможностей численного анализа, включающие процедуры ARMA и ARIMA, реализованные на стандартных языках программирования, таких как C, Java, C# NET и Fortran. Gretl также может оценивать модели ARMA, смотрите здесь, где это упоминается. GNU Octave может оценивать модели AR, используя функции из дополнительного пакета octave forge. Stata включает функцию arima, которая может оценивать модели ARMA и ARIMA. Подробности здесь. SuanShu – это библиотека численных методов на Java, включающая всесторонние статистические пакеты, в которых модели ARMA, ARIMA, ARMAX и т.д. (одномерные/многомерные) реализованы с использованием объектно-ориентированного подхода. Эти реализации задокументированы в "SuanShu, a Java numerical and statistical library". SAS имеет эконометрический пакет ETS, который оценивает модели ARIMA. Подробности здесь.
Спектр
Спектральная плотность процесса ARMA равна где – дисперсия белого шума, – характеристический полином скользящего среднего в модели ARMA, а – характеристический полином авторегрессионной части модели ARMA.
Приложения
ARMA целесообразна, когда система определяется серией ненаблюдаемых шоков (MA, или часть, представляющая скользящее среднее), а также своим собственным поведением. Например, на цены акций могут влиять как фундаментальные факторы, так и технические тренды и эффекты возврата к среднему, обусловленные действиями участников рынка.
Обобщения
Зависимость от прошлых значений и членов ошибки εt предполагается линейной, если не указано иное. Если зависимость нелинейная, модель конкретно называется моделью нелинейного скользящего среднего (NMA), нелинейной авторегрессии (NAR) или нелинейной авторегрессии – скользящего среднего (NARMA). Модели авторегрессии и скользящего среднего могут быть обобщены и другими способами. См. также модели авторегрессии условной гетероскедастичности (ARCH) и модели авторегрессии интегрированной скользящей средней (ARIMA). Если требуется аппроксимировать несколько временных рядов, можно использовать векторную модель ARIMA (или VARIMA). Если рассматриваемый временной ряд демонстрирует эффект долгой памяти, то может быть уместным фракционное моделирование ARIMA (FARIMA, иногда называемое ARFIMA): см. Авторегрессивная фракционно интегрированная скользящая средняя. Если данные, как предполагается, содержат сезонные эффекты, их можно смоделировать с помощью модели SARIMA (сезонная ARIMA) или периодической модели ARMA. Другим обобщением является многомасштабная авторегрессивная (MAR) модель. Модель MAR индексируется узлами дерева, в то время как стандартная (дискретная) авторегрессивная модель индексируется целыми числами. Следует отметить, что модель ARMA является унивариантной моделью. Расширения для многомерного случая – это векторная авторегрессия (VAR) и векторная авторегрессия – скользящее среднее (VARMA).