Il s'agit d'un Java et question mathématique de base combinée. La documentation de Random.nextGaussian () indique qu'il échantillonne à partir d'une distribution normale avec la moyenne 0 et l'écart-type 1. Et si je voulais échantillonner à partir de une distribution normale avec une moyenne et une variance différentes?
La réponse courte est
Random r = new Random();
double mySample = r.nextGaussian()*desiredStandardDeviation+desiredMean;
Par exemple, cette réponse est donnée ici: http://www.javamex.com/tutorials/random_numbers/gaussian_distribution_2.shtml
Je ne comprenais pas vraiment pourquoi cela fonctionnait, mais après y avoir réfléchi un peu, je pense l'avoir compris. La moyenne du point d'échantillonnage est 0 et l'écart-type est 1; cela signifie que l'échantillon d'origine est également son propre score z ( https://en.wikipedia.org/wiki/Standard_score ). Pour citer wikipedia "La valeur absolue de z représente la distance entre le score brut et la moyenne de la population en unités de l'écart type". La formule est z = (x-mean)/stdev, donc avec les valeurs par défaut z = x. Si nous voulions conserver le score z pour l'échantillon mais changer la moyenne et stdev que ferions-nous?
z * stdev + mean = x 'où z = x et x' représente l'échantillon de la distribution avec la moyenne et l'écart type souhaités.