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

 
ivanivan_11:

продолжайте пользоваться R из мт5 через костыли. благо они есть - mt4r.

Прошу прощения. А mt4r под пятерку тоже работает? Проверяли?
 
Alexey Burnakov:
Прошу прощения. А mt4r под пятерку тоже работает? Проверяли?
смотреть тут, тыц https://www.mql5.com/ru/forum/37931/page10#comment_2945898
Обсуждение статьи "Третье поколение нейросетей: "Глубокие нейросети""
Обсуждение статьи "Третье поколение нейросетей: "Глубокие нейросети""
  • www.mql5.com
Мы создадим индикатор и эксперт, использующие модель глубокой сети и работающих в связке по схеме клиент-сервер и проведем их тестирование.
 
ivanivan_11:
смотреть тут, тыц https://www.mql5.com/ru/forum/37931/page10#comment_2945898
О. А это все, что надо. Хочу прицепить модель градиентного бустинга с 500 деревьями, пожалуйста. Хочу робастную регрессию с регуляризатором elastic net - прошу. А эти методы не то, чтобы часто где можно встретить. А под R их завались.
 
Quantum:

Статья "Computing discrete mixtures of continuous distributions" есть на сайте автора.

Авторы статьи говорят что проблема в критерии сходимости ряда.


Реализация предложенного ими рекуррентного алгоритма 7.2 https://github.com/neurodebian/afni_removeme_eventually/blob/master/nct.c

Однако рекуррентный расчет имеет погрешности. Например, для бета-функции:


#include <Math\Stat\Math.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double a=1;
   double b=1;
   double r_beta=MathBeta(a,b);
   for(int j=0; j<40; j++)
     {
      if(j>0)
        {
         r_beta*=((a+j-1)/(a+b+j-1));
        }
      double beta=MathBeta(a+j,b);
      PrintFormat("%d   error=%5.20e",j,beta-r_beta);
     }
  }

Для расчета CDF точности может быть достаточно, но для обращения квантилей с большой точностью его точности может быть недостаточно.

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

Спасибо за информацию!
 
ivanivan_11:

господа, о чем спор на 100500 страниц? кто в математике лучше разбирается? какая вам разница принципиальная - определяется функция в 0-не определяется,написали в статье - ошибка в R-или не ошибка. как-будто тут обсуждают вашего ребенка и говорят,что он полный ...,а вы всей грудью встали на его защиту.

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

Принципиальной разницы нет. Никакой и тем более практической.

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

 
Alexey Burnakov:

Принципиальной разницы нет. Никакой и тем более практической.

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

Вы не смогли противопоставить ничего против объяснений @Quantum, который очень глубоко проработал тему и показал корень ошибки. Он написал библиотеку, провел глубокие исследования, показал обоснования, а с вашей стороны лишь вопросы и вера в R.

Наши выводы были верны.

 
ivanivan_11:

господа, о чем спор на 100500 страниц? кто в математике лучше разбирается? какая вам разница принципиальная - определяется функция в 0-не определяется,написали в статье - ошибка в R-или не ошибка. как-будто тут обсуждают вашего ребенка и говорят,что он полный ...,а вы всей грудью встали на его защиту.

Alexey Burnakov:

Принципиальной разницы нет. Никакой и тем более практической.

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

Был найден пример

> dgamma(0,0.5,1,log=FALSE)
[1] Inf

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

Правильно определять ее нужно так:

Тогда все логично и правильно.

В Matlab сделано так же:

>> gamma_pdf(0.5,1,0)

ans =

    0.00000000000000e+000

>> gamma_pdf(1,1,0)

ans =

    0.00000000000000e+000

 
Renat Fatkhullin:

Вы не смогли противопоставить ничего против объяснений @Quantum, который очень глубоко проработал тему и показал корень ошибки. Он написал библиотеку, провел глубокие исследования, показал обоснования, а с вашей стороны лишь вопросы и вера в R.

Наши выводы были верны.

Выбранный Вами путь понятен. Наращивать инструментарий который позволит (как Вы думаете) решать такие же задачи как в R. Возможно.

Но Вы  должны понимать, что МКЛ и R - это языки разного уровня абстракции.

МКЛ - это язык реализации со всеми вытекающими. Он и формирует соответствующий образ мышления программистов. 

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

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

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

Удачи 

 
Quantum:

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

Был найден пример

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

Правильно определять ее нужно так:

Тогда все логично и правильно.

В Matlab сделано так же:

ОК, принято. 

А почему вы говорите, "...правильно так..."? Из каких соображений это правильно? Опять меня тык в Вольфрам, где статистик Дядя Джон написал "otherwise 0". Ваши собственные соображения как специалиста, почему в нуле плотность правильнее всего определить как 0? И примеры, когда определение плотности как 1 или inf становится проблемой? Без указаний на крупные ПО проекты, пожалуйста...

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

Спасибо. 

 
Vladimir Perervenko:

Выбранный Вами путь понятен. Наращивать инструментарий который позволит (как Вы думаете) решать такие же задачи как в R. Возможно.

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

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

Наш подход - переносите свои разработки из R в MQL5 с использованием наших стандартных библиотек.

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

Сегодня опубликуем бету и покажем еще одну ударную возможность с графическими библиотеками для замены plot в R.

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