Преобразование равномерного распределения в распределение с хвостом - PullRequest
0 голосов
/ 29 декабря 2018

Этот предыдущий вопрос SO касается преобразования равномерного распределения в нормальное распределение.

Для моделирования по методу Монте-Карло у меня есть потребность не только в нормальном (гауссовском), но и в некоторых вычислительно эффективных способах генерирования большого количества выборок из "жирных хвостов" или распределения с тяжелыми хвостами с использованием заданного (64-разрядного или двойного) однородного ГСЧ в качестве входных данных.Примеры этих распределений включают: Log-normal, Pareto, Student-T и Cauchy.

Использование обратных CDF допустимо с учетом вычислительно эффективных средств вычисления обратных CDF по мере необходимости.

Тег предназначен для независимых от языка алгоритмов, но необходимые реализации предназначены для основных процедурных языков программирования.(C, Basic, процедурный Swift, Python и др.)

1 Ответ

0 голосов
/ 30 декабря 2018

Случайное число Коши может быть выражено как:

scale * tan(pi * (RNDU01OneExc()-0.5)) + mu

, где RNDU01OneExc() - случайное число в [0, 1), а mu и scale - смещение и масштаб,

Логарифмическое нормальное случайное число может быть выражено как exp(Normal(mu, sigma)), где Normal(mu, sigma) - нормально распределенное случайное число со средним mu и стандартным отклонением sigma.

. Этии другие виды распределений упомянуты в моей статье о генерации случайных чисел и выборке.

...