numpy.random.pareto¶
-
numpy.random.
pareto
(a, size=None)¶ 从指定形状的Pareto II或Lomax分布中提取样品。
Lomax或Pareto II分布是一个移位的Pareto分布。经典的帕累托分布可以从lomax分布中通过加1和乘以尺度参数得到。
m
(见注释)。Lomax分布的最小值是零,而对于经典的Pareto分布,它是零。mu
,其中标准帕累托分布有位置mu = 1
. Lomax也可以被视为广义帕累托分布的简化版本(在Scipy中可用),比例设置为1,位置设置为零。帕累托分布必须大于零,并且在上面是无界的。它也被称为“80-20法则”。在这个分布中,80%的权重在最小的20%范围内,而其他20%则填充剩余的80%范围。
参数: - a : 浮点数或类似浮点数的数组
分布的形状。应大于零。
- size : int或int的元组,可选
输出形状。如果给定的形状是,例如,
(m, n, k)
然后m * n * k
取样。如果尺寸是None
(默认),如果a
是标量。否则,np.array(a).size
取样。
返回: - out : ndarray或scalar
从参数化帕累托分布中提取样本。
参见
scipy.stats.lomax
- 概率密度函数、分布或累积密度函数等。
scipy.stats.genpareto
- 概率密度函数、分布或累积密度函数等。
笔记
帕累托分布的概率密度是
p(x)=frac am^a x ^ a+1
在哪里? a 是形状和 m 规模。
帕累托分布,以意大利经济学家维尔弗雷多·帕累托的名字命名,是一种适用于许多现实世界问题的幂律概率分布。在经济学领域之外,它通常被称为布拉德福德分布。帕累托发展了分布来描述经济中财富的分布。它还可以用于保险、网页访问统计、油田规模和许多其他问题,包括SourceForge项目的下载频率。 [1]. 它是所谓的“肥尾”分布之一。
工具书类
[1] (1, 2) Francis Hunt和Paul Johnson,关于SourceForge项目的帕累托分布。 [2] Pareto,V.(1896年)。政治经济学课程。洛桑。 [3] Reiss,R.D.,Thomas,M.(2001),《极值统计分析》,Birkhauser Verlag,巴塞尔,第23-30页。 [4] 维基百科,“帕累托分布”,https://en.wikipedia.org/wiki/pareto_distribution 实例
从分发中抽取样本:
>>> a, m = 3., 2. # shape and mode >>> s = (np.random.pareto(a, 1000) + 1) * m
显示样本的直方图,以及概率密度函数:
>>> import matplotlib.pyplot as plt >>> count, bins, _ = plt.hist(s, 100, density=True) >>> fit = a*m**a / bins**(a+1) >>> plt.plot(bins, max(count)*fit/max(fit), linewidth=2, color='r') >>> plt.show()