BaşlayınÜcretsiz başlayın

Olasılığı Maksimize Etme, Bölüm 2

Bölüm 1'de, tek bir mu için tek bir log-olasılık hesaplamıştın. Bu Bölüm 2'de, önceden tanımlanmış compute_loglikelihood() fonksiyonunu kullanarak, olası mu değerlerinden oluşan bir dizinin her bir elemanı için bir log-olasılık değeri hesaplayacaksın.

Hedef, log-olasılık dizisindeki tek maksimum değere götüren tek bir mu tahminini belirlemek.

Başlamak için, önceden yüklenmiş sample_distances, sample_mean, sample_stdev verilerini ve yardımcı fonksiyon compute_loglikelihood()'u kullan.

Bu egzersiz, kursun bir parçasıdır

Python ile Doğrusal Modellemenin Temelleri

Kursa Göz Atın

Egzersiz talimatları

  • mu_guesses dizisini, sample_mean etrafında merkezleyip sample_stdev kadar yayarak oluştur.
  • mu_guesses içindeki her mu_guess değeri için, sigmasample_stdev olarak sabit tutup tüm sample_distances üzerinde compute_loglikelihood() kullan.
  • loglikelihoods dizisindeki maksimum değeri bul ve onun indeksini kullanarak mu_guesses içinden best_mu değerini belirle.
  • best_mu değerini yazdır ve loglikelihoods'u çizerek görselleştir.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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)
Kodu Düzenle ve Çalıştır