Bitte erklären Sie mir meinen Stolperstein. Stellt sich heraus, dass HSIC die Abhängigkeit für eine beliebige klassische Funktion Y=F(X1, X2, ...) anzeigen wird?
Wahrscheinlich nicht für alle, denn die Abhängigkeit kann sehr schwach sein (z. B. aufgrund von starkem Rauschen), und dann wird sie möglicherweise nicht erkannt. Aber im Allgemeinen, wenn es etwas Signifikantes in den Daten gibt, erkennt der Test es.
Ich habe Daten einer anderen Art genommen.
// Y sind die Balken des Symbols, X1 sind die Balken vor Y, X2 sind die Balken vor X1. bool Fill( double &X1[], double &X2[], double &Y[], const int Size = 1000, const datetime Time = 0, const string Symb = NULL ) { int Pos = iBarShift(Symb, PERIOD_CURRENT, Time ? Time : TimeCurrent()); return((CopyClose(Symb, PERIOD_CURRENT, Pos, Size, Y) == Size) && (CopyClose(Symb, PERIOD_CURRENT, Pos += Size, Size, X1) == Size) && (CopyClose(Symb, PERIOD_CURRENT, Pos += Size, Size, X2) == Size)); }
In dem vorgeschlagenen Umordnungsskript habe ich diese Substitution vorgenommen.
if (SData == Nonlinear_dependence){ /* double x1 []; MathRandomUniform(-5,5,data_,x1); double x2 []; MathRandomUniform(-5,5,data_,x2); double NormD[]; MathRandomNormal(0,0.1,data_,NormD); double y[]; ArrayResize(y,data_); for (int i=0;i<data_;i++){ y[i] = pow(x1[i],2)*cos(M_PI*x2[i]) + NormD[i]; // Y = X1^2 * cos(pi*X2) + Noise } */ double x1[], x2[], y[]; Fill(x1, x2, y, data_);
Die Ergebnisse beziehen sich auf EURUSD.
Test6 (EURUSD,M1) Коэффициент корреляции (X1, Y) = 0.3757 Test6 (EURUSD,M1) Коэффициент корреляции (X2, Y) = -0.4280 Test6 (EURUSD,M1) ----------------Nonlinear_dependence------------- Test6 (EURUSD,M1) Время выполнения: 12.688 seconds Test6 (EURUSD,M1) ----------------------------------- Test6 (EURUSD,M1) Number observations 1000 Test6 (EURUSD,M1) HSIC: 0.01050641 Test6 (EURUSD,M1) p-value: 0.0000 Test6 (EURUSD,M1) Critical value: 0.0010 Test6 (EURUSD,M1) Отвергаем H0: Наблюдения зависимы
Dann habe ich ein benutzerdefiniertes Symbol auf der Grundlage von Zufallsinkrementen erstellt und den Test damit durchgeführt.
Test6 (RANDOM_EURUSD,M1) Коэффициент корреляции (X1, Y) = -0.6103 Test6 (RANDOM_EURUSD,M1) Коэффициент корреляции (X2, Y) = -0.4954 Test6 (RANDOM_EURUSD,M1) ----------------Nonlinear_dependence------------- Test6 (RANDOM_EURUSD,M1) Время выполнения: 12.656 seconds Test6 (RANDOM_EURUSD,M1) ----------------------------------- Test6 (RANDOM_EURUSD,M1) Number observations 1000 Test6 (RANDOM_EURUSD,M1) HSIC: 0.00900188 Test6 (RANDOM_EURUSD,M1) p-value: 0.0000 Test6 (RANDOM_EURUSD,M1) Critical value: 0.0009 Test6 (RANDOM_EURUSD,M1) Отвергаем H0: Наблюдения зависимы
Warum besteht im zweiten Fall eine Abhängigkeit? Grob gesagt, soll es eine Abhängigkeit zwischen drei Vektoren geben, die kumulative Summen einer Zufallsvariablen sind.
...
Warum gibt es im zweiten Fall eine Abhängigkeit? Grob gesagt, soll eine Abhängigkeit zwischen drei Vektoren bestehen, die kumulative Summen einer Zufallsvariablen sind.
Sie (die Abhängigkeit) ist definitiv vorhanden, da ein recht einfacher PRNG verwendet wird (ich gehe davon aus, dass Sie einen Standard-PRNG verwenden, den Sie z. B. mit Mersenne-Wirbel überprüfen können).
Eine andere Frage ist, wie stark die Abhängigkeit ist. Ich bin mir darüber nicht im Klaren und bitte den Autor zu erklären, wie man die erhaltenen Metriken richtig interpretiert.
Es wurden Daten anderer Art erfasst.
In dem vorgeschlagenen Umordnungsskript habe ich diese Ersetzung vorgenommen.
Ergebnisse für EURUSD.
Als Nächstes erstellte ich ein benutzerdefiniertes Symbol, das auf zufälligen Inkrementen basiert, und ließ es darauf laufen.
Warum gibt es im zweiten Fall eine Abhängigkeit? Grob gesagt, soll eine Abhängigkeit zwischen drei Vektoren bestehen, die kumulative Summen einer Zufallsvariablen sind.
Es wurden Daten anderer Art erfasst.
In dem vorgeschlagenen Umordnungsskript habe ich diese Ersetzung vorgenommen.
Ergebnisse für EURUSD.
Als Nächstes erstellte ich ein benutzerdefiniertes Symbol, das auf zufälligen Inkrementen basiert, und ließ es darauf laufen.
Warum gibt es im zweiten Fall eine Abhängigkeit? Grob gesagt, besteht vermutlich eine Abhängigkeit zwischen drei Vektoren, die kumulative Summen einer Zufallsvariablen sind.
Sie (die Abhängigkeit) ist definitiv vorhanden, da ein recht einfacher PRNG verwendet wird (ich gehe davon aus, dass Sie einen Standard-PRNG verwenden, den Sie z. B. bei Mersenne's Vortex überprüfen können).
Eine andere Frage ist, wie stark die Abhängigkeit ist. Ich bin etwas verwirrt und bitte den Autor zu erklären, wie man die erhaltenen Metriken richtig interpretiert.
Interessanter Artikel, ich kannte diese Methode nicht, danke. Gibt es irgendwelche hypothetischen Vorteile gegenüber der gegenseitigen Information? (Wechselseitige Information), weil sie weiter verbreitet war.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.

Neuer Artikel Das Hilbert-Schmidt-Unabhängigkeitskriterium (HSIC) :
Die Hauptaufgabe eines Händlers bei der Arbeit mit Kursen von Finanzinstrumenten besteht darin, ein Handelssystem (EA) mit einer positiven mathematischen Erwartung zu erstellen. Bei der Entwicklung solcher Systeme wird häufig davon ausgegangen, dass es versteckte Abhängigkeiten in den für das Training und den anschließenden Handel verwendeten Daten gibt. Eine statistische Überprüfung dieser Annahme erfolgt jedoch in der Regel nicht. Es wird angenommen, dass eine indirekte Antwort durch die Prüfung der Ergebnisse auf Daten außerhalb der Trainingsstichprobe gefunden werden kann.
Gleichzeitig ist eine statistisch fundierte Antwort auf die Frage, ob ein Zusammenhang zwischen den Merkmalen und der Zielvariablen besteht, von zentraler Bedeutung. Eine positive Antwort unterstützt den Einsatz von Vorhersagemodellen, während eine negative Antwort die Frage aufwirft: Was genau versucht der Algorithmus vorherzusagen?
In der mathematischen Statistik wird die Frage, ob eine probabilistische Abhängigkeit zwischen Zufallsvariablen besteht, durch Unabhängigkeitstests beantwortet. Ein solches Kriterium ist der statistische HSIC-Test, eine leistungsfähige nichtparametrische Methode, die 2005 von dem Statistiker Arthur Gretton entwickelt wurde.
Im Gegensatz zum Korrelationskoeffizienten, der nur lineare Beziehungen aufzeigt, ist der HSIC in der Lage, sowohl lineare als auch nicht-lineare Beziehungen zu erkennen. Aus diesem Grund wird HSIC beim maschinellen Lernen häufig für die Auswahl von Merkmalen, die Kausalanalyse und andere Aufgaben verwendet. In diesem Artikel werden wir das Funktionsprinzip von HSIC analysieren und es in der MQL5-Umgebung implementieren.
Autor: Evgeniy Chernish