
4 Апреля 2013
Прогнозирование временных рядов
Частными случаями задачи классификации являются задачи прогнозирования временных рядов. Временным рядом называется последовательность событий, упорядоченных во времени их наблюдения. События обычно фиксируются через равные интервалы времени T, и представляется в виде последовательности {e1,e2,e3... en}, где ei — событие в моменте времени Ti, n- общее кол-во событий. Событие может характеризоваться несколькими атрибутами ei={xj^i... xm^i} ,где xj^i j- атрибут характеризующий событие в момент времени Ti. Если один из атрибутов может быть определен из значений других атрибутов в текущий или предыдущий момент времени, то такой атрибут называется зависимый или целевым. Атрибуты, через которые можно выразить зависимый атрибут, называют независимыми атрибутами.
Задачу построения прогноза по временному ряду можно сформулировать следующим образом: пусть дан временной ряд {e1,e2...ei...en}. Требуется на его основание определить значение e(n-k), npn k>0.
Методы прогнозирования временных рядов.
Прогнозирование временных рядов осуществляется в 3 этапа:
Построение модели, характеризующий временной ряд, для этого применяются различные методы статистики и классификации.
Оценка построенной модели, для оценки модели имеющиеся данные разбиваются на два множества: обучающую и тестовую. Построение модели выполняется на обучающем множестве, а затем с ее помощью строится прогноз на тестовом множестве. С прогнозированные результаты сравнивают с реальными данными и по степени ошибки оценивают модель.
Если построенная на первом этапе модель получила удовлетворительную оценку, то ее можно использовать для прогноза общих событий.
Данная задача может решаться как методами математической статистики такими как: экстраполяция, экспоненциальное сглаживание и другими, так и методами ИАТ (интеллектуального анализа данных), например методом скользящего окна.
Метод экстраполяции предполагает построение по имеющимся данным функции, которая выражает зависимость по искомым значениям во времени e(n-k)=f(t). Вид функции f может быть как линейным, так и не линейным. В общем виде ее можно записать следующим образом f(t)=сумма(ai*ti^p), где ai — искомые коэффициенты, подбираемые так, чтобы построенная функция имела минимальную ошибку прогноза.
Метод экспоненциального сглаживания строит адаптивные модели прогнозирования, то есть модели,способные приспосабливать свою структуру и параметры к изменению условий. Общая идея такова:
По нескольким первым уровням ряда оцениваются значения параметров моделей
По имеющейся модели строится прогноз на один шаг вперед, причем его отклонения от фактических уровней ряда расценивается как ошибка прогнозирования, которая учитывается со схемой корректировки модели
Далее, по модели со скорректированными параметрами рассчитывается прогнозная оценка на следующий момент времени.
Таким образом модель, постоянно учитывает новую информацию, и к концу периода обучения отражает тенденцию развития процесса, существующую на данный момент. Вид такой модели можно представить на примере модели: Холта Sk=aek+(1-a)Sk-1. Где Sk — предсказанное значение, a (альфа) - параметр определяющий сглаживание ряда. Если a=1, то предыдущее наблюдение полностью игнорируется, если a=0, то игнорируется текущее наблюдение. Значение 0<a<1 дают промежуточные результаты.
Основной идее метода скользящего окна является гипотеза о том, что существует некий закон, по которому можно определить очередного члена ряда, как функцию он нескольких предыдущих членов. Обычно из каких то соображений фиксируют число k и предполагают, что только k предшествующий членов влияют на дальнейшее поведение ряда, а зависимостью от остальных пренебрегают en+1=f(en,en-1...en-k). При этом говорят об «окне» размером k, в пределах которого рассматривается ряд. Для нахождения функции f временный ряд нарезают на множество окон (каждый из которых сдвигается на один элемент). На полученном множестве выполняется поиск искомых функций.
Необходимо заметить, что если функция f используются для предсказания численных значений, то говорят о задачи регрессии. В случае категориальных значений ряда мы имеем дело с классической задачей классификации.