2015-07-31 3 views
11

Это комбинированный Java и основной математический вопрос. Документация из Random.nextGaussian() указывает, что она отображает из нормального распределения со средним значением 0 и стандартным отклонением 1. Что делать, если я хотел бы попробовать из обычного распределения с другим средним значением и дисперсией?Может ли случайное значение.нестекаев() выборки из распределения с разным средним и стандартным отклонением?

ответ

30

Короткий ответ

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' представляет образец из распределения с желаемым средним и стандартным отклонением.

+4

Вы хотите, чтобы кто-то подтвердил, что это правильно? Если это так, я могу подтвердить, что это так. –

+3

спасибо pbabcdef! Я отправляю его в качестве общего ответа в случае, если кто-то пойдет по этому вопросу. – darkhipo