ВРЕМЕННЫЕ РЯДЫ ФОРЕКС

Лучший Форекс брокер 2020 года:
  • FinMaxFx
    FinMaxFx

    Лучший Форекс брокер этого года!
    Бесплатное обучение и демо-счет!
    Бонусы за регистрацию!


147 Прогноз временных рядов (TSF)

Прогноз временных рядов (Time Series Forecast, TSF) — индикатор, состоящий из линейных измерений регрессии, рассчитываемый с использованием метода наименьших квадратов. Индикатор Прогноз временных рядов используется аналогично линейной регрессии для определения тренда в установленный промежуток времени.На графике индикатор выглядит как кривая линия, состоящая из последних точек нескольких линий тренда линейной регрессии
С помощью TSF можно спрогнозировать будущие цены на рынке Forex, поскольку он определяет угол наклона тренда (восходящего или нисходящего) и прогнозирует будущее движение.
Например, если цены движутся вверх, TSF пытается определить угол наклона тренда, сравнивает с текущей ценой и перенести этот расчет на будущие периоды. При сохранении тенденции, значение индикатора прогноза временных рядов — прогноз цены будущего периода.

Формула
TSF = at+b + a = a(t+1) + b,
TSF — Прогноз временного ряда по цене закрытия,
t — период времени,
a — тангенс угла наклона линии регрессии,
он равен
a = (n*S (t*Pt — S(t)*S(Pt))/(n*S(t^2) — (S(t))^2)
b — смещение по вертикали,
оно рассчитывается так:
b = 1/n*(S(Pt) — a*S(t)),
S — сумма,
Pt — цены закрытия за n последних периодов.

Сигналы:
Тренд считается нисходящим, когда цена на рынке форекс падает ниже индикатора. .
Тренд оценивается как восходящий, когда цены на рынке форекс превышают индикатор.
Отличие от линейной регрессии:
Принятое по умолчанию значение входной величины у TSF значительно меньше, поэтому базовая линия растягивается вперед.
Отставание TSF от текущих цен меньше, чем у скользящих средних. Это связано с тем, что график подстраивается под цену вместо того, чтобы ее усреднять ее.
TSF более чувствителен к изменениям цены.
Прогноз временных рядов — важный инструмент инвестиционной деятельности, поскольку 99% всех сделок — спекулятивные, цель которых извлечение прибыли : «купил подешевле — продал подороже «. Все они основаны на предсказаниях изменения курса участниками сделки.

Временные ряды в техническом анализе

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

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

Рисунок 136. Временные Ряды + Ретрейсмент Фибоначчи, GBP/USD, H1

Лучший Форекс брокер 2020 года:
  • FinMaxFx
    FinMaxFx

    Лучший Форекс брокер этого года!
    Бесплатное обучение и демо-счет!
    Бонусы за регистрацию!

На рисунке 136 показан пример совместной работы Временных рядов и Ретрейсмента на паре GBP/USD. В данной ситуации уровень «3» подтвердил наличие разворотной временной области на линии 23.6%(L2), являющейся ключевым уровнем паттерна IP3, который сформировался после отскока цены от уровня 50%. Открытие сделок на продажу на основании внутреннего паттерна ретрейсмента IP3 было возможно и без подтверждения разворота инструментом времени, но такой вариант более надежен, так как трейдер получает дополнительную информацию о времени начала ценового движения — отработки паттерна. Временные ряды на рисунке 6 так же указали и на область поддержки на уровне 38.2% (уровень «2» Временных рядов), но данная поддержка оказалась локальной.

Рисунок 137. Временные ряды + I-Проекция Фибоначчи, GBP/USD, Daily

Рисунок 137 демонстрирует силу совместной работы Временных рядов и Проекции Фибоначчи. Цена достигла уровня 127.2%, и для открытия покупок можно было дождаться подтверждения инструментом «времени». В отмеченной на рисунке области уровни времени и места совпали (уровень времени немного сместился относительно разворотной свечи), и в данной ситуации оптимальным вариантом торговли была покупка пары GBP/USD, со стопом за уровнем P161.8%. После достижения кластера «места+время» цена сразу же начала расти, и укрепилась более чем на 600 пунктов.

    Уровни любых временных инструментов строятся, в большинстве своем, на основании дробных пропорций (исключая «круглые» Фибо-уровни). Поэтому в некоторых ситуациях возможна погрешность в расположении вертикальной линии времени относительно экстремальной ценовой области. Данная погрешность является нормальной и не мешает принимать решение о входе на основании кластера «место+время».

Рисунок 138. Временные ряды + Расширение Фибоначчи, USD/CHF, H4

Заключительный пример потрясающей по своей силе совместной работы инструментов «места» и инструмент «времени» показан на рисунке 138. Здесь на паре USD/CHF сформировался восходящий тренд, на первую волну роста были построены Временные ряды, и Расширение Фибоначчи, с учетом волны коррекции первой волны.

Цена достигла уровня FE 138.2%, ключевого для пары USD/CHF, на который указал уровень «3» временного ряда. После достижения цены этого кластера — произошел однодневный разворот, и цена начала затяжное падение почти в 300 пунктов.

Из представленных выше примеров может быть сделан однозначный вывод: использование в торговле совместно инструментов «места» и «времени» Фибоначчи не только корректный метод трейдинга; он оправдан также достаточным количеством пунктов (потенциальной прибыли), которое цена проходит после достижения общего кластера и формирования разворота из этой области. В следующей главе будет рассмотрено применение Комплексного анализа Фибоначчи на валютном рынке в среднесрочных сделках, происходивших в период с 2009 по 2012 год.

Прогноз временного ряда (Time Series Forecast)

TSF, Time Series Forecast (Прогноз временного ряда) — индикатор технического анализа, показывающий динамику последней точки трендовой линии регрессии в каждый отдельный момент времени. Звучит сложно, но на самом деле все просто. Результирующая линия индикатора Time Series Forecast это кривая наподобие Скользящей Средней. Каждая точка этой кривой есть ничто иное как последняя точка линии регрессии за определенный период. Множество этих точек и есть кривая TSF. Именно поэтому Прогноз временного ряда часто называют «Скользящая линия линейной регрессии» и/или «Осциллятор регрессии».

Линия TSF, Time Series Forecast (Прогноз временного ряда) считается по методу наименьших квадратов. При таком подходе достигается наименьшее отклонение линии индикатора непосредственно от цен.

Внешне TSF практически не отличим от МА с небольшим периодом. Однако, принципиальное отличие этого индикатора от Скользящего Среднего в том, что он более чувствителен к текущей цене, более точен в своих прогнозах. Если МА это среднее значение цены за определенный период, то TSF это подстроенные (взвешенные) показатели цен за определенный период. В отличие от МА Прогноз временного ряда идет за графиком без отставания или почти без него. Что в свою очередь открывает возможность более точных, своевременных сигналов к действиям с торговым инструментом. В силу своей природы TSF максимально чувствителен к ценам и, практически, не пропускает существенных движений, что и дает возможность зарабатывать на рынке.

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

Добавление индикатора в МТ

Прогноз временного ряда (TSF, Time Series Forecast) не входит в стандартное оснащение торговых платформ МТ4 и МТ5. Для того чтобы добавить его, вам необходимо скопировать файлы индикатора в соответствующую директорию у вас на компьютере.

Если у вас МетаТрейдер 4. Откройте C:\Program Files. Далее найдите там папку файлов торгового терминала и откройте ее. Зайдите в директорию …\MQL4\Indicators и скопируйте туда файл/файлы TSF, Time Series Forecast (Прогноз временного ряда).

Если у вас МетаТрейдер 5. Откройте C:\Program Files. Далее найдите там папку файлов торгового терминала и откройте ее. Зайдите в директорию …\MQL5\Indicators\Examples и скопируйте туда файл/файлы TSF, Time Series Forecast (Прогноз временного ряда).

После этого запустите торговый терминал. Нажмите «Вставка/Индикаторы/Пользовательские». Откроется список индикаторов. Выберите TSF, Time Series Forecast (Прогноз временного ряда).

Вариант добавления Прогноза временного ряда (TSF, Time Series Forecast) №2

Добавьте файлы как указано выше. Затем запустите МТ. По умолчанию на рабочем столе открыто окно «Навигатор». Выберите в нем TSF, Time Series Forecast (Прогноз временного ряда), как показано на рисунке и перетащите на график торгового инструмента.


Параметры индикатора

Прогноз временного ряда (TSF, Time Series Forecast)

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

Торговая система

Торговать по Прогнозу временного ряда (TSF, Time Series Forecast) можно по разному. Тут дело только в вашей фантазии. Самый простой способ из наиболее надежных использовать TSF как сигнальную линию в сочетании либо со второй линией TSF но большего периода, либо с обычным Скользящим Средним.

Сделка на покупку:

1. Линия TSF пробила снизу вверх Скользящее Среднее большего периода, покупаем;

2. Стоп Лосс ставим на 3-5 пунктов ниже предыдущего локального экстремума;

3. Закрываем сделку, когда цена закрылась ниже «большой» Скользящей Средней.

Для сделки на покупку обратные условия.

Несколько простых правил в заключение

Помните, на Форекс нет индикаторов, которые не ошибаются. Прогноз временного ряда (TSF, Time Series Forecast), как любые другие, требует подтверждения своих сигналов. При построении своей собственной торговой системы, используйте несколько индикаторов.

Соблюдайте Мани Менеджмент. Никогда в одной сделке не рискуйте более 2-х процентов от своего капитала. Такой подход оградит вас от разорения и позволит стабильно зарабатывать на Форекс с помощью Прогноза временного ряда (TSF, Time Series Forecast).

Четко соблюдайте свою торговую стратегию. Если по стратегии Прогноза временного ряда (TSF, Time Series Forecast) надо открывать сделку – открывайте, если фиксировать результат – фиксируйте, и неважно в плюсе вы или нет. Только следование правилам TSF, Time Series Forecast (Прогноз временного ряда) «от и до» позволит зарабатывать.

Прогноз временного ряда (TSF, Time Series Forecast) для МТ4 можно скачать по ссылке

Анализ временных рядов и прогнозирование в Excel на примере

Анализ временных рядов позволяет изучить показатели во времени. Временной ряд – это числовые значения статистического показателя, расположенные в хронологическом порядке.

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

Временные ряды в Excel

Если фиксировать значения какого-то процесса через определенные промежутки времени, то получатся элементы временного ряда. Их изменчивость пытаются разделить на закономерную и случайную составляющие. Закономерные изменения членов ряда, как правило, предсказуемы.

Сделаем анализ временных рядов в Excel. Пример: торговая сеть анализирует данные о продажах товаров магазинами, находящимися в городах с населением менее 50 000 человек. Период – 2012-2020 гг. Задача – выявить основную тенденцию развития.

Внесем данные о реализации в таблицу Excel:

На вкладке «Данные» нажимаем кнопку «Анализ данных». Если она не видна, заходим в меню. «Параметры Excel» — «Надстройки». Внизу нажимаем «Перейти» к «Надстройкам Excel» и выбираем «Пакет анализа».

Подключение настройки «Анализ данных» детально описано здесь.

Нужная кнопка появится на ленте.

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

Заполняем диалоговое окно. Входной интервал – диапазон со значениями продаж. Фактор затухания – коэффициент экспоненциального сглаживания (по умолчанию – 0,3). Выходной интервал – ссылка на верхнюю левую ячейку выходного диапазона. Сюда программа поместит сглаженные уровни и размер определит самостоятельно. Ставим галочки «Вывод графика», «Стандартные погрешности».


Закрываем диалоговое окно нажатием ОК. Результаты анализа:

Для расчета стандартных погрешностей Excel использует формулу: =КОРЕНЬ(СУММКВРАЗН(‘диапазон фактических значений’; ‘диапазон прогнозных значений’)/ ‘размер окна сглаживания’). Например, =КОРЕНЬ(СУММКВРАЗН(C3:C5;D3:D5)/3).

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

Составим прогноз продаж, используя данные из предыдущего примера.

На график, отображающий фактические объемы реализации продукции, добавим линию тренда (правая кнопка по графику – «Добавить линию тренда»).

Настраиваем параметры линии тренда:

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

R2 = 0,9567, что означает: данное отношение объясняет 95,67% изменений объемов продаж с течением времени.

Уравнение тренда – это модель формулы для расчета прогнозных значений.

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

Получаем достаточно оптимистичный результат:

В нашем примере все-таки экспоненциальная зависимость. Поэтому при построении линейного тренда больше ошибок и неточностей.

Для прогнозирования экспоненциальной зависимости в Excel можно использовать также функцию РОСТ.

Для линейной зависимости – ТЕНДЕНЦИЯ.

При составлении прогнозов нельзя использовать какой-то один метод: велика вероятность больших отклонений и неточностей.

Прогноз временного ряда (Time Series Forecast)

TSF, Time Series Forecast (Прогноз временного ряда) — индикатор технического анализа, показывающий динамику последней точки трендовой линии регрессии в каждый отдельный момент времени. Звучит сложно, но на самом деле все просто. Результирующая линия индикатора Time Series Forecast это кривая наподобие Скользящей Средней. Каждая точка этой кривой есть ничто иное как последняя точка линии регрессии за определенный период. Множество этих точек и есть кривая TSF. Именно поэтому Прогноз временного ряда часто называют «Скользящая линия линейной регрессии» и/или «Осциллятор регрессии».

Линия TSF, Time Series Forecast (Прогноз временного ряда) считается по методу наименьших квадратов. При таком подходе достигается наименьшее отклонение линии индикатора непосредственно от цен.

Внешне TSF практически не отличим от МА с небольшим периодом. Однако, принципиальное отличие этого индикатора от Скользящего Среднего в том, что он более чувствителен к текущей цене, более точен в своих прогнозах. Если МА это среднее значение цены за определенный период, то TSF это подстроенные (взвешенные) показатели цен за определенный период. В отличие от МА Прогноз временного ряда идет за графиком без отставания или почти без него. Что в свою очередь открывает возможность более точных, своевременных сигналов к действиям с торговым инструментом. В силу своей природы TSF максимально чувствителен к ценам и, практически, не пропускает существенных движений, что и дает возможность зарабатывать на рынке.

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

Добавление индикатора в МТ

Прогноз временного ряда (TSF, Time Series Forecast) не входит в стандартное оснащение торговых платформ МТ4 и МТ5. Для того чтобы добавить его, вам необходимо скопировать файлы индикатора в соответствующую директорию у вас на компьютере.

Если у вас МетаТрейдер 4. Откройте C:\Program Files. Далее найдите там папку файлов торгового терминала и откройте ее. Зайдите в директорию …\MQL4\Indicators и скопируйте туда файл/файлы TSF, Time Series Forecast (Прогноз временного ряда).

Если у вас МетаТрейдер 5. Откройте C:\Program Files. Далее найдите там папку файлов торгового терминала и откройте ее. Зайдите в директорию …\MQL5\Indicators\Examples и скопируйте туда файл/файлы TSF, Time Series Forecast (Прогноз временного ряда).

После этого запустите торговый терминал. Нажмите «Вставка/Индикаторы/Пользовательские». Откроется список индикаторов. Выберите TSF, Time Series Forecast (Прогноз временного ряда).


Вариант добавления Прогноза временного ряда (TSF, Time Series Forecast) №2

Добавьте файлы как указано выше. Затем запустите МТ. По умолчанию на рабочем столе открыто окно «Навигатор». Выберите в нем TSF, Time Series Forecast (Прогноз временного ряда), как показано на рисунке и перетащите на график торгового инструмента.

Параметры индикатора

Прогноз временного ряда (TSF, Time Series Forecast)

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

Торговая система

Торговать по Прогнозу временного ряда (TSF, Time Series Forecast) можно по разному. Тут дело только в вашей фантазии. Самый простой способ из наиболее надежных использовать TSF как сигнальную линию в сочетании либо со второй линией TSF но большего периода, либо с обычным Скользящим Средним.

Сделка на покупку:

1. Линия TSF пробила снизу вверх Скользящее Среднее большего периода, покупаем;

2. Стоп Лосс ставим на 3-5 пунктов ниже предыдущего локального экстремума;

3. Закрываем сделку, когда цена закрылась ниже «большой» Скользящей Средней.

Для сделки на покупку обратные условия.

Несколько простых правил в заключение

Помните, на Форекс нет индикаторов, которые не ошибаются. Прогноз временного ряда (TSF, Time Series Forecast), как любые другие, требует подтверждения своих сигналов. При построении своей собственной торговой системы, используйте несколько индикаторов.

Соблюдайте Мани Менеджмент. Никогда в одной сделке не рискуйте более 2-х процентов от своего капитала. Такой подход оградит вас от разорения и позволит стабильно зарабатывать на Форекс с помощью Прогноза временного ряда (TSF, Time Series Forecast).

Четко соблюдайте свою торговую стратегию. Если по стратегии Прогноза временного ряда (TSF, Time Series Forecast) надо открывать сделку – открывайте, если фиксировать результат – фиксируйте, и неважно в плюсе вы или нет. Только следование правилам TSF, Time Series Forecast (Прогноз временного ряда) «от и до» позволит зарабатывать.

Прогноз временного ряда (TSF, Time Series Forecast) для МТ4 можно скачать по ссылке

ВРЕМЕННЫЕ РЯДЫ ФОРЕКС

Анализ временных рядов

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

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

Подробное обсуждение этих методов можно найти в следующих работах: Anderson (1976), Бокс и Дженкинс (1976), Kendall (1984), Kendall and Ord (1990), Montgomery, Johnson, and Gardiner (1990), Pankratz (1983), Shumway (1988), Vandaele (1983), Walker (1991), Wei (1989).

Две основные цели

Существуют две основные цели анализа временных рядов: (1) определение природы ряда и (2) прогнозирование (предсказание будущих значений временного ряда по настоящим и прошлым значениям). Обе эти цели требуют, чтобы модель ряда была идентифицирована и, более или менее, формально описана. Как только модель определена, вы можете с ее помощью интерпретировать рассматриваемые данные (например, использовать в вашей теории для понимания сезонного изменения цен на товары, если занимаетесь экономикой). Не обращая внимания на глубину понимания и справедливость теории, вы можете экстраполировать затем ряд на основе найденной модели, т.е. предсказать его будущие значения.

Систематическая составляющая и случайный шум

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

Два общих типа компонент временных рядов

Большинство регулярных составляющих временных рядов принадлежит к двум классам: они являются либо трендом, либо сезонной составляющей. Тренд представляет собой общую систематическую линейную или нелинейную компоненту, которая может изменяться во времени. Сезонная составляющая — это периодически повторяющаяся компонента. Оба эти вида регулярных компонент часто присутствуют в ряде одновременно. Например, продажи компании могут возрастать из года в год, но они также содержат сезонную составляющую (как правило, 25% годовых продаж приходится на декабрь и только 4% на август).


Эту общую модель можно понять на «классическом» ряде — Ряд G (Бокс и Дженкинс, 1976, стр. 531), представляющем месячные международные авиаперевозки (в тысячах) в течение 12 лет с 1949 по 1960 (см. файл Series_g.sta). График месячных перевозок ясно показывает почти линейный тренд, т.е. имеется устойчивый рост перевозок из года в год (примерно в 4 раза больше пассажиров перевезено в 1960 году, чем в 1949). В то же время характер месячных перевозок повторяется, они имеют почти один и тот же характер в каждом годовом периоде (например, перевозок больше в отпускные периоды, чем в другие месяцы). Этот пример показывает довольно определенный тип модели временного ряда, в которой амплитуда сезонных изменений увеличивается вместе с трендом. Такого рода модели называются моделями с мультипликативной сезонностью.

Не существует «автоматического» способа обнаружения тренда в временном ряде. Однако если тренд является монотонным (устойчиво возрастает или устойчиво убывает), то анализировать такой ряд обычно нетрудно. Если временные ряды содержат значительную ошибку, то первым шагом выделения тренда является сглаживание.

Сглаживание. Сглаживание всегда включает некоторый способ локального усреднения данных, при котором несистематические компоненты взаимно погашают друг друга. Самый общий метод сглаживания — скользящее среднее, в котором каждый член ряда заменяется простым или взвешенным средним n соседних членов, где n — ширина «окна» (см. Бокс и Дженкинс, 1976; Velleman and Hoaglin, 1981). Вместо среднего можно использовать медиану значений, попавших в окно. Основное преимущество медианного сглаживания, в сравнении со сглаживанием скользящим средним, состоит в том, что результаты становятся более устойчивыми к выбросам (имеющимся внутри окна). Таким образом, если в данных имеются выбросы (связанные, например, с ошибками измерений), то сглаживание медианой обычно приводит к более гладким или, по крайней мере, более «надежным» кривым, по сравнению со скользящим средним с тем же самым окном. Основной недостаток медианного сглаживания в том, что при отсутствии явных выбросов, он приводит к более «зубчатым» кривым (чем сглаживание скользящим средним) и не позволяет использовать веса.

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

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

Периодическая и сезонная зависимость (сезонность) представляет собой другой общий тип компонент временного ряда. Это понятие было проиллюстрировано ранее на примере авиаперевозок пассажиров. Можно легко видеть, что каждое наблюдение очень похоже на соседнее; дополнительно, имеется повторяющаяся сезонная составляющая, это означает, что каждое наблюдение также похоже на наблюдение, имевшееся в том же самом месяце год назад. В общем, периодическая зависимость может быть формально определена как корреляционная зависимость порядка k между каждым i-м элементом ряда и (i-k)-м элементом (Kendall, 1976). Ее можно измерить с помощью автокорреляции (т.е. корреляции между самими членами ряда); k обычно называют лагом (иногда используют эквивалентные термины: сдвиг, запаздывание). Если ошибка измерения не слишком большая, то сезонность можно определить визуально, рассматривая поведение членов ряда через каждые k временных единиц.

Автокорреляционная коррелограмма. Сезонные составляющие временного ряда могут быть найдены с помощью коррелограммы. Коррелограмма (автокоррелограмма) показывает численно и графически автокорреляционную функцию (AКФ), иными словами коэффициенты автокорреляции (и их стандартные ошибки) для последовательности лагов из определенного диапазона (например, от 1 до 30). На коррелограмме обычно отмечается диапазон в размере двух стандартных ошибок на каждом лаге, однако обычно величина автокорреляции более интересна, чем ее надежность, потому что интерес в основном представляют очень сильные (а, следовательно, высоко значимые) автокорреляции (см. Элементарные понятия статистики).

Исследование коррелограмм. При изучении коррелограмм следует помнить, что автокорреляции последовательных лагов формально зависимы между собой. Рассмотрим следующий пример. Если первый член ряда тесно связан со вторым, а второй с третьим, то первый элемент должен также каким-то образом зависеть от третьего и т.д. Это приводит к тому, что периодическая зависимость может существенно измениться после удаления автокорреляций первого порядка, т.е. после взятия разности с лагом 1).

