Numpy 以高值为中心的对数正态随机数

Numpy 以高值为中心的对数正态随机数,numpy,random,scipy,Numpy,Random,Scipy,我正在尝试使用numpy/scipy从对数正态分布创建随机数 平均值为2000,西格玛为800 如果我使用numpy.random.lognormal创建随机值(平均值=2000,西格玛=800,大小=10000) 我所得到的只是非常高或非常高的数字 有办法解决这个问题吗?小心:平均值和西格玛参数对应于对数正态分布的对数分布;分布的实际算术平均值为exp(平均值+sigma**2/2),当mean=2000和sigma=800时,其在标准双精度浮点中的计算结果为inf 看 和 更多详情。是否有一

我正在尝试使用numpy/scipy从对数正态分布创建随机数

平均值为2000,西格玛为800

如果我使用numpy.random.lognormal创建随机值(平均值=2000,西格玛=800,大小=10000) 我所得到的只是非常高或非常高的数字


有办法解决这个问题吗?

小心:
平均值
西格玛
参数对应于
对数正态分布的对数分布;分布的实际算术平均值为
exp(平均值+sigma**2/2)
,当
mean=2000
sigma=800
时,其在标准双精度浮点中的计算结果为
inf

看 和
更多详情。

是否有一种简单的方法将我的平均值和西格玛转换为所需的值?分布的对数平均值是已知的,但我需要基本正态分布的平均值。维基百科文章中有转换()。另见:www.stanford.edu/~bkravitz/research/lognormal.pdf(方程式(3)-(6)给出了转换)。@LukasMosser使用
numpy.random.lognormal(mean=np.log(2000),sigma=np.log(800),size=10000)
…或者可能是
np.log10
。我记不起来了math@PaulH:不,没那么简单。阅读我给出的公式链接。