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

[Удален]  
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(хотя бы одно из событий произойдет)=1P(ни одно из событий не произойдет) P ( ни одно из событий не произойдет ) = ( 1 − 0.6 ) × ( 1 − 0.5 ) × ( 1 − 0.4 ) = 0.4 × 0.5 × 0.6 = 0.12 P(ни одно из событий не произойдет)=(10.6)×(10.5)×(10.4)=0.4×0.5×0.6=0.12 P ( хотя бы одно из событий произойдет ) = 1 − 0.12 = 0.88 P(хотя бы одно из событий произойдет)=10.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(A1A2A3)=P(A1)+P(A2)+P(A3)P(A1A2)P(A1A3)P(A2A3)+P(A1A2A3)

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

Сценарий 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(хотя бы одно из событий произойдет)=1P(ни одно из событий не произойдет) P ( ни одно из событий не произойдет ) = ( 1 − 0.6 ) × ( 1 − 0.5 ) × ( 1 − 0.4 ) = 0.4 × 0.5 × 0.6 = 0.12 P(ни одно из событий не произойдет)=(10.6)×(10.5)×(10.4)=0.4×0.5×0.6=0.12 P ( хотя бы одно из событий произойдет ) = 1 − 0.12 = 0.88 P(хотя бы одно из событий произойдет)=10.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(A1A2A3)=P(A1)+P(A2)+P(A3)P(A1A2)P(A1A3)P(A2A3)+P(A1A2A3)

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

Сценарий 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 и наоборот.

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

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

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

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


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



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

[Удален]  

Первый тест с рандомными настройками. ООС справа от вертикальной пунктирной линии.

Алго работает, ошибок нет. Дальше будут тесты с разными настройками (наверное уже завтра).

Ошибки обучения для основной и мета моделей:

>>> models[-1][1].get_best_score()
{'learn': {'Accuracy': 0.6983374882369451, 'Logloss': 0.5674870408082323}, 'validation': {'Accuracy': 0.6428351309707242, 'Logloss': 0.5995984001032943}}
>>> models[-1][2].get_best_score()
{'learn': {'Logloss': 0.17194942035963293, 'F1': 0.775644666590935}, 'validation': {'Logloss': 0.17439066040537665, 'F1': 0.7693925848014725}}
>>> 

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

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

Еще пример с другим кол-вом кластеров. Странно, почему у некоторых форумян ничего не получается, ведь это так просто и даже код есть.


[Удален]  

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

Самое вкусное (про вероятности) будет потом. Нужно подготовить тесты.

Еще можно немного тригернуть ... Оно работает сразу, без оптимизируемых параметров/гиперпараметров.

 
Maxim Dmitrievsky #:

ООС справа от вертикальной пунктирной линии.

К сожалению, чем короче OOS, тем выше вероятность облома.
[Удален]  
fxsaber #:
К сожалению, чем короче OOS, тем выше вероятность облома.
Ф-я для самостоятельной проверки обломов.
Чаще вероятность обломов растет пропорционально кол-ву опт проходов.
 
Maxim Dmitrievsky #:
Ф-я для самостоятельной проверки обломов

Конструктивно.