Який багаторазовий метод порівняння використовувати для lmer-моделі: lsmeans або glht?


16

Я аналізую набір даних, використовуючи модель змішаних ефектів з одним фіксованим ефектом (умовою) та двома випадковими ефектами (учасник, обумовлений в рамках проекту та пари). Модель була згенерована з lme4пакетом: exp.model<-lmer(outcome~condition+(1|participant)+(1|pair),data=exp).

Далі я провів перевірку коефіцієнта ймовірності цієї моделі проти моделі без фіксованого ефекту (умови) і маю суттєву різницю. У моєму наборі даних є 3 умови, тому я хочу зробити багаторазове порівняння, але я не впевнений, який метод використовувати . Я знайшов ряд подібних питань на CrossValided та інших форумах, але я все ще досить розгублений.

З того, що я бачив, люди запропонували використовувати

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 та статистикою, так що щось може піти не так, але я не знаю куди. Мої запитання:

Які відмінності між представленими методами? У відповіді на відповідні запитання я читав, що мова йде про ступеня свободи ( lsmeansпроти glht). Чи є якісь правила чи рекомендації щодо використання того, який із них, тобто метод 1, підходить для цього типу наборів даних / моделі тощо? Про який результат я повинен повідомити? Не знаючи краще, я, мабуть, просто пішов і повідомив про найвищу p-величину, яку я маю захистити, але було б непогано мати кращу причину. Спасибі

Відповіді:


17

Не повна відповідь ...

Відмінність між glht(myfit, mcp(myfactor="Tukey"))двома іншими методами полягає в тому, що цей спосіб використовує статистику "z" (нормальний розподіл), тоді як інші використовують "t" статистику (розподіл Стьюдента). Статистика "z" це те саме, що "t" статистика з нескінченним ступенем свободи. Цей метод є асимптотичним, і він забезпечує менші р-значення та менші довірчі інтервали, ніж інші. Значення р можуть бути занадто малими, а довірчі інтервали можуть бути занадто короткими, якщо набір даних малий.

Коли я запускаю, lsmeans(myfit, pairwise~myfactor)з'являється таке повідомлення:

Loading required namespace: pbkrtest

Це означає, що lsmeans(для lmerмоделі) використовується pbkrtestпакет, який реалізує метод Kenward & Rogers для ступенів свободи статистики "t". Цей метод має намір забезпечити кращі p-значення та довірчі інтервали, ніж асимптотичний (різниці немає, коли ступінь свободи великий).

Тепер про різницю між lsmeans(myfit, pairwise~myfactor)$contrastsі glht(myfit, lsm(pairwise~factor), я тільки що зробив кілька тестів, і мої спостереження наступні:

  • lsmє інтерфейсом між lsmeansпакетом і multcompпакетом (див. ?lsm)

  • для збалансованого дизайну немає різниці між результатами

  • для незбалансованої конструкції я помітив невеликі відмінності між результатами (стандартні помилки та коефіцієнт t)

На жаль, я не знаю, що є причиною цих відмінностей. Це схоже на lsmдзвінки lsmeansлише для отримання матриці лінійних гіпотез та ступенів свободи, але lsmeansвикористовує інший спосіб обчислення стандартних помилок.


Дякуємо за детальну відповідь! Я повністю пропустив різницю в тестовій статистиці ... Ви згадуєте, що значення можуть бути занадто малими, а CI - занадто вузькими для асимптотичного методу. Мій набір даних складається з ~ 30 учасників, тому я думаю, я буду дотримуватися t-статистики. Коли ви говорите, що метод Кенворда і Роджерса призводить до кращих p-значень, ви маєте на увазі більш точні чи менші? Отже, відмінності пов'язані з різницею методів обчислення df та SE, а не через неправильне використання одного з них у моїй моделі, якщо я вас правильно зрозумів. Чи є тут спосіб вибрати "найкращий" метод?
schvaba986

11
розробник пакету lsmeans ) lsmeansвикористовує пакет pbkrtest, який передбачає (1) розрахунки df Кенворда-Роджерса та (2) коригувану матрицю коваріації зі зменшеним ухилом в оцінках. Якщо ви вперше встановите lsm.options(disable.pbkrtest=TRUE), то lsmeansвиклик з adjust="mvt"дасть ті самі результати glht, що й виняток, за винятком невеликих відмінностей через рандомізований алгоритм, який обидва пакети використовують для багатоваріантного розподілу t.
Russ Lenth

3
Однак я пропоную коригування "mvt" без відключення pbkrtest через коригування зміщення та того, що без df, асимптотичні (z) значення по суті припускають нескінченний df, тим самим даючи нереально низькі значення P.
Russ Lenth

3
До речі, summaryметод для glhtдозволяє застосовувати різні методи поступового тестування, крім однорівневого (одночасного CI) регулювання кратності. Зовсім інше, якщо у вас є декілька факторів, ви lsmможете створити звичайні типи порівнянь досить легко, хоча mcpвзагалі не можете цього зробити.
Russ Lenth
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.