Trong R, được đưa ra một đầu ra từ tối ưu hóa với ma trận hessian, làm thế nào để tính khoảng tin cậy tham số bằng cách sử dụng ma trận hessian?


22

Đưa ra một đầu ra từ tối ưu hóa với ma trận hessian, làm thế nào để tính khoảng tin cậy tham số bằng ma trận hessian?

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

hessian<-fit$hessian

Tôi chủ yếu quan tâm đến bối cảnh phân tích khả năng tối đa, nhưng tôi tò mò muốn biết liệu phương pháp này có thể được mở rộng hơn nữa không.


2
Câu hỏi này quá mơ hồ. Những loại khoảng tin cậy? Những loại mô hình mà bạn quan tâm? Cân nhắc xem xét các tài liệu trước khi đăng 3 câu hỏi liên tiếp.

Phương pháp nên độc lập với khoảng và mô hình.
Etienne Low-Décarie

Bạn tối ưu hóa chức năng gì?
Stéphane Laurent

Tôi đã nói rằng tôi sẽ có thể làm điều này độc lập với mô hình tôi sử dụng.
Etienne Low-Décarie

Corey Chivers cung cấp câu trả lời.
Etienne Low-Décarie

Câu trả lời:


32

Nếu bạn đang tối đa hóa khả năng thì ma trận hiệp phương sai của các ước tính là (không có triệu chứng) nghịch đảo âm của Hessian. Các lỗi tiêu chuẩn là căn bậc hai của các phần tử đường chéo của hiệp phương sai ( từ các nơi khác trên web!, Từ Giáo sư Thomas Lumley và Spencer Graves, Eng.).

Đối với khoảng tin cậy 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)

Lưu ý rằng:

  • Nếu bạn đang tối đa hóa nhật ký (khả năng), thì NEGECT của hessian là "thông tin quan sát" (chẳng hạn như ở đây).
  • Nếu bạn TỐI THIỂU một bản ghi "lệch lạc" = (-2) * (khả năng), thì HALF của hessian là thông tin được quan sát.
  • Trong trường hợp không chắc là bạn đang tối đa hóa khả năng của chính nó, bạn cần phân chia tiêu cực của hessian bằng khả năng có được thông tin quan sát được.

Xem điều này để biết thêm các hạn chế do thói quen tối ưu hóa được sử dụng.


Corey Chivers cung cấp câu trả lời.
Etienne Low-Décarie

2
(+1) Nghịch đảo của hessian âm là một công cụ ước tính của ma trận hiệp phương sai tiệm cận - Tôi biết điều này xuất hiện trong mã của bạn nhưng tôi nghĩ điều quan trọng là phải chỉ ra.
Macro

1
Câu trả lời tuyệt vời, giới hạn trên và dưới nên đọc upper<-fit$par+1.96*(prop_sigma/sqrt(n)) lower<-fit$par-1.96*(prop_sigma/sqrt(n))? Cảm ơn
dự báo

3
Tại sao không xóa dòng 4?
Jason

2
Là bao gồm các dòng prop_sigma<-diag(prop_sigma)một lỗi?
Mark Miller
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.