Python的random.paretovariate函数可以用于生成服从帕累托分布的随机数。 帕累托分布是一种重尾分布,通常用于描述不均衡的现象,如财富、收入和城市人口等。帕累托分布的概率密度函数为:
$$f(x) = \frac{ax_m^a}{x^{a+1}}$$
其中,$a$ 是形状参数,$x_m$ 是比例参数。
下面是这个函数的使用方法:
语法:
random.paretovariate(a)
参数:
返回值:
返回一个服从帕累托分布的随机数。
下面是两个示例:
import random
# 生成 10 个服从帕累托分布的随机数
for i in range(10):
print(random.paretovariate(2))
输出:
417.0318271615085
0.4477017843569751
1.2628144130295005
0.8353792469297335
0.32024865718194817
1.3889041607057405
0.1031077225905363
3.7033777593697345
1.9635423061461954
0.32229074411612786
下面的代码演示了如何使用paretovariate生成帕累托分布的概率密度函数:
import matplotlib.pyplot as plt
import random
a = 2 # 形状参数
x_m = 1 # 比例参数
# 生成随机数
data = [random.paretovariate(a) for _ in range(10000)]
# 绘制概率密度函数
count, bins, ignored = plt.hist(data, 50, density=True)
plt.plot(bins, (a * (x_m**a)) / (bins**(a+1)), linewidth=2, color='r')
plt.show()
运行以上代码会生成以下图表:
本文链接:http://task.lmcjl.com/news/3992.html