Gelöst: Zeichnen Sie n Zahlen aus der Normalverteilung

Letzte Aktualisierung: 09/11/2023

In der heutigen Welt spielen Daten eine wichtige Rolle im Entscheidungsprozess und ihr Verständnis ist für jedes Unternehmen von entscheidender Bedeutung. Die Analyse von Daten erfordert eine Vielzahl von Techniken, darunter die Darstellung von Zahlen aus einer Normalverteilung. Eine Normalverteilung ist eine übliche Wahrscheinlichkeitsverteilung, auch bekannt als Gaußsche Verteilung oder Glockenkurve. In diesem Artikel werden wir das Problem der Darstellung von Zufallszahlen aus einer Normalverteilung mit Python untersuchen, die beteiligten Bibliotheken verstehen und den Code analysieren, um jeden Schritt zu verstehen.

Bibliotheken und Funktionen für die Normalverteilung

Python bietet mehrere Bibliotheken, die uns bei der Generierung und Darstellung von Zahlen aus einer Normalverteilung helfen können. Zwei der am häufigsten verwendeten Bibliotheken für diesen Zweck sind NumPy und Matplotlib.

NumPy ist eine leistungsstarke Bibliothek zur Verarbeitung von Arrays und zur Durchführung verschiedener numerischer Berechnungen. Wir verwenden sie, um Zufallszahlen aus einer Normalverteilung zu generieren. Wichtige Funktionen in NumPy für unser Problem sind beispielsweise `np.random.normal()` und `np.linspace()`.

Matplotlib ist eine Bibliothek zur Erstellung statischer, interaktiver und animierter Visualisierungen in Python. Wir verwenden sie, um die Normalverteilung der generierten Zufallszahlen zu visualisieren. Die wichtigste Funktion dieser Bibliothek ist `plt.hist()`.

Lassen Sie uns nun tiefer in die Lösung zum Plotten dieser Zufallszahlen eintauchen und den Code Schritt für Schritt verstehen.

Lösung: Zahlen aus einer Normalverteilung grafisch darstellen

Um die Lösung zu präsentieren, verwenden wir den folgenden Python-Code:

import numpy as np
import matplotlib.pyplot as plt

mu = 0
sigma = 1
n = 1000

samples = np.random.normal(mu, sigma, n)
x = np.linspace(mu - 3 * sigma, mu + 3 * sigma, 100)

plt.hist(samples, bins=x, density=True, alpha=0.6, color='g')
plt.xlabel('Random Numbers')
plt.ylabel('Frequency')
plt.title('Plotting Numbers from a Normal Distribution')

plt.show()

Lassen Sie uns nun den Code aufschlüsseln und im Detail verstehen.

1. Wir beginnen mit dem Import der notwendigen Bibliotheken: NumPy und Matplotlib.

2. Wir legen die Parameter fest, die zur Generierung der Zufallszahlen benötigt werden. Hierbei steht μ für den Mittelwert, σ für die Standardabweichung und n für die Anzahl der zu generierenden Zufallszahlen.

3. Wir generieren die Zufallszahlen mit der Funktion np.random.normal(), indem wir den Mittelwert, die Standardabweichung und die Anzahl der Zufallszahlen angeben.

4. Wir erstellen mit np.linspace() einen Linspace für Werte im Bereich von mu-3*sigma bis mu+3*sigma, der den Bereich für die x-Achse darstellt, der etwa 99.7 % der Datenpunkte abdeckt.

5. Wir verwenden die Funktion plt.hist() von Matplotlib, um das Histogramm zu zeichnen. Wir geben die Bins an, indem wir den von uns erstellten Linspace bereitstellen, und setzen die Dichte zur Normalisierung auf „true“. Der Alpha-Parameter ist für Transparenz auf 0.6 und die Farbe für Grün auf „g“ eingestellt.

6. Wir legen die Beschriftung der x-Achse, die Beschriftung der y-Achse und den Titel des Histogramms mit den Funktionen plt.xlabel(), plt.ylabel() bzw. plt.title() fest.

7. Abschließend zeigen wir das Histogramm mit plt.show() an.

Die Funktion np.random.normal() verstehen

Die Funktion np.random.normal() ist eine vielseitige Funktion innerhalb der NumPy-Bibliothek. Es ermöglicht uns, Zufallsstichproben aus einer Normalverteilung (Gaußverteilung) zu generieren. Die Funktion benötigt drei Argumente:

– loc (float): Mittelwert („Zentrum“) der Verteilung.
– Skala (Float): Standardabweichung (Spanne oder „Breite“) der Verteilung.
– Größe (int oder Tupel von ints): Ausgabeform, die die Anzahl der zu generierenden Zufallszahlen bestimmt.

Mit dieser Funktion können wir ganz einfach Zufallszahlen generieren und diese mithilfe eines Histogramms darstellen, wie im obigen Code gezeigt.

Zusammenfassend lässt sich sagen, dass Python zusammen mit seinen leistungsstarken Bibliotheken wie NumPy und Matplotlib das Zeichnen von Zahlen aus einer Normalverteilung zu einer einfachen Aufgabe macht. Das Verständnis dieser Bibliotheken und ihrer Funktionen ist für den Umgang mit Daten und deren effektive Visualisierung von entscheidender Bedeutung. Mit ein paar Codezeilen können wir Zufallszahlen generieren und deren Verteilung visualisieren, was Python zu einer hervorragenden Wahl für statistische Analysen und Datenvisualisierung macht.

Zusammenhängende Posts: