【发布时间】:2017-11-26 03:24:04
【问题描述】:
我试图在 numpy 中找到一个函数,它给出了在给定初始二项式概率分布的情况下观察序列的概率。
例如,如果序列是 [H, T, H, T, H, T, H, T] 并且 H 都有 0.5 的概率,是否有一个函数可以给出观察到这些 H 计数的低概率和 T(顺序无关紧要)?
我试图按照 numpy 文档中的示例进行操作,但我下面的代码给出的概率非常低(5.8%),而它应该接近 50%: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.random.binomial.html#numpy.random.binomial
import numpy as np
p_H = 0.5
p_T = 1 - p_H
seq = ['H', 'T', 'H', 'T', 'H', 'T', 'H', 'T']
num_H = seq.count('H')
p_obs = sum(np.random.binomial(num_H, p_H, 1000)==num_H)/1000
print('Probability of observing', num_H, 'H:',p_obs)
我想我遗漏了一些明显的东西,但我似乎无法弄清楚。谢谢!
【问题讨论】:
-
句子“...和 H 都有 0.5 的概率,是否有函数可以降低观察的概率...”? “低概率”是什么意思?问题不清楚。
标签: python numpy statistics