Jak działa metoda inwersji?
Powiedzmy, że mam losową próbkę o gęstości powyżej a zatem z cdf na . Następnie metodą inwersji otrzymuję rozkład jako . f ( x ; θ ) = 1 0<x<1FX(x)=x1/θ(0,1)XF - 1 X(u)=uθ
Więc czy ma rozkład ? Czy tak działa metoda inwersji? X
u<-runif(n)
x<-u^(theta)
Odpowiedzi:
Metoda jest bardzo prosta, więc opiszę ją prostymi słowami. Najpierw weźmy funkcję rozkładu skumulowanego jakiejś dystrybucji, z której chcemy próbkować. Funkcja przyjmuje jako dane wejściowe pewną wartość i mówi, jakie jest prawdopodobieństwo uzyskania . Więc x X ≤ xFX x X≤x
odwrotność takiej funkcji funkcyjnej, przyjmowałby jako wejście i zwrócił . Zauważmy, że „s są rozłożone równomiernie - to może być wykorzystywane do pobierania próbek z każdego jeśli wiesz . Metoda nazywana jest próbkowaniem z transformacją odwrotną . Pomysł jest bardzo prosty: łatwo jest równomiernie próbkować wartości z , więc jeśli chcesz próbkować z jakiegoś , po prostu weź wartości i przekaż przez w celu otrzymania „s p x p F X F - 1 X U ( 0 , 1 ) F X u ∼ U ( 0 , 1 ) u F - 1 X xF−1X p x p FX F−1X U(0,1) FX u∼U(0,1) u F−1X x
lub w R (dla rozkładu normalnego)
Aby to zobrazować, spójrz na CDF poniżej, ogólnie myślimy o rozkładach w kategoriach spojrzenia na oś dla prawdopodobieństwa wartości z osi . W przypadku tej metody próbkowania robimy coś przeciwnego i zaczynamy od „prawdopodobieństw” i używamy ich do wybierania powiązanych z nimi wartości. Przy rozkładach dyskretnych traktujesz jako linię od do i przypisujesz wartości na podstawie tego, gdzie w tym wierszu leży punkt (np. jeśli lub jeśli do próbkowania z ).x U 0 1 u 0 0 ≤ u < 0,5 1 0,5 ≤ u ≤ 1 B e r n o u l l i ( 0,5 )y x U 0 1 u 0 0≤u<0.5 1 0.5≤u≤1 Bernoulli(0.5)
Niestety, nie zawsze jest to możliwe, ponieważ nie każda funkcja ma swoją odwrotność, np. Nie można użyć tej metody z rozkładami dwuwymiarowymi. Nie musi to być również najbardziej wydajna metoda we wszystkich sytuacjach, w wielu przypadkach istnieją lepsze algorytmy.
Pytasz także, jaki jest rozkład . Ponieważ jest odwrotnością , to i , więc tak, wartości uzyskane za pomocą takie metody mają ten sam rozkład, jak . Możesz to sprawdzić za pomocą prostej symulacjiF - 1 X F X F X ( F - 1 X ( u ) ) = u F - 1 X ( F X ( x ) ) = x Xfa- 1X( u ) fa- 1X faX faX( F.- 1X( u ) ) = u fa- 1X( F.X( x ) ) = x X
źródło
Tak, ma rozkład . XUθ X
Przydałyby się dwa dodatkowe punkty intuicji dotyczące metody transformacji odwrotnej
(1) Aby zrozumieć, co tak naprawdę oznacza zapoznaj się z wykresem w odpowiedzi Tima, aby pomóc mi zrozumieć funkcję kwantylu (odwrotny CDF)fa- 1
(2) [Proszę, po prostu zignoruj poniższe, jeśli wprowadza więcej zamieszania zamiast przejrzystości]
Niech być dowolną zmienną losową (Ap) z ciągłym i wyłącznie zwiększenia ED . Następnie Uwaga na notację: jest rv Dlatego funkcja rv , jest sama rv. F F ( X ) ∼ Unif ( 0 , 1 ) X X F ( X )X fa
Na przykład, jeśli odrzucisz pytanie, aby mieć dostęp do i chcesz wygenerować standardowy mundur, to . Niech nazywają tę zmienną losową . Więc Wracając do Twojego pytania, masz za zadanie przeciwnie: do generowania z . RzeczywiścieX X1 / θ∼ Unif ( 0 , 1 ) U
PS. Alternatywne nazwy tej metody to transformata całkowa prawdopodobieństwa, próbkowanie odwrotnej transformacji, transformacja kwantylowa oraz, w niektórych źródłach, „podstawowe twierdzenie o symulacji”.
źródło