本文簡要介紹 python 語言中 numpy.random.multinomial
的用法。
用法:
random.multinomial(n, pvals, size=None)
從多項分布中抽取樣本。
多項分布是二項分布的多元推廣。使用其中之一進行實驗
p
可能的結果。此類實驗的一個示例是擲骰子,其結果可以是 1 到 6。從分布中抽取的每個樣本代表n這樣的實驗。它的值,X_i = [X_0, X_1, ..., X_p]
, 代表結果出現的次數i
.注意
新代碼應改為使用
default_rng()
實例的multinomial
方法;請參閱快速入門。- n: int
實驗次數。
- pvals: 浮點數序列,長度 p
每個
p
不同結果的概率。這些總和必須為 1(但是,始終假定最後一個元素解釋剩餘概率,隻要sum(pvals[:-1]) <= 1)
。- size: int 或整數元組,可選
輸出形狀。例如,如果給定的形狀是
(m, n, k)
,則繪製m * n * k
樣本。默認為無,在這種情況下返回單個值。
- out: ndarray
繪製的樣本,形狀尺寸,如果提供的話。如果不是,形狀是
(N,)
.換句話說,每個條目
out[i,j,...,:]
是從分布中提取的 N 維值。
參數:
返回:
例子:
擲骰子 20 次:
>>> np.random.multinomial(20, [1/6.]*6, size=1) array([[4, 1, 7, 5, 2, 1]]) # random
它在 1 上降落 4 次,在 2 上降落一次,依此類推。
現在,擲骰子 20 次,再擲 20 次:
>>> np.random.multinomial(20, [1/6.]*6, size=2) array([[3, 4, 3, 3, 4, 3], # random [2, 4, 3, 4, 0, 7]])
第一次運行時,我們投擲了 3 次 1、4 次 2 等。第二次,我們投擲了 2 次 1、4 次 2 等。
裝滿骰子的骰子更有可能落在 6 號上:
>>> np.random.multinomial(100, [1/7.]*5 + [2/7.]) array([11, 16, 14, 17, 16, 26]) # random
概率輸入應該歸一化。作為一個實現細節,最後一個條目的值被忽略並假定占據任何剩餘的概率質量,但這不應該被依賴。一個有偏差的硬幣,其一側的重量是另一側的兩倍,應該像這樣采樣:
>>> np.random.multinomial(100, [1.0 / 3, 2.0 / 3]) # RIGHT array([38, 62]) # random
不喜歡:
>>> np.random.multinomial(100, [1.0, 2.0]) # WRONG Traceback (most recent call last): ValueError: pvals < 0, pvals > 1 or pvals contains NaNs
相關用法
- Python numpy random.multivariate_normal用法及代碼示例
- Python numpy random.mtrand.RandomState.wald用法及代碼示例
- Python numpy random.mtrand.RandomState.multivariate_normal用法及代碼示例
- Python numpy random.mtrand.RandomState.gumbel用法及代碼示例
- Python numpy random.mtrand.RandomState.multinomial用法及代碼示例
- Python numpy random.mtrand.RandomState.logistic用法及代碼示例
- Python numpy random.mtrand.RandomState.shuffle用法及代碼示例
- Python numpy random.mtrand.RandomState.poisson用法及代碼示例
- Python numpy random.mtrand.RandomState.seed用法及代碼示例
- Python numpy random.mtrand.RandomState.triangular用法及代碼示例
- Python numpy random.mtrand.RandomState.weibull用法及代碼示例
- Python numpy random.mtrand.RandomState.rand用法及代碼示例
- Python numpy random.mtrand.RandomState.power用法及代碼示例
- Python numpy random.mtrand.RandomState.randint用法及代碼示例
- Python numpy random.mtrand.RandomState.choice用法及代碼示例
- Python numpy random.mtrand.RandomState.laplace用法及代碼示例
- Python numpy random.mtrand.RandomState.standard_gamma用法及代碼示例
- Python numpy random.mtrand.RandomState.permutation用法及代碼示例
- Python numpy random.mtrand.RandomState.bytes用法及代碼示例
- Python numpy random.mtrand.RandomState.noncentral_f用法及代碼示例
- Python numpy random.mtrand.RandomState.rayleigh用法及代碼示例
- Python numpy random.mtrand.RandomState.standard_t用法及代碼示例
- Python numpy random.mtrand.RandomState.geometric用法及代碼示例
- Python numpy random.mtrand.RandomState.dirichlet用法及代碼示例
- Python numpy random.mtrand.RandomState.uniform用法及代碼示例
注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.random.multinomial。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。