Частные автокорреляции. Другой полезный метод исследования периодичности состоит в исследовании частной автокорреляционной функции (ЧАКФ), представляющей собой углубление понятия обычной автокорреляционной функции. В ЧАКФ устраняется зависимость между промежуточными наблюдениями (наблюдениями внутри лага). Другими словами, частная автокорреляция на данном лаге аналогична обычной автокорреляции, за исключением того, что при вычислении из нее удаляется влияние автокорреляций с меньшими лагами (см. Бокс и Дженкинс, 1976; см. также McDowall, McCleary, Meidinger, and Hay, 1980). На лаге 1 (когда нет промежуточных элементов внутри лага), частная автокорреляция равна, очевидно, обычной автокорреляции. На самом деле, частная автокорреляция дает более «чистую» картину периодических зависимостей.

Удаление периодической зависимости. Как отмечалось выше, периодическая составляющая для данного лага k может быть удалена взятием разности соответствующего порядка. Это означает, что из каждого i-го элемента ряда вычитается (i-k)-й элемент. Имеются два довода в пользу таких преобразований.

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

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

Процедуры оценки параметров и прогнозирования, описанные в разделе Идентификация модели временных рядов, предполагают, что математическая модель процесса известна. В реальных данных часто нет отчетливо выраженных регулярных составляющих. Отдельные наблюдения содержат значительную ошибку, тогда как вы хотите не только выделить регулярные компоненты, но также построить прогноз. Методология АРПСС, разработанная Боксом и Дженкинсом (1976), позволяет это сделать. Данный метод чрезвычайно популярен во многих приложениях, и практика подтвердила его мощность и гибкость (Hoff, 1983; Pankratz, 1983; Vandaele, 1983). Однако из-за мощности и гибкости, АРПСС — сложный метод. Его не так просто использовать, и требуется большая практика, чтобы овладеть им. Хотя часто он дает удовлетворительные результаты, они зависят от квалификации пользователя (Bails and Peppers, 1982). Следующие разделы познакомят вас с его основными идеями. Для интересующихся кратким, рассчитанным на применение, (нематематическим) введением в АРПСС, рекомендуем книгу McCleary, Meidinger, and Hay (1980).

Два основных процесса

Процесс авторегрессии. Большинство временных рядов содержат элементы, которые последовательно зависят друг от друга. Такую зависимость можно выразить следующим уравнением:

xt = + 1*x(t-1) + 2*x(t-2) + 3*x(t-3) + . +

Здесь:
— константа (свободный член),
1 , 2 , 3 — параметры авторегрессии.

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

Требование стационарности. Заметим, что процесс авторегрессии будет стационарным только, если его параметры лежат в определенном диапазоне. Например, если имеется только один параметр, то он должен находиться в интервале -1 xt = µ + t1*(t-1)2*(t-2)3*(t-3) — .

Здесь:
µ — константа,
1 , 2 , 3 — параметры скользящего среднего.

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

Обратимость. Не вдаваясь в детали, отметим, что существует «двойственность» между процессами скользящего среднего и авторегрессии (см. например, Бокс и Дженкинс, 1976; Montgomery, Johnson, and Gardiner, 1990). Это означает, что приведенное выше уравнение скользящего среднего можно переписать (обратить) в виде уравнения авторегрессии (неограниченного порядка), и наоборот. Это так называемое свойство обратимости. Имеются условия, аналогичные приведенным выше условиям стационарности, обеспечивающие обратимость модели.

Модель авторегрессии и скользящего среднего. Общая модель, предложенная Боксом и Дженкинсом (1976) включает как параметры авторегрессии, так и параметры скользящего среднего. Именно, имеется три типа параметров модели: параметры авторегрессии (p), порядок разности (d), параметры скользящего среднего (q). В обозначениях Бокса и Дженкинса модель записывается как АРПСС (p, d, q). Например, модель (, 1, 2) содержит 0 (нуль) параметров авторегрессии (p) и 2 параметра скользящего среднего (q), которые вычисляются для ряда после взятия разности с лагом 1.

Идентификация. Как отмечено ранее, для модели АРПСС необходимо, чтобы ряд был стационарным, это означает, что его среднее постоянно, а выборочные дисперсия и автокорреляция не меняются во времени. Поэтому обычно необходимо брать разности ряда до тех пор, пока он не станет стационарным (часто также применяют логарифмическое преобразование для стабилизации дисперсии). Число разностей, которые были взяты, чтобы достичь стационарности, определяются параметром d (см. предыдущий раздел). Для того чтобы определить необходимый порядок разности, нужно исследовать график ряда и автокоррелограмму. Сильные изменения уровня (сильные скачки вверх или вниз) обычно требуют взятия несезонной разности первого порядка (лаг=1). Сильные изменения наклона требуют взятия разности второго порядка. Сезонная составляющая требует взятия соответствующей сезонной разности (см. ниже). Если имеется медленное убывание выборочных коэффициентов автокорреляции в зависимости от лага, обычно берут разность первого порядка. Однако следует помнить, что для некоторых временных рядов нужно брать разности небольшого порядка или вовсе не брать их. Заметим, что чрезмерное количество взятых разностей приводит к менее стабильным оценкам коэффициентов.

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

Эта статья приведёт Вас к успеху:  ЗАРАБАТЫВАЮЩИЙ ИНДИКАТОР ФОРЕКС

Оценивание и прогноз. Следующий, после идентификации, шаг (Оценивание) состоит в оценивании параметров модели (для чего используются процедуры минимизации функции потерь, см. ниже; более подробная информация о процедурах минимизации дана в разделе Нелинейное оценивание). Полученные оценки параметров используются на последнем этапе (Прогноз) для того, чтобы вычислить новые значения ряда и построить доверительный интервал для прогноза. Процесс оценивания проводится по преобразованным данным (подвергнутым применению разностного оператора). До построения прогноза нужно выполнить обратную операцию (интегрировать данные). Таким образом, прогноз методологии будет сравниваться с соответствующими исходными данными. На интегрирование данных указывает буква П в общем названии модели (АРПСС = Авторегрессионное Проинтегрированное Скользящее Среднее).

