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

 
Maxim Dmitrievsky #:
Teilen Sie den Maintrain in 5-10 Subtrains auf, von denen Sie jeden in einen Trail und einen Shaft unterteilen. Trainieren Sie jedes Modell nach Lebenslauftyp und treffen Sie dann Vorhersagen für den gesamten Maintrain. Vergleichen Sie die ursprünglichen Bezeichnungen für alle Modelle mit den vorhergesagten Bezeichnungen. Diejenigen, die nicht richtig geraten haben, kommen auf die schwarze Liste. Anschließend entfernen Sie beim Training des endgültigen Modells alle schlechten Beispiele, indem Sie die durchschnittliche Aspiration für jede Probe berechnen. Optional können Sie dem zweiten Modell beibringen, die weißen Proben von den schwarzen Proben zu trennen, entweder durch die 3. Klasse.
.

3 Zeilen Code, Ergebnisse auf dem Niveau von... nun, ich habe nichts, womit ich vergleichen könnte... nun, auf einem gewissen Niveau.

Die Ziege hier ist cv, was bedeutet, dass Sie statistisch bestimmen, welche Stichproben schlecht und welche gut sind, indem Sie mehrere Modelle verwenden, die jeweils auf verschiedenen Teilen der Geschichte trainiert wurden. Dies wird als Propensity Score bezeichnet, d. h. als die Neigung jeder Stichprobe, beim Training eine Rolle zu spielen.

Natürlich können die Kennzeichnungen sehr unsinnig sein, und mit diesem Ansatz kann fast alles entfernt werden. Deshalb habe ich anfangs Zufallsstichproben von Transaktionen verwendet, um verschiedene Auszeichnungsvarianten hinzuzufügen. Vorausgesetzt, wir wollen oder können nicht darüber nachdenken, wie wir ein Diagramm auszeichnen sollen.

So sollte ein AMO mit Kozol-Elementen, das von sich aus nach TCs sucht, ungefähr aussehen.

Die Beschriftungen (Lehrer, Zielvariable) können per definitionem NICHT unsinnig sein. Das Zitat wird aufgrund von Überlegungen außerhalb der Prädiktoren erstellt. Sobald die Labels festgelegt sind, stellt sich das Problem der Prädiktoren, die für die gefundene Menge von Labels relevant sind. Es ist leicht, das Problem zu haben, dass eine Menge von Etiketten schön ist, wir aber keine Prädiktoren für sie finden können und nach einer anderen Menge von Etiketten suchen müssen. Ein Beispiel: Marken sind ZZ-Umkehrungen. Schöne Marken. Und wie findet man Prädiktoren für solche Marken?

Sobald wir anfangen, Labels nach Prädiktoren zu filtern - das ist eine Superanpassung, die alles, was Sie hier zeigen, einschließlich des Marktes, nicht bei einer externen, neuen Datei in einem natürlichen Schritt-für-Schritt-Modus funktioniert.

 
mytarmailS #:
Ja, interessant.

Ich informiere Sie, dass auf einer separaten Stichprobe Test - 7467, und auf Prüfung - 7177, aber es gibt nicht eine kleine Anzahl von Blättern mit überhaupt keine Aktivierungen - ich habe sie nicht auf einmal zu zählen.

0

Dies ist die Verteilung der Blätter, die Klasse durch ihren Wert für die Testprobe geändert.

1

und das ist die Prüfung.

Und dies ist die Aufteilung in Klassen - es gibt drei davon, die dritte ist "-1" - keine Aktivierung.


Für die Zugprobe.


Für die Stichprobe Test


Für die Stichprobe Prüfung.

Im Allgemeinen können Sie sehen, dass die Blattgewichte nicht mehr der Klassenlogik entsprechen - unten ist der Graph der Testprobe - es gibt keinen klaren Vektor.


Im Allgemeinen ist diese Trainingsmethode eine gute Annäherung, aber sie garantiert nicht die Qualität der Prädiktoren.

Im Allgemeinen gebe ich zu, dass die verschiedenen "Balken" auf dem obigen Diagramm sehr ähnliche Blätter nach Ort und Häufigkeit der Aktivierung sind.


mytarmailS #:

In der Tat habe ich einen Weg gefunden, um solche Zeichen zu finden, die sich weder im Training noch im Test in Bezug auf das Ziel verschieben... Das Problem ist jedoch, dass solche Zeichen katastrophal wenige sind und die Methode des Screenings in Bezug auf die Leistung sehr teuer ist.

Es ist schwer, über etwas zu diskutieren, was man nicht kennt. Deshalb kann ich mich nur über Ihren Erfolg freuen. Wenn ich eine solche Methode hätte, würde ich sie auch anwenden :)

Meine Methode führt bisher nicht zu solchen qualitativen Ergebnissen, aber sie weist genügend Parallelen auf.

 
Maxim Dmitrievsky #:
Und welche Rolle hat die Quantifizierung dabei gespielt? Auf einer 10-Punkte-Skala

Es ist schwierig, Denkprozesse vollständig zu isolieren.

Es gibt Probleme an verschiedenen Fronten - also muss man schauen, was mit weniger Aufwand und mehr Ergebnissen verbessert werden kann. Regelmäßig von "Daten" zu "Lernprozess" springen und experimentieren.

Die ursprüngliche Idee ist, die Korrelation zu schätzen, aber ich habe keine fertigen Methoden gefunden, ich modernisiere meine. Ich denke, wenn die Blätter ähnlich sind, verzerren sie die Schätzung.

Maxim Dmitrievsky #:
Ich habe das Sternenfeld passiert und dort begann kurz darauf die Singularität. Ich bin in das Multiversum gelangt und habe eine Kopie von mir selbst getroffen. Jetzt laufe ich in verschiedenen Versionen von Universen herum. Und es gibt keinen Ausweg aus diesem Zustand. Jetzt muss ich neue Bedeutungen finden.

Wenn das Gehirn oder das neuronale Netz die Grenzen der Vernunft erreicht, beginnt die Singularität.

Das ist eine interessante Idee. Dieses Spiel, vielleicht spiele ich es irgendwann später, ich behandle Spiele als Kreativität, Spiele sind jetzt viel langsamer, um grafisch zu veralten.

Ich habe God of War (2018) auf einer alten HD7950-Grafikkarte laufen lassen (habe sie in einen separaten Rechner gesteckt, der nur für Berechnungen da ist), die Grafik auf das Minimum gestellt und war einfach nur geschockt von dem Bild. Aber das Hauptinteresse ist die Ausarbeitung der Beziehung zwischen Vater und Sohn - es ist schwierig, Analoga in der Computerindustrie zu finden, wo dieses Thema angesprochen wird.

Maxim Dmitrievsky #:
Unterteilen Sie die Hauptstrecke in 5-10 Teilstrecken, von denen jede in ein Gleis und einen Schacht unterteilt ist. Auf jedem dieser Subtrains trainieren Sie auf den Typ cv und sagen dann den gesamten Haupttrack voraus. Vergleichen Sie die ursprünglichen Bezeichnungen für alle Modelle mit den vorhergesagten Bezeichnungen. Diejenigen, die nicht richtig geraten haben, werden auf die schwarze Liste gesetzt. Anschließend entfernen Sie beim Training des endgültigen Modells alle schlechten Beispiele, indem Sie die durchschnittliche Aspiration für jede Probe berechnen. Optional können Sie dem zweiten Modell beibringen, weiße Proben von schwarzen Proben zu trennen, entweder über die dritte Klasse.
.

3 Zeilen Code, Ergebnisse auf dem Niveau von... nun, ich habe nichts, womit ich vergleichen könnte... nun, auf einem gewissen Niveau.

Die Ziege hier ist cv, d.h. man bestimmt statistisch, welche Stichproben schlecht und welche gut sind, indem man mehrere Modelle verwendet, die jeweils auf verschiedenen Teilen der Geschichte trainiert wurden. Dies wird als Propensity Score bezeichnet, d. h. als die Neigung jeder Stichprobe, beim Training eine Rolle zu spielen.

Natürlich können die Beschriftungen sehr unsinnig sein, und mit diesem Ansatz kann fast alles entfernt werden. Aus diesem Grund habe ich anfangs Zufallsstichproben von Transaktionen verwendet, um verschiedene Auszeichnungsvarianten hinzuzufügen. Vorausgesetzt, wir wollen oder können nicht darüber nachdenken, wie wir ein Diagramm auszeichnen sollen.

So sollte ein AMO mit Kozol-Elementen, das von sich aus nach TCs sucht, ungefähr aussehen.

Aber hier arbeiten wir auch mit Daten durch Modelle. Oder sehen Sie einen Unterschied?

 
Aleksey Vyazmikin #:

Aber es ist auch die Arbeit mit Daten durch Modelle. Oder siehst du da einen Unterschied?

Es ist irgendwie automatisch, man muss sich nichts ausdenken und (vor allem) nichts tun :)
 
Maxim Dmitrievsky #:
Nun, wie auf Automatik, ist es nicht notwendig, sich etwas auszudenken und (das ist wichtig) zu tun :)

Unter Berücksichtigung der übermäßigen Zufälligkeit bei CatBoost in der Methode der Ausbildung - es ist schwierig, den Ansatz selbst zu bewerten. Dort stören sie mit den Zeichenketten beim Aufbau des Baumes, und sie füttern die Daten mit bachami, gut, wenn es nicht alles verboten ist ...

