當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy stats.multinomial用法及代碼示例


本文簡要介紹 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應該在區間\([0,1]\) 並且元素的總和應為 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

函數 pmflogpmfentropycov 支持廣播,按照約定將向量參數( xp )解釋為好像沿最後一個軸的每一行都是單個目的。例如:

>>> 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,),但遵循上述規則,它們的行為就像 xp 中的 [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.

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.multinomial。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。