Константа в моделях АРПСС. Дополнительно модели АРПСС могут содержать константу, интерпретация которой зависит от подгоняемой модели. Именно, если (1) в модели нет параметров авторегрессии, то константа есть среднее значение ряда, если (2) параметры авторегрессии имеются, то константа представляет собой свободный член. Если бралась разность ряда, то константа представляет собой среднее или свободный член преобразованного ряда. Например, если бралась первая разность (разность первого порядка), а параметров авторегрессии в модели нет, то константа представляет собой среднее значение преобразованного ряда и, следовательно, коэффициент наклона линейного тренда исходного.

Число оцениваемых параметров. Конечно, до того, как начать оценивание, вам необходимо решить, какой тип модели будет подбираться к данным, и какое количество параметров присутствует в модели, иными словами, нужно идентифицировать модель АРПСС. Основными инструментами идентификации порядка модели являются графики, автокорреляционная функция (АКФ), частная автокорреляционная функция (ЧАКФ). Это решение не является простым и требуется основательно поэкспериментировать с альтернативными моделями. Тем не менее, большинство встречающихся на практике временных рядов можно с достаточной степенью точности аппроксимировать одной из 5 основных моделей (см. ниже), которые можно идентифицировать по виду автокорреляционной (АКФ) и частной автокорреляционной функции (ЧАКФ). Ниже дается список этих моделей, основанный на рекомендациях Pankratz (1983); дополнительные практические советы даны в Hoff (1983), McCleary and Hay (1980), McDowall, McCleary, Meidinger, and Hay (1980), and Vandaele (1983). Отметим, что число параметров каждого вида невелико (меньше 2), поэтому нетрудно проверить альтернативные модели.

  1. Один параметр (p): АКФ — экспоненциально убывает; ЧАКФ — имеет резко выделяющееся значение для лага 1, нет корреляций на других лагах.
  2. Два параметра авторегрессии (p): АКФ имеет форму синусоиды или экспоненциально убывает; ЧАКФ имеет резко выделяющиеся значения на лагах 1, 2, нет корреляций на других лагах.
  3. Один параметр скользящего среднего (q): АКФ имеет резко выделяющееся значение на лаге 1, нет корреляций на других лагах. ЧАКФ экспоненциально убывает.
  4. Два параметра скользящего среднего (q): АКФ имеет резко выделяющиеся значения на лагах 1, 2, нет корреляций на других лагах. ЧАКФ имеет форму синусоиды или экспоненциально убывает.
  5. Один параметр авторегрессии (p) и один параметр скользящего среднего (q): АКФ экспоненциально убывает с лага 1; ЧАКФ — экспоненциально убывает с лага 1.

Сезонные модели. Мультипликативная сезонная АРПСС представляет естественное развитие и обобщение обычной модели АРПСС на ряды, в которых имеется периодическая сезонная компонента. В дополнении к несезонным параметрам, в модель вводятся сезонные параметры для определенного лага (устанавливаемого на этапе идентификации порядка модели). Аналогично параметрам простой модели АРПСС, эти параметры называются: сезонная авторегрессия (ps), сезонная разность (ds) и сезонное скользящее среднее (qs). Таким образом, полная сезонная АРПСС может быть записана как АРПСС (p,d,q)(ps,ds,qs). Например, модель (0,1,2)(0,1,1) включает 0 регулярных параметров авторегрессии, 2 регулярных параметра скользящего среднего и 1 параметр сезонного скользящего среднего. Эти параметры вычисляются для рядов, получаемых после взятия одной разности с лагом 1 и далее сезонной разности. Сезонный лаг, используемый для сезонных параметров, определяется на этапе идентификации порядка модели.

Общие рекомендации относительно выбора обычных параметров (с помощью АКФ и ЧАКФ) полностью применимы к сезонным моделям. Основное отличие состоит в том, что в сезонных рядах АКФ и ЧАКФ имеют существенные значения на лагах, кратных сезонному лагу (в дополнении к характерному поведению этих функций, описывающих регулярную (несезонную) компоненту АРПСС).

Существуют различные методы оценивания параметров, которые дают очень похожие оценки, но для данной модели одни оценки могут быть более эффективны, а другие менее эффективны. В общем, во время оценивания порядка модели используется так называемый квазиньютоновский алгоритм максимизации правдоподобия (вероятности) наблюдения значений ряда по значениям параметров (см. Нелинейное оценивание). Практически это требует вычисления (условных) сумм квадратов (SS) остатков модели. Имеются различные способы вычисления суммы квадратов остатков SS; вы можете выбрать: (1) приближенный метод максимального правдоподобия МакЛеода и Сейлза (1983), (2) приближенный метод максимального правдоподобия с итерациями назад, (3)точный метод максимального правдоподобия по Meларду (1984).


Сравнение методов. В общем, все методы дают очень похожие результаты. Также все методы показали примерно одинаковую эффективность на реальных данных. Однако метод 1 (см. выше) — самый быстрый, и им можно пользоваться для исследования очень длинных рядов (например, содержащих более 30,000 наблюдений). Метод Меларда (номер 3) может оказаться неэффективным, если оцениваются параметры сезонной модели с большим сезонным лагом (например, 365 дней). С другой стороны, вы можете использовать вначале приближенный метод максимального правдоподобия (для того, чтобы найти прикидочные оценки параметров), а затем точный метод; обычно требуется только несколько итераций точного метода (номер 3, выше), чтобы получить окончательные оценки.

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

Штраф. Процедура оценивания минимизирует (условную) сумму квадратов остатков модели. Если модель не является адекватной, может случиться так, что оценки параметров на каком-то шаге станут неприемлемыми — очень большими (например, не удовлетворяют условию стационарности). В таком случае, SS будет приписано очень большое значение (штрафное значение). Обычно это «заставляет» итерационный процесс удалить параметры из недопустимой области. Однако в некоторых случаях и эта стратегия может оказаться неудачной, и вы все равно увидите на экране (во время процедуры оценивания) очень большие значения SS на серии итераций. В таких случаях следует с осторожностью оценивать пригодность модели. Если модель содержит много параметров и, возможно, имеется интервенция (см. ниже), то следует несколько раз испытать процесс оценивания с различными начальными. Если модель содержит много параметров и, возможно, интервенцию (см. ниже), вам следует повторить процедуру с различными начальными значениями параметров.

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

Другой критерий качества. Другой обычной мерой надежности модели является сравнение прогноза, построенного по урезанному ряду с «известными (исходными) данными».

Однако качественная модель должна не только давать достаточно точный прогноз, но быть экономной и иметь независимые остатки, содержащие только шум без систематических компонент (в частности, АКФ остатков не должна иметь какой-либо периодичности). Поэтому необходим всесторонний анализ остатков. Хорошей проверкой модели являются: (a) график остатков и изучение их трендов, (b) проверка АКФ остатков (на графике АКФ обычно отчетливо видна периодичность).

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

Ограничения. Следует напомнить, что модель АРПСС является подходящей только для рядов, которые являются стационарными (среднее, дисперсия и автокорреляция примерно постоянны во времени); для нестационарных рядов следует брать разности. Рекомендуется иметь, как минимум, 50 наблюдений в файле исходных данных. Также предполагается, что параметры модели постоянны, т.е. не меняются во времени.

Прерванные временные ряды

Обычный вопрос, возникающий при анализе временных рядов, состоит в следующем, воздействует или нет внешнее событие на последовательность наблюдений. Например, привела ли новая экономическая политика к росту экономики, как обещалось; изменил ли новый закон интенсивность преступлений и т.д. В общем, нужно оценивать воздействия одного или нескольких дискретных событий на значения ряда. Этот вид анализа прерванных временных рядов подробно описан в книге McDowall, McCleary, Me >

В начало

Экспоненциальное сглаживание — это очень популярный метод прогнозирования многих временных рядов. Исторически метод был независимо открыт Броуном и Холтом. Броун служил на флоте США во время второй мировой войны, где занимался обнаружением подводных лодок и системами наведения. Позже он применил открытый им метод для прогнозирования спроса на запасные части. Свои идеи он описал в книге, вышедшей в свет в 1959 году. Исследования Холта были поддержаны Департаментом военно-морского флота США. Независимо друг от друга, Броун и Холт открыли экспоненциальное сглаживание для процессов с постоянным трендом, с линейным трендом и для рядов с сезонной составляющей.

Gardner (1985), предложил «единую» классификацию методов экспоненциального сглаживания. Превосходное введение в эти методы можно найти в книгах Makridakis, Wheelwright, and McGee (1983), Makridakis and Wheelwright (1989), Montgomery, Johnson, and Gardiner (1990).

Простое экспоненциальное сглаживание

Простая и прагматически ясная модель временного ряда имеет следующий вид: Xt = b + t, где b — константа и (эпсилон) — случайная ошибка. Константа b относительно стабильна на каждом временном интервале, но может также медленно изменяться со временем. Один из интуитивно ясных способов выделения b состоит в том, чтобы использовать сглаживание скользящим средним, в котором последним наблюдениям приписываются большие веса, чем предпоследним, предпоследним большие веса, чем пред-предпоследним и т.д. Простое экспоненциальное именно так и устроено. Здесь более старым наблюдениям приписываются экспоненциально убывающие веса, при этом, в отличие от скользящего среднего, учитываются все предшествующие наблюдения ряда, а не те, что попали в определенное окно. Точная формула простого экспоненциального сглаживания имеет следующий вид:

St = *Xt + (1-)*St-1

Когда эта формула применяется рекурсивно, то каждое новое сглаженное значение (которое является также прогнозом) вычисляется как взвешенное среднее текущего наблюдения и сглаженного ряда. Очевидно, результат сглаживания зависит от параметра (альфа). Если равно 1, то предыдущие наблюдения полностью игнорируются. Если равно 0, то игнорируются текущие наблюдения. Значения между 0, 1 дают промежуточные результаты.

Эмпирические исследования Makridakis и др. (1982; Makridakis, 1983) показали, что весьма часто простое экспоненциальное сглаживание дает достаточно точный прогноз.

Выбор лучшего значения параметра (альфа)

Gardner (1985) обсуждает различные теоретические и эмпирические аргументы в пользу выбора определенного параметра сглаживания. Очевидно, из формулы, приведенной выше, следует, что должно попадать в интервал между (нулем) и 1 (хотя Brenner et al., 1968, для дальнейшего применения анализа АРПСС считают, что Индексы качества подгонки

Самый прямой способ оценки прогноза, полученного на основе определенного значения — построить график наблюдаемых значений и прогнозов на один шаг вперед. Этот график включает в себя также остатки (отложенные на правой оси Y). Из графика ясно видно, на каких участках прогноз лучше или хуже.

Такая визуальная проверка точности прогноза часто дает наилучшие результаты. Имеются также другие меры ошибки, которые можно использовать для определения оптимального параметра (см. Makridakis, Wheelwright, and McGee, 1983):

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

Средняя абсолютная ошибка. Средняя абсолютная ошибка (САО) вычисляется как среднее абсолютных ошибок. Если она равна (нулю), то имеем совершенную подгонку (прогноз). В сравнении со средней квадратической ошибкой, эта мера «не придает слишком большого значения» выбросам.

Сумма квадратов ошибок (SSE), среднеквадратическая ошибка. Эти величины вычисляются как сумма (или среднее) квадратов ошибок. Это наиболее часто используемые индексы качества подгонки.

Относительная ошибка (ОО). Во всех предыдущих мерах использовались действительные значения ошибок. Представляется естественным выразить индексы качества подгонки в терминах относительных ошибок. Например, при прогнозе месячных продаж, которые могут сильно флуктуировать (например, по сезонам) из месяца в месяц, вы можете быть вполне удовлетворены прогнозом, если он имеет точность ?10%. Иными словами, при прогнозировании абсолютная ошибка может быть не так интересна как относительная. Чтобы учесть относительную ошибку, было предложено несколько различных индексов (см. Makridakis, Wheelwright, and McGee, 1983). В первом относительная ошибка вычисляется как:

где Xt — наблюдаемое значение в момент времени t , и Ft — прогноз (сглаженное значение).

Средняя относительная ошибка (СОО). Это значение вычисляется как среднее относительных ошибок.

Средняя абсолютная относительная ошибка (САОО). Как и в случае с обычной средней ошибкой отрицательные и положительные относительные ошибки будут подавлять друг друга. Поэтому для оценки качества подгонки в целом (для всего ряда) лучше использовать среднюю абсолютную относительную ошибку. Часто эта мера более выразительная, чем среднеквадратическая ошибка. Например, знание того, что точность прогноза ±5%, полезно само по себе, в то время как значение 30.8 для средней квадратической ошибки не может быть так просто проинтерпретировано.

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

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


Сезонная и несезонная модели с трендом или без тренда

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

Аддитивная и мультипликативная сезонность. Многие временные ряды имеют сезонные компоненты. Например, продажи игрушек имеют пики в ноябре, декабре и, возможно, летом, когда дети находятся на отдыхе. Эта периодичность имеет место каждый год. Однако относительный размер продаж может слегка изменяться из года в год. Таким образом, имеет смысл независимо экспоненциально сгладить сезонную компоненту с дополнительным параметром, обычно обозначаемым как (дельта). Сезонные компоненты, по природе своей, могут быть аддитивными или мультипликативными. Например, в течение декабря продажи определенного вида игрушек увеличиваются на 1 миллион долларов каждый год. Для того чтобы учесть сезонное колебание, вы можете добавить в прогноз на каждый декабрь 1 миллион долларов (сверх соответствующего годового среднего). В этом случае сезонность — аддитивная. Альтернативно, пусть в декабре продажи увеличились на 40%, т.е. в 1.4 раза. Тогда, если общие продажи малы, то абсолютное (в долларах) увеличение продаж в декабре тоже относительно мало (процент роста константа). Если в целом продажи большие, то абсолютное (в долларах) увеличение продаж будет пропорционально больше. Снова, в этом случае продажи увеличатся в определенное число раз, и сезонность будет мультипликативной (в данном случае мультипликативная сезонная составляющая была бы равна 1.4). На графике различие между двумя видами сезонности состоит в том, что в аддитивной модели сезонные флуктуации не зависят от значений ряда, тогда как в мультипликативной модели величина сезонных флуктуаций зависит от значений временного ряда.

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

В этой формуле St обозначает (простое) экспоненциально сглаженное значение ряда в момент t , и It-p обозначает сглаженный сезонный фактор в момент t минус p ( p — длина сезона). Таким образом, в сравнении с простым экспоненциальным сглаживанием, прогноз «улучшается» добавлением или умножением сезонной компоненты. Эта компонента оценивается независимо с помощью простого экспоненциального сглаживания следующим образом:

It = It-p + *(1-)*et

It = It-p + *(1-)*et/St

Обратите внимание, что предсказанная сезонная компонента в момент t вычисляется, как соответствующая компонента на последнем сезонном цикле плюс ошибка ( et , наблюдаемое минус прогнозируемое значение в момент t ). Ясно, что параметр принимает значения между и 1. Если он равен нулю, то сезонная составляющая на следующем цикле та же, что и на предыдущем. Если равен 1, то сезонная составляющая «максимально» меняется на каждом шаге из-за соответствующей ошибки (множитель (1-) не рассматривается из-за краткости введения). В большинстве случаев, когда сезонность присутствует, оптимальное значение лежит между и 1.

Линейный, экспоненциальный, демпфированный тренд. Возвращаясь к примеру с игрушками, мы можем увидеть наличие линейного тренда (например, каждый год продажи увеличивались на 1 миллион), экспоненциального (например, каждый год продажи возрастают в 1.3 раза) или демпфированного тренда (в первом году продажи возросли на 1 миллион долларов; во втором увеличение составило только 80% по сравнению с предыдущим, т.е. на $800,000; в следующем году вновь увеличение было только на 80%, т.е. на $800,000 * .8 = $640,000 и т.д.). Каждый тип тренда по-своему проявляется в данных. В целом изменение тренда — медленное в течение времени, и опять (как и сезонную компоненту) имеет смысл экспоненциально сгладить его с отдельным параметром [обозначаемым (гамма) — для линейного и экспоненциального тренда, (фи) — для демпфированного тренда].

Параметры сглаживания (линейный и экспоненциальный тренд) и (демпфированный тренд). Аналогично сезонной компоненте компонента тренда включается в процесс экспоненциального сглаживания. Сглаживание ее производится в каждый момент времени независимо от других компонент с соответствующими параметрами. Если равно 0, то тренд постоянен для всех значений временного ряда (и для всех прогнозов). Если равно 1, то тренд «максимально» определяется ошибками наблюдений. Параметр учитывает, как сильно изменяется тренд, т.е. как быстро он «демпфируется» или, наоборот, возрастает.

Предположим, что у вас имеются ежемесячные данные о пассажиропотоке на международных авиалиниях за 12 лет (см. Бокс и Дженкинс, 1976). Если изобразить эти данные на графике, то будет хорошо видно, что (1) объем пассажиропотока имеет во времени возрастающий линейный тренд, и (2) в ряде имеется ежегодно повторяющаяся закономерность — сезонность (большинство перевозок приходится на летние месяцы, кроме того, имеется пик меньшей высоты в районе декабрьских каникул). Цель сезонной декомпозиции и корректировки как раз и состоит в том, чтобы отделить эти компоненты, то есть разложить ряд на составляющую тренда, сезонную компоненту и оставшуюся нерегулярную составляющую. «Классический» прием, позволяющий выполнить такую декомпозицию, известен как метод Census I. Этот метод описывается и обсуждается в работах Makridakis, Wheelwright, and McGee (1983) и Makridakis and Wheelwright (1989).

Общая модель. Основная идея сезонной декомпозиции проста. В общем случае временной ряд типа того, который описан выше, можно представить себе состоящим из четырех различных компонент: (1) сезонной компоненты (обозначается St, где t обозначает момент времени), (2) тренда (Tt), (3) циклической компоненты (Ct) и (4) случайной, нерегулярной компоненты или флуктуации (It). Разница между циклической и сезонной компонентой состоит в том, что последняя имеет регулярную (сезонную) периодичность, тогда как циклические факторы обычно имеют более длительный эффект, который к тому же меняется от цикла к циклу. В методе Census I тренд и циклическую компоненту обычно объединяют в одну тренд-циклическую компоненту (TCt). Конкретные функциональные взаимосвязи между этими компонентами могут иметь самый разный вид. Однако, можно выделить два основных способа, с помощью которых они могут взаимодействовать: аддитивно и мультипликативно:

Здесь Xt обозначает значение временного ряда в момент времени t . Если имеются какие-то априорные сведения о циклических факторах, влияющих на ряд (например, циклы деловой конъюнктуры), то можно использовать оценки для различных компонент для составления прогноза будущих значений ряда. (Однако для прогнозирования предпочтительнее экспоненциальное сглаживание, позволяющее учитывать сезонную составляющую и тренд.)

Аддитивная и мультипликативная сезонность. Рассмотрим на примере различие между аддитивной и мультипликативной сезонными компонентами. График объема продаж детских игрушек, вероятно, будет иметь ежегодный пик в ноябре-декабре, и другой — существенно меньший по высоте — в летние месяцы, приходящийся на каникулы. Такая сезонная закономерность будет повторяться каждый год. По своей природе сезонная компонента может быть аддитивной или мультипликативной. Так, например, каждый год объем продаж некоторой конкретной игрушки может увеличиваться в декабре на 3 миллиона долларов. Поэтому вы можете учесть эти сезонные изменения, прибавляя к своему прогнозу на декабрь 3 миллиона. Здесь мы имеем аддитивную сезонность. Может получиться иначе. В декабре объем продаж некоторой игрушки может увеличиваться на 40%, то есть умножаться на множитель 1.4. Это значит, например, что если средний объем продаж этой игрушки невелик, то абсолютное (в денежном выражении) увеличение этого объема в декабре также будет относительно небольшим (но в процентном исчислении оно будет постоянным); если же игрушка продается хорошо, то и абсолютный (в долларах) рост объема продаж будет значительным. Здесь опять, объем продаж возрастает в число раз, равное определенному множителю, а сезонная компонента, по своей природе, мультипликативная компонента (в данном случае равная 1.4). Если перейти к графикам временных рядов, то различие между этими двумя видами сезонности будет проявляться так: в аддитивном случае ряд будет иметь постоянные сезонные колебания, величина которых не зависит от общего уровня значений ряда; в мультипликативном случае величина сезонных колебаний будет меняться в зависимости от общего уровня значений ряда.

Аддитивный и мультипликативный тренд-цикл. Рассмотренный пример можно расширить, чтобы проиллюстрировать понятия аддитивной и мультипликативной тренд-циклических компонент. В случае с игрушками, тренд «моды» может привести к устойчивому росту продаж (например, это может быть общий тренд в сторону игрушек образовательной направленности). Как и сезонная компонента, этот тренд может быть по своей природе аддитивным (продажи ежегодно увеличиваются на 3 миллиона долларов) или мультипликативным (продажи ежегодно увеличиваются на 30%, или возрастают в 1.3 раза). Кроме того, объем продаж может содержать циклические компоненты. Повторим еще раз, что циклическая компонента отличается от сезонной тем, что она обычно имеет большую временную протяженность и проявляется через неравные промежутки времени. Так, например, некоторая игрушка может быть особенно «горячей» в течение летнего сезона (например, кукла, изображающая персонаж популярного мультфильма, которая к тому же агрессивно рекламируется). Как и в предыдущих случаях, такая циклическая компонента может изменять объем продаж аддитивно, либо мультипликативно.

В вычислительном отношении процедура метода Сезонной декомпозиции (Census I) следует стандартным формулам, см. Makridakis, Wheelwright, and McGee (1983) или Makridakis and Wheelwright (1989).

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

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

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

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

Получающийся в результате ряд называется сезонной корректировкой ряда (из ряда убрана сезонная составляющая)..

Тренд-циклическая компонента. Напомним, что циклическая компонента отличается от сезонной компоненты тем, что продолжительность цикла, как правило, больше, чем один сезонный период, и разные циклы могут иметь разную продолжительность. Приближение для объединенной тренд-циклической компоненты можно получить, применяя к ряду с сезонной поправкой процедуру 5-точечного (центрированного) взвешенного скользящего среднего с весами 1, 2, 3, 2, 1.

Случайная или нерегулярная компонента. На последнем шаге выделяется случайная или нерегулярная компонента (погрешность) путем вычитания из ряда с сезонной поправкой (аддитивная модель) или делением этого ряда (мультипликативная модель) на тренд-циклическую компоненту.

Сезонная корректировка X-11 (метод Census II)

Общие идеи, лежащие в основе сезонной декомпозиции и корректировки, изложены в разделе, посвященном методу сезонной корректировки Census I (см. Сезонная декомпозиция (метод Census I)). Метод Census II (2) является развитием и уточнением обычного метода корректировки. На протяжении многих лет различные варианты метода Census II развивались в Бюро Переписи США (US Census Bureau); один из вариантов этого метода, получивший широкую известность и наиболее часто применяемый в государственных органах и сфере бизнеса, называется «вариант X-11 метода Census II» (см. Shiskin, Young, and Musgrave, 1967). Впоследствии этот усовершенствованный вариант метода Census II стал называться просто X-11. Помимо документации, которую можно получить из Census Bureau, подробное описание метода дано в работах Makridakis, Wheelwright and McGee (1983), Makridakis and Wheelwright (1989).

Сезонная корректировка: основные идеи и термины

Предположим, что у вас имеются ежемесячные данные о пассажиропотоке на международных авиалиниях за 12 лет (см. Бокс и Дженкинс, 1976). Если изобразить эти данные на графике, то будет хорошо видно, что (1) объем пассажиропотока имеет во времени возрастающий линейный тренд, и что (2) в ряде имеется ежегодно повторяющаяся закономерность — сезонность (большинство перевозок приходится на летние месяцы, кроме того, имеется пик меньшей высоты в районе декабрьских каникул). Цель сезонной декомпозиции и корректировки как раз и состоит в том, чтобы отделить эти компоненты, то есть разложить ряд на составляющую тренда, сезонную компоненту и оставшуюся нерегулярную составляющую. «Классический» прием, позволяющий выполнить такую декомпозицию, известен как метод Census I (см. раздел Census I). Этот метод описывается и обсуждается в работах Makridakis, Wheelwright, and McGee (1983) и Makridakis and Wheelwright (1989).

Общая модель. Основная идея сезонной декомпозиции проста. В общем случае временной ряд типа того, который описан выше, можно представить себе состоящим из четырех различных компонент: (1) сезонной компоненты (обозначается St, где t обозначает момент времени), (2) тренда (Tt), (3) циклической компоненты (Ct) и (4) случайной, нерегулярной компоненты или флуктуации (It). Разница между циклической и сезонной компонентой состоит в том, что последняя имеет регулярную (сезонную) периодичность, тогда как циклические факторы обычно имеют более длительный эффект, который к тому же меняется от цикла к циклу. В методе Census I тренд и циклическую компоненту обычно объединяют в одну тренд-циклическую компоненту (TCt). Конкретные функциональные взаимосвязи между этими компонентами могут иметь самый разный вид. Однако, можно выделить два основных способа, с помощью которых они могут взаимодействовать: аддитивно и мультипликативно:

Здесь Xt обозначает значение временного ряда в момент времени t .

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


Аддитивная и мультипликативная сезонность. Рассмотрим на примере различие между аддитивной и мультипликативной сезонными компонентами. График объема продаж детских игрушек, вероятно, будет иметь ежегодный пик в ноябре-декабре, и другой — существенно меньший по высоте — в летние месяцы, приходящийся на каникулы. Такая сезонная закономерность будет повторяться каждый год. По своей природе сезонная компонента может быть аддитивной или мультипликативной. Так, например, каждый год объем продаж некоторой конкретной игрушки может увеличиваться в декабре на 3 миллиона долларов. Поэтому вы можете учесть эти сезонные изменения, прибавляя к своему прогнозу на декабрь 3 миллиона. Здесь мы имеем аддитивную сезонность. Может получиться иначе. В декабре объем продаж некоторой игрушки может увеличиваться на 40%, то есть умножаться на множитель 1.4. Это значит, например, что если средний объем продаж этой игрушки невелик, то абсолютное (в денежном выражении) увеличение этого объема в декабре также будет относительно небольшим (но в процентном исчислении оно будет постоянным); если же игрушка продается хорошо, то и абсолютный (в долларах) рост объема продаж будет значительным. Здесь опять, объем продаж возрастает в число раз, равное определенному множителю, а сезонная компонента, по своей природе, мультипликативная компонента (в данном случае равная 1.4). Если перейти к графикам временных рядов, то различие между этими двумя видами сезонности будет проявляться так: в аддитивном случае ряд будет иметь постоянные сезонные колебания, величина которых не зависит от общего уровня значений ряда; в мультипликативном случае величина сезонных колебаний будет меняться в зависимости от общего уровня значений ряда.

Аддитивный и мультипликативный тренд-цикл. Рассмотренный пример можно расширить, чтобы проиллюстрировать понятия аддитивной и мультипликативной тренд-циклических компонент. В случае с игрушками, тренд «моды» может привести к устойчивому росту продаж (например, это может быть общий тренд в сторону игрушек образовательной направленности). Как и сезонная компонента, этот тренд может быть по своей природе аддитивным (продажи ежегодно увеличиваются на 3 миллиона долларов) или мультипликативным (продажи ежегодно увеличиваются на 30%, или возрастают в 1.3 раза). Кроме того, объем продаж может содержать циклические компоненты. Повторим еще раз, что циклическая компонента отличается от сезонной тем, что она обычно имеет большую временную протяженность и проявляется через неравные промежутки времени. Так, например, некоторая игрушка может быть особенно «горячей» в течение летнего сезона (например, кукла, изображающая персонаж популярного мультфильма, которая к тому же агрессивно рекламируется). Как и в предыдущих случаях, такая циклическая компонента может изменять объем продаж аддитивно, либо мультипликативно.

Эта статья приведёт Вас к успеху:  ТРЕНДОВЫЕ ФИГУРЫ ФОРЕКСА

Метод Census II

Основной метод сезонной декомпозиции и корректировки, рассмотренный в разделе Сезонная корректировка: основные идеи и термины, может быть усовершенствован различными способами. На самом деле, в отличие от многих методов моделирования временных рядов (в частности, АРПСС), которые основаны на определенной теоретической модели, вариант X-11 метода Census II представляет собой просто результат многочисленных специально разработанных приемов и усовершенствований, которые доказали свою работоспособность в многолетней практике решения реальных задач (см. Burman, 1979, Kendall and Ord, 1990, Makridakis and Wheelwright, 1989; Wallis, 1974). Некоторые из наиболее важных усовершенствований перечислены ниже.

Поправка на число рабочих дней. В месяцах разное число дней и разное число рабочих дней. Если мы анализируем, например, цифры ежемесячной выручки парка аттракционов, то разница в числе суббот и воскресений (пиковые дни) в разных месяцах существенным образом скажется на различиях в ежемесячных показателях дохода. Вариант X-11 метода Census II дает пользователю возможность проверить, присутствует ли во временном ряду этот эффект числа рабочих дней, и если да, то внести соответствующие поправки.

Выбросы. Большинство реальных временных рядов содержит выбросы, то есть резко выделяющиеся наблюдения, вызванные какими-то исключительными событиями. Например, забастовка персонала может сильно повлиять на месячные или годовые показатели выпуска продукции фирмы. Такие выбросы могут исказить оценки сезонной компоненты и тренда. В процедуре X-11 предусмотрены корректировки на случай появления выбросов, основанные на использовании «принципов статистического контроля»: значения, выходящие за определенный диапазон (который определяется в терминах, кратных сигма, т.е. стандартных отклонений), могут быть преобразованы или вовсе пропущены, и только после этого будут вычисляться окончательные оценки параметров сезонности.

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

Критерии и итоговые статистики. Помимо оценки основных компонент ряда, можно вычислить различные сводные статистики. Например, можно сформировать таблицы дисперсионного анализа для проверки значимости фактора сезонной изменчивости и ряда и фактора рабочих дней (см. выше), процедура метода X-11 вычисляет также ежемесячные относительные изменения в случайной и тренд-циклической компонентах. С увеличением продолжительности временного промежутка, измеряемого в месяцах или, в случае квартального варианта метода X-11 — в кварталах года, изменения в тренд-циклической компоненте, вообще говоря, будут нарастать, в то время как изменения случайной составляющей должны оставаться примерно на одном уровне. Средняя длина временного интервала, на котором изменения тренд-циклической компоненты становятся примерно равными изменениям случайной компоненты, называется месяцем (кварталом) циклического доминирования, или сокращенно МЦД (соответственно КЦД). Например, если МЦД равно двум, то на сроках более двух месяцев тренд-циклическая компонента станет доминировать над флуктуациями нерегулярной (случайной) компоненты. Эти и другие результаты более подробно будут обсуждаться далее.

Таблицы результатов корректировки X-11

Вычисления, которые производятся в процедуре X-11, лучше всего обсуждать в контексте таблиц результатов, которые при этом выдаются. Процедура корректировки разбивается на семь этапов, которые обычно обозначаются буквами AG.

  1. Априорная корректировка (помесячная сезонная корректировка). Перед тем, как к временному ряду, содержащему ежемесячные значения, будет применяться какая-либо сезонная корректировка, могут быть произведены различные корректировки, заданные пользователем. Можно ввести еще один временной ряд, содержащий априорные корректирующие факторы; значения этого ряда будут вычитаться из исходного ряда (аддитивная модель), или же значения исходного ряда будут поделены на значения корректирующего ряда (мультипликативная модель). В случае мультипликативной модели пользователь может также определить свои собственные поправочные коэффициенты (веса) на число рабочих дней. Эти веса будут использоваться для корректировки ежемесячных наблюдений, так чтобы учитывалось число рабочих дней в этом месяце.
  2. Предварительное оценивание вариации числа рабочих дней (месячный вариант X-11) и весов. На следующем шаге вычисляются предварительные поправочные коэффициенты на число рабочих дней (только в месячном варианте X-11) и веса, позволяющие уменьшить эффект выбросов.
  3. Окончательное оценивание вариации числа рабочих дней и нерегулярных весов (месячный вариант X-11). Поправки и веса, вычисленные в пункте B, используются для построения улучшенных оценок тренд-циклической и сезонной компонент. Эти улучшенные оценки используются для окончательного вычисления факторов числа рабочих дней (в месячном варианте X-11) и весов.
  4. Окончательное оценивание сезонных факторов, тренд-циклической, нерегулярной и сезонно скорректированной компонент ряда. Окончательные значения факторов рабочих дней и весов, вычисленные в пункте C, используются для вычисления окончательных оценок для компонент ряда.
  5. Модифицированные ряды: исходный, сезонно скорректированный и нерегулярный. Исходный и окончательный сезонно скорректированный ряды, а также нерегулярная компонента модифицируются путем сглаживания выбросов. Полученные в результате этого, модифицированные ряды позволяют пользователю проверить устойчивость сезонной корректировки.
  6. Месяц (квартал) циклического доминирования (МЦД, КЦД), скользящее среднее и сводные показатели. IНа этом этапе вычислений рассчитываются различные сводные характеристики (см. далее), позволяющие пользователю исследовать относительную важность разных компонент, среднюю флуктуацию от месяца к месяцу (от квартала к кварталу), среднее число идущих подряд изменений в одну сторону и др.
  7. Графики. Наконец, вы можете построить различные графики итоговых результатов. Например, можно построить окончательно скорректированный ряд в хронологическом порядке или по месяцам (см. ниже).

Подробное описание всех таблиц результатов, вычисляемых в методе X-11

На каждом из этапов AG (см. раздел Таблицы результатов корректировки X-11) вычислялись различные таблицы результатов. Обычно все они нумеруются, а также им приписывается буква, соответствующая этапу анализа. Например, таблица B 11 содержит предварительно сезонно скорректированный ряд; C 11 — это более точно сезонно скорректированный ряд, а D 11 — окончательный сезонно скорректированный ряд. Далее приводится перечень всех таблиц. Таблицы, помеченные звездочкой (*), недоступны (или неприменимы) при анализе квартальных показателей. Кроме того, в случае квартальной корректировки некоторые из описанных ниже вычислений несколько видоизменяются. Так, например, для вычисления сезонных факторов вместо 12-периодного (т.е. 12-месячного) скользящего среднего используется 4-периодное (4-квартальное) скользящее среднее; предварительная тренд-циклическая компонента вычисляется по центрированному 4-периодному скользящему среднему, а окончательная оценка тренд-циклической компоненты вычисляется по 5-точечному среднему Хендерсона.

В соответствии со стандартом метода X-11, принятым Бюро переписи США, предусмотрены три степени подробности вывода: Стандартный (17 — 27 таблиц), Длинный (27 — 39 таблиц) и Полный (44 — 59 таблиц). Имеется также возможность выводить только таблицы результатов, выбранные пользователем. В следующих далее описаниях таблиц, буквы С, Д и П рядом с названием таблицы указывают, какие таблицы выводятся и/или распечатываются в соответствующем варианте вывода. (Для графиков предусмотрены два уровня подробности вывода: Стандартный и Все.)

Щелкните на имени таблицы для получения информации о ней.

* A 1. Исходный ряд (С)
* A 2. Априорные месячные поправки (С)
* A 3. Исходный ряд, скорректированный с помощью априорных месячных поправок (С)
* A 4. Априорные поправки на рабочие дни (С)
B 1. Ряд после априорной корректировки либо исходный ряд (С)
B 2. Тренд-цикл (Д)
B 3. Немодифицированные S-I разности или отношения (П)
B 4. Значения для замены выбросов S-I разностей (отношений) (П)
B 5. Сезонная составляющая (П)
B 6. Сезонная корректировка ряда (П)
B 7. Тренд-цикл (Д)
B 8. Немодифицированные S-I разности (отношения) (П)
B 9. Значения для замены выбросов S-I разностей (отношений) (П)
B 10. Сезонная составляющая (Д)
B 11. Сезонная корректировка ряда (П)
B 12. (не используется)
B 13. Нерегулярная составляющая ряда (Д)
Таблицы B 14 — B 16, B 18 и B 19: Поправка на число рабочих дней. Эти таблицы доступны только при анализе ежемесячных данных. Число разных дней недели (понедельников, вторников и т.д.) колеблется от месяца к месяцу. Бывают ряды, в которых различия в числе рабочих дней в месяце могут давать заметный разброс ежемесячных показателей (например, месячный доход парка аттракционов сильно зависит от того, сколько в этом месяце было выходных дней). Пользователь имеет возможность определить начальные веса для каждого дня недели (см. A 4), и/или эти веса могут быть оценены по данным (пользователь также может сделать использование этих весов условным, т.е. только в тех случаях, когда они объясняют значительную часть дисперсии).
* B 14. Выбросы нерегулярной составляющей, исключенные из регрессии рабочих дней (Д)
* B 15. Предварительная регрессия рабочих дней (Д)
* B 16. Поправки на число рабочих дней, полученные из коэффициентов регрессии (П)
B 17. Предварительные веса нерегулярной компоненты (Д)
* B 18. Поправки на число рабочих дней, полученные из комбинированных весов дней недели (П)
* B 19. Исходный ряд с поправками на рабочие дни и априорную вариацию (П)
C 1. Исходный ряд, модифицированный с помощью предварительных весов, с поправкой на рабочие дни и априорную вариацию (Д)
C 2. Тренд-цикл (П)
C 3. (не используется)
C 4. Модифицированные S-I разности (отношения) (П)
C 5. Сезонная составляющая (П)
C 6. Сезонная корректировка ряда (П)
C 7. Тренд-цикл (Д)
C 8. (не используется)
C 9. Модифицированные S-I разности (отношения) (П)
C 10. Сезонная составляющая (Д)
C 11. Сезонная корректировка ряда (П)
C 12. (не используется)
C 13. Нерегулярная составляющая (С)
Таблицы C 14 — C 16, C 18 и C 19: Поправка на число рабочих дней. Эти таблицы доступны только при анализе ежемесячных данных и если при этом требуется поправка на различное число рабочих дней. В этом случае поправки на число рабочих дней вычисляются по уточненным значениям сезонно скорректированных рядов аналогично тому, как это делалось в пункте B (B 14B 16, B 18, B 19).
* C 14. Выбросы нерегулярной составляющей, исключенные из регрессии рабочих дней (С)
* C 15. Регрессия рабочих дней — окончательный вариант (С)
* C 16. Поправки на число рабочих дней, полученные из коэффициентов регрессии, — окончательный вариант (С)
C 17. Окончательные веса нерегулярной компоненты (С)
* C 18. Поправки на число рабочих дней, полученные из комбинированных весов дней недели — окончательный вариант (С)
* C 19. Исходный ряд с поправками на рабочие дни и априорную вариацию (С)
D 1. Исходный ряд, модифицированный с помощью окончательных весов, с поправкой на рабочие дни и априорную вариацию (Д)
D 2. Тренд-цикл (П)
D 3. (не используется)
D 4. Модифицированные S-I разности (отношения) (П)
D 5. Сезонная составляющая (П)
D 6. Сезонная корректировка ряда (П)
D 7. Тренд-цикл (Д)
D 8. Немодифицированные S-I разности (отношения) — окончательный вариант (С)
D 9. Окончательные значения для замены выбросов S-I разностей (отношений) (С)
D 10. Сезонная составляющая — окончательный вариант (С)
D 11. Сезонная корректировка ряда — окончательный вариант (С)
D 12. Тренд-циклическая компонента — окончательный вариант (С)
D 13. Нерегулярная составляющая — окончательный вариант (С)
E 1. Модифицированный исходный ряд (С)
E 2. Модифицированный ряд с сезонной поправкой (С)
E 3. Модифицированная нерегулярная составляющая (С)
E 4. Разности (отношения) годовых сумм (С)
E 5. Разности (относительные изменения) исходного ряда (С)
E 6. Разности (относительные изменения) окончательного варианта ряда с сезонной поправкой (С)
F 1. МЦД (КЦД) скользящее среднее (С)
F 2. Сводные показатели (С)
G 1. График (С)
G 2. График (С)
G 3. График (В)
G 4. График (В)

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

Такого рода зависимости с запаздыванием особенно часто возникают в эконометрике. Например, доход от инвестиций в новое оборудование отчетливо проявится не сразу, а только через определенное время. Более высокий доход изменяет выбор жилья людьми; однако эта зависимость, очевидно, тоже проявляется с запаздыванием. [Подобные задачи возникают в страховании, где временной ряд клиентов и ряд денежных поступлений сдвинуты друг относительно друга].

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

Подробные обсуждения зависимостей с распределенными лагами имеются в эконометрических учебниках, например, в Judge, Griffith, Hill, Luetkepohl, and Lee (1985), Maddala (1977), and Fomby, Hill, and Johnson (1984). Ниже дается краткое описание этих методов. Предполагается, что вы знакомы с понятием корреляции (см. Основные статистики и таблицы), кросскорреляции и основными идеями множественной регрессии (см. Множественная регрессия).

Пусть y — зависимая переменная, a независимая или объясняющая x. Эти переменные измеряются несколько раз в течение определенного отрезка времени. В некоторых учебниках по эконометрике зависимая переменная называется также эндогенной переменной, a зависимая или объясняемая переменная экзогенной переменной. Простейший способ описать зависимость между этими двумя переменными дает следующее линейное уравнение:

Yt = i*xt-i

В этом уравнении значение зависимой переменной в момент времени t является линейной функцией переменной x , измеренной в моменты t , t-1 , t-2 и т.д. Таким образом, зависимая переменная представляет собой линейные функции x и x , сдвинутых на 1, 2, и т.д. временные периоды. Бета коэффициенты (i) могут рассматриваться как параметры наклона в этом уравнении. Будем рассматривать это уравнение как специальный случай уравнения линейной регрессии (см. раздел Множественная регрессия). Если коэффициент переменной с определенным запаздыванием (лагом) значим, то можно заключить, что переменная y предсказывается (или объясняется) с запаздыванием.

Распределенный лаг Алмона

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

Алмон (1965) предложил специальную процедуру, которая в данном случае уменьшает мультиколлинеарность. Именно, пусть каждый неизвестный коэффициент записан в виде:

i = + 1*i + . + q*i q

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

Неправильная спецификация. Общая проблема полиномиальной аппроксимации, состоит в том, что длина лага и степень полинома неизвестны заранее. Последствия неправильного определения (спецификации) этих параметров потенциально серьезны (в силу смещения, возникающего в оценках при неправильном задании параметров). Этот вопрос подробно обсуждается в книгах Frost (1975), Schmidt and Waud (1973), Schmidt and Sickles (1975) и Trivedi and Pagan (1979).

Одномерный анализ Фурье

В спектральном анализе исследуются периодические модели данных. Цель анализа — разложить комплексные временные ряды с циклическими компонентами на несколько основных синусоидальных функций с определенной длиной волн. Термин «спектральный» — своеобразная метафора для описания природы этого анализа. Предположим, вы изучаете луч белого солнечного света, который, на первый взгляд, кажется хаотически составленным из света с различными длинами волн. Однако, пропуская его через призму, вы можете отделить волны разной длины или периодов, которые составляют белый свет. Фактически, применяя этот метод, вы можете теперь распознавать и различать разные источники света. Таким образом, распознавая существенные основные периодические компоненты, вы узнали что-то об интересующем вас явлении. В сущности, применение спектрального анализа к временным рядам подобно пропусканию света через призму. В результате успешного анализа можно обнаружить всего несколько повторяющихся циклов различной длины в интересующих вас временных рядах, которые, на первый взгляд, выглядят как случайный шум.

Наиболее известный пример применения спектрального анализа — циклическая природа солнечных пятен (например, см. Блумфилд, 1976 или Шамвэй, 1988). Оказывается, что активность солнечных пятен имеет 11-ти летний цикл. Другие примеры небесных явлений, изменения погоды, колебания в товарных ценах, экономическая активность и т.д. также часто используются в литературе для демонстрации этого метода. В отличие от АРПСС или метода экспоненциального сглаживания (см. разделы АРПСС и Экспоненциальное сглаживание), цель спектрального анализа — распознать сезонные колебания различной длины, в то время как в предшествующих типах анализа, длина сезонных компонент обычно известна (или предполагается) заранее и затем включается в некоторые теоретические модели скользящего среднего или автокорреляции.


Классический текст по спектральному анализу — Bloomfield (1976); однако другие подробные обсуждения могут быть найдены в Jenkins and Watts (1968), Brillinger (1975), Brigham (1974), Elliott and Rao (1982), Priestley (1981), Shumway (1988) или Wei (1989).

Кросс-спектральный анализ развивает Одномерный анализ Фурье и позволяет анализировать одновременно два ряда. Мы предполагаем, что вы уже прочитали введение к разделу одномерного спектрального анализа. Подробное обсуждение кросс-спектрального анализа можно найти в книгах Bloomfield (1976), Jenkins and Watts (1968), Brillinger (1975), Brigham (1974), Elliott and Rao (1982), Priestley (1981), Shumway (1988), or Wei (1989).

Периодичность ряда на определенных частотах. Наиболее известный пример применения спектрального анализа — циклическая природа солнечных пятен (например, см. Блумфилд, 1976 или Шамвэй, 1988). Оказывается, что активность солнечных пятен имеет 11-ти летний цикл. Другие примеры небесных явлений, изменения погоды, колебания в товарных ценах, экономическая активность и т.д. также часто используются в литературе для демонстрации этого метода.

Основные понятия и принципы

Простой пример. Рассмотрим следующие два ряда с 16 наблюдениями:

ПЕРЕМ1 ПЕРЕМ2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1.000
1.637
1.148
-.058
-.713
-.383
.006
-.483
-1.441
-1.637
-.707
.331
.441
-.058
-.006
.924
-.058
-.713
-.383
.006
-.483
-1.441
-1.637
-.707
.331
.441
-.058
-.006
.924
1.713
1.365
.266

С первого взгляда нелегко рассмотреть взаимосвязь между двумя рядами. Тем не менее, как показано ниже, ряды создавались так, что содержат две сильно коррелируемые периодичности. Далее показаны части таблицы результатов из кросс-спектрального анализа (спектральные оценки были сглажены окном Парзена ширины 3).

Незавмсимая (X): ПЕРЕМ1
Зависимая (Y): ПЕРЕМ2
Частота Период X
плотность
Y
плотность
Кросс
плотность
Кросс
квадр.
Кросс
амплит.
0.000000
.062500
.125000
.187500
.250000
.312500
.375000
.437500
.500000
16.00000
8.00000
5.33333
4.00000
3.20000
2.66667
2.28571
2.00000
.000000
8.094709
.058771
3.617294
.333005
.091897
.052575
.040248
.037115
.024292
7.798284
.100936
3.845154
.278685
.067630
.036056
.026633
0.000000
-.00000
2.35583
-.04755
-2.92645
-.26941
-.07435
-.04253
-.03256
0.00000
0.00000
-7.58781
.06059
2.31191
.14221
.02622
.00930
.00342
0.00000
.000000
7.945114
.077020
3.729484
.304637
.078835
.043539
.032740
0.000000

Результаты для каждой переменной

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

Кросс-периодограмма, кросс-плотность, квадратурная плотность и кросс-амплитуда

Аналогично результатам для одной переменной, полная итоговая таблица результатов также покажет значения периодограммы для кросс-периодограммы. Однако кросс-спектр состоит из комплексных чисел, которые могут быть разделены на действительную и мнимую части. Они могут быть сглажены для вычисления оценок кросс-плотности и квадратурной плотности (квадр-плотность для краткости), соответственно. (Причины сглаживания и различные функции весов для сглаживания обсуждаются в разделе Одномерный анализ Фурье.) Квадратный корень из суммы квадратов значений кросс-плотности и квадр-плотности называется кросс-амплитудой. Кросс-амплитуда может интерпретироваться как мера ковариации между соответствующими частотными компонентами двух рядов. Таким образом из результатов, показанных в таблице результатов выше, можно заключить, что частотные компоненты .0625 и .1875 двух рядов взаимосвязаны.

Квадрат когерентности, усиление и фазовый сдвиг

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

Квадрат когерентности. Можно нормировать значения кросс-амплитуды, возведя их в квадрат и разделив на произведение оценок спектральной плотности каждого ряда. Результат называется квадратом когерентности, который может быть проинтерпретирован как квадрат коэффициента корреляции (см. раздел Корреляции); т.е. значение когерентности — это квадрат корреляции между циклическими компонентами двух рядов соответствующей частоты. Однако значения когерентности не следует объяснять таким образом; например, когда оценки спектральной плотности обоих рядов очень малы, могут получиться большие значения когерентности (делитель в выражении когерентности может быть очень маленьким), даже если нет существенных циклических компонент в каждом ряду соответствующей частоты.

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

Фазовый сдвиг. В заключение, оценки фазового сдвига вычисляются как арктангенс (tan**-1) коэффициента пропорциональности оценки квадр-плотности и оценки кросс-плотности. Оценки фазового сдвига (обычно обозначаемые греческой буквой y) измеряют, насколько каждая частотная компонента одного ряда опережает частотные компоненты другого.

Как создавались данные для примера

Теперь вернемся к примеру данных, приведенному выше. Большие оценки спектральной плотности для обоих рядов и значения кросс-амплитуды для частот = 0.0625 и = .1875 предполагают две существенных синхронных периодичности с этими частотами в обоих рядах. Фактически, два ряда создавались как:

v1 = cos(2**.0625*(v0-1)) + .75*sin(2**.2*(v0-1))

v2 = cos(2**.0625*(v0+2)) + .75*sin(2**.2*(v0+2))

(где v0 — номер наблюдения). Действительно, анализ, представленный в этом обзоре, очень хорошо воспроизводит периодичность, заложенную в данные.

Частота и период

Длина волны функций синуса или косинуса, как правило, выражается числом циклов (периодов) в единицу времени (Частота), часто обозначается греческой буквой ню (; в некоторых учебниках также используют f). Например, временной ряд, состоящий из количества писем, обрабатываемых почтой, может иметь 12 циклов в году. Первого числа каждого месяца отправляется большое количество корреспонденции (много счетов приходит именно первого числа каждого месяца); затем, к середине месяца, количество корреспонденции уменьшается; и затем вновь возрастает к концу месяца. Поэтому каждый месяц колебания в количестве корреспонденции, обрабатываемой почтовым отделением, будут проходить полный цикл. Таким образом, если единица анализа — один год, то будет равно 12 (поскольку имеется 12 циклов в году). Конечно, могут быть и другие циклы с различными частотами. Например, годичные циклы (=1) и, возможно, недельные циклы (=52 недели в год).

Период Т функций синуса или косинуса определяется как продолжительность по времени полного цикла. Таким образом, это обратная величина к частоте: T = 1/. Возвратимся к примеру с почтой из предыдущего абзаца, здесь месячный цикл будет равен 1/12 = 0.0833 года. Другими словами, это период составляет 0.0833 года.

Общая структура модели

Как было отмечено ранее, цель спектрального анализа — разложить ряд на функции синусов и косинусов различных частот, для определения тех, появление которых особенно существенно и значимо. Один из возможных способов сделать это — решить задачу линейной множественной регрессии (см. раздел Множественная регрессия), где зависимая переменная -наблюдаемый временной ряд, а независимые переменные или регрессоры: функции синусов всех возможных (дискретных) частот. Такая модель линейной множественной регрессии может быть записана как:

xt = a + [ak*cos(k*t) + bk*sin(k*t)] (для k = 1 до q)

Следующее общее понятие классического гармонического анализа в этом уравнении — (лямбда) -это круговая частота, выраженная в радианах в единицу времени, т.е. = 2**k, где константа пи = 3.1416 и k = k/q. Здесь важно осознать, что вычислительная задача подгонки функций синусов и косинусов разных длин к данным может быть решена с помощью множественной линейной регрессии. Заметим, что коэффициенты ak при косинусах и коэффициенты bk при синусах — это коэффициенты регрессии, показывающие степень, с которой соответствующие функции коррелируют с данными [заметим, что сами синусы и косинусы на различных частотах не коррелированы или, другим языком, ортогональны. Таким образом, мы имеем дело с частным случаем разложения по ортогональным полиномам.] Всего существует q различных синусов и косинусов (см. также Множественная регрессия); интуитивно ясно, что число функций синусов и косинусов не может быть больше числа данных в ряде. Не вдаваясь в подробности, отметим, если n — количество данных, то будет n/2+1 функций косинусов и n/2-1 функций синусов. Другими словами, различных синусоидальных волн будет столько же, сколько данных, и вы сможете полностью воспроизвести ряд по основным функциям. (Заметим, если количество данных в ряде нечетно, то последнее наблюдение обычно опускается. Для определения синусоидальной функции нужно иметь, по крайней мере, две точки: высокого и низкого пика.)

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

Комплексные числа (действительные и мнимые числа). Во многих учебниках по спектральному анализу структурная модель, показанная выше, представлена в комплексных числах; т.е. параметры оцениваемого процесса описаны с помощью действительной и мнимой части преобразования Фурье. Комплексное число состоит из действительного и мнимого числа. Мнимые числа, по определению, — это числа, умноженные на константу i, где i определяется как квадратный корень из -1. Очевидно, корень квадратный из -1 не существует в обычном сознании (отсюда термин мнимое число); однако арифметические операции над мнимыми числами могут производиться естественным образом [например, (i*2)**2= -4]. Полезно представление действительных и мнимых чисел, образующих двумерную координатную плоскость, где горизонтальная или X-ось представляет все действительные числа, а вертикальная или Y-ось представляет все мнимые числа. Комплексные числа могут быть представлены точками на двумерной плоскости. Например, комплексное число 3+i*2 может быть представлено точкой с координатами <3,2>на этой плоскости. Можно также представить комплексные числа как углы; например, можно соединить точку, соответствующую комплексному числу на плоскости с началом координат (комплексное число 0+i*0), и измерить угол наклона этого вектора к горизонтальной оси. Таким образом интуитивно ясно, каким образом формула спектрального разложения, показанная выше, может быть переписана в комплексной области. В таком виде математические вычисления часто более изящны и проще в выполнении, поэтому многие учебники предпочитают представление спектрального анализа в комплексных числах.

Шамвэй (1988) предлагает следующий простой пример для объяснения спектрального анализа. Создадим ряд из 16 наблюдений, полученных из уравнения, показанного ниже, а затем посмотрим, каким образом можно извлечь из него информацию. Сначала создадим переменную и определим ее как:

x = 1*cos(2**.0625*(v0-1)) + .75*sin(2**.2*(v0-1))


Эта переменная состоит из двух основных периодичностей — первая с частотой =.0625 (или периодом 1/=16; одно наблюдение составляет 1/16-ю длины полного цикла, или весь цикл содержит каждые 16 наблюдений) и вторая с частотой =.2 (или периодом 5). Коэффициент при косинусе (1.0) больше чем коэффициент при синусе (.75). Итоговая таблица результатов спектрального анализа показана ниже.

Спектральный анализ: ПЕРЕМ1 (shumex.sta)
Число наблюдений: 16
t Час-
тота
Период Косинус
корэфф.
Синус
корэфф.
Периодо-
грамма
0
1
2
3
4
5
6
7
8
.0000
.0625
.1250
.1875
.2500
.3125
.3750
.4375
.5000
16.00
8.00
5.33
4.00
3.20
2.67
2.29
2.00
.000
1.006
.033
.374
-.144
-.089
-.075
-.070
-.068
0.000
.028
.079
.559
-.144
-.060
-.031
-.014
0.000
.000
8.095
.059
3.617
.333
.092
.053
.040
.037

Теперь рассмотрим столбцы таблицы результатов. Ясно, что наибольший коэффициент при косинусах расположен напротив частоты .0625. Наибольший коэффициент при синусах соответствует частоте .1875. Таким образом, эти две частоты, которые были «внесены» в данные, отчетливо проявились.

Функции синусов и косинусов независимы (или ортогональны); поэтому можно просуммировать квадраты коэффициентов для каждой частоты, чтобы вычислить периодограмму. Более часто, значения периодограммы вычисляются как:

Pk = синус-коэффициентk 2 + косинус-коэффициентk 2 * N/2

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

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

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

Ниже смотрите описание каждого из этих подходов.

Добавление констант во временной ряд (пэддинг)

Так как частотные величины вычисляются как N/t, можно просто добавить в ряд константы (например, нули), и таким образом получить увеличение частот. Фактически, если вы добавите в файл данных, описанный в примере выше, десять нулей, результаты не изменятся; т.е. наибольшие пики периодограммы будут находиться по-прежнему на частотах близких к .0625 и .2. (Добавление констант во временной ряд также часто желательно для увеличения вычислительной эффективности; см. ниже.)

Так называемый процесс косинус-сглаживания — рекомендуемое преобразование ряда, предшествующее спектральному анализу. Оно обычно приводит к уменьшению рассеяния в периодограмме. Логическое обоснование этого преобразования подробно объясняется в книге Bloomfield (1976, стр. 80-94). По существу, количественное отношение (p) данных в начале и в конце ряда преобразуется при помощи умножения на веса:

wt = 0.5*<1-cos[*(t - 0.5)/m]> (для t=0 до m-1)
wt = 0.5*<1-cos[*(N - t + 0.5)/m]> (для t=N-m до N-1)

где m выбирается так, чтобы 2*m/N было равно коэффициенту пропорциональности сглаживаемых данных (p).

Окна данных и оценки спектральной плотности

На практике, при анализе данных обычно не очень важно точно определить частоты основных функций синусов или косинусов. Скорее, т.к. значения периодограммы — объект существенного случайного колебания, можно столкнуться с проблемой многих хаотических пиков периодограммы. В этом случае хотелось бы найти частоты с большими спектральными плотностями, т.е. частотные области, состоящие из многих близких частот, которые вносят наибольший вклад в периодическое поведение всего ряда. Это может быть достигнуто путем сглаживания значений периодограммы с помощью преобразования взвешенного скользящего среднего. Предположим, ширина окна скользящего среднего равна m (должно быть нечетным числом); следующие наиболее часто используемые преобразования (заметим: p = (m-1)/2).

Окно Даниэля (равные веса). Окно Даниэля (Daniell, 1946) означает простое (с равными весами) сглаживание скользящим средним значений периодограммы; т.е. каждая оценка спектральной плотности вычисляется как среднее m/2 предыдущих и последующих значений периодограммы.

Эта статья приведёт Вас к успеху:  ФОРЕКС ДЛЯ МУСУЛЬМАНИНА

Окно Тьюки. В окне Тьюки (Blackman and Tukey, 1958) или Тьюки-Ханна (Hanning) (названное в честь Julius Von Hann), для каждой частоты веса для взвешенного скользящего среднего значений периодограммы вычисляются как:

wj = 0.5 + 0.5*cos(*j/p) (для j=0 до p)
w-j = wj (для j 0)

Окно Хемминга. В окне Хемминга (названного в честь R. W. Hamming) или Тьюки-Хемминга (Blackman and Tukey, 1958), для каждой частоты, веса для взвешенного скользящего среднего значений периодограммы вычисляются как:

wj = 0.54 + 0.46*cos(*j/p) (для j=0 до p)
w-j = wj (для j 0)

Окно Парзена. В окне Парзена (Parzen, 1961), для каждой частоты, веса для взвешенного скользящего среднего значений периодограммы вычисляются как:

wj = 1-6*(j/p) 2 + 6*(j/p) 3 (для j = 0 до p/2)
wj = 2*(1-j/p) 3 (для j = p/2 + 1 до p)
w-j = wj (для j 0)

Окно Бартлетта. В окне Бартлетта (Bartlett, 1950) веса вычисляются как:

wj = 1-(j/p) (для j = 0 до p)
w-j = wj (для j 0)

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

Подготовка данных к анализу

Теперь рассмотрим несколько других практических моментов спектрального анализа. Обычно, полезно вычесть среднее из значений ряда и удалить тренд (чтобы добиться стационарности) перед анализом. Иначе периодограмма и спектральная плотность «забьются» очень большим значением первого коэффициента при косинусе (с частотой 0.0). По существу, среднее — это цикл частоты 0 (нуль) в единицу времени; т.е. константа. Аналогично, тренд также не представляет интереса, когда нужно выделить периодичность в ряде. Фактически оба этих эффекта могут заслонить более интересные периодичности в данных, поэтому и среднее, и (линейный) тренд следует удалить из ряда перед анализом. Иногда также полезно сгладить данные перед анализом, чтобы убрать случайный шум, который может засорять существенные периодические циклы в периодограмме.

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

В заключение, зададим вопрос: что, если повторяющихся циклов в данных нет, т.е. если каждое наблюдение совершенно независимо от всех других наблюдений? Если распределение наблюдений соответствует нормальному, такой временной ряд может быть белым шумом (подобный белый шум можно услышать, настраивая радио). Если исходный ряд — белый шум, то значения периодограммы будут иметь экспоненциальное распределение. Таким образом, проверкой на экспоненциальность значений периодограммы можно узнать, отличается ли исходный ряд от белого шума. Пользователь может также построить одновыборочную статистику d статистику Колмогорова-Смирнова (cм. также раздел Непараметрическая статистика и распределения).

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


Интерпретация результатов спектрального анализа обсуждается в разделе Основные понятия и принципы, однако там мы не обсуждали вычислительные проблемы, которые в действительности очень важны. До середины 1960-х для представления спектрального разложения использовались точные формулы для нахождения параметров синусов и косинусов. Соответствующие вычисления требовали как минимум N**2 (комплексных) умножений. Таким образом, даже сегодня высокоскоростному компьютеру потребовалось бы очень много времени для анализа даже небольшого временного ряда (для 8,000 наблюдений потребовалось бы по меньшей мере 64 миллиона умножений).

Ситуация кардинально изменилась с открытием так называемого алгоритма быстрого преобразования Фурье, или БПФ для краткости. Достаточно сказать, что при применении алгоритма БПФ время выполнения спектрального анализа ряда длины N стало пропорционально N*log2(N) что конечно является огромным прогрессом.

Однако недостаток стандартного алгоритма БПФ состоит в том, что число данных ряда должно быть равным степени 2 (т.е. 16, 64, 128, 256, . ). Обычно это приводит к необходимости добавлять нули во временной ряд, который, как описано выше, в большинстве случаев не меняет характерные пики периодограммы или оценки спектральной плотности. Тем не менее, в некоторых случаях, когда единица времени значительна, добавление констант во временной ряд может сделать результаты более громоздкими.

Вычисление БПФ во временных рядах

Выполнение быстрого преобразования Фурье чрезвычайно эффективно. На большинстве стандартных компьютеров, ряд с более чем 100,000 наблюдений легко анализируется. Однако существует несколько моментов, которые надо помнить при анализе рядов большого размера.

Как упоминалось ранее, для применения стандартного (и наиболее эффективного) алгоритма БПФ требуется, чтобы длина исходного ряда была равна степени 2. Если это не так, должны быть проведены дополнительные вычисления. Будут использоваться простые точные вычислительные формулы, пока исходный ряд относительно мал, и вычисления можно выполнить за относительно короткое время. Для длинных временных рядов, чтобы применить алгоритм БПФ, используется основной подход, описанный Monro и Branch (1976). Этот метод требует значительно больше памяти; однако ряд рассматриваемой длины может анализироваться все еще очень быстро, даже если число наблюдений не является степенью 2.

Для временных рядов, длина которых не равна степени 2, мы можем дать следующие рекомендации: если размер исходного ряда не превосходит средний размер (т.е. имеется только несколько тысяч наблюдений), не стоит беспокоиться. Анализ займет несколько секунд. Для анализа средних и больших рядов (например, содержащих свыше 100,000 наблюдений), добавьте в ряд константы (например нули) до тех пор, пока длина ряда не станет степенью 2 и затем примените косинус-сглаживание ряда в разведочной части анализа ваших данных.

Дополнительная информация по методам анализа данных, добычи данных, визуализации и прогнозированию содержится на Портале StatSoft (http://www.statsoft.ru/home/portal/default.asp) и в Углубленном Учебнике StatSoft (Учебник с формулами).

Все права на материалы электронного учебника принадлежат компании StatSoft

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

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

1. Прогнозирование как задача анализа временного ряда. Детерминированная и случайная составляющие: способы их выделения и оценки.

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

Изменение состояния наблюдаемого явления (процесса) характеризуется совокупностью параметров x1, x2, … , xt,…, измеренных в последовательные моменты времени. Такая последовательность называется временным рядом.

Анализ временных рядов – одно из направлений науки прогнозирования.

Если одновременно рассматриваются несколько характеристик процесса, то в этом случае говорят о многомерных временных рядах.

Под детерминированной (закономерной) составляющей временного ряда x1, x2, … , xn понимается числовая последовательность d1, d2, … , dn, элементы которой вычисляются по определенному правилу как функция времени t.

Если исключить из ряда детерминированную составляющую, то оставшаяся часть будет выглядеть хаотично. Ее называют случайной компонентой ε1, ε2, … , εn.

Модели разложения временного ряда на детерминированную и случайную компоненты:

1. Аддитивная модель:

2. Мультипликативная модель:

Если мультипликативную модель прологарифмировать, то получим аддитивную модель для логарифмов xt.

В детерминированной компоненте выделяют:

1) Тренд (trt) – плавно изменяющаяся нециклическая компонента, описывающая чистое влияние долговременных факторов, эффект которых сказывается постепенно.

2) Сезонная компонента (St) – отражает повторяемость процессов во времени.

3) Циклическая компонента (Ct) – описывает длительные периоды относительного подъема и спада.

4) Интервенция – существенное кратковременное воздействие на временной ряд.

– линейная: trt = b0 + b1t

полиномиальная: trt = b0 + b1t + b2t2 + … + bntn

логарифмическая: trt = b0 + b1 ln(t)

логистическая:

экспоненциальная: trt = b0 · b1t

параболическая: trt = b0 + b1t + b2t2


гиперболическая: trt = b0 + b1 /t

Тренд используется для долгосрочного прогноза.

1) Метод наименьших квадратов (время – фактор, временной ряд – зависимая переменная):

xti = f (ti, θ)+εt i=1,…n

f – функция тренда;

θ – неизвестные параметры модели временного ряда.

εt – независимые и одинаково распределенные случайные величины.

Если минимизировать функцию, можно найти параметры θ.

2) Применение разностных операторов

Разностный оператор второго порядка:

Выделение сезонных эффектов

Пусть m – число периодов, p – величина периода.

St = St+p, для любых t.

1) Оценка сезонной компоненты

а) Сезонные эффекты на фоне тренда

Для аддитивной модели xt = trt + St + εt оценка:

Если необходимо, чтобы сумма сезонных эффектов равнялась 0, то переходят к скорректированным оценкам сезонных эффектов:

