L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 204

 
Cinq pages d'argumentation à propos d'une erreur imaginaire dans une fonction dont personne ne veut dans ce fil de discussion, dans un fil de discussion sur l'apprentissage automatique, quelque chose ne tourne pas rond dans ce monde...
 
Alexey Burnakov:

Il y a un dialogue avec Quantum, mais il refuse obstinément de répondre à la question de savoir pourquoi ce qu'il fait est "juste". Tout simplement parce qu'il n'y a pas un seul point de vue correct sur la question.

Nous devons découvrir comment l'infini que dgamma(0,0.5,1) a donné a disparu, pourquoi il était là, mais le résultat de son "intégration" était fini.

Vous dites que l'on peut simplement prendre une limite et ne pas mettre à zéro le point x=0 à la main dans la définition de la densité comme le font Mathematica et Matlab et obtenir un résultat raisonnable.

Comment faire avec l'infini obtenu au point x=0 ?

Le résultat obtenu coïncide-t-il avec la dérivée de la fonction gamma incomplète au point x=0 ?
 
Renat Fatkhullin:

Aujourd'hui, nous allons publier une bêta et montrer une autre bosse avec des bibliothèques graphiques pour remplacer plot dans R.

Sera-t-il possible de sauvegarder les graphiques ? J'ai besoin d'un traitement par lots de données avec sortie de graphiques pour une longue période.....

Renat, je pense que j'aurais dû dire que vous ne créez pas un gestionnaire de R, mais une alternative avec des possibilités de rattraper R dans le futur. Je n'utilise pas R mais les nouvelles fonctions me semblent intéressantes à utiliser dans le futur. Est-il possible de créer une bibliothèque affinée pour OpenCL en une seule fois ?

 
-Aleks:

Sera-t-il possible de sauvegarder les graphiques ? Cela fait longtemps que j'ai besoin d'un traitement de données par lots avec sortie de graphiques.....

Renat, je pense que j'aurais dû dire que vous ne créez pas un gestionnaire de R, mais une alternative avec des possibilités de rattraper R dans le futur. Je n'utilise pas R mais je trouve les nouvelles fonctions intéressantes à utiliser dans le futur. Ne pourriez-vous pas faire une bibliothèque avec l'affûtage OpenCL en une seule fois ?

Il y en aura. Les graphiques sont basés sur des kanvas et nous ajouterons l'enregistrement dans un fichier BMP dans la version finale.

Aujourd'hui, dans quelques heures, nous publierons la version bêta de MetaQuotes-Demo avec la bibliothèque graphique et la bibliothèque statistique étendue. N'hésitez pas à l'essayer vous-même : https://www.mql5.com/ru/forum/97153/page10#comment_3831485.


Bien entendu, nous créons notre propre mise en œuvre des bibliothèques mathématiques.

Nous avons l'avantage qu'il sera désormais plus rapide et plus facile de créer des robots mathématiques complexes directement dans la plateforme, sans aucune DLL. Après tout, l'analytique n'est pas auto-évaluable et nécessite un domaine d'application.

Обсуждение статьи "Статистические распределения в MQL5 - берем лучшее из R и делаем быстрее"
Обсуждение статьи "Статистические распределения в MQL5 - берем лучшее из R и делаем быстрее"
  • www.mql5.com
Опубликована статья Статистические распределения в MQL5 - берем лучшее из R и делаем быстрее: Автор: MetaQuotes Software Corp...
 
Quantum:
De quelle fonction parlez-vous ? Quel paramètre ?
Je parle de ceci, de l'article https://www.mql5.com/ru/article s/2742#Errors_R, section 6. Les erreurs de calcul détectées dans R
> n <- 5
> k <- seq(0,1,by=1/n)
> gamma_pdf<-dgamma(k, 1,1, log = FALSE)

si vous rendez ce code plus lisible, et sans le vecteur X, il ressemblerait à ceci

> dgamma(x=0, shape=1, rate=1, log=FALSE)
[1] 1
> dgamma(x=0.2, shape=1, rate=1, log=FALSE)
[1] 0.8187308
> dgamma(x=0.4, shape=1, rate=1, log=FALSE)
[1] 0.67032
> dgamma(x=0.6, shape=1, rate=1, log=FALSE)
[1] 0.5488116
> dgamma(x=0.8, shape=1, rate=1, log=FALSE)
[1] 0.449329
> dgamma(x=1, shape=1, rate=1, log=FALSE)
[1] 0.3678794

L'erreur supposée est que
dgamma(x=0, shape=1, rate=1,log=FALSE)== 1

Selon la formule du fichier d'aide de R, cela se calcule à l'aide de la formule
f(x)= 1/(s^a Gamma(a)) x^(a-1) e^-(x/s)
(shape= a et scale= s,pourx ≥ 0,a > 0 ets > 0)
scale est 1/rate par défaut

Le problème est que dans ce cas x^(a-1) = 0^(1-1) = 0^0, qui est indéfini, c'est-à-dire qu'il n'y a aucun intérêt à appeler la fonction avec un tel paramètre, et il n'y a aucun intérêt à comparer les résultats avec d'autres logiciels. Car 0^0 peut être différent dans différents logiciels, en fonction de la religion des développeurs.
 

Voici ce que nous faisons avec les statistiques. Nous ne sommes que des utilisateurs. Nous pouvons dire quelque chose, mais ce ne sera pas statistiquement significatif.

Je suis entré en correspondance avec le support R (paquet stats inclus dans la base). Je leur ai demandé pourquoi les valeurs de 1 ou inf. Et s'il est sûr de l'utiliser dans leur travail, étant donné que d'autres géants peuvent définir une valeur de zéro comme zéro.

Si vous traduisez votre article en anglais, ce sera beaucoup plus facile pour moi : je vous donnerai un lien vers la section où les "bugs", réels et imaginaires, sont corrigés. Vous pouvez montrer ce lien à l'équipe d'assistance R et leur demander.

 
Dr. Trader:
Voici ce dont je parle, tiré de l'article https://www.mql5.com/ru/article s/2742#Errors_R, section 6. Les erreurs de calcul détectées dans R
> n <- 5
> k <- seq(0,1,by=1/n)
> gamma_pdf<-dgamma(k, 1,1, log = FALSE)

si vous rendez ce code plus lisible, et sans le vecteur X, il ressemblerait à ceci :

> dgamma(x=0, shape=1, rate=1, log=FALSE)
[1] 1
> dgamma(x=0.2, shape=1, rate=1, log=FALSE)
[1] 0.8187308
> dgamma(x=0.4, shape=1, rate=1, log=FALSE)
[1] 0.67032
> dgamma(x=0.6, shape=1, rate=1, log=FALSE)
[1] 0.5488116
> dgamma(x=0.8, shape=1, rate=1, log=FALSE)
[1] 0.449329
> dgamma(x=1, shape=1, rate=1, log=FALSE)
[1] 0.3678794

L'erreur supposée est que
dgamma(x=0, shape=1, rate=1,log=FALSE)== 1

Selon la formule figurant dans le fichier d'aide de R, cette valeur est calculée à l'aide de la formule suivante
f(x)= 1/(s^a Gamma(a)) x^(a-1) e^-(x/s)
(shape= a et scale= s,pourx ≥ 0,a > 0 ets > 0)
scale is 1/rate by default

Le problème est que dans ce cas x^(a-1) = 0^(1-1) = 0^0, ce qui est indéfini, c'est-à-dire qu'il n'y a aucun intérêt à appeler la fonction avec un tel paramètre et aucun intérêt à comparer les résultats avec d'autres logiciels. Car 0^0 peut être différent dans différents logiciels, en fonction de la religion des développeurs.
Merci. Cela fait deux jours que j'essaie de faire passer mon message. Mais apparemment, les opinions religieuses sont dangereuses à toucher...
 
0^0, qui est indéfini, c'est-à-dire qu'il est inutile d'appeler la fonction avec un tel paramètre et il est inutile de comparer les résultats avec d'autres logiciels. Car 0^0 peut être différent dans différents logiciels, selon la religion des développeurs.

je suis un amateur, mais Vasya Guglin le pense ;) qui est le plus long - Vasya Guglin ou wolfram ?) je plaisante, bien sûr.


 
Renat Fatkhullin:

Il y en aura. Les graphiques sont basés sur des kanvas et nous ajouterons la fonction d'enregistrement dans un fichier BMP dans la version finale.

Aujourd'hui, dans quelques heures, nous publierons la version bêta de MetaQuotes-Demo avec une bibliothèque graphique et des statistiques étendues. N'hésitez pas à l'essayer vous-même : https://www.mql5.com/ru/forum/97153/page10#comment_3831485.

Grande nouvelle, merci !

Renat Fatkhullin:


Bien entendu, nous créons notre propre mise en œuvre des bibliothèques mathématiques.

Nous avons l'avantage qu'il sera plus rapide et plus pratique de créer des robots mathématiques complexes directement dans la plateforme sans aucune DLL. Après tout, l'analytique n'est pas auto-évaluable et nécessite un domaine d'application.

C'est bien, mais nous avons besoin de plus d'informations sur l'utilité de ces techniques de traitement des données pour le commerce. Ce que j'applique le plus est la régression linéaire - ce qu'elle peut donner en pratique est clair, mais les autres trucs intelligents, comment ils s'appliquent à l'analyse des données pour la prise de décision - j'aimerais bien le savoir.

Et, vous n'avez rien dit sur la possibilité d'utiliser OpenCL dans la bibliothèque - est-il prévu de l'accélérer en distribuant les tâches de calcul au sein d'une fonction - la tentation d'augmenter les performances au détriment de la carte vidéo n'est-elle pas toujours présente ?

 
-Aleks:

Grande nouvelle, merci !

Et, vous n'avez rien répondu sur la possibilité d'utiliser OpenCL dans la bibliothèque - est-il prévu de l'accélérer en distribuant les tâches de calcul dans la fonction - il est toujours tentant d'augmenter les performances au détriment de la carte graphique ?

Il vous sera probablement proposé d'utiliser vous-même ces fonctions si nécessaire https://www.mql5.com/ru/docs/opencl.

J'ai une vieille carte vidéo et OpenCL ne semble pas le prendre en charge. S'ils placent le support directement dans la bibliothèque, que se passera-t-il ? Est-ce que ça échouera sur des cartes comme la mienne ou quoi ?

Документация по MQL5: Работа с OpenCL
Документация по MQL5: Работа с OpenCL
  • www.mql5.com
Работа с OpenCL - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Raison: