Likelihood को अधिकतम करना, भाग 2
भाग 1 में, आपने एक ही mu के लिए एक अकेला log-likelihood निकाला था। इस भाग 2 में, आप प्री-डिफाइंड फंक्शन compute_loglikelihood() लागू करेंगे ताकि संभावित mu मानों के एक array के प्रत्येक तत्व के लिए log-likelihood मानों का एक array निकाला जा सके।
लक्ष्य यह तय करना है कि कौन-सा एकल mu अनुमान loglikelihood array के एकल maximum मान तक पहुँचता है।
शुरू करने के लिए, प्रीलोडेड डेटा sample_distances, sample_mean, sample_stdev और हेल्पर फंक्शन compute_loglikelihood() का उपयोग कीजिए.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Linear Modeling परिचय
अभ्यास निर्देश
mu_guessesबनाइए: ऐसे मान लीजिए जोsample_meanके आसपास केंद्रित हों औरsample_stdevके अनुसार फैलें।mu_guessesमें हर अनुमानित मानmu_guessके लिए, सभीsample_distancesपरcompute_loglikelihood()का उपयोग करें, औरsigmaकोsample_stdevपर फिक्स रखें।loglikelihoodsarray में अधिकतम मान खोजें और उसके index का उपयोग करके हमारेmu_guessesसेbest_muनिकालें।best_muप्रिंट करें औरloglikelihoodsको प्लॉट करके उसे विज़ुअलाइज़ करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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)