Для мультипликативной модели xt = trt * St * εt:

б) При наличии в ряде циклической компоненты (метод скользящих средних)

Идея метода: каждое значение исходного ВР заменяется средним значением на интервале времени, длина которого выбирается заранее. Выбранный интервал как бы скользит вдоль ряда.

Скользящее среднее при медианном сглаживании: t=med (xt-m,xt-m+1, …,xt+m)

При средне арифметическом сглаживании:

xt=1/(2m+1)(xt-m+xt-m+1+…+xt+m), если р – четный,

xt=1/(2m)(1/2*xt-m+xt-m+1+…+1/2*xt+m) если р – нечетный.

Для аддитивной модели xt = trt +Ct + St + εt.

Для упрощения обозначений: начнем нумерацию величин с единицы, изменим нумерацию исходного ряда так, чтобы величине x соответствовал член xt.

– скользящее среднее с периодом p, построенное по xt.

Для мультипликативной модели – перейти к логарифмам и получить мультипликативную модель.


xt = trt · Ct · St · εt

yt = log xt, dt = log trt, gt = log Ct, rt = log St, δt = log εt

yt = dt + gt + rt + δt

2) Удаление сезонной компоненты (сезонное выравнивание)

а) При наличии оценок сезонной компоненты:

Для аддитивной модели – путем вычитания из начальных значений ряда полученных сезонных оценок .

