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

 
Aleksey Nikolayev #:

Im Allgemeinen gibt es nach dem Training (on train) nicht nur ein Modell, sondern eine Reihe von Modellen, die durch Meta-Parameter definiert sind. Zum Beispiel verschiedene Grade von Interpolationspolynomen oder verschiedene Regularisierungskoeffizienten in der Lassoregression, usw. Dann wird der beste Wert für den Metaparameter ermittelt (das beste Modell aus der Menge wird durch Testen ermittelt). Im Gegenzug kann die Optimierung der Meta-Parameter im Test auch durch einige Parameter (Meta-Parameter) bestimmt werden, für deren Optimierung die Prüfung angewendet werden kann. Zum Beispiel, in welchem Verhältnis die ursprüngliche Stichprobe in Zug und Test aufgeteilt werden soll.

Aber wahrscheinlich verstehe ich Ihre Idee einfach nicht).

Der beste Weg, um Meta-Parameter auszuwählen, ist nicht ein einziger Testabschnitt, sondern mehrere Abschnitte, die durch Kreuzvalidierung oder Rolling Forward zusammengeklebt werden. Das wurde kürzlich diskutiert.
 
elibrarius #:
Es ist am besten, die Meta-Parameter nicht auf einer einzelnen Testfläche auszuwählen, sondern auf mehreren, die durch Kreuzvalidierung oder Rolling Forward zusammengefügt werden. Das wurde kürzlich diskutiert.

Ich stimme zu. Eigentlich wollte ich nur sagen, dass die Kreuzvalidierung auch komplizierter gestaltet und mit eigenen Parametern (Meta-Parametern) versehen werden kann, die auch durch eine weitere Stichprobe optimiert werden können (und nicht aus der Decke geholt werden).

 
Aleksey Nikolayev #:

Ich stimme zu. Eigentlich wollte ich nur den Gedanken zum Ausdruck bringen, dass die Kreuzvalidierung auch kompliziert gestaltet und mit einigen eigenen Parametern (Meta-Parametern) versehen werden kann, die auch anhand einer anderen Stichprobe optimiert werden können (anstatt sie von der Obergrenze zu nehmen).

Richtig verstanden - führen Sie alle Maßnahmen durch, um die Probe einer Prüfungsprobe ähnlicher zu machen.

Die Frage ist nur, wie man das am besten macht.

Eine Möglichkeit, die oft genutzt wird, ist die Aufzählung von Prädiktoren - aber bei einer großen Menge von ihnen zu viel. Und können wir, sagen wir, Strings (eine Reihe von Prädiktoren) auf Ähnlichkeit und Robustheit des Zielergebnisses in den beiden Stichproben vergleichen? Dann können wir anomale (z. B. seltene oder in der Stichprobe nicht vorkommende) Zeichenfolgen aus der Trainingsstichprobe herausnehmen und dadurch theoretisch viel besser lernen.

 
Aleksey Vyazmikin #:

Richtig verstanden - alle Maßnahmen durchführen, um den Probezug einer Prüfungsprobe ähnlicher zu machen.

Die Frage ist also, wie man das am besten macht.

Eine häufig genutzte Option ist die Aufzählung von Prädiktoren - aber bei einer großen Menge gibt es zu viele davon. Und können wir, sagen wir, Strings (eine Reihe von Prädiktoren) auf Ähnlichkeit und Robustheit des Zielergebnisses in den beiden Stichproben vergleichen? Dann können wir anomale (z. B. seltene oder in der Stichprobe nicht vorkommende) Zeichenfolgen aus der Trainingsstichprobe herausnehmen und dadurch theoretisch viel besser lernen.

Vladimir hatte einen Artikel darüber, ich erinnere mich nicht an den Namen des Pakets, aber es hat einfach unvorhersehbare Strings aus dem Sample herausgeschleudert
 
mytarmailS #:
Vladimir hatte einen Artikel darüber, ich erinnere mich nicht mehr an den Namen des Pakets, aber es war gerade dabei, unvorhersehbare Zeichenketten aus dem Beispiel zu löschen

Interessant, ich werde danach suchen müssen. Ich möchte jedoch nicht vorhersehbare Zeichenfolgen verwerfen, sondern solche, die in der Stichprobe außerhalb des Trainings nicht vorkommen. Es ist natürlich auch interessant, sie zu markieren und nicht einfach wegzuwerfen - um sie zu identifizieren.

 
Aleksey Vyazmikin #:

Interessant, das muss ich mal nachschlagen. Aber ich möchte nicht die ausschließen, die nicht vorhersehbar sind, sondern die, die in der Stichprobe außerhalb der Ausbildung nicht vorkommen. Es ist natürlich auch interessant, sie in irgendeiner Weise zu markieren, anstatt sie einfach wegzuwerfen - um sie zu identifizieren.

Vielleicht geht es um die Beseitigung von Ausreißern in Beobachtungen, die es in zwei Arten geben kann - nach Antwortgröße und nach Prädiktorgröße (beide können in derselben Beobachtung kombiniert sein). Die eigentlichen Ausreißer werden als Erstere bezeichnet, während die Letzteren in der Regel anders genannt werden. Diese Wissenschaft ist für die lineare Regression gut entwickelt. Wahrscheinlich können Sie jede Testbeobachtung daraufhin überprüfen, ob sie in irgendeiner Weise ein Ausreißer im Vergleich zu einer Prüfung ist.

 
Aleksey Vyazmikin #:

Interessant, das muss ich mal nachschlagen. Aber ich möchte nicht die ausschließen, die nicht vorhersehbar sind, sondern die, die in der Stichprobe außerhalb der Ausbildung nicht vorkommen. Es ist natürlich auch interessant, sie zu markieren und nicht einfach wegzuwerfen - um sie zu identifizieren.

Sie können Holzmodelle verwenden...
Zerlegen Sie das Modell in Regeln, analysieren Sie die Regeln für die richtige Statistik (Wiederholbarkeit ist etwas anderes...), schauen Sie, ob die Regel in den neuen Daten erscheint...

Das Paket "intrees" besteht aus 5 Zeilen Code und geht
 
mytarmailS #:
Vladimir hatte einen Artikel darüber, ich erinnere mich nicht an den Namen des Pakets, aber es war gerade dabei, unvorhersehbare Zeichenketten aus dem Beispiel zu löschen

NoiseFiltersR-Paket. Schauen Sie sich den Artikel an.

 
elibrarius #:
Es ist am besten, die Meta-Parameter nicht auf einer einzelnen Testfläche auszuwählen, sondern auf mehreren, die durch Kreuzvalidierung oder Rolling Forward zusammengefügt werden. Dies wurde kürzlich diskutiert.

Und wie verwendet man die CV-Ergebnisse richtig? Nimmt man die besten Parameter des Modells und überträgt sie auf den gesamten Datensatz, oder verwendet man sie nur zur Auswahl guter Datensätze?

Die Ausgabe ist zum Beispiel die folgende Tabelle

        iterations      test-Logloss-mean       test-Logloss-std        train-Logloss-mean      train-Logloss-std
0       0       0.689013        0.005904        0.681549        0.007307
1       1       0.685340        0.011887        0.660894        0.001061
2       2       0.685858        0.012818        0.641069        0.004738
3       3       0.685975        0.023640        0.629656        0.000656
4       4       0.686613        0.024923        0.612977        0.002072
...     ...     ...     ...     ...     ...
95      95      0.863043        0.402531        0.123702        0.028628
96      96      0.866321        0.406193        0.122224        0.028623
97      97      0.869681        0.409679        0.120777        0.028611
98      98      0.873030        0.413121        0.119361        0.028595
99      99      0.874569        0.419064        0.117974        0.028572
 
Vladimir Perervenko #:

NoiseFiltersR-Paket. Schauen Sie sich den Artikel an.

Während die Lärmvorhersagen mehr oder weniger klar sind, sind die Lärmbeispiele nicht eindeutig. Ich würde gerne mehr darüber wissen, wie man sie definiert (in Bezug auf die Theorie, nicht die Namen der verwendeten Pakete/Funktionen, obwohl R natürlich immer Links zu Artikeln hat). Es ist klar, dass es bei der Einstufung eine Klasse "Nicht handeln" geben sollte, da es als Fehler angesehen wird, ständig auf dem Markt zu sein. Es ist jedoch nicht ganz klar, wie diese Klasse mehr oder weniger formal korrekt beschrieben werden kann.