首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将均匀分布转换为厚尾分布

将均匀分布转换为厚尾分布
EN

Stack Overflow用户
提问于 2018-12-30 03:25:04
回答 1查看 508关注 0票数 1

This previous SO question考虑将均匀分布转换为正态分布。

对于蒙特卡罗模拟,我不仅需要正态(高斯),而且需要一些计算高效的方法来从"fat-tailed"heavy-tailed分布生成大量样本,使用给定的(64位或双精度)均匀RNG作为输入。这些分布的例子包括:对数正态分布、帕累托分布、学生分布和柯西分布。

使用逆CDF是可以接受的,给出了根据需要计算逆CDF的计算效率的方法。

该标记用于独立于语言的算法,但所需的实现是用于基本的过程化编程语言(C、Basic、过程化Swift、Python、et.al。)

EN

回答 1

Stack Overflow用户

发布于 2018-12-30 05:36:16

柯西随机数可以表示为:

代码语言:javascript
复制
scale * tan(pi * (RNDU01OneExc()-0.5)) + mu

其中RNDU01OneExc()是[0,1]中的随机数,muscale分别是偏移量和比例。

对数正态随机数可以表示为exp(Normal(mu, sigma)),其中Normal(mu, sigma)是具有平均mu和标准差sigma的正态分布随机数。

关于随机数生成和采样的my article中提到了这些分布和其他类型的分布。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53972701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档