Bayes'sche Variablenauswahl - funktioniert das wirklich?

14

Ich dachte, ich könnte mit einer Bayes'schen Variablenauswahl spielen, wenn ich einem netten Blog-Beitrag und den darin verlinkten Artikeln folge. Ich habe ein Programm in rjags (wo ich ein ziemlicher Neuling bin) geschrieben und Preisdaten für Exxon Mobil abgerufen , zusammen mit einigen Dingen, die die Rendite wahrscheinlich nicht erklären (z. B. Palladiumpreise) und anderen Dingen, die stark korrelieren sollten (wie der SP500) ).

Beim Laufen sehen lm()wir, dass es starke Hinweise auf ein überparametrisiertes Modell gibt, aber dass Palladium definitiv ausgeschlossen werden sollte:

Call:
lm(formula = Exxon ~ 0 + SP + Palladium + Russell + OilETF + 
    EnergyStks, data = chkr)

Residuals:
       Min         1Q     Median         3Q        Max 
-1.663e-03 -4.419e-04  3.099e-05  3.991e-04  1.677e-03 

Coefficients:
           Estimate Std. Error t value Pr(>|t|)    
SP          0.51913    0.19772   2.626 0.010588 *  
Palladium   0.01620    0.03744   0.433 0.666469    
Russell    -0.34577    0.09946  -3.476 0.000871 ***
OilETF     -0.17327    0.08285  -2.091 0.040082 *  
EnergyStks  0.79219    0.11418   6.938 1.53e-09 ***

Nach der Konvertierung in Retouren habe ich versucht, ein einfaches Modell wie dieses auszuführen

  model {
    for (i in 1:n) {
      mean[i]<-inprod(X[i,],beta)
      y[i]~dnorm(mean[i],tau)
    }
    for (j in 1:p) {
      indicator[j]~dbern(probindicator)
      betaifincluded[j]~dnorm(0,taubeta)
      beta[j] <- indicator[j]*betaifincluded[j]
    }
    tau~dgamma(1,0.01)
    taubeta~dgamma(1,0.01)
    probindicator~dbeta(2,8)
  }

Aber ich fand heraus, dass ich, so ziemlich unabhängig von den Parametern für die gewählten Gammaverteilungen, ziemlich unsinnige Antworten erhielt, wie eine unveränderliche Einschlusswahrscheinlichkeit von 20% für jede Variable.

Ich bekam auch winzige Regressionskoeffizienten, die ich tolerieren möchte, da dies ein Auswahlmodell sein sollte, aber das schien immer noch seltsam.

                              Mean        SD  Naive SE Time-series SE
SP         beta[1]       -4.484e-03   0.10999  0.003478       0.007273
Palladium  beta[2]        1.422e-02   0.16646  0.005264       0.011106
Russell    beta[3]       -2.406e-03   0.08440  0.002669       0.003236
OilETF     beta[4]       -4.539e-03   0.14706  0.004651       0.005430
EnergyStks beta[5]       -1.106e-03   0.07907  0.002500       0.002647
SP         indicator[1]   1.980e-01   0.39869  0.012608       0.014786
Palladium  indicator[2]   1.960e-01   0.39717  0.012560       0.014550
Russell    indicator[3]   1.830e-01   0.38686  0.012234       0.013398
OilETF     indicator[4]   1.930e-01   0.39485  0.012486       0.013229
EnergyStks indicator[5]   2.070e-01   0.40536  0.012819       0.014505
           probindicator  1.952e-01   0.11981  0.003789       0.005625
           tau            3.845e+03 632.18562 19.991465      19.991465
           taubeta        1.119e+02 107.34143  3.394434       7.926577

Ist die Bayes'sche Variablenauswahl wirklich so schlecht / empfindlich? Oder mache ich einen grellen Fehler?

Brian B
quelle
5
Verzeihen Sie meine Unwissenheit; Aber worauf haben Sie sich bei der Überanpassung bezogen?
curious_cat
In der zweiten Ausgabe sollten Sie erklären, welche Variablen welche sind. Ich habe die Bayes'sche Variablenauswahl für eine Vielzahl von Problemen verwendet und in einer Reihe von Situationen (einschließlich der Regression) funktioniert dies normalerweise recht gut. Aber Ihre Ergebnisse - insbesondere die Schätzungen - sehen für mich komisch aus.
Glen_b -Reinstate Monica
@curious_cat Der Beweis für eine Überanpassung ist z. B. der negative Koeffizient zwischen Exxon (ein Ölunternehmen) und dem Ölpreis. Es entsteht, weil ich dieses Modell bewusst der Multikollinearität zum Opfer gemacht habe . (Vielleicht ist "Überanpassung" das falsche Wort, um es zu beschreiben - ich nehme an, überparametrisiert ist genauer).
Brian B
@BrianB Wird dieser Koeffizient positiv, wenn Sie alle erklärenden Variablen außer Öl weglassen? Nur neugierig.
curious_cat
@curious_cat Ja, sicher (ungefähr 0,7). Dies ist ein klassischer Fall von Multikollinearität (ein weiteres hässliches Wort).
Brian B

Antworten:

3

Im BUGS-Code mean[i]<-inprod(X[i,],beta)sollte sein mean[i]<-inprod(X[i,],beta[]).

Ihre Vorgesetzten zu Tau und Taubeta sind zu informativ.

Sie benötigen eine nicht informative Betaversion, verwenden Sie zB eine gamma(0.1,0.1)Taubeta. Dies kann erklären, warum Sie winzige Regressionskoeffizienten erhalten.

Crispin
quelle
Danke, dass du das bemerkt hast. Leider hat es die Situation nicht verbessert.
Brian B
2

Es funktioniert, aber Sie haben allen Variableneinschlussindikatoren dieselbe zugrunde liegende Verteilung zugewiesen.

  model {
    for (i in 1:n) {
      mean[i]<-inprod(X[i,],beta)
      y[i]~dnorm(mean[i],tau)
    }
    for (j in 1:p) {
      indicator[j]~dbern(probindicator[j])
      probindicator[j]~dbeta(2,8)
      betaifincluded[j]~dnorm(0,taubeta)
      beta[j] <- indicator[j]*betaifincluded[j]
    }
    tau~dgamma(1,0.01)
    taubeta~dgamma(1,0.01)

  }

funktioniert möglicherweise besser mit einer begrenzten Anzahl von Variablen.

Erik
quelle
Der Versuch mit diesem Rezept funktionierte nicht besser, zumindest bei 10000 Proben.
Brian B
2

Wenn Sie Protokollrückgaben verwendet haben, ist ein leicht verschiebender Fehler aufgetreten. Wenn Sie jedoch einen zukünftigen Wert geteilt durch den aktuellen Wert verwendet haben, ist Ihre Wahrscheinlichkeit falsch. Tatsächlich ist Ihre Wahrscheinlichkeit in beiden Fällen falsch. Es ist falsch genug, um eine Rolle zu spielen.

Beachten Sie, dass eine Statistik eine Funktion der Daten ist. Rückgaben sind keine Daten, sondern Transformationen von Daten. Sie sind ein zukünftiger Wert geteilt durch einen gegenwärtigen Wert. Preise sind Daten. Die Preise müssen eine Verteilungsfunktion haben, die Verteilungsfunktion für Retouren darf jedoch nur von der Art der Preise abhängen.

Für Wertpapiere in einer Doppelauktion gibt es keinen "Siegerfluch". Das rationale Verhalten ist es, Ihre Erwartungen zu erfüllen. Bei vielen Käufern und Verkäufern sollte sich das Limitbuch der Normalverteilung annähern, da es sich um eine Verteilung der Erwartungen handelt. Soptsollte normal verteilt sein. Ebenfallspt+1sollte normal verteilt sein. Daher sollte die Rendite das Verhältnis von sein

pt+1pt-1.

Die Wahrscheinlichkeitsfunktion für Ihre Regression sollte gewesen sein

1πσσ2+(y-β1x1-β2x2-βnxn-α)2.

OLS erzwingt eine optimale Anpassung an die beobachteten Daten, auch wenn es sich um die falsche Lösung handelt. Bayes'sche Methoden versuchen, die Datenerzeugungsfunktion über die Wahrscheinlichkeit zu finden. Sie hatten die Wahrscheinlichkeit falsch, so konnte es es nicht finden.

Ich habe ein Papier darüber, wenn Sie zusätzliche Informationen benötigen.

BEARBEITEN Ich denke du hast das falsch verstanden. Wenn Sie die Wahrscheinlichkeit in eine Dichtefunktion umwandeln und die Erwartung annehmen würden, würden Sie feststellen, dass es keine gibt. Nach einem Beweis von Augustin Cauchy aus dem Jahr 1852 oder vielleicht aus dem Jahr 1851 ist jede Form der Lösung der kleinsten Quadrate vollkommen ungenau. Es wird immer scheitern. Es ist nicht so, dass Sie die Standardregression verwenden sollten, da der Bayes'sche Algorithmus für die Wahrscheinlichkeit empfindlich ist. Es ist vielmehr so, dass Bayes die einzige verfügbare Lösung ist, die zulässig ist, mit einigen besonderen Ausnahmen für einige ungewöhnliche Sonderfälle.

