Qualcuno potrebbe spiegarmi in dettaglio sulla stima della massima verosimiglianza (MLE) in parole povere? Vorrei conoscere il concetto di base prima di entrare in derivazione o equazione matematica.
Qualcuno potrebbe spiegarmi in dettaglio sulla stima della massima verosimiglianza (MLE) in parole povere? Vorrei conoscere il concetto di base prima di entrare in derivazione o equazione matematica.
Risposte:
Supponi di avere dei dati. Supponi che sei disposto ad assumere che i dati provengano da una certa distribuzione, forse gaussiana. Esiste un numero infinito di gaussiani diversi da cui potrebbero derivare i dati (che corrispondono alla combinazione del numero infinito di mezzi e varianze che può avere una distribuzione gaussiana). MLE sceglierà il gaussiano (cioè la media e la varianza) che è "più coerente" con i tuoi dati (il significato preciso di coerente è spiegato di seguito).
Quindi, supponiamo di avere un set di dati di . Il gaussiano più coerente da cui potrebbero derivare quei dati ha una media di 3 e una varianza di 16. Potrebbe essere stato campionato da qualche altro gaussiano. Ma uno con una media di 3 e una varianza di 16 è più coerente con i dati nel senso seguente: la probabilità di ottenere i valori particolari osservati è maggiore con questa scelta di media e varianza, rispetto a qualsiasi altra scelta.
Passare alla regressione: invece che la media è una costante, la media è una funzione lineare dei dati, come specificato dall'equazione di regressione. Quindi, avere dati come insieme a di prima. La media di quel gaussiano è ora il modello di regressione adattato , dove ß ß = [ - 1,9 , 0,9 ]
Passando ai GLM: sostituisci Gaussian con qualche altra distribuzione (della famiglia esponenziale). La media ora è una funzione lineare dei dati, come specificato dall'equazione di regressione, trasformata dalla funzione di collegamento. Quindi, è , dove per logit (con dati binomiali).
La stima della massima verosimiglianza (MLE) è una tecnica per trovare la funzione più probabile che spiega i dati osservati. Penso che la matematica sia necessaria, ma non lasciarti spaventare!
Diciamo che abbiamo un insieme di punti nel piano e vogliamo conoscere i parametri della funzione β e σ che molto probabilmente si adattano ai dati (in questo caso conosciamo la funzione perché l'ho specificata per creare questo esempio, ma abbi pazienza).
data <- data.frame(x = runif(200, 1, 10))
data$y <- 0 + beta*data$x + rnorm(200, 0, sigma)
plot(data$x, data$y)
Per fare un MLE, dobbiamo fare delle ipotesi sulla forma della funzione. In un modello lineare, assumiamo che i punti seguano una distribuzione di probabilità normale (gaussiana), con media e varianza σ 2 : y = N ( x β , σ 2 ) . L'equazione di questa funzione di densità di probabilità è: 1
Quello che vogliamo trovare sono i parametri e σ che massimizzano questa probabilità per tutti i punti ( x i , y i ) . Questa è la funzione "verosimiglianza", L
Per vari motivi, è più semplice utilizzare il registro della funzione di verosimiglianza: log(L)=n∑i=1-n
Possiamo codificare questo come una funzione in R con .
linear.lik <- function(theta, y, X){
n <- nrow(X)
k <- ncol(X)
beta <- theta[1:k]
sigma2 <- theta[k+1]^2
e <- y - X%*%beta
logl <- -.5*n*log(2*pi)-.5*n*log(sigma2) - ( (t(e) %*% e)/ (2*sigma2) )
return(-logl)
}
Questa funzione, a diversi valori di e σ , crea una superficie.
surface <- list()
k <- 0
for(beta in seq(0, 5, 0.1)){
for(sigma in seq(0.1, 5, 0.1)){
k <- k + 1
logL <- linear.lik(theta = c(0, beta, sigma), y = data$y, X = cbind(1, data$x))
surface[[k]] <- data.frame(beta = beta, sigma = sigma, logL = -logL)
}
}
surface <- do.call(rbind, surface)
library(lattice)
wireframe(logL ~ beta*sigma, surface, shade = TRUE)
Come puoi vedere, c'è un punto massimo da qualche parte su questa superficie. Possiamo trovare parametri che specificano questo punto con i comandi di ottimizzazione integrati di R. Ciò si avvicina ragionevolmente alla scoperta dei parametri reali
linear.MLE <- optim(fn=linear.lik, par=c(1,1,1), lower = c(-Inf, -Inf, 1e-8),
upper = c(Inf, Inf, Inf), hessian=TRUE,
y=data$y, X=cbind(1, data$x), method = "L-BFGS-B")
linear.MLE$par
## [1] -0.1303868 2.7286616 1.3446534
I minimi quadrati ordinari sono la massima probabilità per un modello lineare, quindi ha senso che lm
ci darebbe le stesse risposte. (Si noti che viene utilizzato per determinare gli errori standard).
summary(lm(y ~ x, data))
##
## Call:
## lm(formula = y ~ x, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.3616 -0.9898 0.1345 0.9967 3.8364
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.13038 0.21298 -0.612 0.541
## x 2.72866 0.03621 75.363 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.351 on 198 degrees of freedom
## Multiple R-squared: 0.9663, Adjusted R-squared: 0.9661
## F-statistic: 5680 on 1 and 198 DF, p-value: < 2.2e-16
data$y <- 0 + beta*data$x + rnorm(200, 0, sigma2)
? Ed è 0 +
utile?
beta
e sigma2
dovrebbe essere definito per l'esecuzione di questo codice. Li ho nascosti in modo da poter "scoprire" i parametri, che sono quasi sempre sconosciuti quando si esegue MLE.
0 +
nulla in realtà non fa nulla; L'ho semplicemente incluso perché i modelli di regressione di solito hanno un'intercettazione. E se il MLE stesse cercando di ottimizzare beta
, sigma2
e alpha
, non potrei mostrare la trama piuttosto superficiale (a meno che tu non conosca un pacchetto R che verrà tracciato in quattro dimensioni!)
La stima della massima verosimiglianza (ML) di un parametro è il valore di quel parametro in base al quale i dati osservati effettivi sono più probabili, rispetto a qualsiasi altro possibile valore del parametro.
L'idea è che ci sono un numero qualsiasi di valori di parametro "veri" che potrebbero aver portato ai dati effettivamente osservati con una probabilità diversa da zero (anche se forse piccola). Ma la stima ML fornisce il valore del parametro che avrebbe portato ai dati osservati con la massima probabilità.
Questo non deve essere confuso con il valore del parametro che molto probabilmente ha prodotto i tuoi dati!
Devi ricordare che "verosimiglianza" è un termine tecnico. La probabilità di H, Pr (O | H) e la probabilità posteriore di H, Pr (H | O), sono quantità diverse e possono avere valori diversi. La probabilità di H è la probabilità che H conferisca a O, non la probabilità che O conferisca a H. Supponi di sentire un rumore proveniente dalla soffitta di casa tua. Consideri l'ipotesi che ci siano gremlin lassù da bowling. La probabilità di questa ipotesi è molto alta, dal momento che se ci sono gremlin che si lanciano in soffitta, probabilmente ci sarà rumore. Ma sicuramente non pensi che il rumore renda molto probabile che ci siano gremlins lassù a bowling. In questo esempio, Pr (O | H) è alto e Pr (H | O) è basso. L'ipotesi del gremlin ha un'alta probabilità (in senso tecnico) ma una bassa probabilità.
In termini dell'esempio sopra, ML favorirebbe l'ipotesi del gremlin. In questo particolare esempio comico, questa è chiaramente una cattiva scelta. Ma in molti altri casi più realistici, la stima ML potrebbe essere molto ragionevole.
Riferimento
Sober, E. (2008). Evidenza ed evoluzione: la logica dietro la scienza. Cambridge University Press.
Il MLE è il valore del parametro di interesse che massimizza la probabilità di osservare i dati osservati. In altre parole, è il valore del parametro che rende più probabile che i dati osservati siano stati osservati.
Si è possibile dire qualcosa senza l'utilizzo di (molto) la matematica, ma per applicazioni statistiche reali di massima verosimiglianza è necessario matematica.
La stima della massima verosimiglianza è correlata a ciò che i filosofi chiamano inferenza alla migliore spiegazione , o rapimento . Lo usiamo sempre! Nota, non dico che la massima verosimiglianza sia il rapimento, quel termine è molto più ampio e alcuni casi di stima bayesiana (con un precedente empirico) possono probabilmente essere visti anche come rapimento. Alcuni esempi presi da http://plato.stanford.edu/entries/abduction/#Aca Vedi anche https://en.wikipedia.org/wiki/Abductive_reasoning (Nell'informatica il "rapimento" è usato anche nel contesto di non -modelli probabilistici.)
Un altro esempio: lavori in una scuola materna e un giorno un bambino inizia a camminare in modo strano, dicendo che si è rotto le gambe. Esamini e trovi nulla di sbagliato. Quindi puoi ragionevolmente dedurre che uno dei suoi genitori si è rotto le gambe, poiché i bambini spesso agiscono come descritto, quindi questa è una "inferenza alla migliore spiegazione" e un'istanza di (informale) massima probabilità. (e, naturalmente, tale spiegazione potrebbe essere errata, è probabile, non sicuro. Il rapimento / la massima verosimiglianza non possono dare conclusioni certe).
Il rapimento riguarda la ricerca di modelli nei dati e quindi la ricerca di possibili teorie che possano eventualmente rendere probabili tali modelli. Quindi scegliere la possibile spiegazione, che rende il modello osservato al massimo probabile, è solo la massima probabilità!
Il primo esempio di rapimento nella scienza è l'evoluzione . Non esiste un'unica osservazione che implichi l'evoluzione, ma l'evoluzione rende i modelli osservati più probabili di altre spiegazioni.
Un altro esempio tipico è la diagnosi medica? Quali possibili condizioni mediche rendono più probabile il modello osservato di sintomi? Ancora una volta, questa è anche la massima probabilità! (O, in questo caso, forse la stima bayesiana si adatta meglio, dobbiamo tenere conto della probabilità precedente delle varie possibili spiegazioni). Ma questo è un tecnicismo, in questo caso possiamo avere priori empirici che possono essere visti come una parte naturale del modello statistico, e quello che chiamiamo modello , ciò che chiamiamo precedente è una convenzione statistica arbitraria (*).
Per tornare alla domanda originale sulla spiegazione del termine laico di MLE, ecco un semplice esempio: quando le mie figlie avevano 6 e 7 anni, ho chiesto loro questo. Abbiamo creato due urne (due scatole da scarpe), in una abbiamo messo 2 palline nere, 8 rosse, nell'altra i numeri dove sono stati scambiati. Quindi abbiamo mescolato le urne e disegniamo un'urna a caso. Quindi abbiamo preso a caso una palla da quell'urna. Era rosso.
Poi ho chiesto: da quale urna pensi che sia stata estratta la palla rossa? Dopo circa un secondo pensando, hanno risposto (nel coro): da quello con 8 palline rosse!
Poi ho chiesto: perché la pensi così? E di nuovo, dopo circa un secondo (di nuovo pollici): "Perché allora è più facile disegnare una palla rossa!". Cioè, più facile = più probabile . Quella era la massima probabilità (è un esercizio facile scrivere il modello di probabilità), ed è "inferenza alla migliore spiegazione", cioè il rapimento.
(*) Perché dico "arbitrario?" Per continuare il problema di diagnosi medica, supponiamo che il paziente sia un uomo con qualche difficoltà a diagnosticare una condizione che il medico non ha visto prima. Quindi, diciamo, nel discorso con il paziente emerge che ha visitato qualche parte dell'Africa tropicale poco tempo fa. Questo è un nuovo dato, ma il suo effetto nei modelli tipici (usati in questo tipo di situazione, sia formale che informale) sarà quello di cambiare il precedente delle difficili spiegazioni possibili, poiché le malattie tropicali come la malaria ora aumenteranno probabilità precedente. Quindi i nuovi dati entrano nell'analisi in precedenza .
(Se i dati sono continui, leggere "densità di probabilità" per "probabilità". Quindi, se vengono misurati in pollici, la densità verrebbe misurata in probabilità per pollice.)
Facciamo una partita: sono in una stanza buia, nessuno può vedere cosa faccio ma sai che (a) lancio un dado e conto il numero di "1" come "successo" o (b) lancio una moneta e conto il numero di teste come "successo".
Come ho detto, non puoi vedere quale delle due cose faccio, ma ti do solo un singolo pezzo di informazione: ti dico che ho lanciato un dado 100 volte o che ho lanciato la moneta 100 volte e che ho avuto 17 successi .
La domanda è indovinare se ho lanciato un dado o lanciato una moneta.
Probabilmente risponderai che ho lanciato un dado.
Se lo fai, allora probabilmente hai "fatto un'ipotesi massimizzando la probabilità" perché se osservo 17 successi su 100 esperimenti, è più probabile che io abbia lanciato un dado piuttosto che ho lanciato una moneta.
Quindi quello che hai fatto è prendere quel valore della "probabilità di successo" (1/6 per un dado e 1/2 per una moneta) che rende più probabile l'osservazione di 17 successi su 100. "Più probabile" significa che il la possibilità di avere 17 volte un "1" su 100 tiri di dado è maggiore della possibilità di avere 17 teste su 100 lanci di monete.
o verosimiglianza:
Esempio
Innanzitutto, generiamo alcuni dati falsi:
set.seed(123)
x <- rnorm(1000, 1.78)
llik <- function(mu) sum(log(dnorm(x, mu)))
ll <- vapply(seq(-6, 6, by=0.001), llik, numeric(1))
plot(seq(-6, 6, by=0.001), ll, type="l", ylab="Log-Likelihood", xlab=expression(mu))
abline(v=mean(x), col="red")
Lo stesso potrebbe essere ottenuto più velocemente con un algoritmo di ottimizzazione che cerca il valore massimo di una funzione in un modo più intelligente della forza bruta . Esistono molti esempi simili, ad esempio uno dei più basilari in R è optimize
:
optimize(llik, interval=c(-6, 6), maximum=TRUE)$maximum
Questo esempio mostra come è possibile utilizzare più approcci per trovare il valore che massimizza la funzione di probabilità per trovare il valore "migliore" del parametro.
Supponi di avere una moneta. Lanciarlo può dare testa o croce. Ma non sai se è una moneta giusta. Quindi lo lanci 1000 volte. Si presenta come teste 1000 volte e mai come code.
Il MLE cerca di aiutarti a trovare la migliore spiegazione in una situazione come questa - quando hai qualche risultato e vuoi capire quale sia il valore del parametro che è più probabile che dia quel risultato. Qui, abbiamo 2000 teste su 2000 tiri - quindi useremmo un MLE per scoprire quale probabilità di ottenere una testa meglio spiega come ottenere 2000 teste su 2000 tiri.
È lo stimatore della massima verosimiglianza . Stima il parametro (qui, è una funzione di distribuzione di probabilità) che molto probabilmente ha prodotto il risultato che stai guardando.
Il modo in cui capisco MLE è questo: puoi solo vedere ciò che la natura vuole che tu veda. Le cose che vedi sono fatti. Questi fatti hanno un processo sottostante che l'ha generato. Questi processi sono nascosti, sconosciuti, devono essere scoperti. Quindi la domanda è: dato il fatto osservato, qual è la probabilità che il processo P1 l'abbia generato? Qual è la probabilità che il processo P2 l'abbia generato? E così via ... Una di queste probabilità sarà massima di tutte. MLE è una funzione che estrae quella massima probabilità.
Pensa a un lancio di monete; la moneta è di parte. Nessuno conosce il grado di pregiudizio. Potrebbe variare da o (tutte le code) a 1 (tutte le teste). Una moneta giusta sarà 0,5 (testa / coda ugualmente probabili). Quando esegui 10 lanci e osservi 7 teste, allora l'MLE è quel grado di pregiudizio che ha maggiori probabilità di produrre il fatto osservato di 7 teste in 10 tiri.