Ở cấp độ đầu tiên, tôi nghĩ rằng tất cả các bạn đang bỏ qua sự thu hẹp đối với các giá trị dân số; "Độ dốc cho mỗi đối tượng và các phần chặn từ mô hình hiệu ứng hỗn hợp gần với ước tính dân số hơn so với ước tính bình phương nhỏ nhất trong chủ đề. " [ref. 1]. Liên kết sau đây có lẽ cũng sẽ có ích ( Các mô tả thích hợp để xem xét các mô hình hỗn hợp của tôi là gì? ), Xem câu trả lời của Mike Lawrence).
Hơn nữa, tôi nghĩ rằng bạn không may mắn trong ví dụ đồ chơi của mình bởi vì bạn có một thiết kế cân bằng hoàn hảo khiến bạn có cùng ước tính chính xác trong trường hợp không có giá trị bị thiếu.
Hãy thử đoạn mã sau có cùng quy trình không có giá trị bị thiếu ngay bây giờ:
cat <- as.factor(sample(1:5, n*k, replace=T) ) #This should be a bit unbalanced.
cat_i <- 1:k # intercept per kategorie
x <- rep(1:n, k)
sigma <- 0.2
alpha <- 0.001
y <- cat_i[cat] + alpha * x + rnorm(n*k, 0, sigma)
m1 <- lm(y ~ x)
m3 <- lme(y ~ x, random = ~ 1|cat, na.action = na.omit)
round(digits= 7,fixef(m3)) == round(digits=7, coef(m1)) #Not this time lad.
#(Intercept) x
# FALSE FALSE
Bây giờ, vì thiết kế của bạn không cân bằng hoàn hảo, bạn không có cùng ước tính hệ số.
Trên thực tế nếu bạn chơi cùng với mẫu giá trị còn thiếu của bạn một cách ngớ ngẩn (ví dụ y[ c(1:10, 100 + 1:10, 200 + 1:10, 300 + 1:10, 400 +1:10)] <- NA
:) vì vậy thiết kế của bạn vẫn hoàn toàn cân bằng, bạn sẽ lại nhận được các hệ số tương tự.
require(nlme)
set.seed(128)
n <- 100
k <- 5
cat <- as.factor(rep(1:k, each = n))
cat_i <- 1:k # intercept per kategorie
x <- rep(1:n, k)
sigma <- 0.2
alpha <- 0.001
y <- cat_i[cat] + alpha * x + rnorm(n*k, 0, sigma)
plot(x, y)
# simulate missing data in a perfectly balanced way
y[ c(1:10, 100 + 1:10, 200 + 1:10, 300 + 1:10, 400 +1:10)] <- NA
m1 <- lm(y ~ x)
m3 <- lme(y ~ x, random = ~ 1|cat, na.action = na.omit)
round(digits=7,fixef(m3)) == round(digits=7, coef(m1)) #Look what happend now...
#(Intercept) x
# TRUE TRUE
Bạn bị nhầm lẫn một chút bởi thiết kế hoàn hảo của thí nghiệm ban đầu của bạn. Khi bạn chèn NA vào một vị trí không cân bằng, bạn đã thay đổi mô hình về mức độ "sức mạnh" mà các chủ thể riêng lẻ có thể mượn lẫn nhau.
Nói tóm lại, sự khác biệt bạn thấy là do hiệu ứng co ngót và cụ thể hơn là do bạn đã làm biến dạng thiết kế cân bằng hoàn hảo ban đầu của mình với các giá trị thiếu không cân bằng hoàn hảo.
Tham chiếu 1: Douglas Bates lme4: Mô hình hiệu ứng hỗn hợp với R , trang 71-72
m3
nó là 0,0011713" thay vìm2
.