Discusión sobre el artículo "Distribuciones Estadísticas en MQL5: tomando lo mejor de R" - página 12

 
fxsaber:

Hace años que es posible dibujar cualquier cosa de forma interactiva. Sólo que nadie (públicamente seguro) lo usa.

El código no es corto, sino largo y muy torcido (así como el resultado - parpadeos). La librería debería ser seriamente mejorada.

Si usted tomó parcela de R como un análogo, parece ser sólo gráficos estáticos. si hay gráficos interactivos, definitivamente no es parcela en una forma directa. busqué algo así allí por el bien de interés, pero había referencias en algún lugar en la dirección de trabajo conjunto con java, etc.

como este

dashboardVisualización interactiva de datos con D3.js

si he entendido bien, y tal

timevis:

Crea visualizaciones de líneas de tiempo ricas y totalmente interactivas. Las líneas de tiempo pueden incluirse en aplicaciones Shiny y documentos R markdown, o visualizarse desde la consola R y RStudio Viewer. timevis' incluye una amplia API para manipular una línea de tiempo después de su creación, y permite obtener datos de la visualización en R. Basado en el módulo Timeline'vis.js' y el paquete R 'htmlwidgets'.

CRAN - Package dashboard
  • cran.r-project.org
Johann Laurent.
 
ivanivan_11:

Si plot de R se tomó como un análogo de plot, parece ser sólo gráficos estáticos. si hay gráficos interactivos, definitivamente no es plot en su forma directa. busqué algo así allí por el bien de interés, pero había referencias en algún lugar en la dirección de la cooperación con java, etc.

Sólo GraphPlot-función (no método) se refiere a R. Las clases en sí no tienen nada que ver con R y deberían permitir la interactividad. Lo harán.
 

Parece que falta una cosa: el análisis de conglomerados.

(Parece que falta una cosa: el análisis de conglomerados).

 
На практике компилятор MQL5 языка оказался гораздо быстрее С++ реализаций функций в R
Si compilas una implementación de R en C++, ¿su ejecución será más lenta que tu implementación en MQL5?
 
fxsaber:
Si compilas una implementación de R en C++, ¿su ejecución será más lenta que tu implementación en MQL5?

Sí, debido a la utilización de datos dinámicos como mínimo y el enfoque frontal general.

De hecho, muchas funciones básicas de mat se compilan en el compilador C/C++. Basta con mirar el código fuente.

 
Renat Fatkhullin:

Sí, debido al uso de datos dinámicos como mínimo y a un planteamiento general de cabeza.

De hecho, muchas funciones básicas de mat se compilan en el compilador C/C++. Basta con mirar el código fuente.

¿Y dónde ver CÓMO se compara la velocidad?
 
Renat Fatkhullin:

Sí, debido al uso de datos dinámicos como mínimo y a un planteamiento general de cabeza.

De hecho, muchas funciones básicas de mat se compilan en el compilador C/C++. Basta con mirar el código fuente.

Entonces, ¿la implementación en MQL5 algorítmicamente difiere para mejor o el compilador MQL5 resultó ser más rápido que C++?
 
СанСаныч Фоменко:
¿Dónde puedo ver CÓMO se comparan las velocidades?
Lea el artículo completo.
 

¡GRAN ARTÍCULO!

Lo investigaré.

+

 
Renat Fatkhullin:
Lea el artículo completo.

Léalo.

Profundice en él.

Creo que las pruebas que ha dado no son del todo correctas. Considero necesario escribir sobre ello, porque las comparaciones de rendimiento no son lo último.

La cuestión es que MKL es cualitativamente diferente de R. Y en casos de comparaciones de rendimiento estas diferencias cualitativas deben tenerse en cuenta siempre que sea posible. R es un intérprete y MKL es un compilador. Esta diferencia cualitativa para los programas industriales va a favor de MKL.

Pero hay otra diferencia cualitativa que también es de gran importancia en la explotación industrial de programas y en las pruebas no se tuvieron en cuenta estas diferencias, lo que condujo a resultados sesgados.

La diferencia cualitativa entre R y MKL es que el objeto elemental en MKL es un escalar, a partir del cual se componen objetos más complejos, por ejemplo vectores. Son los vectores los que se introducen en la entrada de las funciones de distribución.

En R no existe el concepto de "escalar". El objeto más simple es un vector. R explota ampliamente esta circunstancia y en nuestro ejemplo de comparación de funciones de distribución en código R podemos ver claramente una técnica de programación, específica de R, como es la "vectorización", que no está disponible en MKL. Dado que se trata de una técnica específica de R que acelera los cálculos entre 10 y 100 veces (en función del tamaño de la matriz), el código para R tendría que contener precisamente esta técnica. El uso de la vectorización es obvio, porque en las pruebas tomamos un vector de entrada y realizamos cálculos sobre él 100 veces, es decir, es una matriz con columnas iguales o diferentes.

Resumiendo: un texto en R debería escribirse en R utilizando sus capacidades, especialmente en ausencia de sus análogos en MKL.

PS.

Ya que hablamos de ciclos, R está pensado para cargar núcleos. Pero dejémoslo entre paréntesis.