如果我想要一组平均值为10且标准差为5的数据,作为示例。我可以使用以下公式以正态分布计算它:
NORMINV(RAND(), Mean, Stdev)
NORMINV(RAND(), 10, 5)
这给出了从大约-5到25的数字,其频率分布看起来很正常,大多数值以均值为中心。
我如何获得一组类似的数字,但是它们遵循对数正态分布,其中数字较大且不可能低于零的概率?
我想在没有插件的情况下使用Excel来做到这一点。
我试过了:
LOGINV(RAND(), Mean, Stdev)
LOGINV(RAND(), 10, 5)
..但这给了我非常大的数字(以20的力量等)看起来毫无意义。
答案 0 :(得分:8)
对数正态是e ^ N(m,s)。所以,使用你的构造正常的答案将是
=EXP( NORMINV(RAND(),Mean,Stdev) )
然而,这会给你非常大的价值。下一步是缩放平均值和标准差。在伪代码中,
scaled mean = ln( m^2 / sqrt( m^2 + s^2 ))
scaled sd = sqrt( ln(( m^2 + s^2 ) / m^2 ))