Wie funktioniert die inverse Transformationsmethode?

21

Wie funktioniert die Inversionsmethode?
Sagen , ich habe eine Stichprobe X1,X2,...,Xn mit der Dichte f(x;θ)=1θx(1-θ)θ über
0<x<1und daher mit cdfFX(x)=x1/θauf(0,1). Dann erhalte ich mit der Inversionsmethode die Verteilung vonXalsFX-1(u)=uθ.

Hat uθ also die Verteilung von X ? Funktioniert die Inversionsmethode so?

u<-runif(n)
x<-u^(theta)
Clarkson
quelle
3
Lesen Sie unsere Threads zur Wahrscheinlichkeitsintegraltransformation .
whuber
1
Ja, obwohl es normalerweise als "Wahrscheinlichkeitsintegraltransformation" bezeichnet wird. Versuchen Sie, die Verteilungsfunktion von abzuleiten, um zu sehen, warum sie funktioniert. F-1(U)
dsaxton

Antworten:

20

Die Methode ist sehr einfach, daher beschreibe ich sie in einfachen Worten. Nehmen Sie zunächst die kumulative Verteilungsfunktion einer Verteilung, aus der Sie eine Stichprobe erstellen möchten. Die Funktion nimmt einen Wert x als Eingabe und gibt an, wie hoch die Wahrscheinlichkeit ist, dass X x ist . SoFXxXx

FX(x)=Pr(Xx)=p

Umgekehrt zu einer solchen Funktionsfunktion würde p als Eingabe nehmen und x zurückgeben . Beachten Sie, dass p ‚s gleichmäßig verteilt sind - das zum Abtasten von jedem verwendet werden könnte , F X , wenn Sie wissen , F - 1 X . Die Methode wird als inverse Transformationsabtastung bezeichnet . Die Idee ist sehr einfach: Es ist einfach, Werte einheitlich von U ( 0 , 1 ) abzutasten. Wenn Sie also von einigen F X abtasten möchten , nehmen Sie einfach die Werte u FX-1pxpFXFX-1U(0,1)FX und übergeben u durch F - 1 X zu erhalten , x ‚suU(0,1)uFX-1x

FX-1(u)=x

oder in R (für Normalverteilung)

U <- runif(1e6)
X <- qnorm(U)

Zur Veranschaulichung betrachten wir unten CDF. Im Allgemeinen denken wir an Verteilungen, indem wir die Achse auf Wahrscheinlichkeiten von Werten aus der x- Achse untersuchen. Bei dieser Stichprobenmethode machen wir das Gegenteil und beginnen mit "Wahrscheinlichkeiten" und verwenden sie, um die damit verbundenen Werte auszuwählen. Bei diskreten Verteilungen behandeln Sie U als eine Linie von 0 bis 1 und weisen Werte zu, basierend auf dem Punkt, an dem u auf dieser Linie liegt (z. B. 0, wenn 0 u < 0,5 oder 1, wenn 0,5 u 1 für die Abtastung von B)yxU01u00u<0,510,5u1 ).BernOullich(0,5)

Bildbeschreibung hier eingeben

Dies ist leider nicht immer möglich, da nicht jede Funktion ihre Umkehrung hat, dh Sie können diese Methode nicht mit bivariaten Verteilungen verwenden. Es muss auch nicht in allen Situationen die effizienteste Methode sein , in vielen Fällen gibt es bessere Algorithmen.

Sie fragen auch, wie die Verteilung von . Da F - 1 X eine Inverse von F X ist , gilt F X ( F - 1 X ( u ) ) = u und F - 1 X ( F X ( x ) ) = x , also haben die unter Verwendung eines solchen Verfahrens erhaltenen Werte ja die gleiche Verteilung wie X . Sie können dies durch eine einfache Simulation überprüfenFX-1(u)FX-1FXFX(FX-1(u))=uFX-1(FX(x))=xX

U <- runif(1e6)
all.equal(pnorm(qnorm(U)), U)
Tim
quelle
Gute Antwort. Diese Methode funktioniert, wenn Sie Verteilungen wie Exponential-, Cauchy-, Geometrie-, Pareto-, Logistik-, Extremwert-Weibull-Verteilungen usw. haben. Sie können beispielsweise keine geschlossene Form für eine Normalverteilung finden . Daher können Sie diese Methode nicht verwenden. Sie können auch andere Methoden wie die Ablehnungsmethode ausprobieren .
Abbas Salimi
2
Sie können die inverse Transformationsmethode mit der Normalverteilung verwenden. Es gibt zahlreiche Implementierungen für die normale inverse CDF . Beispielsweise können Sie normale inverse CDF mit der Funktion für komplementäre Fehler schreiben . Eine beispielhafte Implementierung von erfc finden Sie hier . Code erfc nicht selbst; benutze eine Bibliothek. Dass es keine geschlossene Formel gibt, bedeutet nicht , dass Sie keine hochwertigen numerischen Approximationen verwenden können.
Matthew Gunn
2

Ja, hat die Verteilung von X .UθX

Zwei zusätzliche Punkte zur Intuition hinter der inversen Transformationsmethode könnten nützlich sein

F-1

(2) [Bitte ignorieren Sie einfach das Folgende, wenn es mehr Verwirrung statt Klarheit bringt]

XF

F(X)Unif(0,1)

XXF(X)

XX1/θUnif(0,1)U

U=X1/θ
XU
X=Uθ

PS. Alternative Namen für die Methode sind Wahrscheinlichkeitsintegraltransformation, inverse Transformationsabtastung, Quantiltransformation und in einigen Quellen "der Grundsatz der Simulation".

den2042
quelle