Оценки для RF получили, под капот заглянули, хотелось бы теперь и ручками все проверить-посмотреть. Тем более что косяк у RF есть, он единственную смысловую фичу ставил не в вершине дерева, а только второй а порой и третьей после случайно сгенерированной. То есть примерно половина событий сразу криво отсекалось.
Выгрузил в excell сгруппировал и получил примерно такое:
Названия строк |
Коли |
target |
1 |
40861 |
0,52 |
-1 |
355 |
0,53 |
Общий итог |
41216 |
0,52 |
А это, кто не понял-крах! Это как нейросетка которая в качестве прогноза завтрашней цены показывает последнюю цену из теста. Вот и здесь та же история-RF просто 40861 раз из 41216 (99% случаев) спрогнозировал 1, потому что единица в выборке встречалась в 52% случаях. То есть RF поступил как поц на рынке, который увидел что рынок в среднем чаще растет и решил постоянно ставить на рост, при том что у меня был зашита вполне конкретная зависимость.
Но горевать не будем, потому что насколько убого себя показал RF, настолько блестяще показал себя GradientBoostingClassifier:
Названия строк |
Коли |
target |
1 |
27818 |
0,53 |
-1 |
13398 |
0,50 |
Общий итог |
41216 |
0,52 |
Сразу видно что GradientBoosting тупо не ставит постоянно на единичку, он явно что то нащупал. С дополнительной разбивкой по дням недели:
Названия строк |
Коли |
target |
1 |
27818 |
0,53 |
1 |
4891 |
0,49 |
2 |
4947 |
0,50 |
3 |
4739 |
0,49 |
4 |
5017 |
0,51 |
5 |
8224 |
0,60 |
-1 |
13398 |
0,50 |
1 |
3363 |
0,51 |
2 |
3259 |
0,50 |
3 |
3406 |
0,50 |
4 |
3363 |
0,50 |
5 |
7 |
0,43 |
Общий итог |
41216 |
0,52 |
Видно что GradientBoosting четко отнес все пятницы к событиям 1 (8224 раза против 7), а все остальные дни недели оценил как 60 на 40 в пользу события 1. Верно было бы если он оценил 50 на 50, но по сравнению с идиотом RF это огромный прогресс. Если взять порог в >55%, то получится еще красивей:
Названия строк |
Коли |
1 |
7053 |
2 |
1 |
4 |
2 |
5 |
7050 |
Общий итог |
7053 |
То есть с таким порогом у нас точность прогноза составит 99,5% пр полноте 85,72%. То есть мы выловили 85,72% осмысленных событий, и при этом делая прогноз, были точны в 99,5% случаев. Можно констатировать что GradientBoosting без особых настроек выловил практически все. А вот RF запутался в 100 случайных фичах и делал наивные прогнозы. Думаю именно в этом причина того что RF, на реальных данных и с осмысленными фичами, показавший себя лучше GradientBoosting, при засланных казачках потерялся и не смог решить заданную ему головоломку. Если помочь RF, и уменьшить число рандомных фичей и использовать порог, то он оживает и показывает вразумительные результаты.
to be continued…
Врут все пациенты. (доктор Хауз).
Буду благодарен
Dmitriy Kiselev, так почему бы не спросить здесь, может кому еще интересно будет
Я пишу (пытаюсь) диплом на тему «Методы анализа исторических данные для прогнозирования временных рядов на фондовом рынке». Тема для меня очень сложная, но я пытаюсь, ибо интересно. Как и полагает, начал со структуры, выделил интересные методы и среди них самые сложные — нейросетки, ансамбли модулей на Python и аддитивные модели на Python. Если честно, то я пока не вдавался в подробности, так как начал пока с классических математических и эконометрических методов, но черт, очень хочу и эти, более сложные и на практике более полезные методы прогнозирования.
И тут я натыкаюсь в поисковике на Вас, смотрю на даты и понимаю, что у меня даже есть шанс получить фидбэк. У меня вопросов на самом деле много, но главный только один. Имеет ли смысл мне туда суваться? Это сэкономит огромное количество времени и сил, напрасно потраченных. Если про себя, то я практик, сам торгую уже 2 года, внутри дня. То есть я понимаю, что такое фонда и с чем это едят. И параллельно изучаю Python по Лутцу, но там успехи такие себе, это оказалось сложнее, чем я планировал.
Есть, черт, огромнейшее желание в этом всем разобраться, но реально ли в этом всем разобраться, скажем так за 3 месяца? Насколько должен быть «профессионалом» человек, который сможет по различным туториалам и с применением чужого кода все это сделать?
P.S. Если да, то на какие модели стоит обратить внимание?
А если на полном серьёзе. Я наверное на таком этапе в торговле, когда понимаешь, что ты просто тупое дно, которое жмякает на кнопки случайным образом (на самом деле нет). Да, есть стратегии, да, есть вещи, которые работают, но количество и качество случайных сделок, больше и хуже соответственно, нежели по ТС. Осознаешь, что нужно разбираться не только в графиках и рисунках на них. Поэтому если это реально будет под силу, то я конечно же за это возьмусь, и спасибо вам, за эти посты, я уверен, они мне очень помогу в анализе и построении своих моделей.
А вот что насчёт скооперироваться, то не хочу воровать у вас идею, я и не против, только за, да вот знаний у меня пока нет в этой сфере. Если вы торгуете нефтью, то тогда речь может действительно зайти о чем то более интересном и тогда я всеми руками за, там я буду знать, что свой вклад я смогу внести