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

 
mytarmailS:

Alexej, du solltest Python oder r-core lernen und versuchen, dort etwas zu bauen... glauben Sie mir, dann wären tausend Fragen weg...

Was für ein schöner Wunsch, und es wäre nützlich, ein paar Fremdsprachen zu lernen und alle anderen Kompetenzen zu beherrschen, die nicht von anderen Menschen abhängen. Allerdings bin ich nicht in allem begabt, und mir ist klar, dass ich beim Programmieren keine guten Ergebnisse erzielen werde und zu viel Aufwand betreiben muss.

mytarmailS:

Welchen Sinn hat es, die Effizienz von Methoden zur Auswahl von Merkmalen zu prüfen, wenn sie bereits erprobt sind und funktionieren - sonst gäbe es sie nicht.

Die Frage war hier eher die nach der Effektivität der Methode, d.h. um wie viel sie letztendlich das Ergebnis im Vergleich zum Stichprobenfeed ohne Ausschluss von Prädiktoren verbessern kann. Das heißt, das eigentliche Experiment.


mytarmailS:

Das Problem liegt nicht in der Ablehnung von Merkmalen, sondern in den Merkmalen selbst. Wenn Sie 10 Indikatoren füttern und dann bis zum Gehtnichtmehr ausmerzen, werden Sie von JEDEM Algorithmus das gleiche Ergebnis erhalten...

Ich habe im Moment etwa 5 Prädiktoren, deshalb ist dieser Ansatz interessant.

mytarmailS:

Haben Sie in dem Video gehört, dass sie unter Zehntausenden von Merkmalen auswählen und sogar MSUA erwähnen, wo sie über die Erstellung und Aufzählung von Milliarden von Merkmalen sprechen?

Das ist es, worüber wir reden sollten - Systeme, die Millionen von Ideen generieren und sie automatisch überprüfen, das ist das Wesentliche, das sind individuelle Lösungen, und die Merkmalsauswahl ist der kleine letzte Teil des Prozesses, und da ist nichts Interessantes dabei, man nimmt einfach irgendeinen Algorithmus und macht weiter, da gibt es nichts zu besprechen, das ist einfach nicht interessant.

Ich arbeite gerade mit einer großen Anzahl von Merkmalen und entwickle Methoden, um sie anhand eines Musters zu generieren. Der Prozess der Binarisierung von Merkmalen, möglicherweise unter Beibehaltung verschiedener Indikatoren innerhalb des neuen Prädiktors, was aus 5000 Merkmalen 50000 machen würde, und sie müssen auf gegenseitige Beziehungen untersucht werden, um neue, gesättigte Merkmale zu schaffen, aus denen das Modell bereits aufgebaut wird.

Alles in allem weiß ich nicht, warum eine so primitive Sichtweise auf meine Tätigkeit...

 
Aleksey Vyazm

Wie auch immer, ich weiß nicht, warum Sie so eine primitive Meinung über meine Leistung haben...

Alexey, verstehst du nicht, dass alle deine 5k binären Zeichen durch 2-3 Hauptkomponenten ersetzt werden können, d.h. 2-3 Zeichen und alles)), aber man muss es tun, um zu wissen...

Sie verstehen auch nicht, dass Ihr cooles Modell mit 5k Merkmalen nur ein Merkmal unter Hunderten von anderen für ein höher eingestuftes Modell sein kann, das wiederum ein Merkmal für ein noch höher eingestuftes Modell sein wird...

Dies sind die Kategorien, in denen ich derzeit denke.


Sehen Sie sich Ivakhnenko MHUA an, wie sehr ausgearbeitet und tief die Konzepte sind, wenn ich es lese, fühle ich mich wie ein Erstklässler in MO...

 
mytarmailS:
Alexej, wie kannst du nicht verstehen, dass alle deine 5k binären Attribute durch 2-3 -große Komponenten ersetzt werden können, d.h. 2-3 Attribute und alles)), aber du musst es tun, um zu wissen...

Wie kommen Sie zu solchen Schlussfolgerungen über mein Verständnis oder nicht? Das Thema MGUA wird von mir nicht berührt, da es keine wirklichen Erfahrungen mit seiner Anwendung gibt. Sind Sie bereit, meine Zeichen auf 2-3 zu verdichten? Ich wäre daran interessiert, sie zu sehen und sie mit meinem Ansatz zu vergleichen. Da Sie bereits alles dafür geschärft haben, dürfte das doch kein Problem sein, oder?

mytarmailS:
Verstehen Sie denn nicht, dass Ihr cooles Modell mit 5k Attributen nur ein Attribut unter Hunderten von Attributen für ein höher eingestuftes Modell sein kann, das wiederum ein Attribut für ein noch höher eingestuftes Modell sein kann...

Das sind die Kategorien, an die ich jetzt denke.

Ich habe das schon lange in die Praxis umgesetzt, indem ich Blätter aus Modellen herausgezogen habe - sie sind eine gesättigte Komponente für globalere Modelle.

Vieles von dem, was ich mir ausgedacht habe, hat andere Namen und ist für den allgemeinen Gebrauch implementiert, aber wenn man alles von Grund auf neu macht, gibt es ein grundlegendes Verständnis dafür, wie und warum es funktioniert, nicht nur Theorie.

 
mytarmailS:
Lesen Sie die gleiche Ivakhnenko MSUA, wie ausgefeilt und tief die Konzepte sind, wenn ich es lesen, fühle ich mich wie ein Erstklässler in MO...

Ich muss etwas tun - ich habe schon genug Gedanken, die ich überprüfen muss, ich muss programmieren und verifizieren.

 
mytarmailS:

Sie wissen auch nicht, dass Ihr cooles Modell mit 5k Merkmalen nur ein Merkmal unter Hunderten von Merkmalen für ein höher eingestuftes Modell sein kann, das wiederum ein Merkmal für ein noch höher eingestuftes Modell sein wird...

Matrix-Film-Fan?

 

Ich habe darüber nachgedacht, wie man die Methode zur Auswahl von Prädiktoren/Attributen/Merkmalen durch Analyse des resultierenden Modells verbessern kann.

Ich habe einige Ideen für die Implementierung des Algorithmus, aber beschlossen, sie mit der angesehenen Gemeinschaft zu teilen, vielleicht gibt es einige konstruktive Kritik oder Ergänzungen/Verfeinerungen des Algorithmus, bevor wir an der Implementierung dieses Algorithmus arbeiten. Es ist interessant zu denken, dass nichts mit Rechtfertigung funktioniert.


Auswahl von Prädiktoren nach Häufigkeit der Verwendung (Merkmalsbedeutung) bei der Erstellung eines CatBoost-Modells
.

Die Idee ist, dass jeder Algorithmus seine eigenen Besonderheiten bei der Baumbildung hat und wir die Prädiktoren auswählen, die von dem Algorithmus am häufigsten verwendet werden, in diesem Fall CatBoost.

Um jedoch die Gleichmäßigkeit auf der Zeitskala zu schätzen, werden wir mehrere Stichproben verwenden und deren Daten in einer einzigen Tabelle zusammenfassen. Mit diesem Ansatz werden zufällige Ereignisse herausgefiltert, die einen starken Einfluss auf die Wahl des Prädiktors in einem der Modelle haben. Die Regelmäßigkeiten, auf denen das Modell aufbaut, sollten in der gesamten Stichprobe vorkommen, was eine korrekte Klassifizierung in den neuen Daten erleichtern kann. Dieses Merkmal gilt für Daten aus dem Markt, d. h. Daten ohne Vollständigkeit, einschließlich versteckter Zyklizität, d. h. nicht zeitlich, sondern ereignisbezogen. Dabei ist es wünschenswert, Prädiktoren zu bestrafen, die in einer der Grafiken nicht in den obersten 30-50% liegen, was die Auswahl von Prädiktoren ermöglicht, die am häufigsten für Modelle auf verschiedenen Zeithorizonten nachgefragt werden.

Um den Zufallsfaktor zu verringern, sollten wir außerdem Modelle mit unterschiedlichen Seed-Werten verwenden. Ich denke, es sollte zwischen 25 und 100 solcher Modelle geben. Ob der Koeffizient in Abhängigkeit von der Qualität des erhaltenen Modells hinzugefügt werden sollte oder ob einfach nur der Durchschnitt aller Ergebnisse nach Prädiktoren gebildet werden sollte, weiß ich noch nicht, aber ich denke, wir sollten mit der einfachen Variante beginnen, d.h. nur den Durchschnitt bilden.

