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

 

Am Anfang, als es nur ein paar hundert Leute waren, die ihre Prognosen abgaben, war alles in Ordnung, ich wurde sogar für Plätze bezahlt. Es gab mindestens zwei weitere Personen im Forum, die ebenfalls großartige Ergebnisse mit Preisen erzielten.

Mindestens zwei weitere Personen im Forum haben ebenfalls großartige Ergebnisse erzielt. Dann begannen sie, anstelle von Modellen allen möglichen Müll zu schicken, und es tauchten alle möglichen Betrüger mit Hunderten von Konten auf, die dummerweise die Vorhersage brutal forcierten. Die Administratoren hatten die Nase voll von diesem ganzen Zirkus und machten es ganz einfach: "Wenn ihr einen Geldpreis wollt, hinterlasst eine Einzahlung. Wenn das Modell gefälscht ist, und die Kaution wird weggehen, und die Gewinne werden nicht sein.
Meiner Meinung nach haben die Administratoren den für sie einfachsten Weg gewählt. Sie haben nicht gelernt, wie man potenziell gute Modelle identifiziert oder sogar Merkmale vorbereitet, und haben alles zu einer Lotterie gemacht. An ihrer Stelle würde ich die Dinge anders angehen.

 
Dr. Trader:

Am Anfang, als es nur ein paar hundert Leute waren, die ihre Prognosen abgaben, war alles in Ordnung, ich wurde sogar für Plätze bezahlt. Es gibt mindestens zwei weitere Personen im Forum, die ebenfalls gute Ergebnisse mit Preisen erzielt haben.

Es war für die Numeraire-Administratoren ein Leichtes, die besten Ergebnisse auszuwählen und mit ihnen zu handeln. Sie sind unzufrieden mit der Art und Weise, wie sie sind, wenn sie einen Eintrag kaufen, oder wenn sie keinen Eintrag geben wollen. Die Administratoren hatten die Nase voll von diesem ganzen Zirkus und machten es ganz einfach: "Wenn ihr einen Geldpreis wollt, hinterlasst eine Einzahlung. Wenn das Modell gefälscht ist, und die Kaution wird weggehen, und die Gewinne werden nicht sein.
Meiner Meinung nach haben die Administratoren den für sie einfachsten Weg gewählt. Sie haben nicht gelernt, wie man potenziell gute Modelle identifiziert oder sogar Merkmale vorbereitet, und haben alles zu einer Lotterie gemacht. An ihrer Stelle würde ich es anders machen.

Vielleicht haben Sie Recht, aber jetzt IMHO es alle zu willkürlich, wechselnden Logos als seltsam, dann waren mehr als die Hälfte unter (besser) als zufällige (0,96315) auf Life, jetzt plötzlich fast alle werden Ihre (schlechter) zufällige ... Kurz und gut, IMHO traue ich ihnen nicht zu, "Risiken einzugehen", wenn man nichts überprüfen kann, und die ganze Idee ist dumm, die Klassifizierung selbst ist kein Thema für Herausforderungen, es macht keinen Sinn, sie zu delegieren, eine andere Sache ist, Chips und Ziele aus Rohdaten zu machen...

 

Ich werde nicht zulassen, dass dieser Zweig aus der Spitzengruppe herausfällt.

Meine Herren des neuronalen Netzes - das gemeine Volk erwartet von Ihnen den Gral. Machen Sie es nicht kaputt.

 

Experimentiert mit randomUniformForest - mochte es nicht.

Die Bedeutung der Prädiktoren springt in der Liste immer wieder nach oben und unten.

Hier ist ein reproduzierbares Beispiel zu den Daten aus dem Artikel https://www.mql5.com/ru/articles/4227:
Starten Sie RStudio, laden Sie die Datei Cotir.RData von GitHub/Part_I herunter, mit den vom Terminal erhaltenen Zitaten, und die Datei FunPrepareData.R mit den Datenvorbereitungsfunktionen vonGitHub/Part_IV.
Dann:

