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à.

Etienne Low-Décarie
la source
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.

Etienne Low-Décarie
la source
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