Kom igångKom igång gratis

Hur ofta ser vi no-hitters?

Antalet matcher som spelades mellan varje no-hitter under Major League Baseballs moderna era (1901–2015) finns lagrade i arrayen nohitter_times.

Om vi antar att no-hitters beskrivs som en Poissonprocess, är tiden mellan no-hitters exponentialfördelad. Som du har sett har exponentialfördelningen en enda parameter, som vi kallar \(\tau\) – den typiska intervalltidens längd. Det värde på \(\tau\) som bäst anpassar exponentialfördelningen till datan är den genomsnittliga intervalltidens längd (där tid mäts i antal matcher) mellan no-hitters.

Beräkna värdet på den här parametern utifrån datan. Använd sedan np.random.exponential() för att "upprepa" Major League Baseballs historia genom att dra inter-no-hitter-tider från en exponentialfördelning med det \(\tau\) du hittade, och rita ett histogram som en approximation av PDF:en.

NumPy, pandas, matplotlib.pyplot och seaborn har importerats åt dig som np, pd, plt respektive sns.

Den här övningen är en del av kursen

Statistiskt tänkande i Python (del 2)

Visa kurs

Övningsinstruktioner

  • Sätt slumptalsgeneratorns startvärde till 42.
  • Beräkna medeltiden (i antal matcher) mellan no-hitters.
  • Dra 100 000 sampel från en exponentialfördelning med den parameter du beräknade utifrån medelvärdet av inter-no-hitter-tiderna.
  • Rita den teoretiska PDF:en med plt.hist(). Kom ihåg att använda nyckelordsargumenten bins=50, normed=True och histtype='step'. Glöm inte att märka ut axlarna.
  • Visa diagrammet.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod