Binom verileri üzerinde ANOVA


32

Deneysel bir veri setini analiz ediyorum. Veriler, bir çift tedavi tipi vektöründen ve binom bir sonuçtan oluşur:

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

Sonuç sütununda, 1 başarılı ve 0 başarısızlık anlamına gelir. Tedavinin sonucu önemli ölçüde değiştirip değiştirmediğini anlamak isterim. Her deneyde çok sayıda tekrarlanan 4 farklı tedavi vardır (her tedavi için 2000).

Sorum şu: ANOVA kullanarak ikili sonucu analiz edebilir miyim? Yoksa binom verilerini kontrol etmek için ki-kare testi kullanmalı mıyım? Ki-kare oranın eşit olmadığı şekilde eşit olacağını varsayıyor gibi görünüyor, durum böyle değil. Başka bir fikir, her bir tedavi için başarısızlıklara karşı başarı oranını kullanarak verileri özetlemek ve daha sonra bir oran testi kullanmak olacaktır.

Bu tür binom başarı / başarısızlık deneyleri için anlamlı olan testler için önerilerinizi duymak isterim.

Yanıtlar:


18

Normal dağılmış bir sonuç değişkeni varsayan (diğer şeylerin yanı sıra) ANOVA'ya hayır. Dikkate alınacak "eski okul" dönüşümleri var, ancak lojistik regresyon tercih ediyorum (sizin durumunuzda olduğu gibi sadece bir bağımsız değişken olduğunda ki kare eşdeğeri). Ki-kare testi üzerinden lojistik regresyon kullanmanın avantajı, genel teste anlamlı bir sonuç bulursanız tedavinin spesifik seviyelerini karşılaştırmak için kolayca doğrusal bir kontrast kullanabilmenizdir (tip 3). Örneğin A, B, B, C vs.

Netlik için Güncelleme Eklendi:

Eldeki verileri alarak (post doc verileri Allison'dan ayarlandı ) ve değişken cits'i şu şekilde kullanarak, benim açımdan:

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) 

1
@ user2040. "Tip 3" testini nasıl yapardın anlamıyorum? SAS ile ilgili bir şey mi? (üzgünüm SAS bilgim çok sınırlı). Önerdiğin gibi lojistik bir regresyon yapabilirdim ama 2 kukla değişkenle. Ayrıca, doğru bir şekilde anladığımı düşünürsek, lojistik regresyon yaparsanız, katsayıların bazılarının veya tamamının 0 olup olmadığını test etmek sapma (veya olabilirlik oranı) ile yapılır ve asimptotik olarak Chi-Sq (zorunlu olarak df = 1 ile değil) yapılır
suncoolsu

1
@suncoolsu: Evet, pratik olarak konuşursanız da aynı sonucu almalısınız. "Eşdeğer" dememeliydim (büyük verilerle çalışıyorum, böylece aynı olacaklar). Açıklığa kavuşturmak için cevabına bazı kodlar ekledim.
B_Miner

8

Belki eski kafalı düşünün, ama sadece eşit başarı olasılığı olan tüm grupların hipotezini test etmek istiyorsanız, o zaman tanımlayabilirsiniz grup başarılı sonuç sayısı gibi , grup içinde çalışmaların sayısı olarak , tahmin grubu olasılık olacak ve daha sonra binom, varyans stabilize transformasyonu kullanmak zamanlarda (Bu tür bir yaklaşım, olduğu ) Fisher için yeterince iyi, bu yüzden bugün de yararlı olabilir! k , n k k k p k = X k / n- k gr ( p ) = arcsin Xkknkkkp^k=Xk/nk

g(p)=arcsinp

Bununla birlikte, bazı modern yazarlar ark dönüşümü konusunda şüphecidirler, örneğin bkz. Http://www.mun.ca/biology/dschneider/b7932/B7932Final10Dec2010.pdf Ancak bu yazarlar, gösterdikleri tahmin gibi problemlerle ilgilenmektedirler. ark, problemlere yol açabilir. Sadece hipotez testi ile ilgileniyorsanız, sorun değil. Daha modern bir yaklaşım lojistik regresyonda kullanılabilir.


4
(+1) ... eğer tüm gruplar aynı sayıda ise. gözlemler.
Scortchi - Monica'yı yeniden kurun

1
Veya gözlem sayısına göre ağırlıklar kullanılabilir.
kjetil b halvorsen

3

Chi-Sq testi hakkında düşündüklerinizden farklı olmak istiyorum. Veriler binom olmasa bile uygulanabilir. (Çoğu durumda), mle'nin asimptotik normalliğine dayanır.

Böyle bir lojistik regresyon yapardım:

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

nerede

D1 ve kukla değişkenlerdir. D2D1=D2=0A,D1=1,D2=0B,D1=1D2=1C

Ho:β0=β1=β2=0

Bir ilişki olup olmadığına ANOVA eşdeğerdir.

Ho:β0=0

Testin bir etkisi var mı?

Ho:β1β0=0

Testin B olması bazı etkileri var.

Ho:β2(β0+β12)=0

Testin C olması bazı etkiye sahiptir.

Şimdi ilgilendiğiniz konuyu bulmak için başka kontrastlar yapabilirsiniz. Bu hala ki-sq testidir, ancak farklı serbestlik derecelerine sahiptir (sırasıyla 3, 1, 1 ve 1).


Yine de kontrast hakkında düşünmem gerekiyor. Ne zaman vakit alırsam düzeltirim. Bunun için üzgünüm
suncoolsu

-3

Sanırım ANOVA'nın binom bağımlı değişkeni analiz etmek için kullanılmaması gerektiği konusunda haklısınız. Birçok insan bunu ikili yanıt değişkeni (0 1) araçlarını karşılaştırmak için kullanır, ancak kullanılmamalıdır çünkü bu Normallik ve Eşitlik varyansı varsayımını ciddi şekilde ihlal eder. Ki-Kare testleri veya Lojistik regresyon bu durumlar için en iyisidir.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.