Dies ist eine kombinierte Java und grundlegende mathematische Frage. Die Dokumentation von Random.nextGaussian() gibt an, dass sie aus einer Normalverteilung mit Mittelwert 0 und Standardabweichung 1 abtastet. Was wäre, wenn ich aus einer Normalverteilung mit einem anderen Mittelwert und einer anderen Varianz abtasten möchte?Kann Random.nextgaussian() Werte aus einer Verteilung mit unterschiedlichem Mittelwert und Standardabweichung abtasten?
Antwort
Die kurze Antwort ist
Random r = new Random();
double mySample = r.nextGaussian()*desiredStandardDeviation+desiredMean;
Zum Beispiel diese Antwort hier gegeben: http://www.javamex.com/tutorials/random_numbers/gaussian_distribution_2.shtml
Ich verstehe nicht wirklich, warum dies funktioniert, aber nach ein bisschen in sie suchen glaube ich es dachte, aus. Der Mittelwert des Abtastpunkts ist 0 und die Standardabweichung ist 1; Das bedeutet, dass das ursprüngliche Beispiel auch ein eigener Z-Score ist (https://en.wikipedia.org/wiki/Standard_score). Zitat aus Wikipedia "Der absolute Wert von z stellt den Abstand zwischen dem Rohwert und dem Mittelwert der Bevölkerung in Einheiten der Standardabweichung dar". Die Formel ist z = (x-Mittelwert)/stdev, also mit den Standardwerten z = x. Wenn wir den z-Wert für die Stichprobe beibehalten möchten, aber den Mittelwert und stdev ändern, was würden wir tun?
z * stdev + Mittelwert = x 'wobei z = x und x' die Stichprobe aus der Verteilung mit dem gewünschten Mittelwert und der Standardabweichung darstellt.
Möchten Sie jemanden bestätigen, dass dies korrekt ist? Wenn ja, kann ich bestätigen, dass es ist. –
danke pbabcdef! Ich poste es als allgemeine Antwort für den Fall, dass jemand für diese Frage googelt. – darkhipo