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

Я заметил одну вещь: сокращение функций может быть полезным, но иногда даже менее "важные" функции в конечном итоге добавляют ценность.
Aleksey Vyazmikin #:
Незнаком с такой моделью.

Ознакомтесь

Aleksey Vyazmikin #:
даже не знаю, что там так много...

Узнайте

Aleksey Vyazmikin #:

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

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

Ну, с велосипедами и велосипедными идеями у самого полный порядок.

Больше интересует классика (хоть МО, хоть ФА)

Aleksey Vyazmikin #:

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

Поэтому и писал, что нужно фундаментальное понимание, в каком положении страна, что хочет её ЦБ, что может сделать и что делает. Получается ли желаемое...

Нет, это типичная проблема с мультиколлинеарностью. Зависимость итогового набора значимых фич не столько от времени, сколько от исходного набора фич, из которого происходит отбор. Для подавляющей части ФА признаков VIF зашкаливает.

Про "понимание" "Законов Рынка и Природы" где-то уже попадалось на форуме)

Aleksey Vyazmikin #:
Не думаю, что через горстку цифр удастся понять суть. Возможно, модели не хватает и политических данных, общих новостей про войны и иное...

Это можно про что угодно сказать. Модель не имеет практического смысла, когда она становится моделью всего Мира. Смысл есть только при обозримом ограниченном наборе предикторов.

Aleksey Nikolayev #:

Ознакомтесь

Узнайте

Ну, с велосипедами и велосипедными идеями у самого полный порядок.

Больше интересует классика (хоть МО, хоть ФА)

Нет, это типичная проблема с мультиколлинеарностью. Зависимость не столько от времени, сколько от исходного набора фич, из которого происходит отбор. Для подавляющей части ФА признаков VIF зашкаливает.

Про "понимание" "Законов Рынка и Природы" где-то уже попадалось на форуме)

Это можно про что угодно сказать. Модель не имеет практического смысла, когда она становится моделью всего Мира. Смысл есть только при обозримом ограниченном наборе предикторов.

Минут 10 сидел и думал "...зачем, зачем я опять пытаюсь кому то помочь?".

Ну что я должен ответить? Видимо предложить за вознаграждение углубится в проблему, изучить модель?

По сути я написал, что метод RFE работает в целом, а реализация его и улучшения может быть любым.

Всё же, я за осмысление данных, а не просто поиск решения. Просто кормить голой статистикой модель бессмысленно.

Должна быть модель-скелет, как всё устроено и проброс по ней уже весов через обучение, которые как бы регулируют вентиля денежных потоков...

Aleksey Vyazmikin #:

Минут 10 сидел и думал "...зачем, зачем я опять пытаюсь кому то помочь?".

Ну что я должен ответить? Видимо предложить за вознаграждение углубится в проблему, изучить модель?

По сути я написал, что метод RFE работает в целом, а реализация его и улучшения может быть любым.

Всё же, я за осмысление данных, а не просто поиск решения. Просто кормить голой статистикой модель бессмысленно.

Должна быть модель-скелет, как всё устроено и проброс по ней уже весов через обучение, которые как бы регулируют вентиля денежных потоков...

Ну, вы же вместо ответа на мой вопрос начали учить меня ФА, не зная ни его основ, ни местного календаря. Имеете на это полное право - форум открытый, но и прочие форумчане имеют ровно такое же право заниматься поучениями.

Касательно сути моего вопроса - RFE используется же в рамках обучения какой-то модели. С кроссвалидацией получается какая-то совершенная жуть по времени вычислений. Собственно как и forward selection от Forester. Думаю пока ограничиться фильтрами в духе идей Сан Саныча. Благо для бинарной классификации их можно придумать довольно много.

Покажу фокус-покус.)

Скажу то, о чем не принято говорить (Держим в уме, что ЦВР - нестационарный, как принято считать, ряд. Он может быть и вправду нестационарный, но 100% выводы об этом сделать невозможно, не имея всю историю ряда как в прошлое так и в будущее).

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

Всё замечательно и прекрасно. Едем дальше. Есть такое понятие как "переобучение". Это понятие "постфактумное", т.е, невозможно заранее знать, что сеть переобучена до того момента, как она начала работать на неизвестных для неё данных. Не решают проблему и всякие тестовые, валидационные и прочие проверки. Сети рано или поздно придется работать на совершенно новых незнакомых данных. Поэтому, термин "переобучение" предлагаю считать антинаучным, субъективным и даже вредным понятием. Ну а как иначе, вот мы такие обучили сетку, сетка хорошо работает в + на реале, зашибись, подумали мы, хорошо научили сетку. А на следующий месяц сетка вдруг начала трендеть в -, ой, сетка оказалась "переобученной", так что ли?)) Всё понятно, короче с этим термином.

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


А если бы мы инициализировали бы начальные веса сети иначе, обучали и могли получить веса другие, W2, и получили бы представление сети о процессе в будущем так:

В обоих случаях мы бы получили некоторое значение критерия ошибки (по которой обучали сетку), скажем, 0.01.

Но по факту, внимание, процесс натуральный бы двигался в будущем так:

И, ещё раз внимание, это соответствовало весам W3! с тем же показателем ошибки  0.01. 

Чуете чем пахнет? Существует теорема, которая гласит, что сеть с одним скрытым слоем способна аппроксимировать любую непрерывную функцию, а сеть с двумя и более скрытыми слоями - любые, в том числе и с обрывами.

