Bayes'sche Regression - Hat jemand einen EA mit diesem Algorithmus erstellt? - Seite 51

 
Дмитрий:
Und wie bestimmt man die "beste" Kombination?
Kreuzvalidierung mit 5 Iterationen. Aber nicht die übliche, bei der die Beispiele nach dem Zufallsprinzip ausgewählt werden, sondern eine, die an Zeitreihen angepasst ist - mit einer Isolierung der Beispiele nach Zeit. Der Blog beschreibt das alles.

Der Durchschnittswert der Zielmetrik über die 5 Testfouls zeigt die beste Kombination der Trainingsparameter an.

Das Modell wird dann an der gesamten Trainingsstichprobe trainiert und an einer weiteren Stichprobe validiert.
 
  • Ich frage mich, was ich noch an dem Experiment ändern sollte. Ich habe versucht, die Logik der Fallindizierung für die Kreuzvalidierung zu ändern, aber keine Verbesserung.
  • Ich denke daran, die Eingaben in eine diskrete Form zu bringen.
  • Eine andere Möglichkeit besteht darin, von einem komplexen Modell auf ein einfacheres umzusteigen. Ein komplexes Modell ist ein beschleunigter Entscheidungswald. Die einfachere Variante sind beschleunigte lineare Regressionsmodelle, bei denen auch die Regularisierungsparameter angepasst werden können.
  • Aber der Punkt ist, dass es schwierig ist, die Genauigkeit von 55 % auf 60 % zu erhöhen, nur weil man etwas an der Konstruktion ändert.
  • Auch die Modelle der Bauausschüsse werden bestenfalls einen Bruchteil einer prozentualen Verbesserung bringen. Es dauert länger, die Architektur zu entwickeln und zu trainieren.
  • Es gibt eine Idee, die wichtigen Prädiktoren zu betrachten, und wenn diese oft am Rande des Fensters liegen (724 Minuten), dann könnte man das Fenster auf 1440 Minuten pro Tag erweitern. Aber dann wird die Anzahl der Stichproben halbiert, weil ich sie in 1440 +- zufälligen Terminkreuzungen nehmen werde.
  • Auch ein anderes Ziel, z.B. die Durchbrechung des Kursniveaus (Take Profit / Stop Loss) oder die allgemeine "Richtung", z.B. der lineare Regressionskoeffizient, kann vorhergesagt werden.
Alles braucht seine Zeit. Aber ich werde mich auf jeden Fall noch ein paar Monate mit dem Experiment beschäftigen. Vielleicht kommt ja etwas dabei heraus.
 
Das grundlegende Problem ist die Liste der Prädiktoren. Nachdem wir die Liste der Prädiktoren begründet haben, können wir zu den übrigen übergehen.
 
СанСаныч Фоменко:
Das grundlegende Problem ist die Liste der Prädiktoren. Nachdem wir die Liste der Prädiktoren begründet haben, können wir zu den übrigen übergehen.
Ich danke Ihnen. Auch ich neige dazu, weitere Prädiktoren hinzuzufügen.
 
Alexey Burnakov:
Ich danke Ihnen. Ich neige auch dazu, weitere Prädiktoren hinzuzufügen.
Glauben Sie, dass die Anzahl der von Ihnen verwendeten Prädiktoren nicht ausreicht?
 
Алексей Тарабанов:
Halten Sie die Anzahl der von Ihnen verwendeten Prädiktoren für unzureichend?
Ich weiß es nicht genau.

Oder die verfügbaren Prädiktoren sind nicht aussagekräftig genug,
Entweder ändern sich die Beziehungen im Laufe der Zeit stark und die Verallgemeinerbarkeit nimmt ab
Entweder verändern die Prädiktoren selbst die Verteilungsparameter im Laufe der Zeit.

Zum ersten Punkt können noch weitere hinzugefügt werden, und es ist immer möglich, die besten auszuwählen.
Bei den anderen Punkten kann die Verarbeitung von Daten zwar helfen, aber nicht hundertprozentig.

Ich neige zu einer Kombination aus all diesen Faktoren. Der Punkt ist, dass die Genauigkeit bei der Kreuzvalidierung immer noch bei 55-60 % liegt und mit zunehmendem Prognosehorizont sinkt. Die Prädiktoren geben also auch nicht viel Aufschluss über die Trainingsstichprobe.

Das wäre der Fall, wenn ich feststellen würde, dass die Genauigkeit im Test sehr hoch ist und bei der Validierung stark abfällt, wobei das Experiment korrekt aufgebaut ist, so dass die Abhängigkeiten nicht stationär sind.
 
Alexey Burnakov:
Ich weiß es nicht genau.

Entweder sind die verfügbaren Prädiktoren nicht aussagekräftig genug,
Entweder ändern sich die Beziehungen im Laufe der Zeit stark und die Verallgemeinerbarkeit nimmt ab
Entweder verändern die Prädiktoren selbst die Verteilungsparameter im Laufe der Zeit.

Zum ersten Punkt können noch weitere hinzugefügt werden, und es ist immer möglich, die besten auszuwählen.
Bei den anderen Punkten kann die Verarbeitung von Daten zwar helfen, aber nicht hundertprozentig.

Ich neige zu einer Kombination aus all diesen Faktoren. Der Punkt ist, dass die Genauigkeit bei der Kreuzvalidierung immer noch bei 55-60 % liegt und mit zunehmendem Prognosehorizont sinkt. Die Prädiktoren geben also auch nicht viel Aufschluss über die Trainingsstichprobe.

Das heißt, wenn ich im Test eine hohe Genauigkeit erkenne und diese bei der Validierung stark abfällt, sind die Abhängigkeiten nicht stationär, wenn das Experiment korrekt aufgebaut ist.
Höchstwahrscheinlich tun sie das.
 
Alexey Burnakov:
Ich weiß es nicht mit Sicherheit.

Entweder sind die verfügbaren Prädiktoren nicht aussagekräftig genug,
Entweder ändern sich die Beziehungen im Laufe der Zeit stark und die Verallgemeinerbarkeit nimmt ab
Entweder verändern die Prädiktoren selbst die Verteilungsparameter im Laufe der Zeit.

Zum ersten Punkt können noch weitere hinzugefügt werden, und es ist immer möglich, die besten auszuwählen.
Bei den anderen Punkten kann die Verarbeitung von Daten zwar helfen, aber nicht hundertprozentig.

Ich neige zu einer Kombination aus all diesen Faktoren. Der Punkt ist, dass die Genauigkeit bei der Kreuzvalidierung immer noch bei 55-60 % liegt und mit zunehmendem Prognosehorizont sinkt. Die Prädiktoren geben also auch nicht viel Aufschluss über die Trainingsstichprobe.

Das wäre der Fall, wenn ich feststellen würde, dass die Genauigkeit beim Test hoch ist und bei der Validierung drastisch abfällt, wobei das Experiment korrekt aufgebaut ist, so dass die Abhängigkeiten nicht stationär sind.

Ich habe es bereits geschrieben, ich sage es noch einmal.

Ich habe die Arbeiten zur Auswahl der Prädiktoren mehrmals durchgeführt, auch auf Anfrage. Die Ergebnisse sind nachstehend aufgeführt

Also.

Nehmen wir eine Reihe von Prädiktoren, nicht weniger als 50 und besser als hundert.

Alle von mir behandelten Prädiktoren (d. h. ich erhebe keinen Anspruch auf Verallgemeinerung) lassen sich in zwei Teile unterteilen:

  • der Teil der Prädiktoren, der für die Zielvariable relevant ist
  • der Teil der Prädiktoren, der nichts mit der Zielvariablen zu tun hat - Rauschen

Ich schreibe "Beziehung" sehr vorsichtig und verwende ganz bewusst keine Begriffe.

Beispiel für Prädiktoren:

  • winken - bezieht sich NICHT auf die Zielvariable ZZ
  • Preisabweichung von Raspka ist für die Zielvariable ZZ relevant

Bitte beachten Sie, dass ich die Zielvariable angebe. Bei der anderen Zielvariablen kann es auch umgekehrt sein

Das Problem bei der Aufnahme dieser beiden Gruppen von Prädiktoren in den ursprünglichen Satz von Prädiktoren ist, dass die Standardinstrumente zur Bestimmung der WICHTIGKEIT nicht funktionieren. Daher sind einige Werkzeuge erforderlich, die ich entwickelt habe und verwende, die eine grobe Sichtung von Rauschprädiktoren ermöglichen. Es ist zu beachten, dass es hier keine Eindeutigkeit gibt. Der Algorithmus quantifiziert separat für gültige und nominale Prädiktoren. Weniger als 2 (irgendein relativer Wert) ist mit Sicherheit Lärm. Zwischen 2 und 3: kann verwendet werden, aber besser nicht....

Das Problem mit dem Rauschen besteht darin, dass Prädiktoren, die für das Rauschen relevant sind, die Prädiktoren, die für sie nicht relevant sind, überlagern. Zum Beispiel bauen die Algorithmen randomforest, ada und svm das Modell aus irgendeinem Grund mehr auf diese Rauschprädiktoren auf.

Nachdem wir die verrauschten Prädiktoren herausgefiltert haben - in meinen Datensätzen waren es etwa 80 %(!) -, nehmen wir den Rest der Liste der Prädiktoren und wenden darauf die Werkzeuge von R an, um die Bedeutung der Variablen zu bestimmen. Die tatsächliche Anzahl der Prädiktoren, die zum Trainieren des Modells verwendet werden, beträgt etwa die Hälfte der NICHT-Rauschprädiktoren, d. h. etwa 10 % der ursprünglichen Menge.

Ich bestimme die Bedeutung der Prädiktoren im Fenster. Bei der Bewegung des Fensters ändert sich die Liste der Prädiktoren aus den grundlegenden 20 % laufend. D.h. es werden 12-15 Prädiktoren für die Erstellung des Modells verwendet, die jedoch unterschiedlich sind, je nachdem wie sich das Fenster nach dem Zitat bewegt.

Was ist der Grund dafür?

Nun, der Punkt ist, dass die Bereinigung der Prädiktoren von Rauschfaktoren zur Erstellung von Modellen führt, die NICHT neu trainiert werden.

In Zahlen.

Bei einem vollständigen Satz von Prädiktoren ist es möglich, Modelle mit einem Vorhersagefehler von 3%-5% zu erstellen! Und alle Algorithmen, die die Stichprobe in Teile unterteilen, die so genannten "Out-of-sample" - OOV, bestätigen dieses Ergebnis. Das sieht man sehr gut bei raatle, der das ursprüngliche Muster immer in Teile zerlegt und mit den Ergebnissen sehr zufrieden ist.

Aber.

Wenn die Ausgangsstichprobe Rauschprädiktoren enthält, dann können wir, wenn wir eine echte "Out-of-Sample"-Stichprobe nehmen, d.h. zum Beispiel die Trainingsstichprobe vom 01.06.2015 bis zum 01.01.2016, und dann mit der Stichprobe nach dem 1. Januar rechnen, leicht einen Fehler von 50% und 70% anstelle von 3%-5% erhalten! Je weiter der 1. Januar zurückliegt, desto schlechter ist das Ergebnis.

MODELL WIRD NEU TRAINIERT

Wenn ich den ursprünglichen Satz von Rauschprädiktoren bereinige, sind die Ergebnisse wie folgt und die gleichen für randomforest, ada SVM sowie mehrere andere Modelle - d.h. das Modell löste nichts in meinen Fällen, die Ergebnisse sind: Vorhersagefehler ist etwa 30% auf jedem Satz. Durch die Anwendung der R-Tools für die Wichtigkeit von Prädiktoren können wir den Fehler weiter auf etwa 25 % reduzieren. Für die Zielvariable ZZ konnte dieses Ergebnis nicht verbessert werden.

 
СанСаныч Фоменко:

Ich habe es bereits geschrieben, ich sage es noch einmal.

Ich habe die Auswahl der Prädiktoren schon mehrmals vorgenommen, auch im Auftrag. Die Ergebnisse sind nachstehend aufgeführt

Also.

Nehmen wir eine Reihe von Prädiktoren, nicht weniger als 50, und vorzugsweise mehr als hundert.

Alle von mir behandelten Prädiktoren (d. h. ich erhebe keinen Anspruch auf Verallgemeinerung) lassen sich in zwei Teile unterteilen:

  • der Teil der Prädiktoren, der für die Zielvariable relevant ist
  • der Teil der Prädiktoren, der nichts mit der Zielvariablen zu tun hat - Rauschen

Ich schreibe "Beziehung" sehr vorsichtig und verwende ganz bewusst keine Begriffe.

Beispiel für Prädiktoren:

  • winken - bezieht sich NICHT auf die Zielvariable ZZ
  • Preisabweichung von Raspka ist für die Zielvariable ZZ relevant

Bitte beachten Sie, dass ich die Zielvariable angebe. Bei der anderen Zielvariablen kann es auch umgekehrt sein

Das Problem bei der Aufnahme dieser beiden Gruppen von Prädiktoren in den ursprünglichen Satz von Prädiktoren ist, dass die Standardinstrumente zur Bestimmung der WICHTIGKEIT nicht funktionieren. Daher sind einige Werkzeuge erforderlich, die ich entwickelt habe und verwende, die eine grobe Sichtung von Rauschprädiktoren ermöglichen. Es ist zu beachten, dass es hier keine Eindeutigkeit gibt. Der Algorithmus quantifiziert separat für gültige und nominale Prädiktoren. Weniger als 2 (irgendein relativer Wert) ist mit Sicherheit Lärm. Zwischen 2 und 3: kann verwendet werden, aber besser nicht....

Das Problem mit dem Rauschen besteht darin, dass Prädiktoren, die für das Rauschen relevant sind, die Prädiktoren, die für sie nicht relevant sind, überlagern. Zum Beispiel bauen die Algorithmen randomforest, ada und svm das Modell aus irgendeinem Grund mehr auf diese Rauschprädiktoren auf.

Nachdem wir die verrauschten Prädiktoren herausgefiltert haben - in meinen Datensätzen waren es etwa 80 %(!) -, nehmen wir den Rest der Liste der Prädiktoren und wenden darauf die Werkzeuge von R an, um die Bedeutung der Variablen zu bestimmen. Die tatsächliche Anzahl der Prädiktoren, die zum Trainieren des Modells verwendet werden, beträgt etwa die Hälfte der NICHT-Rauschprädiktoren, d. h. etwa 10 % der ursprünglichen Menge.

Ich bestimme die Bedeutung der Prädiktoren im Fenster. Bei der Bewegung des Fensters ändert sich die Liste der Prädiktoren aus den grundlegenden 20 % laufend. D.h. es werden 12-15 Prädiktoren für die Erstellung des Modells verwendet, die jedoch unterschiedlich sind, je nachdem, wie sich das Fenster nach dem Zitat bewegt.

Was ist der Grund dafür?

Nun, der Punkt ist, dass die Bereinigung der Prädiktoren von Rauschfaktoren zur Erstellung von Modellen führt, die NICHT neu trainiert werden.

In Zahlen.

Bei einem vollständigen Satz von Prädiktoren ist es möglich, Modelle mit einem Vorhersagefehler von 3%-5% zu erstellen! Und alle Algorithmen, die die Stichprobe in Teile unterteilen, die so genannten "Out-of-sample" - OOV, bestätigen dieses Ergebnis. Das sieht man sehr gut bei raatle, der das ursprüngliche Muster immer in Teile zerlegt und mit den Ergebnissen sehr zufrieden ist.

Aber.

Wenn die Ausgangsstichprobe Rauschprädiktoren enthält, dann können wir, wenn wir eine echte "Out-of-Sample"-Stichprobe nehmen, d.h. zum Beispiel die Trainingsstichprobe vom 01.06.2015 bis zum 01.01.2016, und dann mit der Stichprobe nach dem 1. Januar rechnen, leicht einen Fehler von 50% und 70% anstelle von 3%-5% erhalten! Je weiter der 1. Januar zurückliegt, desto schlechter ist das Ergebnis.

MODELL WIRD NEU TRAINIERT

Wenn ich den ursprünglichen Satz von Rauschprädiktoren bereinige, sind die Ergebnisse wie folgt und das gleiche für randomforest, ada SVM sowie mehrere andere Modelle - d.h. das Modell hat in meinen Fällen nichts gelöst, die Ergebnisse sind wie folgt: Vorhersagefehler ist etwa 30% auf jedem Satz. Durch die Anwendung der R-Tools für die Wichtigkeit von Prädiktoren können wir den Fehler weiter auf etwa 25 % reduzieren. Für die Zielvariable ZZ konnte dieses Ergebnis nicht verbessert werden.

Ich danke Ihnen.

Ich verstehe, was Sie denken. Aus all dem oben Gesagten sah ich eine Möglichkeit, die Wichtigkeit von Prädiktoren für mehrere Teile der Trainingsstichprobe zu berechnen, dann die Listen zu vergleichen und Duplikate auszuwählen.

Zur manuellen Auswahl kann ich nichts sagen, ich ziehe es vor, die Maschine sofort zu benutzen.

SZZ: Ich werde versuchen, meine selbstentwickelte Methode anzuwenden, die auf der Funktion der gegenseitigen Information basiert, zusätzlich zur Wichtigkeit der Variablen aus dem Entscheidungswald. Ich werde Ihnen die Ergebnisse später zeigen.

 
СанСаныч Фоменко:


Das Problem mit dem Rauschen ist, dass die Prädiktoren, die sich auf das Rauschen beziehen, die Prädiktoren, die sich nicht auf das Rauschen beziehen, verstopfen. Zum Beispiel bauen die Algorithmen randomforest, ada und svm das Modell aus irgendeinem Grund mehr auf diese Rauschprädiktoren auf.


Frage: Berücksichtigt SVM die Wechselwirkungen zwischen den Variablen oder ist es nur die Summe der gewichteten Einzelkomponenten?