MulaiMulai sekarang secara gratis

Seberapa sering terjadi no-hitter?

Jumlah pertandingan yang dimainkan di antara setiap no-hitter pada era modern (1901–2015) Major League Baseball disimpan dalam array nohitter_times.

Jika Anda mengasumsikan bahwa no-hitter dijelaskan sebagai suatu proses Poisson, maka waktu antar no-hitter berdistribusi Eksponensial. Seperti yang telah Anda lihat, sebaran Eksponensial memiliki satu parameter, yang akan kita sebut \(\tau\), yaitu waktu interval tipikal. Nilai parameter \(\tau\) yang membuat sebaran eksponensial paling cocok dengan data adalah waktu interval rata-rata (dengan satuan jumlah pertandingan) antar no-hitter.

Hitung nilai parameter ini dari data. Lalu, gunakan np.random.exponential() untuk "mengulang" sejarah Major League Baseball dengan mengambil waktu antar no-hitter dari sebaran eksponensial dengan \(\tau\) yang Anda peroleh dan plot histogramnya sebagai pendekatan terhadap PDF.

NumPy, pandas, matplotlib.pyplot, dan seaborn telah diimpor untuk Anda masing-masing sebagai np, pd, plt, dan sns.

Latihan ini adalah bagian dari kursus

Pemikiran Statistik dengan Python (Bagian 2)

Lihat Kursus

Petunjuk latihan

  • Atur seed pembangkit bilangan acak dengan 42.
  • Hitung waktu rata-rata (dalam satuan jumlah pertandingan) antar no-hitter.
  • Ambil 100.000 sampel dari sebaran Eksponensial dengan parameter yang Anda hitung dari rata-rata waktu antar no-hitter.
  • Plot PDF teoretis menggunakan plt.hist(). Ingat untuk menggunakan argumen kata kunci bins=50, normed=True, dan histtype='step'. Pastikan memberi label pada sumbu Anda.
  • Tampilkan plot Anda.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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()
Edit dan Jalankan Kode