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

 
elibrarius:
Ich habe Darch auf R. gesägt. Ich habe ein paar Fehler gefunden und sie in den Kommentaren beschrieben. Nach ein paar Wochen des Schweigens stellte sich heraus, dass dieser Darch im CRANa-Archiv zu finden war.
Ich habe den Entwickler gebeten, einige Fehler zu beheben, und er hat es getan. Dann wurde die ursprüngliche Version wiederhergestellt, wobei alle Korrekturen gelöscht wurden. Infolgedessen waren alle von mir verwendeten Änderungen nicht mehr verfügbar.
Fazit: Entweder alles selbst machen, oder Top-Produkte mit sehr gutem Support verwenden.

1) Sie müssen einen Fork erstellen und alle Änderungen hosten. Sie können akzeptiert werden oder auch nicht, aber Sie können Ihre Version auf GitHub verwenden.

2. Dies ist natürlich die zuverlässigste Option.

 
Maxim Dmitrievsky:

Für diejenigen, die nach dem Komplexen streben, aber nicht verstehen, wie schön das Einfache sein kann

und natürlich auf Englisch, wie gewünscht. Nein, ich werde sie nicht selbst übersetzen. Es gibt einen Link zu der Website, auf der Sie die Artikel übersetzen können.


Es ist ein sehr interessanter Bericht, in dem es nicht nur um das Einfache und das Komplexe geht. Die Betonung liegt auf der Tatsache, dass man durch komplexe Vorverarbeitung die Lösung eines Problems auf einfache Modelle reduzieren kann. Dies ist nur eine Bestätigung einer einfachen Wahrheit, die ich in meinen Artikeln immer wieder erwähne: "Die Hauptanstrengung sollte der Vorverarbeitung von Prädiktoren gewidmet werden, Modelle sind zweitrangig.

Der Sprecher ist urkomisch.

Viel Glück!

 
Vladimir Perervenko:

In diesem sehr interessanten Vortrag geht es nicht nur um einfach und komplex. Der Schwerpunkt liegt auf der Frage, wie sich komplexe Vorverarbeitungen auf die Lösung eines Problems mit einfachen Modellen reduzieren lassen. Das ist nur eine Bestätigung einer einfachen Wahrheit, die ich in meinen Artikeln immer wieder betone: "Die Hauptanstrengung sollte der Vorverarbeitung von Prädiktoren gewidmet werden, Modelle sind zweitrangig.

Der Sprecher ist urkomisch.

Viel Glück!

XGBOOST hat Eingabefeldgewichte mit Zeilengewichten. Einige andere Pakete haben es auch.
Ich dachte, ich könnte dort Gewichte von 1 (für neue Saiten) bis 0,5 für alte Saiten eintragen. Dies würde die Wirkung der neuen Daten verstärken.
Ich habe es ausprobiert und konnte keine besondere Verbesserung feststellen.

Hat es noch jemand ausprobiert - gibt es eine Verbesserung?

 
elibrarius:
XGBOOST hat ein Eingabefeld Gewichte mit Zeilengewichten. Einige andere Pakete haben es auch.
Ich dachte, ich könnte dort Gewichte von 1 (für frische Daten) bis 0,5 für alte Daten schreiben. Dies würde die Wirkung der neuen Daten verstärken.
Ich habe es ausprobiert und konnte keine besondere Verbesserung feststellen.

Hat es noch jemand ausprobiert - gibt es eine Verbesserung?

Das ist ein bisschen falsch. Sie haben zum Beispiel train[2000, ] und test[500, ]. Sie trainieren auf train mit anfänglichen Beispielgewichten = 1.0, machen test[] predicate zu einem trainierten Modell. Auf der Grundlage der Qualität der einzelnen Testpräfixe geben Sie ihnen eine Gewichtung. Dann kombiniert man Training und Test und bildet eine neue Trainingsstichprobe, trainiert das Modell, testet es und so weiter, bis alle Trainingsstichproben auf diese Weise Gewichte erhalten haben. Bei älteren Stäben kann man einen Kürzungsfaktor anwenden, aber ich habe es nicht überprüft. All dies dient natürlich der Klassifizierung.

now_train <- rbind(train,test)%>% tail(dim(train)[1])

Überprüft mit ELM, ergibt gute Ergebnisse.

Viel Glück!

 
Vladimir Perervenko:

Das ist nicht ganz richtig. Sie haben zum Beispiel train[2000, ] und test[500, ]. Trainieren auf nrain mit anfänglichen Beispielgewichten = 1.0, Prädikat test[] zu einem trainierten Modell machen. Auf der Grundlage der Qualität der einzelnen Testpräfixe geben Sie ihnen eine Gewichtung. Dann fügen Sie Training und Test zusammen und bilden eine neue Trainingsstichprobe, trainieren das Modell, testen es und so weiter, bis die gesamte Trainingsstichprobe Gewichte hat, die auf diese Weise erhalten werden. Bei älteren Stäben kann man einen Kürzungsfaktor anwenden, aber ich habe es nicht überprüft. All dies dient natürlich der Klassifizierung.

Überprüft mit ELM, ergibt gute Ergebnisse.

Viel Glück!

