If you're seeing this message, it means we're having trouble loading external resources on our website.

Wenn du hinter einem Webfilter bist, stelle sicher, dass die Domänen *. kastatic.org und *. kasandbox.org nicht blockiert sind.

Hauptinhalt

Normalverteilung von Zufallszahlen

Nehmen wir an, wir möchten ein Programm erstellen, welche den Planten der Affen simuliert. Dein Programm kann tausend Affen-Objekte generieren, jedes mit einer Höhe von 200 bis 300 Pixel (da auf diesem Planeten Affen zwischen 200 und 300 Pixel groß sind).
var randomHeight = random(200, 300);
Stellt dies die Größe der realen Affen korrekt dar? Stell dir einen überfüllten Bürgersteig in New York City vor. Wähle irgendeine Person auf der Strasse und ihr Größe mag zufällig erscheinen. Dennoch ist es nicht die Art von Zufälligkeit welche von random() generiert wird. Die Größe von Personen ist nicht gleichförmig verteilt. Es gibt viel mehr durchschnittlich große Personen als ganz große und ganz kleine. Um die Natur zu simulieren, möchten wir dass die Wahrscheinlichkeit für durchschnittlich große Affen (250 Pixel) größer ist. Ab und zu soll es aber immer noch ganz kleine und ganz große Affen geben.
Eien Verteilung von Werten welche sich um einen Durchschnittswert (auch als "Mittelwert" bezeichnet) häufen, wird auch als “Normalverteilung” bezeichnet. Sie wird auch als Gaussverteilung (benannt nach dem Mathematiker Friedrich Gauss) bezeichnet. In Frankreich wird sie Laplace-Verteilung (nach Pierre-Simon Laplace) genannt. Beide Mathematiker haben im frühen neunzehnten Jahrhundert gleichzeitig daran gearbeitet diese Verteilung zu definieren.
Wenn du die Verteilung als Diagramm zeichnest, erhältst du etwas, was wie die folgende, auch Glockenkurve genannte, Kurve aussieht.
Diagramm einer standard Glockenkurve
Eine standard Glockenkurve
Die Kurve wird durch eine mathematische Funktion generiert, welche die Wahrscheinlichkeit für jeden Wert als Funktion des Mittelwertes (oft μ, dem griechischen Buchstaben mu) und der Standardabweichung (σ, dem griechischen Buchstaben sigma) definiert.
Der Mittelwert ist recht einfach zu verstehen. Im Fall, unserer Grössen zwischen 200 und 300, hast du wohl ein intuitives Gefühl für den Mittelwert (d.h. Durchschnitt) von 250. Aber was wäre, wenn die Standardabweichung 3 oder 15 wäre? Was bedeutet dies für die Zahlen? Wenn man sich das Diagramm anschaut, kann man einen Hinweis erkennen. Das Diagramm oben zeigt uns die Verteilung mit einer kleinen Standardabweichung. In dem Fall häufen sich die Werte eng um den Mittelwert. Das Diagramm unten zeigt uns eine Standardverteilung in welcher die Werte gleichmäßiger um den Mittelwert verteilt sind.
Diagramm einer Glockenkurve mit einer größeren Standardabweichung
A Glockenkurve mit einer größeren Standardabweichung
Bisher noch nicht mit dem Begriff "Standardabweichung" vertraut? Keine Angst! Bevor du weitermachst, kannst du dir Varianz und Standardabweichung auf der Khan Academy anschauen.
Die Zahlen sind wie folgt: Bei einer Population, haben 68% der Mitglieder Werte im Bereich von +- einer Standardabweichung vom Mittelwert, 95% +- zwei Standardabweichungen und 99.7% +- drei Standardabweichungen. Mit einer Standardabweichung von 5 Pixel, werden nur 0.3% der Affen kleiner als 235 Pixel (drei Standardabweichungen unter dem Mittelwert von 250) oder größer als 265 Pixel (drei Standardabweichungen über dem Mittelwert von 250) sein.

Mittelwert und Standardabweichung berechnen
Betrachen wir eine Klassen von 10 Schülern, welche bei einer Klausur (von maximal 100) die folgenden Punktezahlen erzielt haben:
85, 82, 88, 86, 85, 93, 98, 40, 73, 83
Wir berechnen den Mittelwert (der Durchschnitt) indem wir alle Punktzahlen zusammenfassen und nach der Punktzahl teilen.
Mean = (85+82+88+86+85+93+98+40+73+83)/10=81.3
Die Standardabweichung wird als Wurzel aus dem Durchschnitt der Quadrate der Abweichung vom Mittelwert berechnet.
Der erste Schritt ist die Berechnung der Abweichungen für jede Punktzahl (die Differenz von der Mittel) und das quadrieren der Abweichungen:
ErgebnisAbweichungQuadratische Abweichung
858581.3=3.7(3.7)2=13.69
828281.3=0.7(0.7)2=0.49
888881.3=6.7(6.7)2=44.89
868681.3=4.7(4.7)2=22.09
858581.3=3.7(3.7)2=13.69
939381.3=11.7(11.7)2=136.89
989881.3=16.7(16.7)2=278.89
404081.3=41.3(41.3)2=1705.69
737381.3=8.3(8.3)2=68.89
838381.3=1.7(1.7)2=2.89
Dann berechnen wir den Durchschnitt der quadratischen Abweichungen, bekannt als Varianz. Das ist die Summe der letzten Spalte, geteilt durch die Anzahl der Zeilen:
Varianz = 2288.1/10 = 228.81
Schließlich berechnen wir die Standardabweichung, indem wir die Quadratwurzel aus der Varianz ziehen:
Standardabweichung = 228.81 = 15.13.
Möchtest du die Standardabweichung besser verstehen? Schau dir Varianz und Standardabweichung hier auf der Khan Academy an.

Zum Glück müssen wir, um die Normalverteilung für Zufallsvariablen in Programmen zu verwenden, keine dieser Berechnungen selbst machen. Wir können stattdessen das Objekt Random von ProcessingJS verwenden.
Um Random zu verwenden, müssen wir zuerst eine neue Instanz von Random erstellen und ihm den Parameter 1 übergeben. Diese Variable nennen "Generator", da dies im Prinzip ein Generator für Zufallszahlen ist.
var generator = new Random(1);
Wenn wir eine Zufallszahl mit einer Normal- oder Gaussverteilung bei jedem durchlauf von draw() generieren wollen, müssen wir darin einfach die Funktion nextGaussian() aufrufen.
var num = generator.nextGaussian();
println(num);
Und was machen wir nun mit diesem Wert? Was wenn wir ihn z.b. als x-Position für das Zeichnen einer Figur auf dem Canvas benutzen wollen?
Die Funktion nextGaussian() gibt uns eine normal verteilte Zufallszahl mit den folgenden Parametern zurück:ein Mittelwert von Null und einer Standardabweichung von eins. Nun wollen wir aber einen Mittelwert von 200 (der Mitte eines Fensters von 400 Pixel) und einer Standardabweichung von 60 Pixel. Wir können die Werte anpassen indem wir mit der Standardabweichung multiplizieren und den Mittelwert dazu addieren.
var standardDeviation = 60;
var mean = 200;
var x = standardDeviation * num + mean;
Nun können wir unser Programm, welches semi-transparente Kreise gemäß einer Normalverteilung zeichnet, erstellen. Die dunkelste Stelle wird näher am Zentrum sein, da wo die sich die meisten Werte häufen, aber ab und zu wird ein Kreis auch weiter rechts oder links vom Zentrum gezeichnet.

Der Kurs "Natürliche Simulationen" ist eine Bearbeitung von "The Nature of Code" von Daniel Shiffman, und wird unter der Creative Commons Attribution-NonCommercial 3,0 Unported Lizenz verwendet.

Willst du an der Diskussion teilnehmen?

Noch keine Beiträge.
Verstehst du Englisch? Klick hier, um weitere Diskussionen auf der englischen Khan Academy Seite zu sehen.