Який багаторазовий метод порівняння використовувати для 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.