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

 
Maxim Dmitrievsky #:
Что такое метод из коробки

Вот этот функционал.

Maxim Dmitrievsky #:
Просто как бы нет других вариантов, их просто нет. Могут быть варианты с другими нейросетями, но принцип тот же самый - разделяй и властвуй.

Есть разные способы разделения/отделения данных и тут в ветке их пробовали ранее - существенный результат они не показывали, поэтому их "забыли".

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

 
Aleksey Vyazmikin #:

Вот этот функционал.

Есть разные способы разделения/отделения данных и тут в ветке их пробовали ранее - существенный результат они не показывали, поэтому их "забыли".

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

Нет, не юзал. Посмотрю вечером что такое.
Эти способы моделезависимые. Данные сами по себе не разделяются и не отделяются. Не знаю как объяснить. Один раз попытался - нарвался опять на оптимизаторщиков. В книжках короче написано.
А то здесь налево пойдёшь - коня потеряешь. Направо пойдешь - двухглавый дракон.
 
Aleksey Vyazmikin #:

Да не, будет то ж самое относительное место - число разделителей(сплитов) - фиксированное для всех.

У вас полно бинарных предикторов с 0 и 1. Они на 32 не разделятся. Но если нормировать, то может и получится что-то с Uniform квантованием. Если неравномерные кванты, то просто по номерам будут искажены все расстояния, надо абс значения после нормировки.

Aleksey Vyazmikin #:Методов может быть много разных. Мне интересен вариант обработки до построения модели - как мне кажется, он даёт меньше вариантов комбинаций построения, что снижает ошибку при конечном выводе - успешно прошло обучение окончательной модели или нет, в целом.

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

Aleksey Vyazmikin #:

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

Не важно дерево, лес или буст. Если прогноз модели 50% значит там будет в прогнозе 50% 0 и 50% 1.

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

И все это сделать без множественного тестирования на оос. Но внутри подвыборки нет никаких запретов.
 
Forester #:

У вас полно бинарных предикторов с 0 и 1. Они на 32 не разделятся. Но если нормировать, то может и получится что-то с Uniform квантованием. Если неравномерные кванты, то просто по номерам будут искажены все расстояния, надо абс значения после нормировки.


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

В целом, видимо, надо уменьшать размерность. Но, тогда уже не совсем то, что задумывалось авторами получится. Пока далёк от реализации.

Forester #:

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

Там другая концепция - данные делятся на две части - типа "смогу спрогнозировать" и "не смогу спрогнозировать" - за это отвечает одна модель. И когда новые данные поступают, то происходит оценка - давать прогноз или нет. Таким образом прогнозы даются только на тех данных, которые были при обучении "легко" разделимы и плотно сгруппированы, т.е. обладали признаком достоверности.

Forester #:
Не важно дерево, лес или буст. Если прогноз модели 50% значит там будет в прогнозе 50% 0 и 50% 1.

Не в этом дело, совсем. Лес и бустинг имеют вынужденность в построении дерева, т.е. нет алгоритма отброса, если дерево паршивое получилось. В любом случае дереву даются веса. Паршивым оно может быть из-за избытка рандома в алгоритме, как при отборе признаков, так и при отборе примеров (подвыборок).

 
Maxim Dmitrievsky #:
Нет, не юзал. Посмотрю вечером что такое.
Эти способы моделезависимые. Данные сами по себе не разделяются и не отделяются. Не знаю как объяснить. Один раз попытался - нарвался опять на оптимизаторщиков. В книжках короче написано.
А то здесь налево пойдёшь - коня потеряешь. Направо пойдешь - двухглавый дракон.

Всё верно - это способ выделить примеры, ухудшающие обучение - это в теории.

Идея в том, что бы обучить моделей 100 и посмотреть, какие примеры в среднем "мешают" достоверной классификации, а потом попробовать их детектировать другой моделью.

 

Вот взял модельку, и посмотрел, что там по листьям получается. Модель не сбалансированная единичек всего 12,2%.  17к листьев.

Сделал разметку листьев на классы - если на выборке откликов с целевой "1" оказалось больше начального значения - 12,2%, то класс "1", иначе "0". Идея класса тут в наличии полезной информации для улучшения классификации.

На гистограмме видим значения в листьях модели (X) и их % в модели (Y) - без разбивки на классы.

0

А тут то же самое, но класс только "0".


Класс только "1".

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

Теперь можно посмотреть распределение по проценту как раз (по точности классификации) - отдельно для листов с "1" и с "0".


Гистограмма для "0" - огромное число листьев с точностью возле "100%".


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

Взглянув не Recall становится понятно, что это листья все с малым числом активаций - менее 5% от своего класса.


Recall для класса "0"


Recall для класса "1"

Далее можно посмотреть на зависимость веса в листе от точности классификации им - так же отдельно для каждого класса.

00

Для целевой "0"


Для целевой "1".

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

Может это безобразие надо убирать?

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

000

Для целевой "0".


Для целевой "1".

Интересно, какой процент листьев на новой выборке (не train) "поменяет" свой класс?

 

Ну и в дополнении - классика - взаимозависимость полноты и точности.

0

Класс "0".


Класс "1".

В общем думаю, как бы это перевзвесить...

 

А так вот выглядит моделька я разрезе вероятностей

train

На выборке train - аж на 35% уже прибыль давать начинает - как в сказке!


На выборке test - на диапазоне от 0,2 до 0,25 теряем жирный кусок прибыли - точки максимумов классов смешались


На выборке exam - пока ещё зарабатывает, но уже корёжет модельку.

 
Aleksey Vyazmikin #:

Интересно, какой процент листьев на новой выборке (не train) "поменяет" свой класс?

Да, интересно..

________________________

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


Причина обращения: