Dans R, étant donné une sortie d'optim avec une matrice de Hesse, comment calculer les intervalles de confiance des paramètres en utilisant la matrice de Hesse?


22

Étant donné une sortie d'optim avec une matrice de Hesse, comment calculer les intervalles de confiance des paramètres à l'aide de la matrice de Hesse?

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

hessian<-fit$hessian

Je m'intéresse principalement au contexte de l'analyse du maximum de vraisemblance, mais je suis curieux de savoir si la méthode peut être étendue au-delà.


2
Cette question est trop vague. Quel genre d'intervalles de confiance? Quels types de modèles vous intéressent? Pensez à jeter un œil à la littérature avant de poster 3 questions d'affilée.

La méthode doit être indépendante de l'intervalle et du modèle.
Etienne Low-Décarie

Quelle fonction optimisez-vous?
Stéphane Laurent

On m'a dit que je devrais pouvoir le faire indépendamment du modèle que j'utilise.
Etienne Low-Décarie

Corey Chivers a fourni la réponse.
Etienne Low-Décarie

Réponses:


32

Si vous maximisez une vraisemblance, la matrice de covariance des estimations est (asymptotiquement) l'inverse du négatif de la Hesse. Les erreurs standard sont les racines carrées des éléments diagonaux de la covariance ( d'ailleurs sur le web!, Du professeur Thomas Lumley et Spencer Graves, ing.).

Pour un intervalle de confiance à 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)

Notez que:

  • Si vous maximisez le log (vraisemblance), alors le NÉGATIF ​​de la toile de jute est l '"information observée" (comme ici).
  • Si vous minimisez une "déviance" = (-2) * log (vraisemblance), alors la MOITIÉ de la toile de jute est l'information observée.
  • Dans le cas peu probable où vous maximisez la probabilité elle-même, vous devez diviser le négatif de la toile de jute par la probabilité d'obtenir les informations observées.

Voir ceci pour d'autres limitations dues à la routine d'optimisation utilisée.


Corey Chivers a fourni la réponse.
Etienne Low-Décarie

2
(+1) L' inverse de la toile de jute négative est un estimateur de la matrice de covariance asymptotique - je sais que cela apparaît dans votre code mais je pense qu'il est important de le souligner.
Macro

1
Excellente réponse, les limites supérieures et inférieures doivent-elles être lues upper<-fit$par+1.96*(prop_sigma/sqrt(n)) lower<-fit$par-1.96*(prop_sigma/sqrt(n))? Merci
prévisionniste

3
Pourquoi ne pas supprimer la ligne 4?
Jason

2
L'inclusion de la ligne est-elle prop_sigma<-diag(prop_sigma)une erreur?
Mark Miller
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.