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

 

Zum Thema der Branche: Bayes, mql

Bayes-Formel

Die lineare Abhängigkeit y=ax+b;

Die Formel für die Normalverteilung (man könnte im Prinzip auch eine andere Verteilung nehmen).

Schreiben wir die Formel um

P(a,b|x,y)=P(x,y|a,b)*P(a)*P(b)/P(x,y); (1)

Als Nächstes müssen Sie, soweit ich es verstehe, alle möglichen Kombinationen von a und b aufzählen. Diejenigen a und b, die nach Formel (1) die größte Wahrscheinlichkeit ergeben, sind die Koeffizienten.

 
Yuri Evseenkov:

Zum Thema der Branche: Bayes, mql

Bayes-Formel

Die lineare Abhängigkeit y=ax+b;

Die Formel für die Normalverteilung (man könnte im Prinzip auch eine andere Verteilung nehmen).

Schreiben wir die Formel um

P(a,b|x,y)=P(x,y|a,b)*P(a)*P(b)/P(x,y); (1)

Als Nächstes müssen Sie, soweit ich es verstehe, alle möglichen Kombinationen von a und b aufzählen. Diejenigen a und b, die nach Formel (1) die größte Wahrscheinlichkeit ergeben, sind die Koeffizienten.

Es besteht der Verdacht, dass dies nicht der Fall ist.
 
Dmitry Fedoseev:
Es besteht der Verdacht, dass dies gar nicht der Fall ist.
Bitte teilen Sie uns Ihren Verdacht mit.
 
Yuri Evseenkov:
Bitte teilen Sie uns Ihren Verdacht mit.
Nein. Wenn ich es genau wüsste, würde ich es in den Kodex aufnehmen, aber man kann endlos weiterplappern. Es gibt solche Megaladons in diesem Thread, sollen sie doch ihre Eloquenz in der Praxis unter Beweis stellen.
 
Dmitry Fedoseev:
Nein. Wenn ich es genau wüsste, würde ich es im Code abbilden, aber man kann endlos weiterplappern. Es gibt solche Megaladons in diesem Thread, sollen sie doch ihre Eloquenz in der Praxis unter Beweis stellen.
Schade. Sie sind derjenige, der sich am genauesten mit dem Thema beschäftigt. Und die Off-Topic-kompetenten Kameraden finde ich sehr interessant, aber ich habe Angst, mich im "Wald" zu verirren.
 
Yuri Evseenkov:

Zum Thema der Branche: Bayes, mql

Bayes-Formel

Die lineare Abhängigkeit y=ax+b;

Die Formel für die Normalverteilung (man könnte im Prinzip auch eine andere Verteilung nehmen).

Schreiben wir die Formel um

P(a,b|x,y)=P(x,y|a,b)*P(a)*P(b)/P(x,y); (1)

Als Nächstes müssen Sie, soweit ich es verstehe, alle möglichen Kombinationen von a und b aufzählen. Diejenigen a und b, die nach Formel (1) die größte Wahrscheinlichkeit ergeben, sind die Koeffizienten.

Sie scheinen in die richtige Richtung zu denken. Ich habe es bereits vergessen, aber die Erklärung ist folgende.

Angenommen, wir haben eine Zeitreihe (Preise, wenn Sie so wollen), Y = {y[1], y[2], ..., y[n]}. Wir haben auch unbekannte Modellparameter W={w[1], w[2], ... , w[m]}. Angenommen, es handelt sich um ein Regressionsmodell, d. h.

y[i] = SUM_j w[j]*f(X) + e[i]

wobei f() eine Näherungsfunktion (z. B. ein Polynom), X die Eingabedaten und e[] ein Fehler ist.

Verwenden wir das Theorem der maximalen Wahrscheinlichkeit, um die Parameter des Modells W zu finden:

W = argmax ln(P(W|Y))

Wenden Sie nun das Bayes-Theorem an:

P(W|Y) = P(Y|W)*P(W)/P(Y)

Die Division durch P(Y) ist eine Normalisierung, die vernachlässigt werden kann. Wir erhalten

(1) W = argmax {ln(P(W|Y))} ~ argmax {ln(P(Y|W)) + ln(P(W))} ~ argmin {-ln(P(Y|W)) - ln(P(W))}

P(Y|W), die Wahrscheinlichkeit von X bei gegebenen Parametern W, kann wie folgt berechnet werden:

P(Y|W) = P(SUM_j w[j]*f(X) + e[i] | W) = P(E)

Wenn die Fehler normalverteilt und voneinander unabhängig sind, dann

(2) P(Y|W) = P(E) ~ exp(-SUM{e[i]^2}/(2*sigma^2))

Setzt man (2) in (1) ein, so erhält man

