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

Maxim Dmitrievsky #:
Суть изначально написана

Эта идея понятна.

Я просто вижу, как в динамике меняются эти вероятностные смещения.

Вот квантовый отрезок на обучении

Он же на валидации (обычно это test у меня)

И он же ниже на тесте (exam у меня).

На графиках построен ZZ по балансу ошибок (взвешенный баланс классов - при 50% на 50% мы прибавляем +1 при классе "1" и вычитаем -1 при классе "0") видно, что в динамике каждой выборки есть смещение закономерности, т.е. примеров с классом "0" преимущественно больше - тенденция. Такой квантовый отрезок (или кластер) будет хорош и при обучении.

А вот другой вариант ниже на графиках - три выборки подряд (train, test, exam).


Видно что на train была явная тенденция и класс "1" встречался чаще среднего, но вот на выборке "test" ситуация изменилась, здесь уже появилось напротив смещение в сторону нуля, пусть и не большом на этом примере, но бывает большое, а вот на exam ситуация опять нормализовалась и появился тренд на 2/3 со смещением вероятности, хотя потом опять во флэт ушли.

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

[Удален]
Aleksey Vyazmikin #:

Эта идея понятна.

Я просто вижу, как в динамике меняются эти вероятностные смещения.

Вот квантовый отрезок на обучении

Он же на валидации (обычно это test у меня)

И он же ниже на тесте (exam у меня).

На графиках построен ZZ по балансу ошибок (взвешенный баланс классов - при 50% на 50% мы прибавляем +1 при классе "1" и вычитаем -1 при классе "0") видно, что в динамике каждой выборки есть смещение закономерности, т.е. примеров с классом "0" преимущественно больше - тенденция. Такой квантовый отрезок (или кластер) будет хорош и при обучении.

А вот другой вариант ниже на графиках - три выборки подряд (train, test, exam).


Видно что на train была явная тенденция и класс "1" встречался чаще среднего, но вот на выборке "test" ситуация изменилась, здесь уже появилось напротив смещение в сторону нуля, пусть и не большом на этом примере, но бывает большое, а вот на exam ситуация опять нормализовалась и появился тренд на 2/3 со смещением вероятности, хотя потом опять во флэт ушли.

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

Я ведь и написал: исправьте метки для всех кластеров, пусть их будет 200. И сравните обучение с ООС. Если все плохо, то с такой выборкой нет смысла работать.
Если все норм, уменьшайте кол-во исправлений, для более гладкой кривой баланса, пока кривая на трейне похожа на кривую на тесте.
Maxim Dmitrievsky #:
Я ведь и написал: исправьте метки для всех кластеров, пусть их будет 200. И сравните обучение с ООС. Если все плохо, то с такой выборкой нет смысла работать.
Если все норм, уменьшайте кол-во исправлений, для более гладкой кривой баланса, пока кривая на трейне похожа на кривую на тесте.

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

По факту - знаем, что есть правильные предикторы, но из-за подмешивания "ложных", модель ломается.

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

[Удален]
Aleksey Vyazmikin #:

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

По факту - знаем, что есть правильные предикторы, но из-за подмешивания "ложных", модель ломается.

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

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

Я его не знал, а потом забыл.

Пример

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

  • Вероятность прибыльной сделки для кластера 1: P ( A 1 ) = 0.6 
  • Вероятность прибыльной сделки для кластера 2: P ( A 2 ) = 0.5
  • Вероятность прибыльной сделки для кластера 3: P ( A 3 ) = 0.4

Вычисление итоговой вероятности

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

  1. Вероятность того, что ни одно из событий не произойдет:

    P ( ни одно из событий не произойдет ) = ∏ i = 1 n ( 1 − P ( A i ) ) P(ни одно из событий не произойдет)=i=1∏n​(1−P(Ai​))

    где P ( A i ) P(Ai​) — вероятность прибыльной сделки для кластера i i.

    Для нашего примера:

    P ( ни одно из событий не произойдет ) = ( 1 − 0.6 ) × ( 1 − 0.5 ) × ( 1 − 0.4 ) P(ни одно из событий не произойдет)=(1−0.6)×(1−0.5)×(1−0.4) P ( ни одно из событий не произойдет ) = 0.4 × 0.5 × 0.6 = 0.12 P(ни одно из событий не произойдет)=0.4×0.5×0.6=0.12
  2. Вероятность того, что хотя бы одно из событий произойдет:

    P ( хотя бы одно из событий произойдет ) = 1 − P ( ни одно из событий не произойдет ) P(хотя бы одно из событий произойдет)=1−P(ни одно из событий не произойдет) P ( хотя бы одно из событий произойдет ) = 1 − 0.12 = 0.88 P(хотя бы одно из событий произойдет)=1−0.12=0.88

