Verteilung visuell darstellen
Durch all diese schicken Visualisierungen haben wir jetzt aber komplett unsere eigentliche Aufgabenstellung vergessen. Wir müssen ja immer noch die Millionenfrage beantworten: Mit welcher Wahrscheinlichkeit wirst du die 60. Stufe im Empire State Building erreichen?
Im Grunde willst du die Endpunkte aller simulierten Irrläufe wissen. Diese Endpunkte haben eine bestimmte Verteilung, die du mit einem Histogramm visualisieren kannst.
Wenn die Ausführung deines Codes zu lange dauert, kann es sein, dass du ein Histogramm mit den falschen Daten zeichnest.
Diese Übung ist Teil des Kurses
Python für Fortgeschrittene
Anleitung zur Übung
- Damit wir auch wirklich genug Simulationen haben, lass es krachen! Simuliere den Irrlauf 500-mal!
- Wähle aus
np_aw_t
die letzte Zeile aus. Sie enthält den Endpunkt aller 500 Irrläufe, die du simuliert hast. Speichere dieses NumPy-Array alsends
. - Verwende
plt.hist()
, um ein Histogramm vonends
zu erstellen. Vergiss nichtplt.show()
, um den Plot anzuzeigen.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# numpy and matplotlib imported, seed set
# Simulate random walk 500 times
all_walks = []
for i in range(500) :
random_walk = [0]
for x in range(100) :
step = random_walk[-1]
dice = np.random.randint(1,7)
if dice <= 2:
step = max(0, step - 1)
elif dice <= 5:
step = step + 1
else:
step = step + np.random.randint(1,7)
if np.random.rand() <= 0.001 :
step = 0
random_walk.append(step)
all_walks.append(random_walk)
# Create and plot np_aw_t
np_aw_t = np.transpose(np.array(all_walks))
# Select last row from np_aw_t: ends
____ = ____[____,____]
# Plot histogram of ends, display plot
____
____