Автоматизация процесса анализа временных рядов с использованием модели Auto.ARIMA

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 17.12.2020
Размер файла 79,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

Автоматизация процесса анализа временных рядов с использованием модели Auto.ARIMA

Сапрыкин К.А.

Аннотация: актуальность темы исследования обусловлено упрощением анализа данных для построения прогноза. В статье рассмотрены методы анализа временных рядов для облегчения построения прогноза. Выявлены достоинства модели AUTO.ARIMA пред моделью ARIMA. Приведён код для построения модели в R. Ключевые слова: анализ временных рядов, ARIMA, A UTO.ARIMA, анализ в R.

Данные временного ряда представляют собой точки данных, собранные за период времени в виде последовательности промежутка времени. Анализ данных временных рядов означает анализ доступных данных, чтобы выяснить закономерность или тенденцию в данных, чтобы предсказать некоторые будущие значения, которые, в свою очередь, помогут более эффективно и оптимизировать бизнес-решения. Прогнозирование временных рядов - от прогнозирования продаж продукта до оценки потребления электроэнергии домашними хозяйствами -- это один из основных навыков, который должен знать любой специалист по данным, если не мастер. Существует множество различных техник, которые вы можете использовать, и в этой статье мы рассмотрим один из самых эффективных, называемый Auto ARIMA.

ARIMA - очень популярный статистический метод для прогнозирования временных рядов. ARIMA означает авто регрессивные интегрированные скользящие средние. Модели работают на следующих предположениях - Ряд данных является стационарным, что означает, что среднее значение и дисперсия не должны изменяться со временем. Серия может быть сделана стационарной с помощью преобразования журнала или дифференцирования серии. Данные, предоставляемые в качестве входных данных, должны быть одномерной последовательностью, поскольку arima использует прошлые значения для прогнозирования будущих значений [3].

ARIMA состоит из трех компонентов - AR (авторегрессионный термин), I (дифференцирующий член) и MA (скользящее среднее). Давайте разберемся с каждым из этих компонентов. Термин AR относится к прошлым значениям, используемым для прогнозирования следующего значения [2]. Термин AR определяется параметром «p» в ариме. Значение «р» определяется с использованием графика PACF. Термин MA используется для определения количества прошлых ошибок прогноза, используемых для прогнозирования будущих значений. Параметр «q» в ариме представляет термин МА. График ACF используется для определения правильного значения «q». Порядок дифференцирования определяет, сколько раз операция дифференцирования выполняется на серии, чтобы сделать ее стационарной. Такие тесты, как ADF и KPSS, могут использоваться для определения того, является ли ряд стационарным, и помогают определить значение d.

Шаги, которые нужно выполнить дляпостроение модели ARIMA

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

2. Предварительная обработка: взависимости от набора данных будут определены этапы предварительной обработки. Это будет включать создание временных отметок, преобразование d-типа столбца даты / времени, превращение ряда в одномерный и т. д.

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

4. Определите значение d: для того, чтобы сделать серию стационарной, число раз, когда была выполнена операция разности, будет приниматься как значение d

5. Создание графиков ACF и PACF: это самый важный шаг в реализации ARIMA. Графики ACF PACF используются для определения входных параметров для нашей модели ARIMA

6. Определите значения p и q: считайте значения p и q из графиков предыдущего шага

7. Подходит для модели ARIMA: используя обработанные данные и значения параметров, которые мы рассчитали из предыдущих шагов, подгоняем модель ARIMA

8. Прогнозировать значения на проверочном наборе: прогнозировать будущие значения

9. Рассчитать среднеквадратическое среднеквадратичное отклонение: для проверки производительности модели проверьте среднеквадратическое среднеквадратичное значение, используя прогнозы и фактические значения в наборе проверки

Код на языке R для преобразование временного ряда для модели ARIMA.

components.ts = decompose(tsData) plot(components.ts)

Iibrary("fьnitRoots")

urkpssTest(tsData, type = c("tau"), lags = c("short"),use.Iag = NULL, doplot = TRUE)

tsstationary = diff(tsData, differences=1)

plot(tsstationary)

timeseriesseasonallyadjusted <- tsData- timeseriescomponents$seasonaI tsstationary <- diff(timeseriesseasonaIIyadjusted, differences=1) acf(tsstationary, Iag.max=34) pacf(tsstationary, Iag.max=34)

fitARIMA <- arima(tsData, order=c(1,1,1),seasonaI = Iist(order = c(1,0,0), period = 12),method="ML")

Iibrary(Imtest)

coeftest(fitARIMA)

acf(fitARIMA$residuaIs)

Iibrary(FitAR)

boxresuIt-LjungBoxTest (fitARIMA$residuaIs,k=2,StartLag=1) pIot(boxresuIt[,3],main= "Ljung-Box Q Test", yIab= "P-vaIues", xIab= "Lag") qqnorm(fitARIMA$residuaIs) qqIine(fitARIMA$residuaIs) [6].

Диаграмма потока выполнения этапов модели в ручном режиме и в автоматическом режиме auto.arima.

Рис. 1. блок схема этапов arima и auto.arima

Хотя ARIMA является очень мощной моделью для прогнозирования данных временных рядов, процессы подготовки данных и настройки параметров в итоге отнимают много времени. Перед внедрением ARIMA необходимо сделать серию стационарной и определить значения p и q, используя графики, которые мы обсуждали выше. Auto ARIMA делает эту задачу действительно простой для нас, поскольку она устраняет шаги с 3 по 6, которые мы видели в предыдущем разделе [4]. Ниже приведены шаги, которые вы должны выполнить для реализации автоматической ARIMA:

1. Загрузите данные: этот шаг будет таким же. Загрузите данные в свой блокнот.

2. Предварительная обработка данных: ввод должен быть одномерным, поэтому отбрасывать остальные столбцы.

3. FitAutoARIMA: подогнать модель по одномерной серии.

4. Предсказать значения для набора проверки: сделать прогнозы для набора проверки.

5. Рассчитать среднеквадратическое среднеквадратичное отклонение: проверить производительность модели, используя прогнозные значения в сравнении с фактическими.

Мы полностью обошли выбор функций pи q, как вы можете видеть.

Для анализа временных рядов в Rбиблиотека «прогноза» Роба Хиндмана очень полезна. В частности, функция «auto.arima» удобна для автоматического выбора модели арима. В двух словах, auto.arima принимает в качестве входных данных одномерные временные ряды и использует алгоритм, который объединяет тесты единичного корня и минимизирует AICc для получения наилучшей возможной модели ARIMA для данных. Некоторое время назад я кратко написал об auto.arimaВот и использовал его с тех пор. Вы можете прочитать больше об auto.arima от его автора Вот. Как и в случае любой «автоматизированной» процедуры, правильное использование функции auto.arima связано с рядом предположений, предположений, проверок и противовесов. Например, в соответствии с запуском auto.arima, можно напрямую использовать стандартные тесты (например, Acf / Pacf, ADF для стационарности, Chowдля структурных разрывов), альтернативные модели (например, различные уровни аримы или аримы с регрессорами) для установления адекватность и строгость. На практике также важно проверять результаты автоматического процесса отбора на соответствие заданным критериям и при необходимости изменять их. Например, имеет смысл заменить auto.arima(3,1,1) на немного лучший AICна Arima(1,1,1), если последняя модель имеет интуитивный смысл и ближе к бизнес-ожиданиям.

Функция: auto.arima()

