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

 
SanSanych Fomenko:

Ich habe ähnliche Zahlen für forest und ada.

Um nun auf unsere "Widder" zurückzukommen - wie kann ich Rauschen aus einer willkürlichen Liste von Prädiktoren ausschließen? Ich habe einen empirischen Algorithmus, der meine 27 Prädiktoren aus 170 ausgewählt hat. Ich habe es auch verwendet, um die Prädiktoren anderer Leute zu analysieren, und das ebenfalls mit Erfolg. Aufgrund dieser Erfahrung behaupte ich, dass alle R-Methoden, die "Wichtigkeits"-Variablen in ihren Algorithmen verwenden, den Prädiktorensatz nicht von Rauschen befreien können.

Ich appelliere an alle Leser der Branche: Ich bin bereit, die entsprechende Analyse durchzuführen, wenn die Rohdaten als RData oder als Excel-Datei vorliegen, die nicht bearbeitet werden müssen.

Abgesehen davon.

Anbei füge ich eine Reihe von Artikeln bei, die angeblich das Problem lösen, den ursprünglichen Satz von Prädiktoren von Rauschen zu befreien, und zwar mit viel besserer Qualität. Leider habe ich im Moment keine Zeit, es auszuprobieren. Vielleicht probiert es jemand aus und veröffentlicht das Ergebnis?


Ich beschloss, zuerst das Thema zu lesen (wie sich herausstellte, habe ich das nicht getan). Und dann kamen eine Reihe von Fragen auf, wie zum Beispiel:

1. Scaffolding wird auf einer zufälligen Teilmenge von Merkmalen trainiert. Bedeutet dies, dass die nicht zufällig für das Training ausgewählten Merkmale als "nicht wichtig" eingestuft werden?

2. Was ist zu tun oder zu verstehen, wenn es kategoriale Merkmale gibt und das Gerüst ihnen weniger Bedeutung beimisst als Merkmalen mit mehreren Kategorien?

3. Die PCA für jede neue Stichprobe wird keine "neuen" Komponenten zuordnen, die sich stark von den Komponenten in der Trainingsstichprobe unterscheiden werden.

Und noch etwas: eine etwas andere rekursive Methode der Merkmalseliminierung:http://blog.datadive.net/selecting-good-features-part-iv-stability-selection-rfe-and-everything-side-by-side/

Der Artikel enthält auch Links zu früheren Artikeln, in denen Gerüste beschrieben werden.

Selecting good features – Part IV: stability selection, RFE and everything side by side
  • 2014.12.20
  • blog.datadive.net
In this post, I’ll look at two other methods: stability selection and recursive feature elimination (RFE), which can both considered wrapper methods. They both build on top of other (model based) selection methods such as regression or SVM, building models on different subsets of data and extracting the ranking from the aggregates. As a wrap-up...
 
Maxim Dmitrievsky:

beschlossen, das Thema zuerst zu lesen (wie sich herausstellte, habe ich das nicht getan). Und dann kamen eine Reihe von Fragen auf, wie zum Beispiel:

1. Der Wald wird auf einer zufälligen Teilmenge von Merkmalen trainiert. Bedeutet das, dass Merkmale, die zufällig nicht im Training vorkommen, als "nicht wichtig" eingestuft werden?

2. Was ist zu tun oder zu verstehen, wenn es kategoriale Merkmale gibt und das Gerüst ihnen weniger Bedeutung beimisst als Merkmalen mit mehreren Kategorien?

3. Die PCA für jede neue Stichprobe wird keine "neuen" Komponenten zuordnen, die sich stark von den Komponenten in der Trainingsstichprobe unterscheiden werden.

Und noch etwas: eine etwas andere rekursive Methode der Merkmalseliminierung:http://blog.datadive.net/selecting-good-features-part-iv-stability-selection-rfe-and-everything-side-by-side/

Der Artikel enthält Links zu früheren Teilen des Artikels, in denen auch das Gerüstbauverfahren beschrieben wird.


Leider wird meine persönliche Antwort nichts zu dem hinzufügen, was hier oder in anderer Literatur zu diesem Thema geschrieben wurde.

Es gibt eine ganze Reihe von Algorithmen zur Bestimmung der "Wichtigkeit" von Merkmalen (egal ob Regression oder Kategorie), die alle in R enthalten sind.

Ich habe viel Zeit damit verbracht, sie zu meistern, und am Ende habe ich herausgefunden, dass es in erster Linie darum geht, verrauschte, für die Zielvariable irrelevante Attribute loszuwerden und dann von R aus zu verwenden, was zu einer Fehlerreduzierung von 5-7 % führt. Ein Fehler von weniger als 20 % konnte nicht erreicht werden.

Auch hier gilt, dass ich für jeden Balken eine Auswahl der wichtigsten Komponenten treffe und aus der resultierenden Menge den Wald neu trainiere.


Die Zahlen lauten wie folgt.

  • Aus mehreren hundert Prädiktoren habe ich 27 Prädiktoren nach dem Kriterium des Rauschens, d. h. der "Relevanz" für die Zielvariable, ausgewählt.
  • Ich habe von 27 auf jeder Leiste nach Wichtigkeitskriterien ausgewählt (RFE)
  • auf erhaltenen 5-15 Attributen lerne ich den Wald. Diese Liste ändert sich laufend innerhalb der 27 verwendeten.


Das Qualitätskriterium dieses Ansatzes: Ich nehme zwei Dateien, auf der ersten lerne ich, trainiere, validiere = ungefähr der gleiche Fehler. Ich überprüfe das erhaltene Modell an der zweiten Datei = ungefähr derselbe Fehler wie bei der ersten Datei. Daraus schließe ich, dass das Modell nicht übertrainiert ist und sich in Zukunft, zumindest bei einem Balken, genauso verhalten wird wie beim Training.

Alle anderen Ansätze funktionieren bei mir nicht, und das Ersetzen eines Modelltyps durch einen anderen bringt keine Verbesserung in Bezug auf das Umlernen.



Bezüglich PCA. Ich erhielt ein negatives Ergebnis in dem Sinne, dass die Verwendung der Hauptkomponenten den Fehler im Vergleich zum ursprünglichen Satz nicht verringert hat. Ich verstehe nicht, warum das so war, obwohl es theoretisch die Fehler reduzieren sollte.

 
SanSanych Fomenko:

PCA ist im Allgemeinen nutzlos, wenn das Modell auf heterogene Merkmale angewendet wird, z. B. Devisen... meiner Meinung nach. Ich halte es für sinnlos, ein Modell mit heterogenen Attributen zu verwenden, z. B. für Devisen.

wenn wir zurück zum Gerüst gehen.

Ich muss mir wohl den Quellcode ansehen, um zu verstehen, wie Merkmale, die es nicht in die Trainingsstichprobe geschafft haben, bewertet werden, denn das wird dort nicht erwähnt (höchstwahrscheinlich wird es als schlecht bewertet).

+ Der Lernprozess beim Scaffolding ist randomisiert, bei mehreren aufeinanderfolgenden Trainings kann es zu unterschiedlichen Ergebnissen kommen, manchmal sogar zu erheblichen Unterschieden... es ist auch nicht ganz klar, wie man mit diesem Trick arbeiten kann. In Ordnung, wenn wir das Modell feinabgestimmt haben, es gespeichert haben und es später verwenden... aber wenn das Modell selbst trainiert... müssen wir es mehrere Male hintereinander trainieren, den minimalen Fehler auswählen, so etwas in der Art... sonst erhalten wir bei mehreren Durchläufen im Tester unterschiedliche Ergebnisse, nach meinen Beobachtungen bis zu 5 und mehr, die sich dann in den nachfolgenden Durchläufen wiederholen

 
Maxim Dmitrievsky:

PCA ist im Allgemeinen nutzlos, wenn das Modell auf heterogene Merkmale angewendet wird, z. B. auf Devisen... meiner Meinung nach. Denn wir haben mit einigen Komponenten trainiert, und im Test erschien eine andere Kombination von Komponenten, die vom Modell in keiner Weise berücksichtigt wurde.

Kehren wir zu den Gerüsten zurück.

Ich muss mir wohl den Quellcode ansehen, um zu verstehen, wie Merkmale, die es nicht in die Trainingsstichprobe geschafft haben, bewertet werden, denn das wird dort nicht erwähnt (höchstwahrscheinlich wird es als schlecht bewertet).

+ Der Lernprozess beim Scaffolding ist randomisiert, bei mehreren aufeinanderfolgenden Trainings kann es zu unterschiedlichen Ergebnissen kommen, manchmal sogar zu erheblichen Unterschieden... es ist auch nicht ganz klar, wie man mit diesem Trick arbeiten kann. In Ordnung, wenn wir das Modell feinabgestimmt haben, es gespeichert haben und es später verwenden... aber wenn das Modell selbst trainiert... müssen wir es mehrmals hintereinander anlernen, den minimalen Fehler wählen, so etwas in der Art... andernfalls erzeugen mehrere Durchläufe im Tester unterschiedliche Ergebnisse, nach meinen Beobachtungen bis zu 5 oder mehr, dann wiederholen sie sich für nachfolgende Durchläufe


