Was ist eine gültige Post-hoc-Analyse für eine Drei-Wege-ANOVA mit wiederholten Messungen?

10

Ich habe eine Drei-Wege-ANOVA mit wiederholten Messungen durchgeführt. Welche Post-hoc-Analysen sind gültig?

Dies ist ein vollständig ausgewogenes Design (2x2x2), bei dem einer der Faktoren eine wiederholte Messung innerhalb der Probanden aufweist. Ich kenne multivariate Ansätze für ANOVA mit wiederholten Messungen in R, aber mein erster Instinkt ist, mit einem einfachen aov () - Stil von ANOVA fortzufahren:

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

DV = Antwortvariable

IV1 = unabhängige Variable 1 (2 Ebenen, A oder B)

IV2 = unabhängige Variable 2 (2 Ebenen, Ja oder Nein)

IV3 = Zeit (2 Ebenen, vorher oder nachher)

Subjekt = Subjekt-ID (40 Subjekte insgesamt, 20 für jede Stufe von 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 

Alternativ habe ich darüber nachgedacht, das nlme-Paket für eine ANOVA im lme-Stil zu verwenden:

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

Mein erster Instinkt post-hoc von signifikanten 2-Wege-Interaktionen mit Tukey-Kontrasten unter Verwendung von glht () aus dem Multcomp-Paket:

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

Das Hauptproblem, das ich bei diesen Post-hoc-Analysen sehe, sind einige Vergleiche, die für meine Hypothesen nicht nützlich sind.

Vorschläge für eine angemessene Post-hoc-Analyse werden sehr geschätzt, danke.

Bearbeiten: Relevante Frage und Antwort, die auf das Testen manueller Kontrastmatrizen hinweist

RobJackson28
quelle
Ihr Zufallseffektmodell sieht seltsam aus: Es /wird verwendet, um die Verschachtelung zu kennzeichnen (wie es normalerweise in einem Split-Plot-Experiment zu sehen ist), im Gegensatz zu seiner Verwendung in dem ErrorBegriff, in aov()dem hauptsächlich angegeben wird, wie Fehlerschichten erstellt werden .
Chl
@chl Ich habe den ErrorBegriff auf aov()diese Weise formatiert , um anzugeben, dass dies Timeder Faktor innerhalb der Gruppen ist. Von Baron Error(subj/(color + shape))scheint in gleicher Weise verwendet zu werden.
RobJackson28
@chl Vielen Dank, dass Sie das lmeModell aufgerufen haben. Ich bin mir nicht sicher , wie ich es richtig benutze /. Wie würden Sie festlegen , Timewie die innerhalb der Gruppen Faktor wie in Error()mit aov()?
RobJackson28

Antworten:

2

Ich denke, Statistiker werden Ihnen sagen, dass es bei jeder Post-hoc-Analyse immer ein Problem gibt, da das Anzeigen der Daten Einfluss darauf haben kann, was Sie betrachten, und Sie könnten voreingenommen sein, weil Sie nach signifikanten Ergebnissen suchen. Die FDA in klinischen Studien verlangt, dass der statistische Plan vollständig im Protokoll festgelegt wird. In einem linearen Modell könnten Sie sicherlich die Kontraste vorgeben, die Sie betrachten möchten, falls die ANOVA oder ANCOVA einen Gesamtunterschied feststellt. Solche vorgegebenen Kontraste wären in Ordnung, solange auch die übliche Behandlung der Vielheit Teil davon ist.

Michael R. Chernick
quelle
Dies ist so ziemlich das Problem, das ich habe, da mir die Analyse übergeben wurde (ohne eine statistische Planung von vornherein außer "Lassen Sie uns eine Reihe von T-Tests durchführen"). Ich habe es geschafft, die ursprünglich beabsichtigten Grundhypothesen zu destillieren, aber ich habe ein kleines Problem mit der Post-Hoc-Syntax. Alle diese Schritte gegenüber dem Experimentator zu rechtfertigen, ist mein Hauptziel, um das T-Test-Dogma zu vermeiden. Das ultimative Ziel: statistische Planung zur Notwendigkeit zukünftiger experimenteller Entwürfe zu machen. Vorerst muss ich mit dem arbeiten, was ich habe.
RobJackson28
1
Dann möchte ich nur hinzufügen, dass ich kein Problem sehe, wenn Sie mit Post-hoc-Analysen fortfahren möchten, solange Sie die richtige Multiplizitätsanpassung vornehmen.
Michael R. Chernick
1
Bin ich zu Recht davon ausgegangen, dass Multiziplizitätsanpassungen analog zu familienbezogenen Fehleranpassungen sind? ZB Tukey's, Bonferroni usw.?
RobJackson28
Genau richtig. Bootstrap- und Permutationsmethoden sind auch in SAS verfügbar, beispielsweise mit Proc MULTTEST. Sehen Sie die Arbeit von Westfall und Young.
Michael R. Chernick
Vielen Dank für die Unterstützung @Michael, ich schätze es. Ich bin mir jedoch noch nicht sicher, in welcher Syntax ich verwenden soll R. Insbesondere bin ich mir nicht sicher, ob es am besten geeignet ist, Kontrastmatrizen für die relevanten Tukey-Kontraste manuell anzugeben glht()oder standardmäßig alle Vergleiche durchzuführen. Außerdem bin ich mir nicht sicher, wie ich mit der wiederholten Messung Timevon Post-hoc richtig umgehen soll .
RobJackson28
1

Wenn Sie ein Softwarepaket wie SAS haben, würden Sie wahrscheinlich proc Mix verwenden, um das gemischte Modell mit wiederholten Messungen durchzuführen. Wenn Sie angeben, welchen Kontrast Sie verwenden möchten, wird SAS dies für Sie richtig handhaben. Möglicherweise können Sie dies auch mit der wiederholten Option in PROC GLM tun. Seien Sie jedoch vorsichtig, da sie sich unterschiedlich verhalten und unterschiedliche Annahmen treffen. Die wiederholten Beobachtungen werden normalerweise korrigiert, weil sie etwas gemeinsam haben. Ich habe oft zu verschiedenen Zeitpunkten Messungen an demselben Patienten wiederholt. Bei der Berechnung der Kontraste treten also die Kovarianzterme in das Problem ein.

Michael R. Chernick
quelle