मैं अनुभवजन्य रूप से मिले कुछ वितरणों की जैव-विविधता की तीव्रता का एक तरीका खोजना चाहता हूं। मैंने जो पढ़ा है, उसमें से अभी भी कुछ मात्रा में जैव विविधता को निर्धारित करने के बारे में बहस है। मैंने हार्टिगन्स के डुबकी परीक्षण का उपयोग करने के लिए चुना है जो आर (मूल कागज: http://www.stat.washington.edu/wxs/Stat593-s03/Literature/hartigan85a.pdf ) पर उपलब्ध है। हार्टिगन्स के डिप टेस्ट को इस प्रकार परिभाषित किया गया है: "डिप्रेशन टेस्ट एक नमूना में बहुविधता को मापता है, सभी नमूना बिंदुओं पर, अनुभवजन्य वितरण फ़ंक्शन के बीच, और अधिकतम अंतर को कम करने वाले यूनिमोडल वितरण फ़ंक्शन" ।
मैं पूरी तरह से समझना चाहता हूं कि इसका उपयोग करने से पहले मुझे इस आंकड़े की व्याख्या कैसे करनी चाहिए। मैं उम्मीद कर रहा था कि यदि वितरण मल्टीमॉडल है (क्योंकि इसे "असमान वितरण से अधिकतम अंतर" के रूप में परिभाषित किया गया है) तो डिप टेस्ट बढ़ेगा। लेकिन : आप मल्टीमॉडल वितरण के बारे में विकिपीडिया पृष्ठ में पढ़ सकते हैं कि "0.05 से कम मान महत्वपूर्ण जैवविविधता और मूल्यों को 0.05 से अधिक दर्शाता है, लेकिन 0.10 से कम मार्जिन के महत्व के साथ द्विपदता का सुझाव देता है।" । इस तरह का बयान इस पत्र (छवि 2) से आता है । इस पत्र के अनुसार, डिंपल टेस्ट इंडेक्स 0 के करीब है जब वितरण बिमोडल है। यह मुझे भ्रमित करता है।
हार्टिगन्स के डुबकी परीक्षण को सही ढंग से व्याख्या करने के लिए मैंने कुछ वितरणों का निर्माण किया (मूल कोड यहां से है ) और मैंने एक्सप (mu2) के मूल्य में वृद्धि की (जिसे अब 'द्विमिर्यता की तीव्रता' कहा जाता है - संपादित करें: मुझे इसे 'तीव्रता' कहा जाना चाहिए) bimodality के लिए )। पहले ग्राफ में, आप वितरण के कुछ उदाहरण देख सकते हैं। फिर मैंने उन अलग-अलग सिम्युलेटेड डिस्ट्रीब्यूशन के लिए diptest इंडेक्स (दूसरा ग्राफ) और p वैल्यू (तीसरा ग्रैफ़) संबद्ध (पैकेज diptest ) का अनुमान लगाया । उपयोग किया गया आर कोड मेरी पोस्ट के अंत में है।
यहाँ जो मैं दिखाता हूं वह यह है कि डिप टेस्ट इंडेक्स अधिक है और डिस्टिब्यूशन बिमोडल होने पर पॉवल्यू कम है। जो आप इंटरनेट पर पढ़ सकते हैं इसके विपरीत है।
मैं आँकड़ों का कोई विशेषज्ञ नहीं हूँ, जिससे मैंने हर्टिगन्स के पेपर को मुश्किल से समझा। मैं सही टिप्पणी के बारे में कुछ टिप्पणियां प्राप्त करना चाहूंगा कि हमें हार्टिगन्स के डुबकी परीक्षण की व्याख्या करनी चाहिए। क्या मैं कहीं गलत हूं?
आप सभी को धन्यवाद। सादर,
प्रादेशिक सेना
वितरण सिम्युलेटेड का उदाहरण:
हार्टिगन के डिप टेस्ट इंडेक्स से जुड़े:
हार्टिगन के डिप टेस्ट p.value जुड़े:
library(diptest)
library(ggplot2)
# CONSTANT PARAMETERS
sig1 <- log(3)
sig2 <- log(3)
cpct <- 0.5
N=1000
#CREATING BIMOD DISTRIBUTION
bimodalDistFunc <- function (n,cpct, mu1, mu2, sig1, sig2) {
y0 <- rlnorm(n,mean=mu1, sd = sig1)
y1 <- rlnorm(n,mean=mu2, sd = sig2)
flag <- rbinom(n,size=1,prob=cpct)
y <- y0*(1 - flag) + y1*flag
}
#DIP TEST
DIP_TEST <- function(bimodalData) {
TEST <- dip.test(bimodalData)
return(TEST$statistic[[1]]) # return(TEST$p.value[[1]]) to get the p value
}
DIP_TEST(bimodalData)
# SIMULATION
exp_mu1 = 1
max_exp_mu2 = 100
intervStep = 100
repPerInt = 10
# single distibutions
expMu2Value <- c()
bimodalData <- c()
mu1 <- log(exp_mu1)
mu2 <- log(exp_mu1)
bimodalData <- c(bimodalData,log(bimodalDistFunc(n=N,cpct,mu1,mu2, sig1,sig2)))
expMu2Value <- c(expMu2Value,rep(exp_mu1,length(log(bimodalDistFunc(n=N,cpct,mu1,mu2, sig1,sig2)))))
mu1 <- log(exp_mu1)
mu2 <- log(max_exp_mu2)
bimodalData <- c(bimodalData,log(bimodalDistFunc(n=N,cpct,mu1,mu2, sig1,sig2)))
expMu2Value <- c(expMu2Value,rep(max_exp_mu2,length(log(bimodalDistFunc(n=N,cpct,mu1,mu2, sig1,sig2)))))
mu1 <- log(exp_mu1)
mu2 <- log(trunc((max_exp_mu2-exp_mu1)/2+1))
bimodalData <- c(bimodalData,log(bimodalDistFunc(n=N,cpct,mu1,mu2, sig1,sig2)))
expMu2Value <- c(expMu2Value,rep(trunc((max_exp_mu2-exp_mu1)/2+1),length(log(bimodalDistFunc(n=N,cpct,mu1,mu2, sig1,sig2)))))
tableExamples <- data.frame(expMu2Value,bimodalData)
tableExamples$expMu2Value <- as.factor(tableExamples$expMu2Value)
ExamplePlot <- ggplot(tableExamples)+
geom_histogram(aes(bimodalData),color='white')+
ylab("Count")+
xlab("")+
facet_wrap(~expMu2Value)+
ggtitle("Intensity of bimodularity")
# calculation of the dip test index
exp_mu2Int = seq(from=exp_mu1,to=max_exp_mu2,length.out=intervStep)
expmu2Vec = c()
dipStat = c()
testDone = c()
for(exp_mu2 in exp_mu2Int){
mu1 <- log(exp_mu1)
mu2 <- log(exp_mu2)
for(rep in 1:repPerInt){
bimodalData <- log(bimodalDistFunc(n=N,cpct,mu1,mu2, sig1,sig2))
diptestone = DIP_TEST(bimodalData)
expmu2Vec = c(expmu2Vec,exp_mu2)
dipStat = c(dipStat,diptestone)
testDone = c(testDone,"diptest")
}
}
table = data.frame(expmu2Vec,dipStat,testDone)
IndexPlot <- ggplot(table)+
geom_point(aes(expmu2Vec,dipStat,color=testDone))+
ylab("Index")+
xlab("Intensity of Bimodularity")+
scale_color_discrete(name="Test")
ExamplePlot
IndexPlot