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

 
Mihail Marchukajtes:

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

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

Удачи

ПС: Кстати одна из немногих позволяющая дообучать модель на новых данных. Что экономит море времени.

 
Dr. Trader:

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

Я думаю себе они оставляют не менее 90%

Что значит "Я думаю себе они оставляют не менее 90%"? Вы думаете они торгуют эти прогнозы которые им присылают? Вообще как можно заранее узнать признаки для которых вычислить прогноз? Интерполяцией что ли? У них там в их документе написано, что это только "доказательство работы", как в майнинге и победитель выбирается также рандомомно, вероятно там у половины результат почти одинаковый, потом рандомно накидывается фильтр, который ранжирует дополнительно, да ну это казино позорное, а датасет скорей всего чистая синтетика, нойс с малой премесью сигнала, рынка там совсем нет. Вся эта херь про хеджфонды и тд. чисто чтобы популярность набрать для их монеты.

 
Maxim Dmitrievsky:

ну что, Михаил, ты отошел от своего бешенства, скоро начнешь здраво и без фанатизма оценивать свою тс? :)

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

 
govich:

Конкретно про то сколько они оставляют себе - официально не написано. Всякие финансовые журналы писали о прибыли в 1.5 миллиона в 2016 году, и если сравнить сколько из этого они платили участникам - то получается немного.

> Вы думаете они торгуют эти прогнозы которые им присылают?
Да, в этом вся стратегия. Вот я например создам кучу фич, создам обучающую табличку, пришлю сюда в форум, человек 10 дадут свои  прогнозы, я по ним буду торговать - всё просто. 
Своей крипты у них небыло долго время, платили биткоинами. Просто брали и платили несколько тысяч долларов в биткоинах каждую неделю, целый год. Потом свою крипту выпустили чтоб с биткоинами не возиться.

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

 
Vladimir Perervenko:

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

Удачи

ПС: Кстати одна из немногих позволяющая дообучать модель на новых данных. Что экономит море времени.

Попробовал его. Результатов получить не удалось...

> ruf <- randomUniformForest( X = x1,Y = y1,xtest = x2, ytest = y2,mtry = 1, ntree = 300,threads = 2, nodesize = 2)

Через 5 мин выдает.
Ошибка в OOB.votes - Y :неподобные многомерные матрицы

Структура подаваемых матриц:

> str(x1)
 num [1:20000, 1:9] 0.00148 0.33309 0.46698 0.26331 -0.05916 ...
> str(y1)
 num [1:20000, 1] 0 0 0 0 0 0 1 1 1 1 ...
> str(x2)
 num [1:10000, 1:9] 0.000746 0.162699 0.379051 -0.529729 -0.340744 ...
> str(y2)
 num [1:10000, 1] 0 0 1 1 0 0 0 0 0 0 ...

Непонятно - подобие чего с чем он требует.
Попробовал без xtest = x2, ytest = y2 - результат тот же.
Перехожу к следущему пакету.

 
elibrarius:

Попробовал его. Результатов получить не удалось...

> ruf <- randomUniformForest( X = x1,Y = y1,xtest = x2, ytest = y2,mtry = 1, ntree = 300,threads = 2, nodesize = 2)

Через 5 мин выдает.
Ошибка в OOB.votes - Y :неподобные многомерные матрицы

Структура подаваемых матриц:

> str(x1)
 num [1:20000, 1:9] 0.00148 0.33309 0.46698 0.26331 -0.05916 ...
> str(y1)
 num [1:20000, 1] 0 0 0 0 0 0 1 1 1 1 ...
> str(x2)
 num [1:10000, 1:9] 0.000746 0.162699 0.379051 -0.529729 -0.340744 ...
> str(y2)
 num [1:10000, 1] 0 0 1 1 0 0 0 0 0 0 ...

Непонятно - подобие чего с чем он требует.
Попробовал без xtest = x2, ytest = y2 - результат тот же.
Перехожу к следущему пакету.

Не понятно, почему не получилось, у меня все работает.

Хорошие результаты получал в caret. Там есть три функции отбора предикторов, они разной эффективности, но и по разному жрут вычислительный ресурс.


Есть еще один крайне любопытный пакет:  CORElearn. В том пакете для выбора предикторов имеется две функции, я их использовал в паре, дают очень хороший результат на моих предикторах. Особенно любопытна   attrEval с совершенно фантастическим набором методов оценки отбора, среди которых особое место это группа Relief, которая оценивает не только одно наблюдение (строку), а и ближайшие строки.


Удачи.  


ПС.

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

  • отбор по принципу: предикторы, имеющие отношение к целевой. Визард здесь давал ссылку на теорию этого этапа. Можно выделить два способа: статистика и энтропия. По обоим был код здесь
  • отбор перечисленными пакетами, которые НЕ имеют отнрошения к будущей модели
  • отбор, который делаем на результатах работы модели. Очень эффективен в линейных моделях. Например, по glm отбираем только знАчимые предикторы, а потом только их в сеть. Результат может удивить.  


Перед отбором предикторы могут потребовать предварительной обработки, например центрирования. Хорошо описано в статье Vladimir Perervenko

 
elibrarius:

Попробовал его. Результатов получить не удалось...

> ruf <- randomUniformForest( X = x1,Y = y1,xtest = x2, ytest = y2,mtry = 1, ntree = 300,threads = 2, nodesize = 2)

Через 5 мин выдает.
Ошибка в OOB.votes - Y :неподобные многомерные матрицы

Структура подаваемых матриц:

> str(x1)
 num [1:20000, 1:9] 0.00148 0.33309 0.46698 0.26331 -0.05916 ...
> str(y1)
 num [1:20000, 1] 0 0 0 0 0 0 1 1 1 1 ...
> str(x2)
 num [1:10000, 1:9] 0.000746 0.162699 0.379051 -0.529729 -0.340744 ...
> str(y2)
 num [1:10000, 1] 0 0 1 1 0 0 0 0 0 0 ...

Непонятно - подобие чего с чем он требует.
Попробовал без xtest = x2, ytest = y2 - результат тот же.
Перехожу к следущему пакету.

Можете выложить исходные наборы? 

Нужно указать что это не регрессия, поскольку целевая у Вас не фактор. Добавьте  параметры 

ruf <- randomUniformForest( X = x1,Y = y1,xtest = x2, ytest = y2,mtry = 3, ntree = 300,threads = 2, nodesize = 2, regression = FALSE)

или

ruf <- randomUniformForest( X = x1, Y = y1 %>% as.factor, xtest = x2, ytest = y2 %>% as.factor, mtry = 3,

             ntree = 300, threads = 2, nodesize = 2)

Удачи

 
СанСаныч Фоменко:

Есть еще один крайне любопытный пакет:  CORElearn. В том пакете для выбора предикторов имеется две функции, я их использовал в паре, дают очень хороший результат на моих предикторах. Особенно любопытна   attrEval с совершенно фантастическим набором методов оценки отбора, среди которых особое место это группа Relief, которая оценивает не только одно наблюдение (строку), а и ближайшие строки.


Согласен. В принципе это наверное самый серьезный пакет для RF. Нужно обращать внимание на разработчика Author: Marko Robnik-Sikonja . 

Удачи

 
Vladimir Perervenko:

Можете выложить исходные наборы? 

Нужно указать что это не регрессия, поскольку целевая у Вас не фактор. Добавьте  параметры 

ruf <- randomUniformForest( X = x1,Y = y1,xtest = x2, ytest = y2,mtry = 3, ntree = 300,threads = 2, nodesize = 2, regression = FALSE)

или

ruf <- randomUniformForest( X = x1, Y = y1 %>% as.factor, xtest = x2, ytest = y2 %>% as.factor, mtry = 3,

             ntree = 300, threads = 2, nodesize = 2)

Удачи

Это помогло. Спасибо!
 
Dr. Trader:

Конкретно про то сколько они оставляют себе - официально не написано. Всякие финансовые журналы писали о прибыли в 1.5 миллиона в 2016 году, и если сравнить сколько из этого они платили участникам - то получается немного.

> Вы думаете они торгуют эти прогнозы которые им присылают?
Да, в этом вся стратегия. Вот я например создам кучу фич, создам обучающую табличку, пришлю сюда в форум, человек 10 дадут свои  прогнозы, я по ним буду торговать - всё просто. 
Своей крипты у них небыло долго время, платили биткоинами. Просто брали и платили несколько тысяч долларов в биткоинах каждую неделю, целый год. Потом свою крипту выпустили чтоб с биткоинами не возиться.

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

1.5m$ это копейки, как для всей канторы, я слышал что в тот момент когда они свою крипту на биржу разместили некоторые участники(кто был в топе) сняли каждый если не миллионы$, то сотни штук$, можно было ОДИН РАЗ получить первое место и 4000NMR по 200$ за монету = 800.000к$, правда шара быстро кончилась и NMR рухнул и давать монет стали на порядки меньше, но вероятно кому то приятно повезло.

ИМХО я думаю что в начале они может и как то пытались торговать присылаемые прогнозы, тогда и места там были более менее предсказуемые, вероятно 90% денег просто они платили самим себе, большая часть в первой сотне были скорей всего ихние чуваки, чтобы деньги не утекали хрензнает кому. Но сейчас это чистое казино с "доказательством работы" и большим количеством рандома, такие слухи ходят по крайней мере.


PS:  раньше до своей монеты они платили 6к$ в неделю(но кому?), то есть 288к$ в год это выходит как раз таки "честных" ~20% с 1.5m с прибыли квантам))) Но ясное дело, что все эти цифры, можно сфабриковать.

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