LoslegenKostenlos loslegen

Wie häufig gibt es No-Hitter?

Die Anzahl der Spiele zwischen zwei No-Hitters in der modernen Ära (1901–2015) der Major League Baseball ist im Array nohitter_times gespeichert.

Wenn du annimmst, dass No-Hitters durch einen Poisson-Prozess beschrieben werden, dann ist die Zeit zwischen No-Hitters exponentialverteilt. Wie du gesehen hast, hat die Exponentialverteilung genau einen Parameter, den wir \(\tau\) nennen, die typische Intervallzeit. Der Wert des Parameters \(\tau\), der die Exponentialverteilung am besten an die Daten anpasst, ist die mittlere Intervallzeit (Zeit in der Einheit „Anzahl der Spiele“) zwischen No-Hitters.

Berechne den Wert dieses Parameters aus den Daten. Verwende dann np.random.exponential(), um die Geschichte der Major League Baseball zu „wiederholen“, indem du Zeiten zwischen No-Hitters aus einer Exponentialverteilung mit dem von dir gefundenen \(\tau\) ziehst, und zeichne das Histogramm als Approximation der PDF.

NumPy, pandas, matplotlib.pyplot und seaborn wurden bereits als np, pd, plt und sns importiert.

Diese Übung ist Teil des Kurses

Statistical Thinking in Python (Teil 2)

Kurs anzeigen

Anleitung zur Übung

  • Setze den Zufallszahlengenerator auf 42.
  • Berechne die durchschnittliche Zeit (in Einheiten der Anzahl der Spiele) zwischen No-Hitters.
  • Ziehe 100.000 Stichproben aus einer Exponentialverteilung mit dem Parameter, den du aus dem Mittel der Zeiten zwischen No-Hitters berechnet hast.
  • Zeichne die theoretische PDF mit plt.hist(). Verwende die Schlüsselwortargumente bins=50, normed=True und histtype='step'. Vergiss nicht, die Achsen zu beschriften.
  • Zeige deinen Plot an.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Seed random number generator
____

# Compute mean no-hitter time: tau
tau = ____

# Draw out of an exponential distribution with parameter tau: inter_nohitter_time
inter_nohitter_time = ____(____, 100000)

# Plot the PDF and label axes
_ = ____(inter_nohitter_time,
             ____, ____, ____)
_ = plt.xlabel('Games between no-hitters')
_ = plt.ylabel('PDF')

# Show the plot
plt.show()
Code bearbeiten und ausführen