Đây có thể là báo cáo lỗi hơn câu hỏi, nhưng: tại sao sử dụng đối số newdata
để dự đoán sử dụng cùng một tập dữ liệu như dữ liệu đào tạo đôi khi tạo ra các dự đoán khác nhau bỏ qua đối số newdata
và sử dụng tập dữ liệu đào tạo một cách rõ ràng?predict.gifmer trên tập huấn luyện khác nhau và không có newdata
library(lme4)
packageVersion("lme4") # 1.1.8
m1 <- glmer(myformula, data=X, family="binomial")
p1 <- predict(m1, type="response")
p2 <- predict(m1, type="response", newdata=X)
all(p1==p2) # FALSE
Đây không chỉ là lỗi làm tròn. Tôi đang thấy số cor(p1,p2)
trả lại 0,8.
Điều này dường như bị cô lập với các kiểu có sườn dốc. Trong ô sau, ẩn ngụ có nghĩa là predict(..., type="response")
không có dữ liệu mới và rõ ràng có nghĩa là predict(..., type="response", newdata=X)
, trong đó X giống như đào tạo. Sự khác biệt duy nhất giữa mô hình 1 và các mô hình khác là mô hình 1 chỉ chứa (ngẫu nhiên) các chặn, và các mô hình khác có các chặn ngẫu nhiên và các sườn ngẫu nhiên.
Nó sẽ rất hữu ích để cung cấp một [tái sản xuất ví dụ] (http://stackoverflow.com/questions/5963269/how-to- ví dụ tạo mẫu) với dữ liệu đầu vào mẫu sao cho chúng tôi cũng có thể chạy mã để xác minh. Hãy chắc chắn bao gồm cách bạn chỉ định công thức. – MrFlick
@MrFlick; thử với 'm1 <- lmer (Reaction ~ Days + (Days || Subject), sleepstudy)' – user20650
Hmm, các dự đoán bằng nhau bằng 'newX' thay vì' newdata' – user20650