Python 中的多元超几何分布
Multivariate Hypergeometric Distribution in Python
是否有用于多元超几何分布(包括计算 CDF)的 python 包?
我希望从 scipy 中找到一个,但没有找到。
我正在考虑对超几何分布使用二项式近似,然后依赖 scipy 支持的多项式分布。
您认为这是一个好的方法吗?
multivar-hypergeom
的一般用法
使用 multivar-hypergeom
,使用 pip install multivar-hypergeom
轻松安装。
multivar-hypergeom
CDF
测试中的示例用法:
# CDF method tests
@given(st.lists(st.integers(min_value=1, max_value=10000), min_size=2, max_size=10))
@settings(max_examples=100, deadline=5000)
def test_cdf_summing_to_1(xs):
dist = MultivarHypergeom(xs)
assert 1 - 1e-10 < list(dist.cdf())[-1] < 1 + 1e10
for i in range(sum(xs)):
dist.sample1()
assert 1 - 1e-10 < list(dist.cdf())[-1] < 1 + 1e10
一代
使用 NumPy 的 Generator.multivariate_hypergeometric
是否有用于多元超几何分布(包括计算 CDF)的 python 包?
我希望从 scipy 中找到一个,但没有找到。
我正在考虑对超几何分布使用二项式近似,然后依赖 scipy 支持的多项式分布。 您认为这是一个好的方法吗?
multivar-hypergeom
使用 multivar-hypergeom
,使用 pip install multivar-hypergeom
轻松安装。
multivar-hypergeom
CDF
测试中的示例用法:
# CDF method tests
@given(st.lists(st.integers(min_value=1, max_value=10000), min_size=2, max_size=10))
@settings(max_examples=100, deadline=5000)
def test_cdf_summing_to_1(xs):
dist = MultivarHypergeom(xs)
assert 1 - 1e-10 < list(dist.cdf())[-1] < 1 + 1e10
for i in range(sum(xs)):
dist.sample1()
assert 1 - 1e-10 < list(dist.cdf())[-1] < 1 + 1e10
一代
使用 NumPy 的 Generator.multivariate_hypergeometric