这段代码使用NumPy库中的random.exponential()
函数生成了一个包含1000个随机数的数组,这些随机数服从指数分布。
详细解释:
-
np.random.exponential()
:- 这是NumPy中用于生成指数分布随机数的函数。
- 指数分布常用于描述事件之间的时间间隔(如泊松过程中的事件间隔)。
-
参数说明:
size=1000
: 指定输出数组的形状为1000个元素(即生成1000个随机数)。- 默认情况下,
scale=1.0
(即参数β=1,也称为率参数λ=1时的指数分布)。
-
数学背景:
- 指数分布的概率密度函数为:
( f(x) = \lambda e^{-\lambda x} ) (当 ( x \geq 0 ) )
其中默认scale=1/λ=1
,即λ=1。 - 均值为 ( \frac{1}{\lambda} = 1 ),方差为 ( \frac{1}{\lambda^2} = 1 )。
- 指数分布的概率密度函数为:
-
输出结果:
- 返回一个形如
array([x1, x2, ..., x1000])
的数组,其中每个 ( x_i ) 是从指数分布中抽取的随机样本。
- 返回一个形如
示例:
import numpy as np
# 生成1000个指数分布随机数
data = np.random.exponential(size=1000)
# 打印前5个值
print(data[:5])
# 输出可能类似:[0.12, 1.45, 0.68, 2.91, 0.03]
可选参数:
如果想调整分布的尺度(即均值),可以指定 scale
参数:
# 生成均值为2.0(λ=0.5)的指数分布样本
data = np.random.exponential(scale=2.0, size=1000)
可视化(可选):
可以通过直方图观察生成的分布:
import matplotlib.pyplot as plt
plt.hist(data, bins=50, density=True)
plt.title("Exponential Distribution (λ=1)")
plt.show()
这段代码常用于模拟等待时间、金融模型或可靠性分析等场景。