Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3332
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В примере 2 предиктора, т.е. изменяем расстояние в 2-х мерном пространстве (рассчитываем гипотенузу). Если будет 5000 признаков, значит будете измерять расстояние в 5000-мерном пространстве (как измерять - см код k-means в алглибе, там как раз это основная задача - измерять расстояния, возьмите его себе за основу).
Похоже, что корень из суммы квадратов катетов во всех пространствах https://wiki.loginom.ru/articles/euclid-distance.html
Теперь наклёвывается понимание - спасибо - буду думать.
Если будете реально делать - не забудьте отнормировать предикторы, чтобы например объемы 1...100000, не проглотили в расчетах дельты цен 0,00001...0,01000.
Верно, надо нормировать. Однако, а что если их отквантовать и метрику чисто по индексам считать? :) И чего то мне не нравится идея через катеты считать - искусственно как то оно.
Хотя, правильным было бы воспроизвести предложенный алгоритм, а потом думать о его улучшении.
Как это детектировать? Вот в чем вопрос. Особенно на рыночных данных, где не будет такого четкого разделения зашумленной области, как в примере. Зашумлено будет всё, процентов на 90-99.
Возможно проще воспользоваться готовыми пакетами по удалению шумных строк, может там и детектор есть...
Вообще, Вы смотрели видео? Там ближе к концу как раз говорится о том, что строится модель, которая как раз и детектит к какой области относятся данные, и если к некучкующимся, по данном выборки на которой проходило обучение, то игнорируется сигнал, как я понял. Понятно, что у нас данные намного хуже, чем там обсуждались, но если это будет 20%-30% целевых "1", то я уже буду рад.
Другой вариант - обучить модель детектировать эти исключённые примеры, сделав разметку по этим строкам в общей выборке.
Верно, надо нормировать. Однако, а что если их отквантовать и метрику чисто по индексам считать? :) И чего то мне не нравится идея через катеты считать - искусственно как то оно.
Одна фича отквантовалась к 2х квантам другая к 32. Не пойдет.
Вообще, Вы смотрели видео? Там ближе к концу как раз говорится о том, что строится модель, которая как раз и детектит к какой области относятся данные, и если к некучкующимся, по данном выборки на которой проходило обучение, то игнорируется сигнал, как я понял. Понятно, что у нас данные намного хуже, чем там обсуждались, но если это будет 20%-30% целевых "1", то я уже буду рад.
Другой вариант - обучить модель детектировать эти исключённые примеры, сделав разметку по этим строкам в общей выборке.
Не смотрел.
Детектировать исключенные примеры можно без всех этих расчетов. Уже говорил, - просто исключаете листья у которых вероятность одного из классов около 50%.
Одна фича отквантовалась к 2х квантам другая к 32. Не пойдет.
Да не, будет то ж самое относительное место - число разделителей(сплитов) - фиксированное для всех.
Детектировать исключенные примеры можно без всех этих расчетов. Уже говорил, - просто исключаете листья у которых вероятность одного из классов около 50%.
Методов может быть много разных. Мне интересен вариант обработки до построения модели - как мне кажется, он даёт меньше вариантов комбинаций построения, что снижает ошибку при конечном выводе - успешно прошло обучение окончательной модели или нет, в целом.
К тому же, если мы говорим о том, что можно чего либо "выкинуть", то надо упомянуть о каких моделях идёт речь. Если это лес, то считать процент листьев без "выбывших" или считать число активаций этих возле 50%, и при превышении их порога не реагировать на сигнал?
При бустинге там ещё веселей - неуверенные листья в сумме могут смещать вероятность в ту или иную сторону - всё хочу график построить, на котором видно будет как раздаются веса в зависимости от смещения вероятности, но всё откладываю. Три дня компьютер считает похожесть листьев модели - думаю об оптимизации алгоритма - слишком долго...
Если будет 5000 признаков
Ну, почему нет дела - думаю, что просто не распространён ещё питон среди трейдеров, что бы люди переходили в активное обсуждение.
Попробую попозже на своей выборке Ваш подход.
Пробовали метод из коробки от CatBoost?
Что такое метод из коробки
Вот этот функционал.
Есть разные способы разделения/отделения данных и тут в ветке их пробовали ранее - существенный результат они не показывали, поэтому их "забыли".
Есть байесовские сети - на первый взгляд они интересны как раз возможностью врстанавливать причинно-следственные связи.
Вот этот функционал.
Есть разные способы разделения/отделения данных и тут в ветке их пробовали ранее - существенный результат они не показывали, поэтому их "забыли".
Есть байесовские сети - на первый взгляд они интересны как раз возможностью врстанавливать причинно-следственные связи.
Да не, будет то ж самое относительное место - число разделителей(сплитов) - фиксированное для всех.
У вас полно бинарных предикторов с 0 и 1. Они на 32 не разделятся. Но если нормировать, то может и получится что-то с Uniform квантованием. Если неравномерные кванты, то просто по номерам будут искажены все расстояния, надо абс значения после нормировки.
Ошибка будет при прогнозе, если не сможете избавляться от шума, как при обучении.
При бустинге там ещё веселей - неуверенные листья в сумме могут смещать вероятность в ту или иную сторону - всё хочу график построить, на котором видно будет как раздаются веса в зависимости от смещения вероятности, но всё откладываю. Три дня компьютер считает похожесть листьев модели - думаю об оптимизации алгоритма - слишком долго...
Не важно дерево, лес или буст. Если прогноз модели 50% значит там будет в прогнозе 50% 0 и 50% 1.
У вас полно бинарных предикторов с 0 и 1. Они на 32 не разделятся. Но если нормировать, то может и получится что-то с Uniform квантованием. Если неравномерные кванты, то просто по номерам будут искажены все расстояния, надо абс значения после нормировки.
Да, с бинарными сложней. Но не понял идеи, как нормирование может тут помочь.
В целом, видимо, надо уменьшать размерность. Но, тогда уже не совсем то, что задумывалось авторами получится. Пока далёк от реализации.
Ошибка будет при прогнозе, если не сможете избавляться от шума, как при обучении.
Там другая концепция - данные делятся на две части - типа "смогу спрогнозировать" и "не смогу спрогнозировать" - за это отвечает одна модель. И когда новые данные поступают, то происходит оценка - давать прогноз или нет. Таким образом прогнозы даются только на тех данных, которые были при обучении "легко" разделимы и плотно сгруппированы, т.е. обладали признаком достоверности.
Не важно дерево, лес или буст. Если прогноз модели 50% значит там будет в прогнозе 50% 0 и 50% 1.
Не в этом дело, совсем. Лес и бустинг имеют вынужденность в построении дерева, т.е. нет алгоритма отброса, если дерево паршивое получилось. В любом случае дереву даются веса. Паршивым оно может быть из-за избытка рандома в алгоритме, как при отборе признаков, так и при отборе примеров (подвыборок).