Binomial glmm với một biến phân loại với thành công đầy đủ


11

Tôi đang chạy một glmm với một biến phản ứng nhị thức và một công cụ dự đoán phân loại. Hiệu ứng ngẫu nhiên được đưa ra bởi thiết kế lồng nhau được sử dụng để thu thập dữ liệu. Dữ liệu trông như thế này:

m.gen1$treatment
 [1] sucrose      control      protein      control      no_injection .....
Levels: no_injection control sucrose protein
m.gen1$emergence 
 [1]  1  0  0  1  0  1  1  1  1  1  1  0  0....
> m.gen1$nest
 [1] 1  1  1  2  2  3  3  3  3  4  4  4  .....
Levels: 1 2 3 4 5 6 8 10 11 13 15 16 17 18 20 22 24

Mô hình đầu tiên tôi chạy trông như thế này

m.glmm.em.<-glmer(emergence~treatment + (1|nest),family=binomial,data=m.gen1)

Tôi nhận được hai cảnh báo giống như thế này:

Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  Model failed to converge with max|grad| = 0.0240654 (tol = 0.001, component 4)
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  Model is nearly unidentifiable: large eigenvalue ratio
 - Rescale variables?

Tóm tắt mô hình cho thấy rằng một trong các phương pháp điều trị có lỗi tiêu chuẩn lớn bất thường, bạn có thể thấy ở đây:

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)  
(Intercept)         2.565      1.038   2.472   0.0134 *
treatmentcontrol   -1.718      1.246  -1.378   0.1681  
treatmentsucrose   16.863   2048.000   0.008   0.9934  
treatmentprotein   -1.718      1.246  -1.378   0.1681 

Tôi đã thử các trình tối ưu hóa khác nhau từ điều khiển ánh sáng và các chức năng từ các gói khác và tôi nhận được một đầu ra tương tự. Tôi đã chạy mô hình bằng cách sử dụng glm bỏ qua hiệu ứng ngẫu nhiên và vấn đề vẫn còn. Trong khi khám phá dữ liệu tôi nhận ra rằng việc điều trị với Std cao. lỗi chỉ thành công trong biến phản ứng. Chỉ để kiểm tra xem điều đó có thể gây ra sự cố hay không, tôi đã thêm một điểm dữ liệu giả với "lỗi" cho việc xử lý đó và mô hình chạy trơn tru và đưa ra lỗi tiêu chuẩn hợp lý. Bạn có thể nhìn thấy cái đó ở kia:

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)  
(Intercept)        3.4090     1.6712   2.040   0.0414 *
treatmentcontrol  -1.8405     1.4290  -1.288   0.1978  
treatmentsucrose  -0.2582     1.6263  -0.159   0.8738  
treatmentprotein  -2.6530     1.5904  -1.668   0.0953 .

Tôi đã tự hỏi nếu trực giác của tôi là đúng về việc thiếu thất bại cho điều trị đó ngăn ngừa một ước tính tốt, và làm thế nào tôi có thể làm việc xung quanh vấn đề này.

Cảm ơn trước!

Câu trả lời:


15

Trực giác của bạn là chính xác. Hiện tượng này được gọi là tách hoàn toàn . Bạn có thể tìm thấy khá nhiều (bây giờ bạn biết tên của nó) Googling xung quanh ... Nó được thảo luận khá kỹ lưỡng ở đây trong một bối cảnh chung , và ở đây trong bối cảnh của GLMM . Giải pháp tiêu chuẩn cho vấn đề này là thêm một thuật ngữ nhỏ đẩy các tham số về 0 - trong bối cảnh thường xuyên, điều này được gọi là phương pháp sửa lỗi hoặc sai lệch . Thuật toán tiêu chuẩn là do Firth (1993, "Giảm thiên vị ước tính khả năng tối đa" Biometrika 80, 27-38) và được triển khai trong gói logistftrên CRAN. Trong bối cảnh Bayes, điều này được đóng khung là thêm một điểm yếu trước các tham số hiệu ứng cố định.

Theo hiểu biết của tôi, thuật toán của Firth chưa được mở rộng sang GLMM, nhưng bạn có thể sử dụng thủ thuật Bayes bằng cách sử dụng gói blme , đặt một lớp Bayesian mỏng lên trên cùng của lme4gói. Dưới đây là một ví dụ từ cuộc thảo luận GLMM được liên kết ở trên:

cmod_blme_L2 <- bglmer(predation~ttt+(1|block),data=newdat,
                   family=binomial,
                   fixef.prior = normal(cov = diag(9,4)))

Hai dòng đầu tiên trong ví dụ này hoàn toàn giống như chúng ta sẽ sử dụng trong glmermô hình chuẩn ; cái cuối cùng xác định rằng ưu tiên cho các hiệu ứng cố định là phân phối chuẩn nhiều biến số với ma trận phương sai - hiệp phương sai. Ma trận là 4 x 4 (vì chúng ta có 4 tham số hiệu ứng cố định trong ví dụ này) và phương sai trước của mỗi tham số là 9 (tương ứng với độ lệch chuẩn là 3, khá yếu - có nghĩa là +/- 2SD là ( -6,6), đó là một phạm vi rất lớn trên thang đo logit).

Các lỗi tiêu chuẩn rất lớn của các tham số trong ví dụ của bạn là một ví dụ về một hiện tượng liên quan chặt chẽ đến sự phân tách hoàn toàn (nó xảy ra bất cứ khi nào chúng ta nhận được các giá trị tham số cực đoan trong mô hình logistic) được gọi là hiệu ứng Hauck-Donner .

Hai tài liệu tham khảo hữu ích hơn (bản thân tôi chưa tìm hiểu kỹ về chúng):

  • Gelman A, Jakulin A, Pittau MG và Su TS (2008) Một phân phối mặc định trước thông tin yếu cho các mô hình hồi quy và hậu cần khác. Biên niên sử thống kê ứng dụng , 2, 1360 Từ383.
  • José Cortiñas Abrahantes và Marc Aerts (2012) Một giải pháp phân tách dữ liệu nhị phân phân cụm Mô hình thống kê 12 (1): 3 mật27 doi: 10.1177 / 1471082X1001200102

Một tìm kiếm học thuật gần đây hơn của Google cho "bglmer 'tách hoàn toàn" "tìm thấy:

  • Quiñones, AE và WT Wcislo. Chăm sóc cá bố mẹ mở rộng mật mã trong mồ hôi trực quan Eusocial Bee Megalopta genalis . Côn trùng Sociaux 62.3 (2015): 307 trừ313.

wow cảm ơn rất nhiều !! Điều này làm cho ý nghĩa hoàn hảo, và mô hình bây giờ chạy trơn tru với bglmer. Tôi chỉ có một câu hỏi nữa, tôi có thể sử dụng các phương thức như trong lme4 để khẳng định các hiệu ứng ngẫu nhiên và cố định, nói cách khác là so sánh các mô hình khác nhau không?

2
Tôi sẽ nói như vậy, nhưng tôi không biết liệu có bất kỳ sự hỗ trợ chính thức và / hoặc đánh giá ngang hàng nào cho ý kiến ​​của tôi không ...
Ben Bolker

Cảm ơn! Đây chính xác là vấn đề của tôi. Theo dõi nhanh: ngược lại với ví dụ của bạn, có một yếu tố với 4 cấp độ, tôi có thiết kế 2 x 2 trong đó mỗi yếu tố có 2 cấp độ (vì vậy tổng số vẫn là 4 cấp độ). Tôi cũng có thể sử dụng diag (9,4) cho mô hình của mình không? Tôi không rành về ma trận nên tôi muốn kiểm tra lại. Liên quan, để biện minh cho giải pháp này trong bài báo của tôi, tôi nên trích dẫn Firth (1993) hoặc có một bài báo liên quan trực tiếp hơn, đã triển khai giải pháp của bạn bằng cách sử dụng bglmer ()?
Sol

2
xem câu trả lời cập nhật.
Ben Bolker

2
Tôi nghĩ vậy - chỉ có tổng số có bao nhiêu tham số hiệu ứng cố định.
Ben Bolker
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.