evalq({
  dt <- PrepareData(Data, Open, High, Low, Close, Volume)
}, env)

 prep <- caret::preProcess(x = env$dt[, -c(1,ncol(env$dt))], method = c("spatialSign"))
 x.train <- predict(prep, env$dt[, -c(1,ncol(env$dt))])#удалить время и класс
 x.train <- as.matrix(x.train,ncol=(ncol(env$dt)-1))
 
 y.train <- as.matrix(env$dt[, ncol(env$dt)],ncol=1)
 require(randomUniformForest)

ruf <- randomUniformForest( X = x.train,Y = y.train,mtry = 1, ntree = 300,threads = 2, nodesize = 2,  regression = FALSE)
ruf$forest$variableImportance

ruf <- randomUniformForest( X = x.train,Y = y.train,mtry = 1, ntree = 300,threads = 2, nodesize = 2,  regression = FALSE)
ruf$forest$variableImportance

ruf <- randomUniformForest( X = x.train,Y = y.train,mtry = 1, ntree = 300,threads = 2, nodesize = 2,  regression = FALSE)
ruf$forest$variableImportance

ruf <- randomUniformForest( X = x.train,Y = y.train,mtry = 1, ntree = 300,threads = 2, nodesize = 2,  regression = FALSE)
ruf$forest$variableImportance

Hier wird die globale Bedeutung der Prädiktoren viermal auf denselben Daten berechnet. Das Ergebnis ist fast zufällig:

----------------------------------------------------------------------------------------------
1 ftlm 9204 2 0.52 100.00 8
2 rbci 9197 2 0.52 99.92 8
3 stlm 9150 2 0.52 99.41 8
4 v.fatl 9147 2 0.51 99.38 8
5 v.rftl 9122 2 0.52 99.11 8
6 v.satl 9110 2 0.51 98.98 8
7 v.stlm 9096 2 0.51 98.82 8
8 v.rbci 9084 2 0.51 98.69 8
9 pcci 9082 2 0.52 98.68 8
10 v.rstl 9049 2 0.52 98.31 8
11 v.pcci 8980 2 0.51 97.57 8
12 v.ftlm 8953 2 0.52 97.28 8
----------------------------------------------------------------------------------------------

1 v.fatl 9130 2 0.51 100.00 8
2 ftlm 9079 2 0.52 99.45 8
3 v.rbci 9071 2 0.52 99.35 8
4 v.rftl 9066 2 0.52 99.30 8
5 stlm 9058 2 0.51 99.21 8
6 v.satl 9033 2 0.51 98.94 8
7 pcci 9033 2 0.51 98.94 8
8 v.stlm 9019 2 0.51 98.78 8
9 v.rstl 8977 2 0.51 98.33 8
10 rbci 8915 2 0.52 97.64 8
11 v.pcci 8898 2 0.51 97.46 8
12 v.ftlm 8860 2 0.51 97.04 8
----------------------------------------------------------------------------------------------

1 v.fatl 9287 2 0.51 100.00 9
2 stlm 9191 2 0.52 98.96 8
3 v.rbci 9172 2 0.52 98.76 8
4 v.rftl 9134 2 0.51 98.35 8
5 v.satl 9115 2 0.51 98.14 8
6 ftlm 9109 2 0.51 98.08 8
7 v.stlm 9072 2 0.51 97.69 8
8 v.rstl 9072 2 0.51 97.68 8
9 v.ftlm 9036 2 0.51 97.30 8
10 pcci 9014 2 0.52 97.05 8
11 rbci 9002 2 0.52 96.93 8
12 v.pcci 8914 2 0.51 95.98 8
----------------------------------------------------------------------------------------------

1 v.satl 9413 2 0.51 100.00 8
2 ftlm 9389 2 0.52 99.75 8
3 v.stlm 9371 2 0.51 99.55 8
4 v.rftl 9370 2 0.51 99.54 8
5 v.rbci 9337 2 0.51 99.19 8
6 v.pcci 9314 2 0.51 98.95 8
7 v.fatl 9311 2 0.52 98.91 8
8 stlm 9295 2 0.52 98.75 8
9 pcci 9281 2 0.51 98.60 8
10 v.rstl 9261 2 0.51 98.39 8
11 v.ftlm 9257 2 0.51 98.35 8
12 rbci 9238 2 0.52 98.14 8

Für die anderen beiden getesteten Pakete wird die Bedeutung der Prädiktoren auf die gleiche Weise in Vorläufen bestimmt.

Глубокие нейросети (Часть VI). Ансамбль нейросетевых классификаторов: bagging
Глубокие нейросети (Часть VI). Ансамбль нейросетевых классификаторов: bagging
  • 2018.03.01
  • Vladimir Perervenko
  • www.mql5.com
В предыдущей статье этой серии мы оптимизировали гиперпараметры модели DNN, обучили ее несколькими вариантами и протестировали. Качество полученной модели оказалось довольно высоким. Также мы обсудили возможности того, как можно улучшить качество классификации. Одна из них — использовать ансамбль нейросетей. Этот вариант усиления мы и...
 
elibrarius:

Experimentiert mit randomUniformForest - mochte es nicht.

Die Bedeutung der Prädiktoren springt in der Liste immer wieder nach oben und unten.

Ich kann es nicht sehen.

Aber darum geht es nicht, es geht um dieses Prinzip.

Die Wichtigkeit der Prädiktoren, die in diesem Modell und in anderen Modellen definiert ist, ist ein Merkmal der Verwendung eines bestimmten Prädiktors in einem bestimmten Modell.

Und Sie können das Problem als die Bedeutung des Prädiktors für die Zielvariable formulieren, nicht als ein bestimmtes Modell.

Die Funktionen von caret sind genau das. Sie können sie verwenden, um einen allgemeinen Satz von Prädiktoren zu erstellen, die für die Zielvariable "nützlich" sind. Es gibt eine sehr interessante Nuance: Wenn wir das Fenster verschieben und bereits ausgewählte Prädiktoren neu auswählen, z. B. in Bezug auf einen bestimmten Algorithmus, wird sich diese Menge ständig ändern.

Im Allgemeinen brauchen Sie eine Antwort auf die Frage: Warum brauchen Sie die Bedeutung von Prädiktoren? Für die Auswahl in einem bestimmten Algorithmus? Der Algorithmus hat sich also bereits dazu geäußert und Sie darüber informiert. Die Zahlen, die Sie vorlegen, sind also gar nichts, ob sie sich ändern oder nicht, ist irrelevant. Was zählt, ist die Vorhersage des Modells außerhalb der Trainingsstichprobe und die Beziehung zwischen der Liste der Prädiktoren und dem Erfolg der Vorhersage außerhalb der Stichprobe

 
elibrarius:

Experimentiert mit randomUniformForest - mochte es nicht.

Versuchen Sie, Ihre Prädiktoren hier hochzuladen

https://www.mql5.com/ru/articles/3856

und sehen dann ihre Importe auf einer automatisch generierten Matrix nach dem Agententraining

Ich habe bisher positive Ergebnisse erzielt, aber es gibt noch Raum für Verbesserungen.

Ich denke, dass es sinnlos ist, die Zielvorgaben auf einem nicht-stationären Markt an die Prädiktoren anzupassen, da sich die Bedeutung auch stochastisch ändert.

Random Decision Forest в обучении с подкреплением
Random Decision Forest в обучении с подкреплением
  • 2018.04.12
  • Maxim Dmitrievsky
  • www.mql5.com
Random Forest (RF) с применением бэггинга — один из самых сильных методов машинного обучения, который немного уступает градиентному бустингу.  Случайный лес состоит из комитета деревьев решений (которые также называются деревьями классификации или регрессионными деревьями "CART" и решают одноименные задачи). Они применяются в статистике...
 