Для мультипликативной модели – путем деления начальных значений ряда на соответствующие сезонные оценки и умножением на 100%.

б) Применение разностных операторов

где В – оператор сдвига назад.

Разностный оператор второго порядка:

Если ВР одновременно содержит тренд и сезонную компоненту, то их удаление возможно с помощью последовательного применения простых и сезонных разностных операторов. Порядок их применения не существенен:

3) Прогнозирование с помощью сезонной компоненты:

Для аддитивной модели:

Для мультипликативной модели:

2. Модели временного ряда: AR(p), MA(q), ARIMA(p,d,q). Идентификация моделей, оценка параметров, исследование адекватности модели, прогнозирование.

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

Случайным процессом x(t), заданным на множестве Т, называют функцию от t, значения которой при каждом t T являются случайной величиной.

Случайные процессы, у которых вероятностные свойства не изменяются во времени, называются стационарными (матожидание и дисперсия – константы).

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

Для проверки стационарности ряда остатков и оценки его дисперсии используют:

— выборочную автокорреляционную функцию (коррелограмму);

— частную автокорреляционную функцию.

Пусть εt – процесс белого шума, т.е. в разные моменты времени t случайные величины εt независимы и одинаково распределены с параметрами M(εt)=0, D(εt)=σ2=const. Тогда:

Случайный процесс x(t) со средним значением μ называется процессом авторегрессии порядка p (AR(p)), если для него выполняется соотношение:

x(t)-μ= α1 (x(t-1) – μ) + α2 (x(t-2) – μ) +…+ αp (x(t-p) – μ) + εt

Случайный процесс x(t) называется процессом скользящего среднего порядка q (MA(q)), если для него выполняется соотношение:

x(t)= εt + β1 εt-1 +…+ βq εt-q

Случайный процесс x(t) называется процессом авторегрессии-скользящего среднего порядков p и q (ARMA(p,q)), если для него выполняется соотношение:


Нестационарные технические и экономические процессы могут быть описаны модифицированной моделью ARMA(p,q). Для удаления тренда можно использовать разностные операторы.

Пусть даны две последовательности U=(…,U-1,U0,U1,…) и V=(…,V-1, V0,V1,V2,…) такие, что:

означает ,для

означает и т.д.

Тогда процесс AR(p) представляется в виде ,

MA(q): ,

ARMA(p,q):

B можно использовать как разностный оператор, т.е.

Для разностей второго порядка:

Таким образом получим модель авторегрессии-проинтегрированного скользящего среднего порядков p, d и q (ARIMA(p,d,q)), определяемую уравнениями:

где – разностный оператор порядка d; x=(1-B)dx.

Идентифицировать модель – определить ее параметры p, d и q. Для идентификации модели служат графики частных автокорреляционных (АКФ) и частных автокорреляционных функций (ЧАКФ).

АКФ. k-й член АКФ определяется по формуле:

(*)

Параметр k называют лагом. На практике k q Cov[X(t), X(t+k)] = 0.

Cov[X(t), X(t+k)] = s2*(bk + b1*bk+1 + b2*bk+2 + … + bq-k*bq)

Отсюда автокорреляционная функция имеет вид:

(***)

Для оценивания коэффициентов bi по наблюденному участку траектории существует несколько путей. Наиболее простой:

Находят коэффициенты корреляции по формуле (*). Из системы (***) получают систему нелинейных уравнений для нахождения bi. Она решается итерационными методами.

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

3. Прогнозирование с помощью искусственных нейронных сетей, метод окон.

Решение математических задач с помощью нейронных сетей (НС) осуществляется путем обучение НС способам решения этих задач.

Обучение многослойной нейронной сети производится методом обратного распространения ошибки (Back Propagation).

Модель искусственного нейрона

где xi – входные сигналы,

ai – коэффициенты проводимости (const), которые корректируются в процессе обучения,

F – функция активации, она нелинейная, в разных моделях может называться по-разному. Например, «сигмоида»:

Общая структура нейронной сети:


Скрытых слоев может быть несколько, поэтому НС – многослойная.

– вектор эталонных сигналов (желаемых)

yi – вектор реальных (выходных) сигналов

xi – вектор входных сигналов.

Стратегия обучения «обучение с учителем»

Типовые шаги:

1) Выбрать очередную обучающую пару из обучающего множества .

x – входной вектор;

– соответствующий ему желаемый (выходной вектор).

Подать входной вектор х на вход НС.

2) Вычислить выход сети у – реальный выходной сигнал.

Предварительно, весовые коэффициенты aij и bij задаются произвольно случайным образом.

3) Вычислить отклонение (ошибку):

4) Подкорректировать веса aij и bij сети так, чтобы минимизировать ошибку.

5) Повторить шаги 1– 4.

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

Проход вперед сигнала X по сети:

Из обучающего множества берется пара . Для каждого слоя, начиная с первого, вычисляется Y: Y = F(X·A),

где A – матрица весов слоя;

F – функция активации.

Вычисления – слой за слоем.

Обратный проход ошибки по НС:

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

Рис. Обучение одного веса от нейрона p в скрытом слое j к нейрону q в выходном слое k

Для выходного нейрона сначала находится сигнал ошибки

εq умножается на производную сжимающей функции [y (1–y)], вычисленную для этого нейрона слоя k. Получаем величину δ:

δq= yqk · (1 – yqk) · εq

Далее как в обычном дельта-правиле находим:

Прогнозирование финансовых временных рядов с MLP в Keras

Всем привет! В этой статье я хочу рассказать про базовый пайплайн в прогнозировании временных рядов с помощью нейронных сетей, в данном случае, наверное, с самыми сложными временными рядами для анализа — финансовыми данными, которые имеют случайную природу, и, казалось бы, непредсказуемые. Или все-таки нет?


Вступление

Я сейчас учусь на последнем курсе магистратуры в University of Verona по специальности «прикладная математика», и как типичный студент-айтишник из СНГ, работать начал еще на бакалаврате в Киевском Политехническом Институте, применяя тогда еще только набиравшее обороты машинное обучение в разных проектах, чем занимаюсь и сейчас. В университете тема моих исследований — deep learning применительно к временным рядам, в частности — финансовым.

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

Пайплайн, описанный в этой статье, легко применяется к любым другим данным и к другим алгоритмам классификации. Для тех, кто хочет сразу запустить код — можете скачать IPython Notebook.

Подготовка данных

Для примера возьмем цены акций такой скромной компании как Apple с 2005 по сегодняшний день. Их можно скачать на Yahoo Finance в формате .csv. Давайте загрузим данные и посмотрим как вся эта красота выглядит.

Для начала заимпортим нужные нам для загрузки библиотеки:

Прочитаем данные и нарисуем графики (в .csv из Yahoo Finance данные загружены в обратном порядке — от 2020 до 2005, так что сначала надо их “перевернуть” с помощью [::-1]):

Выглядит почти как типичный случайный процесс, но мы попробуем решить задачу прогнозирования на день или несколько вперед. Задачу “прогнозирования” сначала надо описать ближе к задачам машинного обучения. Мы можем предсказывать просто движение цены акций на рынке — больше или меньше — это будет задача бинарной классификации. С другой стороны, мы можем предсказывать или же просто значения цены в следующий день (или через пару дней) или изменение цены в следующий день по сравнению с последним днем, или же логарифм от этой разницы — то есть мы хотим предсказать число, что является задачей регрессии. Но при решении задачи регрессии придется столкнуться с проблемами нормализации данных, которые мы сейчас рассмотрим.

Что в случае классификации, что в случае регрессии, на вход мы возьмем какое-то окно временного ряда (например, 30 дней) и постараемся или предсказать движение цены в следующий день (классификация), или значение изменения (регрессия).

Основная проблема финансовых временных рядов — они вообще ни капельки не стационарны (можете проверить сами с помощью, скажем, теста Дики-Фуллера), то есть их характеристики, как мат. ожидание, дисперсия, среднее максимальное и минимальное значение в окне меняются со временем, что значит, что по-хорошему мы не можем использовать эти значения для MinMax или z-score нормализации по нашим окнам, так как если в 30 дней в нашем окне у нас одни характеристики, но они могут измениться уже на следующий день или измениться посередине нашего окна.

Но если внимательно посмотреть на задачу классификации, нас не так интересует мат. ожидание или дисперсия в следующий день, нас интересует исключительно движение вверх или вниз. Поэтому мы рискнем, и будем нормализировать наши 30-дневные окна с помощью z-score, но только их, не затрагивая ничего из “будущего”:

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

выглядит это так, и как видим — эти данные, полученные без каких-то манипуляций с статистическими характеристиками уже лежат в пределе от -0.5 до 0.5:

Для разделения на обучающую и тренировочную выборку возьмем первые 85% окон во времени для обучения и последние 15% для проверки работы нейронной сети.

Так что для обучения нашей нейронной сети мы получим следующие пары X, Y: цены в момент закрытия рынка за 30 дней и [1, 0] или [0, 1] в зависимости от того, выросло или упало значение цены для бинарной классификации; процентное изменение цен за 30 дней и изменение на следующий день для регрессии.

Архитектура нейронной сети

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

В качестве фреймворка для имплементации возьмем Keras — он очень прост, интуитивно понятен и с ним можно реализовывать достаточно сложные вычислительные графы на коленке, но пока что нам это и не понадобится. Реализуем простенькую сетку — входной слой с 30 нейронами (длина нашего окна), первый скрытый слой с 64 нейронами, после него BatchNormalization — его рекомендуется использовать практически для любых многослойных сетей, потом активационная функция (ReLU уже считается не комильфо, поэтому возьмем что-то модное вроде LeakyReLU). На выходе разместим один нейрон (или два для классификации), который в зависимости от задачи (классификация или регрессия) будет или иметь softmax на выходе, или оставим его без нелинейности, чтобы иметь возможность прогнозировать любое значение.

Код для классификации выглядит так:

Для задачи регрессии в конце параметр активации должен быть ‘linear’. Далее нам нужно определить функции ошибки и алгоритм оптимизации. Не вдаваясь в детали вариаций градиентного спуска возьмем Adam с длиной шага 0.001; параметр loss для классификации нужно поставить кросс-энтропию — ‘categorical_crossentropy’, а для регрессии — среднюю квадратическую ошибку — ‘mse’. Также Keras позволяет нам достаточно гибко контролировать процесс обучения, например, хорошая практика — это уменьшать значение шага градиентного спуска, если наши результаты не улучшаются — именно этим и занимается ReduceLROnPlateau, который мы добавили как коллбэк в обучение модели.

Обучение нейронной сети

После того, как процесс обучения завершен, будет неплохо вывести на экран графики динамики значения ошибки и точности:

Перед запуском обучения хочу обратить внимание на на важный момент: учить алгоритмы на таких данных надо подольше, хотя бы 50-100 эпох. Это связано с тем, что если вы обучите на, скажем, 5-10 эпохах и увидите 55% точности, это скорее всего не будет значить, что вы научились находить паттерны, если вы проведете анализ тренировочных данных, будет видно, что просто 55% окон были для одного паттерна (повышение, например), а остальные 45% — для другого (понижение). В нашем случае 53% окон класса “понижения”, а 47% — “повышения”, поэтому мы будем стараться получить точность выше 53%, которая и будет говорить о том, что мы научились находить признаки.

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

Задача классификации

Проведем обучение нашей первой модели и посмотрим на графики:

Как видим, что ошибка, что точность для тестовой выборки все время остается на плюс-минус одном значении, а ошибка для тренировочной падает, а точность растет, что говорит нам о переобучении. Давайте попробуем взять более глубокую модель с двумя слоями:

Вот результаты ее работы:

Приблизительно такая же картина. Когда мы сталкиваемся с эффектом переобучения, нам нужно добавить регуляризацию в нашу модель. Если вкратце, то во время переобучения мы строим модель, которая просто “запоминает” наши тренировочные данные и не позволяет обобщить знания на новые данные. В процессе регуляризации мы накладываем определенные ограничения на веса нейронной сети, чтобы не было большого разброса в значениях и не смотря на большое количество параметров (т.е. весов сети), часть из них обратить в ноль для упрощения. Мы начнем с самого распространенного способа — добавления к функции ошибки дополнительного слагаемого с L2 нормой по сумме весов, в Keras это делается с помощью keras.regularizers.activity_regularizer.


Такая нейронная сетка учится уже немного лучше с точки зрения функции ошибки, но точность все еще страдает:

Такой странный эффект как уменьшение ошибки, но не уменьшение точности нередко встречается при работе с данными большой зашумленности или случайной природы — это объясняется тем, что ошибка считается на основе значения cross-entropy, которое может уменьшаться во время того, как точность — это индекс нейрона с правильным ответом, который даже при изменении ошибки может оставаться неправильным.

Поэтому стоит добавить еще больше регуляризации в нашу модель с помощью популярной в последнии года техники Dropout — грубо говоря, это случайное “игнорирование” некоторых весов в процессе обучения, чтобы избежать ко-адаптации нейронов (чтобы они не выучивали одинаковые признаки). Код выглядит следующим образом:

Как видим, между двумя скрытыми слоями мы будем “дропать” связи во время обучения с вероятностью 50% для каждого веса. Дропаут обычно не добавляют между входным слоем и первым скрытым, так как в этом случае мы будем учить на просто-напросто зашумленных данных, и также не добавляется прямо перед выходом. Во время тестирования сети никакого дропаута, разумеется, не происходит. Как учится такая сетка:

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

Еще один интересный и интуитивно понятный момент прогнозирования финансовых временных рядов заключается в том, что колебание в следующий день имеет случайную природу, но когда мы смотрим на графики, свечи, мы все-таки можем замечать тренд на следующие 5-10 дней. Давайте проверим, могут ли с такой задачей справиться наша нейронка — спрогнозируем движение цены через 5 дней с последней удачной архитектурой и ради интереса обучим на большем количестве эпох:

Как видим, если мы остановим обучение достаточно рано (со временем все равно наступает оверфиттинг), то можем получить 60% точности, что очень даже неплохо.

Задача регрессии

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

Также в данном случае мы можем смотреть уже не только на значение ошибки, а и визуально оценить качество прогнозирование с помощью следующего кода:

Архитектура сети будет выглядеть следующим образом:

Посмотрим что получится, если обучить на “сыром” adjustment close:

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

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

Некоторые значения предсказываются неплохо, кое-где правильно угадывается тренд, но в целом — так себе.

Обсуждение

В принципе, на первый взгляд, результаты вообще не впечатляют. Так и есть, но мы обучили самый простой вид нейронной сети на одномерных данных без особой предобработки. Есть ряд шагов, которые позволяют вывести точность на уровень 60-70%:

  • Обучать на высокочастотных данных (каждый час, каждые пять минут) — больше данных — больше паттернов — меньше переобучения
  • Использовать более продвинутые архитектуры нейронных сетей, которые предназначены для работы с последовательностями — convolutional neural networks, recurrent neural networks
  • Использовать не только цену закрытия, а все данные из нашего .csv (high, low, open, close, volume) — то есть в каждый момент времени обращать внимание на всю доступную информацию
  • Оптимизировать гиперпараметры — размер окна, количество нейронов в скрытых слоях, шаг обучения — все эти параметры были взяты несколько наугад, с помощью случайного поиска можно выяснить, что, возможно, нам надо смотреть на 45 дней назад и учить с меньшим шагом более глубокую сетку.
  • Использовать более подходящие для нашей задачи функции потерь (например, для прогнозирования изменения цены мы могли бы штрафовать нейронную за неправильный знак, обычная MSE к знаку числа инвариантна)

Занимаясь прогнозированием временных рядов, мы оставили без внимания главную цель — использовать эти данные для торговли и убедиться в том, что она будет прибыльная. Я бы хотел это показать в режиме вебинара онлайн и применить сверточные и рекуррентные сети для задачи прогнозирования плюс проверить прибыльность стратегий, использующих эти предсказания. Если кому-то интересно, жду в Hangouts on Air 5 мая в 18:00 по UTC.

Заключение

В этой статье мы применили самую простую архитектуру нейронных сетей для прогнозирования движения цен на рынке. Этот пайплайн можно использовать для любых временных рядов, главное — правильно выбрать предобработку данных, определить архитектуру сети, оценить качество работы алгоритма. В нашем случае у нас удалось с точностью 60% предсказывать тренд через 5 дней, используя окно цен в предыдущие 30 дней, что можно считать хорошим результатом. С количественным предсказанием изменения цены получился провал, для этой задачи целесообразно использовать более серьезные инструменты и статистический анализ временного ряда. Весь используемый код в IPython Notebook можно взять по ссылке.

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Сингулярный спектральный анализ временных рядов рынка форекс

Сначала разберем что же такое сингулярный спектральный анализ.

По-простому, это методы математического анализа временных рядов, где поведение исследуемой переменной, в нашем случае это котировки валюты, рассматривается через сложение шумовой, трендовой, а также нескольких волновых составляющих ряда. В результате сингулярного спектрального анализа можно определить наиболее вероятное поведение котировки валюты в ближайшем будущем. На заметку можно добавить, что сингулярный спектральный анализ (SSA) является частным случаем многомерного сингулярного спектрального анализа (MSSA). Методы, реализуемые MSSA, в России называются методом «Гусеница».

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

Существуют различные методики анализа временных рядов, но эти методики имеют определенные ограничения. Методика анализа, которая будет рассмотрена в этой статье, имеет ряд преимуществ по сравнению с классическими методами анализа временных рядов. Этот метод позволит трейдеру извлечь полезную информацию из зашумленных рядов котировок валюты, а также даст возможность определить базис прогнозной модели. Сингулярный спектральный анализ (SSA) – достаточно новый метод, успешно применяемый в различных областях наук от метеорологии и астрономии до био-информатики. Этот метод позволяет сжать информацию, сгладить временные ряды котировок валюты, а также спрогнозировать их дальнейшую динамику. Метод хорошо применим для валютного и фондового рынка. Этот метод хорошо работает на этих рынках, так как они представляют временные финансовые ряды, т.е. систему, которая изменяется во времени. Сингулярный спектральный анализ разработан для анализа внутренней динамики временных рядов. Метод SSA заключается в сингулярном разложении траекторной матрицы, которая получается из временных рядов (котировок валюты или акций). Разберем метод SSA для анализа котировок валют.

Будем считать цену котировки в фиксированной точке в качестве определенного состояния системы. Серия этих состояний образует профиль изменения состояний системы. Можно знать процесс, лежащий за изменением цены, но нельзя знать характеристики этого процесса. Неизвестный процесс представляется через сложение элементарных паттернов поведения. Каждый элементарный паттерн дает информацию о тренде (направленном движении), а также о шуме и помехах временных рядов котировок валют. Цель спектрального анализа – получить информацию о тренде и шуме из временных рядов.

На начальном этапе сингулярного спектрального анализа производится процедура встраивания. Из бесконечных временных рядов выбирается начальный и конечный интервал, который включает конечное количество (N) состояний системы. Затем выбирается число задержек, так называемое «окно», содержащее цены котировок от 1 числа до М. М Joomla 2.5

Лучший Форекс брокер 2020 года:
  • FinMaxFx
    FinMaxFx

    Лучший Форекс брокер этого года!
    Бесплатное обучение и демо-счет!
    Бонусы за регистрацию!

Добавить комментарий