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

Forester #:

В примере 2 предиктора, т.е. изменяем расстояние в 2-х мерном пространстве (рассчитываем гипотенузу). Если будет 5000 признаков, значит будете измерять расстояние в 5000-мерном пространстве (как измерять - см код k-means в алглибе, там как раз это основная задача - измерять расстояния, возьмите его себе за основу).
Похоже, что корень из суммы квадратов катетов во всех пространствах https://wiki.loginom.ru/articles/euclid-distance.html

Теперь наклёвывается понимание - спасибо - буду думать.

Forester #:

Если будете реально делать - не забудьте отнормировать предикторы, чтобы например объемы 1...100000, не проглотили в расчетах дельты цен 0,00001...0,01000.

Верно, надо нормировать. Однако, а что если их отквантовать и метрику чисто по индексам считать? :) И чего то мне не нравится идея через катеты считать - искусственно как то оно.

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

Forester #:

Как это детектировать? Вот в чем вопрос. Особенно на рыночных данных, где не будет такого четкого разделения зашумленной области, как в примере. Зашумлено будет всё, процентов на 90-99.

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

Вообще, Вы смотрели видео? Там ближе к концу как раз говорится о том, что строится модель, которая как раз и детектит к какой области относятся данные, и если к некучкующимся, по данном выборки на которой проходило обучение, то игнорируется сигнал, как я понял. Понятно, что у нас данные намного хуже, чем там обсуждались, но если это будет 20%-30% целевых "1", то я уже буду рад.

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

Aleksey Vyazmikin #:

Верно, надо нормировать. Однако, а что если их отквантовать и метрику чисто по индексам считать? :) И чего то мне не нравится идея через катеты считать - искусственно как то оно.

Одна фича отквантовалась к 2х квантам другая к 32. Не пойдет.

Aleksey Vyazmikin #:

Вообще, Вы смотрели видео? Там ближе к концу как раз говорится о том, что строится модель, которая как раз и детектит к какой области относятся данные, и если к некучкующимся, по данном выборки на которой проходило обучение, то игнорируется сигнал, как я понял. Понятно, что у нас данные намного хуже, чем там обсуждались, но если это будет 20%-30% целевых "1", то я уже буду рад.

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

Не смотрел.
Детектировать исключенные примеры можно без всех этих расчетов. Уже говорил, - просто исключаете листья у которых вероятность одного из классов около 50%.

Forester #:

Одна фича отквантовалась к 2х квантам другая к 32. Не пойдет.

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

Forester #:

Детектировать исключенные примеры можно без всех этих расчетов. Уже говорил, - просто исключаете листья у которых вероятность одного из классов около 50%.

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

Forester #:
Если будет 5000 признаков
При такой большой размерности метрические алгоритмы типа KNN имеют мало смысла. Грубо говоря, вся выборка оказывается на почти одинаковом расстоянии от любой точки и результат будет определяться небольшими случайными отклонениями расстояний.
[Удален]
Aleksey Vyazmikin #:

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

Пробовали метод из коробки от CatBoost?

Что такое метод из коробки
Питон необязателен. Кидал кучу литературы.
Ну и еще вангую, что все, кто еще не начал, еще какое-то время покапризничают, а потом придут к этой теме :) может через 10 лет, может через 100

Просто как бы нет других вариантов, их просто нет. Могут быть варианты с другими нейросетями, но принцип тот же самый - разделяй и властвуй.
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.

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