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

 
Yuriy Asaulenko:

Wie lesen Sie Bücher? Steckst du sie dir unter den Hintern?

Es ist sehr beliebt. Für ein Problem gibt es entweder eine Lösung oder nicht. Wenn das nicht der Fall ist, können Sie das Problem nicht lösen. Wenn ja, werden Sie nicht in der Lage sein, das Problem zu lösen. Und NS hat damit nichts zu tun.

Lesen Sie also das oben vorgeschlagene Buch. Es gibt immer eine optimale Lösung in einer Menge von eins, wie zufriedenstellend sie ist, ist eine andere Frage.

 

Wie versprochen, berichte ich über die Ergebnisse des Tests verschiedener Indikatoren für die Auswahl eines binären Klassifizierungsmodells. Der Test umfasst 17 Indikatoren: Logloss; BalancedErrorRate; LogLikelihoodOfPrediction; WKappa; Kappa; BrierScore; ZeroOneLoss; Accuracy; BalancedAccuracy; MCC; Precision; Recall; F1; AUC; HingeLoss; HammingLoss; CrossEntropy, der Standard ist Logloss. Die Methodik ist einfach: CatBoost wird mit denselben Einstellungen auf denselben Stichproben für Training, Test und Endkontrolle ausgeführt, wobei die numerischen Werte der Datei für die Endkontrolle entnommen werden, die nicht am Training teilnimmt. Für jeden Indikator werden 8 Bäume unterschiedlicher Größe von 1 bis 8 gebildet, die im Durchschnitt auch die Fähigkeit haben, gute Werte aus der Menge auszuwählen, und die auch dazu verwendet wurden, die Bedeutung der Größenänderung der Bäume zu bestimmen. Es wurden vier Trainingsziele verwendet, wobei sich die Strategien eher durch das Ziel für die Trendbewegung unterscheiden. Die Ergebnisse der einzelnen Indikatoren sind in der folgenden Tabelle zusammengefasst:



Es stellte sich heraus, dass einige der Indikatoren vollständig miteinander übereinstimmen, so dass sie in Gruppen zusammengefasst wurden - die Kennung der Indikatorgruppe ist in grüner Farbe dargestellt


Nachstehend finden Sie eine Übersichtstabelle für jeden Indikator, in der die Höchst- und Mindestwerte des Indikators hervorgehoben und die Spitzenwerte in der gesamten Stichprobe farblich markiert sind.

Als Variante zur Ermittlung eines universellen Indikators für alle Varianten des Ziels - des maximalen Durchschnittsbetrags - wird im Folgenden eine zusammenfassende Tabelle des durchschnittlichen Gewinns der einzelnen Indikatoren vorgestellt.



Wie ich bereits geschrieben habe, habe ich meine Formel an diesen Daten parallel getestet, um aus den erhaltenen Daten den besten Indikator auszuwählen - "%Alle*1%", die Ergebnisse wurden in einer solchen Tabelle für jeden Indikator, der am Test teilnahm, zusammengefasst.

Ein solcher Ansatz ermöglichte eine Rangfolge auf der Grundlage der Summe der Auswahlfaktorwerte für jeden Indikator, wie in der nachstehenden Tabelle dargestellt.

Interessanterweise lag der Favorit in der ersten Rangliste, Precision, ganz am Ende, was darauf hindeutet, dass er nicht vielseitig ist, sondern dass seine Leistung für das erste Ziel sehr gut war.

Es ist auch möglich zu prüfen, welche Optionen dieser Faktor aus der Tabelle der einzelnen Indikatoren ausgewählt hat, und die Rangfolge der Summe dieser Indikatoren zu betrachten.

Zusammenfassend kann man die Ergebnisse in einer Übersichtstabelle zusammenfassen und die Punktzahlen für die einzelnen Orte addieren - wer die wenigsten Punkte hat, ist vielleicht besser.

