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

 
Maxim Dmitrievsky:

монтекарлю и ищу лучшую ошибку на тест. выборке, собсно всё

Куда-ж без Монте-Карло.)) А с лучшей ошибкой не все так просто. Оптимальность - штука многофакторная и неоднозначная, и, что есть оптимум - далеко не очевидно.

 
Yuriy Asaulenko:

Куда-ж без Монте-Карло.)) А с лучшей ошибкой не все так просто. Оптимальность - штука многофакторная и неоднозначная, и, что есть оптимум - далеко не очевидно.

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

на рынке оптимума вообще нет, локальные только

 
 

Читаю теорию по деревьям.
Задумался о целесообразности пруннинга (обрезки).

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

Может проще и быстрее при построении дерева не делить лист, если не найдено его разделение, которое уменьшает ошибку минимум на какое-то значение, например на 0,1-0,5%?
Результат должен быть одинаковым, но быстрее.

Или возможна ситуация, что после пары ветвлений с улучшенем модели на 0,0001% найдется то, которое улучшит ее сразу на 1-5%?

 
Maxim Dmitrievsky:

куда еще быстрее то? и так очень быстро

а вообще вы там бустинг собрались сами конструировать чель

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

Заманчивая перспектива - их можно апдейтить, а не переобучать заново

Ну если миллион строк подать с 200-1000 предикторами, то наверное долго...
С обрезкой - надо построить дерево до конца, потом обрезать.
А с остановкой ветвления по мин. улучшению ошибки, думаю будет значительная экономия при аналогичном результате. В xgboost параметр называется gamma, а обрезки вроде и нет. Видимо разработчики тоже решили, что это взаимозаменяемые вещи.
 
elibrarius:
Ну если миллион минутных строк подать с 200-1000 предикторами, то наверное долго...
А с обрезкой - надо построить дерево до конца, потом обрезать.
А с остановкой ветвления по мин. улучшению ошибки, думаю будет значительная экономия при аналогичном результате. В xgboost параметр называется gamma, а обрезки вроде и нет. Видимо разработчики тоже решили, что это взаимозаменяемые вещи.

ну им виднее как делать, там команды спецов работали над бустингами, тестили

катбуст нормально вроде работает, быстро, там деревья изначально неглубокие

миллионы данных на форексе... сомневаюсь что это необходимо

 
Кстати придумал ситуацю, когда первое разделение почти не улучшает ошибку, а второе улучшает на 100%.

4 сектора в каждом по 10 точек. 1 разделение хоть по оси х, хоть по y. Почти не улучшит ошибку, она останется около 50%. Например первый раз разделили по середине по вертикали. Второе разделение по середине по горизонтали приведет к очень сильному улучшению по ошибке (с 50% до нуля).
Но это искуственно созданная ситуация, в жизни такое не бывает.
 
Sample sizes are never large. If N is too small to get a sufficiently-precise estimate, you need to get more data (or make more assumptions). But once N is "large enough," you can start subdividing the data to learn more (for example, in a public opinion poll, once you have a good estimate for the entire country, you can estimate among men and women, northerners and southerners, different age groups, etc.). N is never enough because if it were "enough" you'd already be on to the next problem for which you need more data.
 
elibrarius:
Кстати придумал ситуацю, когда первое разделение почти не улучшает ошибку, а второе улучшает на 100%.

4 сектора в каждом по 10 точек. 1 разделение хоть по оси х, хоть по y. Почти не улучшит ошибку, она останется около 50%. Например первый раз разделили по середине по вертикали. Второе разделение по середине по горизонтали приведет к очень сильному улучшению по ошибке (с 50% до нуля).
Но это искуственно созданная ситуация, в жизни такое не бывает.

можно заюзать кернел (трансормировтаь данные) и сделать через одно разделение. Какой кернел для такого случая не знаю, но он точно должен быть

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

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

 
Maxim Dmitrievsky:
временные ряды вообще не так прогнозируются, там выделять циклы нужно, периодические компоненты. А поскольку на рынке при увеличении выборки, таковые исчезают, поэтому ошибка у всех 50 на 50

Тут не поспоришь)

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