Розглянемо невеликий параметр фігури поблизу 0, наприклад . В діапазоні між 0 і , приблизно , так що гамма PDF приблизно . Це може бути інтегровано до приблизного CDF, . Перевернувши його, ми бачимо потужність : величезний показник. Для це спричиняє певний шанс підливу (подвійне значення точності менше , більше або менше). Ось сюжет шансу отримати підтік як функцію базового десяти логарифму& alpha ; = 1 / 100 & alpha ; е - & alpha ; 1 х & alpha ; - 1 г х / Γ ( & alpha ; ) F & alpha ; ( х ) = х & alpha ;αα = 1 / 100αе- α1хα - 1гx / Γ ( α ) 1/& alpha& alpha=1/10010-300& alphaЖα( x ) = xαα Γ ( α )1 / αα = 1 / 10010- 300α :
Одне рішення - використовувати це наближення для генерації змінних журналу (Gamma): насправді, спробуйте створити змінну Gamma, і якщо вона занадто мала, генеруйте її логарифм із цього приблизного розподілу потужності (як показано нижче). (Робіть це неодноразово, поки журнал не буде в межах підтоку, щоб він був дійсною заміною оригінальній змінній підтікання.) Для обчислення Діріхле віднімайте максимум усіх логарифмів від кожного з значень журналу: це неявно змінює масштаби всіх змінних Gamma, так що це не вплине на значення Діріхле. Розглядайте будь-який результуючий журнал, який є занадто малим (скажімо, менше -100) як логом справжнього нуля. Розкрийте інші журнали. Тепер ви можете продовжувати без переливу.
Це займе навіть більше часу, ніж раніше, але принаймні це спрацює!
Для створення приблизного журналу змінної Gamma з параметром форми , попередньо обчисліть . Це легко, адже існують алгоритми для обчислення значень журналу Gamma безпосередньо . Генерація рівномірного випадкового поплавка між 0 і 1, взяти її логарифм, розділіть , і додайте до нього.C = log ( Γ ( α ) ) + log ( α ) α CαС= журнал( Γ ( α ) ) + журнал( α )αС
Оскільки параметр масштабу просто масштабує змінну, немає проблем з її розміщенням у цих процедурах. Вам це навіть не потрібно, якщо всі параметри шкали однакові.
Редагувати
В іншій відповіді ОП описує метод, в якому потужність однорідної змінної ( змінної) множиться на змінну . Це працює, тому що pdf спільного розподілу цих двох змінних дорівнює . Щоб знайти pdf підставляємо , ділимо на якобійський і інтегруємо x . Інтеграл повинен бути від z до ∞, оскільки 0 ≤ y ≤ 1 , звідсиB ( α ) Γ ( α + 1 ) ( α x α - 1 ) ( y α e - y d y / Γ ( α + 1 ) ) z = x y y → z / x x1 / αB ( α )Γ ( α + 1 )( α xα - 1) ( уαе- угу/ Γ(α+1) )z= х уу→ z/ хххz∞0 ≤ y≤ 1
pdf ( z) = αΓ ( α + 1 )∫∞z( хα/ х) е- х( z/ х )α - 1гх дz= 1Γ ( α )zα- 1е- zгz,
що є pdf розподілу .Γ ( α )
Вся суть у тому, що коли , значення, отримане з Γ ( α + 1 ) , навряд чи переллється, і шляхом підсумовування його журналу і в 1 / α рази більше журналу незалежної рівномірної змінної ми матимемо журнал a Varia ( α ) змінна. Журнал, ймовірно, буде дуже негативним, але ми обійшли конструкцію його антилога, який переллється в подання з плаваючою комою.0 < α < 1Γ ( α + 1 )1 / αΓ ( α )