Es ist wie bei der Kreuzvalidierung - teilen Sie die Daten in 5-10 Teile und setzen Sie Gewichte für jeden Zyklus, bis alle Gewichte festgelegt sind. Ich denke, wir sollten 2-3 Vollkreise machen, um das auszugleichen.

Erinnert mich an mehrere Iterationen wie im Selbststudium, um die besten Zeilengewichte festzulegen.
 
elibrarius:
Wie bei der Kreuzvalidierung werden die Daten in 5 bis 10 Teile aufgeteilt, und in jedem Zyklus wird ein Teil der Zeilen gewichtet, bis alle Zeilen festgelegt sind. Ich denke, wir sollten 2-3 volle Runden machen, um das Gleichgewicht zu halten.

Erinnert mich an mehrere Iterationen wie im Selbststudium, um die besten Zeilengewichte festzulegen.

Es ist möglich, dies mit einer Gegenprobe zu überprüfen.

 
elibrarius:
XGBOOST hat ein Eingabefeld Gewichte mit Zeilengewichten. Einige andere Pakete haben es auch.
Ich dachte, wir könnten dort Gewichte von 1 (für frische) bis 0,5 für alte Zeichenketten eintragen. Dies würde die Wirkung der neuen Daten verstärken.
Ich habe es ausprobiert und konnte keine besondere Verbesserung feststellen.

Hat es noch jemand ausprobiert - gibt es eine Verbesserung?

gut und bilden Sie sich dann nur unter den Neuen weiter. Diese Gewichte sind für die Anpassung der Modellvarianz an den Datensatz, in der Logit-Regression mit variabler Varianz wird auch verwendet (wenn ich nicht verwirrt bin, worüber wir reden)

keine konzeptionell bedeutsamen Verbesserungen, abgesehen von der Anpassung des Datensatzes, geben sollte

Wenn Sie eine zuverlässige Verallgemeinerung für die allgemeine Bevölkerung über eine kleine Teilstichprobe benötigen, sind dies Bayes'sche Ansätze
 
elibrarius:
XGBOOST hat ein Eingabefeld von Gewichten mit Zeilengewichten. Einige andere Pakete haben dies auch.
Ich dachte, dass ich Gewichte von 1 (für frische Daten) bis 0,5 für alte Daten setzen könnte. Dies würde die Wirkung der neuen Daten verstärken.
Ich habe es ausprobiert und konnte keine besondere Verbesserung feststellen.

Hat es noch jemand ausprobiert - gibt es eine Verbesserung?

Die Idee ist, dass sich diese Gewichte auf die Konstruktion des ersten Baums auswirken, d.h. fast dieselbe Saat und Abhörung, unterschiedliche Techniken. Theoretisch könnte sich das Ergebnis stark verändern, wenn man die gut getrennten Stichprobenprädiktoren in den Zeilen, in denen sie die richtige Klassifizierung ergeben, in den Hintergrund verschiebt.

Ist es nicht möglich, die Anwendung des Prädiktors erst ab dem X-Split festzulegen? Ich denke, es ist sehr nützlich, ein gutes Modell zu finden.
 
Maxim Dmitrievsky:

und dann nur für neue ausbilden. Diese Gewichte dienen der Anpassung der Modellvarianz an den Datensatz, bei der Logit-Regression wird auch die Varianz der Variablen verwendet (wenn ich mich nicht irre, worüber wir hier sprechen)

Jede konzeptionell bedeutsame Verbesserung, mit Ausnahme der Anpassung von Datensätzen, sollte nicht zu

Wenn Sie eine zuverlässige Verallgemeinerung für die Allgemeinbevölkerung über eine kleine Teilstichprobe benötigen, sind es Bayes'sche Ansätze

D.h. die Ausrichtung wird nach der von Vladimir vorgeschlagenen Methode gewählt?

 
Aleksey Vyazmikin:

In der Idee werden diese Gewichte die Konstruktion des ersten Baumes beeinflussen, d.h. fast das gleiche Saatgut und Abhören, verschiedene Techniken. Theoretisch könnte sich das Ergebnis stark verändern, wenn wir gut getrennte Stichprobenprädiktoren in den Zeilen, in denen sie die richtige Klassifizierung ergeben, in den Hintergrund verschieben.

Ist es nicht möglich anzugeben, wie ein Prädiktor erst ab dem X-Split angewendet werden soll? Ich denke, das ist eine sehr nützliche Sache bei der Suche nach einem guten Modell.

Diese Gewichte können nicht nur beim Boosten, sondern auch bei Wäldern und NS angewendet werden. Offenbar ist die Methodik allen MoD-Systemen gemeinsam.
Der erste Versuch, den Einfluss alter Daten zu verringern, brachte keine Verbesserung.

Der Test sieht besser aus, wenn mit 30000 Zeilen trainiert wird, als wenn mit 80000 Zeilen trainiert wird. Bei 80000 sind beide Transaktionen kleiner und der Fehler ist höher. Ich habe versucht, das Gewicht proportional zu verringern (von 1 für frisch auf 0,5 für alt) - die Ergebnisse sind fast die gleichen.


Offensichtlich geht es immer noch um die Ausrichtung der Streuung, wie von Maxim erwähnt, nach der von Vladimir genannten Methode.