Генерация псевдослучайных чисел с определенными неоднородными распределениями - PullRequest
2 голосов
/ 27 декабря 2010

Я пишу программу, которая имитирует различные случайные прогулки (с различными распределениями). На каждом временном шаге мне нужны произвольно сгенерированные двумерные шаговые расстояния и углы от распределения случайного блуждания. Я надеюсь, что кто-то может проверить мое понимание того, как генерировать эти случайные числа.

Насколько я понимаю, я могу использовать выборку обратного преобразования следующим образом:

Если f (x) - это pdf нашего случайного блуждания с неравномерным распределением, а y - случайное число из равномерного распределения. Тогда, если мы допустим f (x) = y и решим найти x, то получим случайное число из неравномерного распределения.

Это выполнимое решение?

Ответы [ 2 ]

2 голосов
/ 28 декабря 2010

Не совсем. Функция, которую необходимо инвертировать, - это не f (x), это pdf, а F (x) = P (X <= x) = int _ {- inf} ^ {x} f (t) dt, cdf. Хорошо, что F монотонен, поэтому на самом деле имеет уникальную обратную (в отличие от f). </p>

Существует несколько других способов генерации случайных чисел в соответствии с заданным распределением. Например, если cdf F сложно вычислить или инвертировать, выборка отклонения может быть хорошим вариантом, если f легко вычислить.

0 голосов
/ 02 января 2011

Вы близко, но не совсем. Каждая функция плотности вероятности (pdf) имеет соответствующую кумулятивную функцию плотности (cdf). Важным свойством CDF (x) является то, что они всегда находятся в диапазоне от 0 до 1. Поскольку относительно легко нарисовать случайное число в диапазоне от 0 до 1, мы можем использовать его, чтобы вернуться к распределению. Таким образом, изменение слова pdf на CDF в вашем вопросе делает утверждение правильным.

В дополнение к этому, чтобы иметь смысл в вычислительном отношении, вам нужно найти простую для вычисления инверсию CDF. Один из способов сделать это состоит в том, чтобы подогнать полиномиальное приближение к CDF и найти обратную функцию. Существуют более продвинутые методы для моделирования вероятностных распределений с беспорядочными распределениями. См. главу книги для деталей.

...