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

 
Aleksey Vyazmikin:

Подход рабочий - это не вопрос веры.

А какой подход быстрей и лучше, давайте сравним эффективность!?

чтобы это не было вопросом веры, нужны какие-то док-ва

удаление фичей из модели меняет их Interaction, поэтому переставлять можно сколь угодно долго
 
Как нам известно, - любая НС, лес, буст может воспроизвести внутри себя любую функцию типа МА, и др. цифровых фильтров. И казалось бы подавать те же МАшки нет смысла, если просто  подать 50-100 баров.
В глубоких нейросетях, возможно.
А в зарегулированных бустах и лесах - нет.
Например в катбусте рекомендованная глубина деревьев = 6. Это 2^6=64 сплита. Если нам нужна МА30, то в среднем каждый бар будет поделен 2 раза (пополам и одна из половинок еще пополам). Чтобы грубо (с ошибкой 10%) воспроизвести МА нужно хотя бы 10 раз сделать деление каждого бара. Это глубина 9-10 нужна.
Но глубокое деление дерева не даст ему обобщать.
Таким образом получается, что неглубокими деревьями можно обобщать, но невозможно воспроизводить внутри любую требуемую фичу (типа МА). А значит кроме баров нужно подавать и МА-шки, и CCI-шки и все остальное, что хочется проверить как фичи.

Не я один был сторонником, что только баров достаточно для древовидных систем. Если сторонники еще остались - предлагаю высказать свои доводы.
 
Maxim Dmitrievsky:

чтобы это не было вопросом веры, нужны какие-то док-ва

удаление фичей из модели меняет их Interaction, поэтому переставлять можно сколь угодно долго

Давайте определимся, что требуется доказать.

Почему, может быть прок от удаления предиктора, по моему мнению, формально предиктор может проходить отбор, как удачный для корневого (часто) сплита по той причине, что у него хорошие для этого показатели - часто корреспонденция с другими предикторами улучшает результат - принцип жадности, но этот принцип работает с дата сетом, как единым целы, отсутствуют проверки на пространственные характеристики (частота возникновения события по всей выборке в связи с их исходом), это ситуация скопления исходов события на 1/5 выборки, к примеру лишь от того, что там был сильный тренд, а далее он был но не такой сильный и исходы уже были не однозначны, но метод построения модели это не учитывает. Или же схожая ситуация, но там причина в ином - даже модель получается устойчивая, но оказывается, что предиктор хорошо коррелирует с целевой в тот момент, когда в основном финансовые показатели результата сделки слишком молы в плюс или слишком велики в минус, а это очень тонкий момент, который не умеет учитывать модель при обучении.

Поэтому цель не только улучшить саму модель классификации на разных интервалах времени, но и улучшить её с точки зрения финансового исхода.

 
Aleksey Vyazmikin:

Давайте определимся, что требуется доказать.

Почему, может быть прок от удаления предиктора, по моему мнению, формально предиктор может проходить отбор, как удачный для корневого (часто) сплита по той причине, что у него хорошие для этого показатели - часто корреспонденция с другими предикторами улучшает результат - принцип жадности, но этот принцип работает с дата сетом, как единым целы, отсутствуют проверки на пространственные характеристики (частота возникновения события по всей выборке в связи с их исходом), это ситуация скопления исходов события на 1/5 выборки, к примеру лишь от того, что там был сильный тренд, а далее он был но не такой сильный и исходы уже были не однозначны, но метод построения модели это не учитывает. Или же схожая ситуация, но там причина в ином - даже модель получается устойчивая, но оказывается, что предиктор хорошо коррелирует с целевой в тот момент, когда в основном финансовые показатели результата сделки слишком молы в плюс или слишком велики в минус, а это очень тонкий момент, который не умеет учитывать модель при обучении.

Поэтому цель не только улучшить саму модель классификации на разных интервалах времени, но и улучшить её с точки зрения финансового исхода.

не готов кодить, а потом поддерживать непонятные идеи с непонятным исходом

 
Maxim Dmitrievsky:

не готов кодить, а потом поддерживать непонятные идеи с непонятным исходом

Так и скажите, что только свои идеи считаете правильными и достойные обсуждения.

 
Aleksey Vyazmikin:

Так и скажите, что только свои идеи считаете правильными и достойные обсуждения.

скорее обоснованные. А из описания ничего не понял

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

 
Maxim Dmitrievsky:

скорее обоснованные. А из описания ничего не понял

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

Если не поняли из описания, то задайте вопросы, что именно не понятно - я попытаюсь объяснить лучше.

Я так же делал уже пару лет назад, и отказался из-за трудозатрат, а не бессмысленности.

Ниже таблица результатов старого эксперимента, работа происходит так:

1. Разрезается число предикторов на 9 кусков.

2. Создаются комбинации между кусками - 512

3. Потом происходит оценка, как в среднем ведут себя выборки с наличие/отсутствием каждого куска.

4. Делается предположение о значимости куска (положительная/отрицательная).

5. Значимые куски бьются на более мелкие, а менее значимые объединяются в один кусок (не обязательно что они должны идти по порядку)

6. Формируется новые 512 комбинаций

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

Вот пример изменения показателей при 32 таких итерациях.



Метод, конечно, можно улучшать, но для этого нужны эксперименты и результаты его исхода.

Да, улучшение не в разы, но результаты позволяют думать и о том, какие предикторы лучше или хуже влияют на результат и почему.

И, я хочу попробовать работать именно со статистикой CatBoost и удалять/добавлять предикторы (и их группы) именно по той причине, что это может оказаться быстрей, чем ранее использованный мной перебор.

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

 
Aleksey Vyazmikin:

Если не поняли из описания, то задайте вопросы, что именно не понятно - я попытаюсь объяснить лучше.

Я так же делал уже пару лет назад, и отказался из-за трудозатрат, а не бессмысленности.

Бессмысленное убивание времени

 
Aleksey Vyazmikin:

Если не поняли из описания, то задайте вопросы, что именно не понятно - я попытаюсь объяснить лучше.

Я так же делал уже пару лет назад, и отказался из-за трудозатрат, а не бессмысленности.

Ниже таблица результатов старого эксперимента, работа происходит так:

1. Разрезается число предикторов на 9 кусков.

2. Создаются комбинации между кусками - 512

3. Потом происходит оценка, как в среднем ведут себя выборки с наличие/отсутствием каждого куска.

4. Делается предположение о значимости куска (положительная/отрицательная).

5. Значимые куски бьются на более мелкие, а менее значимые объединяются в один кусок (не обязательно что они должны идти по порядку)

6. Формируется новые 512 комбинаций

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

Вот пример изменения показателей при 32 таких итерациях.



Метод, конечно, можно улучшать, но для этого нужны эксперименты и результаты его исхода.

Да, улучшение не в разы, но результаты позволяют думать и о том, какие предикторы лучше или хуже влияют на результат и почему.

И, я хочу попробовать работать именно со статистикой CatBoost и удалять/добавлять предикторы (и их группы) именно по той причине, что это может оказаться быстрей, чем ранее использованный мной перебор.

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

Что-то мудреное.
Чем это лучше простой проверки всех фич добавлением по 1?
Сначала обучили 1000 раз (при 1000 фичах для проверки) на 1 фиче, нашли лучшую. Потом 999 раз на лучшей фиче и 999 оставшихся, выбрали вторую лучшую. Потом на 2 лучших и третьей из 998 оставшихся и т.д.
Всего 2 вложенных цикла.
Модели с малым числом фич обучаются очень быстро. Штук 20-30 лучших наберете за приемлемое время. Да и после 10-20 выбранных фич, модели обычно перестают улучшаться, добавление новых фич после них только ухудшают результат.
 
Maxim Dmitrievsky:

Бессмысленное убивание времени

Понятно, конструктивного обсуждения не будет - желания понять суть - нет.

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