我想計算由預定的x(成功),n(試驗)和p(概率)的二項分佈給出的概率 - 後者由概率質量函數Beta (A,b)。Python中的Beta二項式函數
我知道scipy.stats.binom.pmf(x,n,p)
- 但我不確定如何用概率函數替換p。我也想知道我是否可以使用的參數loc
來模擬這種行爲。
我想計算由預定的x(成功),n(試驗)和p(概率)的二項分佈給出的概率 - 後者由概率質量函數Beta (A,b)。Python中的Beta二項式函數
我知道scipy.stats.binom.pmf(x,n,p)
- 但我不確定如何用概率函數替換p。我也想知道我是否可以使用的參數loc
來模擬這種行爲。
Wiki says該化合物分佈函數由
f(k|n,a,b) = comb(n,k) * B(k+a, n-k+b)/B(a,b)
其中B是β函數,a和b是原始貝塔參數和n是二項式一個給定的。 k這裏是你的x和p消失,因爲你整合了p的值來獲得這個(卷積)。 也就是說,你不會在scipy中找到它,但它是一個提供了the beta function from scipy的單行提供。
如果您的n
(總#次試用)和x
(#成功)的值很大,則計算Beta二項式概率的更穩定方法是使用日誌。使用β-二項式分佈函數的gamma function expansion,所需概率的自然對數是:
ln(answer) = gammaln(n+1) + gammaln(x+a) + gammaln(n-x+b) + gammaln(a+b) - \
(gammaln(x+1) + gammaln(n-x+1) + gammaln(a) + gammaln(b) + gammaln(n+a+b))
其中gammaln
是自然對數伽瑪功能,在scipy.special
給出。
(BTW:該loc
說法只是轉移向左或向右分佈,這是不是你想要的這裏。)
的選擇應該返回一個整數(我想是這樣,但['numpy.choose'] (http://docs.scipy.org/doc/numpy/reference/generated/numpy.choose.html)似乎返回一個數組)。 – TheChymera 2014-11-15 01:18:21
是的,選擇是一個組合,看看那裏:http://en.wikipedia.org/wiki/Combination – JulienD 2014-11-15 18:32:28
好吧,所以也許你的意思是[梳子](http://docs.scipy.org/doc/scipy- 0.14.0/reference/generated/scipy.misc.comb.html),而不是[選擇](http://docs.scipy.org/doc/numpy/reference/generated/numpy.choose.html)?我有權使用['scipy.misc.comb'](http://docs.scipy.org/doc/numpy/reference/generated/numpy.choose.html)嗎? – TheChymera 2014-11-15 19:18:25