"Dasi tidak boleh ada" dalam uji Kolmgorov-Smirnov satu sampel di R


12

Saya akan menggunakan tes Kolmogorov-Smirnov untuk menguji normalitas MYDATA di R. Ini adalah contoh dari apa yang saya lakukan

 ks.test(MYDATA,"pnorm",mean(MYDATA),sd(MYDATA))

Inilah hasil yang diberikan R kepada saya:

 data:  MYDATA
 D = 0.13527, p-value = 0.1721
 alternative hypothesis: two-sided

 Warning message:
 In ks.test(MYDATA, "pnorm", mean(MYDATA), sd(MYDATA)) :
    ties should not be present for the Kolmogorov-Smirnov test

Saya pikir ada masalah, apa artinya "ikatan" dalam peringatan ini?


2
Mengapa Anda ingin melakukan tes normalitas ini? Dalam kebanyakan kasus, menguji normalitas suatu variabel cukup tidak berguna , meskipun menguji normalitas residual setelah regresi dapat menjadi penting.
EdM

2
Bahkan tanpa ikatan, tes KS bukanlah tes untuk normalitas umum tetapi dari distribusi yang ditentukan sepenuhnya (Anda memperkirakan mean dan sd dari data). Nilai-p Anda akan menjadi omong kosong. Cari situs kami untuk referensi tes
Lilliefors

Jawaban:


10

Anda memiliki dua masalah di sini:

Tes KS adalah untuk distribusi kontinu sehingga MYDATA tidak boleh mengandung ikatan apa pun (nilai berulang).

Teori yang mendasari tes KS tidak memungkinkan Anda memperkirakan parameter distribusi dari data seperti yang Anda lakukan. Bantuan untuk ks.test menjelaskan hal ini.


mengapa ks.testdalam kasus dua sampel ingin ikatan dihapus dari keduanya xdan y? Maksud saya, saya tidak memiliki ikatan dalam xdan y( unique(x)dan unique(y)), tetapi kedua vektor memiliki nilai yang sama. Bukankah seharusnya ikatan dianggap hanya di antara nilai-nilai di dalam xdan di dalam y?
Nemesi

@Nemesi jika Anda memiliki pertanyaan baru, silakan tanyakan dengan menggunakan tombol Tanya Pertanyaan.
mdewey

Saya pikir
Nemesi

5

Seperti yang dijelaskan oleh @mdewey, Tes KS tidak cocok saat memperkirakan parameter dari data. Anda dapat menggunakan kode berikut, yang bergantung pada uji Anderson-Darling untuk normalitas, dan tidak mengharuskan Anda untuk memasok mean dan stddev. Tes ini lebih kuat dalam akurasi daripada tes Lilliefors.

install.packages("nortest")
library(nortest)
ad.test(MYDATA)

"Akurasi" mungkin untuk pencarian yang sempit tapi salah arah. Dalam kedua kasus, sebagian besar aplikasi dari salah satu tes ini pada terburuk tidak berguna dan dalam kebanyakan kasus menyesatkan. Orang sering diajarkan untuk menggunakannya oleh orang-orang dengan pemahaman yang salah tentang asumsi tentang metode regresi. Saya menduga kelemahan relatif dari uji-KS akan membuatnya benar-benar "lebih baik" untuk menggunakan alternatif yang lebih kuat karena hasilnya akan cenderung menyesatkan pengguna naif.
DWin
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.