Rでは、ヘッセ行列を使用したoptimからの出力が与えられた場合、ヘッセ行列を使用してパラメーターの信頼区間を計算する方法は?


22

ヘッセ行列を使用したoptimからの出力が与えられた場合、ヘッセ行列を使用してパラメータ信頼区間を計算する方法

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

hessian<-fit$hessian

最尤分析のコンテキストに主に興味を持っていますが、この方法を超えて拡張できるかどうか知りたいです。


2
この質問は曖昧すぎます。どのような信頼区間ですか?どのようなモデルに興味がありますか?3つの質問を連続して投稿する前に、文献を確認することを検討してください。

この方法は、間隔とモデルから独立している必要があります。
エティエンヌローデカリー

どの機能を最適化しますか?
ステファンローラン

私は、使用するモデルとは無関係にこれを行うことができるはずだと言われました。
エティエンヌローデカリー

Corey Chiversが答えを提供しました。
エティエンヌローデカリー

回答:


32

尤度を最大化する場合、推定の共分散行列は(漸近的に)ヘッセ行列の負の逆行列になります。標準誤差は、共分散の対角要素の平方根です(ウェブ上の他の場所から、トーマス・ラムリー教授とスペンサー・グレイブス、ENG)。

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)

ご了承ください:

  • ログ(尤度)を最大化する場合、ヘシアンの負は「観測情報」(ここなど)です。
  • 「偏差」=(-2)* log(likelihood)を最小化すると、ヘシアンの半分が観測された情報になります。
  • 万が一、尤度自体を最大化している場合は、ヘッシアンのネガティブを観測情報を取得する尤度で除算する必要があります。

使用される最適化ルーチンによるさらなる制限については、これを参照してください。


Corey Chiversが答えを提供しました。
エティエンヌローデカリー

2
(+1)負のヘシアンの逆関数は漸近共分散行列の推定量です-これはあなたのコードに現れることは知っていますが、指摘することが重要だと思います。
マクロ

1
優れた答え、上限と下限を読み取る必要がありますupper<-fit$par+1.96*(prop_sigma/sqrt(n)) lower<-fit$par-1.96*(prop_sigma/sqrt(n))か?ありがとう
予報官

3
行4を削除してみませんか?
ジェイソン

2
行を含めることprop_sigma<-diag(prop_sigma)はエラーですか?
マークミラー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.