Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 202

 
ivanivan_11:

sigue usando la R de mt5 mediante muletas. menos mal que las tienen - mt4r.

Disculpen. ¿Funciona mt4r también para el 5? ¿Lo has comprobado?
 
Alexey Burnakov:
Lo siento. ¿Funciona también el mt4r para 5? ¿Lo has comprobado?
Ver aquí, youtz https://www.mql5.com/ru/forum/37931/page10#comment_2945898
Обсуждение статьи "Третье поколение нейросетей: "Глубокие нейросети""
Обсуждение статьи "Третье поколение нейросетей: "Глубокие нейросети""
  • www.mql5.com
Мы создадим индикатор и эксперт, использующие модель глубокой сети и работающих в связке по схеме клиент-сервер и проведем их тестирование.
 
ivanivan_11:
ver aquí, youtz https://www.mql5.com/ru/forum/37931/page10#comment_2945898
О. Y eso es todo. Quiero fijar un modelo de gradiente binning con 500 árboles, por favor. Quiero una regresión robusta con un regularizador de red elástica, por favor. Y estos métodos no se encuentran tan a menudo en cualquier lugar. Y en R hay muchos.
 
Quantum:

Artículo "Computing discrete mixtures of continuous distributions" está disponible en el sitio web del autor.

Los autores del trabajo dicen que el problema está en el criterio de convergencia de la serie.


La implementación de su algoritmo de recurrencia propuesto 7.2 https://github.com/neurodebian/afni_removeme_eventually/blob/master/nct.c.

Sin embargo, el cálculo de la recurrencia tiene incertidumbres. Por ejemplo, para la función beta:


#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);
     }
  }

El cálculo de la CDF puede ser lo suficientemente preciso, pero para convertir los cuantiles con gran exactitud, su precisión puede no ser suficiente.

Por lo tanto, utilizamos la suma directa sin cálculos de recurrencia en el algoritmo para calcular los cuantiles.

Gracias por la información.
 
ivanivan_11:

Señores, ¿cuál es el argumento de 100.500 páginas? ¿Quién sabe más en matemáticas? ¿Qué diferencia hay por principio si la función está definida en 0 o no está definida, si un error en R está escrito en el artículo o no. Es como si aquí se discute a tu hijo y se le dice que es un total ... y tú lo defiendes con todo el pecho.

Tómalo como un hecho y utiliza las funciones incorporadas en mt5, pide a los desarrolladores nuevas funciones, si falta algo, escribe las tuyas propias. Hay que usar fichas nuevas, escribir las propias, si falta algo, escribir las propias, por fin seguir usando R de mt5 a través de muletas.

No hay ninguna diferencia fundamental. No tenemos ninguna diferencia en principio, y mucho menos en la práctica.

Pero hay - una respuesta a los tópicos categóricos. Y si no hay esas respuestas, puedes mearte en cualquier norma (incluida la IEEE, la mayor comunidad científica) y escribir lo que quieras.

 
Alexey Burnakov:

En principio, no hay ninguna diferencia. No hay ninguno, y mucho menos uno práctico.

Hay una respuesta a los tópicos categóricos. Si no hay respuestas de este tipo, se puede recurrir a cualquier norma (incluida la del IEEE, la mayor comunidad científica) y escribir lo que se quiera.

No pudiste oponer nada a la explicación de @Quantum, que es un tema muy investigado y que mostró la raíz del error. Él escribió la biblioteca, hizo una investigación profunda, mostró el fundamento, mientras que usted sólo preguntas y cree en R.

Nuestras conclusiones eran correctas.

 
ivanivan_11:

Señores, ¿cuál es el argumento de las 100.500 páginas? ¿Quién entiende mejor las matemáticas? ¿Qué diferencia hay por principio si la función está definida en 0 o no, si el artículo dice que hay un error en R o no? Es como si aquí se discute sobre tu hijo y se le dice que es un total... y tú lo defiendes con todo el pecho.

Alexey Burnakov:

En principio, no hay ninguna diferencia. No hay ninguna diferencia en principio, y mucho menos en la práctica.

No podría estar más de acuerdo. Quizá no lo encuentres en los cálculos prácticos, pero la densidad debe definirse correctamente.

Se encontró un ejemplo

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

lo que demuestra que no se puede devolver simplemente el valor límite, ya que de lo contrario la función de densidad de probabilidad se vuelve infinita. Esto es un error.

La forma correcta de definirlo es esta:

Entonces todo es lógico y correcto.

En Matlab se hace de la misma manera:

>> gamma_pdf(0.5,1,0)

ans =

0.00000000000000e+000

>> gamma_pdf(1,1,0)

ans =

0.00000000000000e+000

 
Renat Fatkhullin:

No has podido rebatir nada contra las explicaciones de @Quantum, que ha trabajado muy a fondo el tema y ha mostrado la raíz del error. Escribió la biblioteca, hizo una investigación en profundidad, mostró el fundamento, y por tu parte sólo preguntas y crees en R.

Nuestras conclusiones eran correctas.

El camino que has elegido está claro. Construir un conjunto de herramientas que permita (como crees) resolver los mismos problemas que en R. Tal vez.

Pero debes entender que ICL y R son lenguajes de diferente nivel de abstracción.

La ACM es un lenguaje de implementación con todo lo que ello implica. Forma la correspondiente manera de pensar de los programadores.

R/Python son lenguajes algorítmicos, con un mayor nivel de abstracción, que permiten resolver problemas complejos sin tener que preocuparse por el nivel de implementación. Sí, a veces aparecen cuellos de botella al perfilar cálculos complejos. Así que, bajemos, escribamos un archivo Cp y sigamos adelante. Si no ayuda, paralelízalo, si no es suficiente - conecta la tarjeta gráfica. Y para todo esto, ¡hay soluciones listas y probadas!

Usted sugiere que se empiece desde abajo. No discuto que sus herramientas puedan ser de oro hoy en día; incluso puede que algunas sean de platino, pero seguirán siendo herramientas. En sentido figurado, si tienes buenas herramientas y manos mareadas en el garaje, puedes construir una bicicleta, y puedes tomar unidades ya hechas y montar una bicicleta con las propiedades requeridas. Discutir cuál de estos enfoques es mejor no tiene sentido. Son diferentes y ambos tienen derecho a la vida. Cada uno puede elegir según sus preferencias.

Pero son dos caminos en planos paralelos, dudo que se crucen en un futuro próximo.

Buena suerte

 
Quantum:

No podría estar más de acuerdo. Es posible que esto no se encuentre en los cálculos prácticos, pero la densidad debe definirse correctamente.

Se encontró un ejemplo

lo que demuestra que no se puede devolver simplemente un valor límite, ya que de lo contrario la densidad de probabilidad es infinita. Esto es un error.

La forma correcta de definirlo es esta:

Entonces todo es lógico y correcto.

Matlab hace lo mismo:

OK, aceptado.

¿Y por qué dices: "...correctamente así..."? ¿Desde qué punto de vista es correcto? Vuelve a pincharme en Wolfram, donde el estadístico Tío Juan escribió "si no, 0". Sus propias consideraciones como experto, ¿por qué es correcto definir la densidad como 0 en cero? ¿Y ejemplos en los que definir la densidad como 1 o inf se convierte en un problema? Sin apuntar a grandes proyectos de software, por favor...

Y ya he dado ejemplos de discusiones en las que había ejemplos de que el 1 es más conveniente... Puedes leer mi último post en los enlaces.

Gracias.

 
Vladimir Perervenko:

El camino que has elegido está claro. Construir un conjunto de herramientas que permita (como crees) resolver los mismos problemas que en R. Tal vez.

Estás proponiendo empezar todo desde abajo. No discuto que tus herramientas de hoy puedan ser de oro e incluso puedes hacer algunas de platino, pero seguirán siendo herramientas. En sentido figurado, si tienes buenas herramientas y manos mareadas en el garaje, puedes construir una bicicleta, y puedes tomar unidades ya hechas y montar una bicicleta con las propiedades requeridas. Discutir cuál de estos enfoques es mejor no tiene sentido. Son diferentes y ambos tienen derecho a la vida. Cada uno puede elegir según sus preferencias.

Pero son dos caminos en planos paralelos y dudo que se crucen en un futuro próximo.

Nuestro enfoque: portar sus desarrollos de R a MQL5 utilizando nuestras bibliotecas estándar.

Verás que no sólo es posible, sino fácil. Nos hemos embarcado en una gran campaña para implementar funciones complejas en las bibliotecas y en el propio lenguaje.

Hoy publicaremos una beta y mostraremos otro bache con librerías gráficas para reemplazar el trazado en R.