Понимание распределения Пуассона генератора случайных чисел - PullRequest
5 голосов
/ 22 февраля 2012

Я работаю с генератором случайных чисел, доступным в C ++ 11. На данный момент я использую равномерное распределение, которое должно дать мне равную вероятность получить любое число в диапазоне A & B, который я указываю.

Однако я запутался в генерации распределений Пуассона. Хотя я понимаю, как определить вероятность Пуассона , я не понимаю, как случайная серия чисел может быть "распределена" на основе распределения Пуассона.

Например, конструктор C ++ 11 для распределения Пуассона принимает один аргумент - λ, который является средним значением распределения

std::tr1::poisson_distribution<double> poisson(7.0);
std::cout << poisson(eng) << std::endl;

В вероятностной проблеме Пуассона она равна ожидаемому количеству успехов / случаев в течение заданного интервала. Однако я не понимаю, что это представляет в этом случае. Что такое «успех» / «вхождение» в сценарии со случайным числом?

Я ценю любую помощь или справочные материалы, которые я могу использовать, чтобы помочь мне понять это.

1 Ответ

3 голосов
/ 22 февраля 2012

Вероятность распределения Пуассона - это вероятность появления определенного значения. Представьте, что вы хотите рассчитать, сколько автомобилей проходит определенную точку каждый день. Это значение будет больше в некоторые дни, но меньше в другие дни. Но при отслеживании этого в течение серьезного промежутка времени начинает появляться среднее значение, причем значения в его окрестностях встречаются чаще, а значения, находящиеся дальше (0 автомобилей в день или в десять раз), менее вероятны. & Lambda; это то, что появилось.

При отражении этого для RNG алгоритм вернет вам количество автомобилей, которые проезжали в случайный день (который выбирается равномерно). Как вы можете себе представить среднее значение & lambda; вероятнее всего возникнет, а крайности наименее вероятно появятся.

Следующая ссылка содержит пример распределения, которое имеет Пуассон, показывая дискретные результаты, которые вы получаете, и вероятность того, что у каждого из них есть:

http://www.mathworks.com/help/toolbox/stats/brn2ivz-127.html

Пример реализации может рассчитывать для каждого значения вероятность его возникновения, а затем вычислять диапазоны на основе этих значений для преобразования равномерного распределения в Пуассона. например для & лямбда; == 2 у нас есть 13% шанс на 0, 27% шанс на 1, 27% шанс на 2 ... Затем мы генерируем старое доброе равномерное случайное число от 0,0 до 1,0. Если это число <= 0,13, верните 0. Является ли это <= 0,40, верните 1. Является ли оно <= 0,67, верните 2 и т. Д ... </p>

...