랜덤 효과를 추가하면 계수 추정치에 영향을 미칩니다


10

나는 무작위 효과가 분산 (오류)에만 영향을 미치고 고정 효과는 평균에만 영향을 미친다는 것을 항상 배웠습니다. 그러나 랜덤 효과가 평균에 영향을 미치는 예-계수 추정치를 찾았습니다.

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
y[c(1:(n/2), (n*k-n/2):(n*k))] <- NA

m1 <- lm(y ~ x)
summary(m1)

m2 <- lm(y ~ cat + x)
summary(m2)

m3 <- lme(y ~ x, random = ~ 1|cat, na.action = na.omit)
summary(m3)

x모델 의 추정 계수 m1는 -0.013780이고 모델의 경우 0.0011713이며 m3모두 0과 크게 다릅니다.

누락 된 데이터를 시뮬레이트하는 선을 제거하면 결과는 동일합니다 (풀 매트릭스입니다).

왜 그런 겁니까?

추신 : 나는 전문 통계가가 아니므로주의하십시오. 많은 수학으로 응답하려고한다면 인형에 대한 간단한 요약도 작성하십시오 :-)


"모델에서 m30.0011713"대신 이라고 말하고 싶은 것 같습니다 m2.
usεr11852

죄송합니다, @ user11852 죄송합니다. 감사합니다. (BTW, m2그것은 또한 유효 하기 때문에 ( 또 다른 질문의 대상이 됩니다.)
Curious

답변:


11

"무작위 효과는 분산 (오류)에만 영향을 미치며 고정 효과는 평균에만 영향을 미칩니다."

아시다시피, 이는 연속 예측 변수가없는 균형 잡힌 완전 (즉, 누락 된 데이터가 없음) 데이터 세트에 대해서만 적용됩니다. 다시 말해, 고전적인 분산 분석 텍스트에서 논의 된 데이터 / 모델의 종류에 대한 것입니다. 이러한 이상적인 상황에서 고정 효과와 임의 효과는 서로 독립적으로 추정 할 수 있습니다.

이러한 조건이 유지되지 않는 경우 (매우 "실제 세계"에 있지 않기 때문에) 고정 효과와 임의 효과는 독립적이지 않습니다. 흥미로운 점은 이것이 바로 "모던"혼합 모델이 고전 혼합 ANOVA 사례에서와 같이 약간의 행렬 대수로 정확하게 해석되지 않고 반복 최적화 방법을 사용하여 추정되는 이유입니다. 고정 효과를 추정하려면 고정 효과를 추정해야합니다. 랜덤 효과를 알고 있지만, 랜덤 효과를 추정하려면 고정 효과를 알아야합니다! 이 질문과 더 관련이있는 것은 데이터가 불균형 / 불완전하거나 모형에 연속 예측 변수가있을 때 혼합 모형의 랜덤 효과 구조를 조정하면 모형의 고정 부분의 추정치가 변경 될 수 있음을 의미합니다. , 그 반대.

2016-07-05를 편집하십시오. 주석에서 : " 연속 예측 변수가 모형의 고정 부분 추정값에 영향을 미치는 이유를 자세히 설명하거나 인용 할 수 있습니까? "

모델의 고정 부분에 대한 추정 모델의 임의의 부분에 대한 추정치들에 의존 할 것이다 -이고, 상기 추정 된 분산 부품 - 만약 (뿐만 아니라 경우)의 분산 예측의 클러스터에 걸쳐 상이하다. 예측 변수 중 하나라도 연속적인 경우 (적어도 "실제 세계"데이터에서 이론적으로는 이것이 사실이 아닐 수 있습니다 (예 : 구성된 데이터 세트)), 이는 거의 확실합니다.


왜 연속 예측 변수가 모형의 고정 부분 추정값에 영향을 미치는지에 대해 자세히 설명하거나 인용 할 수 있습니까?
robin.datadrivers 2016 년

@ robin.datadrivers 좋아, 그것에 대해 조금 추가했습니다
Jake Westfall

3

첫 번째 단계에서는 인구 가치에 대한 축소 를 무시하고 있다고 생각 합니다. " 혼합 효과 모델 별 주제 슬로프와 차단 가까이 인구에있는 피험자 내 최소 제곱 추정치보다 추정하고있다. "[참조. 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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.