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

 
Maxim Dmitrievsky #:

Wie kann man die Ergebnisse des Lebenslaufs anschließend richtig nutzen?

Ich optimiere die Hyperparameter des Modells (Tiefe des Lernbaums oder Anzahl der Beispiele im Blatt, Anzahl der Bäume usw.) und den Datensatz (Anzahl der Zeilen, mögliche Kombinationen von Merkmalen)

Ich lasse all diese Varianten durchlaufen und wähle dann die beste Variante der Modell- und Datensatzparameter nach dem besten Gesamtergebnis der Vorwärtsbewertung aus. Ich denke, dass die Kreuzvalidierung schlimmer ist, während das Vorwärtsrollen eine Kopie dessen ist, was in der Realität passieren wird: eine Woche lang handeln, eine weitere Woche lang umschulen, wieder umschulen usw.

die besten gefundenen Modellparameter nehmen und sie dann auf dem gesamten Datensatz trainieren

Es ist unlogisch, mit dem gesamten Datensatz zu trainieren.
Was die beste Geschichtstiefe ist, sollten wir auch weiterhin in der gleichen Tiefe trainieren. Mein Modell, das N-mal auf 50 000 Zeilen von M5 (fast ein Jahr) trainiert wurde, kann 52 % für die Summe aller Vorwärtsbewegungen anzeigen. Wenn wir dieselben Parameter verwenden, aber nur einen Unterschied in der Tiefe der Historie, d. h. 70 000 oder 30 000 Zeilen, werden es weniger als 50 % für die Summe aller Vorwärtsbewegungen sein.

Der Grund dafür ist, dass die Blätter nicht die gleichen Beispiele enthalten werden. Die Bäume können mehr oder weniger Blätter haben, usw. Ich denke, dass Sie für unterschiedlich große Datensätze die Tiefe oder die Anzahl der Beispiele im Blatt ändern sollten.

 
elibrarius #:

Ich optimiere die Hyperparameter des Modells (Tiefe des Baumtrainings oder Anzahl der Beispiele im Blatt, Anzahl der Bäume usw.) und den Datensatz (Anzahl der Zeilen, mögliche Kombinationen von Merkmalen)

Ich lasse all diese Varianten durchlaufen und wähle dann die beste Variante der Modell- und Datensatzparameter nach dem besten Gesamtergebnis der Vorwärtsbewertung aus. Die Kreuzvalidierung ist meiner Meinung nach noch schlimmer, denn die Vorwärtsvalidierung ist eine Kopie der Realität: eine Woche lang gehandelt - neu trainiert, eine weitere Woche, wieder neu trainiert, usw.

Für den gesamten Datensatz - unlogisch.
Die beste Tiefe der Geschichte, die Sie haben, werden Sie in der gleichen Tiefe weiter trainieren. Mein Modell, das N-mal auf 50 000 Zeilen von M5 (fast ein Jahr) trainiert wurde, kann 52 % der Summe aller Vorwärtsbewegungen anzeigen. Wenn wir dieselben Parameter verwenden, aber mit einem Unterschied nur in der Tiefe der Geschichte, d. h. 70 000 oder 30 000 Zeilen, wird es weniger als 50 % der Summe aller Vorwärtsbewegungen betragen.

Der Grund dafür ist, dass die Blätter nicht die gleichen Beispiele enthalten werden. Die Bäume können mehr oder weniger Blätter haben, usw. Ich denke, für unterschiedlich große Datensätze müssen Sie die Tiefe oder die Anzahl der Beispiele im Blatt ändern.

Meiner Meinung nach ist der Lebenslauf erforderlich, um die Qualität des Datensatzes zu bewerten, nicht die Robustheit eines bestimmten Modells. Wenn der durchschnittliche Fehler bei k-folds akzeptabel ist, können wir ein Modell auf diesem Datensatz trainieren und es wird auch gut sein. Wir können gemittelte Parameter aus den für cv verwendeten Modellen übernehmen.
 
Maxim Dmitrievsky #:
Nun, meiner Meinung nach wird cv benötigt, um die Qualität des Datensatzes zu bewerten, nicht die Robustheit eines bestimmten Modells. Wenn der durchschnittliche Fehler bei k-folds akzeptabel ist, können wir das Modell auf diesem Datensatz trainieren und es wird auch gut sein. Sie können gemittelte Parameter aus den für cv verwendeten Modellen übernehmen.
Aus dem Datensatz werden wir immer wieder verschiedene Chunks nehmen. Ich werde sowohl den Datensatz (Anzahl der Zeilen und Merkmale) als auch die Modellparameter optimieren.
 
Aleksey Nikolayev #:

Es ist wahrscheinlich möglich, jede Beobachtung aus dem Test daraufhin zu überprüfen, ob sie in irgendeiner Weise ein Ausreißer im Vergleich zur Prüfung ist.

Das wäre doch interessant zu wissen!

Ich will damit sagen, dass der Markt volatil und zyklisch ist, und theoretisch wird jedes Modell, unter der Annahme, dass sich die Ereignisse wiederholen (sonst hätte es keinen Sinn zu lernen), in verschiedenen Perioden seines Bestehens eine hohe Genauigkeit aufweisen, und es ist wahrscheinlich, dass es in den Testabschnitten einfach einen anderen Markt, eine andere Welle geben wird. Es wird mit den ausgeprägtesten Mustern trainiert, aber können wir davon ausgehen, dass sie genauso stabil sind? Ich denke, dass die Qualität eines Modells von den Prädiktoren abhängt, die stabile Muster beschreiben, und deshalb sollten wir mit den Beispielen trainieren, die typisch für die Ergebnisse in verschiedenen Teilen der Stichprobe sind.

 
mytarmailS #:
Sie können dies über Holzmodelle tun...
Zerlegen Sie das Modell in Regeln, analysieren Sie die Regeln für die gewünschten Statistiken (Wiederholbarkeit usw.), prüfen Sie, ob die Regel in den neuen Daten erscheint...

Das Paket "intrees" umfasst 5 Zeilen Code und geht

Ich mache das schon seit langem mit Blättern, aber es ist nicht ganz dasselbe - es erlaubt mir nicht, atypische Beispiele in der Probe zu erkennen.

 
Vladimir Perervenko #:

NoiseFiltersR-Paket. Schauen Sie sich den Artikel an.

Ich habe mir den Artikel angesehen. Soweit ich weiß, liefert dieses Paket keine signifikanten Ergebnisse - eine Steigerung von etwa 3%, aber es ist interessant - können Sie das Prinzip seiner Arbeit erklären?

 
elibrarius #:
Wir werden immer wieder andere Teile des Datensatzes nehmen. Ich optimiere sowohl den Datensatz (Anzahl der Zeilen und Merkmale) als auch die Modellparameter.

Ich vergaß, haben Sie eine Zielfarbe/einen Zieltyp für die aktuelle Stundenkerze?

 
Aleksey Nikolayev #:

Während die Lärmvorhersagen mehr oder weniger klar sind, sind die Lärmbeispiele nicht eindeutig. Ich würde gerne mehr darüber wissen, wie sie definiert sind (in Bezug auf die Theorie, nicht auf die Namen der verwendeten Pakete/Funktionen, obwohl es natürlich immer Verweise auf Artikel in R gibt). Es ist klar, dass es bei der Einstufung eine Klasse "Nicht handeln" geben sollte, da es als Fehler angesehen wird, ständig auf dem Markt zu sein. Aber es ist nicht ganz klar, wie man diese Klasse in mehr oder weniger formaler Form korrekt beschreiben kann.

Für die Bearbeitung verrauschter Beispiele gibt es drei Möglichkeiten: Löschen, Neueinteilung (Korrektur der Markierung) und Erstellen einer eigenen Klasse für verrauschte Beispiele. Nach meiner Erfahrung sind etwa 25 % der Stichprobe "Rauschen". Die Qualitätsverbesserung beträgt etwa 5 % und hängt von den Modellen und der Datenaufbereitung ab. Ich verwende es gelegentlich.

Ein weiteres Problem bei der Verwendung von Prädiktoren ist ihre Drift. Und dieses Problem muss sowohl bei den Tests als auch im Betrieb erkannt und berücksichtigt werden. Die beigefügte Übersetzung des Artikels (suchen Sie nach anderen im Netz) und es ist ein Drifter-Paket. Sie ist nicht die einzige. Bei der Auswahl der Prädiktoren muss man jedoch nicht nur deren Bedeutung, sondern auch deren Drift berücksichtigen. Bei hohen Driftern werden sie weggeworfen oder umgewandelt, bei niedrigen Driftern werden sie beim Testen und Arbeiten berücksichtigt (korrigiert).

Viel Glück!

Dateien:
Drift1.zip  2238 kb
 
Aleksey Vyazmikin #:

Ich habe vergessen, ob Sie auf die Farbe/Typ der aktuellen Stundenkerze abzielen.

Die Farbe des Leuchters kann selbst bei einem Fehler von 30 % ein Verlustgeschäft sein. Wir wissen nicht, wie viel Gewinn wir daraus ziehen können... die Farbe wird normalerweise in den langsamen Bewegungen des Preises (über Nacht) gut erraten, und 1 verpasste starke Tageskerze kann 10 kleine über Nacht wert sein. Ich denke, dass das Erraten der Farbe von Kerzenständern wieder eine zufällige Ausgabe ist (aufgrund der zufälligen Abmessungen).
Deshalb habe ich die Klassifizierung mit TP, SL vorgenommen. Wenn sie gleich sind, dann sind 52 % der erfolgreichen Geschäfte bereits profitabel. Wenn TP=2*SL. Dann werden >33% der erfolgreichen Geschäfte profitabel sein. Das Beste, was ich bisher hatte, sind 52-53% erfolgreiche Trades mit TP=SL über 2 Jahre. Aber im Allgemeinen denke ich daran, die Regression mit festen TP/SL zu verwenden. Genauer gesagt, denke ich an eine regressionsbasierte Klassifizierung.
 

Ich war seit einigen Jahren nicht mehr im Forum und es ist immer noch da, wie in dem Lied: "Was du warst, was du geblieben bist, Steppenadler, schneidiger Kosak...".

Die Statistik beginnt mit einem Axiom, das, da es ein Axiom ist, nicht diskutiert wird:


"Müll rein, Müll raus".


Im Prinzip kann und darf es keine mathematischen Methoden geben, die aus Müll ein Bonbon machen können. Entweder gibt es eine Reihe von Prädiktoren, die den Lehrer VERHINDERN, oder es gibt sie nicht.

Und Modelle spielen praktisch keine Rolle, ebenso wenig wie Kreuzvalidierungen und andere rechenintensive Perversionen.


PS.

Übrigens hat die "Bedeutung" der Prädiktoren im Modell nichts mit der Fähigkeit zu tun, den Lehrer vorherzusagen.