An die von Ihnen beschriebenen Leidenschaften kann ich mich nicht erinnern. Mit demselben Saatgut sind die Ergebnisse durchweg gleich.

 
SanSanych Fomenko:

An die von Ihnen beschriebenen Leidenschaften kann ich mich nicht erinnern. Bei gleichem Saatgut ist das Ergebnis immer das gleiche.


Was macht Seed? Ich erinnere mich nicht... die Anzahl der Funktionen, richtig? Ich benutze alglib forest

 
revers45:
Lehrer, der das Einmaleins nicht kennt, und NS-Entwickler, der es nicht vorschreibt, zufällige, richtige Lösungen - kein Gießen mehr!

Ich unterstütze das.

Es ist nur ein untätiges Schütteln der Luft. Stellen Sie ein Beispiel mit Obergrenzen ein, damit Sie es überprüfen können.

Es gibt drei Hauptarten des Lernens: ohne Lehrer (das Ziel wird nicht präsentiert), mit Lehrer (das Ziel ist vollständig markiert) und halb-überwacht (ich weiß nicht, wie man es richtig übersetzt). Dies ist der Fall, wenn dem Modell ein Ziel präsentiert wird, das nicht vollständig (teilweise) markiert ist. Alle anderen sind von dem Bösen.

Viel Glück!

 
Maxim Dmitrievsky:

Wofür ist Seed verantwortlich? Ich erinnere mich nicht... die Anzahl der Funktionen, richtig? Ich verwende den Alglib-Wald

Komm schon...

set.seed setzt einen Zufallszahlengenerator auf einen bestimmten Zustand und hat ein reproduzierbares Ergebnis, wenn die Berechnung wiederholt wird.

Lernen Sie Rechnen.

 
Vladimir Perervenko:

Komm schon...

set.seed setzt den Zufallszahlengenerator auf einen bestimmten Zustand, so dass bei einer Wiederholung der Berechnung ein reproduzierbares Ergebnis erzielt wird.

Lernen Sie Rechnen.


Ich habe eine solche Einstellung nicht, deshalb habe ich ja gefragt.

Ich kann es auch im MT5 machen, danke.

 
Vladimir Perervenko:

Ich unterstütze das.

Es ist nur ein untätiges Schütteln der Luft. Stellen Sie ein Beispiel mit Höchstgrenzen ein, damit Sie es überprüfen können.

Es gibt drei Hauptarten des Lernens: ohne Lehrer (das Ziel wird nicht präsentiert), mit Lehrer (das Ziel ist vollständig markiert) und halb-überwacht (ich weiß nicht, wie man es richtig übersetzt). Dies ist der Fall, wenn dem Modell ein Ziel präsentiert wird, das nicht vollständig (teilweise) markiert ist. Alle anderen sind von dem Bösen.

Viel Glück!

Sieh an, sieh an.)) Wenn Sie den Algorithmus vollständig kennen und das Ziel finden können, warum brauchen Sie dann NS? Man kann alles ohne sie machen.)

NS und andere DMs werden genau dann gebraucht, wenn man es nicht weiß.

Die Lernalgorithmen werden für jede spezifische Aufgabe entwickelt und angepasst. Die meisten davon basieren auf den Grundlagen.

Und das, was Sie sagen, ist nur ein Schütteln in der Luft. Lesen Sie alles, was über die Einleitung hinausgeht. )

Viel Glück!

 
Yuriy Asaulenko:

Sieh an, sieh an.)) Wenn Sie den Algorithmus vollständig kennen und das Ziel finden können, warum brauchen Sie dann NS? Man kann alles ohne sie machen.)

Haben Sie verstanden, was Sie geschrieben haben? Das Ziel wird nicht gefunden, sondern ist als etwas vorgegeben, das das Modell lernen muss. Von welchem Algorithmus sprechen Sie?

NS und andere DMs werden genau dann gebraucht, wenn man es nicht weiß.

Was wissen wir nicht?

Die Lernalgorithmen werden für jede spezifische Aufgabe entwickelt und angepasst. Sie basieren größtenteils auf den Basisdaten.

Wir sprechen hier von zwei zu lösenden Aufgaben: Regression und Klassifikation (ohne Clustering und Ranking). Welche anderen "spezifischen Aufgaben" haben Sie im Sinn?

Und das, was Sie meinen, ist eine Erschütterung der Luft. Lesen Sie alles, was über die Einleitung hinausgeht. )

???

Viel Glück!