Normalverteilung mit Random

  • Moin,
    Es ist nur eine sehr kleine Funktion, aber ab und zu taucht die Frage wieder auf: Wie kann man mit der BuildIn Random-Funktion eine halbwegs anständige Normalverteilung zustandebringen ?

    Der Trick ist, einfach mehrere (wir nehmen hier eine Gleichverteilung an) BuildIn-Randoms zu addieren und mit einem Korrekturfaktor (damit die Standardabweichung stimmt) zu versehen. In diesem Fall werden 6 float Zufallszahlen aus dem Bereich (-1, 1) verwendet, damit ist ein Maximalabstand zum Mittelwert von 6 Sigma möglich. (eine "echte" Normalverteilung hat selbstverständlich keine Beschränkung, allerdings kommen Ereignisse außerhalb von 6 Sigma nicht besonders häufig vor).

    Als kleine Info: 1x Random -> Gleichverteilt, 2x Random -> "Dreieck", 3x Random -> Normalverteilung mit "Knicken", 6x Random -> Normalverteilung mit vielen, aber weniger ausgeprägten "Knicken".

    Hier ist ein kleines Beispiel wie die Verteilung mit der Funktion aussehen könnte (so "glatt" ist sie nur, wenn man entsprechend viele Zufallszahlen generiert. Mittelwert = 50, Standardabweichung = 12.5)
    Plot.png

    Edit: In Post 3 gibt es noch eine Variante für die Erzeugung zweier Normalverteilter Zufallsvariablen, die eine echte Normalverteilung liefert.

    lg
    M

  • ab und zu taucht die Frage wieder auf: Wie kann man mit der BuildIn Random-Funktion eine halbwegs anständige Normalverteilung zustandebringen ?

    Ich biete dann meistens die Polarmethode an. Die ist auch mehr als halbwegs anständig:

  • Jop. Mit der Polarmethode lassen sich "echt" Normalverteilte Zufallszahlen erzeugen. Meine Methode ist eine Variation der 12er Regel, die nur annähernd eine Normalverteilung liefert. Welche der Methoden man anwendet ist im Regelfall wahrscheinlich egal.

    Damit können sich Leser des Threads direkt über 2 Lösungen freuen :D

    lg
    M