Cât de des se înregistrează meciuri fără lovituri reușite?
Numărul de meciuri jucate între fiecare meci fără lovituri reușite (no-hitter) în era modernă (1901-2015) a Major League Baseball este stocat în array-ul nohitter_times.
Dacă presupunem că meciurile fără lovituri reușite urmează un proces Poisson, atunci intervalul de timp dintre acestea urmează o distribuție exponențială. Așa cum ai văzut, distribuția exponențială are un singur parametru, pe care îl vom numi \(\tau\), reprezentând intervalul de timp tipic. Valoarea parametrului \(\tau\) care face ca distribuția exponențială să se potrivească cel mai bine cu datele este timpul mediu dintre meciurile fără lovituri reușite (unde timpul este măsurat în număr de meciuri).
Calculează valoarea acestui parametru din date. Apoi, folosește np.random.exponential() pentru a "repeta" istoria Major League Baseball, generând intervale dintre meciurile fără lovituri reușite dintr-o distribuție exponențială cu \(\tau\)-ul găsit și reprezintă histograma ca aproximare a funcției de densitate de probabilitate (PDF).
NumPy, pandas, matplotlib.pyplot și seaborn au fost importate pentru tine ca np, pd, plt și, respectiv, sns.
Acest exercițiu face parte din cursul
Gândire statistică în Python (Partea 2)
Instrucțiuni pentru exercițiu
- Inițializează generatorul de numere aleatoare cu
42. - Calculează timpul mediu (în număr de meciuri) dintre meciurile fără lovituri reușite.
- Extrage 100.000 de eșantioane dintr-o distribuție exponențială cu parametrul calculat din media intervalelor dintre meciurile fără lovituri reușite.
- Reprezintă PDF-ul teoretic folosind
plt.hist(). Nu uita să folosești argumentele cheiebins=50,density=Trueșihisttype='step'. Etichetează axele graficului. - Afișează graficul.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()