Пакет прогноза предоставляет две функции: ets( auto.arimaOдля автоматического выбора экспоненциальной и ARIMAмоделей. Функция в Rиспользует комбинацию единичных корневых тестов, минимизации АИК и MLE, чтобы получить модель ARIMA. Тест KPSSиспользуется для определения количества различий (d) В алгоритме Хиндмана-Хандакара для автоматического моделирования ARIMA. Затем p, d и q выбираются путем минимизации AICc. Алгоритм использует пошаговый поиск, чтобы обойти пространство модели, чтобы выбрать лучшую модель с наименьшимAICc. Если d = 0, то включается постоянная с; если d>1, то константа c устанавливается на ноль. Изменения в текущей модели рассматриваются путем изменения p и / или q от текущей модели на ±1 и включения / исключения с из текущей модели. Лучшая модель, рассматриваемая до сих пор (либо текущая модель, либо одна из этих вариаций), становится новой текущей моделью. Теперь этот процесс повторяется до тех пор, пока не будет найден нижний AIC.

auto.arima (tsData, trace = TRUE) [6].

Прогнозирование с использованием модели ARIMA.

Параметры этой модели ARIMAможно использовать в качестве прогностической модели для составления прогнозов будущих значений временных рядов после выбора наиболее подходящей модели для данных временных рядов. Значение d влияет на интервалы прогнозирования - интервалы прогнозирования увеличиваются в размере с более высокими значениями «d». Интервалы прогнозирования будут, по существу, одинаковыми при d = 0, поскольку стандартное отклонение долгосрочного прогноза перейдет к стандартному отклонению исторических данных. Существует функция под названием предикат (), которая используется для прогнозирования по результатам различных функций подбора моделей. Он принимает аргумент n.ahead (), указывающий, сколько временных шагов вперед для прогнозирования. predict(fitARIMA,n.ahead = 5 [6].

Функция в forecastпакетеR также может быть использована для прогнозирования будущих значений временного ряда. Здесь мы также можем указать уровень достоверности для интервалов прогнозирования, используя єИргумєиг.futurVal<- forecast.Arima(fitARIMA,h=10, level=c(99.5)) [6]. plot.forecast(futurVal) [6].

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

Вывод

Основная цель этой статьи состоит в том, чтобы подчеркнуть более глубокое понимание предположений и методологии моделирования, в отличие от неправильного представления некоторых аналитиков о том, что задачи моделирования могут быть полностью автоматизированы. Как вы, возможно, заметили, я не создавал прогноз для изученных данных временных рядов и не пытался оценить эффективность на невидимых данных. Цель состоит в том, чтобы, надеюсь, продемонстрировать эволюционный характер задачи моделирования посредством проведения сдержек и противовесов и применения интерпретации и вмешательств со стороны человека по мере необходимости для постепенного улучшения качества модели. Модель auto.arimaпомогает сократить время для достижения одной и той же цели при прогнозировании и анализе временных рядов.

Список литературы

временной ряд статистический

1. Шмойлова Р.А., Садовникова Н.А. Анализ временных рядов и прогнозирование. Учебник: Издательский дом Университета "Синергия", 2016. 152с.

2. ПРОГНОЗИРОВАНИЕ ВРЕМЕННЫХ РЯДОВ С ПОМОЩЬЮ ARIMAВ PYTHON 3 [Электронный ресурс] Режим доступа: https://www.8host.com/blog/prognozirovame-vremennyx-ryadov-s-pomoshhyu-arima-v-python-З/ (дата обращения 01.05.2019).

3. ARIMA [Электронный ресурс] Режим доступа: http://help.prognoz.com/ru/mergedProjects/Lib/02_time_series_analysis/uimodelling_arima.htm (дата обращения 02.04.2019).

4. Модель ARIMA[Электронный ресурс] Режим доступа: https://studme.org/72685/ekonomika/model_arima (дата обращения 02.04.2019).

5. Построение модели SARIMAс помощью Python+R[Электронный ресурс] Режим доступа: https://habr.com/ru/post/210530/(дата обращения 03.04.2019).

6. Chapter 23: UsingARIMAforTimeSeriesAnalysis[Электронный ресурс] Режим доступа: https://ademos.people.uic.edu/Chapter23.html (дата обращения 15.03.2019).

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.