本文簡要介紹 python 語言中 scipy.stats.multinomial
的用法。
用法:
scipy.stats.multinomial = <scipy.stats._multivariate.multinomial_gen object>#
多項式隨機變量。
- n: int
試驗次數
- p: array_like
試驗屬於每個類別的概率;總和應為 1
- seed: {無,int,np.random.RandomState,np.random.Generator},可選
用於繪製隨機變量。如果種子是None, 這RandomState使用單例。如果種子是一個 int,一個新的
RandomState
使用實例,用種子播種。如果種子已經是一個RandomState
或者Generator
實例,然後使用該對象。默認為None.
參數 ::
注意:
n應該是一個非負整數。的每個元素p應該在區間
並且元素的總和應為 1。如果它們的總和不為 1,則p不使用數組,並用較早元素留下的剩餘概率替換。multinomial
的概率質量函數為在 上受支持,其中每個 是一個非負整數,它們的總和是 。
例子:
>>> from scipy.stats import multinomial >>> rv = multinomial(8, [0.3, 0.2, 0.5]) >>> rv.pmf([1, 3, 4]) 0.042000000000000072
的多項分布與相應的二項分布相同(盡管存在微小的數值差異):
>>> from scipy.stats import binom >>> multinomial.pmf([3, 4], n=7, p=[0.4, 0.6]) 0.29030399999999973 >>> binom.pmf(3, 7, 0.4) 0.29030400000000012
函數
pmf
、logpmf
、entropy
和cov
支持廣播,按照約定將向量參數(x
和p
)解釋為好像沿最後一個軸的每一行都是單個目的。例如:>>> multinomial.pmf([[3, 4], [3, 5]], n=[7, 8], p=[.3, .7]) array([0.2268945, 0.25412184])
在這裏,
x.shape == (2, 2)
、n.shape == (2,)
和p.shape == (2,)
,但遵循上述規則,它們的行為就像x
和p
中的[3, 4]
和[3, 5]
行和p
中的[.3, .7]
行是單個對象,就好像我們有x.shape = (2,)
、n.shape = (2,)
和p.shape = ()
。要在不廣播的情況下獲取單個元素,我們會這樣做:>>> multinomial.pmf([3, 4], n=7, p=[.3, .7]) 0.2268945 >>> multinomial.pmf([3, 5], 8, p=[.3, .7]) 0.25412184
此廣播也適用於
cov
,其中輸出對象是大小為p.shape[-1]
的方陣。例如:>>> multinomial.cov([4, 5], [[.3, .7], [.4, .6]]) array([[[ 0.84, -0.84], [-0.84, 0.84]], [[ 1.2 , -1.2 ], [-1.2 , 1.2 ]]])
在此示例中,
n.shape == (2,)
和p.shape == (2, 2)
並遵循上述規則,這些廣播就像p.shape == (2,)
一樣。因此結果也應該是形狀(2,)
,但是由於每個輸出都是一個 矩陣,因此結果實際上具有形狀(2, 2, 2)
,其中result[0]
等於multinomial.cov(n=4, p=[.3, .7])
並且result[1]
等於multinomial.cov(n=5, p=[.4, .6])
。或者,可以調用該對象(作為函數)來修複 n 和 p 參數,返回 “frozen” 多項式隨機變量:
>>> rv = multinomial(n=7, p=[.3, .7]) >>> # Frozen object with the same methods but holding the given >>> # degrees of freedom and scale fixed.
相關用法
- Python SciPy stats.multiscale_graphcorr用法及代碼示例
- Python SciPy stats.multivariate_normal用法及代碼示例
- Python SciPy stats.multivariate_hypergeom用法及代碼示例
- Python SciPy stats.multivariate_t用法及代碼示例
- Python SciPy stats.median_abs_deviation用法及代碼示例
- Python SciPy stats.mode用法及代碼示例
- Python SciPy stats.monte_carlo_test用法及代碼示例
- Python SciPy stats.matrix_normal用法及代碼示例
- Python SciPy stats.mood用法及代碼示例
- Python SciPy stats.moyal用法及代碼示例
- Python SciPy stats.maxwell用法及代碼示例
- Python SciPy stats.mvsdist用法及代碼示例
- Python SciPy stats.moment用法及代碼示例
- Python SciPy stats.mielke用法及代碼示例
- Python SciPy stats.median_absolute_deviation用法及代碼示例
- Python SciPy stats.median_test用法及代碼示例
- Python SciPy stats.mannwhitneyu用法及代碼示例
- Python SciPy stats.anderson用法及代碼示例
- Python SciPy stats.iqr用法及代碼示例
- Python SciPy stats.genpareto用法及代碼示例
- Python SciPy stats.skewnorm用法及代碼示例
- Python SciPy stats.cosine用法及代碼示例
- Python SciPy stats.norminvgauss用法及代碼示例
- Python SciPy stats.directional_stats用法及代碼示例
- Python SciPy stats.invwishart用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.multinomial。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。