Saya memiliki kumpulan data dengan struktur berikut:
a word | number of occurrence of a word in a document | a document id
Bagaimana saya bisa melakukan tes untuk distribusi normal di R? Mungkin ini pertanyaan yang mudah, tetapi saya seorang pemula.
r
distributions
normality-assumption
Skarab
sumber
sumber
zipfR
paketnya.Jawaban:
Jika saya memahami pertanyaan Anda dengan benar, maka untuk menguji apakah kemunculan kata dalam satu set dokumen mengikuti distribusi Normal, Anda cukup menggunakan tes shapiro-Wilk dan beberapa qqplot. Sebagai contoh,
Perintah qqplot memberi:
Anda dapat melihat bahwa kumpulan data kedua jelas tidak Normal oleh ekor yang berat ( Info Lebih Lanjut ).
Dalam uji normalitas Shapiro-Walk, nilai-p besar untuk set data pertama (> 0,9) tetapi sangat kecil untuk set data kedua (<0,01). Ini akan mengarahkan Anda untuk menolak hipotesis nol untuk yang kedua.
sumber
qqline
lereng harus memiliki 1 kemiringan dan mu .Dengan asumsi dataset Anda dipanggil
words
dan memilikicounts
kolom, Anda dapat memplot histogram untuk memiliki visualisasi distribusi:di mana 100 adalah jumlah tempat sampah
Anda juga dapat melakukan plot QQ normal menggunakan
Terakhir, Anda juga dapat menggunakan tes Shapiro-Wilk untuk normalitas
Meskipun, lihat diskusi ini: Pengujian Normalitas: 'Pada dasarnya tidak berguna?'
sumber
Tidak ada tes yang akan menunjukkan kepada Anda bahwa data Anda memiliki distribusi normal - itu hanya akan dapat menunjukkan kepada Anda ketika data cukup tidak konsisten dengan normal sehingga Anda akan menolak nol.
Tetapi jumlah tidak normal dalam hal apapun, mereka bilangan bulat positif - berapa probabilitas bahwa pengamatan dari distribusi normal akan mengambil nilai yang bukan bilangan bulat? (... itu kejadian probabilitas 1).
Mengapa Anda menguji normalitas dalam kasus ini? Jelas tidak benar.
[Dalam beberapa kasus mungkin tidak masalah bahwa Anda dapat memberi tahu data Anda sebenarnya tidak normal. Data nyata tidak pernah (atau hampir tidak pernah) akan benar-benar diambil dari distribusi normal.]
Jika Anda benar-benar perlu melakukan tes, tes Shapiro-Wilk (
?shapiro.test
) adalah tes umum normal yang baik, tes yang banyak digunakan.sumber
Cara yang lebih formal untuk melihat normalitas adalah dengan menguji apakah kurtosis dan skewness berbeda secara signifikan dari nol.
Untuk melakukan ini, kita perlu:
untuk kurtosis, dan:
untuk Skewness.
Kedua tes ini satu sisi, jadi Anda harus mengalikan nilai-p dengan 2 menjadi dua sisi. Jika nilai p Anda menjadi lebih besar dari satu, Anda harus menggunakan 1-kurtosis.test () alih-alih kurtosis.test.
Jika Anda memiliki pertanyaan lain, Anda dapat mengirim email kepada saya di [email protected]
sumber
kurtosis()
danskewness()
fungsi dari paket saat ? Hasil menggunakanrnorm()
sampel berbeda.Selain tes Shapiro-Wilk dari paket statistik, paket nortest (tersedia di CRAN) menyediakan tes normalitas lainnya.
sumber
Dengan menggunakan
nortest
paket R, tes ini dapat dilakukan:Lakukan tes normalitas Anderson-Darling
Lakukan tes Cramér-von Mises untuk normalitas
Lakukan uji chi-square Pearson untuk normalitas
Lakukan uji Shapiro-Francia untuk normalitas
Banyak tes lain dapat dilakukan dengan menggunakan
normtest
paket. Lihat deskripsi di https://cran.r-project.org/web/packages/normtest/normtest.pdfsumber