거부 샘플링 은 때 예외적으로 잘 작동 하며 c d ≥ exp ( 2 )에 적합 합니다.cd≥exp(5)cd≥exp(2)
수학을 약간 단순화하기하자 , 기록 X = 및 참고를k=cdx=a
f(x)∝kxΓ(x)dx
위한 . 설정 X를 = u는 3 / 2 범x≥1x=u3/2
f(u)∝ku3/2Γ(u3/2)u1/2du
위한 . k ≥ exp ( 5 ) 일 때 , 이 분포는 정규에 매우 가깝습니다 (그리고 k 가 커질 수록 더 가까워 집니다). 구체적으로,u≥1k≥exp(5)k
숫자 로 의 모드를 찾습니다 (예 : Newton-Raphson 사용).f(u)
를 해당 모드에 대해 2 차로 확장하십시오 .logf(u)
이렇게하면 대략적인 정규 분포의 모수를 얻을 수 있습니다. 정확도를 높이기 위해이 근사 법선 은 극단적 인 꼬리를 제외하고 지배 합니다. ( k < exp ( 5 ) 인 경우 , 지배를 보장하기 위해 보통 pdf를 약간 확대해야 할 수도 있습니다.f(u)k<exp(5)
주어진 값에 대해이 예비 작업을 수행 하고 상수 M > 1 을 추정 한 경우 (아래 설명 참조) 랜덤 변량을 얻는 것은 다음과 같습니다.kM>1
지배적 인 정규 분포 g ( u ) 에서 값 를 그 립니다.ug(u)
만일 또는 새로운 균일 변량 경우 X는 초과 f를 ( U ) / ( M g ( U ) ) 에서 1 단계로 복귀.u<1Xf(u)/(Mg(u))
집합 .x=u3/2
평가 한 예상 번호 인해 간의 불일치 g 및 F는 이하 variates로 인해 거부에 약간 큰 (1) (어떤 추가적인 평가보다 발생할 것이다 1 하지만 때에도 k는 낮은 같다 2 등의 주파수 발생이 적습니다.)fgf1k2
이 그림은 k = exp ( 5 )에 대한 u 의 함수로서 g 와 f 의 로그 를 보여줍니다 . 그래프가 너무 가깝기 때문에 진행 상황을 확인하기 위해 비율을 검사해야합니다.k=exp(5)
이것은 로그 비율 . M = exp ( 0.004 ) 의 계수 는 분포의 주요 부분에 걸쳐 로그가 양수임을 보장하기 위해 포함되었으며; 즉, 무시할만한 가능성이있는 영역을 제외하고 M g ( u ) ≥ f ( u ) 를 보장 합니다. M을 충분히 크게 함으로써 M ⋅ glog(exp(0.004)g(u)/f(u))M=exp(0.004)Mg(u)≥f(u)MM⋅g가장 극단적 인 꼬리를 제외하고 를 지배합니다 (실제로는 시뮬레이션에서 선택 될 가능성이 없음). 그러나 M 이 클수록 거부가 더 자주 발생합니다. 같이 K가 커져서, M은 매우 근접하도록 선택 될 수있다 (1) 실질적으로없는 패널티를 초래한다.fMkM1
에서도 유사한 접근법이 작동 하지만 , f ( u ) 가 눈에 띄게 비대칭 이기 때문에 exp ( 2 ) < k < exp ( 5 ) 인 경우 상당히 큰 M 값 이 필요할 수 있습니다 . 예를 들어 k = exp ( 2 ) 로 합리적으로 정확한 g 를 얻으려면 M = 1 을 설정해야합니다 .k>exp(2)Mexp(2)<k<exp(5)f(u)k=exp(2)gM=1
위의 빨간색 곡선은 의 그래프이고, 아래의 파란색 곡선은 로그 ( f ( u ) ) 의 그래프입니다 . 의 거부 샘플링 f를 할 상대 특급 ( 1 ) g는 나쁘지 않아 아직 모든 시험의 2/3에 대한 원인이됩니다는 노력을 배로, 거부 할 수립니다. 우측 테일 ( U > 10 또는 X > 10 3 / 2 ~ 30log(exp(1)g(u))log(f(u))fexp(1)gu>10x>103/2∼30()로 인해 거부 샘플링 표현 언더 것이다 더이상 지배 f를 보다 그 꼬리가 적게 포함), 그러나 EXP ( - 20 ) ~ 10 - 9 총 확률.exp(1)gfexp(−20)∼10−9
요약하면, 모드를 계산하고 모드 주위 의 계열의 이차 항을 평가하기위한 초기 노력 ( 최대 수십 개의 함수 평가가 필요한 노력) 후에 거부 샘플링을 사용할 수 있습니다. 변수 당 1 ~ 3 (또는 그 이상) 평가의 예상 비용. k = c d 가 5 이상으로 증가함에 따라 비용 승수는 빠르게 1로 떨어집니다 .f(u)k=cd
에서 한 번만 뽑아야하는 경우에도이 방법은 합리적입니다. 동일한 k 값에 대해 많은 독립적 인 추첨이 필요할 때 자체 계산이 이루어 지므로 초기 계산의 오버 헤드가 많은 추첨에서 상각됩니다.fk
추가
@Cardinal은 이전에 수작업 분석 중 일부를 지원하도록 상당히 합리적으로 요청했습니다. 특히 왜 변환 분포를 대략 정규로 만들어야합니까?x=u3/2
Box-Cox 변환 이론에 비추어 , 분포를 "더 많은"정규로 만드는 (상수 α , 희망과는 다르지 않음) 형태의 전력 변환을 찾는 것이 당연합니다 . 모든 정규 분포는 간단히 특성화됩니다. pdf의 로그는 순차 이차 식이며 선형 항이없고 고차 항이 없습니다. 따라서 모든 pdf 를 가져 와서 (가장 높은) 피크를 중심으로 거듭 제곱으로 로그를 확장하여 정규 분포와 비교할 수 있습니다 . 우리 는 (적어도) 세 번째 를 만드는 α 의 가치를 추구합니다x=uααα power vanish, at least approximately: that is the most we can reasonably hope that a single free coefficient will accomplish. Often this works well.
But how to get a handle on this particular distribution? Upon effecting the power transformation, its pdf is
f(u)=kuαΓ(uα)uα−1.
Take its logarithm and use Stirling's asymptotic expansion of log(Γ):
log(f(u))≈log(k)uα+(α−1)log(u)−αuαlog(u)+uα−log(2πuα)/2+cu−α
(for small values of c, which is not constant). This works provided α is positive, which we will assume to be the case (for otherwise we cannot neglect the remainder of the expansion).
Compute its third derivative (which, when divided by 3!, will be the coefficient of the third power of u in the power series) and exploit the fact that at the peak, the first derivative must be zero. This simplifies the third derivative greatly, giving (approximately, because we are ignoring the derivative of c)
−12u−(3+α)α(2α(2α−3)u2α+(α2−5α+6)uα+12cα).
When k is not too small, u will indeed be large at the peak. Because α is positive, the dominant term in this expression is the 2α power, which we can set to zero by making its coefficient vanish:
2α−3=0.
That's why α=3/2 works so well: with this choice, the coefficient of the cubic term around the peak behaves like u−3, which is close to exp(−2k). Once k exceeds 10 or so, you can practically forget about it, and it's reasonably small even for k down to 2. The higher powers, from the fourth on, play less and less of a role as k gets large, because their coefficients grow proportionately smaller, too. Incidentally, the same calculations (based on the second derivative of log(f(u)) at its peak) show the standard deviation of this Normal approximation is slightly less than 23exp(k/6), with the error proportional to exp(−k/2).