Inizia subitoInizia gratis

Quanto spesso si verificano i no-hitter?

Il numero di partite giocate tra un no-hitter e l'altro nell'era moderna (1901-2015) della Major League Baseball è memorizzato nell'array nohitter_times.

Se assumi che i no-hitter seguano un processo di Poisson, allora il tempo tra due no-hitter è distribuito in modo esponenziale. Come hai visto, la distribuzione esponenziale ha un solo parametro, che chiameremo \(\tau\), il tipico intervallo temporale. Il valore del parametro \(\tau\) che fa combaciare al meglio la distribuzione esponenziale con i dati è il tempo medio tra un no-hitter e il successivo (dove il tempo è espresso come numero di partite).

Calcola il valore di questo parametro a partire dai dati. Poi usa np.random.exponential() per "ripetere" la storia della Major League Baseball estraendo tempi tra no-hitter da una distribuzione esponenziale con il \(\tau\) che hai trovato e traccia l'istogramma come approssimazione della PDF.

NumPy, pandas, matplotlib.pyplot e seaborn sono già stati importati come np, pd, plt e sns, rispettivamente.

Questo esercizio fa parte del corso

Pensiero statistico in Python (Parte 2)

Visualizza corso

Istruzioni dell'esercizio

  • Imposta il seme del generatore di numeri casuali a 42.
  • Calcola il tempo medio (in numero di partite) tra i no-hitter.
  • Estrai 100.000 campioni da una distribuzione esponenziale con il parametro che hai calcolato dalla media degli intervalli tra no-hitter.
  • Traccia la PDF teorica usando plt.hist(). Ricorda di usare gli argomenti con parola chiave bins=50, density=True e histtype='step'. Ricordati di etichettare gli assi.
  • Mostra il grafico.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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()
Modifica ed esegui il codice