Comece agoraComece grátis

Maximizando a verossimilhança, Parte 2

Na Parte 1, você calculou uma única log-verossimilhança para um único mu. Nesta Parte 2, você vai aplicar a função predefinida compute_loglikelihood() para calcular um array de valores de log-verossimilhança, um para cada elemento em um array de possíveis valores de mu.

O objetivo é determinar qual único palpite de mu leva ao valor máximo no array de log-verossimilhança.

Para começar, use os dados pré-carregados sample_distances, sample_mean, sample_stdev e a função auxiliar compute_loglikelihood().

Este exercicio faz parte do curso

Introdução à Modelagem Linear em Python

Ver curso

Instruções do exercicio

  • Construa mu_guesses usando valores centrados em sample_mean e distribuídos por sample_stdev.
  • Para cada valor de palpite mu_guess em mu_guesses, use compute_loglikelihood() para todos os sample_distances, mantendo sigma fixo em sample_stdev.
  • Encontre o valor máximo no array loglikelihoods e use seu índice para encontrar o best_mu a partir de mu_guesses.
  • Imprima best_mu e visualize-o plotando loglikelihoods.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# 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)
Editar e Executar Código