问题描述
是否存在用于多变量超几何分布(包括计算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
生成