четверг, 28 июня 2007 г.

Варьируем параметры верхнего уровня (глубина, провежуточные эпохи)

Эксперимент MM_009.0.2

Теперь будем генерировать по случайному равномерному закону количество промежуточных эпох для генетики из диаппазона от 3 до 20 и глубину обучения из диаппазона от 100 до 400. Результаты ниже.

Первый эксперимент для временного интервала от 900 до 1100.







Второй эксперимент для интервала от 1200 до 1400.






Как видно из результатов, в первом эксперименте много моделей с положительным отрывом от рынка. Даже есть результат в 57% отрыва за 200 дней.
Во втором эксперименте для другого диаппазона мало хороших результатов, но есть один в 19% отрыва от рынка за 200 дней.
Это хорошие результаты. Значит модель имеет место быть. Можно строить верхнюю генетику с подбором промежуточных эпох и глубиной обучения и смотреть результат на тэсте.
К сожалению расчет достаточно длителен. Необходимо попробовать его ускорить созданием скомпилированных модулей. Так и сделаем в следующем эксперименте.

среда, 27 июня 2007 г.

Пошаговое прогнозирование с передачей популяции

Эксперимент MM_009.0.1

Теперь будем передавать обученную популяцию от шага к шагу.

На каждом шаге 10 итераций при популяции в 20 элементов.



На каждом шаге 10 итераций при популяции в 50 элементов.


Теперь проведем более глубокое исследование истории изменений параметров. Кроме того на первом шаге учим 200 эпох, на оставшихся по 5 эпох. Популяция в 20 элементов. Результаты ниже.












Здесь результат сравнения доходности игры и исходного ряда на обучающих выборках.


вторник, 26 июня 2007 г.

Пошаговое прогнозирование

Эксперимент MM_009.0

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

Оптимизация проходит на 50 эпохах. Весь расчет длился 40 минут.



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

Рассматриваем окрестности диаппазона оптимизации

Эксперимент MM_008.5

Теперь посмотрим, как будет вести себя модель за границей диаппазона оптимизации.
Результаты ниже.






























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

понедельник, 25 июня 2007 г.

Оптимизируем по доходности с подбором сглаживаний

Эксперимент MM_008.4

Теперь будем подбирать и коэффициенты сглажыивания для выхода и для входов в рамках алгоритма оптимизации. Результаты представлены ниже.



Доходность выше.







В добавок покажем коэффициенты сглаживаний выбранные для входов.



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

Выбор типа оптимизации.

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

С этого момента переходим к оптимизации по доходности.

Подбираем в генетике параметры с ограничениями (оптимизация по среднеквадатическому оклонению)

Эксперимент MM_008.1.1

Переделываем старый эксперимент с оптимизацией по среднеквадратическому отклоенению с ограничением.








Оптимизируем по знакам с ограничениями

Эксперимент MM_008.2.1

Тепрь снова пересчитываем эксперимент по оптимизации по знакам с ограничением.





Оптимизируем по доходности с ограничениями

Эксперимент MM_008.3.1

В связи с возникновением резонанса вводим ограничение на коэффициенты. Теперь не дадим им выскакивать за диаппазоны от 0 до 1 для масс, жескости, вязкости, и от -1 до +1 для усилений внешних сигналов.

Делаем просто при помощи функции logsig.
Результаты ниже.

Сигнал без резонанса.



Приемлемая доходность.

Усиление в диаппазоне.

Оптимизируем по доходности

Эксперимент MM_008.3

Теперь оптимизируем среднюю дневную доходность. Результаты ниже.

В виду отрицательного значения вязкости среды возникает резонанс.



Доходность положительная.


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

Оптимизируем по знакам

Эксперимент MM_008.2

Теперь оптимизируем не среднеквадратическое отклонение, а угадывание знака отклонения. Результыты ниже.



Очень интересный результат. Масса маленького слала отрицательной. Знаков угадывает больше 70%.




Доходность стала положительной. На 200 днях 60% прироста портфеля. Но это пока регрессия.



Коэффициенты усиления сигналов.

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

Подбираем в генетике параметры

Эксперимент MM_008.1_MOD_ELEM_MM_ALL_INSTR

Оптимизируем генетикой. Результаты ниже.


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





Доходность модели стала выше, но не на много. Все равно в отрицательной плоскости.





Для информации представлены коэффициенты передачи сигналов от различных внешних источников.