Jak powinienem efektywnie próbkować z następującej dystrybucji?
Jeśli nie jest zbyt duże, próbowanie odrzucenia może być najlepszym podejściem, ale nie jestem pewien, jak postępować, gdy jest duże. Być może istnieje jakieś asymptotyczne przybliżenie, które można zastosować?
random-generation
beta-distribution
truncation
użytkownik1502040
źródło
źródło
Odpowiedzi:
Najprostszym i najogólniejszym sposobem, który stosuje się do dowolnego skróconego rozkładu (można go również uogólnić na obcinanie po obu stronach), jest zastosowanie odwrotnego próbkowania transformacji . Jeśli jest skumulowanym rozkładem odsetek, ustaw p 0 = F ( k ) i weźF p0=F(k)
gdzie jest próbką z F ściętą w lewo o k . Funkcja kwantyl F - 1 mapuje prawdopodobieństw próbek z F . Ponieważ pobieramy wartości U tylko z „obszaru”, który odpowiada wartościom rozkładu beta z regionu obciętego, spróbujesz tylko tych wartości.X F k F−1 F U
Metodę tę zilustrowano na poniższym obrazie, na którym obcięty obszar jest zaznaczony szarym prostokątem, punkty w kolorze czerwonym są rysowane z rozkładu a następnie przekształcane w próbki B ( 2 , 8 ) .U(p0,1) B(2,8)
źródło
scipy.special.betainc
odwrotność, aw R. jestpbeta
.qbeta
funkcja kwantyli w R.)@ Odpowiedź Tima pokazuje, w jaki sposób można dopasować próbkowanie odwrotnej transformaty do rozkładów skróconych, uwalniając czas działania zależności od progu . Dalszą wydajność można uzyskać, unikając kosztownej oceny liczbowej funkcji kwantylu beta i stosując próbkowanie z transformacją odwrotną jako część prób odrzucania.k
Funkcja gęstości rozkładu beta o parametrach kształtu i β podwójnie obciętych przy k 1 < k 2 (dla nieco większej ogólności) wynosiα β k1<k2
Weź dowolną monotonicznie rosnącą część gęstości między i x U : dla α , β > 1 jest to log-wklęsły, abyś mógł ją objąć funkcją wykładniczą narysowaną stycznie do dowolnego punktu wzdłuż niej:xL xU α,β>1
Znajdź , ustawiając gradienty gęstości logarytmicznej równeλ
i znajdźc, obliczając, ile gęstości wykładniczej należy przeskalować, aby osiągnąć gęstość w tym punkcie c=f(x)
Najlepsza obwiednia do prób odrzucenia to ta z najmniejszym obszarem poniżej. Obszar to Podstawiając wyrażenia w x na λ
Piękno tego podejścia polega na tym, że cała ciężka praca jest w konfiguracji. Po zdefiniowaniu funkcji obwiedni, obliczonej stałej normalizującej dla obciętej gęstości beta, pozostaje wygenerować jednolite losowe zmienne i wykonać na nich kilka prostych operacji arytmetycznych, logów i mocy oraz porównań. Zaostrzenie funkcji obwiedni - za pomocą linii poziomych lub więcej krzywych wykładniczych - może oczywiście zmniejszyć liczbę odrzuceń.
źródło