ใน R ให้ผลลัพธ์จากออพติไมซ์ด้วยเมทริกซ์แบบ Hessian วิธีการคำนวณช่วงความเชื่อมั่นของพารามิเตอร์โดยใช้เมทริกซ์เฮสเซียน?


22

ให้ผลลัพธ์จากออพติไมซ์ด้วยเมทริกซ์แบบ Hessian จะคำนวณช่วงความเชื่อมั่นของพารามิเตอร์โดยใช้เมทริกซ์แบบเฮสเซียนได้อย่างไร

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

hessian<-fit$hessian

ฉันส่วนใหญ่สนใจในบริบทของการวิเคราะห์ความน่าจะเป็นสูงสุด แต่ฉันอยากรู้ว่าวิธีการนั้นสามารถขยายออกไปได้หรือไม่


2
คำถามนี้คลุมเครือเกินไป ช่วงเวลาของความมั่นใจเป็นอย่างไร คุณสนใจโมเดลรุ่นใด ลองพิจารณาวรรณกรรมก่อนโพสต์คำถาม 3 ข้อติดกัน

วิธีการควรเป็นอิสระจากช่วงเวลาและรูปแบบ
Etienne Low-Décarie

ฟังก์ชันใดที่คุณปรับให้เหมาะสม
Stéphane Laurent

ฉันถูกบอกว่าฉันควรจะทำสิ่งนี้ได้โดยอิสระจากโมเดลที่ฉันใช้
Etienne Low-Décarie

Corey Chivers ให้คำตอบ
Etienne Low-Décarie

คำตอบ:


32

หากคุณเพิ่มความเป็นไปได้ให้มากที่สุดเมทริกซ์ความแปรปรวนร่วมของการประมาณจะเป็น (เชิงเส้นกำกับ) ค่าผกผันของค่าลบของ Hessian ข้อผิดพลาดมาตรฐานคือรากที่สองขององค์ประกอบเส้นทแยงมุมของความแปรปรวนร่วม ( จากที่อื่นบนเว็บ! , จาก Prof. Thomas Lumley และ Spencer Graves, 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)

โปรดทราบว่า:

  • หากคุณเพิ่มบันทึก (โอกาส) ให้มากที่สุดค่าลบของรัฐคือ "ข้อมูลที่สังเกต" (เช่นที่นี่)
  • หากคุณย่อขนาด "deviance" = (-2) * log (ความน่าจะเป็น) แสดงว่าครึ่งหนึ่งของกระสอบที่เป็นข้อมูลที่สังเกตได้
  • ในกรณีที่ไม่น่าเป็นไปได้ที่คุณกำลังเพิ่มโอกาสสูงสุดนั้นเองคุณต้องแบ่งความเป็นไปได้ในเชิงลบของคนเซียนโดยโอกาสที่จะได้รับข้อมูลที่สังเกตได้

ดูสิ่งนี้สำหรับข้อ จำกัด เพิ่มเติมเนื่องจากการปรับใช้ตามปกติ


Corey Chivers ให้คำตอบ
Etienne Low-Décarie

2
(+1) ค่าผกผันของ hessian เชิงลบเป็นตัวประมาณของเมทริกซ์ความแปรปรวนร่วมแบบซีมโทติค - ฉันรู้ว่าสิ่งนี้ปรากฏในรหัสของคุณ แต่ฉันคิดว่ามันสำคัญที่จะต้องชี้ให้เห็น
มาโคร

1
คำตอบที่ดีควรอ่านบนและล่างupper<-fit$par+1.96*(prop_sigma/sqrt(n)) lower<-fit$par-1.96*(prop_sigma/sqrt(n))? ขอขอบคุณ
นักพยากรณ์

3
ทำไมไม่ลบบรรทัด 4
Jason

2
รวมถึงprop_sigma<-diag(prop_sigma)ข้อผิดพลาดบรรทัดหรือไม่?
มาร์คมิลเลอร์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.