Spec-Zone.ru › NumPy 1.10

numpy.random.multinomial

numpy.random.multinomial(n, pvals, size=None)

Выборка образцов из многочленного распределения.

Многочленное распределение — это многомерное обобщение биномиального распределения. Рассмотрим эксперимент с одним из p возможных исходов. Пример такого эксперимента — бросание игральной кости, где результат может быть от 1 до 6. Каждый образец, выбранный из распределения, представляет n таких экспериментов. Его значения, X_i = [X_0, X_1, ..., X_p], представляют количество раз, когда результат был i.

Параметры:

n : int

Количество экспериментов.

pvals : последовательность чисел с плавающей точкой, длина p

Вероятности каждого из p различных исходов. Они должны суммироваться до 1 (однако, предполагается, что последний элемент всегда учитывает оставшуюся вероятность, если sum(pvals[:-1]) <= 1)).

size : int или кортеж из целых чисел, необязательно

Форма выходных данных. Если заданная форма, например, (m, n, k), то m * n * k образцов выбираются. По умолчанию None, в этом случае возвращается одно значение.

Возвращает:

out : ndarray

Выбранные образцы, формы size, если она была предоставлена. Если нет, форма (N,).

Другими словами, каждый элемент out[i,j,...,:] представляет собой N-мерное значение, выбранное из распределения.

Примеры

Бросание игральной кости 20 раз:

>>> np.random.multinomial(20, [1/6.]*6, size=1)
array([[4, 1, 7, 5, 2, 1]])

Она 4 раза выпала на 1, 1 раз на 2 и т. д.

Теперь бросим игральную кость 20 раз и ещё 20 раз:

>>> np.random.multinomial(20, [1/6.]*6, size=2)
array([[3, 4, 3, 3, 4, 3],
       [2, 4, 3, 4, 0, 7]])

В первом случае мы 3 раза получили 1, 4 раза 2 и т. д. Во втором случае 2 раза 1, 4 раза 2 и т. д.

Нагруженная игральная кость с большей вероятностью выпадет на 6:

>>> np.random.multinomial(100, [1/7.]*5)
array([13, 16, 13, 16, 42])

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.random.multinomial.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API