Kolmogorov-Smirnov ที่มีข้อมูลไม่ต่อเนื่อง: การใช้ dgof :: ks.test ใน R คืออะไร


23

คำถามเริ่มต้น:

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

Conover ( สถิติ nonparametric ในทางปฏิบัติ , 3d) ดูเหมือนจะบอกว่าการทดสอบ Kolmogorov-Smirnov สามารถนำมาใช้เพื่อจุดประสงค์นี้ได้ แต่พฤติกรรมของมันคือ "อนุรักษ์นิยม" ด้วยการแจกแจงแบบแยกส่วนและฉันไม่แน่ใจว่าสิ่งที่นี่หมายถึงอะไร

ความคิดเห็นของ DavidR สำหรับคำถามอื่นกล่าวว่า "... คุณยังสามารถทำการทดสอบระดับαตามสถิติ KS แต่คุณจะต้องค้นหาวิธีอื่นเพื่อให้ได้ค่าวิกฤตเช่นการจำลอง"

รุ่นของ ks.test () ในแพคเกจ dgof การ R ( บทความ , Cran ) เพิ่มความสามารถบางอย่างที่ไม่ได้อยู่ในรุ่นเริ่มต้นของ ks.test () ในแพคเกจสถิติ เหนือสิ่งอื่นใด dgof :: ks.test รวมถึงพารามิเตอร์นี้:

simulate.p.value: ตรรกะที่ระบุว่าจะคำนวณค่า p โดยการจำลอง Monte Carlo สำหรับการทดสอบความดีแบบพอดีที่ไม่ต่อเนื่องเท่านั้น

simulate.p.value = T มีจุดประสงค์เพื่อบรรลุสิ่งที่ DavidR เสนอหรือไม่?

แม้ว่าจะเป็นฉันไม่แน่ใจว่าฉันสามารถใช้ dgof :: ks.test เพื่อทดสอบสองตัวอย่างได้หรือไม่ ดูเหมือนว่าจะมีเพียงการทดสอบสองตัวอย่างสำหรับการแจกแจงแบบต่อเนื่อง:

ถ้า y เป็นตัวเลขจะมีการทดสอบสองตัวอย่างของสมมติฐานว่างที่ x และ y ถูกดึงออกมาจากการแจกแจงแบบต่อเนื่องเดียวกัน

อีกวิธีหนึ่ง y สามารถเป็นสตริงอักขระการตั้งชื่อฟังก์ชันการแจกแจงแบบต่อเนื่อง (สะสม) (หรือฟังก์ชันดังกล่าว) หรือฟังก์ชัน ecdf (หรือวัตถุของคลาส stepfun) ที่ให้การกระจายแบบไม่ต่อเนื่อง ในกรณีเหล่านี้การทดสอบหนึ่งตัวอย่างดำเนินไปด้วยค่า Null ซึ่งฟังก์ชันการแจกแจงที่สร้าง x คือการแจกแจง y ...

(รายละเอียดความเป็นมา: การพูดอย่างเคร่งครัดการแจกแจงพื้นฐานของฉันนั้นต่อเนื่อง แต่ข้อมูลมีแนวโน้มที่จะอยู่ใกล้กับจุดหนึ่งจุดมาก ๆ แต่ละจุดเป็นผลลัพธ์ของการจำลองและมีค่าเฉลี่ย 10 หรือ 20 จำนวนจริงระหว่าง -1 และ 1. ในตอนท้ายของการจำลองตัวเลขเหล่านั้นเกือบจะใกล้เคียงกับ. 9 หรือ -9 เสมอดังนั้นค่าเฉลี่ยของกลุ่มประมาณสองสามค่าและฉันถือว่าพวกมันไม่ต่อเนื่องการจำลองนั้นซับซ้อนและฉันไม่มี เหตุผลที่จะคิดว่าข้อมูลเป็นไปตามการกระจายที่รู้จักกันดี)

แนะนำ?


ฉันเพิ่งสังเกตเห็นความคิดเห็นของดร. จีที่นี่ซึ่งแสดงให้เห็นว่า ks.boot เป็นสิ่งที่ฉันต้องการ แต่ฉันก็ยังสงสัยว่าตัวเลือกการจำลองของ dgof :: ks.test จะใช้งานได้หรือไม่และ "การแปลง" หมายถึงอะไร
ดาวอังคาร

คำตอบ:


16

นี่คือคำตอบของส่วนขยาย @jbrucks (แต่ตอบกลับด้วยเช่นกัน)