Wir können schlussfolgern, dass Logloss eher ein Durchschnittswert als die beste Metrik für die Modellauswahl ist, gleichzeitig können unterschiedliche TS unterschiedliche Methoden für die Auswahl trainierter Modelle erfordern. So ist z.B. für eine ausgewogene Stichprobe nach Ziel (columns_100) Precision perfekt, aber für eine unausgewogene Stichprobe, bei der z.B. 20% (columns_200) und weniger als Ziel "1", geht es schief und hier ist es sinnvoll, HingeLoss zu verwenden, das diese Aufgabe perfekt bewältigt hat. Am ausgewogensten war vielleicht der Rückruf-Indikator - er kann, so glaube ich, zum Sondieren des Bodens verwendet werden. Der Indikator Accuracy erwies sich als extrem unzuverlässig und unausgewogen. Einerseits konnte er die beste Option mit dem ausgewogensten Ziel finden, aber andererseits konnte er den Durchschnitt aller Baumoptionen nicht gut ermitteln, weshalb er sich nicht sehr gut für die Suche nach unausgewogenen Stichproben oder die Modellabstimmung eignet.

 
Alexander_K2:


Der Trend lässt sich mit einem begehrten Schraubenschlüssel, den ich buchstäblich "auf Knien" gefunden habe, leicht und sanft die Toilette hinunterspülen.


Ich frage mich, was sie sich dabei gedacht hat.

 
Aleksey Vyazmikin:

Tolle Tests, danke

Gibt es irgendwelche Informationen über das Differential der Trainee-Test Fehler? Nehmen Sie einfach eine beliebige Accuracy oder logloss gibt, die beliebtesten

zum Beispiel etwas wie dieses

2018.11.27 02:26:37.780 Core 2  2018.11.23 23:59:59   RlMonteCarlo TRAIN LOSS
2018.11.27 02:26:37.780 Core 2  2018.11.23 23:59:59   0.19023
2018.11.27 02:26:37.780 Core 2  2018.11.23 23:59:59   RlMonteCarlo TEST LOSS
2018.11.27 02:26:37.780 Core 2  2018.11.23 23:59:59   0.43959

rechte Spur links Test:

Ich interessiere mich für die Fähigkeit des Modells, zu verallgemeinern, und für die Fähigkeiten, mit Überschreitungen umzugehen. Wie ich sehe, finden Sie sich schnell mit dem Tool zurecht. Endlich substanzielle Unterhaltungen :))

 
Maxim Dmitrievsky:

Tolle Tests, vielen Dank.

Gibt es irgendwelche Informationen über das Differential von Fehlern traine\test? nehmen Sie einfach eine Accuracy oder logloss dort, die häufigsten

zum Beispiel etwas wie dieses

rechte Spur links Test:

Ich interessiere mich für die Fähigkeit des Modells, zu verallgemeinern, und für die Art der Fähigkeiten, mit Überschreitungen umzugehen. Wie ich sehe, haben Sie das Werkzeug schnell gemeistert. Endlich substanzielle Gespräche :))

Catbust verwendet drei Stichproben - eine Teststichprobe, die für das Training verwendet wird, die zweite, um das Training jedes Modells zu testen und das beste Modell auszuwählen, das im Trainingsprozess gewonnen wurde und sich bei Testdaten als stabil erwiesen hat, und die dritte ist eine Prüfungsstichprobe, die nach dem Ende des Trainings durch das ausgewählte Modell markiert wird. Da es an der Trainingsstichprobe tatsächlich sehr gut lernen kann, macht es keinen Sinn, die Ergebnisse der Teststichprobe mit der Trainingsstichprobe zu vergleichen, den Test mit der Prüfungsstichprobe aber schon. Da ich das aber alles von Hand in Excel gemacht habe, war ich nicht stark genug, um auch die Ergebnisse der Stichprobe zu überprüfen. Solche Daten werden natürlich für die Bewertung des Modells benötigt und sollten berücksichtigt und analysiert werden, aber der Prozess ist noch nicht automatisiert (ich habe gerade erst begonnen, ein Skript zu schreiben, um das Set-up für die Verarbeitung vorzubereiten - von der Analyse bin ich noch weit entfernt), und ich kann noch keine Zahlen nennen.

Ich habe keine besonderen Methoden zur Bekämpfung des Übertrainings bemerkt, abgesehen von Methoden zur Unterbrechung des Trainings bei besonders guten Messwerten... Der Algorithmus selbst verfügt über eine gewisse Zufälligkeit, die abgeschaltet werden kann - er erlaubt es auch, nicht die besten Prädiktoren für die Verzweigung des Baums auszuwählen, was dazu beitragen sollte, ein Überlernen zu verhindern.

