Это комбинированный Java и основной математический вопрос. Документация из Random.nextGaussian() указывает, что она отображает из нормального распределения со средним значением 0 и стандартным отклонением 1. Что делать, если я хотел бы попробовать из обычного распределения с другим средним значением и дисперсией?
Может ли Random.nextgussian() выбирать значения из распределения с разным средним и стандартным отклонением?
Ответ 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' представляет образец из распределения с желаемым средним и стандартным отклонением.