Математическое бюро
Прогнозирование на ОРЭМ

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

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

Применение кластеризации, т.е. разбиение временного ряда на гомогенные отрезки, в задачах прогнозирования было предложено давно. Еще в 1974 году Russel Fogler опубликовал статью «A pattern recognition model for forecasting». В этой статье автор впервые предложил прогнозирование временных рядов разбить на два этапа:

  1. кластеризация
  2. прогнозирование внутри кластера

По сути дела такой подход является комбинацией двух различных моделей временных рядов – первая модель определяет кластер, вторая прогнозирует внутри кластера. На сегодняшний день этот подход чрезвычайно популярен. Например, в обзоре методов и моделей прогнозирования энергопотребления от 2010 года «A Computing Model of Artificial Intelligent Approaches to Mid-term Load Forecasting: a state-of-the-art-survey for the researcher» приводится таблица, с указанием следующих комбинаций моделей:

  • нейронные сети + нечеткая логика
  • нейронные сети + ARIMAX
  • нейронные сети + регрессия
  • нейронные сети + генетический алгоритм + нечеткая логика
  • регрессия + нечеткая логика

Я писала на днях о моделях прогнозирования, что наиболее популярное применение нейронные сети (ANN) нашли в задачах распознавания образов (pattern recognition). Распознавание образов, говоря доступным языков, является задачей отнесения некоторого множества к одному из ранее определенных классов. Кластеризация по сути своей близка задаче распознавания образов. В указанных выше комбинациях нейронные сети применяются на первом этапе как раз для решения задачи кластеризации, а на втором этапе непосредственно для прогнозирования внутри кластера каждый исследователь применяет то, что ему больше по душе – от регрессии до нечеткой логики в соединении с генетическим алгоритмом.

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

Способ второй: консенсус-прогноз

Если в первом способе две модели временных рядов применялись последовательно, то во втором способе они применяются параллельно. В статье «Managing Functional Biases in Organizational Forecasts: A Case Study of Consensus Forecasting in Supply Chain Planning» от 2007 года утверждается, что прогноз, полученный как комбинация нескольких независимых прогнозов, позволяет повысить точность прогнозирования. Такой прогноз называется консенсус-прогноз (consensus forecast).

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

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

Прогноз на 24 часа вперед цен РСВ ЕЦЗ в период с 01.03.2009 по 30.09.2009 (более 5 000 значений).

Прогноз цен РСВ выполнялся на 2-х моделях - EMMSP и ANN. Третья модель являлась линейной комбинацией двух исходных: Консенсус-прогноз = 0.53 * Прогноз EMMSP + 0.48 * Прогноз ANN – 9.08

Модель MAE, Руб/МВт.ч MAPE, %
EMMSP 31.88 5.97
ANN 31.27 6.10
Консенсус-прогноз 28.22 5.40

Т.е. если мы прогнозируем параллельно на EMMSP и ANN, а после вычисляем указанную линейную комбинацию, то мы повышаем точность прогноза на 3 Руб/МВт.ч (~0.5%). Подробнее о MAE и MAPE я писала в заметке «Основные оценки точности прогнозирования временных рядов».

Прогноз на 24 часа вперед энергопотребления сбытовой компании в период с 05.05.2008 по 19.05.2005 (360 значений).

Прогноз энергопотребления выполнялся на 2-х моделях - EMMSP и ARIMAX. Третья модель, как и в предыдущем случае, являлась линейной комбинацией двух исходных: Консенсус-прогноз = 0.48 * Прогноз EMMSP + 0.46 * Прогноз ARIMAX – 38.56

Модель MAE, МВт.ч MAPE, %
EMMSP 45.05 4.32
ARIMAX 44.63 4.21
Консенсус-прогноз 31.79 3.01

Т.е. если мы прогнозируем параллельно на EMMSP и ARIMAX, а после вычисляем указанную линейную комбинацию, то мы повышаем точность прогноза на 1.2% (~12 МВт.ч). Недавно я подробно разбирала вопрос о том, «Сколько стоит на ОРЭМ повышение точности прогноза энергопотребления на 1 МВт».

Прогноз на 18 значений (1.5 часа) вперед уровня сахара крови человека в течение нескольких суток (более 3000 значений).

Прогноз сахара крови человека выполнялся на 2-х моделях - EMMSP и ANN.
Консенсус-прогноз = 0.54 * Прогноз EMMSP + 0.58 * Прогноз ANN – 0.73

Модель MAE, ммоль/л MAPE, %
EMMSP 0.97 14.70
ANN 1.12 17.02
Консенсус-прогноз 0.77 12.13

Т.е. если мы прогнозируем параллельно на EMMSP и ANN, а после вычисляем указанную линейную комбинацию, то мы повышаем точность прогноза на 2.70%.

Резюме

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

Математическое бюро видит свое активное участие во втором пути. Предоставляя своим клиентам прогноз, выполненный на модели EMMSP, мы предоставляем ту независимую информацию, которая позволит повысить точность внутреннего прогноза временных рядов. Кроме того, нужно отметить, что в настоящее время производится разработка моделей ANN для рабочих временных рядов, так что не за горами тот день, когда Математическое бюро будет внутри формировать консенсус-прогноз на комбинации EMMSP + ANN, а далее предоставлять его клиентам. Это, по нашим оценкам, позволит нашим клиентам выиграть в точности дополнительно!

Комментарии

Аватар пользователя Виктор
Виктор Виктор

Ирина, добрый день!

Подскажите, что за значения используются в формулах ( 1) 0.48; 0.46; 38.56; 2) 0.54 ;0.58; 0.73):

1) Консенсус-прогноз = 0.48 * Прогноз EMMSP + 0.46 * Прогноз ARIMAX – 38.56

2) Консенсус-прогноз = 0.54 * Прогноз EMMSP + 0.58 * Прогноз ANN – 0.73

Возможно я что-то не уловил. Спасибо!

Аватар пользователя chuchueva
Ирина Чучуева

Виктор, здравствуйте!

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

Консенсус-прогноз = 0.5 * Прогноз №1 + 0.5 * Прогноз №2.

Аватар пользователя Виктор
Виктор Виктор

Спасибо большое за Вашу оперативность! Ваши работы очень интересны и занимательны, чувствуется как много времени и усилий Вы посвятили!

Аватар пользователя chuchueva
Ирина Чучуева

Пожалуйста, мне очень приятна ваша оценка :-)

Аватар пользователя Vera_Vera
Вера Вера

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

Аватар пользователя chuchueva
Ирина Чучуева

1) Коэффициенты я получала методом наименьших квадратов. 2) Что значит, какая модель оставлялась? Оставлялись обе модели.

Аватар пользователя Vera_Vera
Вера Вера

Спасибо, все поняла! Вопрос про модель - немного запуталась, разобралась.