การทดสอบ 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