Авторегрессионное интегрированное скользящее среднее
этой статьи Начальный раздел может оказаться слишком длинным . ( январь 2024 г. ) |
В статистике и эконометрике , и в частности в анализе временных рядов , авторегрессионного интегрированного скользящего среднего ( ARIMA ) модель является обобщением модели авторегрессионного скользящего среднего (ARMA). Чтобы лучше понять данные или спрогнозировать будущие точки ряда, обе эти модели адаптируются к данным временных рядов . Модели ARIMA применяются в некоторых случаях, когда данные свидетельствуют о нестационарности в смысле ожидаемого значения (но не дисперсии/ автоковариации ), когда можно применить начальный шаг дифференцирования (соответствующий «интегрированной» части модели). или более раз, чтобы устранить нестационарность средней функции (т. е. тренда). [1] Когда сезонность проявляется во временном ряду, сезонные различия [2] может быть применен для устранения сезонной составляющей. Поскольку модель ARMA , согласно теореме о разложении Уолда , [3] [4] [5] теоретически достаточно для описания регулярного (т.н. чисто недетерминированного) [5] ) стационарные временные ряды в широком смысле , мы заинтересованы в том, чтобы превратить стационарные временные ряды в нестационарные, например, с помощью дифференцирования, прежде чем мы сможем использовать модель ARMA . [6] Обратите внимание: если временной ряд содержит предсказуемый подпроцесс (так называемый чистый синус или комплексный экспоненциальный процесс [4] ), прогнозируемый компонент рассматривается в рамках ARIMA как периодический (т. е. сезонный) компонент с ненулевым средним, так что он исключается сезонной разницей.
Авторегрессионная ( AR ) часть ARIMA указывает, что развивающаяся интересующая переменная регрессируется по своим собственным запаздывающим (т. е. априорным) значениям. Часть скользящего среднего ( MA ) указывает на то, что ошибка регрессии на самом деле представляет собой линейную комбинацию членов ошибки, значения которых произошли одновременно и в разное время в прошлом. [7] I (от «интегрированный») указывает, что значения данных были заменены разницей между их значениями и предыдущими значениями (и этот процесс дифференцирования мог выполняться более одного раза). Целью каждой из этих функций является максимально точное соответствие модели данным.
Несезонные модели ARIMA обычно обозначаются ARIMA( p , d , q ), где параметры p , d и q — неотрицательные целые числа, p — порядок (количество временных задержек) авторегрессионной модели , d — степень дифференциация (количество раз, когда из данных были вычтены прошлые значения), а q — порядок модели скользящего среднего . Сезонные модели ARIMA обычно обозначаются ARIMA( p , d , q )( P , D , Q ) m , где m относится к количеству периодов в каждом сезоне, а заглавные буквы P , D , Q относятся к авторегрессии, дифференцированию, и условия скользящего среднего для сезонной части модели ARIMA. [8] [2]
Когда два из трех членов равны нулю, к модели можно обращаться на основе ненулевого параметра, опуская « AR », « I » или « MA » из аббревиатуры, описывающей модель. Например, - это AR(1) , — это I(1) и — это MA(1) .
Модели ARIMA можно оценить, используя подход Бокса – Дженкинса .
Определение
[ редактировать ]Учитывая данные временных рядов X t , где t — целочисленный индекс, а X t — действительные числа, модель предоставлена
или эквивалентно
где является запаздывающим оператором , – параметры авторегрессионной части модели, – параметры части скользящей средней и являются терминами ошибки. Условия ошибки обычно считаются независимыми, одинаково распределенными переменными, выбранными из нормального распределения с нулевым средним значением.
Предположим теперь, что полином имеет единичный корень (фактор ) кратности d . Тогда его можно переписать так:
Процесс ARIMA( p , d , q ) выражает это свойство полиномиальной факторизации с помощью p = p'−d и определяется следующим образом:
и, таким образом, его можно рассматривать как частный случай процесса ARMA( p+d , q ), имеющего авторегрессионный полином с d единичными корнями. (По этой причине ни один процесс, который точно описывается моделью ARIMA с d > 0, не является стационарным в широком смысле .)
Вышеизложенное можно обобщить следующим образом.
Это определяет процесс ARIMA( p , d , q ) с дрейфом .
Другие специальные формы
[ редактировать ]Явная идентификация факторизации полинома авторегрессии на факторы, как указано выше, может быть распространена на другие случаи, во-первых, для применения к полиному скользящего среднего и, во-вторых, для включения других специальных факторов. Например, имея фактор нестационарной сезонности периода s в модели — один из способов включения в модель ; этот фактор приводит к повторному выражению данных как изменений по сравнению с периодами s назад. Другим примером является фактор , который включает в себя (нестационарную) сезонность периода 2. [ нужны разъяснения ] Эффект фактора первого типа заключается в том, чтобы позволить значению каждого сезона отдельно изменяться с течением времени, тогда как значения второго типа для соседних сезонов движутся вместе. [ нужны разъяснения ]
Идентификация и спецификация соответствующих факторов в модели ARIMA может быть важным шагом в моделировании, поскольку это может позволить сократить общее количество оцениваемых параметров, одновременно позволяя навязывать модели типы поведения, которые, как подсказывают логика и опыт, должны быть там.
Различие
[ редактировать ]Свойства стационарного временного ряда не зависят от времени наблюдения ряда. В частности, для стационарного временного ряда в широком смысле среднее значение и дисперсия/ автоковариация остаются постоянными во времени. Дифференцирование в статистике — это преобразование, применяемое к нестационарному временному ряду с целью сделать его стационарным в среднем смысле (т. е. для удаления непостоянного тренда), но не имеющее ничего общего с нестационарностью временного ряда. дисперсия или автоковариация . Аналогично, сезонная разница применяется к сезонному временному ряду для удаления сезонной составляющей. С точки зрения обработки сигналов, особенно теории спектрального анализа Фурье , тренд – это низкочастотная часть спектра нестационарного временного ряда, тогда как сезон – это периодически-частотная часть его спектра. Таким образом, дифференцирование работает как фильтр верхних частот (т. е. фильтр нижних частот), а сезонное дифференцирование — как гребенчатый фильтр для подавления низкочастотного тренда и сезона периодических частот в области спектра (а не непосредственно в области спектра). временной интервал) соответственно. [6]
Чтобы различать данные, вычисляется разница между последовательными наблюдениями. Математически это отображается как
Дифференцирование устраняет изменения уровня временного ряда, устраняя тенденцию и сезонность и, следовательно, стабилизируя среднее значение временного ряда. [6]
Иногда может потребоваться разность данных второй раз, чтобы получить стационарный временной ряд, который называется дифференцированием второго порядка :
Другим методом разграничения данных является сезонное разность, которое включает в себя вычисление разницы между наблюдением и соответствующим наблюдением в предыдущем сезоне, например, в году. Это показано как:
Разностные данные затем используются для оценки модели ARMA .
Примеры
[ редактировать ]Некоторые хорошо известные частные случаи возникают естественным образом или математически эквивалентны другим популярным моделям прогнозирования. Например:
- Модель ARIMA(0, 1, 0) (или модель I(1) ) определяется выражением — это просто случайное блуждание .
- ARIMA(0, 1, 0) с константой, заданной формулой — что представляет собой случайное блуждание со сносом.
- Модель ARIMA(0, 0, 0) представляет собой модель белого шума .
- Модель ARIMA(0, 1, 2) является моделью Демпфированного Холта.
- Модель ARIMA(0, 1, 1) без константы является базовой моделью экспоненциального сглаживания . [9]
- Модель ARIMA(0, 2, 2) имеет вид — что эквивалентно линейному методу Холта с аддитивными ошибками или двойному экспоненциальному сглаживанию . [9]
Выбор заказа
[ редактировать ]Порядок p и q можно определить с использованием метода выборочной автокорреляционной функции (ACF), частичной автокорреляционной функции (PACF) и/или метода расширенной автокорреляционной функции (EACF). [10]
Другие альтернативные методы включают AIC, BIC и т. д. [10] Для определения порядка несезонной модели ARIMA полезным критерием является информационный критерий Акаике (AIC) . Это написано как
где L — вероятность данных, p — порядок авторегрессионной части, а q — порядок части скользящего среднего. K . представляет собой отрезок модели ARIMA Для AIC, если k = 1, то в модели ARIMA есть точка пересечения ( c ≠ 0), а если k = 0, то в модели ARIMA точка пересечения отсутствует ( c = 0).
Исправленный AIC для моделей ARIMA можно записать как
Байесовский информационный критерий (BIC) можно записать как
Цель состоит в том, чтобы минимизировать значения AIC, AICc или BIC для хорошей модели. Чем ниже значение одного из этих критериев для ряда исследуемых моделей, тем лучше модель будет соответствовать данным. AIC и BIC используются для двух совершенно разных целей. В то время как AIC пытается приблизить модели к реальной ситуации, BIC пытается найти идеальное соответствие. Подход BIC часто критикуют, поскольку он никогда не идеально подходит для сложных данных реальной жизни; тем не менее, это по-прежнему полезный метод выбора, поскольку он более строго наказывает модели за наличие большего количества параметров, чем AIC.
AICc можно использовать только для сравнения моделей ARIMA с одинаковым порядком дифференцирования. Для ARIMA с разным порядком разности RMSE для сравнения моделей можно использовать .
Оценка коэффициентов
[ редактировать ]Этот раздел пуст. Вы можете помочь, добавив к нему . ( март 2017 г. ) |
Прогнозы с использованием моделей ARIMA
[ редактировать ]Модель ARIMA можно рассматривать как «каскад» двух моделей. Первый является нестационарным:
в то время как второй является стационарным в широком смысле :
Теперь можно делать прогнозы по этому процессу. , используя обобщение метода авторегрессионного прогнозирования .
Интервалы прогноза
[ редактировать ]Интервалы прогноза ( доверительные интервалы для прогнозов) для моделей ARIMA основаны на предположении, что остатки некоррелированы и нормально распределены. Если какое-либо из этих предположений не выполняется, то интервалы прогноза могут быть неверными. По этой причине исследователи строят АКФ и гистограмму остатков, чтобы проверить предположения перед созданием интервалов прогноза.
95% интервал прогноза: , где это дисперсия .
Для , для всех моделей ARIMA независимо от параметров и заказов.
Для ARIMA(0,0,q)
- [ нужна ссылка ]
В целом интервалы прогнозирования моделей ARIMA будут увеличиваться по мере увеличения горизонта прогнозирования.
Вариации и расширения
[ редактировать ]Обычно используется ряд вариаций модели ARIMA. Если используется несколько временных рядов, то можно рассматривать как векторы, и может подойти модель VARIMA. Иногда в модели подозревается сезонный эффект; в этом случае обычно считается лучше использовать модель SARIMA (сезонная ARIMA), чем увеличивать порядок частей модели AR или MA. [11] Если предполагается, что временной ряд демонстрирует долгосрочную зависимость , то параметру d можно разрешить иметь нецелые значения в авторегрессионной дробно-интегрированной модели скользящего среднего , которая также называется моделью дробного ARIMA (FARIMA или ARFIMA).
Реализации программного обеспечения
[ редактировать ]различные пакеты, в которых применяется такая методология, как оптимизация параметров Бокса – Дженкинса Для поиска правильных параметров для модели ARIMA доступны .
- EViews : имеет обширные возможности ARIMA и SARIMA.
- Julia : содержит реализацию ARIMA в пакете TimeModels. [12]
- Mathematica : включает функцию ARIMAProcess .
- MATLAB : Econometrics Toolbox включает модели ARIMA и регрессию с ошибками ARIMA.
- NCSS : включает несколько процедур для
ARIMA
подгонка и прогнозирование. [13] [14] [15] - Python : пакет «statsmodels» включает модели для анализа временных рядов – одномерный анализ временных рядов: AR, ARIMA – векторные авторегрессионные модели, VAR и структурный VAR – описательные статистики и модели процессов для анализа временных рядов.
- R : стандартный пакет статистики R включает функцию arima , которая описана в разделе «Моделирование временных рядов ARIMA» . Помимо часть, функция также включает сезонные факторы, член-член и экзогенные переменные ( xreg , называемые «внешними регрессорами»). В пакете astsa есть такие сценарии, как sarima для оценки сезонных и несезонных моделей и sarima.sim для моделирования на основе этих моделей. Представление задачи CRAN в временных рядах является справочным материалом со многими другими ссылками. Пакет «прогноз» в R может автоматически выбирать модель ARIMA для данного временного ряда с помощью
auto.arima()
функция [которая часто может давать сомнительные результаты] [1] , а также может моделировать сезонные и несезонные модели ARIMA с помощью своейsimulate.Arima()
функция. [16] - Ruby : драгоценный камень «statsample-timeseries» используется для анализа временных рядов, включая модели ARIMA и фильтрацию Калмана.
- JavaScript : пакет «arima» включает модели для анализа и прогнозирования временных рядов (ARIMA, SARIMA, SARIMAX, AutoARIMA).
- C : пакет «ctsa» включает ARIMA, SARIMA, SARIMAX, AutoARIMA и несколько методов анализа временных рядов.
- БЕЗОПАСНЫЕ ИНСТРУМЕНТЫ : включает моделирование ARIMA и регрессию с ошибками ARIMA .
- SAS : включает обширную обработку ARIMA в своей системе эконометрического анализа и анализа временных рядов: SAS/ETS.
- IBM SPSS : включает моделирование ARIMA в версии Professional и Premium пакета статистики, а также пакета Modeler. Функция Expert Modeler по умолчанию оценивает ряд настроек сезонной и несезонной авторегрессии ( p ), интегрированного ( d ) и скользящего среднего ( q ), а также семь моделей экспоненциального сглаживания. Expert Modeler также может преобразовать целевые данные временных рядов в квадратный корень или натуральный логарифм. Пользователь также имеет возможность ограничить Expert Modeler моделями ARIMA или вручную ввести несезонные и сезонные настройки ARIMA p , d и q без Expert Modeler. Автоматическое обнаружение выбросов доступно для семи типов выбросов, и обнаруженные выбросы будут включены в модель временных рядов, если выбрана эта функция.
- SAP : пакет APO-FCS [17] в SAP ERP от SAP позволяет создавать и настраивать модели ARIMA с использованием методологии Бокса – Дженкинса.
- Службы анализа SQL Server : от Microsoft включают ARIMA в качестве алгоритма интеллектуального анализа данных.
- Stata включает моделирование ARIMA (с использованием команды arima), начиная с Stata 9.
- StatSim : включает модели ARIMA в веб-приложение Forecast .
- Teradata Vantage имеет функцию ARIMA как часть своей системы машинного обучения.
- TOL (Time Oriented Language) предназначен для моделирования моделей ARIMA (включая варианты SARIMA, ARIMAX и DSARIMAX) [2] .
- Scala : библиотека spark-timeseries содержит реализацию ARIMA для Scala, Java и Python. Реализация предназначена для работы на Apache Spark .
- PostgreSQL /MadLib: Анализ временных рядов/ARIMA .
- X-12-ARIMA : от Бюро переписи населения США.
См. также
[ редактировать ]- Автокорреляция
- РУКА
- Частичная автокорреляция
- Конечная импульсная характеристика
- Бесконечная импульсная характеристика
Ссылки
[ редактировать ]Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Май 2011 г. ) |
- ^ Дополнительную информацию о стационарности и дифференцировании см. https://www.otexts.org/fpp/8/1.
- ^ Перейти обратно: а б Гайндман, Роб Дж; Афанасопулос, Джордж. 8.9 Сезонные модели ARIMA . oТексты . Проверено 19 мая 2015 г.
{{cite book}}
:|website=
игнорируется ( помогите ) - ^ Гамильтон, Джеймс (1994). Анализ временных рядов . Издательство Принстонского университета. ISBN 9780691042893 .
- ^ Перейти обратно: а б Папулис, Афанасиос (2002). Вероятность, случайные величины и случайные процессы . Тата МакГроу-Хилл Образование.
- ^ Перейти обратно: а б Триакка, Умберто (19 февраля 2021 г.). «Теорема Волда о разложении» (PDF) . Архивировано (PDF) из оригинала 27 марта 2016 г.
- ^ Перейти обратно: а б с Ван, Шисюн; Ли, Чоншоу; Лим, Эндрю (18 декабря 2019 г.). «Почему ARIMA и SARIMA недостаточно». arXiv : 1904.07632 [ стат.AP ].
- ^ Бокс, Джордж EP (2015). Анализ временных рядов: прогнозирование и контроль . УАЙЛИ. ISBN 978-1-118-67502-1 .
- ^ «Обозначение моделей ARIMA» . Система прогнозирования временных рядов . Институт САС . Проверено 19 мая 2015 г.
- ^ Перейти обратно: а б «Знакомство с моделями ARIMA» . люди.duke.edu . Проверено 5 июня 2016 г.
- ^ Перейти обратно: а б Государственный университет Миссури. «Спецификация модели, анализ временных рядов» (PDF) .
- ^ Суэйн, С; и др. (2018). «Разработка модели ARIMA для ежемесячного прогнозирования количества осадков в районе Кхордха, Одиша, Индия». Последние открытия в области интеллектуальных вычислительных технологий . Достижения в области интеллектуальных систем и вычислений. Том. 708. С. 325–331). дои : 10.1007/978-981-10-8636-6_34 . ISBN 978-981-10-8635-9 .
{{cite book}}
:|journal=
игнорируется ( помогите ) - ^ TimeModels.jl www.github.com
- ^ ARIMA в NCSS ,
- ^ Автоматическая ARMA в NCSS ,
- ^ Автокорреляции и частичные автокорреляции в NCSS
- ^ 8.7 Моделирование ARIMA в R | Отексты . Проверено 12 мая 2016 г.
{{cite book}}
:|website=
игнорируется ( помогите ) - ^ «Боксовая модель Дженкинса» . САП . Проверено 8 марта 2013 г.
Дальнейшее чтение
[ редактировать ]- Астериу, Димитрос; Холл, Стивен Г. (2011). «Модели ARIMA и методология Бокса – Дженкинса». Прикладная эконометрика (второе изд.). Пэлгрейв Макмиллан. стр. 265–286. ISBN 978-0-230-27182-1 .
- Миллс, Теренс К. (1990). Методы временных рядов для экономистов . Издательство Кембриджского университета. ISBN 978-0-521-34339-8 .
- Персиваль, Дональд Б.; Уолден, Эндрю Т. (1993). Спектральный анализ для физических приложений . Издательство Кембриджского университета. ISBN 978-0-521-35532-2 .
- Шамуэй Р.Х. и Стоффер, Д.С. (2017). Анализ временных рядов и его приложения: на примерах R. Спрингер. DOI: 10.1007/978-3-319-52452-8.
- Модели ARIMA в R. Станьте экспертом в подборе моделей ARIMA (авторегрессионное интегрированное скользящее среднее) к данным временных рядов с помощью R.