Peringatan dalam perkiraan R - Chi-squared mungkin salah


40

Saya memiliki data yang menunjukkan hasil ujian masuk pemadam kebakaran. Saya menguji hipotesis bahwa hasil ujian dan etnis tidak saling independen. Untuk menguji ini, saya menjalankan uji chi-square Pearson di R. Hasilnya menunjukkan apa yang saya harapkan, tetapi itu memberi peringatan bahwa " In chisq.test(a) : Chi-squared approximation may be incorrect."

> a
       white black asian hispanic
pass       5     2     2        0
noShow     0     1     0        0
fail       0     2     3        4
> chisq.test(a)

    Pearson's Chi-squared test

data:  a
X-squared = 12.6667, df = 6, p-value = 0.04865

Warning message:
In chisq.test(a) : Chi-squared approximation may be incorrect

Adakah yang tahu mengapa itu memberi peringatan? Apakah karena saya menggunakan metode yang salah?


2
Jangan pernah percaya hasil dengan pengukuran yang sangat sedikit. Ketika Anda memiliki ratusan orang di setiap kolom, maka Anda mungkin memiliki kepercayaan diri pada hasil Anda. Namun, hasilnya mungkin lebih karena lingkungan atau kekayaan daripada ras itu sendiri.
Rodrigo

Jawaban:


41

Ini memberi peringatan karena banyak nilai yang diharapkan akan sangat kecil dan oleh karena itu perkiraan p mungkin tidak benar.

Di dalamnya RAnda dapat menggunakan chisq.test(a, simulate.p.value = TRUE)untuk mensimulasikan nilai p.

Namun, dengan ukuran sel yang kecil, semua perkiraan akan menjadi buruk. Mungkin baik untuk hanya menguji lulus vs gagal (menghapus "tidak ada pertunjukan") baik dengan chi-square atau regresi logistik. Memang, karena cukup jelas bahwa nilai lulus / gagal adalah variabel dependen, regresi logistik mungkin lebih baik.


Apa yang sebenarnya simulate.p.value = TRUEdilakukan saat ditambahkan chisq.test?
Al14

1
Ini menggunakan simulasi untuk menemukan nilai p
Peter Flom - Reinstate Monica

1
Catatan yang simulate.p.value = TRUEmenggunakan simulasi tergantung pada marginal , jadi ini benar-benar versi uji eksak Fisher.
kjetil b halvorsen

23

Masalahnya adalah bahwa perkiraan chi-square untuk distribusi statistik uji bergantung pada jumlah yang didistribusikan secara normal. Jika banyak perhitungan yang diharapkan sangat kecil, perkiraannya mungkin buruk.

Perhatikan bahwa distribusi aktual dari statistik chi-square untuk independensi dalam tabel kontingensi adalah diskrit, bukan kontinu.

Kategori noshow akan menjadi kontributor besar untuk masalah ini; satu hal yang perlu dipertimbangkan adalah menggabungkan noshow dan gagal. Anda masih akan mendapatkan peringatan tetapi itu tidak akan terlalu mempengaruhi hasil dan distribusi harus cukup masuk akal (aturan yang diterapkan sebelum peringatan diberikan terlalu ketat).

Tetapi bagaimanapun juga, jika Anda ingin mengkondisikan margin (seperti yang Anda lakukan saat menjalankan uji Fisher), Anda dapat menangani masalah dengan sangat mudah di R; atur simulate.p.valueargumen ke TRUE; maka Anda tidak bergantung pada perkiraan chi-square dengan distribusi statistik uji.


dapatkah Anda jelaskan kepada saya mengapa "... perkiraan chi-square untuk distribusi statistik uji bergantung pada jumlah yang didistribusikan secara normal"? Saya tidak mengerti bagaimana ini bisa benar jika seseorang misalnya memiliki tabel kontingensi 2x2. Bagaimana perhitungannya (kurang-lebih) terdistribusi secara normal? Bagaimana mungkin jumlah orang kulit putih, hitam, hispanik, dan Asia dapat terdistribusi secara normal? Maksud Anda sedikit sama? Dan bagaimana hubungannya dengan pertanyaan ini? : stats.stackexchange.com/questions/141407/…
Erosennin

Distribusi multivariat dari variabel acak hitung perlu mendekati normal (meskipun akan berdegenerasi). Himpunan jumlah yang diamati hanya pengamatan vektor tunggal dari normal multivariat ini - Anda tidak dapat menilai distribusi dari satu pengamatan. Untuk membuat penilaian yang saya bicarakan Anda harus mengandalkan asumsi; cukup mudah untuk melakukannya untuk sel-sel individual (yaitu distribusi marginal untuk sel tertentu, di bawah nol). Anda tampaknya menggabungkan jumlah di seluruh sel, tetapi itu tidak masuk akal karena semuanya berasal dari distribusi yang berbeda
Glen_b

Pertama, terima kasih telah meluangkan waktu! Jadi Anda mengatakan bahwa hitungan "ke bawah" tabel kontingensi harus multivariat normal, jika kita melihat banyak pengamatan? Apakah ini tidak berarti bahwa jumlah setiap sel individu harus normal juga, dan juga menghitung "menyamping" tabel kontingensi (saya berasumsi ini adalah apa yang Anda maksud dengan 'seberang')? F. di luar sel dengan nilai yang diharapkan 5, harus didistribusikan secara normal sekitar 5, kan? Jadi jika sebuah sel di seluruh memiliki nilai yang diharapkan 40, sel ini seharusnya terdistribusi normal sekitar 40, dan bersama-sama normal multivariat rata-rata 5 dan 40, bukan?
Erosennin

1
r×crc(r1)(c1)
Glen_b

Ini berat, dan sangat menarik. Jika Anda punya waktu, saya mem-posting ulang pertanyaan pertama saya di sini: stats.stackexchange.com/questions/142429/… .
Erosennin

12

Untuk jumlah kecil seperti itu, Anda dapat menggunakan uji pasti Fisher:

> fisher.test(a)

        Fisher's Exact Test for Count Data

data:  a 
p-value = 0.02618
alternative hypothesis: two.sided 

3

Silakan lihat bagian "Asumsi" dari artikel uji chi-square Pearson .

Singkatnya, ketika jumlah di salah satu sel di meja Anda kurang dari 5 maka salah satu asumsi rusak. Saya pikir itulah yang dimaksud pesan kesalahan. Dalam artikel yang ditautkan Anda juga dapat menemukan tentang koreksi yang dapat diterapkan.


6
χ2

0

Pertanyaan utama Anda berbicara tentang ukuran sampel, tetapi saya melihat bahwa lebih dari dua kelompok dibandingkan. Jika nilai p dari tes adalah 0,05 atau kurang, akan sulit untuk menafsirkan hasilnya. Karenanya, saya membagikan skrip singkat yang saya gunakan dalam situasi seperti ini:

# Load the required packages:
library(MASS) # for chisq
library(descr) # for crosstable

CrossTable(a$exam_result, a$ethnicity
       fisher = T, chisq = T, expected = T,
       prop.c = F, prop.t = F, prop.chisq = F, 
       sresid = T, format = 'SPSS')

Kode ini akan menghasilkan Chi-square Pearson dan Fisher's Chi square. Ini menghasilkan jumlah serta proporsi masing-masing entri tabel. Berdasarkan residual standar atau nilai z-nilai yaitu,

sresid

Jika di luar kisaran | 1,96 | yaitu kurang dari -1,96 atau lebih besar dari 1,96, maka signifikan p <0,05. Tanda itu kemudian akan menunjukkan apakah terkait positif atau negatif.

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.