@ 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
f(x)=x(α−1)(1−x)(β−1)B(k2,α,β)−B(k1,α,β)
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:xLxUα,β>1
g(x)=c⋅λe−λ(x−xL)
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)
−λ=a−1x−b−11−x
cc=f(x)λe−λ(x−xL)
Najlepsza obwiednia do prób odrzucenia to ta z najmniejszym obszarem poniżej. Obszar to
Podstawiając wyrażenia w x na λ
A=c⋅(1−e−λ(xU−xL))
xλc , a porzucenie stałych współczynników daje
Q(x)=xa(1−x)b(a+b−2)x−a+1⋅[exp((b−1)(x−xL)1−x+xL(a−1)x−(a−1))−exp((b−1)(x−xU)1−x+xU(a−1)x- ( a - 1 ) ) ]
d Qd xxd Qd x= 0
k1k2)U- log( 1 - U)λλ
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ń.