Discussão do artigo "Distribuições estatísticas no MQL5 - tirando o melhor de R" - página 12

 
fxsaber:

Há anos é possível desenhar qualquer coisa de forma interativa. Somente ninguém (publicamente, com certeza) o utiliza.

O código não é curto, mas longo e muito torto (assim como o resultado - cintilações). A biblioteca deveria ser seriamente aprimorada.

Se você tomar o plot do R como um análogo, ele parece ser apenas gráficos estáticos. Se houver gráficos interativos, definitivamente não é o plot em uma forma direta. Procurei por algo assim lá por uma questão de interesse, mas havia referências em algum lugar na direção do trabalho conjunto com java, etc.

assim

Painel de controleVisualização interativa de dados com D3.js

se eu entendi corretamente, e assim por diante

timevis:

Crie visualizações de linha do tempo ricas e totalmente interativas. As linhas do tempo podem ser incluídas em aplicativos Shiny e documentos R markdown, ou visualizadas no console R e no RStudio Viewer. O 'timevis' inclui uma API extensa para manipular uma linha do tempo após a criação e oferece suporte à obtenção de dados da visualização para o R. Baseado no módulo de linha do tempo'vis.js' e no pacote R 'htmlwidgets'.

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

Se o plot do R for considerado um análogo do plot, parece ser apenas um gráfico estático. Se houver gráficos interativos, definitivamente não é o plot em sua forma direta. Procurei por algo assim lá por interesse, mas havia referências em algum lugar na direção da cooperação com o Java etc.

Somente a função GraphPlot (não o método) faz referência ao R. As classes em si não têm nada a ver com o R e devem permitir a interatividade. Elas permitirão.
 

Parece que está faltando uma coisa: a análise de agrupamento.

(Parece que está faltando uma coisa: a análise de agrupamento).

 
На практике компилятор MQL5 языка оказался гораздо быстрее С++ реализаций функций в R
Se você compilar uma implementação do R em C++, sua execução será mais lenta do que a implementação em MQL5?
 
fxsaber:
Se você compilar uma implementação do R em C++, sua execução será mais lenta do que a implementação em MQL5?

Sim, devido ao uso de dados dinâmicos como um mínimo e à abordagem frontal geral.

De fato, muitas funções básicas de mat são compiladas no compilador C/C++. Basta dar uma olhada no código-fonte.

 
Renat Fatkhullin:

Sim, devido ao uso de dados dinâmicos como mínimo e a uma abordagem geral direta.

De fato, muitas das funções básicas do Mat são compiladas no compilador C/C++. Basta dar uma olhada no código-fonte.

E onde ver COMO você compara a velocidade?
 
Renat Fatkhullin:

Sim, devido ao uso de dados dinâmicos como mínimo e a uma abordagem geral direta.

De fato, muitas das funções básicas do Mat são compiladas no compilador C/C++. Basta dar uma olhada no código-fonte.

Então, a implementação em MQL5 difere algoritmicamente para melhor ou o compilador MQL5 acabou sendo mais rápido do que o C++?
 
СанСаныч Фоменко:
Onde posso ver COMO vocês comparam as velocidades?
Leia o artigo completo.
 

ÓTIMO ARTIGO!

Vou dar uma olhada nele.

+

 
Renat Fatkhullin:
Leia o artigo na íntegra.

Leia-o.

Entrei no assunto.

Acho que os testes que você fez não estão totalmente corretos. Considero necessário escrever sobre isso, porque as comparações de desempenho não são a última coisa.

A questão é que o MKL é qualitativamente diferente do R. E em casos de comparações de desempenho, essas diferenças qualitativas devem ser levadas em conta sempre que possível. O R é um interpretador e o MKL é um compilador. Essa diferença qualitativa para programas industriais favorece o MKL.

Mas há outra diferença qualitativa que também é de grande importância na exploração industrial de programas e, nos testes, essas diferenças não foram levadas em conta, o que levou a resultados distorcidos.

A diferença qualitativa entre o R e o MKL é que o objeto elementar no MKL é um escalar, a partir do qual são criados objetos mais complexos, por exemplo, vetores. São os vetores que alimentam a entrada das funções de distribuição.

No R, não há nenhum conceito de "escalar". O objeto mais simples é um vetor. O R explora amplamente essa circunstância e, em nosso exemplo de comparação de funções de distribuição no código R, podemos ver claramente uma técnica de programação específica do R, como a "vetorização", que não está disponível no MKL. Como essa é uma técnica específica do R que acelera os cálculos de 10 a 100 vezes (dependendo do tamanho da matriz), o código do R teria que conter essa mesma técnica. O uso da vetorização é óbvio, pois nos testes pegamos um vetor de entrada e realizamos cálculos sobre ele 100 vezes, ou seja, é uma matriz com colunas iguais ou diferentes.

Em resumo: um texto em R deve ser escrito em R usando seus recursos, especialmente na ausência de seus análogos em MKL.

PS.

Como estamos falando de ciclos, o R destina-se a carregar núcleos. Mas vamos deixar isso entre colchetes.