📜  Python – 统计中的均匀离散分布(1)

📅  最后修改于: 2023-12-03 15:34:09.129000             🧑  作者: Mango

Python – 统计中的均匀离散分布

在统计学中,均匀离散分布通常被用于模拟离散事件的概率分布。离散均匀分布是一个离散型的概率分布,在一个有限的样本空间中,每个样本出现的概率是相等的。本文将介绍如何使用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}$ 。

Python实现

我们可以使用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生成随机数。对于这种分布的应用场景,包括随机抽样、数据加密等领域。