2015-05-07 3 views
1

Если это необходимо, чтобы сгенерировать Randoms в [N, М] Диапазон, но с большим количеством цифр, близких к средн (N < = они средней < = М), что лучше использовать:распределения Пуассона или нормальное распределение

Проводы на примерах в cppreference страниц (в нижней части страницы), оба они порождают то, что необходимо:

poisson_distribution в точке 4:

0 * 
1 ******* 
2 ************** 
3 ******************* 
4 ******************* 
5 *************** 
6 ********** 
7 ***** 
8 ** 
9 * 
10 
11 
12 
13 

normal_distribution в точке 5 со стандартным отклонением 2:

-2 
-1 
0 
1 * 
2 *** 
3 ****** 
4 ******** 
5 ********** 
6 ******** 
7 ***** 
8 *** 
9 * 
10 
11 
12 

Что выбрать? Может быть, что-то еще?

+7

Лучшее распространение для использования - это тот, который лучше описывает ваши данные. – CoryKramer

+0

@Cyber ​​Мне нужно случайное распределение для игры (азартных игр) в [0,1), где она должна генерировать рандомы в среднем на 0,25. – vladon

+3

Но что такое модель чисел? Монеты бросают? Броски кубиков? Карты, рулетки или игровые автоматы, или что-то еще? Распределение выбрано на основе того, что вы пытаетесь описать, а не по среднему значению и дисперсии. – Useless

ответ

2

Вы можете центрировать оба дистрибутива в точке, которая соответствует вашим потребностям.

Но если M мало, то распределение Пуассона имеет «жирный хвост», то есть вероятность получить число выше M выше по сравнению с нормальным распределением.

В нормальном случае вы можете управлять этим шансом с помощью параметра дисперсии (он может быть как можно меньше).

Другое, довольно очевидное отличие состоит в том, что Пуассон будет давать положительные целые числа, если нормальное распределение даст любое число в диапазоне [N,M].

Плюс, когда [N,M] достаточно велики, Пуассон сходится к нормальному распределению. Поэтому, даже если Пуассон является правильной моделью, нормальное приближение не будет таким неточным.

Имея это в виду, если цифры не моделируют процесс подсчета, я бы пошел на нормальный.

+0

Центрирование для получения желаемого значения работает только для симметричных распределений, и Пуассон может быть очень искажен. Также неверно ваше утверждение о сходимости Пуассона к нормальному. Пуассоны не выражены в терминах диапазона, они имеют один параметр лямбда, который является как средним, так и дисперсионным. Если лямбда близко (в пределах лямбда) нижней границы диапазона, результат не будет выглядеть вообще как обычный, независимо от размера выборки. – pjs

+0

Я имел в виду, что в обоих случаях он мог выбрать параметр, чтобы сделать среднюю цифру, которую он хотел. В случае Пуассона лямбда, как вы говорите. Что касается сходимости, я предположил, что N

+0

Почему диапазон должен быть бесконечным? – pjs

-2

Я предпочитаю нормальное распределение, потому что оно ближе к проблемам реальной жизни, в то время как распределение Пуассона используется только для особых случаев. Выбор N.D делает вашу проблему более общей.

+0

Это необоснованное и неточное утверждение. Как вы могли бы выбрать один дистрибутив и утверждать, что он точно представляет «проблемы с реальной жизнью». Распределения сильно различаются, поскольку системы реальной жизни также сильно различаются. Выбранный вами дистрибутив должен быть тщательно отображен с учетом вашего приложения. Не произвольно, потому что «я не знаю, это нечто общее, что я думаю». – CoryKramer

+0

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

+0

@MagedNasan «В качестве проблемы используется генерация случайных чисел ...» Какая глупость! Это утверждение применимо в равной степени к любому другому человеку, который может захотеть генерировать. – pjs

3

Ни один из вариантов не является отличным, если вам нужны результаты на ограниченном диапазоне. Нормальное распределение имеет бесконечные хвосты с обоих концов, распределение Пуассона имеет бесконечный верхний хвост. Как минимум, вам понадобится усеченная форма одного из них. Если вы не усекаетесь, обратите внимание, что нормаль всегда симметрична относительно своего значения, в то время как Пуассон может быть сильно искажен. Два распределения также отличаются тем, что нормаль непрерывна, Пуассон дискретен, хотя вы можете дискретировать непрерывные распределения, выбирая результаты.

Если вам нужен дискретный набор результатов в ограниченном диапазоне, вы можете попробовать масштабированный и сдвинутый binomial distribution.Биномальный с параметрами n и p подсчитывает, сколько «успехов» вы получаете из n испытаний, когда испытания независимы и все дают успех с вероятностью p. Сделайте n = M - N и сдвиньте результат на N, чтобы получить результаты в диапазоне [N, M].

Если вы хотите непрерывный диапазон исходов, рассмотрите beta distribution. Вы можете вымачивать параметры для получения широкого спектра форм распределения и набирать в среднем на том месте, где вы хотите, и масштабировать + переносить его в любой диапазон, который вы хотите.

1

Если вам нужно распределение, находящееся в радиусе действия (не бесконечное или полубесконечное, как нормальное или пуассоновское), но имеет ясный максимум, вы можете попробовать Irwin-Hall с несколькими степенями свободы. Скажем, IH (16) будет иметь минимум при 0, максимум на 16 и пика на 8 см http://en.wikipedia.org/wiki/Irwin%E2%80%93Hall_distribution

Очень легко попробовать, легко масштабировать, и вы могли бы играть с n, чтобы получить пик более широкий или узкий

 Смежные вопросы

  • Нет связанных вопросов^_^