Likelihood maximaliseren, deel 1
Eerder kozen we het steekproefgemiddelde mean als een schatting van de populatieparameter mu. Maar hoe weten we dat het steekproefgemiddelde de beste schatter is? Dit is lastig, dus we pakken het in twee delen aan.
In deel 1 gebruik je een computationele aanpak om de log-likelihood van een gegeven schatting te berekenen. In deel 2 zullen we zien dat, wanneer je de log-likelihood voor veel mogelijke gokwaarden van de schatting berekent, één gok zal resulteren in de maximale likelihood.

Deze oefening maakt deel uit van de cursus
Introductie tot lineaire modellering in Python
Oefeninstructies
- Bereken de
mean()enstd()van de vooraf ingeladensample_distancesals de gegokte waarden van de parameters van het waarschijnlijkheidsmodel. - Bereken voor elke
distancede kans metgaussian_model(), opgebouwd uitsample_meanensample_stdev. - Bereken de
loglikelihoodals desum()van delog()van de kansenprobs.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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, ____))