Выделение периодической компоненты временного ряда (пример)
Материал из MachineLearning.
Введение
Временной ряд - последовательно измеренные через некоторые (зачастую равные) промежутки времени данные. При прогнозировании некоторых временных рядов, например временных рядов продаж, потребления энергии или электрокардиограммы, мы сталкиваемся с тем, что данные ряды обладают периодической компонентой. Существует несколько методов выявления периода. В данной работе сравниваются алгоритмы автокорреляционной функции и метода наименьших квадратов.
Автокорреляционная функция исследует временной ряд на наличие периодической компоненты, сдвигая ряд на несколько временных отсчетов и сравнивая с самим собой.
Метод наименьших квадратов(МНК) оценивает параметры для тригонометрической аппроксимации данного ряда. Так как любая последовательность, обладающая периодичностью может быть разложена в ряд Фурье, необходимо принять коэффициенты перед синусами и косинусами за коэффициенты регрессии и оценить их величину. Если найденная корреляция (коэффициент при определенном синусе или косинусе) велика, то можно заключить, что существует строгая периодичность на соответствующей частоте в данных.
Далее будет рассмотрена работа алгоритмов на модельных данных, а также на реальном временном ряде электрокардиограммы. Будет исследована зависимость коэффициента корреляции от различных характеристик временного ряда, а также рассмотрена возможность применения метода наименьших квадратов для прогнозирования данных.
Постановка задачи
Дан временной ряд , где - длина временного ряда, - номер отсчета. Предполагаем, что в рассматриваемом временном ряде нет пропущенных значений, и он имеет периодические составляющие с периодом . Работа состоит из трех следующих ступеней.
Во-первых, тестирование на модельной задаче. Дан зашумлённый синус с известным периодом. Необходимо исследовать изменение коэффициента корреляции в следующих ситуациях:
1. при увеличении шума; 2. при уменьшении числа отсчётов на период; 3. при сокращении длины временного ряда.
Во-вторых, тестирование на реальном временном ряде. Дан временной ряд электрокардиограммы, включающий периодическую компоненту со сложным строением. Необходимо исследовать его на наличие временных периодичностей, используя алгоритмы автокорреляционной функции и МНК.
В-третьих, необходимо выяснить пригодность метода наименьших квадратов для прогнозирования временных рядов.
Для контроля качества алгоритма прогноза будем выделять во временном ряде последовательных значений (контрольную выборку), которые алгоритм будет прогнозировать по предыдущим значениям. В качестве критерия качества прогноза будем минимизировать следующий функционал:
где - прогнозируемое значение в -ый момент времени, - фактическое значение.