在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()函数,即可生成二项分布的随机变量。
