Sejauh ini, saya telah menggunakan statistik Shapiro-Wilk untuk menguji asumsi normalitas dalam sampel kecil.
Bisakah Anda merekomendasikan teknik lain?
Sejauh ini, saya telah menggunakan statistik Shapiro-Wilk untuk menguji asumsi normalitas dalam sampel kecil.
Bisakah Anda merekomendasikan teknik lain?
Jawaban:
The fBasics paket di R (bagian dari Rmetrics ) meliputi beberapa tes normalitas , meliputi banyak yang populer tes frequentist - Kolmogorov-Smirnov, Shapiro-Wilk, Jarque-Bera, dan D'Agostino - bersama dengan pembungkus untuk tes normalitas dalam paket nortest - Anderson-Darling, Cramer-von Mises, Lilliefors (Kolmogorov-Smirnov), Pearson chi-square, dan Shapiro-Francia. Dokumentasi paket juga menyediakan semua referensi penting. Berikut ini adalah demo yang menunjukkan cara menggunakan tes dari nortest .
Salah satu pendekatan, jika Anda punya waktu, adalah menggunakan lebih dari satu tes dan memeriksa persetujuan. Tes bervariasi dalam beberapa cara, sehingga tidak sepenuhnya mudah untuk memilih "yang terbaik". Apa yang digunakan peneliti lain di bidang Anda? Ini bisa bervariasi dan mungkin yang terbaik adalah tetap dengan metode yang diterima sehingga orang lain akan menerima pekerjaan Anda. Saya sering menggunakan tes Jarque-Bera, sebagian karena alasan itu, dan Anderson-Darling untuk perbandingan.
Anda dapat melihat "Perbandingan Tes untuk Normalitas Univariat" (Seier 2002) dan "Perbandingan berbagai tes normalitas" (Yazici; Yolacan 2007) untuk perbandingan dan diskusi tentang masalah tersebut.
Ini juga mudah untuk menguji metode ini untuk perbandingan dalam R, terima kasih untuk semua fungsi distribusi . Berikut adalah contoh sederhana dengan data yang disimulasikan (saya tidak akan mencetak hasilnya untuk menghemat ruang), meskipun diperlukan eksposisi yang lebih lengkap:
library(fBasics); library(ggplot2)
set.seed(1)
# normal distribution
x1 <- rnorm(1e+06)
x1.samp <- sample(x1, 200)
qplot(x1.samp, geom="histogram")
jbTest(x1.samp)
adTest(x1.samp)
# cauchy distribution
x2 <- rcauchy(1e+06)
x2.samp <- sample(x2, 200)
qplot(x2.samp, geom="histogram")
jbTest(x2.samp)
adTest(x2.samp)
Setelah Anda mendapatkan hasil dari berbagai tes pada distribusi yang berbeda, Anda dapat membandingkan mana yang paling efektif. Sebagai contoh, nilai p untuk tes Jarque-Bera di atas mengembalikan 0,276 untuk distribusi normal (menerima) dan <2,2e-16 untuk cauchy (menolak hipotesis nol).
Untuk normalitas, Shapiro-Wilk sebenarnya memiliki kekuatan yang baik dalam sampel yang cukup kecil.
Pesaing utama dalam studi yang saya lihat adalah Anderson-Darling yang lebih umum, yang cukup baik, tetapi saya tidak akan mengatakan itu lebih baik. Jika Anda dapat menjelaskan alternatif apa yang menarik bagi Anda, mungkin statistik yang lebih baik akan lebih jelas. [edit: jika Anda memperkirakan parameter, tes AD harus disesuaikan untuk itu.]
[Saya sangat merekomendasikan untuk tidak mempertimbangkan Jarque-Bera dalam sampel kecil (yang mungkin lebih dikenal sebagai Bowman-Shenton dalam lingkaran statistik - mereka mempelajari distribusi sampel kecil). Distribusi skewness dan kurtosis yang asimptotik tidak seperti distribusi sampel kecil - dengan cara yang sama pisang tidak terlihat seperti jeruk. Ia juga memiliki daya yang sangat rendah terhadap beberapa alternatif yang menarik - misalnya ia memiliki daya yang rendah untuk mengambil distribusi bimodal simetris yang memiliki kurtosis dekat dengan distribusi normal.]
Seringkali orang menguji kebaikan yang cocok untuk alasan yang ternyata bukan alasan yang sangat bagus, atau mereka menjawab pertanyaan selain dari yang sebenarnya ingin mereka jawab.
Misalnya, Anda hampir pasti sudah tahu data Anda tidak benar-benar normal (tidak persis), jadi tidak ada gunanya mencoba menjawab pertanyaan yang Anda tahu jawabannya - dan tes hipotesis sebenarnya tidak menjawabnya .
Mengingat Anda tahu Anda belum memiliki normalitas yang tepat, uji hipotesis normalitas Anda benar-benar memberi Anda jawaban untuk pertanyaan yang lebih dekat dengan "apakah ukuran sampel saya cukup besar untuk mengambil jumlah non-normalitas yang saya miliki", sementara pertanyaan sebenarnya yang Anda tertarik untuk menjawab biasanya lebih dekat dengan "apa dampak dari ketidaknormalan ini pada hal-hal lain yang saya minati?". Uji hipotesis mengukur ukuran sampel, sedangkan pertanyaan yang Anda minati tidak terlalu tergantung pada ukuran sampel.
Ada saat-saat ketika pengujian normalitas masuk akal, tetapi situasi itu hampir tidak pernah terjadi dengan sampel kecil.
Mengapa Anda menguji normalitas?
Ada seluruh kategori Wikipedia pada tes normal termasuk:
Saya pikir AD mungkin yang terbaik dari mereka.
Untuk kelengkapannya, para ahli ekonometrika juga menyukai tes Kiefer dan Salmon dari makalah mereka di Economics Letters tahun 1983 - ini merupakan ekspresi 'skewness dan kurtosis' yang dinormalisasi 'yang kemudian didistribusikan secara chi-square. Saya memiliki versi C ++ lama yang saya tulis saat lulus sekolah, saya bisa menerjemahkannya ke R.
Sunting: Dan inilah makalah terbaru dari Bierens (kembali) yang mendapatkan Jarque-Bera dan Kiefer-Salmon.
Sunting 2: Saya melihat kode lama, dan sepertinya itu adalah tes yang sama antara Jarque-Bera dan Kiefer-Salmon.
Faktanya, tes Kiefer Salmon dan tes Jarque Bera sangat berbeda seperti yang ditunjukkan di beberapa tempat, tetapi yang terbaru di sini - Tes Momen untuk Distribusi Kesalahan Standar: Pendekatan Robust Sederhana oleh Yi-Ting Chen. Tes Kiefer Salmon dengan konstruksi kuat dalam menghadapi struktur kesalahan tipe ARCH tidak seperti tes Jarque Bera standar. Makalah karya Yi-Ting Chen mengembangkan dan membahas apa yang menurut saya mungkin merupakan tes terbaik saat ini.
Untuk ukuran sampel <30 subjek, Shapiro-Wilk dianggap memiliki kekuatan yang kuat - Hati-hati , saat menyesuaikan tingkat signifikansi tes, karena dapat menyebabkan kesalahan tipe II! [1]