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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...