Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 481

 
Maxim Dmitrievsky:

приращениям можно дать вероятностную оценку принадлежности к классу бай\селл


ну упирайся дальше без "осмысления"

 
Олег avtomat:

ну упирайся дальше без "осмысления"


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

 
Maxim Dmitrievsky:

Максим, я вижу твою ситуацию так:

Цель:

а) получить вероятность направления движения;

б) получить оценку силы движения.

Варианты решения:
1) Использовать один выход [0,1], либо [-1,1]. Либо два выхода [[0,1],[0,1]].

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

Плюс: Удобность и простота настройки модели сети.

Минус: Нормализация будет неоднородна на всей таймсерии, за счет различных амплитуд изменения цен.

2) Использовать двумерную классификацию выход [0,1]+[0,1], либо [-1,1]+[-1,1]. Либо три/четыре выхода [[0,1],[0,1]+[0,1]], либо [[0,1],[0,1]+[0,1],[0,1]]. Одна размерность - вероятность направления движения, вторая размерность - вероятность силы движения.

Плюс: Лучшая наглядность результата.

Минус: Сложность настройки модели нейросети на "деревянных" фреймворках.

3) Вариант два с разделением модели сети на две. Одна модель учится предсказывать направление, вторая - предсказывать силу движения.

Плюс: Сохраняем наглядность; Легкость применения нейросетей.

Минус: Возможно незначительное увеличение скорости расчетов; Больше кода.

 
Aleksey Terentev:

Максим, я вижу твою ситуацию так:

Цель:

а) получить вероятность направления движения;

б) получить оценку силы движения.

Варианты решения:
1) Использовать один выход [0,1], либо [-1,1]. Либо два выхода [[0,1],[0,1]].

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

Плюс: Удобность и простота настройки модели сети.

Минус: Нормализация будет неоднородна на всей таймсерии, за счет различных амплитуд изменения цен.

То есть все-таки величина вероятности отнесения к одному из 2-х классов будет соответствовать силе сигнала, если изначально я буду заполнять выходы с учетом силы сигнала (допустим, просто подам нормализованные приращения в диапазоне 0-1, на выходе получим чем выше вероятность отнесения к тому или иному классу тем больше ожидаемое приращение?

Или все-же это так не работает, и мы получим просто вероятность отнесения к классу но размер приращения на выходе уже потеряется :)

 
Vizard_:

Если мы построим просто линию регрессии.... т.е.... будет сильнее чем...
А если мы берем нейронную сеть с нелинейной классификацией...


Одной линейкой их померь и узнаешь. Например ныне модной - Logloss(В R - library(MLmetrics))

не лучше ли создать больше классов

Как удобней так и делай...



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

 
Maxim Dmitrievsky:

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

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

с уважением.
 
Maxim Dmitrievsky:

То есть все-таки величина вероятности отнесения к одному из 2-х классов будет соответствовать силе сигнала, если изначально я буду заполнять выходы с учетом силы сигнала (допустим, просто подам нормализованные приращения в диапазоне 0-1, на выходе получим чем выше вероятность отнесения к тому или иному классу тем больше ожидаемое приращение?

Или все-же это так не работает, и мы получим просто вероятность отнесения к классу но размер приращения на выходе уже потеряется :)

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


Я бы при таком подходе поступил так, разделили бы сигналы на два класса бай/сел по [0,1], либо sinusoid/tanh выход [-1,1].

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

с уважением.

Нет, я же уже привел скрин, приращения имеют стационарный вид и симметричны по обе стороны от ноля, поэтому вероятности будут +- одинаковые


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

Ну а если нормализовать данные по всем данным сразу, сигналы будут гораздо слабее.
 
Aleksey Terentev:

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


Я бы при таком подходе поступил так, разделили бы сигналы на два класса бай/сел по [0,1], либо sinusoid/tanh выход [-1,1].


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