หนึ่งการทดสอบทั่วไปว่า 2 ตัวอย่างมาจากประชากร / การกระจายตัวเดียวกันหรือถ้ามีความแตกต่างคือการทดสอบการเปลี่ยนแปลง เลือกสถิติที่น่าสนใจซึ่งอาจเป็นสถิติการทดสอบของ KS หรือความแตกต่างของค่าเฉลี่ยหรือความแตกต่างของค่ามัธยฐานหรืออัตราส่วนของความแปรปรวนหรือ ... (อะไรก็ตามที่มีความหมายมากที่สุดสำหรับคำถามของคุณคุณสามารถจำลองสถานการณ์ได้ สถิติใดที่ให้ผลลัพธ์ที่ดีที่สุดแก่คุณ) และคำนวณสถิตินั้นในตัวอย่าง 2 ต้นฉบับ จากนั้นคุณสุ่มเปลี่ยนแปลงข้อสังเกตระหว่างกลุ่ม (จัดกลุ่มจุดข้อมูลทั้งหมดเป็นกลุ่มใหญ่หนึ่งกลุ่มจากนั้นสุ่มแบ่งกลุ่มออกเป็น 2 กลุ่มขนาดเดียวกับตัวอย่างดั้งเดิม) และคำนวณสถิติที่น่าสนใจของกลุ่มตัวอย่างที่เปลี่ยนแปลง ทำซ้ำหลาย ๆ ครั้ง การกระจายตัวของสถิติตัวอย่างจะเป็นการแจกแจงโมฆะของคุณและคุณเปรียบเทียบสถิติดั้งเดิมกับการแจกแจงนี้เพื่อจัดทำแบบทดสอบ โปรดสังเกตว่าสมมติฐานว่างคือการแจกแจงเหมือนกันไม่ใช่แค่ค่าเฉลี่ย / มัธยฐาน / ฯลฯ มีความเท่าเทียมกัน

หากคุณไม่ต้องการสันนิษฐานว่าการแจกแจงนั้นเหมือนกัน แต่ต้องการทดสอบความแตกต่างในค่าเฉลี่ย / มัธยฐาน / ฯลฯ จากนั้นคุณสามารถทำ bootstrap

หากคุณรู้ว่าการกระจายข้อมูลมาจากไหน (หรืออย่างน้อยก็ยินดีที่จะรับการแจกจ่าย) จากนั้นคุณสามารถทำการทดสอบอัตราส่วนความน่าจะเป็นเกี่ยวกับความเท่าเทียมกันของพารามิเตอร์ (เปรียบเทียบแบบจำลองกับชุดของพารามิเตอร์เดียวมากกว่าทั้งสองกลุ่ม พร้อมชุดพารามิเตอร์แยกต่างหาก) การทดสอบอัตราส่วนความน่าจะเป็นโดยทั่วไปจะใช้การแจกแจงแบบไคสแควร์ซึ่งใช้ได้ดีในหลายกรณี (แบบอะซิมโตติค) แต่ถ้าคุณใช้ขนาดตัวอย่างขนาดเล็กหรือทดสอบพารามิเตอร์ที่อยู่ใกล้กับเขตแดน ดีคุณสามารถใช้การทดสอบการเปลี่ยนรูปเพื่อรับการแจกแจงโมฆะที่ดีขึ้นอีกครั้ง

การทดสอบเหล่านี้ทำงานได้ทั้งแบบต่อเนื่องหรือแบบไม่ต่อเนื่อง คุณควรรวมการวัดพลังงานหรือช่วงความมั่นใจเพื่อระบุจำนวนความไม่แน่นอนการขาดความสำคัญอาจเกิดจากพลังงานต่ำหรือความแตกต่างที่มีนัยสำคัญทางสถิติอาจยังไม่มีความหมายในทางปฏิบัติ


เกร็กขอบคุณ นี่เป็นคำตอบทั่วไปที่มีประโยชน์มากสำหรับคำถามของ jbruck และเป็นประโยชน์กับฉันเช่นกัน (คำถามของฉันมีความเฉพาะเจาะจงมากขึ้นอาจจะแคบเกินไปที่จะคาดหวังคำตอบ)
ดาวอังคาร

1
@Mars ฉันคิดว่าคำตอบของฉันไม่ตอบอย่างน้อยส่วนหนึ่งของคุณทางอ้อม การทดสอบปกติของ KS ไม่มีข้อผูกมัดและใช้แบบจำลองเชิงทฤษฎีสำหรับสถิติการทดสอบภายใต้สมมติฐานว่าง ด้วยความสัมพันธ์แบบจำลองเชิงทฤษฎีนั้นไม่ถูกต้อง แต่คุณสามารถใช้การจำลอง (ทดสอบการเปลี่ยนรูป, จำลองจาก null dist ฯลฯ ) แทนการคำนวณการแจกแจงโมฆะและดังนั้นจึงได้ค่า p-value ฯลฯ ฉันเดาว่านั่นคือสิ่งที่จำลอง โต้แย้งคุณพูดถึงไม่
เกร็กสโนว์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.