Unsicherheitsschätzung bei hochdimensionalen Inferenzproblemen ohne Abtastung?


9

Ich arbeite an einem hochdimensionalen Inferenzproblem (ca. 2000 Modellparameter), für das wir eine MAP-Schätzung robust durchführen können, indem wir das globale Maximum des log-posterior unter Verwendung einer Kombination aus gradientenbasierter Optimierung und einem genetischen Algorithmus ermitteln.

Ich würde sehr gerne in der Lage sein, zusätzlich zur MAP-Schätzung eine Schätzung der Unsicherheiten in Bezug auf die Modellparameter vorzunehmen.

Wir sind in der Lage, den Gradienten des logarithmischen Seitenzahns in Bezug auf die Parameter effizient zu berechnen. Langfristig wollen wir Hamiltonian MCMC verwenden, um einige Stichproben durchzuführen, aber im Moment bin ich an Schätzungen interessiert, die nicht auf Stichproben basieren.

Der einzige Ansatz, den ich kenne, besteht darin, die Umkehrung des Hessischen im Modus zu berechnen, um den posterioren Wert als multivariates Normal zu approximieren, aber selbst dies scheint für ein so großes System nicht durchführbar zu sein, da selbst wenn wir die berechnen Elemente des Hessischen Ich bin sicher, wir konnten seine Umkehrung nicht finden.4×106

Kann jemand vorschlagen, welche Ansätze in solchen Fällen normalerweise verwendet werden?

Vielen Dank!

BEARBEITEN - zusätzliche Informationen zum Problem

Hintergrund
Dies ist ein umgekehrtes Problem im Zusammenhang mit einem großen physikalischen Experiment. Wir haben ein 2D-Dreiecksnetz, das einige physikalische Felder beschreibt, und unsere Modellparameter sind die physikalischen Werte dieser Felder an jedem Scheitelpunkt des Netzes. Das Netz hat ungefähr 650 Eckpunkte, und wir modellieren 3 Felder. Daher stammen unsere 2000 Modellparameter.

Unsere experimentellen Daten stammen von Instrumenten, die diese Felder nicht direkt messen, sondern von Größen, die komplizierte nichtlineare Funktionen der Felder sind. Für jedes der verschiedenen Instrumente haben wir ein Vorwärtsmodell, das die Modellparameter auf Vorhersagen der experimentellen Daten abbildet, und ein Vergleich zwischen der Vorhersage und der Messung ergibt eine logarithmische Wahrscheinlichkeit.

Wir fassen dann die Log-Wahrscheinlichkeiten all dieser verschiedenen Instrumente zusammen und fügen einige Log-Prior-Werte hinzu, die einige physikalische Einschränkungen auf die Felder anwenden.

Folglich bezweifle ich, dass dieses 'Modell' ordentlich in eine Kategorie fällt - wir haben keine Wahl, was das Modell ist, es wird durch die Funktionsweise der tatsächlichen Instrumente bestimmt, die unsere experimentellen Daten sammeln.

Datensatz
der Datensatz von 500x500 Bildern zusammengesetzt ist, und es wird ein Bild für jede Kamera so Gesamtdatenpunkte ist 500x500x4 = .106

Fehlermodell
Wir nehmen an, dass alle Fehler im Problem im Moment Gaußsch sind. Irgendwann könnte ich versuchen, auf ein Student-t-Fehlermodell umzusteigen, nur um zusätzliche Flexibilität zu erhalten, aber nur mit Gaußschen scheint es immer noch gut zu funktionieren.

Wahrscheinlichkeitsbeispiel
Dies ist ein plasmaphysikalisches Experiment, und die überwiegende Mehrheit unserer Daten stammt von Kameras, die auf das Plasma gerichtet sind, mit bestimmten Filtern vor den Linsen, um nur bestimmte Teile des Lichtspektrums zu betrachten.

Um die Daten zu reproduzieren, gibt es zwei Schritte; Zuerst müssen wir das Licht modellieren, das vom Plasma auf dem Netz kommt, dann müssen wir dieses Licht zurück zu einem Kamerabild modellieren.

