अगर स्वीकार-अस्वीकार द्वारा प्रत्यक्ष संकल्प है तो कुछ हद तक जटिल है। सबसे पहले, एक साधारण भेदभाव दिखाता है कि वितरण का pdf
दूसरा, चूंकि
हमारे पास ऊपरी बाउंड
तीसरा, में दूसरे शब्द पर विचार करते हुए , परिवर्तन चर , यानी, । फिर
चर के परिवर्तन का याकूबियन है। यदिच( x ) = ( a + b x)पी) एक्सप{ - एक एक्स - बीपी + 1एक्सपी + 1}
च( x ) = एक ई- एक एक्सइ- बी एक्सपी + 1/ (पी+1)≤ १+ बी एक्सपीइ- बी एक्सपी + 1/ (पी+1)इ- एक एक्स≤ १
च( x ) ≤ जी( x ) = एक ई- एक एक्स+ बी एक्सपीइ- बी एक्सपी + 1/ (पी+1)
जीξ= एक्सपी + 1x = ξ1 / ( पी + 1 )डी एक्सd ξ= 1पी + 1ξ1पी + 1- 1= 1पी + 1ξ- पीपी + 1
एक्सफॉर्म का घनत्व जहां स्थिर सामान्य है, तो की घनत्व
जिसका अर्थ है कि (i) है Exponential चर के रूप में वितरित किया जाता है और (ii) स्थिर एक के बराबर होता है। इसलिए, एक्सपोनेंशियल वितरण के समान भारित मिश्रण के बराबर होता है और एक्सपोनेंशियल की -थ शक्तिκ बी एक्सपीइ- बी एक्सपी + 1/ (पी+1)κΞ = एक्स1 / ( पी + 1 )κ ख ξपीपी + 1इ- बी ξ/ (पी+1)1पी + 1ξ- पीपी + 1= κ बीपी + 1इ- बी ξ/ (पी+1)
Ξइ( b / ( p + 1 ) )κजी( x )इ( ए )1 / ( पी + 1 )इ( b / ( p + 1 ) )वितरण, माप के लिए खाते में से एक लापता गुणक मोड modulo :
और मिश्रण के रूप में अनुकरण करने के लिए सीधा है।2च( x ) ≤ जी( x ) = 2 ( 1)2एक ई- एक एक्स+ 12बी एक्सपीइ- बी एक्सपी + 1/ (पी+1))
जी
इस प्रकार स्वीकार-अस्वीकार एल्गोरिथ्म का एक आर प्रतिपादन है
simuF <- function(a,b,p){
reepeat=TRUE
while (reepeat){
if (runif(1)<.5) x=rexp(1,a) else
x=rexp(1,b/(p+1))^(1/(p+1))
reepeat=(runif(1)>(a+b*x^p)*exp(-a*x-b*x^(p+1)/(p+1))/
(a*exp(-a*x)+b*x^p*exp(-b*x^(p+1)/(p+1))))}
return(x)}
और एक एन-नमूना के लिए:
simuF <- function(n,a,b,p){
sampl=NULL
while (length(sampl)<n){
x=u=sample(0:1,n,rep=TRUE)
x[u==0]=rexp(sum(u==0),b/(p+1))^(1/(p+1))
x[u==1]=rexp(sum(u==1),a)
sampl=c(sampl,x[runif(n)<(a+b*x^p)*exp(-a*x-b*x^(p+1)/(p+1))/
(a*exp(-a*x)+b*x^p*exp(-b*x^(p+1)/(p+1)))])
}
return(sampl[1:n])}
यहाँ एक = 1, बी = 2, पी = 3 के लिए एक चित्रण है: