Apa itu analisis post-hoc yang valid untuk ANOVA tindakan tiga arah yang diulang?


10

Saya telah melakukan langkah-langkah berulang ANOVA tiga arah; Analisis post-hoc apa yang valid?

Ini adalah desain yang sepenuhnya seimbang (2x2x2) dengan salah satu faktor memiliki pengukuran berulang dalam-subyek. Saya menyadari berbagai pendekatan multivariat untuk tindakan ANOVA yang berulang di R, tetapi insting pertama saya adalah melanjutkan dengan gaya aov () ANOVA yang sederhana:

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

DV = variabel respons

IV1 = variabel independen 1 (2 level, A atau B)

IV2 = variabel independen 2 (2 level, Ya atau Tidak)

IV3 = Waktu (2 level, Sebelum atau Setelah)

Subjek = ID Subjek (40 total subjek, 20 untuk setiap level 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 

Atau, saya sedang berpikir tentang menggunakan paket nlme untuk ANOVA style 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

Insting pertama post-hoc saya tentang interaksi 2 arah yang signifikan dengan kontras Tukey menggunakan glht () dari paket 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

Masalah utama yang saya lihat dengan analisis post-hoc ini adalah beberapa perbandingan yang tidak berguna untuk hipotesis saya.

Setiap saran untuk analisis post-hoc yang sesuai sangat dihargai, terima kasih.

Sunting: Pertanyaan dan jawaban yang relevan yang mengarah ke pengujian matriks kontras manual


Model efek-acak Anda terlihat aneh: /digunakan untuk menunjukkan bersarang (seperti yang biasanya terlihat dalam eksperimen petak-terpisah), tidak seperti penggunaannya dalam Erroristilah di aov()mana ia menunjukkan cara membuat strata kesalahan .
chl

@ chl Saya memformat Erroristilah aov()cara ini untuk menentukan bahwa Timeadalah faktor di dalam grup. Dari Baron Error(subj/(color + shape))sepertinya digunakan dengan cara yang sama.
RobJackson28

@chl Terima kasih telah membuka lmemodel, saya tidak jelas tentang penggunaan yang tepat /. Bagaimana Anda menentukan Timesebagai faktor dalam-kelompok seperti Error()dengan aov()?
RobJackson28

Jawaban:


2

Saya pikir ahli statistik akan memberi tahu Anda bahwa selalu ada masalah dengan analisis post hoc karena melihat data dapat memengaruhi apa yang Anda lihat dan Anda bisa menjadi bias karena Anda mencari hasil yang signifikan. FDA dalam studi uji klinis mensyaratkan bahwa rencana statistik dijabarkan sepenuhnya dalam protokol. dalam model linier Anda tentu bisa menentukan kontras yang ingin Anda lihat jika ANOVA atau ANCOVA menemukan perbedaan secara keseluruhan. Kontras yang telah ditentukan sebelumnya akan baik untuk dilihat selama pengobatan biasa untuk multiplisitas juga merupakan bagian dari itu.


Ini cukup banyak masalah yang saya alami, mengingat analisis diserahkan kepada saya (tanpa perencanaan statistik apriori selain "mari kita jalankan banyak tes-t"). Saya telah berhasil menyaring hipotesis dasar yang semula dimaksudkan, tetapi saya mengalami sedikit masalah dengan sintaksis post-hoc. Membenarkan semua langkah ini ke eksperimen adalah tujuan utama saya, untuk menghindari dogma uji-t. Tujuan utamanya: menjadikan perencanaan statistik sebagai kebutuhan untuk desain eksperimental di masa depan. Untuk saat ini, saya harus bekerja dengan apa yang saya miliki.
RobJackson28

1
Maka yang akan saya tambahkan adalah bahwa jika Anda ingin melanjutkan dengan analisis post-hoc, saya tidak melihat masalah selama Anda melakukan penyesuaian multiplisitas yang tepat.
Michael R. Chernick

1
Apakah saya benar dalam mengasumsikan bahwa penyesuaian multi-partisipasi adalah analog dengan penyesuaian kesalahan menurut keluarga? Misalnya, Tukey's, Bonferroni, dll?
RobJackson28

Tepat sekali. metode bootstrap dan permutasi juga tersedia di SAS misalnya dengan Proc MULTTEST. Lihat karya Westfall and Young.
Michael R. Chernick

Terima kasih atas bantuan @Michael, saya menghargainya. Namun, saya masih belum jelas tentang sintaks yang digunakan R. Secara khusus, saya tidak yakin apakah itu paling tepat untuk secara manual menentukan matriks kontras untuk menggunakan kontras Tukey yang relevan glht(), atau untuk melakukan semua perbandingan secara default. Selain itu, saya tidak yakin bagaimana menangani dengan benar ukuran berulang dari Timesegi post-hoc.
RobJackson28

1

Jika Anda memiliki paket perangkat lunak seperti SAS, Anda mungkin akan menggunakan proc campuran untuk melakukan model campuran tindakan berulang dan jika Anda menentukan kontras yang ingin Anda gunakan SAS akan menanganinya dengan baik untuk Anda. Anda mungkin juga dapat melakukannya dengan opsi berulang dalam PROC GLM tetapi hati-hati karena mereka berperilaku berbeda dan membuat asumsi yang berbeda. Pengamatan berulang biasanya dikorupsi karena mereka memiliki sesuatu yang umum. Saya sering mengulangi tindakan pada pasien yang sama pada titik waktu yang berbeda. Jadi, dalam menghitung kontras, istilah kovarian masuk ke dalam masalah.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.