Tôi muốn xây dựng dự đoán cho một mô hình hỗn hợp (logistic qua glmer) trên một tập dữ liệu mới chỉ sử dụng các hiệu ứng cố định, giữ các hiệu ứng ngẫu nhiên thành 0. Nhưng tôi gặp khó khăn khi thiết lập ma trận mô hình để có thể tính toán chúng.
Vì lớp mer không có phương thức dự đoán và vì tôi muốn bỏ qua các hiệu ứng ngẫu nhiên cho các dự đoán trên tập dữ liệu mới, tôi nghĩ rằng tôi cần xây dựng một ma trận mô hình cho các hiệu ứng cố định của cùng một cấu trúc được sử dụng trong bản gốc mô hình, nhưng sử dụng dữ liệu mới. Sau đó nhân với các hệ số hiệu ứng cố định trong mô hình.
Phần hiệu ứng cố định trong công thức mô hình của tôi chứa các yếu tố và thuật ngữ tương tác giữa các hiệu ứng cố định số, do đó, nó phức tạp hơn một chút so với việc chỉ trích xuất các biến cố định từ ma trận. ví dụ: tôi cần đảm bảo mở rộng độ tương phản của yếu tố giống với nguyên bản, các điều khoản tương tác được liệt kê đúng, v.v.
Vì vậy, câu hỏi của tôi là: cách tiếp cận chung đơn giản hơn để xây dựng một ma trận mô hình mới bắt chước cấu trúc của ma trận mô hình ban đầu được sử dụng trong việc tạo mô hình là gì?
Tôi đã thử model.matrix (my.model, data = newdata) nhưng dường như điều đó trả về ma trận mô hình ban đầu, không phải là ma trận dựa trên newdata.
Mã mẫu:
library(lme4)
cake2 <- head(cake) # cake2 is "new" data frame for future predictions
# recipe is a fixed effect factor, temp is fixed effect numeric, replicate is random effect
m <- lmer(angle ~ temp + recipe + (1 | replicate), data=cake)
summary(m)
nrow(cake2) # but new data frame has 6 rows
nrow(cake) # original data frame has 270 rows
# attempt to make new model matrix using different data frame
mod.mat.cake2 <- model.matrix(m, data=cake2)
nrow(mod.mat.cake2) # 270 rows, same as orig data frame
Tôi đã thử các phương pháp khác như trích xuất các thuật ngữ từ công thức và xây dựng một công thức mới từ đó, nhưng nó có vẻ quá phức tạp và dễ vỡ trong việc xử lý các yếu tố và thuật ngữ tương tác.
Làm cách nào tôi có thể nhận mod.mat.cake2 trở thành ma trận mô hình hiệu ứng cố định dựa trên công thức tính bằng m, nhưng sử dụng các giá trị từ cake2? Hoặc có một cách dễ dàng hơn để có được các dự đoán chỉ có hiệu lực cố định từ một mô hình lmer?
Tất cả sự giúp đỡ được đánh giá cao. Cảm ơn bạn.
lm()và trích xuất ma trận mô hình từ sự phù hợp và áp dụng nó vào hệ số mô hình từ sự phù hợp trước đó.