Есть ли закономерность в хаосе? Попробуем поискать! Машинное обучение на примере конкретной выборки. - страница 4

 
elibrarius #:

Переделка с алглибовского.
Сейчас побольше деревьев запустил в расчет. К утру думаю рассчитает новый вариант.

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

Может и правильно переделали, но нужно или параметры тюнить или сам алгоритм не тянет - ситуация не простая.

А почему не используете CatBoost - там обучение быстрей, особенно если есть видеокарта от nVideo?

 
elibrarius #:
В exam 9046 строк. У меня 9000. Разницы почти не будет.

У вас кривая намного лучше. Попробую еще покрутить с параметрами.

Лучше не стало. Примерно так же. 0.01400

Катбустом у вас лучше получается.

 
elibrarius #:

Лучше не стало. Примерно так же. 0.01400

Катбустом у вас лучше получается.

Так может им пользоваться?

Разметить целевую на 3 категории не пробовали?

 
Aleksey Vyazmikin #:

Так может им пользоваться?

Разметить целевую на 3 категории не пробовали?

Попробую 3 категории на днях... Ну я просто 2 модели обучаю, не мультикласс.
 
elibrarius #:
Попробую 3 категории на днях... Ну я просто 2 модели обучаю, не мультикласс.

Попробуйте.

Можете выборку сбросить свою, я так же попробую обучить.

 

Попробую обучать и направление. Как переделать целевую?
Последние 4 столбца


при целевой 1 торговать
направление  1, то если спрогнозируется класс  1, то получим прибыль по 1 столбцу фин. результата, а если спрогнозируется класс -1, то получим убыток по 2 столбцу фин результата.
направление -1, то если спрогнозируется класс -1, то получим прибыль по 2 столбцу фин. результата, а если спрогнозируется класс 1, то получим убыток по 1 столбцу фин результата.

при целевой 0 не торговать

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

Или все же будет так же как и в 1 случае
направление  1, то если спрогнозируется класс  1, то получим прибыль по 1 столбцу фин. результата, а если спрогнозируется класс -1, то получим убыток по 2 столбцу фин результата.
направление -1, то если спрогнозируется класс -1, то получим прибыль по 2 столбцу фин. результата, а если спрогнозируется класс 1, то получим убыток по 1 столбцу фин результата.

Какой вариант верный?
Или можете показать, как формируется целевая прямо в коде через if(){}else{}?

 
elibrarius #:

Попробую обучать и направление. Как переделать целевую?
Последние 4 столбца


при целевой 1 торговать
направление  1, то если спрогнозируется класс  1, то получим прибыль по 1 столбцу фин. результата, а если спрогнозируется класс -1, то получим убыток по 2 столбцу фин результата.
направление -1, то если спрогнозируется класс -1, то получим прибыль по 2 столбцу фин. результата, а если спрогнозируется класс 1, то получим убыток по 1 столбцу фин результата.

при целевой 0 не торговать

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


Или все же будет так же как и в 1 случае
направление  1, то если спрогнозируется класс  1, то получим прибыль по 1 столбцу фин. результата, а если спрогнозируется класс -1, то получим убыток по 2 столбцу фин результата.
направление -1, то если спрогнозируется класс -1, то получим прибыль по 2 столбцу фин. результата, а если спрогнозируется класс 1, то получим убыток по 1 столбцу фин результата.

Какой вариант верный?
Или можете показать, как формируется целевая прямо в коде через if(){}else{}?

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

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

Что делал я - делил выборку на две по направлению входа - это увеличило число моделей прошедших порог в 3000 пунктов.

Добавлю, что если целевая "1", а классифицировали, как "-1", то видимо убытка не будет, так как в реальности такой сигнал бы не прошёл.
 
Aleksey Vyazmikin #:

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

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

Что делал я - делил выборку на две по направлению входа - это увеличило число моделей прошедших порог в 3000 пунктов.

Добавлю, что если целевая "1", а классифицировали, как "-1", то видимо убытка не будет, так как в реальности такой сигнал бы не прошёл.
Как то все запутанно. Пожалуй на проведенных тестах остановлюсь.
 
elibrarius #:
Как то все запутанно. Пожалуй на проведенных тестах остановлюсь.

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

 
Aleksey Vyazmikin #:

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

Нужен точный фин. результат от ошибок. Без них линия баланса недостоверна.
Фин. рез. если выберем 0 (можно не включать, всегда будет 0), если 1, если -1. Всегда, даже если размечаете, как 0 класс не торговать. Модель будет ошибаться и надо знать цену ошибки.
Причина обращения: