Bibliotheken: RL algorithms - Seite 4

 
mov:

Wahrscheinlich klopft er an eine offene Tür, aber da das Original keine...

Es wird empfohlen, vor der Konvertierung in den Bereich [0,1] eine Vorverarbeitung durchzuführen:

1. Entfernen der Periodizität, ich habe es in periodicityArrays() gemacht - das Profil, das sich aus Wochentagen und Stunden für einen Monat zusammensetzt, wird vom Bereich subtrahiert (obwohl ich es nur für den Stunden-Zeitrahmen gemacht habe).

2. die Entfernung des linearen Trends in linearTrendArrays() wie empfohlen a[i]=a[i]-a[i+1].

3. und hier sollte die Autokorrelationsprüfung sein (noch nicht implementiert)


Die Vorhersagbarkeit nach 1 und 2 Aktionen hat sich deutlich verbessert. Der Code ist beigefügt.

Vielen Dank für Ihre harte Arbeit, ich werde mir das auf jeden Fall heute/morgen ansehen.

Was das Entfernen des linearen Trends angeht - dieser verwendet Inkremente, in RF recursive wird das zum Beispiel so gemacht. Aber es werden private Preise verwendet, nicht Differenzen, und die Inkremente werden mit verschiedenen Verzögerungen aufgezählt. Das heißt, die Eingabe sind einfach Preise und dann eine Vorverarbeitung mit Auswahl der besten Inkremente (im Allgemeinen wird dies in der Literatur als sequentielle Trendauswahl bezeichnet, hier ist eine solche Operation nicht wörtlich zu nehmen, aber sie ist ein Analogon). Sie verwenden Inkremente mit einer einzigen Verzögerung, d. h. im Wesentlichen gehen alle langfristigen Informationen verloren. Wichtige Trends müssen auf dem Markt noch irgendwie berücksichtigt werden. Außerdem wird in vielen Quellen zur BP-Prognose ausdrücklich darauf hingewiesen, dass ein linearer Trend unbedingt berücksichtigt werden muss, und sei es nur die Zeitabhängigkeit. In den Köpfen der maschinellen Lerner herrscht ein wenig Verwirrung in Bezug auf die Normalisierung und Standardisierung von Variablen für die Vorhersage pseudostationärer Prozesse und für die Vorhersage von Zeitreihen. Sie beginnen, Ansätze zu übernehmen, die für BP-Vorhersageprobleme nicht funktionieren. Bei der Vorhersage von Zeitreihen ist der Trend fast das Wichtigste :) Vielleicht ist es sinnvoll, nicht den linearen Trend selbst als Input zu verwenden, sondern statistische Merkmale für einen ausgewählten Zeitraum (Momente von Verteilungen), aber ich habe es nicht ausprobiert.

for(int bf=0;bf<features;bf++) {  
     for(int bf2=bf+1;bf2<features;bf2++) {               
      for(int i=0;i<RDFpolicyMatrix.Size();i++) {   
        m[i].Set(0,RDFpolicyMatrix[i][bf]/RDFpolicyMatrix[i][bf2]);         
        m[i].Set(1,RDFpolicyMatrix[i][features]);   
        m[i].Set(2,RDFpolicyMatrix[i][features+1]); 
       }         
      CDForest::DFBuildRandomDecisionForest(m,RDFpolicyMatrix.Size(),1,2,trees,r,RDFinfo,mRDF,mRep);         
      ArrayResize(models1,ArraySize(models1)/3+1);
      models1[modelCounterInitial][0] = mRep.m_oobavgce;   
      models1[modelCounterInitial][1] = bf; 
      models1[modelCounterInitial][2] = bf2;   
      modelCounterInitial++;                     
     }  
    }

Was die Periodizität betrifft, so verstehe ich die Idee nicht wirklich.

Ich habe keine großen Verbesserungen bei OOS im Vergleich zur Basisversion festgestellt

 

Maxim Dmitrievsky:

In den Köpfen der maschinellen Lerner herrscht ein wenig Verwirrung über die Normalisierung und Standardisierung von Variablen für die Vorhersage pseudostationärer Prozesse und für die Vorhersage von Zeitreihen. Sie beginnen, Ansätze zu übernehmen, die für BP-Vorhersageprobleme nicht funktionieren. Bei der Vorhersage von Zeitreihen ist der Trend fast das Wichtigste :) Vielleicht ist es sinnvoll, nicht den linearen Trend selbst als Input zu verwenden, sondern statistische Merkmale für einen ausgewählten Zeitraum (Momente von Verteilungen), aber ich habe es nicht ausprobiert.

Was die Periodizität betrifft, so verstehe ich die Idee nicht wirklich.

Ich habe keine großen Verbesserungen in der OOS im Vergleich zur Basisversion festgestellt.

Die Beseitigung der Periodizität und des linearen Trends stammt aus: Orlov, Osminin Non-stationary time series Forecasting methods with examples of analyses of financial and commodity markets. 3 Punkte der Datenaufbereitung werden in ihrer Gesamtheit übernommen. Vielleicht ist dies eine Voraussetzung für den im Buch betrachteten Algorithmus, aber ich habe das Ergebnis verbessert.

Lassen Sie mich erklären, wie ich teste. Es wird ein Jahr mit einer Verschiebung um einen Monat zurück genommen. Ich trainiere das Modell. Ich teste das Modell anhand des letzten Monats (der nicht in das Training einbezogen wurde). Vielleicht ist ein Monat nicht genug, aber ich gehe davon aus, dass das Modell für den zukünftigen Zeitraum funktionieren sollte. Es macht keinen Sinn, mehr als einen Monat zu betrachten, da das Modell in diesem Zeitraum überoptimiert sein wird. Bei diesem Ansatz ist für mich die Rentabilität in den ersten Tagen wichtig (und die subjektive Bewertung - der Zeitraum, nach dem eine erneute Optimierung erforderlich ist). Mit den bisherigen Varianten konnte ich 1-1,5 Wochen lang konstant + Handel erzielen, dann begannen die Rutschpartien. Mit dem Einsatz der oben erwähnten Vorverarbeitung war es möglich, 2-2,5 Wochen im + zu erreichen. Das nenne ich die Steigerung der Vorhersagbarkeit. Vielleicht ist mein Ansatz statistisch nicht ganz korrekt, aber meiner Meinung nach ist er praktisch. 2 Wochen stabiler Arbeit mit der Methode erlauben es bereits, sie im realen Handel mit erneuter Optimierung nach einer Woche einzusetzen. Natürlich wird die letzte Periode zum Training genutzt (ohne Abweichung).

 
mov:

Beseitigung von Periodizität und linearem Trend aus: Orlov, Osminin Nichtstationäre Zeitreihen Prognosemethoden mit Beispielen von Analysen der Finanz- und Rohstoffmärkte. 3 Punkte der Datenaufbereitung werden in ihrer Gesamtheit übernommen. Vielleicht ist dies eine Voraussetzung für den im Buch besprochenen Algorithmus, aber ich habe das Ergebnis verbessert.

Lassen Sie mich erklären, wie ich teste. Es wird ein Jahr mit einer Verschiebung um einen Monat zurück genommen. Ich trainiere das Modell. Ich teste das Modell anhand des letzten Monats (der nicht in das Training einbezogen wurde). Vielleicht ist ein Monat nicht genug, aber ich gehe davon aus, dass das Modell für den zukünftigen Zeitraum funktionieren sollte. Es macht keinen Sinn, mehr als einen Monat zu betrachten, da das Modell in diesem Zeitraum überoptimiert sein wird. Bei diesem Ansatz ist für mich die Rentabilität in den ersten Tagen wichtig (und die subjektive Bewertung - der Zeitraum, nach dem eine erneute Optimierung erforderlich ist). Mit den bisherigen Varianten konnte ich 1-1,5 Wochen lang konstant + Handel erzielen, dann begannen die Rutschpartien. Mit der oben erwähnten Vorverarbeitung gelang es mir, 2-2,5 Wochen im Plus zu sein. Das nenne ich die Steigerung der Vorhersagbarkeit. Vielleicht ist mein Ansatz statistisch nicht ganz korrekt, aber meiner Meinung nach ist er praktisch. 2 Wochen stabiler Arbeit mit der Methode erlauben es bereits, sie im realen Handel mit einer erneuten Optimierung nach einer Woche einzusetzen. Natürlich wird die letzte Periode zum Training für den Handel genutzt (ohne Abweichung).

