Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 204

 
5 Seiten Streit über einen imaginären Fehler in einer Funktion, die niemand in diesem Thread will, in einem Thread über maschinelles Lernen, irgendetwas ist eindeutig falsch in dieser Welt...
 
Alexey Burnakov:

Es gibt einen Dialog mit Quantum, aber er weigert sich hartnäckig, die Frage zu beantworten, warum das, was er tut, "richtig" ist. Ganz einfach, weil es in dieser Frage nicht den einen richtigen Standpunkt gibt.

Wir müssen herausfinden, wie die Unendlichkeit, die dgamma(0,0.5,1) ausgegeben hat, verschwunden ist, warum sie da war, aber das Ergebnis der "Integration" endlich war.

Sie sagen, dass man einfach einen Grenzwert nehmen und den Punkt x=0 nicht von Hand in der Dichtedefinition auslöschen kann, wie es Mathematica und Matlab tun, und ein vernünftiges Ergebnis erhält.

Wie geht man damit um, dass man im Punkt x=0 die Unendlichkeit erhält?

Stimmt das erhaltene Ergebnis mit der Ableitung der unvollständigen Gammafunktion im Punkt x=0 überein?
 
Renat Fatkhullin:

Heute werden wir eine Beta-Version veröffentlichen und einen weiteren Bump mit grafischen Bibliotheken zeigen, um Plot in R zu ersetzen.

Ist es möglich, Grafiken zu speichern? Ich benötige eine Stapelverarbeitung von Daten mit Ausgabe von Diagrammen über einen langen Zeitraum....

Renat, ich glaube, ich hätte sagen sollen, dass Sie keinen R-Handler erstellen, sondern eine Alternative mit der Möglichkeit, R in Zukunft einzuholen. Ich benutze R nicht, aber die neuen Funktionen scheinen mir interessant zu sein, um sie in Zukunft zu nutzen. Ist es möglich, eine für OpenCL geschärfte Bibliothek auf einmal zu erstellen?

 
-Aleks-:

Ist es möglich, Diagramme zu speichern? Ich benötige seit langem eine Stapelverarbeitung mit Ausgabe von Grafiken....

Renat, mir scheint, ich hätte sagen sollen, dass Sie keinen R-Handler erstellen, sondern eine Alternative mit der Möglichkeit, in Zukunft zu R aufzuschließen. Ich benutze R nicht, aber ich finde neue Funktionen interessant, um sie in Zukunft zu nutzen. Könnten Sie nicht gleich eine Bibliothek mit OpenCL-Schärfung erstellen?

Das wird so sein. Die Diagramme basieren auf Kanvas und wir werden in der neuen Version das Speichern als BMP-Datei hinzufügen.

Heute in ein paar Stunden werden wir die Beta-Version von MetaQuotes-Demo mit Grafikbibliothek und erweiterter Statistikbibliothek veröffentlichen. Probieren Sie es einfach selbst aus: https://www.mql5.com/ru/forum/97153/page10#comment_3831485


Natürlich erstellen wir unsere eigene Implementierung von mathematischen Bibliotheken.

Wir haben den Vorteil, dass es nun schneller und einfacher ist, komplexe mathematische Roboter direkt innerhalb der Plattform ohne DLL zu erstellen. Schließlich ist die Analytik nicht selbst bewertbar und erfordert einen Anwendungsbereich.

Обсуждение статьи "Статистические распределения в MQL5 - берем лучшее из R и делаем быстрее"
Обсуждение статьи "Статистические распределения в MQL5 - берем лучшее из R и делаем быстрее"
  • www.mql5.com
Опубликована статья Статистические распределения в MQL5 - берем лучшее из R и делаем быстрее: Автор: MetaQuotes Software Corp...
 
Quantum:
Von welcher Funktion sprechen Sie? Welcher Parameter?
Ich meine dies aus dem Artikel https://www.mql5.com/ru/articles/2742#Errors_R, Abschnitt 6. Die festgestellten Berechnungsfehler in R
> n <- 5
> k <- seq(0,1,by=1/n)
> gamma_pdf<-dgamma(k, 1,1, log = FALSE)

Wenn man diesen Code lesbarer macht und den Vektor X weglässt, würde er wie folgt aussehen

> 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

Der vermeintliche Fehler besteht darin, dass
dgamma(x=0, shape=1, rate=1,log=FALSE)== 1

Nach der Formel in der R-Hilfedatei wird dies mit Hilfe der folgenden Formel berechnet
f(x)= 1/(s^a Gamma(a)) x^(a-1) e^-(x/s)
(shape= a und scale= s,fürx ≥ 0,a > 0 unds > 0)
scale is 1/rate by default

Das Problem ist, dass in diesem Fall x^(a-1) = 0^(1-1) = 0^0 ist, was undefiniert ist, d.h. es macht keinen Sinn, die Funktion mit einem solchen Parameter aufzurufen, und es macht keinen Sinn, die Ergebnisse mit anderer Software zu vergleichen. Denn 0^0 kann in verschiedenen Programmen unterschiedlich sein, je nach der Religion der Entwickler.
 

Was wir mit den Statistiken machen, ist Folgendes. Wir sind nur Nutzer. Wir können etwas sagen, aber es wird statistisch nicht signifikant sein.

