मेंटल का टेस्ट व्यापक रूप से जैविक अध्ययन में जानवरों के स्थानिक वितरण (अंतरिक्ष में स्थिति) के साथ सहसंबंध की जांच करने के लिए किया जाता है, उदाहरण के लिए, उनकी आनुवंशिकता, आक्रामकता की दर या कुछ अन्य विशेषता। बहुत सारी अच्छी पत्रिकाएँ इसका इस्तेमाल कर रही हैं ( PNAS, पशु व्यवहार, आणविक पारिस्थितिकी ... )।
मैंने कुछ पैटर्न तैयार किए हैं जो प्रकृति में हो सकते हैं, लेकिन उन्हें पहचानने के लिए मेंटल का परीक्षण काफी बेकार लगता है। दूसरी ओर, मोरन के परिणाम बेहतर थे (प्रत्येक प्लॉट के तहत पी-मान देखें) ।
इसके बजाय वैज्ञानिक मोरन I का उपयोग क्यों नहीं करते हैं? क्या कोई छिपी हुई वजह है जो मैं नहीं देखता? और यदि कोई कारण है, तो मैंटल या मोरन के परीक्षण का उचित उपयोग करने के लिए कैसे जान सकता हूं (परिकल्पनाओं का निर्माण अलग तरीके से कैसे किया जाना चाहिए)? एक वास्तविक जीवन का उदाहरण सहायक होगा।
इस स्थिति की कल्पना करें: प्रत्येक पेड़ पर एक कौआ (17 x 17 पेड़) है, जिसके पास एक कौवा है। प्रत्येक कौवे के लिए "शोर" के स्तर उपलब्ध हैं और आप जानना चाहते हैं कि कौवे का स्थानिक वितरण उनके द्वारा किए जाने वाले शोर से निर्धारित होता है या नहीं।
कम से कम 5 संभावनाएं हैं:
"समान प्रवृत्ति के व्यक्ति इकट्ठे रहते हैं।" अधिक समान कौवे हैं, उनके बीच की भौगोलिक दूरी (एकल क्लस्टर) जितनी छोटी है ।
"समान प्रवृत्ति के व्यक्ति इकट्ठे रहते हैं।" फिर, अधिक समान कौवे हैं, उनके बीच की भौगोलिक दूरी जितनी छोटी है, (एकाधिक क्लस्टर) लेकिन शोर वाले कौवे के एक क्लस्टर को दूसरे क्लस्टर के अस्तित्व के बारे में कोई जानकारी नहीं है (अन्यथा वे एक बड़े क्लस्टर में फ्यूज हो जाते हैं)।
"मोनोटोनिक प्रवृत्ति।"
"विपरीत आकर्षण।"इसी तरह के कौवे एक-दूसरे को खड़ा नहीं कर सकते।
"रैंडम पैटर्न।"स्थानिक वितरण पर शोर के स्तर का कोई महत्वपूर्ण प्रभाव नहीं है।
प्रत्येक मामले के लिए, मैंने बिंदुओं का एक भूखंड बनाया और एक सहसंबंध की गणना करने के लिए मेंटल परीक्षण का उपयोग किया (यह कोई आश्चर्य की बात नहीं है कि इसके परिणाम गैर-महत्वपूर्ण हैं, मैं कभी भी बिंदुओं के ऐसे पैटर्न के बीच रैखिक संघ खोजने की कोशिश नहीं करूंगा)।
उदाहरण डेटा: (संभव के रूप में संपीड़ित)
r.gen <- seq(-100,100,5)
r.val <- sample(r.gen, 289, replace=TRUE)
z10 <- rep(0, times=10)
z11 <- rep(0, times=11)
r5 <- c(5,15,25,15,5)
r71 <- c(5,20,40,50,40,20,5)
r72 <- c(15,40,60,75,60,40,15)
r73 <- c(25,50,75,100,75,50,25)
rbPal <- colorRampPalette(c("blue","red"))
my.data <- data.frame(x = rep(1:17, times=17),y = rep(1:17, each=17),
c1=c(rep(0,times=155),r5,z11,r71,z10,r72,z10,r73,z10,r72,z10,r71,
z11,r5,rep(0, times=27)),c2 = c(rep(0,times=19),r5,z11,r71,z10,r72,
z10,r73,z10,r72,z10,r71,z11,r5,rep(0, times=29),r5,z11,r71,z10,r72,
z10,r73,z10,r72,z10,r71,z11,r5,rep(0, times=27)),c3 = c(seq(20,100,5),
seq(15,95,5),seq(10,90,5),seq(5,85,5),seq(0,80,5),seq(-5,75,5),
seq(-10,70,5),seq(-15,65,5),seq(-20,60,5),seq(-25,55,5),seq(-30,50,5),
seq(-35,45,5),seq(-40,40,5),seq(-45,35,5),seq(-50,30,5),seq(-55,25,5),
seq(-60,20,5)),c4 = rep(c(0,100), length=289),c5 = sample(r.gen, 289,
replace=TRUE))
# adding colors
my.data$Col1 <- rbPal(10)[as.numeric(cut(my.data$c1,breaks = 10))]
my.data$Col2 <- rbPal(10)[as.numeric(cut(my.data$c2,breaks = 10))]
my.data$Col3 <- rbPal(10)[as.numeric(cut(my.data$c3,breaks = 10))]
my.data$Col4 <- rbPal(10)[as.numeric(cut(my.data$c4,breaks = 10))]
my.data$Col5 <- rbPal(10)[as.numeric(cut(my.data$c5,breaks = 10))]
भौगोलिक दूरी का मैट्रिक्स बनाना (मोरन I के लिए उलटा है):
point.dists <- dist(cbind(my.data$x, my.data$y))
point.dists.inv <- 1/point.dists
point.dists.inv <- as.matrix(point.dists.inv)
diag(point.dists.inv) <- 0
प्लॉट निर्माण:
X11(width=12, height=6)
par(mfrow=c(2,5))
par(mar=c(1,1,1,1))
library(ape)
for (i in 3:7) {
my.res <- mantel.test(as.matrix(dist(my.data[ ,i])), as.matrix(point.dists))
plot(my.data$x,my.data$y,pch=20,col=my.data[ ,c(i+5)], cex=2.5, xlab="",
ylab="", xaxt="n", yaxt="n", ylim=c(-4.5,17))
text(4.5, -2.25, paste("Mantel's test", "\n z.stat =", round(my.res$z.stat,
2), "\n p.value =", round(my.res$p, 3)))
my.res <- Moran.I(my.data[ ,i], point.dists.inv)
text(12.5, -2.25, paste("Moran's I", "\n observed =", round(my.res$observed,
3), "\n expected =",round(my.res$expected,3), "\n std.dev =",
round(my.res$sd,3), "\n p.value =", round(my.res$p.value, 3)))
}
par(mar=c(5,4,4,2)+0.1)
for (i in 3:7) {
plot(dist(my.data[ ,i]), point.dists,pch = 20, xlab="geographical distance",
ylab="behavioural distance")
}
UCLA की सांख्यिकी मदद वेबसाइट पर उदाहरणों में PS, दोनों परीक्षणों का उपयोग समान डेटा और सटीक समान परिकल्पना पर किया जाता है, जो बहुत मददगार नहीं है (cf., Mantel test , Moran I )।
IM का जवाब आपने लिखा है:
... यह [मेंटल] परीक्षण करता है कि क्या शांत कौवे अन्य शांत कौवे के पास स्थित हैं, जबकि शोर कौवे में शोर पड़ोसी हैं।
मुझे लगता है कि मेंटल टेस्ट द्वारा इस तरह की परिकल्पना का परीक्षण नहीं किया जा सकता है । दोनों भूखंडों पर परिकल्पना मान्य है। लेकिन अगर आपको लगता है कि शोर करने वाले कौवों के एक समूह को शोर-शराबे वाले कौवे के दूसरे क्लस्टर के अस्तित्व के बारे में ज्ञान नहीं है - मेंटल परीक्षण फिर से बेकार है। इस तरह की जुदाई प्रकृति में बहुत संभावित होनी चाहिए (मुख्यतः जब आप बड़े पैमाने पर डेटा संग्रह कर रहे हों)।