Kom igångKom igång gratis

Maximera likelihood, del 1

Tidigare valde vi urvalets mean som en skattning av populationsmodellens parameter mu. Men hur vet vi att urvalets medelvärde är den bästa skattningen? Det är en knepig fråga, så vi delar upp det i två delar.

I del 1 använder du en beräkningsbaserad metod för att beräkna log-likelihooden för en given skattning. I del 2 kommer vi sedan att se att när du beräknar log-likelihooden för många möjliga gissningar på skattningen, leder en av dem till maximal likelihood.

Den här övningen är en del av kursen

Introduktion till linjär modellering i Python

Visa kurs

Övningsinstruktioner

  • Beräkna mean() och std() för det förinstansierade sample_distances som gissade värden på sannolikhetsmodellens parametrar.
  • Beräkna sannolikheten för varje distance med hjälp av gaussian_model(), byggd från sample_mean och sample_stdev.
  • Beräkna loglikelihood som sum() av log() för sannolikheterna probs.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Compute sample mean and stdev, for use as model parameter value guesses
mu_guess = np.____(sample_distances)
sigma_guess = np.____(sample_distances)

# For each sample distance, compute the probability modeled by the parameter guesses
probs = np.zeros(len(sample_distances))
for n, distance in enumerate(sample_distances):
    probs[n] = gaussian_model(____, mu=____, sigma=____)

# Compute and print the log-likelihood as the sum() of the log() of the probabilities
loglikelihood = np.____(np.____(probs))
print('For guesses mu={:0.2f} and sigma={:0.2f}, the loglikelihood={:0.2f}'.format(mu_guess, sigma_guess, ____))
Redigera och kör kod