Jetzt möchte ich die Prädiktoren portionsweise einspeisen und sehen, was passiert, denn das Modell arbeitet ohnehin nach dem Prinzip des gierigen Baums, und das verhindert manchmal, dass es bessere Ergebnisse erzielt.

 
Aleksey Vyazmikin:

Catbust verwendet drei Stichproben - eine ist der Test, auf dem es lernt, die zweite dient dazu, das Lernen jedes Modells zu testen und das beste Modell auszuwählen, das im Lernprozess gewonnen wurde und sich auf den Testdaten als stabil erwiesen hat, und die dritte ist eine Prüfungsstichprobe, die dadurch gekennzeichnet ist, dass das ausgewählte Modell trainiert wurde. Da es an der Trainingsstichprobe tatsächlich sehr gut lernen kann, macht es keinen Sinn, die Ergebnisse der Teststichprobe mit der Trainingsstichprobe zu vergleichen, den Test mit der Prüfungsstichprobe aber schon. Da ich das aber alles von Hand in Excel gemacht habe, war ich nicht stark genug, um auch die Ergebnisse der Stichprobe zu überprüfen. Solche Daten werden natürlich für die Bewertung des Modells benötigt und sollten berücksichtigt und analysiert werden, aber der Prozess ist noch nicht automatisiert (ich habe gerade erst begonnen, ein Skript zu schreiben, um das Set-up für die Verarbeitung vorzubereiten - von der Analyse bin ich noch weit entfernt), und ich kann noch keine Zahlen nennen.

Ich habe keine besonderen Methoden zur Bekämpfung des Übertrainings bemerkt, abgesehen von Methoden zur Unterbrechung des Trainings bei besonders guten Messwerten... Der Algorithmus selbst verfügt über eine gewisse Zufälligkeit, die abgeschaltet werden kann - er erlaubt es auch, nicht die besten Prädiktoren für die Verzweigung des Baums auszuwählen, was dazu beitragen sollte, ein Überlernen zu verhindern.

Jetzt möchte ich Teile von Prädiktoren einspeisen und sehen, was passiert, da das Modell immer noch nach dem Prinzip der gierigen Baumbildung arbeitet und dies manchmal verhindert, dass es bessere Ergebnisse erzielt.

Das ist genau das, was nervt, die ewigen Integrationen, die mehr Zeit in Anspruch nehmen als die TK-Entwicklung. Ich würde auch gerne an Python arbeiten, habe aber noch keine Zeit.

 
Maxim Dmitrievsky:

Das ist es, was so ärgerlich ist, die ewigen Integrationen, die mehr Zeit in Anspruch nehmen als die TK-Entwicklung. Ich würde auch gerne etwas Python lernen, aber ich habe noch nicht die Zeit dazu.

Ich möchte es mit MT5 verwenden, weil ich nicht mit Python arbeite, ich mag, dass Ketbust eine Konsolenversion hat.

 
Aleksey Vyazmikin:

Ich bin nicht mit Python, ich mochte, dass ketbust hat Konsole Version, ich möchte diese Version kompatibel mit MT5 zu machen.

Sie können Konsolen verwenden, aber sie sind unbequem zu bedienen.

 
Maxim Dmitrievsky:

fast jeder hat eine Konsole, mit der man nur schwer arbeiten kann

Das wusste ich nicht, wer hat sie noch?

Warum nicht bequem - es wird ein Skript in MT5 geben, in dem Sie Einstellungen und Aufzählungen von Parametern implementieren können - viel besser als mit reinem Python- oder R-Code.

Catbust ist in der Lage, mit grafischen Farmen zu arbeiten, das hat auch meine Aufmerksamkeit erregt.

 
Aleksey Vyazmikin:

Ich wusste nicht, wer es sonst noch genau hat.

Warum nicht bequem - es wird ein Skript auf MT5 geben, wo man Einstellungen und Aufzählung von Parametern implementieren kann - auf jeden Fall besser als mit reinem Python- oder R-Code.

Catbust weiß, wie man mit Grpf-Farmen arbeitet, was auch meine Aufmerksamkeit erregt hat.

Alle Bibliotheken haben die mbo, diese hier ist nur die Libs auf den Pros.

unkomfortabel und zeitaufwändig mit MO in Low-Level-Sprachen, insbesondere in der Forschung
Grund der Beschwerde: