欢迎访问宙启技术站
智能推送

在Python中使用rvs()函数生成超几何分布的随机变量

发布时间:2024-01-18 08:42:28

在Python中,可以使用numpy.random.hypergeometric()函数来生成超几何分布的随机变量。该函数的语法如下:

numpy.random.hypergeometric(ngood, nbad, nsample, size=None)

参数说明:

- ngood:表示总体中具有成功属性的元素数量。

- nbad:表示总体中不具有成功属性的元素数量。

- nsample:表示从总体中抽取的样本数量。

- size(可选):表示生成的随机变量的数量。

下面是一个使用例子,其中我们假设有一个总体具有10个成功元素和10个失败元素,需要从中随机抽取5个样本,生成1000个随机变量。

import numpy as np

# 设置参数
ngood = 10  # 成功元素数量
nbad = 10  # 失败元素数量
nsample = 5  # 抽取样本数量
size = 1000  # 生成随机变量的数量

# 生成超几何分布的随机变量
data = np.random.hypergeometric(ngood, nbad, nsample, size)

# 打印前10个随机变量
print(data[:10])

运行以上代码,将会生成一个由1000个超几何分布的随机变量组成的数据集,然后输出前10个随机变量的值。

超几何分布是描述有限总体中成功元素数量的分布,适用于样本不放回的情况。它与二项分布类似,不同之处在于二项分布适用于样本有放回的情况。例如,如果我们将上述代码中的hypergeometric()函数替换为binomial()函数,即可生成二项分布的随机变量。