如何在Python中从对数正态分布中生成随机数
在概率论中,一个对数通常分布的随机变量的连续概率分布被称为对数正态(或对数正态)分布。
当且仅当对数(x)遵循正态分布时,才称一个变量x遵循对数正态分布。PDF的定义如下。
概率密度函数 对数正态
其中mu是人口平均值,sigma是变量的对数正态分布的标准差。就像正态分布是大量独立和相同分布的随机变量相加的表现,对数正态是大量独立和相同分布的随机变量相乘的结果。在NumPy库的帮助下,从对数正态分布中生成一个随机数非常容易。
语法:
参数:
- mean:它取的是基础正态分布的均值。
- sigma:它只对基础正态分布的标准差取非负值。
- size : 它接收一个int或一个给定形状的tuple。如果传递的是一个单一的值,它返回一个单一的整数作为结果。如果是一个元组,那么它返回一个对数正态分布的2D矩阵。
返回:从参数化对数正态分布中抽取的样本(nd数组或标量)。
下面的例子描述了如何从对数正态分布中生成随机数。
输出:
让我们用python来证明对数正态是随机变量的独立且相同的分布的乘积。在下面的程序中,我们要从正态分布中随机生成1000个点,然后取它们的乘积,最后绘制成对数正态分布。
输出: