ANOVA pada data binomial

32

Saya menganalisis kumpulan data eksperimental. Data terdiri dari vektor pasangan jenis pengobatan dan hasil binomial:

Treatment    Outcome
A            1
B            0
C            0
D            1
A            0
...

Di kolom hasil, 1 menunjukkan keberhasilan dan 0 menunjukkan kegagalan. Saya ingin mencari tahu apakah perawatan secara signifikan memvariasikan hasilnya. Ada 4 perlakuan berbeda dengan setiap percobaan diulang sejumlah besar kali (2000 untuk setiap perlakuan).

Pertanyaan saya adalah, dapatkah saya menganalisis hasil biner menggunakan ANOVA? Atau haruskah saya menggunakan uji chi-square untuk memeriksa data binomial? Sepertinya chi-square mengasumsikan proporsinya akan dibagi secara merata, yang bukan itu masalahnya. Gagasan lain adalah meringkas data menggunakan proporsi keberhasilan versus kegagalan untuk setiap pengobatan dan kemudian menggunakan tes proporsi.

Saya penasaran mendengar rekomendasi Anda untuk tes yang masuk akal untuk jenis percobaan keberhasilan / kegagalan binomial ini.

speciousfool
sumber

Jawaban:

18

Tidak untuk ANOVA, yang mengasumsikan variabel hasil yang terdistribusi normal (antara lain). Ada transformasi "old school" yang perlu dipertimbangkan, tetapi saya lebih suka regresi logistik (setara dengan chi square ketika hanya ada satu variabel independen, seperti dalam kasus Anda). Keuntungan menggunakan regresi logistik dibandingkan dengan uji chi square adalah bahwa Anda dapat dengan mudah menggunakan kontras linier untuk membandingkan tingkat perawatan tertentu jika Anda menemukan hasil yang signifikan untuk tes keseluruhan (tipe 3). Misalnya A versus B, B versus C dll.

Pembaruan Ditambahkan untuk kejelasan:

Mengambil data di tangan (kumpulan data post doc dari Allison ) dan menggunakan variabel yang dikutip sebagai berikut, inilah poin saya:

postdocData$citsBin <- ifelse(postdocData$cits>2, 3, postdocData$cits)
postdocData$citsBin <- as.factor(postdocData$citsBin)
ordered(postdocData$citsBin, levels=c("0", "1", "2", "3"))
contrasts(postdocData$citsBin) <- contr.treatment(4, base=4) # set 4th level as reference
contrasts(postdocData$citsBin)
     #   1 2 3
     # 0 1 0 0
     # 1 0 1 0
     # 2 0 0 1
     # 3 0 0 0

# fit the univariate logistic regression model
model.1 <- glm(pdoc~citsBin, data=postdocData, family=binomial(link="logit"))

library(car) # John Fox package
car::Anova(model.1, test="LR", type="III") # type 3 analysis (SAS verbiage)
     # Response: pdoc
     #          LR Chisq Df Pr(>Chisq)
     # citsBin   1.7977  3     0.6154

chisq.test(table(postdocData$citsBin, postdocData$pdoc)) 
     # X-squared = 1.7957, df = 3, p-value = 0.6159

# then can test differences in levels, such as: contrast cits=0 minus cits=1 = 0
# Ho: Beta_1 - Beta_2 = 0
cVec <- c(0,1,-1,0)
car::linearHypothesis(model.1, cVec, verbose=TRUE) 
B_Miner
sumber
1
@ user2040. Saya tidak mengerti bagaimana Anda akan melakukan tes "tipe 3"? Apakah ini terkait SAS? (maaf pengetahuan SAS saya sangat terbatas). Saya akan melakukan regresi logistik seperti yang Anda sarankan tetapi dengan 2 variabel dummy. Juga, mengingat bahwa saya mengerti dengan benar, jika Anda melakukan regresi logistik, pengujian jika beberapa atau semua koefisien 0 dilakukan dengan penyimpangan (atau rasio kemungkinan) dan IS IS asimtotik Chi-Sq (tidak harus dengan df = 1)
suncoolsu
1
@suncoolsu: Ya, secara praktis Anda harus mendapatkan kesimpulan yang sama. Saya seharusnya tidak mengatakan "setara" (saya bekerja dengan data besar sehingga mereka berakhir sama). Saya menambahkan beberapa kode dalam jawaban untuk membantu memperjelas.
B_Miner
8

Xkknkkkhal^k=Xk/nk

g(hal)=arcsinhal

Namun, beberapa penulis modern cukup skeptis terhadap transformasi arcsine, lihat misalnya http://www.mun.ca/biology/dschneider/b7932/B7932Final10Dec2010.pdf Tapi penulis ini khawatir dengan masalah seperti prediksi, di mana mereka menunjukkan arcsine dapat menyebabkan masalah. Jika Anda hanya peduli dengan pengujian hipotesis, itu harus OK. Pendekatan yang lebih modern dapat menggunakan regresi logistik.

kjetil b halvorsen
sumber
4
(+1) ... jika semua grup memiliki no yang sama. pengamatan.
Scortchi
1
Atau seseorang dapat menggunakan bobot berdasarkan jumlah pengamatan.
kjetil b halvorsen
3

Saya ingin berbeda dari apa yang Anda pikirkan tentang tes Chi-Sq. Itu berlaku bahkan jika data tidak binomial. Ini didasarkan pada normalitas asimtotik mle (dalam sebagian besar kasus).

Saya akan melakukan regresi logistik seperti ini:

logπ^1-π^=β0+β1×D1+β2×D2

dimana

D1D2D1=D2=0SEBUAH,D1=1,D2=0B,D1=1D2=1C

HHai:β0=β1=β2=0

Apakah ANOVA setara jika ada relasi atau tidak.

HHai:β0=0

Apakah tes ini A memiliki beberapa efek.

HHai:β1-β0=0

Apakah tes ini B memiliki beberapa efek.

HHai:β2-(β0+β12)=0

Apakah tes C memiliki beberapa efek.

Sekarang Anda dapat melakukan kontras lebih lanjut untuk menemukan apa yang Anda minati. Ini masih merupakan uji chi-sq, tetapi dengan tingkat kebebasan yang berbeda (masing-masing 3, 1, 1, dan 1)

suncoolsu
sumber
Saya masih perlu memikirkan kontrasnya. Saya akan memperbaikinya setiap kali saya punya waktu. Maaf soal itu
suncoolsu
-3

Saya pikir Anda benar bahwa ANOVA tidak boleh digunakan untuk menganalisis variabel dependen binomial. Banyak orang menggunakan ini untuk membandingkan rata-rata variabel respon biner (0 1) tetapi tidak boleh digunakan karena ini secara serius melanggar asumsi Normality dan Equal variance. Tes Chi-Square atau Regresi logistik adalah yang terbaik untuk situasi ini.

sachin01663
sumber
Sama seperti jawaban Anda di sini .
Scortchi