Блок "ARIMA"
Назначение блока
Блок позволяет рассчитать безфакторную модель ARIMA.
Специфические пункты меню
| Наименование | Примечание |
|---|---|
| Мастер автоподбора | Мастер предназначен для автоматического отбора параметров модели. При помощи мастера можно подобрать специфический или максимальные порядки модели ARIMA, а также определить уровень дифференцирования ряда. Полная документация по мастеру Мастер анализа временного ряда для блока "Арима" |
| Анализ временного ряда | При помощи мастера "Анализ временного ряда" можно увидеть результаты расширенного текста Дики-Фуллера и графики автокорреляций и частных автокорреляций для выбранного порядка дифференцирования. Полная документация по мастеру Мастер автоподбора максимальных/специфических порядков для блока "Арима" |
Настройки блока
Основные свойства
| Наименование | Тип данных | Обязательное | Примечание |
|---|---|---|---|
| Наименование блока | Строка | Нет | Наименование, которое будет иметь блок в графе. По умолчанию "ARIMA" |
Структурный тип данных
| Наименование | Тип данных | Обязательное | Примечание |
|---|---|---|---|
| Спецификация | Выпадающий список | Да | Поле поддерживает единичную отметку. Определяет каким образом будут заданы периоды моделирования и прогнозирования. По умолчанию выбран "Даты". Содержит следующие элементы: - Индексы - Даты |
Период моделирования
| Наименование | Тип данных | Обязательное | Примечание |
|---|---|---|---|
| Первая точка/Начальная дата | Целое число / Дата и время | Нет | Первая точка/Начальная дата должна быть меньше Последней точки/Последней даты |
| Последняя точка/Последняя дата | Целое число / Дата и время | Нет |
Период прогнозирования
| Наименование | Тип данных | Обязательное | Примечание |
|---|---|---|---|
| Первая точка/Начальная дата | Целое число / Дата и время | Нет | Первая точка/Начальная дата должна быть меньше Последней точки/Последней даты |
| Последняя точка/Последняя дата | Целое число / Дата и время | Нет | |
| Автоопределение ретро | Флаг | Да |
Специфические настройки блока
| Наименование | Тип данных | Обязательное | Примечание |
|---|---|---|---|
| Порядок дифференцирования | Целое число | Да | По умолчания 0 |
| Порядки ARIMA | Выпадающий список | Да | Поле поддерживает единичную отметку. По умолчанию выбран "Максимальные порядки ARIMA". Содержит следующие элементы: - Максимальные порядки ARIMA. - Специфические порядки ARIMA. |
| Максимальный/Специфический порядок авторегрессии | Целое число / Строка | Да | По умолчания 0 |
| Максимальный/Специфический порядок скользящего среднего | Целое число/ Строка | Да | По умолчания 0 |
| Компонент тренда | Выпадающий список | Да | Поле поддерживает единичную отметку. По умолчанию выбран "Без тренда". Содержит следующие элементы: - Без тренда. - Константа. - Временной ряд. - Константа и временной ряд. |
| Методика оценки | Выпадающий список | Да | Поле поддерживает единичную отметку. По умолчанию выбран "Pv.statsmodels". Содержит следующие элементы: - Pv.statsmodels. Расчет будет производиться в среде Python. - R.forecast. Расчет будет производиться в среде R. |
Обработка пропусков
| Наименование | Тип данных | Обязательное | Примечание |
|---|---|---|---|
| Обработка пропусков | Выпадающий список | Нет | По умолчанию выбран "Удаление пропусков". Поле поддерживает единичную отметку. - Удаление пропусков. - Средним по выборке. - Заданным значением. - Максимальным значением. - Минимальным значением. - Линейная интерполяция. - Квадратичная интерполяция. - Кубическая интерполяция. |
| Значение | Вещественное число | Нет | Значение появляется только при выборе метода "Заданным значением" |
| Вывод значений | Выпадающий список | Нет | По умолчанию выбран "Выводить исходные ряды". Поле поддерживает единичную отметку. Содержит следующие элементы: - Выводить исходные ряды. Будут выведены ряды, в том виде, в котором они были введены в метод. - Выводить обработанные ряды. Будут выведены ряды с заполненными или удаленными точками. |
Общие настройки блока
Общие настройки блоков описаны в отдельном разделе.
Входы
| Наименование | Тип | Обязательный | Описание |
|---|---|---|---|
| Зависимая переменная Y | Ряд данных | Да | Ряд для которого необходимо рассчитать модель ARIMA |
Выходы
| Наименование входа | Тип данных | Примечание |
|---|---|---|
| Зависимая переменная Y | Ряд данных | Ряд имеет model_name "Факт". Ряд можно вывести в таблицу или на диаграмму. |
| Статистические характеристики модели | Строка (HTML) | Структура содержит общие характеристики модели. (см. Блок "Статистические характеристики") |
| Уравнение зависимости с оцененными характеристики | Строка | Содержит уравнение модели. Можно вывести в блок "html-шаблон" |
| Коэффициенты модели и из статистические характеристики | Объект | Можно вывести в блок "Таблица" |
| Модельный ряд | Ряд данных | Ряд имеет model_name "Модель". Ряд можно вывести в таблицу или на диаграмму. |
| Прогнозный ряд | Ряд данных | Ряд имеет model_name "Прогноз". Ряд можно вывести в таблицу или на диаграмму. |
| Ряд остатков | Ряд данных | Ряд имеет model_name "Остатки". Ряд можно вывести в таблицу или на диаграмму. |
| Автокорреляционная функция | Ряд данных | Ряд значений автокорреляционной функции для лагов. |
| Частная автокорреляционная функция | Ряд данных | Ряд значений частной автокорреляционной функции для лагов. |
| Расширенный тест Дики-Фуллера | Строка | Содержит статистику и вероятность метода. Можно вывести в блок "html-шаблон" |
| Предупреждения | Строка | Можно вывести в блок "html-шаблон" |
События блока
В блоке нет событий
Описание работы блока
Общая теория блока
Общее представление интегрированной модели авторегрессии - скользящего среднего:
$$ \Delta ^d X_t = c + \sum\nolimits_{i=1}^p a_i \Delta ^d X_{t-i} + \sum\nolimits_{j=1}^q b_j \varepsilon _{t-j} + \varepsilon _t $$
где $\varepsilon _t$ — стационарный временной ряд;
$c, a_i, b_i$ — параметры модели.
$\Delta ^d$ — оператор разности временного ряда порядка d (последовательное взятие d раз разностей первого порядка — сначала от временного ряда, затем от полученных разностей первого порядка, затем от второго порядка и т. д.).
Метод предназначен для прогнозирования временных рядов. Прогнозирование производиться на основании методологии Бокса-Дженкинса - в первую очередь оценивается стационарность ряда. Различными тестами выявляются наличие единичных корней (в нашем случае тестом Дики-Фуллера) и порядок интегрированности временного ряда (обычно ограничиваются первым или вторым порядком). Далее при необходимости (если порядок интегрированности больше нуля) ряд преобразуется взятием разности соответствующего порядка и уже для преобразованной модели строится некоторая ARMA-модель.
Для определения лагов авторегрессии и скользящего среднего используется автокорреляционная и частная автокорреляционная функция.
Ограничения метода
Описание особенностей
- Блок работает только с временным рядом (в ряде должно быть поле ts_name, в атрибутах или же в первичном ключе)
- Если ряд не нужно дифференцировать необходимо в поле "Порядок дифференцирования" задать 0
- При задании максимальных порядков ARIMA будут оцениваться все лаги от 1 до заданного числа. Например, если задано 4, то оценятся 1, 2, 3 и 4 лаги.
- При задании специфических порядков ARIMA будут оцениваться только заданные лаги.
- Специфические порядки задаются через "," или "-", если необходимо задать лаговый период. Например, если задано 1-3, 5,7, то оценятся лаги 1, 2, 3, 5, 7.
- В Python в моделях содержащих авторегрессионную составляющую const это коэффициент при константном тренде, а не константа модели. Для того чтобы рассчитать константу модели, необходимо воспользоваться формулой:
$$ b_0 = \frac{const}{1 - \sum\nolimits_{i=1}^p b_{AR_i}} $$
- Значения коэффициентов могут расходиться с другими пакетам. Разница, вероятно, связана с ошибкой округления и точностью сходимости оптимизационных методов.
- Автокорреляционная и частная автокорреляционная функции рассчитываются только для оригинального ряда.
- Текст Дики Фуллера на единичные корни рассчитывается только для оригинального ряда.
Описание ограничений
- Последняя точка моделирования должна быть больше первой
- Последняя точка прогнозирования должна быть больше первой
- Ряд должен быть не константным
- Максимальный порядок AR из рассчитываемых должен быть меньше количества точек в ряде
- Максимальный порядок MA из рассчитываемых должен быть в 3 раза меньше количества точек в ряде.
Полезные ссылки
Исследование временного ряда при помощи Python
Теоретическая информация об используемых функциях: ARIMA