W ~ argmin {-ln(P(Y|W)) - ln(P(W))} ~ argmin SUM{e[i]^2} - ln(P(W))

P(W) ist in der Regel 1, und wir können eine Laplass'sche Verteilung herausnehmen:

P(W) ~ exp(-lambda*||W||_1)

Wir erhalten

W ~ argmin SUM{e[i]^2} - ln(P(W)) ~ argmin SUMChe[i]^2 + lambda*|||W|_1

Als Ergebnis führt die Anwendung der maximalen Wahrscheinlichkeit und des Bayes-Theorems auf die Regression unserer Reihen mit Gaußschen Fehlern zu einer Methode der kleinsten Quadrate mit dem maßgeblichen Summanden lambda*... oder ohne. Die Berechnungen sind kompliziert, aber das Ergebnis ist einfach. Wenn Sie die normale Fehlerverteilung nicht mögen, ersetzen Sie sie durch eine andere, z. B. Laplassian, und Sie erhalten:

W ~ argmin SUM|e[i]| + lambda*||W||_1.

Sie können auch durch einen Super-Gaußianer ersetzen, so dass Sie Folgendes erhalten

W ~ argmin SUM|e[i]|^p + lambda*|||W|_1

Übrigens, der regulierende Zusatz, wie er hier steht, macht aus der Methode der kleinsten Quadrate eine deflationäre Kodierungsmethode. Ohne sie handelt es sich um eine klassische lineare Regression, die durch Differenzieren nach W und Gleichsetzen mit Null gelöst wird.

 
Vladimir:

Sie scheinen in die richtige Richtung zu denken. Ich fange an, es zu vergessen, aber hier ist die Erklärung.

Angenommen, wir haben eine Zeitreihe (Preise, wenn Sie so wollen), Y = {y[1], y[2], ..., y[n]}. Wir haben auch unbekannte Modellparameter W={w[1], w[2], ... , w[m]}. Angenommen, es handelt sich um ein Regressionsmodell, d. h.

y[i] = SUM_j w[j]*f(X) + e[i]

wobei f() eine Näherungsfunktion (z. B. ein Polynom), X die Eingabedaten und e[] ein Fehler ist.

Verwenden wir das Theorem der maximalen Wahrscheinlichkeit, um die Parameter des Modells W zu finden:

W = argmax ln(P(W|Y))

Wenden Sie nun das Bayes-Theorem an:

P(W|Y) = P(Y|W)*P(W)/P(Y)

Die Division durch P(Y) ist eine Normalisierung, die vernachlässigt werden kann. Wir erhalten

(1) W = argmax {ln(P(W|Y))} ~ argmax {ln(P(Y|W)) + ln(P(W))} ~ argmin {-ln(P(Y|W)) - ln(P(W))}

P(Y|W), die Wahrscheinlichkeit von X bei gegebenen Parametern W, kann wie folgt berechnet werden:

P(Y|W) = P(SUM_j w[j]*f(X) + e[i] | W) = P(E)

Wenn die Fehler normalverteilt und voneinander unabhängig sind, dann

(2) P(Y|W) = P(E) ~ exp(-SUM{e[i]^2}/(2*sigma^2))

Setzt man (2) in (1) ein, so erhält man

W ~ argmin {-ln(P(Y|W)) - ln(P(W))} ~ argmin SUM{e[i]^2} - ln(P(W))

P(W) ist in der Regel 1, und wir können eine Laplass'sche Verteilung herausnehmen:

P(W) ~ exp(-lambda*||W||_1)

Wir erhalten

W ~ argmin SUM{e[i]^2} - ln(P(W)) ~ argmin SUMChe[i]^2 + lambda*|||W|_1

Als Ergebnis führt die Anwendung der maximalen Wahrscheinlichkeit und des Bayes-Theorems auf die Regression unserer Reihen mit Gaußschen Fehlern zu einer Methode der kleinsten Quadrate mit dem maßgeblichen Summanden lambda*... oder ohne. Die Berechnungen sind kompliziert, aber das Ergebnis ist einfach. Wenn Sie die normale Fehlerverteilung nicht mögen, ersetzen Sie sie durch eine andere, z. B. Laplassian, und Sie erhalten:

W ~ argmin SUM|e[i]| + lambda*||W||_1.

Sie können auch durch einen Super-Gaußianer ersetzen, so dass Sie Folgendes erhalten

W ~ argmin SUM|e[i]|^p + lambda*|||W|_1

Übrigens, der regulierende Zusatz, wie er hier steht, macht aus der Methode der kleinsten Quadrate eine deflationäre Kodierungsmethode. Ohne sie handelt es sich um eine klassische lineare Regression, die durch Differenzieren nach W und Gleichsetzen mit Null gelöst wird.

