ComenzarEmpieza gratis

¿Con qué frecuencia hay no-hitters?

El número de partidos jugados entre cada no-hitter en la era moderna (1901-2015) de las Grandes Ligas de Béisbol está almacenado en el array nohitter_times.

Si supones que los no-hitters siguen un proceso de Poisson, entonces el tiempo entre no-hitters sigue una distribución Exponencial. Como has visto, la distribución Exponencial tiene un único parámetro, al que llamaremos \(\tau\), el tiempo típico de intervalo. El valor del parámetro \(\tau\) que hace que la distribución exponencial se ajuste mejor a los datos es el tiempo medio de intervalo (donde el tiempo está en unidades de número de partidos) entre no-hitters.

Calcula el valor de este parámetro a partir de los datos. Luego, usa np.random.exponential() para «repetir» la historia de las Grandes Ligas extrayendo tiempos entre no-hitters de una distribución exponencial con el \(\tau\) que encontraste y representa el histograma como una aproximación a la PDF.

Ya se han importado NumPy, pandas, matplotlib.pyplot y seaborn como np, pd, plt y sns, respectivamente.

Este ejercicio forma parte del curso

Pensamiento estadístico en Python (Parte 2)

Ver curso

Instrucciones del ejercicio

  • Inicializa el generador de números aleatorios con 42.
  • Calcula el tiempo medio (en unidades de número de partidos) entre no-hitters.
  • Extrae 100.000 muestras de una distribución Exponencial con el parámetro que calculaste a partir de la media de los tiempos entre no-hitters.
  • Representa la PDF teórica usando plt.hist(). Recuerda usar los argumentos con nombre bins=50, normed=True y histtype='step'. No olvides etiquetar tus ejes.
  • Muestra tu gráfico.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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()
Editar y ejecutar código