Danke, ich werde es mir ansehen. Zugegeben, ich bin etwas verwirrt darüber, wie ich das Modell am besten füttern soll. Die mehrfachen Transformationen führen es in die Irre, völlig unintuitiv

Im Moment untersuche ich die Anwendbarkeit von linearen Modellen bei diesem Ansatz.

s.s.: Haben Sie das Buch in elektronischer Form?

 

Maxim Dmitrievsky:

s.s. Sie haben es nicht elektronisch?

Leider nur in Papierform. Es ist eine Monographie, ich habe sie nicht im Netz gefunden, aber es gibt wissenschaftliche Originalartikel dazu (Suche <Familienname> nicht-stationäre Reihen), morgen werde ich versuchen, das Kapitel über Finanzmärkte zu filmen.

 
mov:

Leider Papier. Es ist eine Monographie, ich habe sie nicht im Netz gefunden, aber es gibt wissenschaftliche Originalartikel dazu (Suche <Familienname> nicht-stationäre Reihen), morgen werde ich versuchen, das Kapitel über Finanzmärkte zu filmen.

Ich würde gerne genau wissen, wie sie es sehen, den Rest verstehe ich.

 
Der Algorithmus ist in Abschnitt 6.4.2, der Link geht zum Ende von 5.2.1. Nur für den Fall, dass ich beide Kapitel in ihrer Gesamtheit gemacht habe, entschuldige ich mich, ohne die Scans zu bearbeiten, aber es gibt wenig freie Zeit bei der Arbeit (und der Scanner funktioniert).
Dateien:
im65-6.zip  1452 kb
 
mov:
Der Algorithmus ist in Abschnitt 6.4.2, der Link geht zum Ende von 5.2.1. Nur für den Fall, dass ich beide Kapitel in ihrer Gesamtheit gemacht habe, entschuldige ich mich, ohne die Scans zu bearbeiten, aber es gibt wenig freie Zeit bei der Arbeit (und der Scanner funktioniert).

danke! habe angefangen zu lesen

 
Maxim Dmitrievsky:

danke! habe angefangen zu lesen

Sorry, vielleicht ist es nützlich: Gaidyshev Data Analysis and Processing Special Reference 2001. ch6 methods of dimensionality reduction (das Buch ist gut mit Beispielen in C). Es gibt pdf im Netz, ich konnte nur djvu anhängen (Dateigrößenbeschränkung).
 
Олег:
Tut mir leid, es könnte nützlich sein: Gaidyshev Data Analysis and Processing Special Reference 2001. ch6 methods of dimensionality reduction (das Buch ist gut mit Beispielen in C). Es gibt pdf im Netz, ich konnte nur djvu anhängen (Dateigrößenbeschränkung).

Ja, PCA ist eine der Möglichkeiten, das Problem zu lösen, Sie können experimentieren. Ich habe es an einem einfachen Testbeispiel ausprobiert - zumindest ist es nicht schlimmer geworden, ich bin mir noch nicht sicher, ob es besser ist

 
Олег:
Tut mir leid, es könnte nützlich sein: Gaidyshev Data Analysis and Processing Special Reference 2001. ch6 methods of dimensionality reduction (das Buch ist gut mit Beispielen in C). Es gibt pdf im Netz, ich konnte nur djvu anhängen (Dateigrößenbeschränkung).

https://www.mql5.com/ru/forum/86386/page1189#comment_9795331

Машинное обучение в трейдинге: теория и практика (торговля и не только)
Машинное обучение в трейдинге: теория и практика (торговля и не только)
  • 2018.12.06
  • www.mql5.com
Добрый день всем, Знаю, что есть на форуме энтузиасты machine learning и статистики...