Ich danke Ihnen!
 
Vladimir:

Sie scheinen in die richtige Richtung zu denken. Ich fange an, es zu vergessen, aber hier ist die Erklärung.

Angenommen, wir haben eine Zeitreihe (Preise, wenn Sie so wollen), Y = {y[1], y[2], ..., y[n]}. Wir haben auch unbekannte Modellparameter W={w[1], w[2], ... , w[m]}. Angenommen, es handelt sich um ein Regressionsmodell, d. h.

y[i] = SUM_j w[j]*f(X) + e[i]

wobei f() eine Näherungsfunktion (z. B. ein Polynom), X die Eingabedaten und e[] ein Fehler ist.

Verwenden wir das Theorem der maximalen Wahrscheinlichkeit, um die Parameter des Modells W zu finden:

W = argmax ln(P(W|Y))

Wenden Sie nun das Bayes-Theorem an:

P(W|Y) = P(Y|W)*P(W)/P(Y)

Die Division durch P(Y) ist eine Normalisierung, die vernachlässigt werden kann. Wir erhalten

(1) W = argmax {ln(P(W|Y))} ~ argmax {ln(P(Y|W)) + ln(P(W))} ~ argmin {-ln(P(Y|W)) - ln(P(W))}

P(Y|W), die Wahrscheinlichkeit von X bei gegebenen Parametern W, kann wie folgt berechnet werden:

P(Y|W) = P(SUM_j w[j]*f(X) + e[i] | W) = P(E)

Wenn die Fehler normalverteilt und voneinander unabhängig sind, dann

(2) P(Y|W) = P(E) ~ exp(-SUM{e[i]^2}/(2*sigma^2))

Setzt man (2) in (1) ein, so erhält man

W ~ argmin {-ln(P(Y|W)) - ln(P(W))} ~ argmin SUM{e[i]^2} - ln(P(W))

P(W) ist in der Regel 1, und wir können eine Laplass'sche Verteilung herausnehmen:

P(W) ~ exp(-lambda*||W||_1)

Wir erhalten

W ~ argmin SUM{e[i]^2} - ln(P(W)) ~ argmin SUMChe[i]^2 + lambda*|||W|_1

Als Ergebnis führt die Anwendung der maximalen Wahrscheinlichkeit und des Bayes-Theorems auf unsere Reihenregression mit Gaußschen Fehlern zu einer Methode der kleinsten Quadrate mit oder ohne den Anpassungsterm lambda*... oder ohne. Die Berechnungen sind kompliziert, aber das Ergebnis ist einfach. Wenn Sie die normale Fehlerverteilung nicht mögen, ersetzen Sie sie durch eine andere, z. B. Laplassian, und Sie erhalten:

W ~ argmin SUM|e[i]| + lambda*||W||_1.

Sie können auch durch einen Super-Gaußianer ersetzen, so dass Sie Folgendes erhalten

W ~ argmin SUM|e[i]|^p + lambda*|||W|_1

Übrigens, der regulierende Zusatz, wie er hier steht, macht aus der Methode der kleinsten Quadrate eine deflationäre Kodierungsmethode. Ohne sie handelt es sich um eine klassische lineare Regression, die durch Differenzieren nach W und Gleichsetzen mit Null gelöst wird.

Vielen Dank für den ausführlichen Kommentar. Die Schlüsselwörter und Formeln sind angegeben, ich werde mich damit befassen.

"Zusammenfassend lässt sich sagen, dass die Anwendung der maximalen Wahrscheinlichkeit und des Bayes-Theorems auf unsere Serienregression mit Gaußschen Fehlern zu einer Methode der kleinsten Quadrate mit einem Lambda*-Anpassungsterm führt... oder ohne. Die Berechnungen sind kompliziert, das Ergebnis ist einfach. "

Überzeugt. Fast. Es bleibt der Schatten eines Zweifels, dass die Koeffizienten a und b der Geraden y=ax+b, wenn sie mit verschiedenen Methoden berechnet werden, numerisch oder annähernd gleich sind. Hier muss man entweder die Formeln zweier Methoden akribisch vergleichen oder ein Programm schreiben. Die Hauptsache ist, dass die Formeln, der Algorithmus und der Code selbst der Theorie angemessen sind. Das Programm muss:

-Berechnung der Koeffizienten a und b der linearen Regression y=ax+b nach der Methode der kleinsten Quadrate

-Ermittlung der Koeffizienten a und b, bei denen die Wahrscheinlichkeit nach dem Satz von Bayes maximal ist, wenn die Normalverteilung mit dem mathematischen Erwartungswert gleich ax+b angewendet wird

Dann müssen wir diese Koeffizienten vergleichen und im Falle eines erheblichen Unterschieds das Verhalten der beiden Linien auf der Grundlage von a und b in der Dynamik betrachten. Zum Beispiel im Strategie-Tester im Visualisierungsmodus.

Das Programm kann mit anderen Modellen, Regressionen und Verteilungen mit der Bayes-Formel weiterverwendet werden. Vielleicht wird ja etwas richtig gut geschossen.

P.S. Dazu fällt mir mein Lieblingsbeispiel ein:

"Die Chancen stehen gut, dass Sie bereits Bayes'sches Denken angewendet haben, auch wenn Sie es nicht wussten. Diskutieren Sie
ein Beispiel, das ich von Neil Manson übernommen habe: Sie sind ein Soldat im Kampf, der sich in einem Fuchsbau versteckt. Siewissen ganz genau
, dass nur noch ein einziger feindlicher Soldat auf dem Schlachtfeld steht, etwa 400
Meter
entfernt.Sie wissen auch, dass ein normaler Soldat Sie aus dieser
Entfernung nicht treffen kann.Wenn dieser Soldat jedoch ein Scharfschütze ist, ist es durchaus möglich, dass er Sie trifft
. Aber es gibt nicht viele Scharfschützen in der feindlichen Armee, also ist es wahrscheinlich ein normaler Soldat. Sie
heben Ihren Kopf aus dem Graben und versuchen, sich besser umzusehen.Bam! Eine Kugel streift deinen Helm
und du fällst zurück in den Fuchsbau.
Gut, denken Sie. Ich weiß, dass Scharfschützen selten sind, aber dieser Typ hat mich aus vierhundert
Metern Entfernung getroffen.Es besteht immer noch eine gute Chance, dass es ein normaler Soldat ist, aber die Chance, dass es ein Scharfschütze ist, ist bereits
höher, da er mich aus einer so großen Entfernung getroffen hat.Nach ein paar Minutenwagen Sie
wieder den Blick nach draußen und heben den Kopf über den Fuchsbau.Bam! Ein zweites Geschoss
streift deinen Helm! Sie fallen wieder herunter. Oh, Scheiße, denkst du. Es ist definitiv ein Scharfschütze. Unabhängig davon, wie selten sie sind,
kann ein durchschnittlicher Soldat jedoch nicht zweimal hintereinander aus dieser Entfernung treffen
. Es ist definitiv
ein Scharfschütze. Ich rufe besser Verstärkung. Wenn dies eine grobe Annäherung an das ist, was Sie in einer
ähnlichen Situation denken würden, dann herzlichen Glückwunsch! Du denkst bereits wie ein Bayesianer, zumindest
manchmal."
(Autor nicht angegeben).

 
Yuri Evseenkov:


-Berechnung der Koeffizienten a und b der linearen Regression y=ax+b nach der Methode der kleinsten Quadrate

-Ermitteln der Koeffizienten a und b, bei denen die Wahrscheinlichkeit nach dem Satz von Bayes maximal ist, wenn eine Normalverteilung mit einem Erwartungswert gleich ax+b angewendet wird


Sie werden gleich sein, sehr nahe beieinander. Es stellt sich die Frage, ob es sinnvoll ist, bei der Anwendung auf die Finanzmärkte eine A-priori-Verteilung für die Koeffizienten festzulegen.

Ich habe oft gesehen, dass die Regularisierung in der Regression (L1, L2) angewendet wird. Könnte besser funktionieren als die ordinale lineare Regression.

 
Alexey Burnakov:

Sie werden gleich sein, sehr nahe beieinander. Es stellt sich die Frage, ob es sinnvoll ist, eine A-priori-Verteilung für die Koeffizienten festzulegen, die auf die Finanzmärkte angewendet werden.

Ich habe oft gesehen, dass die Regularisierung in der Regression (L1, L2) angewendet wird. Könnte besser funktionieren als die ordinale lineare Regression.

Die Koeffizienten a und b müssen aufgezählt werden, um die Kombination zu finden, die die maximale Wahrscheinlichkeit gemäß der Bayes-Formel P(a,b|x,y)=P(x,y|a,b)*P(a)*P(b)/P(x,y) ergibt; (1) Die Wahrscheinlichkeiten P(a) und P(b) entsprechen den Schritten der Überschreitungszyklen und sind ein konstanter Wert. Ihre Verteilung wird gleichmäßig sein.

P.S. Ich vertrete die Ansicht, dass sich die Natur der realen Finanzmärkte und der Devisenmärkte erheblich unterscheiden. Forex ist eher ein Glücksspielgeschäft. Eine Art Multiplayer-Computer-Online-Simulation. Für Forex ist es also möglich, die in diesen Bereichen relevanten Gesetze anzuwenden. Das Gesetz der Normalverteilung, zum Beispiel.