lmer 모델에 사용할 다중 비교 방법 : lsmeans 또는 glht?


16

하나의 고정 효과 (조건)와 두 개의 임의 효과 (대상 내 설계 및 쌍으로 인해 참가자)가있는 혼합 효과 모델을 사용하여 데이터 세트를 분석하고 있습니다. lme4패키지로 모델이 생성되었습니다 exp.model<-lmer(outcome~condition+(1|participant)+(1|pair),data=exp).

다음으로, 고정 효과 (조건)없이 모형에 대해이 모형의 우도 비 검정을 수행했으며 유의 한 차이가 있습니다. 내 데이터 세트에는 3 가지 조건이 있으므로 다중 비교를 원하지만 사용할 방법을 잘 모르겠습니다 . CrossValidated 및 기타 포럼에서 비슷한 질문을 많이 발견했지만 여전히 혼란 스럽습니다.

내가 본 것에서 사람들은

1.lsmeans - 패키지 lsmeans(exp.model,pairwise~condition): 나에게 다음과 같은 출력을 제공합니다

condition     lsmean         SE    df  lower.CL  upper.CL
 Condition1 0.6538060 0.03272705 47.98 0.5880030 0.7196089
 Condition2 0.7027413 0.03272705 47.98 0.6369384 0.7685443
 Condition3 0.7580522 0.03272705 47.98 0.6922493 0.8238552

Confidence level used: 0.95 

$contrasts
 contrast                   estimate         SE    df t.ratio p.value
 Condition1 - Condition2 -0.04893538 0.03813262 62.07  -1.283  0.4099
 Condition1 - Condition3 -0.10424628 0.03813262 62.07  -2.734  0.0219
 Condition2 - Condition3 -0.05531090 0.03813262 62.07  -1.450  0.3217

P value adjustment: tukey method for comparing a family of 3 estimates 

2.multcomp 두 가지 다른 방법으로 패키지 - 사용 mcp glht(exp.model,mcp(condition="Tukey"))의 결과

     Simultaneous Tests for General Linear Hypotheses

Multiple Comparisons of Means: Tukey Contrasts


Fit: lmer(formula = outcome ~ condition + (1 | participant) + (1 | pair), 
    data = exp, REML = FALSE)

Linear Hypotheses:
                             Estimate Std. Error z value Pr(>|z|)  
Condition2 - Condition1 == 0  0.04894    0.03749   1.305    0.392  
Condition3 - Condition1 == 0  0.10425    0.03749   2.781    0.015 *
Condition3 - Condition2 == 0  0.05531    0.03749   1.475    0.303  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1
(Adjusted p values reported -- single-step method)

lsm glht(exp.model,lsm(pairwise~condition))결과를 사용하여

Note: df set to 62

     Simultaneous Tests for General Linear Hypotheses

Fit: lmer(formula = outcome ~ condition + (1 | participant) + (1 | pair), 
    data = exp, REML = FALSE)

Linear Hypotheses:
                             Estimate Std. Error t value Pr(>|t|)  
Condition1 - Condition2 == 0 -0.04894    0.03749  -1.305   0.3977  
Condition1 - Condition3 == 0 -0.10425    0.03749  -2.781   0.0195 *
Condition2 - Condition3 == 0 -0.05531    0.03749  -1.475   0.3098  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1
(Adjusted p values reported -- single-step method)

보시다시피, 방법은 다른 결과를 제공합니다. R과 통계를 다루는 것은 이번이 처음이므로 어떤 일이 잘못 될 수 있지만 어디에 있는지 모르겠습니다. 내 질문은 :

제시된 방법의 차이점은 무엇입니까? 나는 자유도 ( lsmeansvs glht)에 관한 관련 질문에 대한 답변을 읽었습니다 . 이 유형의 데이터 세트 / 모델 등에 적합한 방법 1을 사용할 때 몇 가지 규칙 또는 권장 사항이 있습니까? 어떤 결과를보고해야합니까? 더 잘 알지 못하면 아마도 가서 가장 높은 p- 값을보고했을 것입니다. 안전하게 재생해야하지만 더 좋은 이유가 있으면 좋을 것입니다. 감사

