Смекни!
smekni.com

Применение нейросетевых моделей для определения динамики цен на золото (стр. 3 из 4)

- Радиально-базисные функции

Искусственные нейронные сети, использующие в качестве активационных функций радиально-базисные (такие сети сокращённо называются RBF-сетями). Общий вид радиально-базисной функции:

например,

где x — вектор входных сигналов нейрона,

σ — ширина окна функции,

φ(y) — убывающая функция (чаще всего, равная нулю вне некоторого отрезка).

Радиально-базисная сеть характеризуется тремя особенностями:

1. Единственный скрытый слой

2. Только нейроны скрытого слоя имеют нелинейную активационную функцию

3. Синаптические веса связей входного и скрытого слоев равны единице.

· Самоорганизующиеся карты

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

· Известные типы сетей

- Персептрон Розенблатта;

- Многослойный перцептрон;

- Сеть Джордана;

- Сеть Элмана;

- Сеть Хэмминга;

- Сеть Ворда;

- Сеть Хопфилда;

- Сеть Кохонена;

- Нейронный газ;

- Когнитрон;

- Неокогнитрон;

- Хаотическая нейронная сеть;

- Осцилляторная нейронная сеть;

- Сеть встречного распространения;

- Сеть радиальных базисных функций (RBF-сеть);

- Сеть обобщенной регрессии;

- Вероятностная сеть;

- Сиамская нейронная сеть;

- Сети адаптивного резонанса.

- Свёрточная нейронная сеть (convolutional neural network). [4]

3 Применение нейросети в задачах прогнозирования

3.1 Нейросети и инвестиционная деятельность

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

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

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

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

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

3.2 Применение нейронных сетей в задачах прогнозирования

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

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

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

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

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

3.3 Входные данные

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

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

Большой проблемой при определении состава входов является определение глубины «погружения» - размера временного окна, данные из которого подаются на вход нейросети. Возникает вопрос, сколько баров истории подавать на вход, чтобы качественно обучить нейросеть? Эта величина определяется только из собственного опыта и должна быть адекватной прогнозируемому периоду. Например, при дневных прогнозах разумная глубина погружения находится в пределах 5-20 дней.

Необходимо отметить, что многие популярные нейропакеты имеют функцию определения чувствительности по входам, которая рекомендуется разработчиками пакетов как универсальный способ отсеивания «лишних» входов. Хотя эта функция и является полезной при определении состава входов, ее автоматическое использование может принести больше вреда, чем пользы. Это обусловлено тем, что проблема определения чувствительности по входам для многослойных нейронных сетей пока математически не решена, и решается различными эмпирическими способами и алгоритмами. Поэтому рекомендуется пользоваться этой функцией с осторожностью и результаты проверять другими косвенными методами, например, статистическими. [1]

3.4 Архитектура нейросети и параметры обучения

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

- максимальное число нейронов 30-40;

- максимальное число скрытых слоев 3-4;

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

Обычно считают, что большее число нейронов обеспечивает более качественное прогнозирование, и это является типичной ошибкой. Большой размер нейросети приводит к затруднению обучения и попаданию сети в локальные, а не в глобальные минимумы функции ошибки. Также уменьшаются обобщающие свойства сети, сеть начинает просто запоминать обучающую выборку. Такая сеть будет отлично «прогнозировать» на обучающей выборке, но на новых данных прогноз будет плохим. Чтобы избежать эффекта запоминания, объем данных должен быть достаточно большим. Например, для прогнозирования российских акций на день вперед минимальный рекомендуемый размер выборки - около 200-250 дней. [5]

4 Применение на практике нейросетевого моделирования для определения цены на золото в будущем периоде

Для рассмотрения на практике нейросетевого моделирования были взяты данные с сайта Центрального банка РФ [2] о котировках валют и стоимостях драгоценных металлов за период со 2 июля 2008 года по 16 декабря 2010 года.

В качестве входных переменных нейросети предполагаются:

1. Число, на которое хотим знать изменение стоимости грамма золота;

2. Месяц, который поможет учесть сезонность изменений цен на золото;

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

4. Изменения курсов доллара и евро за период, предшествующий тому, на который хотим узнать изменение стоимости золота.