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

4

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

平均值为2000,标准差为800。

如果我使用numpy.random.lognormal(mean=2000, sigma=800, size=10000)创建我的随机值,我得到的只有非常高的或无穷大的数字。

有没有办法解决这个问题?

1个回答

6

1
有没有简单的方法将我的均值和标准差转换为所需的值? - Lukas Mosser
分布的对数平均已知,但我需要基础正态分布的平均值。 - Lukas Mosser
2
维基百科文章中有转换公式(http://en.wikipedia.org/wiki/Log-normal_distribution#Arithmetic_moments)。另请参阅:www.stanford.edu/~bkravitz/research/lognormal.pdf(方程式(3)-(6)给出了转换公式)。 - Warren Weckesser
@LukasMosser 使用 numpy.random.lognormal(mean=np.log(2000),sigma=np.log(800),size=10000)... 或者可能是 np.log10。记不清数学了。 - Paul H
1
@Paul H:不,这并不简单。请阅读我提供的公式链接。 - Warren Weckesser
也许应该有一个函数来为我们完成这个任务? :| - endolith

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接