Итог

Итоговая вероятность прибыльной сделки, учитывая вероятности для трех кластеров, составляет 0.88 или 88%.

Объяснение

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

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

MathML Namespace
  • www.w3.org
MathML Namespace
[Удален]
З.Ы. мне кажется, что предложенный расчет слишком оптимистичный.
Наверное нужно ещё учитывать вероятность выпадения каждого кластера. Или вообще считать по-другому.
[Удален]
Maxim Dmitrievsky #:
З.Ы. мне кажется, что предложенный расчет слишком оптимистичный.
Наверное нужно ещё учитывать вероятность выпадения каждого кластера. Или вообще считать по-другому.

Так уже лучше.

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

Пример для трех кластеров

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

  • P ( A 1 ) = 0.6 P(A1​)=0.6
  • P ( A 2 ) = 0.5 P(A2​)=0.5
  • P ( A 3 ) = 0.4 P(A3​)=0.4

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

  • P ( кластер 1 ) = 0.3 P(кластер 1)=0.3
  • P ( кластер 2 ) = 0.5 P(кластер 2)=0.5
  • P ( кластер 3 ) = 0.2 P(кластер 3)=0.2

Вычисление итоговой вероятности

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

  1. Вероятность прибыльной сделки для каждого кластера, учитывая вероятность его выпадения:

    P ( прибыльная сделка для кластера 1 ) = P ( кластер 1 ) × P ( A 1 ) = 0.3 × 0.6 = 0.18 P(прибыльная сделка для кластера 1)=P(кластер 1)×P(A1​)=0.3×0.6=0.18 P ( прибыльная сделка для кластера 2 ) = P ( кластер 2 ) × P ( A 2 ) = 0.5 × 0.5 = 0.25 P(прибыльная сделка для кластера 2)=P(кластер 2)×P(A2​)=0.5×0.5=0.25 P ( прибыльная сделка для кластера 3 ) = P ( кластер 3 ) × P ( A 3 ) = 0.2 × 0.4 = 0.08 P(прибыльная сделка для кластера 3)=P(кластер 3)×P(A3​)=0.2×0.4=0.08
  2. Итоговая вероятность прибыльной сделки:

    P ( прибыльная сделка ) = P ( прибыльная сделка для кластера 1 ) + P ( прибыльная сделка для кластера 2 ) + P ( прибыльная сделка для кластера 3 ) P(прибыльная сделка)=P(прибыльная сделка для кластера 1)+P(прибыльная сделка для кластера 2)+P(прибыльная сделка для кластера 3) P ( прибыльная сделка ) = 0.18 + 0.25 + 0.08 = 0.51 P(прибыльная сделка)=0.18+0.25+0.08=0.51

Итог

Итоговая вероятность прибыльной сделки, учитывая вероятности выпадения каждого кластера и их вероятности прибыльной сделки, составляет 0.51 или 51%.

Объяснение

  • Вероятность прибыльной сделки для каждого кластера вычисляется как произведение вероятности выпадения кластера и вероятности прибыльной сделки для этого кластера.
  • Итоговая вероятность прибыльной сделки вычисляется как сумма вероятностей прибыльной сделки для каждого кластера.

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

[Удален]

Общий вывод:

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

Сценарий 1: Независимые события

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

Пример

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

  • P ( A 1 ) = 0.6 P(A1​)=0.6
  • P ( A 2 ) = 0.5 P(A2​)=0.5
  • P ( A 3 ) = 0.4 P(A3​)=0.4

Вероятность того, что хотя бы одно из событий произойдет:

P ( хотя бы одно из событий произойдет ) = 1 − P ( ни одно из событий не произойдет ) P(хотя бы одно из событий произойдет)=1−P(ни одно из событий не произойдет) P ( ни одно из событий не произойдет ) = ( 1 − 0.6 ) × ( 1 − 0.5 ) × ( 1 − 0.4 ) = 0.4 × 0.5 × 0.6 = 0.12 P(ни одно из событий не произойдет)=(1−0.6)×(1−0.5)×(1−0.4)=0.4×0.5×0.6=0.12 P ( хотя бы одно из событий произойдет ) = 1 − 0.12 = 0.88 P(хотя бы одно из событий произойдет)=1−0.12=0.88

Таким образом, комбинирование кластеров увеличивает общую вероятность прибыльной сделки до 0.88 или 88%.

Сценарий 2: Зависимые события

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

Пример

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

  • P ( A 1 ) = 0.6 P(A1​)=0.6
  • P ( A 2 ) = 0.5 P(A2​)=0.5
  • P ( A 3 ) = 0.4 P(A3​)=0.4

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

P ( A 1 ∪ A 2 ∪ A 3 ) = P ( A 1 ) + P ( A 2 ) + P ( A 3 ) − P ( A 1 ∩ A 2 ) − P ( A 1 ∩ A 3 ) − P ( A 2 ∩ A 3 ) + P ( A 1 ∩ A 2 ∩ A 3 ) P(A1​∪A2​∪A3​)=P(A1​)+P(A2​)+P(A3​)−P(A1​∩A2​)−P(A1​∩A3​)−P(A2​∩A3​)+P(A1​∩A2​∩A3​)

Если условные вероятности и корреляции между событиями неизвестны, то вычисление общей вероятности становится более сложным.

Сценарий 3: Вероятностный закон выпадения кластеров

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

Пример

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

  • P ( A 1 ) = 0.6 P(A1​)=0.6
  • P ( A 2 ) = 0.5 P(A2​)=0.5
  • P ( A 3 ) = 0.4 P(A3​)=0.4

И вероятности выпадения кластеров:

  • P ( кластер 1 ) = 0.3 P(кластер 1)=0.3
  • P ( кластер 2 ) = 0.5 P(кластер 2)=0.5
  • P ( кластер 3 ) = 0.2 P(кластер 3)=0.2

Вероятность прибыльной сделки для каждого кластера, учитывая вероятность его выпадения:

P ( прибыльная сделка для кластера 1 ) = 0.3 × 0.6 = 0.18 P(прибыльная сделка для кластера 1)=0.3×0.6=0.18 P ( прибыльная сделка для кластера 2 ) = 0.5 × 0.5 = 0.25 P(прибыльная сделка для кластера 2)=0.5×0.5=0.25 P ( прибыльная сделка для кластера 3 ) = 0.2 × 0.4 = 0.08 P(прибыльная сделка для кластера 3)=0.2×0.4=0.08

Итоговая вероятность прибыльной сделки:

P ( прибыльная сделка ) = 0.18 + 0.25 + 0.08 = 0.51 P(прибыльная сделка)=0.18+0.25+0.08=0.51

Таким образом, комбинирование кластеров увеличивает общую вероятность прибыльной сделки до 0.51 или 51%.

Заключение

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

Maxim Dmitrievsky #:

Общий вывод:

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

Сценарий 1: Независимые события

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

Пример

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

  • P ( A 1 ) = 0.6 P(A1​)=0.6
  • P ( A 2 ) = 0.5 P(A2​)=0.5
  • P ( A 3 ) = 0.4 P(A3​)=0.4

Вероятность того, что хотя бы одно из событий произойдет:

P ( хотя бы одно из событий произойдет ) = 1 − P ( ни одно из событий не произойдет ) P(хотя бы одно из событий произойдет)=1−P(ни одно из событий не произойдет) P ( ни одно из событий не произойдет ) = ( 1 − 0.6 ) × ( 1 − 0.5 ) × ( 1 − 0.4 ) = 0.4 × 0.5 × 0.6 = 0.12 P(ни одно из событий не произойдет)=(1−0.6)×(1−0.5)×(1−0.4)=0.4×0.5×0.6=0.12 P ( хотя бы одно из событий произойдет ) = 1 − 0.12 = 0.88 P(хотя бы одно из событий произойдет)=1−0.12=0.88

Таким образом, комбинирование кластеров увеличивает общую вероятность прибыльной сделки до 0.88 или 88%.

Сценарий 2: Зависимые события

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

Пример

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

  • P ( A 1 ) = 0.6 P(A1​)=0.6
  • P ( A 2 ) = 0.5 P(A2​)=0.5
  • P ( A 3 ) = 0.4 P(A3​)=0.4

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

P ( A 1 ∪ A 2 ∪ A 3 ) = P ( A 1 ) + P ( A 2 ) + P ( A 3 ) − P ( A 1 ∩ A 2 ) − P ( A 1 ∩ A 3 ) − P ( A 2 ∩ A 3 ) + P ( A 1 ∩ A 2 ∩ A 3 ) P(A1​∪A2​∪A3​)=P(A1​)+P(A2​)+P(A3​)−P(A1​∩A2​)−P(A1​∩A3​)−P(A2​∩A3​)+P(A1​∩A2​∩A3​)

Если условные вероятности и корреляции между событиями неизвестны, то вычисление общей вероятности становится более сложным.

Сценарий 3: Вероятностный закон выпадения кластеров

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

Пример

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

  • P ( A 1 ) = 0.6 P(A1​)=0.6
  • P ( A 2 ) = 0.5 P(A2​)=0.5
  • P ( A 3 ) = 0.4 P(A3​)=0.4

И вероятности выпадения кластеров:

  • P ( кластер 1 ) = 0.3 P(кластер 1)=0.3
  • P ( кластер 2 ) = 0.5 P(кластер 2)=0.5
  • P ( кластер 3 ) = 0.2 P(кластер 3)=0.2

Вероятность прибыльной сделки для каждого кластера, учитывая вероятность его выпадения:

P ( прибыльная сделка для кластера 1 ) = 0.3 × 0.6 = 0.18 P(прибыльная сделка для кластера 1)=0.3×0.6=0.18 P ( прибыльная сделка для кластера 2 ) = 0.5 × 0.5 = 0.25 P(прибыльная сделка для кластера 2)=0.5×0.5=0.25 P ( прибыльная сделка для кластера 3 ) = 0.2 × 0.4 = 0.08 P(прибыльная сделка для кластера 3)=0.2×0.4=0.08

Итоговая вероятность прибыльной сделки:

P ( прибыльная сделка ) = 0.18 + 0.25 + 0.08 = 0.51 P(прибыльная сделка)=0.18+0.25+0.08=0.51

Таким образом, комбинирование кластеров увеличивает общую вероятность прибыльной сделки до 0.51 или 51%.

Заключение

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

А что такое "прибыльные сделка"? Это какая вероятность? 0.5, 0.6 ....

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

[Удален]
СанСаныч Фоменко #:

А что такое "прибыльные сделка"? Это какая вероятность? 0.5, 0.6 ....

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

Не могу себе позволить столько много писать, а то мудираторы и скуфы опять сочтут, что я не даю никому высказаться :) да и руки не луженые. Я же не Артемий Лебедев.

Прибыльная - это приносящая Профит после исправления меток кластера в размеченным датасете ещё до обучения. Мы же их обсуждаем. То есть, обучения даже не касаемся.

Если можно доказать, что игра с вероятностями позволяет улучшать общий результат с учётом ООС, то это будет формальным ответом на то, почему лучше проверять группы кластеров, а не по одному.
[Удален]
Maxim Dmitrievsky #:
Прибыльная - это приносящая Профит после исправления меток кластера в размеченным датасете ещё до обучения. Мы же их обсуждаем. То есть, обучения даже не касаемся.

Если можно доказать, что игра с вероятностями позволяет улучшать общий результат с учётом ООС, то это будет формальным ответом на то, почему лучше проверять группы кластеров, а не по одному.

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

Противоречия - это когда сделки внутри одного и того же кластера имеют разные метки {0;1}, что создает путаницу при обучении финальной модели.

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

Поскольку кластеров много, будут существовать кластеры как на покупку, так и на продажу. Чем больше кластеров, тем сбалансированнее датасет.

Вторая модель будет фильтровать выбранные кластеры (торговать) от тех, которые были отсеяны из-за того, что в них больше всего неопределенности (не торговать).

Потом измерим ошибки обеих моделей и протестируем всю кострукцию на новых данных, с разным количеством кластеров.

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


Переразметка датасета без учета вероятностей тогда будет выглядить так (питон):



Продолжение следует.. :)