@ टिम का जवाब दिखाता है कि कैसे उलटा रूपांतर नमूना नमूने को काटे गए वितरण के लिए अनुकूलित किया जा सकता है, थ्रेशोल्ड पर निर्भरता के रन-टाइम को मुक्त कर सकता है । बीटा क्वांटाइल फ़ंक्शन के महंगे संख्यात्मक मूल्यांकन से बचने और अस्वीकृति नमूने के भाग के रूप में उलटा ट्रांसफ़ॉर्म सैंपलिंग का उपयोग करके आगे की दक्षता प्राप्त की जा सकती है।k
आकार मानकों के साथ एक बीटा वितरण का घनत्व समारोह और दोगुना पर छोटा कर दिया (थोड़ा और व्यापकता के लिए) हैαβk1<k2
f(x)=x(α−1)(1−x)(β−1)B(k2,α,β)−B(k1,α,β)
& बीच घनत्व के किसी भी मोनोटोनॉली बढ़ते हिस्से को लें : for यह लॉग-अवतल है, इसलिए आप इसे स्पर्शरेखा पर खींचे गए घातांक के साथ कवर कर सकते हैं इसके साथ कोई बिंदु:xLxUα,β>1
g(x)=c⋅λe−λ(x−xL)
लॉग डेन्सिटी के ग्रेडिएंट्स को समान करके पता लगाएंλ
−λ=a−1x−b−11−x
& को यह पता लगाने के लिए कि उस बिंदु पर घनत्व को पूरा करने के लिए घातीय घनत्व को कितना बढ़ाया जाना चाहिए?
cc=f(x)λe−λ(x−xL)
अस्वीकृति के नमूने के लिए सबसे अच्छा लिफाफा वह है जिसके नीचे सबसे छोटा क्षेत्र है। यह क्षेत्र
& , और छोड़ने के लिए
में भावों का प्रतिस्थापन निरंतर कारक देता है
A=c⋅(1−e−λ(xU−xL))
xλc
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))]
Writing the derivative dQdx is left as an exercise for readers or their computers. Any root-finding algorithm can then be used to find the x for which dQdx=0.
The same goes, mutatis mutandis, for monotonically decreasing parts of the density. So the truncated beta distribution can be quite neatly enveloped by two exponential functions, say, one from k1 to the mode & one from the mode to k2, ready for rejection sampling. (For a truncated uniform random variable U, −log(1−U)λ has a truncated exponential distribution with rate parameter λ.)
The beauty of this approach is that all the hard work's in the set up. Once the envelope function's defined, the normalizing constant for the truncated beta density calculated, all that's left is to generate uniform random variates, & perform on them a few simple arithmetical operations, logs & powers, & comparisons. Tightening the envelope function—with horizontal lines or more exponential curves—can of course reduce the number of rejections.