This previous SO question涉及将统一分布转换为正态分布。
对于蒙特卡洛模拟,不仅需要正态(高斯),还需要一些计算有效的方法,可以使用给定的"fat-tailed"或heavy-tailed分布生成大量样本(64位或双精度)统一RNG作为输入。这些分布的示例包括:对数正态,帕累托,Student-T和柯西。
使用逆CDF是可以接受的,因为需要根据计算效率来计算逆CDF。
该标记用于与语言无关的算法,但是所需的实现用于基本过程编程语言(C,Basic,过程Swift,Python等)。
答案 0 :(得分:0)
柯西随机数可以表示为:
scale * tan(pi * (RNDU01OneExc()-0.5)) + mu
RNDU01OneExc()
是[0,1)中的随机数,mu
和scale
分别是偏移量和小数位数。
对数正态随机数可以表示为exp(Normal(mu, sigma))
,其中Normal(mu, sigma)
是具有均值mu
和标准差sigma
的正态分布随机数。
my article中提到了有关随机数生成和采样的这些分布和其他类型的分布。