Ich habe in Korrespondenz mit R-Support (stats Paket in der Basis enthalten) eingegeben. fragte sie, warum Werte 1 oder inf. Und ob es sicher ist, ihn in ihrer Arbeit zu verwenden, da andere Giganten einen Wert von Null als Null definieren können.

Wenn Sie Ihren Artikel ins Englische übersetzen, wird es für mich viel einfacher sein: Ich werde Ihnen einen Link zu dem Abschnitt geben, in dem "Bugs", echte und imaginäre, korrigiert werden. Sie können diesen Link dem R-Support-Team zeigen und es darum bitten.

 
Dr. Trader:
Dies ist der Artikel https://www.mql5.com/ru/articles/2742#Errors_R, Abschnitt 6, den ich meine. Die festgestellten Berechnungsfehler in R
> n <- 5
> k <- seq(0,1,by=1/n)
> gamma_pdf<-dgamma(k, 1,1, log = FALSE)

Wenn man diesen Code lesbarer macht und den Vektor X weglässt, würde er wie folgt aussehen:

> 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

Der vermeintliche Fehler besteht darin, dass
dgamma(x=0, shape=1, rate=1,log=FALSE)== 1

Nach der Formel in der R-Hilfedatei wird dies nach folgender Formel berechnet
f(x)= 1/(s^a Gamma(a)) x^(a-1) e^-(x/s)
(shape= a und scale= s,fürx ≥ 0,a > 0 unds > 0)
scale is 1/rate by default

Das Problem ist, dass in diesem Fall x^(a-1) = 0^(1-1) = 0^0 ist, was undefiniert ist, d.h. es macht keinen Sinn, die Funktion mit einem solchen Parameter aufzurufen, und es macht keinen Sinn, die Ergebnisse mit anderer Software zu vergleichen. Denn 0^0 kann in verschiedenen Programmen unterschiedlich sein, je nach der Religion der Entwickler.
Ich danke Ihnen. Ich versuche nun schon seit zwei Tagen, meinen Standpunkt klar zu machen. Aber anscheinend sind religiöse Ansichten gefährlich zu berühren...
 
0^0, was undefiniert ist, d.h. es macht keinen Sinn, die Funktion mit einem solchen Parameter aufzurufen, und es macht keinen Sinn, die Ergebnisse mit anderer Software zu vergleichen. Denn 0^0 kann in verschiedenen Programmen unterschiedlich sein, je nach der Religion der Entwickler.

Ich bin ein Amateur, aber Vasya Guglin denkt so )) wer hat mehr - Vasya Guglin oder wolfram?) nur ein Scherz, natürlich.


 
Renat Fatkhullin:

Das wird so sein. Die Graphen basieren auf Kanvas und wir werden die Funktion zum Speichern als BMP-Datei in der Release-Version hinzufügen.

Heute in ein paar Stunden werden wir die Beta-Version von MetaQuotes-Demo mit Grafikbibliothek und erweiterten Statistiken veröffentlichen. Probieren Sie es einfach selbst aus: https://www.mql5.com/ru/forum/97153/page10#comment_3831485

Tolle Neuigkeiten, vielen Dank!

Renat Fatkhullin:


Natürlich erstellen wir unsere eigene Implementierung von mathematischen Bibliotheken.

Wir haben den Vorteil, dass es schneller und bequemer sein wird, komplexe mathematische Roboter direkt in der Plattform ohne DLL zu erstellen. Schließlich ist die Analytik nicht selbst bewertbar und erfordert einen Anwendungsbereich.

Das ist gut, aber wir brauchen mehr Informationen über den Nutzen dieser Datenverarbeitungstechniken für den Handel. Das meiste, was ich anwende, ist die lineare Regression - es ist klar, was sie in der Praxis leisten kann, aber die anderen cleveren Dinge, wie sie für die Datenanalyse zu Entscheidungszwecken eingesetzt werden können - das würde ich gerne wissen.

Und Sie haben nichts über die Möglichkeit gesagt, OpenCL in der Bibliothek zu verwenden - gibt es irgendwelche Pläne, die Geschwindigkeit zu erhöhen, indem Rechenaufgaben innerhalb einer Funktion verteilt werden - besteht immer die Versuchung, die Leistung auf Kosten der Grafikkarte zu erhöhen?

 
-Aleks-:

Tolle Neuigkeiten, danke!

Und Sie haben noch nichts über die Möglichkeit der Verwendung von OpenCL in der Bibliothek gesagt - gibt es Pläne, die Geschwindigkeit zu erhöhen, indem Rechenaufgaben innerhalb der Funktion verteilt werden - es gibt immer die Versuchung, die Leistung auf Kosten der Grafikkarte zu erhöhen?

Wahrscheinlich wird man Ihnen anbieten, diese Funktionen bei Bedarf selbst zu nutzen https://www.mql5.com/ru/docs/opencl.

Ich habe eine alte Grafikkarte, OpenCL scheint es nicht zu unterstützen. Wenn sie die Unterstützung direkt in die Bibliothek schieben, was wird passieren? wird es auf Karten wie meiner versagen oder was?

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