这是
Java和基本数学问题的组合.来自Random.nextGaussian()的文档说明它从平均值0和标准差1的正态分布中进行采样.如果我想从具有不同平均值和方差的正态分布中采样?
解决方法
简短的答案是
Random r = new Random(); double mySample = r.nextGaussian()*desiredStandardDeviation+desiredMean;
例如这个答案在这里给出:http://www.javamex.com/tutorials/random_numbers/gaussian_distribution_2.shtml
我真的不明白为什么这个工作,但是看了一下,我想我想出来了.采样点的平均值为0,标准偏差为1;这意味着原始样本也是自己的z分数(https://en.wikipedia.org/wiki/Standard_score).引自维基百科“z的绝对值代表原始得分与总体平均值之间的距离,单位为标准差”.公式为z =(x-mean)/ stdev,因此默认值z = x.如果我们想保留样本的z分数,但是改变平均值和stdev我们该怎么办?
z * stdev mean = x’其中z = x,x’表示具有所需平均值和标准偏差的分布的样本.
原文地址:https://www.jb51.cc/java/124902.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。