선형 혼합 모델에서 랜덤 효과 및 고정 효과 구조를 선택하는 방법은 무엇입니까?


19

과목 디자인 내에서 양방향으로 얻은 다음 데이터를 고려하십시오.

df <- "http://personality-project.org/r/datasets/R.appendix4.data"
df <- read.table(df,header=T)
head(df)

Observation Subject Task Valence Recall
1           1     Jim Free     Neg      8
2           2     Jim Free     Neu      9
3           3     Jim Free     Pos      5
4           4     Jim Cued     Neg      7
5           5     Jim Cued     Neu      9
6           6     Jim Cued     Pos     10

혼합 선형 모델을 사용하여 이것을 분석하고 싶습니다. 가능한 모든 고정 및 랜덤 효과를 고려하면 여러 가지 가능한 모델이 있습니다.

# different fixed effects with random-intercept
a0 <- lmer(Recall~1 + (1|Subject), REML=F,df)
a1 <- lmer(Recall~Task + (1|Subject), REML=F,df)
a2 <- lmer(Recall~Valence + (1|Subject), REML=F,df)
a3 <- lmer(Recall~Task+Valence + (1|Subject), REML=F,df)
a4 <- lmer(Recall~Task*Valence + (1|Subject), REML=F,df)

# different fixed effects with random-intercept-random-slope
b0 <- lmer(Recall~1 + (1|Subject) + (0+Task|Subject) + (0+Valence|Subject), REML=F,df)
b1 <- lmer(Recall~Task + (1|Subject) + (0+Task|Subject) + (0+Valence|Subject), REML=F,df)
b2 <- lmer(Recall~Valence + (1|Subject) + (0+Task|Subject) + (0+Valence|Subject), REML=F,df)
b3 <- lmer(Recall~Task+Valence + (1|Subject) + (0+Task|Subject) + (0+Valence|Subject), REML=F,df)
b4 <- lmer(Recall~Task*Valence + (1|Subject) + (0+Task|Subject) + (0+Valence|Subject), REML=F,df)

# different fixed effects with random-intercept-random-slope including variance-covariance matrix
c0 <- lmer(Recall~1 + (1 + Valence + Task|Subject), REML=F,df)
c1 <- lmer(Recall~Task + (1 + Valence + Task|Subject), REML=F,df)
c2 <- lmer(Recall~Valence + (1 + Valence + Task|Subject), REML=F,df)
c3 <- lmer(Recall~Task+Valence + (1 + Valence + Task|Subject), REML=F,df)
c4 <- lmer(Recall~Task*Valence + (1 + Valence + Task|Subject), REML=F,df)
  1. 이 상황에서 가장 적합한 모형을 선택하기 위해 권장되는 방법은 무엇입니까? 로그 우도 비율 테스트를 사용할 때 권장되는 절차는 무엇입니까? 모델을 위쪽으로 (널 모델에서 가장 복잡한 모델로) 생성하거나 아래쪽으로 (가장 복잡한 모델에서 널 모델로) 생성합니까? 단계적으로 포함 또는 제외? 또는 모든 모형을 하나의 로그 우도 비 검정에 넣고 p- 값이 가장 낮은 모형을 선택하는 것이 좋습니다. 중첩되지 않은 모델을 비교하는 방법은 무엇입니까?

  2. 먼저 적절한 고정 효과 구조를 찾은 다음 적절한 임의 효과 구조 또는 다른 방법으로 찾는 것이 좋습니다 (두 옵션에 대한 참조를 찾았습니다 ...).

  3. 권장되는 결과보고 방법은 무엇입니까? 로그 우도 비 검정에서 전체 혼합 모형 (문제의 영향)을 감소 된 모형 (문제의 영향 없음)과 비교하여 로그 우도 비 검정에서 p- 값을보고합니다. 또는 로그 우도 비율 검정을 사용하여 최상의 피팅 모델을 찾은 다음 lmerTest를 사용하여 최상의 피팅 모델의 효과에서 p- 값을보고하는 것이 더 낫습니까?

답변:


18

나는 이것에 대한 정식 답변이 실제로 확실하지 않지만, 나는 그것을 드리겠습니다.

이 상황에서 가장 적합한 모형을 선택하기 위해 권장되는 방법은 무엇입니까? 로그 우도 비율 테스트를 사용할 때 권장되는 절차는 무엇입니까? 모델을 위쪽으로 (널 모델에서 가장 복잡한 모델로) 생성하거나 아래쪽으로 (가장 복잡한 모델에서 널 모델로) 생성합니까? 단계적으로 포함 또는 제외? 또는 모든 모형을 하나의 로그 우도 비 검정에 넣고 p- 값이 가장 낮은 모형을 선택하는 것이 좋습니다. 중첩되지 않은 모델을 비교하는 방법은 무엇입니까?

목표가 무엇인지에 달려 있습니다.

  • 일반적으로 당신은해야한다 매우 , 매우 (예를 들어, 참조 모델 선택에주의 이 답변 , 또는 이 게시물 ..., 아니면 그냥 구글 "하렐 단계적").
  • 당신이 (즉, 당신이 확증 가설 테스트를하고있는) 당신의 P-값은 의미가있을 필요에 관심이 있다면, 당신은해야 하지 모델 선택을한다. 그러나 : 모델의 초점이 아닌 부분에서 모델 선택을 수행하는 경우 (예 : 1 차 관심사가 고정 효과에 대한 추론 인 경우 무작위 효과에 대한 모델 선택 수행) 모델 선택 절차가 그다지 나쁘지 않은지는 분명하지 않습니다 .
  • "모든 모델을 하나의 우도 비율 테스트에 넣는 것"과 같은 것은 없습니다. 우도 비율 테스트는 페어 단위 절차입니다. 경우 사용자가 임의 효과에 모델 선택 (예)를하고 싶어, 나는 아마이 "한 번에 모두가"같이 정보 기준을 사용하여 접근 추천 이 예제 즉, 적어도 방지 - 몇 가지 단계적 접근의 문제를 (그러나의 더 일반적으로 모델 선택).
  • Barr et al. 2013 "최대한 유지" Journal of Memory and Language (doi : 10.1016 / j.jml.2012.11.001)는 최대 모델 사용을 권장합니다 (전용).
  • Shravan Vasishth 는 데이터 세트가 매우 크지 않으면 (그리고 신호 대 잡음비가 높지 않으면) 이러한 모델에 전력이 공급되지 않아 문제가 될 것이라고 주장하면서 동의하지 않는다 .
  • 합리적으로 방어 할 수있는 또 다른 접근 방법은 크고 합리적인 모델에 적합하고 적합치가 특이한 경우 더 이상 그렇지 않을 때까지 항을 제거하는 것입니다.
  • 일부 경고 ( GLMM FAQ에 열거 )를 사용하면 정보 기준을 사용하여 중첩되지 않은 모델과 다른 임의 효과를 비교할 수 있습니다 (Brian Ripley가 동의하지 않더라도 여기에서 6 페이지 하단 참조 ).

먼저 적절한 고정 효과 구조를 찾은 다음 적절한 임의 효과 구조 또는 다른 방법으로 찾는 것이 좋습니다 (두 옵션에 대한 참조를 찾았습니다 ...).

나는 아무도 모른다고 생각합니다. 더 일반적으로 모델 선택에 대한 이전 답변을 참조하십시오. 목표를 충분히 명확하게 정의 할 수 있다면 (몇 사람이하는 것), 그 질문에 대한 답이 될 수 있습니다. 당신이 두 옵션에 대한 참조가있는 경우, 그것의 가치, 무엇을 위해 그 (포함하도록 질문을 수정하는 것이 유용 할 것이다 이 예 다음에 선택을 피하고, (이미 위에 인용)는 임의 효과 부분을 선택하기 위해 정보 기준을 사용을 모델의 고정 효과 부분.

권장되는 결과보고 방법은 무엇입니까? 로그 우도 비 검정에서 전체 혼합 모형 (문제의 영향)을 감소 된 모형 (문제의 영향 없음)과 비교하여 로그 우도 비 검정에서 p- 값을보고합니다. 또는 로그 우도 비율 검정을 사용하여 최상의 피팅 모델을 찾은 다음 lmerTest를 사용하여 최상의 피팅 모델의 효과에서 p- 값을보고하는 것이 더 낫습니까?

이것은 또 다른 어려운 질문입니다. 당신이보고하는 경우 한계 효과 에 의해보고 lmerTest, 당신은 (의 주 효과의 추정 여부 등 주변인에 대해 걱정할 필요 A하고 B이 생길 때 의미가 A-by- B모델의 상호 작용) 이것은 거대한 웜 캔이지만 권장 사항에 따라 사용하면 다소 완화 contrasts="sum"됩니다 afex::mixed(). 균형 잡힌 디자인도 약간 도움이됩니다. 이 모든 균열을 실제로 종이로 만들고 싶다면을 추천 afex::mixed합니다.이 출력은와 비슷 lmerTest하지만이 문제를 처리하려고합니다.


12

2017 년 5 월 업데이트 : 밝혀 졌 듯이 여기에 쓴 내용이 잘못되었습니다 . 일부 업데이트는 게시물 전체에서 이루어집니다.


벤 볼커 (Ben Bolker)가 말한 것에 대해 많은 의견에 동의 afex::mixed()하지만 ( 소리를 내 주셔서 감사합니다 )이 문제에 대해 좀 더 일반적이고 구체적인 생각을 추가하겠습니다.

고정 효과와 임의 효과 및 결과보고 방법에 중점을 둡니다.

Jonathan Baron의 예제 데이터 세트에 표시된 실험 연구 유형의 경우 중요한 질문은 일반적으로 조작 요인이 전반적인 영향을 미치는지 여부입니다. 예를 들어, 전반적인 주요 효과 또는 상호 작용을 찾 Task습니까? 중요한 점은 이러한 데이터 세트에서 일반적으로 모든 요소가 완전한 실험 제어를 받고 무작위로 할당된다는 것입니다. 결과적으로 관심의 초점은 일반적으로 고정 효과에 있습니다.
대조적으로, 랜덤 효과 성분은 주요 질문에 반드시 중요하지 않은 체계적 분산 (즉, 효과 크기의 개체 간 차이)을 포착하는 "불량"파라미터로 볼 수있다. 이러한 관점에서 Barr et al.이 주장한 최대 랜덤 효과 구조를 사용하는 제안. 다소 자연스럽게 따른다. 실험적인 조작이 모든 사람에게 똑같은 방식으로 영향을 미치지는 않는다고 상상하기 쉽습니다. 반면에, 요인 또는 수준의 수는 일반적으로 너무 크지 않기 때문에 과적 합의 위험이 비교적 작게 보입니다.

결과적으로 Barr et al. 최대 랜덤 효과 구조를 지정하고 고정 효과에 대한 테스트를 주요 결과로보고하십시오. 고정 효과를 테스트하기 위해 afex::mixed()(파라미터 테스트 대신) 효과 또는 요인 테스트를보고하고 그 테스트를 다소 합리적인 방식으로 계산할 때 사용 하는 것이 좋습니다 (예 : 단일 효과가 제거되고 대비 대비 0을 사용하고 p- 값을 계산하는 다양한 방법을 제공합니다 ...).

예제 데이터는 어떻습니까?

제공 한 예제 데이터의 문제점은이 데이터 세트의 경우 디자인의 셀당 하나의 데이터 포인트 만 있기 때문에 최대 랜덤 효과 구조가 과포화 모델로 이어진다는 것입니다.

> with(df, table(Valence, Subject, Task))
, , Task = Cued

       Subject
Valence Faye Jason Jim Ron Victor
    Neg    1     1   1   1      1
    Neu    1     1   1   1      1
    Pos    1     1   1   1      1

, , Task = Free

       Subject
Valence Faye Jason Jim Ron Victor
    Neg    1     1   1   1      1
    Neu    1     1   1   1      1
    Pos    1     1   1   1      1

결과적으로 lmer최대 랜덤 효과 구조에 대한 질식 :

> lmer(Recall~Task*Valence + (Valence*Task|Subject), df)
Error: number of observations (=30) <= number of random effects (=30) for term
(Valence * Task | Subject); the random-effects parameters and the residual variance
(or scale parameter) are probably unidentifiable

불행히도,이 문제를 다루는 데 동의하지 않은 내 지식이 있습니다. 그러나 몇 가지를 스케치하고 토론하겠습니다.

  1. 첫 번째 해결책은 가장 높은 임의의 기울기를 제거하고이 모델의 효과를 테스트하는 것입니다.

    require(afex)
    mixed(Recall~Task*Valence + (Valence+Task|Subject), df)
            Effect    F ndf  ddf F.scaling p.value
    1         Task 6.56   1 4.00      1.00     .06
    2      Valence 0.80   2 3.00      0.75     .53
    3 Task:Valence 0.42   2 8.00      1.00     .67

    그러나이 솔루션은 약간 임시적이며 지나치게 동기 부여되지 않습니다.

    2017 년 5 월 업데이트 : 현재 승인중인 접근 방식입니다. 참조 이 블로그 게시물내가 공동 작성 오전 장의 초안 절 "전통 ANOVA에 대한 임의 효과 구조가 설계를".

  2. 대안 솔루션 (및 Barr 등의 논의에서 주장한 것으로 볼 수있는 솔루션)은 가장 작은 효과를 위해 항상 임의의 기울기를 제거하는 것일 수 있습니다. 그러나 이것은 두 가지 문제가있다 : (1) 가장 작은 효과가 무엇인지 알아 내기 위해 어떤 랜덤 효과 구조를 사용하고 (2) R은 이 효과의 상호 작용이 있습니다 ( 여기 참조 ). 결과적으로이 랜덤 효과 구조를 손으로 설정하고 그렇게 구성된 모델 매트릭스를 lmer 호출에 전달해야합니다.

  3. 세 번째 해결책은 랜덤 효과 부분의 대체 매개 변수, 즉이 데이터에 대한 RM-ANOVA 모델에 해당하는 대안을 사용하는 것입니다. 불행하게도 (?) lmer를 위해 RM-ANOVA이 파라미터가 정확히되지 않도록 대응을 "음의 편차를"허용하지 않는 모든 데이터 세트 를 참조하십시오 여기에 토론을 (예를 들어 다른 곳에서 여기여기 ). 이 데이터에 대한 "lmer-ANOVA"는 다음과 같습니다.

    > mixed(Recall~Task*Valence + (1|Subject) + (1|Task:Subject) + (1|Valence:Subject), df)
            Effect    F ndf  ddf F.scaling p.value
    1         Task 7.35   1 4.00      1.00     .05
    2      Valence 1.46   2 8.00      1.00     .29
    3 Task:Valence 0.29   2 8.00      1.00     .76

이 모든 문제를 감안할 때 lmer최대 랜덤 효과 구조의 문제에 대한 더 합의 된 솔루션을 사용할 수 없다면 디자인의 셀 당 하나의 데이터 포인트 만있는 데이터 세트에 적합 하지 않습니다 .

  1. 대신, 나는 여전히 고전적 분산을 사용할 수 있습니다. 에 래퍼 중 하나를 사용 car::Anova()에서 afex결과하는 것입니다 :

    > aov4(Recall~Task*Valence + (Valence*Task|Subject), df)
            Effect         df  MSE      F  ges   p
    1      Valence 1.44, 5.75 4.67   1.46  .02 .29
    2         Task       1, 4 4.08 7.35 +  .07 .05
    3 Valence:Task 1.63, 6.52 2.96   0.29 .003 .71

    참고 afex이제 장착 모델 반환 할 수 aov있는가에 전달 될 수있는 lsmeans사후 시험 (하지만 효과의 테스트를 위해 사람에 의해보고 car::Anova아직 더 합리적이다) :

    > require(lsmeans)
    > m <- aov4(Recall~Task*Valence + (Valence*Task|Subject), df, return = "aov")
    > lsmeans(m, ~Task+Valence)
     Task Valence lsmean       SE   df lower.CL upper.CL
     Cued Neg       11.8 1.852026 5.52  7.17157 16.42843
     Free Neg       10.2 1.852026 5.52  5.57157 14.82843
     Cued Neu       13.0 1.852026 5.52  8.37157 17.62843
     Free Neu       11.2 1.852026 5.52  6.57157 15.82843
     Cued Pos       13.6 1.852026 5.52  8.97157 18.22843
     Free Pos       11.0 1.852026 5.52  6.37157 15.62843
    
    Confidence level used: 0.95 

(+1) "안타깝게도 lmer는 음의 상관 관계를 허용하지 않습니다"– "음의 분산을 허용하지 않습니까?" 또한, 업데이트 :이 답변에서 "잘못된 것"이 무엇인지 더 명확하게 설명 할 수 있습니까?
amoeba는

( 링크 된 게시물을 읽었 으며 여기에 # 1으로 표시된 접근 방식이 생각보다 더 정결하다는 주요 메시지가있는 것 같습니다. 맞습니까? 이제 # 3 또는 # 4보다 선호한다고 생각하는지 확실하지 않습니다. ).
아메바는 9

@amoeba 네 맞습니다. 나는 그에 따라 내 대답을 업데이트하기에는 너무 게으르다.
Henrik

@amoeba 그리고 당신은 또한 올바른 상관 관계입니다. lmer음의 분산은 허용하지 않지만 분산 구성 요소간에 음의 상관 관계는 명백합니다.
Henrik

1
편집 한 부분이 있는데, 내가 당신을 잘못 대변하지 않았는지 확인하고 싶을 수도 있습니다.
amoeba는 Reinstate Monica가
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.