ไม่จำเป็นต้องขยาย การทดสอบ Mantel ดั้งเดิมตามที่นำเสนอในบทความของ Mantel ในปี 1967ช่วยให้การฝึกอบรมแบบอสมมาตร จำได้ว่าการทดสอบนี้เปรียบเทียบสองระยะเมทริกซ์XและYn×nXY
ขณะนี้เราอาจคาดการณ์การเปลี่ยนแปลงของสถิติของเราซึ่งจะทำให้ขั้นตอนทางสถิติง่ายขึ้นที่จะพัฒนาด้านล่าง การปรับเปลี่ยนคือการลบการ จำกัดและเพื่อแทนที่โดยการ จำกัดi ≠ jเท่านั้น โดยที่X i j = X j iและY i j = Y j iผลกระทบของการปรับเปลี่ยนคือการเพิ่มค่าผลรวมสองเท่า อย่างไรก็ตามขั้นตอนการพัฒนานั้นมีความเหมาะสมแม้ว่าความสัมพันธ์ระยะทางจะไม่สมมาตรนั่นคือเมื่อเป็นไปได้ที่Xi<ji≠jXij=XjiYij=Yjiและ Y ฉันj ≠ Y j i ; กรณีเฉพาะที่ถูกปกคลุมคือ X i j =- X j i , Y i j =- Y j i ...Xij≠XjiYij≠YjiXij=−Xji,Yij=−Yji
(ในส่วนที่ 4 เน้นการเพิ่ม)
สมมาตรดูเหมือนจะเป็นเงื่อนไขเทียมในซอฟต์แวร์จำนวนมากเช่นade4
แพ็คเกจสำหรับR
ซึ่งใช้วัตถุของคลาส "dist" เพื่อจัดเก็บและจัดการเมทริกซ์ระยะทาง ฟังก์ชั่นการจัดการถือว่าระยะทางมีความสมมาตร ด้วยเหตุนี้คุณจึงไม่สามารถใช้mantel.rtest
โพรซีเดอร์กับเมทริกซ์แบบไม่สมมาตร - แต่นั่นเป็นข้อ จำกัด ของซอฟต์แวร์อย่างแท้จริงไม่ใช่คุณสมบัติของการทดสอบ
XYn2
n!ZZZ
[ อ้างแล้ว ]
ในความเป็นจริง Mantel ชี้ให้เห็นอย่างชัดเจนว่าการฝึกอบรมไม่จำเป็นต้องเป็นเมทริกซ์ระยะทางและเขาเน้นความสำคัญของความเป็นไปได้นี้ :
XijYijXik≤Xij+XjkXijYij
(ตัวอย่างแสดงความไม่เท่าเทียมกันของรูปสามเหลี่ยม)
nn−1
Z=∑∑XijYij
โดยสรุปจากจุดเริ่มต้นจริงทุกสัจพจน์ของเมตริกได้รับการพิจารณาอย่างชัดเจนและปฏิเสธว่าไม่สำคัญต่อการทดสอบ:
"ระยะทาง" อาจเป็นลบ
"ระยะทาง" ระหว่างวัตถุกับตัวมันเองอาจไม่ใช่ศูนย์
ความไม่เท่าเทียมกันของสามเหลี่ยมไม่จำเป็นต้องถือ
"ระยะทาง" ไม่จำเป็นต้องมีความสมมาตร
Z=∑i,jXijYij
นี่คือตัวอย่างของการทดสอบR
ระบบ กำหนดระยะทางสองเมทริกซ์x
และy
มันส่งกลับตัวอย่างของการแจกแจงการเปลี่ยนแปลง (เป็นเวกเตอร์ของค่าของสถิติทดสอบ) ไม่ต้องการx
หรือy
มีคุณสมบัติใด ๆ เลย พวกเขาจะต้องมีขนาดเท่ากันของเมทริกซ์จตุรัส
mantel <- function(x, y, n.iter=999, stat=function(a,b) sum(a*b)) {
permute <- function(z) {
i <- sample.int(nrow(z), nrow(z))
return (z[i, i])
}
sapply(1:n.iter, function(i) stat(x, permute(y)))
}