Т.е, мы используя одни и те же критерии оценки можем получить разные весовые наборы сети. При этом во всех случаях, при W1, W2, W3, W4, .... Wn - практически полностью на 100% описывать основной процесс в пределах доступного для исследования времени. При этом только некоторые из возможных полученных наборов весов будут соответствовать полностью истинному процессу, а значит и воспроизвести на неизвестных новых данных.

Итак, чтобы завершить роман "Кто виноват?", мы должны задаться вопросом, где же реальная проблема - но в этом небольшом посте есть все ответы.

Это мы ещё не касались терминов, которых в этой ветке произносит вслух нельзя. Ищущие да обрящут, желающие знать да узнают, желающие обучить да обучат. Или как там?


Принято думать, что ЦВР нестационарный ряд, это очень удобная позиция так думать, когда ничего не получается. А когда получается, то всё равно нет достоверных оснований так не думать тоже. Но, на примере выше показал, что рынок, такой очень сложный процесс, очень легко может обманывать о своей природе любого, кто его пытается познать и вычислить его формулу. Не верите? Легко приведу формулу процесса, которую очень трудно предвидеть на следующем шаге дискретизации. И это будет не какая-то очень сложная формула нестационарного процесса со случайными компонентами, а достаточно простая, вычислимая. Но в одних случаях нейронки будут показывать просто факт заучивания известной истории по этой формуле, а в других случаях окажется, что подобрана реальная формула этого процесса.

Так вот, смысл правильного обучения - найти правильную формулу процесса, а не его тень, тогда будет неважно, стационарный процесс или нет. Так что же было не так в примере с W1, W2, W3? - или наоборот, так, но где лежит золотой ключик к обучению нейросетей?

Aleksey Nikolayev #:

Ну, вы же вместо ответа на мой вопрос начали учить меня ФА, не зная ни его основ, ни местного календаря. Имеете на это полное право - форум открытый, но и прочие форумчане имеют ровно такое же право заниматься поучениями.

А я вот не увидел, что начал про ФА вообще писать. Писал про дублирование информации в новостях - сейчас посмотрел - да, ничего не изменилось за десяток лет.

Ну, и, забавно, но я как раз слился с той ветки по той причине, что имею профильное образование, и мне не очень интересно спорить на эти темы. Не считаю себя гуру, но понимаю, что не так всё просто.

Aleksey Nikolayev #:

Касательно сути моего вопроса - RFE используется же в рамках обучения какой-то модели. С кроссвалидацией получается какая-то совершенная жуть по времени вычислений. Собственно как и forward selection от Forester. Думаю пока ограничиться фильтрами в духе идей Сан Саныча. Благо для бинарной классификации их можно придумать довольно много.

Верно, обучал CatBoost. Для меня не проблема и пару недель подождать результат.

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

[Удален]
Выбор признаков переборными методами - это такой козул инференс на минималках :) учОные как раз сейчас ломают головы над этим. То есть пришли к выводу, что это плохо работает и нужно что-то с этим делать :) даже конкурсы устраивают.
Andrey Dik #:

Так вот, смысл правильного обучения - найти правильную формулу процесса, а не его тень, тогда будет неважно, стационарный процесс или нет. Так что же было не так в примере с W1, W2, W3? - или наоборот, так, но где лежит золотой ключик к обучению нейросетей?

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

Тут на форуме, часто термин "переобучение" используется неверно - и подразумевает просто плохой результат. На самом деле же, этот термин подразумевает сильную подгонку под данные обучение, вылизывание всех точек с большой точностью. Для деревьев глубину сплитов до 100% представителя класса в листе. А по факту, часто проблема в изменении распределения вероятности, т.е. именно в наблюдаемых данных, на основании которых был вычислен предиктор. В начале года в этой ветке всё детально показывал.

Но, про ключик рассказывайте, жёлтый металл всегда в цене.

Maxim Dmitrievsky #:
Выбор признаков переборными методами - это такой козул инференс на минималках :) учОные как раз сейчас ломают головы над этим. То есть пришли к выводу, что это плохо работает и нужно что-то с этим делать :) даже конкурсы устраивают.

А пока, будем доверять всесильному рандому :)

Aleksey Vyazmikin #:

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

Тут на форуме, часто термин "переобучение" используется неверно - и подразумевает просто плохой результат. На самом деле же, этот термин подразумевает сильную подгонку под данные обучение, вылизывание всех точек с большой точностью. Для деревьев глубину сплитов до 100% представителя класса в листе. А по факту, часто проблема в изменении распределения вероятности, т.е. именно в наблюдаемых данных, на основании которых был вычислен предиктор. В начале года в этой ветке всё детально показывал.

Конечно, "формул нет". Тогда что есть, когда думаете, что сеть успешно отработала новые данные? Это просто аппроксимация и ничего больше. Но аппроксимация аппроксимации волк, сами знаете... Про теорему тоже, я думаю, знаете.

Но, про ключик рассказывайте, жёлтый металл всегда в цене.

Мне это зачем, рассказывать? Я показал противоречия, которые классические МО методы не решают. Вы в поиске, но не думайте что существует волшебный МО-метод, которые вот прям всё порешает, надо лишь прочитать нужную книжку. Таких методов не существует, по понятным причинам, особенно применительно к ЦВР.

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

Даже если всё правильно сделаете, купите правильную классную тачку, заправите авто самым классным бензином, то всё равно приедете не туда, куда нужно, а всё потому, что целеуказание было неверным. Чтобы вы не делали, вы приедете в Питер, а не в Екатеринбург, если ваш навигатор в системе автоматического вождения настроен неверно. Цели заданы неверно, странно что все удивляются, что приезжают не туда, куда хотели бы.