ПОСТРОЕНИЕ НЕЙРОСЕТЕВЫХ ПРОГНОЗОВ ЦЕН НА НЕФТЬ И ПРИРОДНЫЙ ГАЗ

Процесс формирования нейросетевого прогноза цены на нефть или природный газ начинается с выбора (комбинирования сочетаний) влияющих факторов (в зависимости от многофакторности прогноза) из ранее отобранных для нейросетевого прогнозирования, а также выбора метода или методов их последующей обработки: рассмотрение ряда частных или разностей; логарифмирование исходного ряда; вычитание регрессионной модели (тренда, регрессии, авторегрессии). При этом в любом случае обязательно проводится предварительная обработка временных рядов (смещение среднего и нормализация) — техническая обработка данных, необходимая для корректности обучения нейронной сети. После построения прогнозов необходимо выполнить обратные преобразования для спрогнозированных временных рядов. Как правило, ввиду отсутствия прогнозных данных по влияющим факторам многофакторное прогнозирование проводится для варианта параллельного прогнозирования.

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

Далее будут предложены различные методики сравнения и оценки качества нейронных сетей (в том числе в зависимости от входных данных) и корректности (адекватности) получаемых прогнозов.

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

Результаты спектрального анализа позволяют ограничить сверху глубину входной ретроспективы (размера скользящего окна) исходных данных для нейронной сети. Конкретное значение глубины входной ретроспективы с учетом многофакторности прогноза определяет структуру и размер входного слоя нейросети. Это позволяет сформировать обучающее множество на основании общей глубины рассматриваемых ретроспективных данных, где для каждого обучающего примера известными входными значениями нейросети будут значения из некоторого скользящего окна (с учетом многофакторности прогноза), а ожидаемыми выходными — значения прогнозируемых рядов в следующий момент времени. При этом скользящее окно пробегает всю исследуемую ретроспективу.

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

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

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

Для обучения нейронных сетей предлагается использовать следующие алгоритмы: LM, LBFGS и LBFGS с ранним остановом (LBFGSES). Суть алгоритма LBFGSES заключается в следующем:

  • • из обучающего множества случайным образом выделяется вали- дационное подмножество (обычно порядка 20% от общего количества обучающих примеров);
  • • обучение нейронной сети проводится по алгоритму LBFGS на оставшемся обучающем множестве;
  • • валидационное подмножество используется для оценки качества обучения нейронной сети, критерием останова алгоритма обучения в данном случае является начало роста (явно выраженное начало роста) суммарной ошибки нейросети на этом подмножестве.

Ранний останов используется для предотвращения переобучения нейросетевой модели. У каждого из данных алгоритмов есть свои преимущества и недостатки, и в результате получаются по-разному обученные нейронные сети, а следовательно, разные прогнозы. Поэтому для полноты анализа нейросетевых моделей необходимо рассмотреть применение всех предложенных алгоритмов. При этом в зависимости от алгоритма могут изменяться критерии останова — величины минимального шага обучения и максимального количества итераций. Более того, в автоматическом режиме для каждого конкретного алгоритма обучения нейронная сеть должна обучаться заново несколько раз (порядка 5), при этом каждый раз начальные значения весовых коэффициентов нейросети инициализируются заново случайным образом. По результатам таких рестартов обучений выбирается лучшая сеть, которая будет анализироваться далее.

Невозможно определить заранее, насколько успешно нейронная сеть способна выявлять скрытые закономерности и обобщать поведение прогнозируемых временных рядов. Таким образом, для полноценного анализа и построения качественной нейросетевой модели прогнозирования цен на нефть и природный газ необходимо протестировать различные варианты многофакторного прогнозирования (включая случай однофактороного), обработки исходных данных, глубины входной ретроспективы и количества нейронов на скрытых слоях, применяемых алгоритмов обучения. Перебор значений размера скользящего окна и количества нейронов в сети является слишком многовариантной задачей, и поэтому его следует проводить в автоматическом режиме, включающем последующее сравнение и оценку качества каждой обученной нейронной сети (описание данного перебора см. ниже). Тем самым в дальнейшем сужается область перебора параметров, формирующих нейросетевую модель. Отметим, что здесь следует придерживаться принципа минимализма для нейронных сетей: при прочих равных, предпочтение отдается нейронной сети с меньшим числом нейронов. В каждом тестируемом варианте нейросетевой модели необходимо оценить качество нейронной сети и проанализировать получаемый прогноз.

Метод кросс-валидации (скользящий контроль) используется для предварительной эмпирической оценки способности нейронной сети данной структуры к обобщению (оценка качества нейросети). Существует несколько вариантов методов кросс-валидации. Для рассматриваемых задач предлагается использовать так называемый контроль по к блокам.

  • 1. Множество всех обучающих примеров разбивается на к равных по размеру случайных подмножеств.
  • 2. Обучение производится на - 1) -й части, а оставшаяся 1 часть используется для тестирования оценки отклонения вычисляемых нейронной сетью значений от ожидаемых на тестовом множестве.
  • 3. Шаг 2 повторяется к раз, по разу для каждого подмножества. По окончании вычисляется средняя оценка по к шагам.

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

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

  • • значительный рост вариативности результатов по мере увеличения периода прогнозирования;
  • • нерепрезентативность глобального поведения общего тренда для прогнозных значений;
  • • существенная волатильность или, наоборот, избыточная гладкость прогнозных значений, нехарактерная для ретроспективных данных.

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

Автоматизированный процесс определения структуры нейронной сети и финальной стадии построения нейросетевой модели для прогнозирования динамики временного ряда представляется в виде трех следующих этапов.

  • • Вычисляются оценки ошибок обобщения нейросети для широкого класса структур сети (глубина скользящего окна и количество нейронов в скрытых слоях, включая отсутствие второго скрытого слоя). При этом используется метод кросс-валидации и алгоритм LBFGS с критерием останова по длине шага изменения весовых коэффициентов 5, (положим 8j =0,01).
  • • По результатам первого этапа выбирается более узкий класс нейронных сетей, для которого продолжается кросс-валидационная оценка ошибок обобщения. Для алгоритма обучения LBFGS используется аналогичный критерий останова с уменьшенным раз-

g

мером минимального шага 82 (82 = —)?

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

При дальнейшем использовании построенной нейросетевой модели прогнозирования цен на нефть или природный газ следует учитывать следующие особенности. Как уже отмечалось ранее, дообучение полученных нейронных сетей с использованием статистики за новый период не рекомендуется. Если дообучение будет производиться только на новых данных, то старые будут «забываться». Если при дообучении использовать полный объем данных, то контролировать баланс адаптации к новым и старым данным практически невозможно: при малом количестве итераций обучения будет недообучение для новых данных, а при большом — переобучение для старых или даже для нейросети в целом. При этом при появлении статистики за новый период необязательно проводить весь процесс формирования нейросетевой модели заново. Зачастую приемлемый прогноз может быть получен за счет только обучения заново нейронной сети на полном объеме обновленных данных. Параметры нейросетевой модели (вид обработки исходных данных, структура нейросети, алгоритм обучения) при этом сохранятся.

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >