Гипергеометрическое распределение

Гипергеометрическое распределение позволяет моделировать количество успехов при выборке из конечной совокупности без возвращения. В общем, если случайная величина X соответствует гипергеометрическому распределению, то вероятность получения ровно k успехов в выборке, содержащей n элементов, определяется формулой:

Где:

Для генерирования случайных чисел применяется алгоритм (описанный Fishman, 1978), основанный на методе обратного преобразования. В основе алгоритма лежит рекурсивная формула:

Начинающаяся с:

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

  1. Если n < N - m, то принимается:

xi = 0

В противном случае:

xi = n – N + m

  1. Генерируется псевдослучайное число ui ~ U(0, 1) из непрерывного равномерного распределения на отрезке (0, 1), при этом i = 1 … ns.

  2. Если ui ≤ p, то возвращается значение xi. Иначе повторяется выполнение следующих трех действий до тех пор, пока не выполнится условие ui ≤ p:

xi = xi + 1

ui = ui – p

после чего также возвращается значение xi.

Операции 2 и 3 выполняются ns раз, каждое возвращенное значение x представляет один элемент искомой выборки.

См. также:

ISmHyperGeometricDistribution | IStatistics.HypGeomDist | Библиотека методов и моделей