小编典典

生成非均匀随机数

python

您能告诉我任何生成非均匀随机数的方法吗?
我正在使用Java,但是代码示例可以随心所欲。

一种方法是通过将两个统一的随机数加在一起(即滚动2个骰子)来创建歪斜分布。


阅读 194

收藏
2020-12-20

共1个答案

小编典典

您想要什么分布的偏差?

这是一种始终有效的技术,但并不总是最有效的。累积扰动函数P(x)给出值低于x的时间的分数。因此,在x的最小可能值处P(x)= 0,在x的最大可能值处P(x)= 1。每个分布都有一个唯一的CDF,该CDF以P(x)从0上升到1的方式编码变形的所有属性。如果y在间隔[0,1]上是均匀偏差,则x满足P(x )= y将根据您的分布情况而分配。为了使这项工作对等,您只需要一种计算分布的P(x)倒数的方法。

所述Meta.Numerics库定义了大量的常用distrubtions的(例如正常的,对数正态的,指数的,卡方等),并具有用于计算每个的CDF(Distribution.LeftProbability)和逆CDF(Distribution.InverseLeftProbability)函数。

2020-12-20