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.

  1. Алгоритм не может прогнозировать событие, слишком далекое от других событий, зафиксированных в выборке данных Y, т.е. выборка данных должна содержать полный набор событий всех видов. Выборка данных является полной, если она содержит весь набор типичных видов (кластеров) функционирования объекта наблюдения.
  2. Выборка должна быть представительной. Это означает, что кластеры матриц Х и 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).