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

 
Alexey Burnakov:
Nichts ist verloren. Dann gibt es eine Reihe von Clusteränderungen. An den Übergangspunkten von Cluster zu Cluster kann man eine quadratische Matrix erstellen und die Handelsmethode ändern: Kauf auf Cluster n, Schließen der Position auf Cluster m. Dann die gleiche Matrix für den Verkauf. Alle Varianten sind gerade im Gange. Außerdem können Sie die Parameter für das Clustering variieren und das Ergebnis in der Schleife betrachten.
Das ist interessant
 
Dr. Trader:

Sie haben wahrscheinlich unterschiedliche Parameter für die Erstellung von Wäldern in r und rattle, so dass die Ergebnisse unterschiedlich sind. In Rattle selbst können Sie auch die Anzahl der Bäume und Variablen ändern.

Und Sie haben 34% Fehler in Rattle auf Trainingsdaten und 3% Fehler auf Validierungsdaten? Irgendetwas stimmt mit den Testdaten nicht, entweder war es schon in den Trainingsdaten vorhanden, oder Sie haben einen sehr kleinen Datensatz und es ist einfach so passiert.

Nein, beim Klappern in allen Stadien gibt es einen kleinen Fehler

und R hat auf allen Stufen eine große )

Parameter gleich sind, und bei beliebigen Parametern ist eine solche Lücke nicht möglich.

 
Wie zum Teufel kann man hier eine Datei anhängen? Oder sie wird nicht angehängt, oder sie friert ein...
 
mytarmailS:

Und noch eine Frage an die R

bibliothek(kza)

DAT <- rnorm(1000)

KZP <- kzp(DAT,m=100,k=3)

summary(KZP,digits=2,top=3)


Wie kann ich sie aus der "Zusammenfassung" http://prntscr.com/bhtlo9 herausholen, so dass ich mit diesen Ziffern arbeiten kann?

Ich habe auch solche Probleme. In der Regel führen Sie einfach attributes(KZP) aus, um eine Liste der verfügbaren Variablen zu erhalten, und gehen diese dann einfach durch, z. B. KZP$window usw., und finden die richtigen Zahlen. Aber hier werden diese Zahlen in der Funktion Zusammenfassung selbst erzeugt und nirgendwo gespeichert.

Hier ist ein Quellcode: https://cran.r-project.org/web/packages/kza/index.html, Sie müssen etwas wie dieses tun:

summary.kzp <- function(object, digits = getOption("digits"), top=1, ...)
{
        cat(" Call:\n ")
        dput(object$call, control=NULL)

        M=object$window
        if (is.null(object$smooth_periodogram)) {       d<-object$periodogram } else { d<-object$smooth_periodogram }
        
        mlist<-rep(0,top)
        for (i in 1:top) {
                mlist[i]<-which.max(d)
                d[which.max(d)]=NA                      
        }

   cat("\n Frequencies of interest:\n")
   print((mlist-1)/M, digits=digits, ...)

    cat("\n Periods of interest:\n")
    print(M/(mlist-1), digits=digits, ...)
    invisible(object)
}
 

Vielen Dank , Dr. Trader, es ist schön, jemanden zu haben, den man wegen dieses kniffligen R fragen kann.)

Über Rattle verstehe ich, was das Problem ist, Rattle sampelt auch die Daten "sample()" ist diese Aktion notwendig? Mit Sampling und auf R habe ich die gleichen Ergebnisse, aber der Trick ist, dass neue Daten eine Kerze zu einer Zeit kommen, wird es nicht möglich sein, sie zu sampeln.

Und es stellt sich heraus, dass, wenn die gesamte Stichprobe gesampelt wird, die Ergebnisse für alle Perioden erstaunlich sind, auch außerhalb der Stichprobe, aber wenn Sie echte Daten einreichen, ist es das gleiche wie immer.

Die Frage ist also, ob diese Stichprobe überhaupt notwendig ist?

 

Ja, das sollten Sie. Mit sample - rattle werden die Trainingsdaten nach Zeilen in mehrere Gruppen aufgeteilt (die Zeilen werden nach dem Zufallsprinzip auf drei Tabellen verteilt, im Verhältnis 75%/15%/15%). Aus einer Eingabedatei erhält man 3 Tabellen. Die Spalten sind davon nicht betroffen, sie sind in allen Tabellen identisch.

Tabelle train - sie wird zum Trainieren des Modells verwendet.

Tabellen validate und test - werden für die Kontrolle des Trainings benötigt.

Angenommen, Sie nehmen die Daten des letzten Jahres und wollen das Modell darauf trainieren, um die nächsten Monate zu handeln. Das Training selbst findet nur auf der Train-Tabelle statt. Danach können Sie das Modell auf der zweiten oder dritten Tabelle testen, indem Sie die Fehler zählen. Wenn das Modell korrekt trainiert wurde, sind die Fehler auf allen drei Tabellen annähernd gleich, obwohl das Modell nur mit der ersten Tabelle trainiert wurde.

Dies ist bei einem Random Forest leicht zu überprüfen. Nahezu jeder Datensatz kann 0% Fehler in der trainierten Tabelle ergeben. Wenn Sie jedoch dasselbe Modell anhand der Test- und Validierungstabellen überprüfen, werden Sie höchstwahrscheinlich einen Fehler von 50 % feststellen. Das bedeutet, dass das Modell übertrainiert ist, und wenn Sie es auf mt5 übertragen, werden Sie allmählich Ihr Depot aufbrauchen.
Aber wenn Sie die RData-Datei nehmen, die zuvor mit dem Beispiel von SanSanych gepostet wurde, wird der Forest auf der Train-Tabelle einen Fehler von etwa 30% ergeben. Bemerkenswerterweise bleibt der Fehler bei den Validierungs- und Testtabellen in etwa gleich, obwohl das Modell beim Training keine Daten aus diesen Tabellen gesehen hat. Ein solches Modell kann sicher auf mt5 übertragen und gehandelt werden.

Wenn Sie einfach alle verfügbaren Daten ohne Stichproben nehmen, das Modell trainieren, 0% Fehler sehen und sich freuen - dann wird im realen Handel alles sehr schlecht sein.

 
Dr. Trader:

Doch, das müssen Sie. Mit sample - rattle werden die Trainingsdaten nach Zeilen in mehrere Gruppen aufgeteilt (die Zeilen werden nach dem Zufallsprinzip in einem Verhältnis von 75%/15%/15% auf drei Tabellen verteilt). Es erzeugt 3 Tabellen aus einer Eingabedatei. Die Spalten sind hiervon nicht betroffen, sie sind in allen Tabellen identisch.

Tabelle trainieren - das Modelltraining wird darauf basieren

Tabellen validieren und testen - für das Controlling der Ausbildung

Angenommen, wir nehmen die Daten des letzten Jahres und wollen das Modell für den Handel in den nächsten Monaten trainieren. Die Ausbildung selbst findet nur auf dem Zugtisch statt. Danach können Sie das Modell an einer zweiten oder dritten Tabelle testen, indem Sie die Fehler zählen. Wenn das Modell korrekt trainiert wurde, sind die Fehler in allen drei Tabellen ungefähr gleich, obwohl es nur mit der ersten Tabelle trainiert wurde.

Bei einem Zufallswald ist das leicht zu überprüfen. Fast jeder Datensatz kann bei einer 0 %-Tabelle einen Fehler verursachen. Aber wenn man dasselbe Modell mit Test- und Validierungstabellen überprüft, würde man dort wahrscheinlich 50 % Fehler sehen. Das bedeutet, dass das Modell neu trainiert wird, und durch den Wechsel zu mt5 verlieren Sie nach und nach Ihre Einlage.
Wenn Sie aber die RData-Datei mit dem Beispiel von SanSanych nehmen, werden Sie einen Fehler von 30% in der Zugtabelle sehen. Bemerkenswerterweise bleibt der Fehler bei den Validierungs- und Testtabellen in etwa gleich, obwohl das Modell beim Training keine Daten aus diesen Tabellen gesehen hat. Sie können dieses Modell leicht auf mt5 übertragen und handeln.

Wenn Sie einfach alle verfügbaren Daten ohne Stichproben nehmen, das Modell trainieren, einen Fehler von 0 % sehen und sich freuen, wird es im realen Handel sehr schlecht sein.

Ich verstehe, worauf Sie hinauswollen, aber die Satire besteht darin, dass der Fehler bei allen drei Stichproben klein ist, aber bei den Daten ohne Stichprobe groß.

Senden Sie mir Ihre E-Mail in einer privaten Nachricht werde ich Ihnen die Daten, sehen Sie selbst oder lehren mich, eine Datei anhängen, weil ich entweder nicht anhängen oder das Forum hängt im Allgemeinen, wenn Sie versuchen, anhängen

 

Wie auch immer, ich habe mein Modell (Random Forest) trainiert, das Ergebnis ist nicht zufriedenstellend, aber es wird nicht neu trainiert wie

1) Mein Ziel ist ein Zickzackkurs mit einem Knie von 0,5 %.

2) Prädiktoren - Levels und Candlesticks - insgesamt 100 Dinge (ohne Oszillatoren und andere Indikatoren)

3) Das Modell selbst wurde überhaupt nicht optimiert, ich habe nur 3 Divisionen eingesetzt, die Anzahl der Bäume beträgt 200 Einheiten

4) Übrigens, wenn wir sie durch PrunePredictors (Feature Selection) laufen lassen, werden nur 3 Prädiktoren von allen 100 verworfen, so dass insgesamt 97 Prädiktoren übrig bleiben

die Stichprobe wird in zwei Teile geteilt, einen Trainings- und einen Testteil, wobei der Testteil der 5. Teil des Trainingsteils ist

Zum Trainingsteil: Modellfehler 33 %.


Im Test: Modellfehler 32%


Die Daten werden nicht abgetastet, weil ich dieses Biest noch nicht verstehe.

Jetzt können wir über den Cluster nachdenken

 

Forum: wie man ein Bild einfügt

Nur so bleibt das Bild für immer im Forum und alle Benutzer können es auch nach einem Jahr noch sehen und verstehen, worum es ging.

Die einzige Möglichkeit, ein Bild auf unbestimmte Zeit in einem Forum zu behalten, besteht darin, dass alle Benutzer es auch nach einem Jahr noch sehen und verstehen können.

 
mytarmailS:

Die Frage ist nicht, warum es unterschiedliche Ergebnisse in R und Rattle bei denselben Daten und demselben Modell gibt

Zweite Frage: Welchen Sinn hat es, ein Modell, das nicht in die Stichprobe aufgenommen wurde, auf Rasselgeräusche zu testen, wenn es die Hölle zeigt?

Sie haben meinen Beitrag missverstanden