Es ist interessant zu bewerten, wie viele Blätter ändern Klassen auf neue Daten, durch Analogie, wie ich oben in der Branche schrieb. Dies könnte eine Metrik für die Qualität des Ansatzes/Modells sein.

 
Aleksey Vyazmikin #:

In Anbetracht der übermäßigen Zufälligkeit von CatBoost in der Trainingsmethode selbst ist es schwierig, den Ansatz selbst zu bewerten. Dort wird bei der Erstellung eines Baums in die Zeichenketten eingegriffen, und die Daten werden mit Bacham gefüttert, na ja, wenn das nicht verboten ist...

Es ist interessant zu evaluieren, wie viele Blätter bei neuen Daten die Klassen wechseln, analog, wie ich oben in der Branche schrieb. Dies könnte ein Maßstab für die Qualität des Ansatzes/Modells sein.

Im Idealfall ist diese Zufälligkeit nicht so schlimm wie die Zufälligkeit des Datensatzes.
 
Maxim Dmitrievsky #:
Im Idealfall ist diese Zufälligkeit nicht so schlimm wie die Zufälligkeit des Datensatzes.

Es ist möglich, durch Zufall ein schönes Modell aus dem Zufall zu erhalten - das ist das Problem, aber wenn es unmöglich wäre, wäre es egal.

Es ist kein Problem, ein Modell zu trainieren - das Problem besteht darin, dasjenige auszuwählen, das mehr Potenzial hat, auf neuen Daten korrekt zu funktionieren.

Dies ist der interessante Ansatz, der es ermöglicht, dieses Potenzial zu erhöhen. Und um die Effektivität des Modells zu bewerten, brauchen wir eine Art von Metrik, nicht nur eine Statistik der Klassifizierungsgenauigkeit, sondern etwas anderes, zum Beispiel die Bewertung der einzelnen Blätter. Es ist klar, dass sich die Indikatoren in den Prädiktoren ändern - deshalb sind die Blätter so verrauscht und "verändern" die tatsächlichen Klassen. Deshalb ist es eine komplexe Aufgabe - man braucht gute Beschriftungen und stabile Prädiktoren, und Kombinationen von ihnen sollten keine Blätter mit seltenen Werten im Modell erzeugen.

In der Produktion ist es bereits erforderlich, Änderungen in der Verteilung der Werte der im Modell verwendeten Prädiktoren zu überwachen und das Modell zu bremsen, wenn die Änderungen signifikant und umfangreich sind. Dieser Ansatz erfordert jedoch eine Anhäufung von Statistiken, was für uns gleichbedeutend mit einer Anhäufung von Verlusten ist, und das ist nicht gut. Wir brauchen eine schnellere Methode zum Ausschluss des Modells, aber eine vernünftige, die nicht nur auf dem Drawdown basiert.

Es gibt eine Menge Probleme, und ohne sie zu lösen, wollen wir dem Modell kein Geld für die Verwaltung geben.

 
Aleksey Vyazmikin #:

Ja, binär ist komplizierter. Aber ich verstehe nicht, wie die Rationierung hier helfen kann.

Das binäre Zeichen mit 0 und 1 ist bereits normalisiert, und der Rest sollte auch normalisiert werden.

 
Forester #:

Das binäre Merkmal mit 0 und 1 ist bereits normalisiert, und die anderen müssen ebenfalls normalisiert werden.

Ich hoffe, ich verstehe Ihren Gedanken.

Aber bei einer einheitlichen Quantisierung durch dieselben 32 Segmente können wir davon ausgehen, dass das Segment "1" eine 0 und das Segment "32" eine 1 ist. Und so ist es auch mit allen anderen Ziffern. Deshalb verstehe ich nicht, worin hier der grundlegende Unterschied besteht.

 
Aleksey Vyazmikin #:

Ich hoffe, ich habe Ihren Gedankengang verstanden.

Aber bei einer einheitlichen Quantisierung auf denselben 32 Segmenten kann man davon ausgehen, dass das Segment "1" 0 und das Segment "32" 1 ist. Und so ist es auch mit allen anderen Ziffern. Deshalb verstehe ich nicht, was hier der grundlegende Unterschied ist.


Wenn man auf 32 reduziert, dann streckt man die binären 0 und 1 auf 0 und 32 (und andere, zum Beispiel mit 5 Quanten von 0...5 bis 0...32). Um alles proportional zu machen. Oder man komprimiert klassischerweise alles auf einen einzigen Hyperwürfel (wie bei neuronalen Netzen, die eine Normalisierung erfordern). Die Essenz ist dieselbe - in beiden Varianten erhalten wir denselben Maßstab.