Ki kare oranları karşılaştırmak için kullanılabilir mi?


13

Ki kare testi bir örnek beklenen değerler kümesinden önemli ölçüde farklı olup olmadığını görmek için yararlı okudum.

Örneğin, insanların en sevdiği renkler hakkında bir anketin sonuç tablosu (n = 15 + 13 + 10 + 17 = 55 toplam katılımcı):

red,blue,green,yellow

15,13,10,17

Bir ki-kare testi bana bu örneğin her rengi beğenen insanların eşit olasılığının sıfır hipotezinden önemli ölçüde farklı olup olmadığını söyleyebilir.

Soru: Test, belirli bir rengi seven toplam katılımcıların oranlarında yapılabilir mi? Aşağıdaki gibi:

red,blue,green,yellow

0.273,0.236,0.182,0.309

Tabii ki, 0.273 + 0.236 + 0.182 + 0.309 = 1.

Ki kare testi bu durumda uygun değilse, hangi test olur? Teşekkürler!

Düzenleme: @Roman Luštrik cevap aşağıda denedim ve aşağıdaki çıktı var, neden bir p değeri almıyorum ve neden R "Chi-kare yaklaşım yanlış olabilir" diyor?

> chisq.test(c(0,0,0,8,6,2,0,0),p = c(0.406197174,0.088746395,0.025193306,0.42041479,0.03192905,0.018328576,0.009190708,0))

    Chi-squared test for given probabilities

data:  c(0, 0, 0, 8, 6, 2, 0, 0) 
X-squared = NaN, df = 7, p-value = NA

Warning message:
In chisq.test(c(0, 0, 0, 8, 6, 2, 0, 0), p = c(0.406197174, 0.088746395,  :
  Chi-squared approximation may be incorrect

1
İkinci durumda, toplam örnek boyutunu bildiğinizi mi düşünüyorsunuz? Ya da değil?
kardinal

@cardinal: evet toplam örnek boyutunu biliyorum.
hpy

3
bir sayım tablosuna dönüştürmek için orantıları toplam örnek boyutuyla çarpın ve ki-kare'yi uygulayın. ilk örneğinize karşılık gelen yöntem.
Aaron

"Uyum iyiliği" testi (ki kare kullanarak) sormak şüpheleniyorum. Kullanımı aşağıda açıklanmıştır. Şerefe, Tal
Tal Galili

Yanıtlar:


7

Yanılıyorsam beni düzeltin, ama bence bu komutla R'de yapılabilir

> chisq.test(c(15,13,10,17))

    Chi-squared test for given probabilities

data:  c(15, 13, 10, 17) 
X-squared = 1.9455, df = 3, p-value = 0.5838

Bu, her birinin 1/4 oranında olduğunu varsayar. Beklenen değerleri bağımsız değişken aracılığıyla değiştirebilirsiniz p. Örneğin, insanların (hangi nedenle olursa olsun) bir rengi diğerine / tercihlerine tercih edebileceğini düşünüyorsunuz.

> chisq.test(c(15,13,10,17), p = c(0.5, 0.3, 0.1, 0.1))

    Chi-squared test for given probabilities

data:  c(15, 13, 10, 17) 
X-squared = 34.1515, df = 3, p-value = 1.841e-07

2
Bazı düşük hücre sayıları nedeniyle bunu gördüğünüzden şüpheleniyorum (okuduğum bazı kitaplar hücre başına en az 5 tane öneriyor). Belki konuyla ilgili daha bilgili biri içeri girebilir?
Roman Luštrik

1
Ayrıca, olasılığınızın sonuncusunu sıfırdan fazla yaparsanız (ancak uyarı hala kalır) ap değeri alabileceğinizi unutmayın.
Roman Luštrik

1
Ott & Longnecker (İstatistiksel yöntemlere ve veri analizine giriş, 5. baskı), sayfa 504'te, yaklaştırmayı rahatça kullanabilmek için her hücrenin en az beş olması gerektiğini belirtir.
Roman Luštrik

1
@penyuan: Sıfır sayım olduğundan bahsetmeliydin. Roman haklı, bu durumda bir Ki-kare kullanmak bahsettiği nedenlerden dolayı işe yaramıyor.
Joris Meys

1
@penyuan: Size bazı seçenekler sunan bir cevap ekledim.
Joris Meys

6

Verdiğiniz ekstra bilgileri kullanarak (değerlerin bir kısmının 0 olması), çözümünüzün neden hiçbir şey döndürmediği oldukça açıktır. Birincisi, 0 olan bir olasılığınız var, yani:

  • eiHenry çözeltisindeki en az bir i için 0
  • npi çözeltideki en az bir i için 0'dır.

Bu da bölünmeleri imkansız kılıyor. Şimdi demek, bu sonuca varmanın imkansız olduğu anlamına gelir. Öyleyse, verileri yalnızca silebilirsiniz (@cardinal'in yorumuna bakın). Oldukça imkansız demek istiyorsanız, ilk 'çözüm' bu şansı çok küçük bir sayı ile artırmak olabilir.p=0

Verilen:

X <- c(0,0,0,8,6,2,0,0)
p <- c(0.406197174,0.088746395,0.025193306,0.42041479,0.03192905,0.018328576,0.009190708,0)

Şunları yapabilirsiniz:

> p2 <- p + 1e-6
> chisq.test(X,p2)

        Pearson's Chi-squared test

data:  X and p2 
X-squared = 24, df = 21, p-value = 0.2931

Ancak bu doğru bir sonuç değildir. Her durumda, bu sınırda durumlarda ki-kare testi kullanmaktan kaçınılmalıdır. Daha iyi bir yaklaşım, uyarlanmış bir test istatistiğini hesaplayarak ve örnekten önyükleme tarafından elde edilen dağılımla karşılaştırarak bir önyükleme yaklaşımı kullanmaktır.

R kodunda bu (adım adım) olabilir:

# The function to calculate the adapted statistic.
# We add 0.5 to the expected value to avoid dividing by 0
Statistic <- function(o,e){
    e <- e+0.5
    sum(((o-e)^2)/e)
}

# Set up the bootstraps, based on the multinomial distribution
n <- 10000
bootstraps <- rmultinom(n,size=sum(X),p=p)

# calculate the expected values
expected <- p*sum(X)

# calculate the statistic for the sample and the bootstrap
ChisqSamp <- Statistic(X,expected)
ChisqDist <- apply(bootstraps,2,Statistic,expected)

# calculate the p-value
p.value <- sum(ChisqSamp < sort(ChisqDist))/n
p.value

Bu, gözlemlenen ve beklenen arasındaki farka çok daha uyumlu olan 0 olan bir p değeri verir. Dikkat edin, bu yöntem verilerinizin çok terimli bir dağıtımdan alındığını varsayar. Bu varsayım geçerli değilse, p değeri de geçerli değildir.


1
pi=0iipi=0pi=1/6i61,,10

@cardinal: Beklenen değerin 0 olduğu ancak gözlemlenen olması gerekmeyen verileri açıkladım. OP'nin bize verdiği şeydi (ikinci düşüncede gerçekten oldukça gerçekçi görünmese de). Bu nedenle, imkansız yerine son derece imkansız hale getirmek için p değerine biraz eklemek yardımcı olacaktır, ancak o zaman bile, 5'ten az sayımı olan çok sayıda tablo hücresi nedeniyle ki-kare geçersizdir ( kodu). Cevabıma ekledim, işaretçi için teşekkürler.
Joris Meys

pi=0

4

1E(xi)

ψ=ixilog(xinpi)

xiii{red, blue, green, yellow}n55pipi=pj

χ2=i(xinpi)2npi2ψ

fi=xin

ψ=nifilog(fipi)
χ2=ni(fipi)2pi

ψψpi1piψ

H1H2piψ1ψ2exp(ψ1ψ2)H2H1exp(12χ1212χ22)

H2ψ2=χ22=0

χ22npi<10ψ


1
Eminim beklenen frekanslar 10'dan büyük olamaz. :)
kardinal

@cardinal - bunun sizin itirazınız olduğuna sevindim - çünkü cevabımın geri kalanı iyi olmalı :).
olasılık

Vay be, umarım bu kadar seçici / huysuz olduğum için bir üne sahip değilim.
kardinal

1
ψ2ψχ2χ22ψ0χ22ψχ2
kardinal

χ22ψ

3

Evet, sıfır hipotezini test edebilirsiniz: "H0: prop (kırmızı) = prop (mavi) = prop (yeşil) = prop (sarı) = 1/4"), anketin oranlarını karşılaştıran bir ki kare testi kullanarak (0.273 , ...) beklenen oranlarda (1/4, 1/4, 1/4, 1/4)


Sadece onaylamak için, birbirleri için eşit olmayan beklenen oranlarla da çalışacak mı?
31'de hpy

4
tam numune boyutunu bilmediğiniz sürece test anlamlı olmayacaktır. 1.0 / 0.0 / 0.0 / 0.0
Aaron

Evet, toplam örnek boyutunu biliyorum.
14'te hpy

2

Pearson ki-kare testi için test istatistiği

i=1n(OiEi)2Ei

yazarsanızoi=Oinei=Einn=i=1nOii=1nei=1

ni=1n(oiei)2ei

bu nedenle, gözlemlenen oranların öneminin test edilmesi, beklendiği gibi numune boyutuna bağlıdır.

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.