Lắp một mô hình hỗn hợp đặc biệt trong R - các lựa chọn thay thế để tối ưu hóa ()


8

Tôi muốn làm một cái gì đó trong R mà SAS có thể thực hiện bằng cách sử dụng hỗn hợp của SAS (có một số cách để làm tốt trong STATA es), cụ thể là phù hợp với mô hình được gọi là Bivariate từ Reitsma et al (2005). Mô hình này là một mô hình hỗn hợp đặc biệt trong đó phương sai phụ thuộc vào nghiên cứu (xem bên dưới). Googling và nói chuyện với một số người quen thuộc với mô hình đã không mang lại một cách tiếp cận đơn giản, nhanh chóng cùng một lúc (tức là một chức năng phù hợp mô hình cấp cao đẹp). Tuy nhiên tôi chắc chắn, có một cái gì đó nhanh chóng trong R mà người ta có thể xây dựng.

Tóm lại, người ta phải đối mặt với tình huống sau: Cho các cặp tỷ lệ trong người ta muốn khớp một cặp biến đổi bình thường với các cặp biến đổi logit. Vì các tỷ lệ xuất phát từ bảng 2x2 (tức là dữ liệu nhị thức), mỗi tỷ lệ quan sát được chuyển đổi logit có ước tính phương sai sẽ được đưa vào quy trình khớp, giả sử . Vì vậy, người ta muốn điều chỉnh một phép chia đôi bình thường cho các cặp, trong đó ma trận hiệp phương sai phụ thuộc vào sự quan sát, nghĩa là(p1,p2)[0,1]2(s1,s2)Σ

(logit(p1),logit(p2))N((mu1,mu2),Σ+S)

Trong đó S là ma trận đường chéo có và phụ thuộc hoàn toàn vào dữ liệu nhưng thay đổi từ quan sát sang quan sát. mu và Sigma là như nhau cho tất cả các quan sát mặc dù.(s1,s2)

Ngay bây giờ tôi đang sử dụng một cuộc gọi đến optim()(sử dụng BFGS) để ước tính năm tham số ( , và ba tham số cho ). Tuy nhiên, điều này rất chậm và đặc biệt không phù hợp với mô phỏng. Ngoài ra một trong những mục tiêu của tôi là giới thiệu các hệ số hồi quy cho mu sau này, tăng số lượng tham số.μ1μ2Σ

Tôi đã thử tăng tốc độ phù hợp bằng cách cung cấp các giá trị bắt đầu và tôi cũng nghĩ về độ dốc tính toán cho năm tham số. Vì khả năng trở nên khá phức tạp do bổ sung , tôi cảm thấy nguy cơ giới thiệu lỗi theo cách này quá lớn và chưa thử, tôi cũng không thấy cách nào để kiểm tra tính toán của mình.S

Là tính toán của độ dốc thường có giá trị? Làm thế nào để bạn kiểm tra chúng?

Tôi biết về trình tối ưu hóa khác bên cạnh optim(), tức là nlm()và tôi cũng biết về chế độ xem Nhiệm vụ CRAN: Tối ưu hóa. Những cái nào đáng để thử?

Có những loại thủ thuật nào để tăng tốc optim()bên cạnh việc giảm độ chính xác?

Tôi sẽ rất biết ơn cho bất kỳ gợi ý.


Một số thảo luận ở đây
Henry

Các câu trả lời cho câu hỏi này có thể hữu ích: stats.stackexchange.com/questions/9535/ Khăn
Jason Morgan

@mbq: Cảm ơn bạn đã chuyển câu hỏi. Cũng cảm ơn bạn đã gợi ý cho các câu hỏi khác.
Philipp

Câu trả lời:


1

Đây có lẽ không phải là giải pháp mà bạn dự đoán, nhưng tôi nghĩ rằng bạn có thể phù hợp với mô hình này với brms (nghĩa là giao diện với Stan), với cái mà nó gọi là 'mô hình phân phối' ... xem https: //cran.r- project.org/web/packages/brms/vignettes/brms_distreg.html

Xem thêm các họa tiết tổng quan ở đây cho thấy làm thế nào để phù hợp với mô hình nhị thức. https://cran.r-project.org/web/packages/brms/vignettes/brms_overview.pdf

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.