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

 
mytarmailS:

Was Sie tun(Test an einer "dritten" Stichprobe) wird in der GMDH als "Vorhersagekraftkriterium" bezeichnet.

Ich kann sehen, dass Sie ein guter Experte sind. Könnten Sie die Essenz von GMDH in ein paar Sätzen für Nicht-Mathematiker beschreiben?

 
geheim:

Ich kann sehen, dass Sie ein guter Spezialist sind. Könnten Sie MGUA in ein paar Sätzen für Nicht-Mathematiker zusammenfassen?

Regressionsmodell mit Aufzählung von Merkmalen, die durch verschiedene Kernel (Polynom, Splines, was auch immer) transformiert werden. Das einfachste Modell mit dem geringsten Fehler wird bevorzugt. Sie schützt nicht vor einer Überqualifizierung auf dem Markt.

Grob gesagt handelt es sich um ein Brute-Force-Modell, bei dem das einfachste Modell anhand von externen Kriterien ausgewählt wird.

es ist wie die Grundlagen des maschinellen Lernens )

 
mytarmailS:

Zum Beispiel spottet die MSUA-Regression einfach die Regression des modernen Random-Forest-Algorithmus und des Boosting...

Boosting ist in allen Bereichen besser, wenn Sie Funktionen wie für MSUA vorbereiten, wird es besser sein.

aber es ist Ihnen egal, wenn Sie nicht wissen, was Sie lehren sollen

 
Geheimnis:

Ich kann sehen, dass Sie ein guter Spezialist sind. Könnten Sie die Essenz von MSUA für Nicht-Mathematiker in ein paar Sätzen zusammenfassen?

Ich bin überhaupt kein Experte )) leider....

Wenn man es ganz einfach, grob und ungenau ausdrückt, ist das Prinzip der MGUA die Selbstorganisation...


Wir haben zum Beispiel eine Reihe von Attributen

x1,x2,x3.....x20...

Aus diesen Attributen erstellen wir eine Reihe von Kandidatenmodellen

m1,m2,m3.....m10...

Aus diesen Modellen werden die besten ausgewählt, und aus den besten werden neue Modelle erstellt, wobei wiederum eine Auswahl getroffen wird.... usw... und so weiter, bis der Fehler bei den neuen Daten (die dem Algorithmus zuvor unbekannt waren) reduziert ist

Der Algorithmus verändert sich nämlich selbst, wird komplexer und organisiert sich selbst... Ein bisschen wie ein genetischer Algorithmus.

 
Maxim Dmitrievsky:

Ein Regressionsmodell mit einer Aufzählung von Merkmalen, die durch verschiedene Kernel (Polynom, Splines, was auch immer) transformiert werden. Das einfachste Modell mit dem geringsten Fehler wird bevorzugt. Es schützt nicht vor Übertraining auf dem Markt.

Grob gesagt handelt es sich um ein Brute-Forcing von Modellen, bei dem das einfachste Modell anhand von externen Kriterien ausgewählt wird

Dann sehe ich in dieser Methodik nichts Neues und Originelles.

 
mytarmailS:

aus diesen Modellen werden die besten Modelle ausgewählt, und die besten Modelle werden zur Erstellung neuer Modelle verwendet, wobei wiederum die Auswahl.... usw... und so weiter, bis der Fehler bei den neuen Daten (die dem Algorithmus zuvor unbekannt waren) abnimmt

Der Algorithmus verändert sich nämlich selbst, wird komplexer und organisiert sich selbst... Es ist ein bisschen wie ein genetischer Algorithmus.

Dann sehe ich hier keine Mathematik, sondern eher Kopfarbeit, na ja, und Codierung. GA ist eine triviale Sache.

Warum rennen dann alle mit diesem MSUA herum und schreiben Dissertationen, so dass es unmöglich ist, sie zu verstehen, wenn es im Inneren etwas Primitives ist, das seit dem Kindergarten intuitiv verständlich ist?

 
Maxim Dmitrievsky:

Boosting ist in allem besser, wenn Sie die Funktionen wie für MGUA vorbereiten, wird es besser sein.

aber es macht nichts, wenn man nicht weiß, was man unterrichten soll

Da bin ich anderer Meinung...

Machen wir einen Schnelltest (mit dem Auge)


Erstellen Sie vier Variablen (reguläre Zufallsvariablen) mit jeweils 1000 Elementen

z1 <- rnorm(1000)

z2 <- rnorm(1000)

z3 <- rnorm(1000)

z4 <- rnorm(1000)

Erstellen einer Zielvariablen y als Summe aller vier

y <- z1+z2+z3+z4


Lassen Sie uns Boosting und Mgua trainieren, nicht einmal für die Vorhersage, sondern nur, um zu erklären,y

Ich habe die Probe in drei Teile aufgeteilt, ein Training und zwei für den Test


in grün MGUA

In rot: Verallgemeinerte verstärkte Regressionsmodellierung (GBM)

grau sind die Originaldaten

Zur Erinnerung: Das Ziel ist die elementare Summe aller Prädiktoren.

http://prntscr.com/rawx14

Wie wir sehen, haben beide Algorithmen die Aufgabe sehr gut gemeistert


Jetzt wird die Aufgabe ein wenig komplizierter

kumulative Summe oder Trend zu den Daten hinzufügen

z1 <- cumsum(rnorm(1000))

z2 <- cumsum(rnorm(1000))

z3 <- rnorm(1000)

z4 <- rnorm(1000)

und ändern Sie das Ziel in der Form

y <- z1+z2+z3

Wir addieren also zwei Prädiktoren mit einem Trend und einen normalen Prädiktor, und z4 erweist sich als Rauschen, da es nicht am Zielwert y teilnimmt

und so erhalten wir das folgende Ergebnis

http://prntscr.com/rax81b

Unser Boosting ist völlig im Eimer, und die MSUA spielt keine Rolle.


Es ist mir gelungen, MSUA nur mit diesem wilden Ziel zu "töten".

y <- ((z1*z2)/3)+((z3*2)/z4)

Und selbst das ist nicht vollständig, und was ist mit dem Boosten? )))

http://prntscr.com/raxdnz


Code für Spiele

set.seed(123)
z1 <- cumsum(rnorm(1000))
z2 <- cumsum(rnorm(1000))
z3 <- rnorm(1000)
z4 <- rnorm(1000)

y <- ((z1*z2)/3)+((z3*2)/z4)

x <- cbind.data.frame(z1,z2,z3,z4) ; colnames(x) <- paste0("z",1:ncol(x))

tr <- 1:500
ts <- 501:800
ts2<- 801:1000

library(gbm)
rf <- gbm(y[tr] ~ ., data = x[tr,],
          distribution = "gaussian", n.trees = 1000,
           cv.folds = 5)
best.iter.max <- gbm.perf(rf, method = "cv")
prg <- predict(rf,x[c(tr,ts,ts2),],n.trees = best.iter.max)

library(GMDHreg)
gmd <- gmdh.gia(X = as.matrix(x[tr,]),y = y[tr],prune = 5,
                    criteria = "PRESS")
prh <- predict(gmd,as.matrix(x[c(tr,ts,ts2),]))

par(mfrow=c(1,3))
plot(head(y[tr],30),t="l",col=8,lwd=10,main = "train ")
lines(head(prg[tr],30),col=2,lwd=2)
lines(head(prh[tr],30),col=3,lwd=2)
plot(head(y[ts],30),t="l",col=8,lwd=10,main = "test ")
lines(head(prg[ts],30),col=2,lwd=2)
lines(head(prh[ts],30),col=3,lwd=2)
plot(head(y[ts2],30),t="l",col=8,lwd=10,main = "test2 ")
lines(head(prg[ts2],30),col=2,lwd=2)
lines(head(prh[ts2],30),col=3,lwd=2)


Скриншот
Скриншот
  • prnt.sc
Снято с помощью Lightshot
 
Geheimnis:

Dann sehe ich hier keine Mathematik, es ist mehr Kopfarbeit, na ja, und Codierung. GA ist eine triviale Sache.

Warum rennt dann jeder mit diesem MSUA herum und schreibt Dissertationen, so dass es unmöglich ist, sie zu verstehen, wenn darin etwas Primitives steckt, das seit dem Kindergarten intuitiv verständlich ist?

Ich weiß es nicht, aber es beschreibt die Daten viel besser, Post geschrieben, Code gepostet

 
mytarmailS:

Da bin ich anderer Meinung...

Machen wir einen kleinen Test, schnell, nach Augenmaß )

Ich möchte nicht mit R herumspielen (ich benutze Python), vielleicht liegt es daran, dass MSUA fey Regressoren erstellt, deshalb passt es. Wenn Sie die gleiche Auswahl für das Boosten treffen, wird es keinen Unterschied geben.

Hier ist eine MSUA-Aufzählung für einen Wald.

https://www.mql5.com/ru/code/22915

RL algorithms
RL algorithms
  • www.mql5.com
Данная библиотека имеет расширенный функционал, позволяющий создавать неограниченное количество "Агентов". Использование библиотеки: Пример заполнения входных значений нормированными ценами закрытия: Обучение происходит в тестере...
 
Maxim Dmitrievsky:

Ich möchte mich nicht mit R herumschlagen (ich verwende Python), vielleicht liegt es daran, dass MSUA fey Regressoren erstellt, was es passend macht. Wenn Sie die gleiche Auswahl für das Boosten treffen, wird es keinen Unterschied geben.

Hier ist eine MSUA-Aufzählung für einen Wald.

https://www.mql5.com/ru/code/22915

Erstens, welche anderen fey Regressoren? Was für ein Unsinn, warum geht die MSUA auch aus, wenn es härter wird?

Zweitens waren die Daten, die ich in dem Beispiel angegeben habe, sowohl für die MSUA als auch für den Boost gleich.

Drittens müssen Sie nichts tun, können Sie nicht eine Matrix mit vier zufälligen Werten in Python machen und dann kumulieren sie? Sie wollen den Boost selbst überprüfen?

2 Codezeilen )))


Ich bin selbst neugierig, was da drin ist.