Die Verwendung einer Quantisierungstabelle ist wichtig, da sie für die Auswahl der Prädiktoren entscheidend sein kann. Wenn die Tabelle nicht festgelegt ist, erstellt jedes Modell seine eigene Tabelle für die Unterstichprobe, so dass ein Vergleich der Ergebnisse nicht möglich ist; daher muss die Tabelle für alle Stichproben gleich sein.

Es ist möglich, eine Quantisierungstabelle zu erhalten:

  1. Durch die Einstellung von Hyperparametern für CatBoost über die Art und Anzahl der Partitionen in Quanten der gesamten Trainingsstichprobe und das Speichern der Ergebnisse in csv.
  2. Legen Sie die Hyperparameter für CatBoost nach Typ und Anzahl der Partitionen in Quanten fest, indem Sie einen der Stichprobenbereiche, z. B. den besten, auswählen, und speichern Sie die Ergebnisse im csv-Format.
  3. Beschaffen Sie eine Tabelle mit Hilfe eines separaten Skripts, das die besten Optionen aus einer Reihe von Tabellen auswählt.
Durch das erzwungene Laden der Tabellen während des Trainings werden für jede Probe die zuvor erhaltenen Tabellen verwendet.
 
Du kannst Shap-Werte mit dem Boot verbinden und die Interaktion von Features in der Ausgabe auf beliebigen Daten sehen, es ist für diejenigen, die gerne in der Unterwäsche wühlen, wie Alexei :) Es gibt auch ähnliche Bibliotheken, ähnlich wie Lime und modellunabhängig. Natürlich ist ein solches Unterfangen zum Scheitern verurteilt, wenn Sie Hunderte von bedeutungslosen Zeichen analysieren. Es handelt sich um eine einfache Aufgabe, die niemand für Sie kostenlos erledigen wird, denn sie ist ein unglaublicher Zeitfresser mit einem bekannten Ergebnis.
 
Maxim Dmitrievsky:
Sie können Shap-Werte mit dem Boot verbinden und die Interaktion von Merkmalen in der Ausgabe auf beliebige Daten sehen, es ist für diejenigen, die gerne in Unterwäsche graben, wie Alexey :)

Die Frage der Metrik ist offen, es gibt verschiedene Varianten - wir sollten ausprobieren, welche besser ist - Auswirkungen auf das Modell, Anzahl der Splits, Anzahl der richtigen Beispiele nach dem Splitting - die Metriken sind unterschiedlich. Die Frage ist, ob sie für die gestellte Aufgabe richtig eingesetzt werden. Übrigens, soweit ich mich erinnere,konnten Shap-Werte in frühen Builds nicht für die Kommandozeile verwendet werden, aber auf diese Weise können Sie ein Skript zur Visualisierung erstellen.

 
Maxim Dmitrievsky:
Wenn man natürlich Hunderte von bedeutungslosen Zeichen analysiert, dann ist jedes derartige Unterfangen zum Scheitern verurteilt. Es ist eine einfache Aufgabe, und es ist unwahrscheinlich, dass jemand sie für Sie kostenlos erledigt, denn sie ist ein unglaublicher Zeitfresser mit einem bekannten Ergebnis.

Warum der Pessimismus - es geht doch gerade darum, eine Reihe von Attributen zu generieren, die theoretisch für jedes Ziel/jede Basisstrategie geeignet sind, und die besten davon für ein bestimmtes Ziel auszuwählen.

Bezweifeln Sie die Verbesserung der Klassifizierungsqualität nach der Manipulation?
 
Aleksey Vyazmikin:

Warum der Pessimismus - es geht doch gerade darum, eine Reihe von Attributen zu generieren, die theoretisch für jedes Ziel/jede Basisstrategie geeignet sind, und die besten davon für ein bestimmtes Ziel auszuwählen.

Bezweifeln Sie den Qualitätsgewinn bei der Einstufung nach der Manipulation?
Mir ist nicht ganz klar, warum das funktionieren könnte.