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

 
elibrarius:
Картинка без пояснений - просто картинка)

петли на первой картинке это серийность меток, на них модель переобучается. Потому что на новых данных совсем другие серии

взято по 5 главных компонент из датасета, их отношения (пространство признаков). Уже писал и кидал такие скрины.

 

может кому интересно будет почитать

http://www.ievbras.ru/ecostat/Kiril/Library/Book1/Content128/Content128.htm

 
Maxim Dmitrievsky:

петли на первой картинке это серийность меток, на них модель переобучается. Потому что на новых данных совсем другие серии

взято по 5 главных компонент из датасета, их отношения (пространство признаков). Уже писал и кидал такие скрины.

Если спред побороть не удается - значит не сильно и переобучается.
На мой взгляд лучше не прореживать, а др. способы борьбы с переобучением использовать.
 
elibrarius:
Если спред побороть не удается - значит не сильно и переобучается.
На мой взгляд лучше не прореживать, а др. способы борьбы с переобучением использовать.
Спред не удаётся побороть после простой декорреляции, но модель более устойчивая на новых данных без спреда. Любая модель, заоверфиченная на серийность, льёт без спреда на н.д, но на трейне гораздо лучше первой (пашет и со спредом). Это явно показывает переобучение именно на серийность и ни на что другое. Я понимаю, что это сложно понять, но это так 🤣 Если посмотришь на картинки ещё раз, то увидишь более высокие пики распределений и, может быть, хвосты, на первой. Это серийность, волатильность, как угодно. Она почти сразу же меняется на новых данных, отсюда оверфит. На второй нижней картинке этого нет, там все, что осталось, и в этом мусоре приходится искать Альфу, которая побьет спред. Просто посмотрите на свои данные и удалите хотя бы серийность, или как-то трансформируйте ее, чтобы убрать хвосты. А потом посмотрите на распределения классов того, что осталось, есть ли там нормальные группы кластеров или полный рэндом как у меня. Так можно визуально даже понять рабочий датасет или мусор. И потом можно мешать валидацию с трейном, это ни на что не повлияет. А ты говоришь «просто картинка»
 
elibrarius:

//день недели, час = ввести через 2 предиктора sin и cos угла от полного цикла 360/7,  360/24
                     
if(nameInd[nInd]=="Hour")        {CopyTime        (sim,per,startDt,n_bar+1,dtm);TimeToStruct(dtm[0],dts);ArrayResize(tmp,1);tmp[0]=(double)(dts.hour*60+dts.min)*360.0/1440.0;tmp[0]=(buf==0?MathSin(tmp[0]*pi/180.0):MathCos(tmp[0]*pi/180.0));}// для увеличения точности добавлены минуты  360/24 = 360/24/60 = 360/1440

if(nameInd[nInd]=="WeekDay")     {CopyTime        (sim,per,startDt,n_bar+1,dtm);TimeToStruct(dtm[0],dts);ArrayResize(tmp,1);tmp[0]=(double)(dts.day_of_week*1440+dts.hour*60+dts.min)*360.0/10080.0;tmp[0]=(buf==0?MathSin(tmp[0]*pi/180.0):MathCos(tmp[0]*pi/180.0));}// для увеличения точности добавлены часы и минуты 360/7 = 360/7/24/60 = 360/10080

По коду, если  buf==0, то в него синус, иначе ( buf==1 ) косинус.


Деревянные модели все переваривают.
Синус и косинус для НС хороши тем, что уже нормированы к -1...+1

Если этот вариант сравните с  нумерованным временем  - отпишитесь что лучше. Что-то мне кажется что должно на 100% совпадать, если подать день недели, час и минуту.

Не совсем понял - синус или косинус получается на усмотрение пользователя?

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

 
Aleksey Vyazmikin:

Не совсем понял - синус или косинус получается на усмотрение пользователя?

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

2 столбца подавать надо в модель - и синус и косинус для часов. И синус  + косинус для дня недели. Описание почему это надо делать - по ссылке.

pi = 3,141529 ... cо школы

 

Книга, что выше обсуждается, дает мне осознания скудности моих знаний в математике, если кто свободно читает - завидую.

Вопрос такой, как лучше описать одним числом или двумя процесс периодически повторяющийся на разных интервалах времени? У процесса то высокая частота повторения, некая плотная группа, а потом частота затихает и сигнала может не быть процентов 15% от наблюдаемого интервала. Цель - определить, отсутствие критической (процентов 70%) скученности в какой либо из частей периода наблюдения и при этом отсутствие достаточного сигнала на других интервалах, т.е. чем ближе к равномерному распределению, тем лучше, но сама природа сигнала далека от равномерного распределения (я так думаю).

 
Aleksey Vyazmikin:

Не совсем понял - синус или косинус получается на усмотрение пользователя?

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

У вас же CATboost 😑 просто пометьте фичи как категориальные
 
elibrarius:

2 столбца подавать надо в модель - и синус и косинус для часов. И синус  + косинус для дня недели. Описание почему это надо делать - по ссылке.

pi = 3,141529 ... cо школы

Хорошо, подам два...

А про Пи, так число может быть слишком большим - кто знает, какая точность требуется...

3,1415926535897932384626433832795…
 
Maxim Dmitrievsky:
У вас же CATboost 😑

Так, и? Мне интересно :))) Дни недели он отплюнул, сейчас посмотрим в обертке новых чисел на результат.