Random.nextgaussian() 可以从具有不同均值和标准差的分布中抽样值吗?
Can Random.nextgaussian() sample values from a distribution with different mean and standard deviation?
这是一道 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 )。引用自维基百科 "The absolute value of z represents the distance between the raw score and the population mean in units of the standard deviation"。公式为 z=(x-mean)/stdev,因此默认值 z=x。如果我们想保留样本的 z 分数但更改均值和标准差,我们会怎么做?
z*stdev + mean = x' 其中 z=x,x' 表示具有所需均值和标准差的分布样本。
这是一道 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 )。引用自维基百科 "The absolute value of z represents the distance between the raw score and the population mean in units of the standard deviation"。公式为 z=(x-mean)/stdev,因此默认值 z=x。如果我们想保留样本的 z 分数但更改均值和标准差,我们会怎么做?
z*stdev + mean = x' 其中 z=x,x' 表示具有所需均值和标准差的分布样本。