การทดสอบความสม่ำเสมอนั้นเป็นสิ่งที่พบได้ทั่วไป แต่ฉันสงสัยว่าวิธีใดที่จะทำให้เกิดจุดคลาวด์หลายมิติ
การทดสอบความสม่ำเสมอนั้นเป็นสิ่งที่พบได้ทั่วไป แต่ฉันสงสัยว่าวิธีใดที่จะทำให้เกิดจุดคลาวด์หลายมิติ
คำตอบ:
วิธีการมาตรฐานใช้ฟังก์ชั่น K ของริบลีย์หรือบางสิ่งที่ได้มาจากฟังก์ชั่นเช่น L นี่คือพล็อตที่สรุปจำนวนเพื่อนบ้านโดยเฉลี่ยของคะแนนเป็นฟังก์ชั่นของการแยกระยะทางสูงสุด ( ) สำหรับเครื่องแบบกระจายในnมิติว่าค่าเฉลี่ยควรจะทำตัวเหมือนρ n : และมันก็จะเล็กρ มันแยกตัวออกจากพฤติกรรมดังกล่าวเนื่องจากการรวมกลุ่มรูปแบบอื่น ๆ ของความไม่เป็นอิสระเชิงพื้นที่และผลกระทบจากขอบ เนื่องจากภาวะแทรกซ้อนนี้ - ซึ่งแย่ลงเหมือนnเพิ่มขึ้น - ในแอปพลิเคชั่นส่วนใหญ่วงความเชื่อมั่นจะถูกสร้างขึ้นสำหรับฟังก์ชั่น null K ผ่านการจำลองและฟังก์ชั่น K ที่สังเกตได้จะถูกโอเวอร์โหลดเพื่อตรวจจับการเดินทาง ด้วยความคิดและประสบการณ์การทัศนศึกษาสามารถตีความได้ในแง่ของแนวโน้มที่จะรวมกลุ่มหรือไม่อยู่ในระยะทางที่แน่นอน
ตัวอย่างของฟังก์ชัน K และฟังก์ชัน L ที่เกี่ยวข้องจาก Dixon (2001), ibid ฟังก์ชัน L ถูกสร้างขึ้นเพื่อให้สำหรับการแจกแจงแบบสม่ำเสมอเป็นเส้นแนวนอนที่ศูนย์: การอ้างอิงด้วยภาพที่ดี เส้นประเป็นแถบความเชื่อมั่นสำหรับพื้นที่ศึกษานี้โดยคำนวณจากการจำลอง การติดตามสีเทาทึบเป็นฟังก์ชัน L สำหรับข้อมูล การเคลื่อนที่เชิงบวกในระยะทาง 0-20 ม. บ่งชี้ว่าการรวมกลุ่มบางอย่างที่ระยะทางเหล่านี้
ฉันโพสต์ตัวอย่างการทำงานเพื่อตอบคำถามที่เกี่ยวข้องที่/stats//a/7984โดยพล็อตที่ได้มาจากฟังก์ชัน K สำหรับการกระจายแบบสม่ำเสมอบนท่อร่วมสองมิติที่ฝังอยู่ในคือ ประเมินโดยการจำลอง
ในR
การspatstatฟังก์ชั่นkest
และการk3est
คำนวณ K-ฟังก์ชั่นสำหรับและn = 3ตามลำดับ ในมากกว่า 3 มิติคุณอาจเป็นคนเดียว แต่อัลกอริทึมจะเหมือนกันทุกประการ คุณสามารถทำคำนวณจากเมทริกซ์ระยะทางคำนวณ (มีประสิทธิภาพปานกลาง) โดยstats::dist
ปรากฎว่าคำถามนั้นยากกว่าที่ฉันคิด แต่ถึงกระนั้นฉันก็ทำการบ้านของฉันและหลังจากมองไปรอบ ๆ ฉันพบสองวิธีนอกเหนือจากฟังก์ชั่นของ Ripley เพื่อทดสอบความสม่ำเสมอในหลายมิติ
ฉันสร้างแพ็คเกจ R ที่เรียกunf
ว่าใช้การทดสอบทั้งคู่ คุณสามารถดาวน์โหลดได้จากGitHubที่https://github.com/gui11aume/unf ส่วนใหญ่ของมันอยู่ใน C R CMD INSTALL unf
ดังนั้นคุณจะต้องรวบรวมไว้ในเครื่องของคุณด้วย บทความที่มีการนำไปใช้งานนั้นอยู่ในรูปแบบ pdf ในแพ็คเกจ
library(unf)
set.seed(123)
# Put 20 points uniformally in the 5D hypercube.
x <- matrix(runif(100), ncol=20)
liang(x) # Outputs the p-value of the test.
[1] 0.9470392
แนวทางที่สองคือการชุมนุมน้อยลงและใช้ต้นไม้ทอดต่ำสุด งานเริ่มต้นดำเนินการโดยFriedman & Rafskyในปี 1979 (อ้างอิงในแพ็คเกจ) เพื่อทดสอบว่ามีตัวอย่างหลายตัวแปรสองตัวที่มาจากการแจกแจงแบบเดียวกันหรือไม่ ภาพด้านล่างแสดงหลักการ
คะแนนจากตัวอย่าง bivariate สองชุดจะถูกลงจุดเป็นสีแดงหรือสีน้ำเงินขึ้นอยู่กับตัวอย่างดั้งเดิม (แผงด้านซ้าย) แผนผังที่ครอบคลุมตั้งแต่ขั้นต่ำของตัวอย่างที่พูลในสองมิตินั้นถูกคำนวณ (พาเนลกลาง) นี่คือต้นไม้ที่มีความยาวขอบน้อยที่สุด ทรีย่อยในทรีย่อยที่จุดทั้งหมดมีป้ายชื่อเดียวกัน (แผงด้านขวา)
ในรูปด้านล่างฉันแสดงกรณีที่มีการรวมจุดสีฟ้าซึ่งจะลดจำนวนต้นไม้ในตอนท้ายของกระบวนการอย่างที่คุณเห็นบนแผงด้านขวา ฟรีดแมนและราฟสกีคำนวณการกระจายจำนวนซีมโทติคของต้นไม้ที่ได้รับในกระบวนการซึ่งทำให้สามารถทำการทดสอบได้
ความคิดในการสร้างแบบทดสอบทั่วไปสำหรับความสม่ำเสมอของตัวอย่างหลายตัวแปรได้รับการพัฒนาโดยSmith และ Jainในปี 1984 และดำเนินการโดย Ben Pfaff ใน C (อ้างอิงในแพ็คเกจ) ตัวอย่างที่สองนั้นถูกสร้างขึ้นอย่างสม่ำเสมอในลำตัวนูนโดยประมาณของตัวอย่างแรกและการทดสอบของ Friedman และ Rafsky จะดำเนินการบนสระสองตัวอย่าง
ข้อดีของวิธีนี้คือการทดสอบความสม่ำเสมอของรูปร่างหลายตัวแปรแบบนูนและไม่เพียง แต่ใน hypercube เท่านั้น ข้อเสียที่แข็งแกร่งคือการทดสอบมีองค์ประกอบแบบสุ่มเพราะตัวอย่างที่สองถูกสร้างขึ้นโดยการสุ่ม แน่นอนว่าเราสามารถทำแบบทดสอบซ้ำและเฉลี่ยผลลัพธ์เพื่อให้ได้คำตอบที่ทำซ้ำได้ แต่สิ่งนี้ไม่สะดวก
ดำเนินการต่อเซสชัน R ก่อนหน้านี้นี่คือวิธีที่มันจะไป
pfaff(x) # Outputs the p-value of the test.
pfaff(x) # Most likely another p-value.
รู้สึกอิสระที่จะคัดลอก / แยกรหัสจาก GitHub