R에서 가정 lmer / lme 혼합 모델 확인


25

반복 된 디자인을 실행하여 세 가지 작업에서 30 명의 남성과 30 명의 여성을 테스트했습니다. 나는 남성과 여성의 행동이 어떻게 다른지 그리고 그것이 어떻게 과제에 달려 있는지 이해하고 싶습니다. 나는 이것을 조사하기 위해 lmer와 lme4 패키지를 모두 사용했지만 두 가지 방법에 대한 가정을 확인하려고 노력하고 있습니다. 내가 실행하는 코드는

lm.full <- lmer(behaviour ~ task*sex + (1|ID/task), REML=FALSE, data=dat)
lm.full2 <-lme(behaviour ~ task*sex, random = ~ 1|ID/task, method="ML", data=dat)

상호 작용없이 간단한 모델과 비교하고 anova를 실행하여 상호 작용이 최상의 모델인지 확인했습니다.

lm.base1 <- lmer(behaviour ~ task+sex+(1|ID/task), REML=FALSE, data=dat)
lm.base2 <- lme(behaviour ~ task+sex, random= ~1|ID/task), method="ML", data=dat)
anova(lm.base1, lm.full)
anova(lm.base2, lm.full2)

Q1 :이 범주 형 예측 변수를 선형 혼합 모형에 사용할 수 있습니까?
Q2 : 결과 변수 ( "행동")가 (성 / 과제에 걸쳐) 자체적으로 정규 분포 될 필요가 없다는 것이 올바르게 이해하고 있습니까?
Q3 : 분산의 동질성을 어떻게 확인할 수 있습니까? 간단한 선형 모델에는을 사용 plot(LM$fitted.values,rstandard(LM))합니다. plot(reside(lm.base1))충분히 사용 하고 있습니까?
Q4 : 정상을 확인하려면 다음 코드를 사용하고 있습니까?

hist((resid(lm.base1) - mean(resid(lm.base1))) / sd(resid(lm.base1)), freq = FALSE); curve(dnorm, add = TRUE)

내가 사용하고있는 lme4의 버전이 가장 최근 버전이 아니었기 때문에 간단한 음모 (myModel.lm)가 작동하지 않았 음을 알 수 있습니다. 아마도 이것은 다른 독자들에게 도움이 될 것입니다.
crazjo

답변:


26

Q1 : 예-다른 회귀 모델과 같습니다.

Q2 : 일반 선형 모형과 마찬가지로 결과 변수를 일 변량 변수로 정규 분포 할 필요는 없습니다. 그러나 LME 모형은 모형의 잔차가 정규 분포를 따른다고 가정합니다. 따라서 모델에 변형 또는 가중치를 추가하는 것이이를 처리하는 방법입니다 (물론 진단 플롯으로 확인).

Q3 : plot(myModel.lme)

Q4 : qqnorm(myModel.lme, ~ranef(., level=2)). 이 코드를 사용하면 각 랜덤 효과 레벨에 대한 QQ 플롯을 만들 수 있습니다. LME 모델은 클러스터 내 잔차가 정상적으로 분포 될뿐만 아니라 각 레벨의 랜덤 효과도 있다고 가정합니다. 다릅니다 level0, 1, 당신은 쥐, 작업 및 피험자 내 잔차를 확인할 수 있도록 2.

편집 : 또한 정규성이 가정되고 변환이 비정규 오류 / 임의 효과의 문제를 줄이는 데 도움이 될 수 있지만 모든 문제가 실제로 해결되었는지 또는 바이어스가 도입되지 않았는지는 명확하지 않습니다. 데이터에 변환이 필요한 경우 임의 효과의 추정에주의하십시오. 문제를 다루는 논문 있습니다.


답변 주셔서 감사합니다. 출력을 포함한 분석을 위해 데이터 세트와 스크립트를 공유하여 내가 한 것이 실제로 올바른지 확인하고 싶습니다. 스택 교환이 가능합니까? 또한 나는 잘못된 임의 요인 (1 | rat / task)을 실행했다고 생각합니다. 단지 (1 | rat)가 아니어야합니까? 나는 세 가지 작업에서 60rats (각 성별 30)를 테스트했습니다.
crazjo

9
최근에 Q4에 대한 코드를 사용해 보았고 'S4'유형의 객체에 대해 서브셋이 불가능하다는 오류가 발생했습니다. 이 코드는 lme 패키지에 맞는 모델 용입니까? lme4는 어떻습니까?
emudrak

Q4와 관련하여, 그 도표를 만드는 사람들은 생성 된 각 도표의 N이 전체보다 실질적으로 작을 것이므로 도표는 훨씬 더 가변적이라는 것을 명심해야합니다. 전체적으로 일관되게 정규 분포 된 것처럼 보일 것으로 기대하지 마십시오.
John

14

다단계 모델을 둘러싼 가정에 대해 상당히 오도 된 것 같습니다. 데이터에서 분산의 동질성에 대한 가정은 없으며 잔차가 대략 정규 분포되어야한다는 것입니다. 범주 형 예측 변수는 항상 회귀 분석에 사용됩니다 (ANOVA를 실행하는 R의 기본 함수는 선형 회귀 명령입니다).

가정 검사에 대한 자세한 내용은 Pinheiro and Bates 서적 (p. 174, 섹션 4.3.1)을 확인하십시오. 또한 lme4 (도서가 작성되지 않은)를 사용하려는 경우 lmer모델 ( ?plot.merMod) 이있는 플롯을 사용하여 플롯을 복제 할 수 있습니다 .

정규성을 신속하게 확인하려면 다음과 같습니다 qqnorm(resid(myModel)).


귀하의 의견에 감사드립니다. lme4 방법보다 lmer를 사용하는 것이 좋습니다? 그리고 응답 변수가 정상적으로 분포 될 필요가 없다는 것을 이해하는 것이 옳습니까? Pinheiro and Bates 책을 제대로 읽겠습니다.
crazjo

또한 여러 요소가 작동하는 혼합 모델에서 qqnorm (resid (myModel))을 실행 하시겠습니까?
crazjo

새로운 lmer 기능은 더 많은 기능과 더 높은 성능을 제공합니다. qqnorm을 사용해 보셨습니까? 책의 시작 부분에서 읽는 방법에 대한 조언을 따르십시오.
John

내가 실제로 최신 버전의 lmer를 가지고 있지 않았기 때문에 내가 처음에 보았던 음모가 이상하게 보였습니다. 이것을 지적 해 주셔서 감사합니다. 이제 필요에 따라 작동합니다.
crazjo

12

Q2에 관하여 :

Pinheiro와 Bates의 에 따르면 다음과 같은 접근법을 사용할 수 있습니다.

"이 lme함수는 weights인수 를 통해 오류 내 그룹의 이분산성 모델링을 허용합니다 .이 주제는 § 5.2에서 자세히 다룰 것이지만, 현재로서는 varIdent분산 함수 구조가 요인과이 분산 모델에 맞게 사용할 수 있습니다 [...] "

핀 헤이로와 베이츠, p. 177

동일한 분산을 확인 sex하려면 다음 방법을 사용하십시오.

plot( lm.base2, resid(., type = "p") ~ fitted(.) | sex,
  id = 0.05, adj = -0.3 )

분산이 다른 경우 다음 방식으로 모델을 업데이트 할 수 있습니다.

lm.base2u <- update( lm.base2, weights = varIdent(form = ~ 1 | sex) )
summary(lm.base2u)

또한 robustlmm계량 방법을 사용하는 패키지를 살펴볼 수도 있습니다 . 이 개념에 대한 Koller의 박사 학위 논문 은 개방형 접근 ( "선형 혼합 모형의 강력한 추정")으로 제공됩니다. 추상 상태 :

"새로운 적응 형 추정값 인 Design Adaptive Scale 추정값은 차후의 견고한 테스트를위한 건전한 기반을 제공하기 위해 개발되었습니다. 잔차의 자연 이분산성을 균등화하고 스케일 자체에 대한 강력한 추정 방정식을 조정합니다. 이러한 설계 적응 보정은 작은 샘플 설정에서 중요합니다. 여기서 관찰 횟수는 추정되는 매개 변수 개수의 5 배에 불과할 수 있습니다. "



의견이 충분하지 않습니다. 그러나 위의 @ John 답변의 일부 측면을 명확히해야 할 필요성이 있습니다. P. Pinheiro and Bates 상태 174 :

가정 1- 그룹 내 오류는 독립적이고 동일하게 정규 분포되어 있으며 평균 0과 분산 σ2이며 랜덤 효과와 무관합니다.

이 진술은 실제로 균질 분산에 대해 명확하지 않으며 LME 개념의 모든 수학을 알기에는 통계에 충분하지 않습니다. 그러나 p. 175, §4.3.1, 가정 1 을 다루는 섹션 :

이 섹션에서는 그룹 내 오류가 정규 분포를 따르고 0을 중심으로하며 분산일정 하다는 가정을 평가하는 방법에 중점을 둡니다 .

또한, 다음 예에서 " 상수 분산 "이 실제로 중요합니다. 따라서, p에 " 동일하게 정규 분포 된"을 쓸 때 이들이 균질 한 분산을 의미하는지 추측 할 수 있습니다 . 174 더 직접적으로 다루지 않습니다.


-5

Q1 : 그렇습니다. 왜 그렇지 않습니까?

Q2 : 오류가 정규 분포를 따르는 것이 필요하다고 생각합니다.

Q3 : 예를 들어 Leven의 테스트로 테스트 할 수 있습니다.

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