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)
Ö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 nyckelordsargumentenbins=50,normed=Trueochhisttype='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()