첫 번째 단계에서는 인구 가치에 대한 축소 를 무시하고 있다고 생각 합니다. " 혼합 효과 모델 별 주제 슬로프와 차단 가까이 인구에있는 피험자 내 최소 제곱 추정치보다 추정하고있다. "[참조. 1]. 다음 링크는 아마도 도움이 될 것입니다 ( 혼합 모델을 볼 적절한 설명은 무엇입니까? ), Mike Lawrence의 답변을 참조하십시오.
또한, 당신은 완벽하게 균형 잡힌 디자인을 가지고 있기 때문에 당신이 장난감 예제에서 약간의 운이 없다고 생각합니다.
결 측값없이 동일한 프로세스를 가진 다음 코드를 사용해보십시오.
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
현재 설계의 균형이 완벽하지 않기 때문에 계수 추정치가 동일하지 않습니다.
실제로 결 측값 패턴과 함께 바보 같은 방식으로 재생하면 (예 :) y[ c(1:10, 100 + 1:10, 200 + 1:10, 300 + 1:10, 400 +1:10)] <- NA
설계가 여전히 완벽하게 균형을 이룰 경우 동일한 계수를 다시 얻을 수 있습니다.
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
원래 실험의 완벽한 디자인으로 인해 약간의 오차가 발생합니다. NA를 균형이 맞지 않는 곳에 삽입했을 때 개별 과목이 서로 빌릴 수있는 "강도"의 패턴을 변경했습니다.
요컨대, 차이점은 수축 효과 때문이며, 특히 완벽하게 균형이 맞지 않는 결 측값으로 원래 완벽하게 균형 잡힌 설계를 왜곡했기 때문입니다.
참조 1 : Douglas Bates lme4 : R을 사용한 혼합 효과 모델링 , 페이지 71-72
m3
0.0011713"대신 이라고 말하고 싶은 것 같습니다m2
.