การทดสอบ kolmogorov-smirnov ใน r (พร้อมตัวอย่าง)


การทดสอบ Kolmogorov-Smirnov ใช้เพื่อทดสอบว่าตัวอย่างมาจากการกระจายตัวที่แน่นอนหรือไม่

หากต้องการดำเนินการทดสอบ Kolmogorov-Smirnov หนึ่งหรือสองตัวอย่างใน R เราสามารถใช้ฟังก์ชัน ks.test() ได้

บทช่วยสอนนี้แสดงตัวอย่างวิธีใช้คุณสมบัตินี้ในทางปฏิบัติ

ตัวอย่างที่ 1: ตัวอย่างการทดสอบ Kolmogorov-Smirnov

สมมติว่าเรามีข้อมูลตัวอย่างต่อไปนี้:

 #make this example reproducible
seed(0)

#generate dataset of 100 values that follows a Poisson distribution with mean=5
data <- rpois(n= 20 , lambda= 5 )

ที่เกี่ยวข้อง: คำแนะนำเกี่ยวกับ dpois, ppois, qpois และ rpois ใน R

รหัสต่อไปนี้แสดงวิธีดำเนินการทดสอบ Kolmogorov-Smirnov กับตัวอย่างค่าข้อมูล 100 ค่านี้เพื่อตรวจสอบว่ามาจากการแจกแจงแบบปกติหรือไม่:

 #perform Kolmogorov-Smirnov test
ks.test(data, “ pnorm ”)

	One-sample Kolmogorov–Smirnov test

data:data
D = 0.97725, p-value < 2.2e-16
alternative hypothesis: two-sided

จากผลลัพธ์เราจะเห็นว่าสถิติการทดสอบคือ 0.97725 และค่า p ที่สอดคล้องกันคือ 2.2e-16 เนื่องจากค่า p น้อยกว่า 0.05 เราจึงปฏิเสธสมมติฐานว่าง เรามีหลักฐานเพียงพอที่จะบอกว่าข้อมูลตัวอย่างไม่ได้มาจากการแจกแจงแบบปกติ

ผลลัพธ์นี้ไม่น่าประหลาดใจเนื่องจากเราสร้างข้อมูลตัวอย่างโดยใช้ฟังก์ชัน rpois() ซึ่งสร้างค่าสุ่มตาม การแจกแจงแบบปัวซอง

ตัวอย่างที่ 2: การทดสอบ Kolmogorov-Smirnov สองตัวอย่าง

สมมติว่าเรามีชุดข้อมูลตัวอย่างสองชุดต่อไปนี้:

 #make this example reproducible
seed(0)

#generate two datasets
data1 <- rpois(n= 20 , lambda= 5 )
data2 <- rnorm( 100 )

รหัสต่อไปนี้แสดงวิธีดำเนินการทดสอบ Kolmogorov-Smirnov กับตัวอย่างทั้งสองนี้เพื่อตรวจสอบว่ามาจากการแจกแจงแบบเดียวกันหรือไม่:

 #perform Kolmogorov-Smirnov test
ks.test(data1, data2)

	Two-sample Kolmogorov–Smirnov test

data: data1 and data2
D = 0.99, p-value = 1.299e-14
alternative hypothesis: two-sided

จากผลลัพธ์ เราจะเห็นว่าสถิติการทดสอบคือ 0.99 และค่า p ที่สอดคล้องกันคือ 1.299e-14 เนื่องจากค่า p น้อยกว่า 0.05 เราจึงปฏิเสธสมมติฐานว่าง เรามีหลักฐานเพียงพอที่จะบอกว่าชุดข้อมูลตัวอย่างทั้งสองชุดไม่ได้มาจากการแจกแจงแบบเดียวกัน

ผลลัพธ์นี้ไม่น่าแปลกใจเนื่องจากเราสร้างค่าสำหรับตัวอย่างแรกโดยใช้การแจกแจงแบบปัวซอง และค่าสำหรับตัวอย่างที่สองโดยใช้ การแจกแจงแบบปกติ

แหล่งข้อมูลเพิ่มเติม

วิธีทำการทดสอบ Shapiro-Wilk ใน R
วิธีทำการทดสอบ Anderson-Darling ใน R
วิธีดำเนินการทดสอบภาวะปกติหลายตัวแปรใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *