MulaiMulai sekarang secara gratis

Memaksimalkan Likelihood, Bagian 2

Pada Bagian 1, Anda menghitung satu log-likelihood untuk satu nilai mu. Pada Bagian 2 ini, Anda akan menggunakan fungsi pradefinisi compute_loglikelihood() untuk menghitung sebuah array nilai log-likelihood, masing-masing untuk setiap elemen dalam sebuah array berisi nilai mu yang mungkin.

Tujuannya adalah menentukan nilai mu tunggal yang menghasilkan nilai maksimum tunggal pada array loglikelihood.

Sebagai awal, gunakan data yang sudah dimuat sample_distances, sample_mean, sample_stdev dan fungsi pembantu compute_loglikelihood().

Latihan ini adalah bagian dari kursus

Pengantar Pemodelan Linear di Python

Lihat Kursus

Petunjuk latihan

  • Bentuk mu_guesses dengan mengambil nilai yang berpusat pada sample_mean dan tersebar sebesar sample_stdev.
  • Untuk setiap nilai tebakan mu_guess dalam mu_guesses, gunakan compute_loglikelihood() untuk semua sample_distances, dengan sigma ditetapkan pada sample_stdev.
  • Temukan nilai maksimum dalam array loglikelihoods dan gunakan indeksnya untuk mendapatkan best_mu dari mu_guesses.
  • Cetak best_mu dan visualisasikan dengan memplot loglikelihoods.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Create an array of mu guesses, centered on sample_mean, spread out +/- by sample_stdev
low_guess = sample_mean - 2*sample_stdev
high_guess = sample_mean + 2*sample_stdev
mu_guesses = np.linspace(____, ____, 101)

# Compute the loglikelihood for each model created from each guess value
loglikelihoods = np.zeros(len(mu_guesses))
for n, mu_guess in enumerate(____):
    loglikelihoods[n] = compute_loglikelihood(____, mu=____, sigma=sample_stdev)

# Find the best guess by using logical indexing, the print and plot the result
best_mu = mu_guesses[loglikelihoods==np.max(____)]
print('Maximum loglikelihood found for best mu guess={}'.format(____))
fig = plot_loglikelihoods(mu_guesses, loglikelihoods)
Edit dan Jalankan Kode