Tôi đang cố gắng dự đoán kết quả nhị phân bằng 50 biến giải thích liên tục (phạm vi của hầu hết các biến là to ). Tập dữ liệu của tôi có gần 24.000 hàng. Khi tôi chạy trong R, tôi nhận được:glm
Warning messages:
1: glm.fit: algorithm did not converge
2: glm.fit: fitted probabilities numerically 0 or 1 occurred
Tôi đã đọc các phản hồi khác cho thấy sự phân tách hoàn hảo có thể xảy ra, nhưng tôi tin rằng đó không phải là trường hợp trong dữ liệu của tôi (mặc dù có thể tồn tại sự tách biệt hoàn toàn; tôi có thể kiểm tra xem liệu đó có phải là trường hợp không?) . Nếu tôi loại bỏ một số biến, lỗi "không hội tụ" có thể biến mất. Nhưng đó không phải là điều luôn xảy ra.
Tôi đã thử sử dụng cùng một biến trong một bayesglm
hàm và nhận được cùng một lỗi.
Những bước bạn sẽ làm để tìm ra chính xác những gì đang xảy ra ở đây? Làm thế nào để bạn tìm ra các biến đang gây ra vấn đề?
bayesglm
cố gắng tránh sự tách biệt bằng cách thêm một ưu tiên, nhưng với 24.000 hàng, ưu tiên có thể bị thay đổi bởi khả năng. Hãy thử thu nhỏ prior.scale
, có thể bằng một lượng lớn. Cũng xem xét tăng mức độ tự do của các ưu tiên, điều này sẽ giúp loại bỏ các giá trị lớn liên quan đến sự tách biệt.
bayesglm
giấy , họ cho rằng tách là "một vấn đề phổ biến, ngay cả khi kích thước mẫu là lớn và số lượng dự đoán là nhỏ"