Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Abbildung 19: LR-Korrelationsverteilung für 10.000 Random Walks
Abbildung 20: Verteilung von R^2 für 10.000 zufällige Spaziergänge
Ich verstehe nicht, wie R^2 die negativen Werte annehmen kann, die im zweiten Diagramm gezeigt werden? Ja, und es gibt Fragen zum ersten Diagramm. Wenn die lineare Regression korrekt dargestellt wird, sollte der Pearsonsche RQ (LR) nicht negativ sein. Aber in der Grafik ist er nicht negativ. Wo liege ich falsch?
Ich hab's. Ich liege nirgendwo falsch, es ist nur so, dass die Graphen benutzerdefinierte R^2 und LR haben - die Multiplikation mit -1 des realen Wertes tritt auf, wenn das letzte Element der numerischen Reihe kleiner ist als das erste. Es wäre gut, darüber zu schreiben, bevor die Graphen.
In diesem Papier wird die lineare Regression mit einem Fehler betrachtet - über CLinReg::LRLine.
Beweis
Ergebnis
Das Vorzeichen ist falsch. Alternative LR-Implementierung (CAlglib::LRBuild + CAlglib::LRUnpack) zählt korrekt:
Die Graphen der LR-Korrelations- und R^2-Verteilung für die 10.000 unabhängigen Beispiele, die in dem Artikel vorgestellt werden, zeigen, dass R^2 != LR^2 ist.
Ich verstehe nicht, warum der zweite Grad der ursprünglichen "konkaven" Verteilung sie "flach" macht?Hier wurde ich eines Besseren belehrt. Für mich ist die Aussage überhaupt nicht offensichtlich
Erstaunlich ist, dass wirdurch eine einfache mathematische Maßnahme (durch Erhöhen auf den zweiten Grad) die unerwünschten Randeffekte der Verteilung vollständig beseitigt haben.
Also habe ich beschlossen, dies experimentell mit Hilfe einer Animation zu bestätigen (und mich nicht auf mein Wort zu verlassen)
Es scheint so zu sein.
Abb. 21: R^2-Wert als benutzerdefiniertes Optimierungskriterium
Wo ist in MQL die LR-Korrelation, die auf dem Bild zu sehen ist? Oder werden dieser und viele andere Parameter nur für einzelne Läufe berechnet, so dass sie in ENUM_STATISTICS nicht vorhanden sind?
Wenn ja, schlagen sie vor, diesen Parameter aus den in diesem Artikel erwähnten vernünftigen Überlegungen zu berechnen: durch Eigenkapital ohne MM und quadriert.
ZЫ Ich habe gemessen, wie viel Zeit die Berechnung von GetCustomR für ein Array mit einer Million Werten (wie equity) in Anspruch nimmt - 2,5 Sekunden. Das ist eine Menge Zeit. Alles wird für die LR-Berechnung verwendet(CAlglib::LRBuild + CAlglib::LRUnpack). Aber manchmal ist gekrümmte LR durch CLinReg::LRLine um eine Größenordnung schneller. Wenn man es aufpeppt, wird es in Optimierungen als Optimierungskriterium tolerierbar.
Oh! Ich dachte immer, es wären 100. Danke, interessanter Artikel.
Ja, das ist eine Zahl, die mir in seriösen Büchern über R und Statistik begegnet ist. Aber leider konnte ich den Link nicht finden, tut mir leid.
Es ist auch üblich, Signifikanztests für den Regressionskoeffizienten durchzuführen. Sogar Alglib hat sie :-)
Offensichtlich sind die Tests für Normalverteilung. Wir haben eine Gleichverteilung.
PearsonCorrelationSignifikanz(), SpearmanRankCorrelationSignifikanz().
Danke für den Link, ich werde ihn mir merken.
ZY Falsche Aussage
R^2 ist nichts anderes als die Korrelation zwischen einer Grafik und ihrem linearen Modell
Ja, in der Tat, ein grober Fehler in der Formulierung. Ich bin überrascht, dass ich so etwas überhaupt geschrieben habe. Ich werde es korrigieren.
Wenn man sich all die anderen MQL-Codes ansieht, versteht man nicht, warum sie angegeben sind, denn sie sind ohne CStrategy-Kenntnisse völlig unlesbar
CStrategy wird nur zum Sammeln von Requisiten benötigt. Der Hauptcode ist, wie schon richtig bemerkt wurde, die eigentliche Berechnung von R2.
Der Code zur Berechnung des "Eigenkapitals", geeignet für R^2. Er ist im MT4-Stil geschrieben, es ist nicht schwierig, ihn in MT5.... zu übersetzen.
Schauen wir ihn uns an.
Ich stimme dem zu, der ganze Rest muss aus den Klassen herausgerissen werden, um ihn in Ihr System einzufügen... es wäre besser, alles in separaten f-Fällen oder einem separaten includnik zu haben.
Nehmen Sie Ihre Equity-Berechnung (oder den von fxsaber vorgestellten Code) als Double-Array und fügen Sie es in die R^2-Berechnungsfunktion ein. Sie müssen nichts herausreißen, Sie müssen keine Klassen und CStrategy verwenden.
Ich verstehe nicht, wie R^2 negative Werte annehmen kann, wie im zweiten Diagramm gezeigt? Auch beim ersten Diagramm gibt es Fragen. Wenn die lineare Regression richtig konstruiert ist, sollte Pearson's LR eigentlich nicht negativ sein. In der Grafik ist sie es aber nicht. Wo liege ich falsch?
Ich hab's. Ich liege nirgends falsch, es ist nur so, dass die Graphen ein individuelles R^2 und LR haben - die Multiplikation mit -1 des realen Wertes tritt auf, wenn das letzte Element der Zahlenreihe kleiner ist als das erste. Es wäre gut, dies vor den Graphen zu erwähnen.
Es ist in dem Artikel versteckt:
Unser Skript berechnet sowohl die LR-Korrelation als auch R^2. Wir werden den Unterschied zwischen beiden etwas später sehen. Es gibt einen kleinen Zusatz zum Skript. Wir multiplizieren den resultierenden Korrelationskoeffizienten mit dem endgültigen Vorzeichen des synthetischen Graphen. Wenn das Ergebnis kleiner als Null ist, ist die Korrelation negativ, wenn sie größer ist, positiv. Auf diese Weise lassen sich negative Ergebnisse schnell und einfach von positiven trennen, ohne dass man auf andere Statistiken zurückgreifen muss. So funktioniert die LR-Korrelation in MetaTrader 5, und R^2 wird nach demselben Prinzip erstellt.