Что такое достоверный последующий анализ для трехфакторных повторных измерений ANOVA?

10

Я выполнил трехсторонние повторные измерения ANOVA; какие специальные анализы действительны?

Это полностью сбалансированный дизайн (2x2x2) с одним из факторов, имеющих повторное измерение внутри субъекта. Мне известны многовариантные подходы к повторным измерениям ANOVA в R, но мой первый инстинкт - перейти к простому стилю aov () ANOVA:

aov.repeated <- aov(DV ~ IV1 * IV2 * Time + Error(Subject/Time), data=data)

DV = переменная ответа

IV1 = независимая переменная 1 (2 уровня, A или B)

IV2 = независимая переменная 2 (2 уровня, да или нет)

IV3 = Время (2 уровня, До или После)

Субъект = ID субъекта (всего 40 предметов, 20 для каждого уровня IV1: nA = 20, nB = 20)

summary(aov.repeated)

    Error: Subject
          Df Sum Sq Mean Sq F value   Pr(>F)   
IV1       1   5969  5968.5  4.1302 0.049553 * 
IV2       1   3445  3445.3  2.3842 0.131318   
IV1:IV2   1  11400 11400.3  7.8890 0.007987 **
Residuals 36  52023  1445.1                    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Error: Subject:Time
               Df Sum Sq Mean Sq F value   Pr(>F)   
Time            1    149   148.5  0.1489 0.701906   
IV1:Time        1    865   864.6  0.8666 0.358103   
IV2:Time        1  10013 10012.8 10.0357 0.003125 **
IV1:IV2:Time    1    852   851.5  0.8535 0.361728   
Residuals      36  35918   997.7                    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

В качестве альтернативы я думал об использовании пакета nlme для ANOVA в стиле lme:

aov.repeated2 <- lme(DV ~ IV1 * IV2 * Time, random = ~1|Subject/Time, data=data)
summary(aov.repeated2)

Fixed effects: DV ~ IV1 * IV2 * Time 
                                Value Std.Error DF   t-value p-value
(Intercept)                      99.2  11.05173 36  8.975972  0.0000
IV1                              19.7  15.62950 36  1.260437  0.2156
IV2                              65.9  15.62950 36  4.216385  0.0002 ***
Time                             38.2  14.12603 36  2.704228  0.0104 *
IV1:IV2                         -60.8  22.10346 36 -2.750701  0.0092 **
IV1:Time                        -26.2  19.97722 36 -1.311494  0.1980
IV2:Time                        -57.8  19.97722 36 -2.893295  0.0064 **
IV1:IV2:Time                     26.1  28.25206 36  0.923826  0.3617

Мой первый инстинкт постфактум значительных двусторонних взаимодействий с Tukey контрастирует с использованием glht () из пакета multcomp:

data$IV1IV2int <- interaction(data$IV1, data$IV2)
data$IV2Timeint <- interaction(data$IV2, data$Time)

aov.IV1IV2int <- lme(DV ~ IV1IV2int, random = ~1|Subject/Time, data=data)
aov.IV2Timeint <- lme(DV ~ IV2Timeint, random = ~1|Subject/Time, data=data)

IV1IV2int.posthoc <- summary(glht(aov.IV1IV2int, linfct = mcp(IV1IV2int = "Tukey")))
IV2Timeint.posthoc <- summary(glht(aov.IV2Timeint, linfct = mcp(IV2Timeint = "Tukey")))

IV1IV2int.posthoc
#A.Yes - B.Yes == 0        0.94684   
#B.No - B.Yes == 0         0.01095 * 
#A.No - B.Yes == 0         0.98587    I don't care about this
#B.No - A.Yes == 0         0.05574 .  I don't care about this
#A.No - A.Yes == 0         0.80785   
#A.No - B.No == 0          0.00346 **

IV2Timeint.posthoc 
#No.After - Yes.After == 0           0.0142 *
#Yes.Before - Yes.After == 0         0.0558 .
#No.Before - Yes.After == 0          0.5358   I don't care about this
#Yes.Before - No.After == 0          0.8144   I don't care about this
#No.Before - No.After == 0           0.1941  
#No.Before - Yes.Before == 0         0.8616

Основная проблема, которую я вижу в этих специальных анализах, - это некоторые сравнения, которые бесполезны для моих гипотез.

Спасибо за любые предложения для соответствующего последующего анализа, спасибо.

Изменить: соответствующий вопрос и ответ, который указывает на тестирование ручных контрастных матриц

RobJackson28
источник
Ваша модель со случайным эффектом выглядит странно: /используется для обозначения вложения (как это обычно наблюдается в эксперименте с расщепленными участками), в отличие от ее использования в Errorтерминах, aov()где она в основном указывает на то, как построить страты ошибок .
ЧЛ
@chl Я отформатировал Errorтермин aov()таким образом, чтобы указать, что Timeэто фактор внутри группы. От Барона, Error(subj/(color + shape))похоже, используется такой же способ.
RobJackson28
@chl Спасибо за то, что подняли lmeмодель, мне неясно, как правильно ее использовать /. Как бы вы указали Timeв качестве фактора внутри группы, как в Error()с aov()?
RobJackson28

Ответы:

2

Я думаю, что статистики скажут вам, что всегда есть проблема с любым последующим анализом, потому что просмотр данных может повлиять на то, на что вы смотрите, и вы можете быть предвзятыми, потому что вы стремитесь к значительным результатам. FDA в клинических исследованиях требует, чтобы статистический план был полностью изложен в протоколе. в линейной модели вы, безусловно, можете заранее указать контрасты, на которые вы хотели бы взглянуть, если ANOVA или ANCOVA обнаружат общую разницу. На такие заранее определенные контрасты было бы неплохо смотреть, если обычное лечение множественности также является его частью.

Майкл Р. Черник
источник
Это в значительной степени проблема, с которой я столкнулся, учитывая, что анализ был передан мне (без какого- либо априорного статистического планирования, кроме «давайте проведем кучу t-тестов»). Мне удалось вычленить основные гипотезы, которые изначально были предназначены, но у меня возникли небольшие проблемы с синтаксисом post-hoc. Моя основная цель - оправдать все эти шаги перед экспериментатором, чтобы избежать догматического критерия Стьюдента. Конечная цель: сделать статистическое планирование необходимостью для будущих экспериментальных проектов. В настоящее время я должен работать с тем, что у меня есть.
RobJackson28
1
Тогда все, что я хотел бы добавить, - это то, что если вы хотите продолжить анализ после анализа, я не вижу проблем, если вы правильно настроите множественность.
Майкл Р. Черник
1
Правильно ли я предположить, что корректировки кратности аналогичны коррекциям ошибок по семейным причинам? Например, Тьюки, Бонферрони и т. Д.?
RobJackson28
Абсолютно верно. Методы начальной загрузки и перестановки также доступны в SAS, например, с Proc MULTTEST. Смотрите работы Уэстфолла и Янга.
Майкл Р. Черник
Спасибо за помощь @Майкл, я ценю это. Тем не менее, мне все еще неясно, какой синтаксис использовать в R. В частности, я не уверен, что наиболее целесообразно вручную указывать контрастные матрицы для соответствующих контрастов Тьюки glht()или выполнять все сравнения по умолчанию. Кроме того, я не уверен, как правильно бороться с повторной мерой с Timeточки зрения post-hoc.
RobJackson28
1

Если у вас есть программный пакет, такой как SAS, вы, вероятно, будете использовать proc mixed для создания смешанной модели с повторными измерениями, и если вы укажете, какой контраст вы хотите использовать, SAS будет правильно с ним работать. Вы также можете сделать это с помощью повторного параметра в PROC GLM, но будьте осторожны, поскольку они ведут себя по-разному и делают разные предположения. Повторные наблюдения обычно коррелируют, потому что они имеют что-то общее. Я часто повторял измерения для одного и того же пациента в разные моменты времени. Таким образом, при вычислении контрастов ковариационные члены входят в проблему.

Майкл Р. Черник
источник