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

 
Mihail Marchukajtes:

перемешав все данные мы стараемся выудить из этого набора реальный потенциал, а не удачное стечение обстоятельств в виде упорядоченности. Вообщем перемешивая данные вы реально видите на что они способны, эти данные... Как то так....

Суть в том, что модель оверфитится, если не разделять train и test по времени. Утрированный, но показывающий суть пример: в качестве предикторов у нас выступают абсолютные приращения, безо всяких преобразований. Используем скользящее окно шириной 15, т.е. каждый раз подаем 15 предикторов-приращений, и сдвигаемся вправо на одно значение. Класс у соседних по времени строк датасета скорее совпадает, чем различается, т.е., если у n-й строки класс 1, то и у n+1 строки класс с большой вероятностью будет 1. А между собой строки различаются незначительно, у n+1 строки отличия от n-й только в одном значении. А совпадающих значений 14. Соответственно, если из такого датасета взять первую строчку в train, а вторую в test, третью в train  и т.д , то модель будет работать очень хорошо, ведь в test есть куча строк, которые фактически совпадают с теми, на которых модель обучилась в train. Только OOS у модели будет хреновый (если иметь в виду настоящий OOS, который не включает test).
 
Vladimir Perervenko:

Если говорить об оценивании предикторов с помощью моделей, то по моему мнению наиболее продвинутым является пакет RandomUniformForest. В нем очень подробно рассмотрен вопрос важности предикторов с различных точек зрения. Рекомендую поизучать. В какой то своей статье я подробно рассказывал о нем. 

Я отказался от использования модельного выбора предикторов. Ограничен особенностями используемой модели.

Удачи

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

Я все время пишу о предсказательной способности, влиянии ... предиктора на целевую переменную. Одна из идей была высказана выше (взаимная информация), я многократно высказывал свою идею на этот счет. Это математические идеи. Гораздо более эффективны экономические идеи, так как там можно подобрать такие предикторы для целевой переменной, которые опережают целевую переменную.


Поэтому еще раз: меня не интересует ВАЖНОСТЬ переменной для модели, меня интересует ВЛИЯНИЕ предиктора на целевую переменную


ПС.

Проверил рекомендованный Вами пакет: результат практически одинаков.

 
Slasher111:
Суть в том, что модель оверфитится, если не разделять train и test по времени. Утрированный, но показывающий суть пример: в качестве предикторов у нас выступают абсолютные приращения, безо всяких преобразований. Используем скользящее окно шириной 15, т.е. каждый раз подаем 15 предикторов-приращений, и сдвигаемся вправо на одно значение. Класс у соседних по времени строк датасета скорее совпадает, чем различается, т.е., если у n-й строки класс 1, то и у n+1 строки класс с большой вероятностью будет 1. А между собой строки различаются незначительно, у n+1 строки отличия от n-й только в одном значении. А совпадающих значений 14. Соответственно, если из такого датасета взять первую строчку в train, а вторую в test, третью в train  и т.д , то модель будет работать очень хорошо, ведь в test есть куча строк, которые фактически совпадают с теми, на которых модель обучилась в train. Только OOS у модели будет хреновый (если иметь в виду настоящий OOS, который не включает test).

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

 
Mihail Marchukajtes:

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

Вполне не плохо для старушки обученной на 40 точках и проработавшей уже как 1.5 месяца на ООС.

А вот это её полный ООС начиная с 01.31.2018

А вы всё ещё считаете что это подгонка???? Напомню что на скринах участок ООС

ну нормальный то бэктест где? ты попал на восходящий тренд за 3 мес, на переломах будешь страдать

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

 

вот вы всё проверяете на переобучение и на ошибку саму выборку, это конечно интересно для статистики и понимния что делает алгоритм. но ведь конечная идея взять именно деньги. так почему же тогда и не проверять предсказательность сразу в тесте?.... у меня в тесте получается наверное 50/50 НО, изза того что в классы вогнал целевую переменную где лось меньше профита в итоге достаточно планый рост получается на тесте. и кстати говоря, на тесте то как раз идёт сплошной форвард, машина то обучалась на данных до начала торгов.... так что думаю правильно оценивать как раз итоги торговли.  От себя добавлю, самую большую значимость имеют входные предикторы, их количество и их реальная возможность описать целевую.

вот картинка тест

 
Многие из обсуждаемых подходов жутко устарели, они были актуальны в годах так 80-ых...
 
Anatolii Zainchkovskii:

вот вы всё проверяете на переобучение и на ошибку саму выборку, это конечно интересно для статистики и понимния что делает алгоритм. но ведь конечная идея взять именно деньги. так почему же тогда и не проверять предсказательность сразу в тесте?.... у меня в тесте получается наверное 50/50 НО, изза того что в классы вогнал целевую переменную где лось меньше профита в итоге достаточно планый рост получается на тесте. и кстати говоря, на тесте то как раз идёт сплошной форвард, машина то обучалась на данных до начала торгов.... так что думаю правильно оценивать как раз итоги торговли.  От себя добавлю, самую большую значимость имеют входные предикторы, их количество и их реальная возможность описать целевую.

Переобучение важный всё таки момент ибо например вот в бустинге (градиентные леса) можно получить ошеломительную модель, но на форварде будет тлен, но это ты и сам знаешь

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

Переобучение важный всё таки момент ибо например вот в бустинге (градиентные леса) можно получить ошеломительную модель, но на форварде будет тлен, но это ты и сам знаешь

ну так ни кто и не говорит обученную использовать навсегда, есть период когда можно переобучить и снова в путь )))

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

причем эти связи невозможно найти математически, остается тупая подгонка или изучение рынка :)

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

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