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?
r
categorical-data
chi-squared
small-sample
error-message
pengguna1883491
sumber
sumber
Jawaban:
Ini memberi peringatan karena banyak nilai yang diharapkan akan sangat kecil dan oleh karena itu perkiraan p mungkin tidak benar.
Di dalamnya
R
Anda dapat menggunakanchisq.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.
sumber
simulate.p.value = TRUE
dilakukan saat ditambahkanchisq.test
?simulate.p.value = TRUE
menggunakan simulasi tergantung pada marginal , jadi ini benar-benar versi uji eksak Fisher.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.value
argumen keTRUE
; maka Anda tidak bergantung pada perkiraan chi-square dengan distribusi statistik uji.sumber
Untuk jumlah kecil seperti itu, Anda dapat menggunakan uji pasti Fisher:
sumber
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.
sumber
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:
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,
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.
sumber