Com que frequência temos no-hitters?
O número de jogos disputados entre cada no-hitter na era moderna (1901–2015) da Major League Baseball está armazenado no array nohitter_times.
Se você assumir que os no-hitters seguem um processo de Poisson, então o tempo entre no-hitters é distribuído exponencialmente. Como você viu, a distribuição Exponencial tem um único parâmetro, que vamos chamar de \(\tau\), o tempo típico de intervalo. O valor do parâmetro \(\tau\) que faz a distribuição exponencial corresponder melhor aos dados é o tempo médio de intervalo (onde o tempo está em unidades de número de jogos) entre no-hitters.
Calcule o valor desse parâmetro a partir dos dados. Em seguida, use np.random.exponential() para “repetir” a história da Major League Baseball, extraindo tempos entre no-hitters de uma distribuição exponencial com o \(\tau\) que você encontrou, e faça o histograma como uma aproximação da PDF.
NumPy, pandas, matplotlib.pyplot e seaborn já foram importados para você como np, pd, plt e sns, respectivamente.
Este exercício faz parte do curso
Pensamento Estatístico em Python (Parte 2)
Instruções do exercício
- Defina a semente do gerador de números aleatórios com
42. - Calcule o tempo médio (em número de jogos) entre no-hitters.
- Extraia 100.000 amostras de uma distribuição Exponencial com o parâmetro que você calculou a partir da média dos tempos entre no-hitters.
- Plote a PDF teórica usando
plt.hist(). Lembre-se de usar os argumentos nomeadosbins=50,normed=Trueehisttype='step'. Não se esqueça de rotular seus eixos. - Mostre o seu gráfico.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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()