Die Modellierung des Lichts, das aus dem Plasma kommt, hängt leider von den effektiven Geschwindigkeitskoeffizienten ab, die angeben, wie viel Licht von verschiedenen Prozessen in Anbetracht der Felder emittiert wird. Diese Raten werden von einigen teuren numerischen Modellen vorhergesagt, daher müssen wir ihre Ausgabe in Gittern speichern und dann interpolieren, um Werte nachzuschlagen. Die Ratenfunktionsdaten werden immer nur einmal berechnet - wir speichern sie und erstellen dann einen Spline daraus, wenn der Code gestartet wird, und dieser Spline wird dann für alle Funktionsauswertungen verwendet.

Angenommen, und sind die Ratenfunktionen (die wir durch Interpolation auswerten), dann ist die Emission am -ten Scheitelpunkt des Netzes gegeben durch wobei die 3 Felder sind, die wir auf dem Netz modellieren. Das Ermitteln des Emissionsvektors für ein Kamerabild ist einfach. Es handelt sich lediglich um eine Multiplikation mit einer Matrix die codiert, durch welche Teile des Netzes jedes Kamerapixel schaut.R1R2iEi

Ei=R1(xi,yi)+ziR2(xi,yi)
(x,y,z)G

Da die Fehler Gauß'sch sind, ist die Log-Wahrscheinlichkeit für diese bestimmte Kamera dann

L=12(GEd)Σ1(GEd)

Dabei ist die Kameradaten. Die gesamte Log-Wahrscheinlichkeit ist eine Summe von 4 der obigen Ausdrücke, jedoch für verschiedene Kameras, die alle unterschiedliche Versionen der da sie unterschiedliche Teile des Lichtspektrums betrachten.dR1,R2

Vorheriges Beispiel
Wir haben verschiedene Prioritäten, die effektiv nur bestimmte Ober- und Untergrenzen für verschiedene Größen festlegen, aber diese neigen dazu, nicht zu stark auf das Problem einzuwirken. Wir haben einen Prior, der stark wirkt und die Glättung vom Laplace-Typ effektiv auf die Felder anwendet. Es hat auch eine Gaußsche Form:

log-prior=12xSx12ySy12zSz


1
Welches Modell passt zu Ihnen? Lineare Regression? GP? Ein hierarchisches Zählmodell? Bayesianische Kalibrierung eines Computermodells? Bitte fügen Sie weitere Details zu dem Problem hinzu, das Sie lösen, und ich werde eine Antwort mit Vor- und Nachteilen von VI schreiben.
DeltaIV

1
@ DeltaIV Ich habe die Frage mit einigen weiteren Informationen aktualisiert - es kann sein, dass ich nicht genau ausgeführt habe, wonach Sie gesucht haben. Wenn ja, lass es mich wissen und ich werde eine weitere Bearbeitung vornehmen, danke!
CBowman

1
@ DeltaIV Nochmals vielen Dank! Weitere Informationen hinzugefügt, lassen Sie mich wissen, ob ich noch etwas hinzufügen kann.
CBowman

1
@DeltaIV sind die Datenbilder 500x500 und es gibt eines für jede Kamera, sodass die Gesamtdatenpunkte 500x500x4 = . Die Ratenfunktionsdaten werden immer nur einmal berechnet - wir speichern sie und erstellen dann einen Spline daraus, wenn der Code gestartet wird, und dieser Spline wird dann für alle Funktionsauswertungen verwendet. 106
CBowman

1
Ich habe keine Referenz, aber es gibt viele Annäherungen mit niedrigem Rang an die Berechnung der Matrixinverse. Finden Sie z. B. die größten Eigenwerte, nehmen Sie an, dass die verbleibenden gleich sind, und verwenden Sie eine grobe Näherung für die Eigenvektoren, die einem niedrigen Eigenwert entsprechen. Ich bin mir ziemlich sicher, dass es auch ungefähre / iterative Cholesky-Zerlegungen gibt, die zum exakten Wert konvergieren. Beenden Sie einfach die Iterationen, nachdem Sie auf die maximale Zeit gewartet haben2000 - kk2000k
Wahrscheinlichkeitslogik

Antworten:


4

Zunächst denke ich, dass Ihr statistisches Modell falsch ist. Ich ändere Ihre Notation in eine für Statistiker vertraute

d=y=(y1,,yN), N=106

sei dein Vektor von Beobachtungen (Daten), und

x=θ=(θ1,,θp)y=ϕ=(ϕ1,,ϕp)z=ρ=(ρ1,,ρp), p650

Ihre Vektoren von Parametern mit der Gesamtdimension d=3p2000 . Wenn ich das richtig verstanden habe, nehmen Sie ein Modell an

y=Gr1(θ,ϕ)+ρGr2(θ,ϕ))+ϵ, ϵN(0,IN)

wobei G die N×d Spline-Interpolationsmatrix ist.

Das ist eindeutig falsch. Es gibt keine Möglichkeit, dass die Fehler an verschiedenen Stellen im Bild derselben Kamera und an derselben Stelle in Bildern von verschiedenen Kameras unabhängig voneinander sind. Sie sollten sich mit räumlichen Statistiken und Modellen wie verallgemeinerten kleinsten Quadraten, Semivariogrammschätzung, Kriging, Gaußschen Prozessen usw. befassen.


Da Ihre Frage jedoch nicht lautet, ob das Modell eine gute Annäherung an den tatsächlichen Datenerzeugungsprozess darstellt, sondern wie ein solches Modell geschätzt werden kann, zeige ich Ihnen einige Optionen, um dies zu tun.

HMC

106

Vorteile : "exakte" Folgerung an der Grenze einer unendlichen Anzahl von Proben aus der Kette.

Nachteile : Keine enge Bindung an den Schätzfehler, es gibt mehrere Konvergenzdiagnosemetriken, aber keine ist ideal.

Große Stichprobenannäherung

Bei einem Missbrauch der Notation bezeichnen wir mit θ den Vektor, der durch Verketten Ihrer drei Parametervektoren erhalten wird. Dann könnten Sie unter Verwendung des Bayes'schen zentralen Grenzwertsatzes (Bernstein-von-Mises) p(θ|y) mit N(θ0^n,In1(θ0)) n ( θ 0 ) approximierenθ0θ0^nθ0In1(θ0)θ0θ0In1(θ0^n)R1,R2 Seien Sie gültig, wenn Ihre Daten tatsächlich so waren, wie Sie annehmen, aber ich glaube nicht, dass dies der Fall ist, wie ich am Anfang erklärt habe.

p<<Nθ0

p(θ|y)

Variationsinferenz

In diesem Fall, anstatt das genaue p(θ|y) (was die Berechnung eines d - erfordern würdedpqϕ(θ)qQϕϕϕqp

ϕ=argminϕΦDKL(qϕ(θ)||p(θ|y))

qϕ(θ)

  • ϕ
  • p(θ|y)ϕq

qϕ(θ)d

qϕ(θ)=i=1dqϕi(θi)

qϕj(θj)

logqj(θj)=Eij[logp(y,θ)]+const.

p(y,θ)q1(θ1),,qj1(θj1),qj+1(θj+1),,qd(θd)qi(θi)(d1)

qqiqNDatenpunkte. Um die Inferenzkosten amortisieren zu können, wird ein neuronales Netzwerk verwendet, um den Eingaberaum auf den Variationsparameterraum abzubilden. In diesem Dokument finden Sie eine detaillierte Beschreibung des Algorithmus: VAE-Implementierungen sind wieder in allen wichtigen Deep Learning-Frameworks verfügbar.


s2

@ DeltaIV Das statistische Modell ist im Allgemeinen ziemlich gut, die Fehler zwischen den verschiedenen Kameras sind sehr, sehr unabhängig, und verschiedene Pixel in derselben Kamera werden im Grunde auch unabhängig sein, es sei denn, sie sind buchstäblich benachbart. Wir könnten eine räumliche Korrelation in benachbarten Pixeln unter Verwendung einer Gaußschen Prozesswahrscheinlichkeit codieren, aber dies würde erfordern, dass wir entweder die Kovarianzmatrix direkt invertieren oder jedes Mal, wenn wir die Wahrscheinlichkeit bewerten möchten, ein spärliches lineares System lösen, was viel mehr ist teuer (obwohl nicht ausgeschlossen).
CBowman

2

Vielleicht möchten Sie sich einige der "bayesX" -Software und möglicherweise auch die "inla" -Software ansehen. Beide haben wahrscheinlich einige Ideen, die Sie ausprobieren können. Google es

beide stützen sich sehr stark auf die Ausnutzung der Sparsamkeit bei der Parametrisierung der Präzisionsmatrix (dh bedingte Unabhängigkeit, Markov-Typ-Modell) - und verfügen über dafür entwickelte Inversionsalgorithmen. Die meisten Beispiele basieren entweder auf mehrstufigen oder automatisch regressiven Guassian-Modellen. sollte dem von Ihnen geposteten Beispiel ziemlich ähnlich sein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.