답변:


17

완전한 답변이 아닙니다 ...

glht(myfit, mcp(myfactor="Tukey"))다른 방법과 다른 방법 의 차이점은 이 방법은 "z"통계 (정규 분포)를 사용하는 반면 다른 방법은 "t"통계 (학생 분포)를 사용한다는 것입니다. "z"통계량은 자유도가 무한한 "t"통계량과 동일합니다. 이 방법은 점근 법이며 다른 p 값보다 작은 p- 값과 짧은 신뢰 구간을 제공합니다. 데이터 집합이 작 으면 p- 값이 너무 작고 신뢰 구간이 너무 짧을 수 있습니다.

실행 lsmeans(myfit, pairwise~myfactor)하면 다음 메시지가 나타납니다.

Loading required namespace: pbkrtest

이는 lsmeans( lmer모델 pbkrtest의 경우) "t"통계의 자유도에 대해 Kenward & Rogers 방법을 구현 하는 패키지를 사용함 을 의미합니다 . 이 방법은 점근선보다 더 나은 p- 값과 신뢰 구간을 제공하려고합니다 (자유도가 클 때 차이는 없습니다).

지금의 차이에 대해 lsmeans(myfit, pairwise~myfactor)$contrasts그리고 glht(myfit, lsm(pairwise~factor), 난 그냥 몇 가지 테스트를 수행하고 나의 관찰은 다음과 같은 것들이다 :

  • lsmlsmeans패키지와 패키지 간의 인터페이스입니다 multcomp(참조 ?lsm).

  • 균형 잡힌 디자인의 경우 결과간에 차이가 없습니다.

  • 불균형 설계의 경우 결과 (표준 오류와 t 비율) 사이에 작은 차이가 있음을 관찰했습니다.

불행히도 나는 이러한 차이점의 원인이 무엇인지 모른다. 선형 가설 행렬과 자유도를 얻기위한 lsm호출 처럼 보이지만 표준 오차를 계산하는 다른 방법을 사용합니다.lsmeanslsmeans


자세한 답변 감사합니다! 테스트 통계의 차이를 완전히 놓쳤습니다 ... 점근 법에 비해 값이 너무 작고 CI가 너무 좁을 수 있다고 언급했습니다. 내 데이터 세트는 ~ 30 명으로 구성되어 있으므로 t- 통계량을 고수 할 것입니다. Kenward & Rogers 방법이 p- 값을 향상 시킨다고 말할 때 더 정확하거나 작습니까? 따라서 차이점은 df 및 SE 계산 방법의 차이로 인한 것이며, 내가 올바르게 이해하면 내 모델에서 이들 중 하나를 잘못 사용하여 발생하지 않습니다. 여기서 "최상의"방법을 선택할 수있는 방법이 있습니까?
schvaba986

11
(나는 lsmeans 패키지 개발자입니다) pbkrtest 패키지를 lsmeans사용합니다.이 패키지는 (1) Kenward-Rogers df 계산과 (2) 추정치에서 바이어스가 감소 된 조정 된 공분산 행렬을 제공합니다. 먼저 설정하면 lsm.options(disable.pbkrtest=TRUE), 다음 lsmeans에 호출 adjust="mvt"과 같은 결과를 얻을 것입니다 glht때문에 다변량 t 분포를 모두 패키지에 의해 사용되는 무작위 알고리즘에 약간의 차이를 제외하고.
Russ Lenth

3
그러나 pbkrtest를 비활성화하지 않고 "mvt"조정을 제안합니다. 바이어스 조정과 df가없는 점근선 (z) 값은 본질적으로 무한한 df를 가정하므로 실제로는 P 값이 비현실적으로 낮습니다.
Russ Lenth

3
그런데,이 summary방법 glht은 기본 1 단계 (동시 CI) 다중도 조정 외에 다양한 단계적 테스트 방법을 허용합니다. 완전히 다른 점에서 하나 이상의 요소 lsm가있는 경우 일반적인 유형의 비교를 매우 쉽게 만들 mcp수 있지만 전혀 할 수는 없습니다.
Russ Lenth
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.