Jak často nastane no-hitter?
Počet zápasů odehraných mezi jednotlivými no-hittery v moderní éře Major League Baseball (1901–2015) je uložen v poli nohitter_times.
Pokud předpokládáme, že no-hittery popisuje Poissonův proces, pak čas mezi nimi má exponenciální rozdělení. Jak již víš, exponenciální rozdělení má jediný parametr – budeme ho označovat \(\tau\) – což je typická délka intervalu. Hodnota parametru \(\tau\), při níž exponenciální rozdělení nejlépe odpovídá datům, je průměrná délka intervalu (kde čas je vyjádřen v počtu zápasů) mezi no-hittery.
Vypočítej hodnotu tohoto parametru z dat. Pak pomocí np.random.exponential() „zopakuj" historii Major League Baseball – vygeneruj intervaly mezi no-hittery z exponenciálního rozdělení s nalezeným \(\tau\) a vykresli histogram jako aproximaci PDF.
NumPy, pandas, matplotlib.pyplot a seaborn jsou již naimportovány jako np, pd, plt a sns.
Toto cvičení je součástí kurzu
Statistical Thinking in Python (Part 2)
Pokyny k cvičení
- Nastav seed generátoru náhodných čísel na
42. - Vypočítej průměrnou dobu (v počtu zápasů) mezi no-hittery.
- Vygeneruj 100 000 vzorků z exponenciálního rozdělení s parametrem vypočítaným z průměrné doby mezi no-hittery.
- Vykresli teoretické PDF pomocí
plt.hist(). Nezapomeň použít klíčové argumentybins=50,normed=Trueahisttype='step'a pořádně popisky os. - Zobraz graf.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()