назад Оглавление вперед


[Старт] [1] [2] [3] [4] [5] [6] [7] [8] [9] [ 10 ] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42]


10

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

В целом, можно сказать, что предварительная обработка через формирование совокупности переменньгх и проверку их значимости существенно улучшает качество модели. Если никаких теоретических методов проверки в распоряжении нет, переменные можно выбирать методом проб и ошибок, или с помощью формальньгх методов типа генетических алгоритмов [69], [70].

Очистка и преобразование базы данных

Стоит начать с того, чтобы изобразить распределение переменной с помощью гистограммы или же рассчитать для него характеристики асимметрии (симметричность распределения) и эксцесса (весомости «хвостов» распределения). В результате будет получена информация о том, насколько распределение данных близко к нормальному. Многие методы моделирования, в том числе, - нейронные сети, дают лучшие результаты на нормализованньгх данньгх. Далее, с помощью специальньгх статистических тестов, например, на расстояние Махаланобиса, можно выявить многомерные выбросы, с которыми затем нужно разобраться на предмет достоверности соответствующих данньгх. Эти выбросы могут порождаться ошибочными данными или крайними значениями, вследствие чего структура связей между переменными может (а может и не) нарушаться (см. [19]). В некоторых приложениях выбросы могут нести положительную информацию, и их не следует автоматически отбрасывать.

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

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

Предварительная обработка данных

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

Сбор данных

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



Для того чтобы улучшить информационную структуру данных, могут оказаться полезными определенные комбинации перемен-нь1Х- произведения, частные и т.д. Например, когда вы пытаетесь предсказать изменения цен акций по данным о позициях на рынке опционов, отношение числа опционов пут (put options, т.е. опционов на продажу) к числу опционов колл (call options, т.е. опционов на покупку) более информативно, чем оба этих показателя в отдельности. К тому же, с помощью таких промежуточных комбинаций часто можно получить более простую модель, что особенно важно, когда число степеней свободы ограниченно.

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

Еще одна важная проблема (которая одновременно является основным преимуществом нейронно-сетевых методов) - способность работать с данными качественного характера. Отношения эквивалентности или порядка нужно суметь записать для входа (или выхода) сети. Это можно сделать, вводя искусственные переменные, принимающие значения 1 или 0. Одна прикладная задача с качественными данными рассмотрена в гл. 8.

Построение модели

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

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

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

Оптимизация обучения

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

Статическое и адаптивное обучение

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

Изменчивый характер финансовых рынков плохо согласуется с долгосрочными моделями устойчивости. Под действием краткосрочных «модных» тенденций или паники на бирже может существенно измениться реакция людей на те или иные показатели рынка. Чтобы справиться с этой трудностью, были предложены так называемые адаптивные нейронные сети, в которых веса модели непрерывно уточняются с помощью процедуры обучения на все новых временных промежутках. Пример такой модели, учитывающей вновь поступающую информацию, показан на рис. 2.66. Варфиз и Версино [271], [272] применили эту идею для предсказания изменений ежемесячных индексов промышленных и энергетических компаний. Результаты совпали с тем, что получается по модели Бокса-Дженкинса. Де Гроот [84] занимался задачей прогноза обменных



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

Отбор и диагностика модели

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

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

1 1

fi V

1 1

время

1

1

1 1

время

1

L: обучающее множество

1

тестовое множество

1 1

V: подтверждающее множество

Исходное обучающее множество

Шаг 1 Шаг 2 ШагЗ Шаг 4

время

Рис. 2.6. Различные статические методы обучения (а) и обучение по меняющимся промежуткам времени (6)

Оценка качества модели обычно основывается на критерии согласия типа средней квадратичной ошибки (MSE) или квадратного корня из нее (RMSE). Эти критерии показывают, насколько предсказанные значения оказались близки к обучающему, подтверждающему или тестовому множества.м. Для рядов с большим разбросо.м Лапедес [171] предложил критерий средней отноттелъной вариации:

arv(S)=- = =

где S- временной ряд, е, - разность (истинное значение минус X,) в мо.мент t, (xf) - оценка для среднего значения ряда, N- число данных в ряде. Последующая нормализация с помощью оценки для вариации позволяет проводить более надежные сравнения для различных приложений.

Используя предыдущее значение х, j целевой переменной, можно оценить способность модели предсказывать на один шаг вперед. Подставляя предсказанные значения на место исти1шых, получим метод предсказания на к шагов вперед. Если через несколько шагов модель начинает отклоняться от настоящей траектории, это значит, что в ней присходит накопление и рост ошибки (см. [290], [275]).

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

В линейно.м анализе временных рядов можно получить несмещенную оценку способности к обобщению, исследуя результаты работы на обучающем множестве (MSE), число свободных параметров (W) и объем обучающего множества (N). Оценки такого типа называются информационными критериями (1С) и включают в себя компоненту, соответствующую критерию согласия, и компоненту штрафа, которая учитывает сложность модели. Барропом [30] были предложены следующие информационные критерии: нормализованный 1С Акаике (NAIC), нормализованный байесовский 1С (NBIC) и итоговая ошибка прогноза (FPE):

NAIC = ln (MSE)-

NBIC = In (MSE)-b

FPE = MSE

l-bW/Л/

In TV,

Было показано [198], что FPE представляет собой несмещенную оценку способности к обобщению для нелинейных моделей, в частности, - для нейро1П1Ьгх сетей. К сожалению, при это.м предполагается, что в нашем распоряжении имеется бесконечное число на-

[Старт] [1] [2] [3] [4] [5] [6] [7] [8] [9] [ 10 ] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42]