SanSanych Fomenko:

Ich kann es nicht sehen.

Aber darum geht es nicht, es geht um dieses Prinzip.

Die Wichtigkeit der Prädiktoren, die in diesem Modell und in anderen Modellen definiert ist, ist ein Merkmal der Verwendung eines bestimmten Prädiktors in einem bestimmten Modell.

Und Sie können das Problem als die Bedeutung des Prädiktors für die Zielvariable bezeichnen, nicht als ein bestimmtes Modell.

Das sind die Funktionen von caret, die genau das sind. Sie können sie verwenden, um einen allgemeinen Satz von Prädiktoren zu erstellen, die für die Zielvariable "nützlich" sind. Allerdings gibt es eine sehr interessante Nuance: Wenn wir das Fenster verschieben und die bereits ausgewählten Prädiktoren neu auswählen, z. B. im Zusammenhang mit einem bestimmten Algorithmus, wird sich diese Menge ständig ändern.

Im Allgemeinen brauchen Sie eine Antwort auf die Frage: Warum brauchen Sie die Bedeutung von Prädiktoren? Für die Auswahl in einem bestimmten Algorithmus? Der Algorithmus hat sich also bereits dazu geäußert und Sie darüber informiert. Die Zahlen, die Sie vorlegen, sind also gar nichts, ob sie sich ändern oder nicht, ist irrelevant. Entscheidend ist die Vorhersage des Modells außerhalb der Trainingsstichprobe und die Beziehung zwischen der Liste der Prädiktoren und dem Erfolg der Vorhersage außerhalb der Stichprobe

seed - würde einfach eine dieser Zufallsmengen festlegen. Aber es wäre immer noch ein Zufall, wenn auch ein reproduzierbarer. Ich denke, der Punkt ist, dass die Wichtigkeitsgewichte (3. Spalte) sich nur um 3% zwischen Minimum und Maximum unterscheiden, so dass sie bei kleinen Änderungen im Wald leicht über die Liste springen. Bei anderen Paketen unterscheiden sich diese Gewichte um ein Vielfaches oder um Größenordnungen.

Die Bedeutung der Prädiktoren wird benötigt, um unwichtige und verrauschte Prädiktoren auszusortieren und sie in NS oder im Ensemble zu verwenden.

In diesem Datensatz verschlechtert stlm das Trainingsergebnis sehr stark. Ich verwende es als Marker - wenn es nicht herausfällt, hat das Prädiktorenauswahlpaket versagt.

 
Maxim Dmitrievsky:

Versuchen Sie, Ihre Prädiktoren hier hochzuladen

https://www.mql5.com/ru/articles/3856

und sehen dann ihre Importe in der Matrix, die bereits automatisch nach dem Training des Agenten erstellt wurde

Ich habe bisher positive Ergebnisse bei meinen OOS, aber es gibt noch Raum für Verbesserungen.

Ich denke, es ist sinnlos, die Ziele der Prädiktoren auf einem nicht-stationären Markt zu ermitteln, da sich die Muster stochastisch ändern.

Oh - neuer Artikel. Interessant...
 
elibrarius:
Oh - neuer Artikel. Interessant...

Ja, das Problem der Zielwahl entfällt bei diesem Ansatz, aber Sie müssen lernen, wie Sie den Agenten sinnvoll überarbeiten können

Es funktioniert mit jedem Prädiktor, aber damit es mit OOS funktioniert, muss man die Auswahl durcheinander bringen.

 
Alexander_K2:

Ich werde nicht zulassen, dass dieser Zweig aus der Spitzengruppe herausfällt.

Meine Herren des neuronalen Netzes - das gemeine Volk erwartet von Ihnen den Gral. Machen Sie es nicht kaputt.

Ich war selbst besorgt, als ich es verloren habe :-)