Als ich die empirischen Tests dazu durchführte und bevor ich genug Mathe gelesen hatte, dachte ich naiv, dass die Bayesianische und die Frequentistische Lösung übereinstimmen sollten. Es gibt ungefähr einen Satz, der besagt, dass die beiden zusammenlaufen, wenn die Stichprobe groß genug wird. Ich habe alle End-of-Day-Trades im CRSP-Universum von 1925-2013 zum Testen verwendet. Das sagt der Satz aber nicht. Ich habe die Regeln falsch verstanden.

Ich habe das Problem auch in Protokollen ausprobiert und es stimmte immer noch nicht überein. Also wurde mir etwas klar, alle Verteilungen sind Formen, und so konstruierte ich eine geometrische Lösung, um festzustellen, welche Lösung richtig war. Ich habe es als reines Geometrieproblem behandelt, um festzustellen, welche algebraische Antwort mit den Daten übereinstimmt.

Der Bayesianer passte zusammen. Dies führte mich auf einen sehr mathematischen Weg, weil ich nicht herausfinden konnte, warum der unvoreingenommene Schätzer so falsch war. Nur zur Veranschaulichung: Unter Verwendung der aufgeschlüsselten Renditen im Zeitraum 1925-2013 und unter Abzug von Shell-Unternehmen, geschlossenen Fonds usw. beträgt die Diskrepanz zwischen dem Standort 2% und dem Risikomaß 4% für die jährlichen Renditen . Diese Diskrepanz gilt für die Protokolltransformation, jedoch aus einem anderen Grund. Dies kann für einzelne Indizes oder Teilmengen der Daten unterschiedlich sein.

Der Grund für die Diskrepanz ist zweifach. Zum einen fehlt den beteiligten Distributionen eine ausreichende Statistik. Bei bestimmten Arten von Problemen spielt dies keine Rolle. Für projektive Zwecke, wie Vorhersage oder Allokation, sind sie jedoch ziemlich wichtig. Der zweite Grund ist, dass der unvoreingenommene Schätzer immer eine Version des Mittelwerts ist, die Verteilung jedoch keinen Mittelwert hat.

Die obige Dichte ist kein Mitglied der Exponentialfamilie, wie es die Normal- oder Gammaverteilung ist. Nach dem Pitman-Koopman-Darmois-Theorem gibt es keine ausreichende Punktstatistik für die Parameter. Dies impliziert, dass jeder Versuch, einen Punktschätzer zu erstellen, Informationen wegwerfen muss. Dies ist für Bayes'sche Lösungen kein Problem, da der hintere Teil eine Gesamtdichte ist. Wenn Sie eine Punktschätzung benötigen, können Sie die prädiktive Dichte ermitteln und eine Kostenfunktion darüber minimieren, um sie auf einen einzelnen Punkt zu reduzieren. Die Bayes'sche Wahrscheinlichkeit ist immer minimal ausreichend.

Der unverzerrte Schätzer für die minimale Varianz für die obige Funktion besteht darin, die zentralen 24,6% der Daten beizubehalten, den abgeschnittenen Mittelwert zu ermitteln und den Rest der Daten zu verwerfen. Das bedeutet, dass über 75% der Daten gelöscht werden und die Informationen verloren gehen. Nur eine Anmerkung, es könnte 24,8% sein, da ich aus dem Gedächtnis arbeite. Sie finden Rothenbergs Artikel unter:

Rothenberg, TJ und FM Fisher und CB Tilanus, Eine Anmerkung zur Schätzung aus einer Cauchy-Probe, Journal of American Statistical Association, 1964, Bd. 59 (306), S. 460-463

Das zweite Problem hat mich überrascht. Bis ich die Geometrie durchgearbeitet hatte, wusste ich nicht, was die Ursache war. Die Renditen sind bei -100% unten gebunden. Dies verschiebt den Median um 2% und den Interquartilbereich um 4%, obwohl sich die Halbmasse immer noch an den gleichen Punkten befindet. Die halbe Masse ist das richtige Maß für den Maßstab, die halbe Breite jedoch nicht. Wenn es keine Kürzung gäbe, wären die halbe Breite und die halbe Masse an den gleichen Punkten. Ebenso bleiben der Median und der Modus am selben Punkt. Der Median ist die Rendite für den mittleren Akteur oder zumindest den mittleren Trade. Als solches ist es immer der Speicherort der MVUE und der Protokollmittelwert.

Das korrekte Verständnis des Satzes ist, dass alle Bayes'schen Schätzer zulässige Schätzer sind. Häufigkeitsschätzer sind zulässige Schätzer, wenn eine von zwei Bedingungen vorliegt. Das erste ist, dass in jeder Stichprobe die Frequentist- und die Bayes'sche Lösung identisch sind. Die zweite ist, dass, wenn die Grenzlösung der Bayes'schen Methode mit der Frequentist-Lösung übereinstimmt, die Frequentist-Lösung zulässig ist.

Alle zulässigen Schätzer konvergieren zu derselben Lösung, sobald die Stichprobengröße groß genug ist. Der Frequentist-Schätzer geht davon aus, dass sein Modell das wahre Modell ist und die Daten zufällig sind. Der Bayesianer geht davon aus, dass die Daten wahr sind, aber das Modell ist zufällig. Wenn Sie unendlich viele Daten hatten, muss das subjektive Modell zur Realität konvergieren. Wenn Sie unendlich viele Daten hatten, aber das falsche Modell, dann konvergiert das Frequentist-Modell mit der Wahrscheinlichkeit Null zur Realität.

In diesem Fall dominiert die Bayes'sche Lösung unter vernünftigen Bedingungen immer stochastisch jeden Frequentist-Schätzer, da der Schätzer abgeschnitten wird und Informationen verloren gehen, um ihn zu erstellen.

In Protokollen ist die Wahrscheinlichkeitsfunktion die hyperbolische Sekantenverteilung. Es hat eine endliche Varianz, aber keine Kovarianz. Die mit OLS gefundene Kovarianzmatrix ist ein Artefakt der Daten und verweist nicht auf einen Parameter, der in den zugrunde liegenden Daten vorhanden ist. Wie bei der rohen Form ist nichts in der Protokollform kovär, aber auch nichts ist unabhängig. Stattdessen besteht eine weitaus komplexere Beziehung, die gegen die Definition der Kovarianz verstößt, in der sie sich aber wiederfinden können.

Markowitz und Usman fanden es fast in ihrer Arbeit über Verteilungen, aber die hyperbolische Sekantenverteilung ist nicht in einer Pearson-Familie und sie interpretierten die Daten falsch, indem sie nicht bemerkten, dass Sie beim Ändern einer Verteilung von Rohdaten zu Protokolldaten auch ihre statistischen Eigenschaften ändern . Sie haben dies im Grunde genommen herausgefunden, aber es verpasst, weil sie keinen Grund hatten, danach zu suchen und die unbeabsichtigten Folgen der Verwendung von Protokollen nicht erkannten.

Ich habe nicht die Markowitz und Usman zitieren mit mir, wo ich bin, aber sie haben eine der wenigen sehr guten Arbeiten bei der Schätzung der Verteilung, die da draußen sind.

Auf jeden Fall benutze ich kein JAGS. Ich habe keine Ahnung, wie es geht. Ich codiere alle meine MCMC-Arbeiten von Hand.

Ich habe ein weitaus vollständigeres und genaueres Dokument zu diesem Thema unter:

Harris, DE (2017) Die Verteilung der Renditen. Journal of Mathematical Finance, 7, 769 & ndash; 804.

Sie erhalten eine Methode zur Erstellung von Ausschüttungen für jede Aktiv- oder Passivklasse, auch für Bilanzierungskennzahlen.

Ich war wortreich, aber ich konnte sehen, dass Sie die Beziehung zwischen Bayes und den Pearson-Neyman-Methoden missverstanden haben. Sie hatten sie umgekehrt. Bayes funktioniert immer, aber Sie sind mit einer vorherigen Dichte gefangen, die Ihre Lösung stören wird. Mit einem richtigen Prior ist Ihnen ein verzerrter Schätzer garantiert, und für diese Art von Wahrscheinlichkeitsfunktion müssen Sie meines Erachtens ein richtiges Prior verwenden, um die Integrierbarkeit zu einer Einheit zu gewährleisten. Frequentistische Methoden sind schnell und funktionieren normalerweise. Sie sind unvoreingenommen, aber möglicherweise nicht gültig.

Dave Harris
quelle
Der Unterschied zwischen Logarithmen und Preisrenditen auf Tagesebene beträgt etwa 1 Teil von 500 (ich habe eine Rendite von 50 Basispunkten als Basis genommen). Es ist auch erwähnenswert, dass die täglichen Renditen, wie auch immer gemessen, weit davon entfernt sind, normal verteilt zu sein (ungeachtet gegenteiliger wirtschaftlicher Theorien). In jedem Fall, wenn der Algorithmus für diese Probleme empfindlich ist, ist er für praktische Zwecke nutzlos. Ich würde gerne wissen, wie die Wahrscheinlichkeitsfunktion ist, mit der Sie Karten zu JAGS-Code zitieren - können Sie dies näher erläutern?
Brian B
@BrianB Ich habe die Antwort bearbeitet. Sie machen einen Fehler beim Denken, das ich gemacht habe. Ich habe ewig gebraucht, um herauszufinden, warum ich mich geirrt habe.
Dave Harris