Wha*_*sit 14 algorithm statistics normal-distribution gaussian poisson
有没有办法随机生成一组正数,使它们具有所需的均值和标准差?
我有一个算法来生成具有高斯分布的数字,但我不知道如何以保留均值和标准差的方式处理负数.
看起来泊松分布可能是一个很好的近似值,但它只需要一个均值.
编辑:回复中有一些混乱,所以我会试着澄清一下.
我有一组数字给出了平均值和标准差.我想生成一组大小相同的数字,具有相等的均值和标准差.通常情况下,我会使用高斯分布来执行此操作,但在这种情况下,我有一个额外的约束,所有值必须大于零.
我正在寻找的算法不需要是基于高斯的(从评论到目前为止判断,它可能不应该是)并且不需要是完美的.如果得到的数字集的平均值/标准偏差略有不同并不重要 - 我只想要一些通常会在球场上的东西.
首先,您不能仅从高斯分布生成正值.
其次,我是否正确理解您正在尝试生成具有给定均值和标准差的随机分布?任何发行版都可以吗?如果是这样,让mean = m
和standard deviation = s
.我在假设m - s > 0
.
let n = random integer modulo 2;
if n equals 0 return m - s
else return m + s
Run Code Online (Sandbox Code Playgroud)
此过程返回的值将具有均值m
和标准差s
.
您可能正在寻找对数正态分布,如David Norman建议的那样,或者可能是指数,二项式或其他分布.如果您有一个生成一个分布的算法,那么生成符合另一个分布的数字可能不太好.但只有你知道你的数字是如何分配的.
在正态分布下,随机变量的范围是从负无穷大到正无穷大,所以如果你只是寻找正数,那么它不是高斯数.
不同的分布也具有独特的属性,例如,泊松分布,标准偏差总是等于平均值.(这就是为什么你的库函数不会从标准偏差参数中询问,只是平均值).
在最坏的情况下,您可以生成0到1之间的随机实数,并自行计算概率密度函数.(根据分布情况,这说起来容易做起来难得多).
为什么不使用重采样方法?如果您的样本中有n个数字,则只需从样本中随机抽取n次,然后替换即可。结果集的预期均值和方差与原始样本大致相同,但是通常会略有不同。
这就是说,在不知道为什么需要更多随机数的情况下,无法说出正确的答案是什么。一个人想知道您是否正在尝试解决错误的问题...