2.9. Метод прогнозирования многомерных случаных процессов на основе комплексирования аналогов
Пусть имеется некоторый многомерный случайный процесс , заданный в виде матрицы наблюдений , где - признаки процесса, - строки, соответствующие моментам наблюдений. Требутся по данной выборке наблюдений Х предсказать состояние процесса в момент времени (t+1), т.е. найти .
Один из методов прогнозирования – это метод комплексирования аналогов. Он базируется на следующей гипотезе. Если мы на предыстории найдем некоторую ситуацию , совпадающую или близкую к наблюдаемой в настоящий момент , т.е. все основания за прогнозируемое состояние выбрать следующее за аналогом , состояние процесса, которое обозначим через .
Такой подход оправдан в случае, когда в базе данных накоплена достаточно большая статистика, и для каждой возможной ситуации можно найти близкий аналог (или аналоги).
Он широко используется в метеорологии, или прогнозировании погоды и климатических изменений. Точность прогноза может быть повышена, если использовать не один, а несколько аналогов.
Рассмотрим формальную постановку метода. Пусть имеется выборка данных , где - строки наблюдений, - признаки. Допустим, что - наблюдаемые строки, а В – последняя (текущая) строка, которая описывается набором признаков . Требуется найти значение процесса в следующий момент времени (t+1).
Идея метода состоит в следующем. Среди строк разыскиваем F (F>1) ближайших аналогов к строке В. В качестве меры близости и В может быть использована, в частности, эвклидова метрика:
.
1. Рассмотрим случай, корда число аналогов 2 (F=2).
Пусть наилучшими аналогами для В оказались и , для которых .
Пусть - значение j-ой переменной, прогнозируемое по (т.е. состояние, следующее за строкой ), - значение j-ой переменной, прогнозируемое по . Тогда прогнозируемое по состоянию В значение определяется из выражения:
(1)
Здесь .
Выражение (1) можно рассматривать как сплайн-аппроксимацию по двум аналогам. Причем, если , то
2. Рассмотрим теперь случай произвольного числа аналогов F (1<F<n-1).
В этом случае прогнозируемое значение переменной определяется так:
(2)
где рассматриваются аналоги . Заметим, что если , то , что вполне оправдано.
В методе комплексирования аналогов выделяется два этапа:
1 этап – этап обучения (или настройки системы прогнозирования)
2 этап – этап прогнозирования.
Этап 1. Обучение.
На этом этапе рассматривается скользящая строка В, занимающая положение (см. рис.1).
Рис.1. Этап 1 – обучение.
Пусть число аналогов F=2.
Для скользяще 1 строки В, которая находится в положении i, определяем два ближайших аналога. Пусть ими оказались и .
Находим сплайн-аппроксимацию согласно (2). Обозначим ее через .
Далее сравниваем ее с действительным значением , оцениваемым по строке В (т.е. в строке, следующей за В).
Вычисляется ошибка прогноза
.
Величины записываются во вспомогательную матрицу размером , по которой вычисляются частные критерии скользящего:
(3)
В качестве критерия выбора оптимального решения используется критерий скользящего среднего CV, который обеспечивает
.
На этапе обучения решаются задачи выбора оптимального числа аналогов и числа признаков так, чтобы обеспечить .
Указанная задача является комбинаторной задачей дискретной оптимизации без ограничений, но учитывая, что число переменных в ней всего 2, поиск оптимальных значений можно осуществить путем перебора. Задача упрощается в связи с тем, что число аналогов F ограничено (), т.к. эксперименты показали, что при больших значениях F точность прогноза снижается.
После того, как на этапе обучения были определены и , переходят к этапу прогноза.
Этап 2. Прогнозирование.
Скользящая строка В занимает крайнее нижнее положение i=N, определяются для нее ближайшие аналоги, например и , и осуществляется прогноз согласно формуле (2) (см. рис.2).
Рис.2. Этап 2 – прогнозирование.
Работа алгоритма комплексирования аналогов приведена на рисунках 1 и 2.
Постановка задачи прогнозирования повторяющихся случайных событий.
Функция цели Y при прогнозировании процессов не задается. Выборка содержит только компоненты характеристических векторов матрицы Х. Чем больше корреляция между соседними строками, тем больше предельно достижимое время упреждения прогноза процесса и тем шире паттерны.
Для решения задачи прогнозирования повторяющихся случайных событий необходимо кроме матрицы Х задать также матрицу векторов выходных величин Y. Для этой задачи важно, чтобы были коррелированы столбцы выборки Х и выборки Y. Корреляция между строками выборки обычно отсутствует.
Для правильного прогноза событий необходима полнота и представительность выборок Х и Y.
Для установления полноты и представительности матрицы Х и Y подвергаются автоматическому разделению на кластеры по одному из известных критериев, например, с использованием иерархического алгоритма клатер-анализа.
Постановка задачи прогноза повторяющихся случайных событий может иметь как общий информационный вид, так и более специализированный причинно-следственный характер. При информационной постановке должна быть задана выборка характеристических векторов , содержащая результаты измерения всех переменных, которые могут быть измеряны за N+1 интервалов времени. Кроме того, необходимо задать матрицу Y, содержащую N строк. Требуется прогнозировать вектор события Y на N+1 шаг. Например, выборка содержит результаты тестирования 30-ти операторов, а известны результаты деятельности только 29-ти операторов. Требуется дать прогноз результатов работы последнего по порядку 30-го испытуемого образца.
Причинно-следственная постановка применима только для некоторых практических задач. Здесь выборка Х содержит наблюдения причин событий числом N+1. Следствия даны в выборке Y только для первых N наблюдений. Требуется дать прогноз следствия для последнего (N+1)-го вектора причин, который должен быть известен. Например, выборка Х содержит наблюдения способа обработки и метеоусловий за N+1 год. Данные об урожае представлены в выборке Y только за N лет. Требуется прогнозировать урожай на (N+1)-й год.
Алгоритм прогнозирования повторяющихся случайных событий.
Для прогнозирования событий нужно решить следующие задачи:
Ширина паттерна h=1 не подлежит изменению и равна одной строке исходной выборки. Поэтому целесообразно выполнять перебор компонентов вектора цели Y. Способ уменьшения числа множеств признаков, подлежащих перебору при прогнозировании событий, показан на рис.3а.
Рис.3а.Этап 1 – обучение.
Здесь участвует не одна, а две матрицы данных – Х и Y, а вместо разности прогнозов рассчитываются разности характеристических векторов:
Далее вычисляем и заполняем матрицу .
Вычисляем частные критерии непротиворечивости скользящего среднего
,
а затем и полный критерий непротиворечивости скользящего среднего
.
Показатели CV используем для нахождения оптимального числа признаков и числа аналогов . Находим также и , для которых .
Эти процедуры иллюстрируются на рис.3а. На этом этап обучения заканчивается, и мы переходим к этапу прогнозирования.
Этап 2. Здесь имеется характеристический вектор X(N+1). Требуется спрогнозировать значения Y(N+1) (рис.3б).
Рис.3б. Этап 2 – прогнозирование.
Пусть . Для строки В в матрице Х находим два ближайших аналога и , далее в матрице Y определяем соответствующие строки и . Осуществляем сплайн-аппроксимацию и находим согласно формуле (2).