IniziaInizia gratis

Massimizzare la verosimiglianza, Parte 1

In precedenza, abbiamo scelto la mean del campione come stima del parametro di modello della popolazione mu. Ma come facciamo a sapere che la media campionaria è il miglior stimatore? La questione è delicata, quindi affrontiamola in due parti.

Nella Parte 1 userai un approccio computazionale per calcolare la log-verosimiglianza di una data stima. Poi, nella Parte 2, vedremo che, calcolando la log-verosimiglianza per molti possibili valori ipotizzati della stima, uno di questi fornirà la verosimiglianza massima.

Questo esercizio fa parte del corso

Introduzione alla modellazione lineare in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Calcola mean() e std() del sample_distances pre-caricato come valori ipotizzati dei parametri del modello di probabilità.
  • Calcola la probabilità, per ogni distance, usando gaussian_model() costruito a partire da sample_mean e sample_stdev.
  • Calcola la loglikelihood come sum() del log() delle probabilità probs.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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, ____))
Modifica ed esegui il codice