In R, dato un output di optim con una matrice hessiana, come calcolare gli intervalli di confidenza dei parametri usando la matrice hessiana?


22

Dato un output da optim con una matrice hessiana, come calcolare gli intervalli di confidenza dei parametri usando la matrice hessian?

fit<-optim(..., hessian=T)

hessian<-fit$hessian

Sono principalmente interessato al contesto della massima verosimiglianza, ma sono curioso di sapere se il metodo può essere esteso oltre.


2
Questa domanda è troppo vaga. Che tipo di intervalli di confidenza? A che tipo di modelli sei interessato? Considera di dare un'occhiata alla letteratura prima di pubblicare 3 domande di seguito.

Il metodo dovrebbe essere indipendente dall'intervallo e dal modello.
Etienne Low-Décarie,

Quale funzione ottimizzi?
Stéphane Laurent,

Mi è stato detto che avrei dovuto essere in grado di farlo indipendentemente dal modello che utilizzo.
Etienne Low-Décarie,

Corey Chivers ha fornito la risposta.
Etienne Low-Décarie,

Risposte:


32

Se si sta massimizzando una probabilità, la matrice di covarianza delle stime è (asintoticamente) l'inverso del negativo dell'Assia. Gli errori standard sono le radici quadrate degli elementi diagonali della covarianza ( da altrove sul web ! , del Prof. Thomas Lumley e Spencer Graves, Ing.).

Per un intervallo di confidenza del 95%

fit<-optim(pars,li_func,control=list("fnscale"=-1),hessian=TRUE,...)
fisher_info<-solve(-fit$hessian)
prop_sigma<-sqrt(diag(fisher_info))
prop_sigma<-diag(prop_sigma)
upper<-fit$par+1.96*prop_sigma
lower<-fit$par-1.96*prop_sigma
interval<-data.frame(value=fit$par, upper=upper, lower=lower)

Nota che:

  • Se stai massimizzando il log (verosimiglianza), allora il NEGATIVO dell'assia è l '"informazione osservata" (come qui).
  • Se si MINIMIZZA una "devianza" = (-2) * log (verosimiglianza), allora la MEZZA della tela di iuta è l'informazione osservata.
  • Nel caso improbabile che si stia massimizzando la probabilità stessa, è necessario dividere il negativo dell'assia per la probabilità di ottenere le informazioni osservate.

Vedi questo per ulteriori limitazioni dovute alla routine di ottimizzazione utilizzata.


Corey Chivers ha fornito la risposta.
Etienne Low-Décarie,

2
(+1) L' inverso dell'assia negativa è uno stimatore della matrice di covarianza asintotica - So che questo appare nel tuo codice ma penso che sia importante sottolineare.
Macro,

1
Risposta eccellente, dovrebbero leggere i limiti superiore e inferiore upper<-fit$par+1.96*(prop_sigma/sqrt(n)) lower<-fit$par-1.96*(prop_sigma/sqrt(n))? Grazie
previsioni

3
Perché non cancellare la riga 4?
Jason,

2
Includere la riga è prop_sigma<-diag(prop_sigma)un errore?
Mark Miller,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.