📅  最后修改于: 2023-12-03 15:34:09.129000             🧑  作者: Mango
在统计学中,均匀离散分布通常被用于模拟离散事件的概率分布。离散均匀分布是一个离散型的概率分布,在一个有限的样本空间中,每个样本出现的概率是相等的。本文将介绍如何使用Python生成均匀离散分布。
假设有一个样本空间 $x$,它包括 $n$ 个可能的取值,每个取值的概率均相等,即 $x_i$ 取任何一个值的概率均为 $\frac{1}{n}$。则我们称 $x$ 服从离散均匀分布。
离散均匀分布的概率分布函数如下:
$$P(X = x_i) = \frac{1}{n}$$
其中 $x_i\in {x_1, x_2, ...,x_n}$ 。
我们可以使用numpy
来实现离散均匀分布的随机数生成。下面是一个简单的例子。
import numpy as np
# 定义样本空间
n = 10
x = np.arange(n)
# 定义概率分布
p = np.ones(n) / n
# 生成随机数
random_samples = np.random.choice(x, size=10000, p=p)
# 统计每个样本出现的频数
unique, counts = np.unique(random_samples, return_counts=True)
# 输出每个样本出现的频率
for i in range(n):
print(f"样本 {i} 出现的频率为 {counts[i]/10000}")
在上面的代码中,首先我们定义了一个有 $10$ 个元素的样本空间 $x$,然后我们设置了每个样本出现的概率均等。
接着,我们使用 numpy.random.choice
函数来生成 $10000$ 个随机样本,其中要求每个样本出现的概率均等。
最后,我们使用 numpy.unique
函数统计每个样本出现的频数,并输出每个样本出现的频率,可以看到,每个样本出现的频率非常接近 $\frac{1}{n}$。这证明了我们生成的随机数符合均匀分布的要求。
到此,我们已经介绍了离散均匀分布的定义和如何用Python生成随机数。对于这种分布的应用场景,包括随机抽样、数据加密等领域。