Kullback-Leibler विचलन को रूप में परिभाषित किया गया है।
तो यह अनुमान लगाने के लिए (अनुमान) कि अनुभवजन्य डेटा से हमें इसकी आवश्यकता होगी, शायद, घनत्व कार्यों कुछ अनुमान । तो एक प्राकृतिक शुरुआती बिंदु घनत्व के अनुमान के माध्यम से हो सकता है (और उसके बाद, बस संख्यात्मक एकीकरण)। इस तरह की विधि कितनी अच्छी या स्थिर होगी, मुझे नहीं पता।पी ( एक्स ) , क्यू ( एक्स )
KL(P||Q)=∫∞−∞p(x)logp(x)q(x)dx
p(x),q(x)
लेकिन पहले आपका दूसरा प्रश्न, फिर मैं पहले वाले पर लौटूंगा। कहते हैं कि और क्रमशः और पर समान घनत्व वाले हैं। तब जबकि को परिभाषित करना अधिक कठिन है, लेकिन इसे देने के लिए केवल उचित मूल्य , जहां तक मैं देख सकता हूं, क्योंकि इसमें शामिल है एकीकृत करने के लिए जिसे हम रूप में व्याख्या करना चुन सकते हैं । यह परिणाम कुल्बैक-लीब्लर (केएल) डाइवर्जेंस पर अंतर्ज्ञान में मुझे दी गई व्याख्या से उचित हैंpq[0,1][0,10]KL(p||q)=log10KL(q||p)∞log(1/0)log∞
मुख्य सवाल पर लौटते हुए। यह बहुत ही गैरपारंपरिक तरीके से पूछा जाता है, और घनत्व पर कोई धारणा नहीं बताई जाती है। संभवतः कुछ मान्यताओं की आवश्यकता है। लेकिन यह मानते हुए कि दोनों घनत्वों को एक ही घटना के लिए प्रतिस्पर्धी मॉडल के रूप में प्रस्तावित किया गया है, हम शायद मान सकते हैं कि उनके पास एक ही हावी उपाय हो सकता है: एक निरंतर और असतत संभावना वितरण के बीच केएल विचलन हमेशा अनंत होगा। इस प्रश्न को संबोधित करने वाला एक पेपर निम्नलिखित है: https://pdfs.semanticscholar.org/1fbd/31b690e078ce938f73f14462fceadc2748bf.pdf वे एक विधि प्रस्तावित करते हैं जिसे प्रारंभिक घनत्व अनुमान की आवश्यकता नहीं है, और इसके गुणों का विश्लेषण करता है।
(कई अन्य कागजात हैं)। मैं वापस आऊंगा और उस पेपर, विचारों से कुछ विवरण पोस्ट करूंगा।
EDIT
उस कागज से कुछ विचार, जो बिल्कुल निरंतर वितरण से आईआईडी नमूनों के साथ केएल विचलन के आकलन के बारे में है। मैं एक आयामी वितरण के लिए उनके प्रस्ताव को दिखाता हूं, लेकिन वे वैक्टर के लिए एक समाधान भी देते हैं (निकटतम पड़ोसी घनत्व का उपयोग करके)। सबूतों के लिए पेपर पढ़ें!
वे अनुभवजन्य वितरण समारोह के एक संस्करण का उपयोग करने का प्रस्ताव करते हैं, लेकिन एक निरंतर संस्करण प्राप्त करने के लिए नमूना बिंदुओं के बीच रैखिक रूप से प्रक्षेपित होते हैं। वे
परिभाषित करते हैं
जहां , Heavyside स्टेप फंक्शन है, लेकिन इसे परिभाषित किया गया है । फिर उस फ़ंक्शन को रैखिक रूप से प्रक्षेपित किया जाता है (और सीमा से परे क्षैतिज रूप से बढ़ाया जाता है) ( निरंतर के लिए ) है। तब उन्होंने कुल्बैक-लीब्लर विचलन का अनुमान लगाने का प्रस्ताव _ _
जहां और
Pe(x)=1n∑i=1nU(x−xi)
UU(0)=0.5PccD^(P∥Q)=1n∑i=1nlog(δPc(xi)δQc(xi))
εδPc=Pc(xi)−Pc(xi−ϵ)ϵ नमूनों की सबसे छोटी रिक्ति की तुलना में एक छोटी संख्या है।
अनुभवजन्य वितरण फ़ंक्शन के संस्करण के लिए आर कोड जो हमें चाहिए
my.ecdf <- function(x) {
x <- sort(x)
x.u <- unique(x)
n <- length(x)
x.rle <- rle(x)$lengths
y <- (cumsum(x.rle)-0.5) / n
FUN <- approxfun(x.u, y, method="linear", yleft=0, yright=1,
rule=2)
FUN
}
ध्यान दें कि rle
डुप्लिकेट के साथ मामले की देखभाल करने के लिए उपयोग किया जाता है x
।
फिर केएल विचलन का अनुमान किसके द्वारा दिया जाता है
KL_est <- function(x, y) {
dx <- diff(sort(unique(x)))
dy <- diff(sort(unique(y)))
ex <- min(dx) ; ey <- min(dy)
e <- min(ex, ey)/2
n <- length(x)
P <- my.ecdf(x) ; Q <- my.ecdf(y)
KL <- sum( log( (P(x)-P(x-e))/(Q(x)-Q(x-e)))) / n
KL
}
फिर मैंने एक छोटा सिमुलेशन दिखाया:
KL <- replicate(1000, {x <- rnorm(100)
y <- rt(100, df=5)
KL_est(x, y)})
hist(KL, prob=TRUE)
जो निम्नलिखित हिस्टोग्राम देता है, जो इस अनुमानक के नमूने वितरण का एक अनुमान (अनुमान) दिखाता है:
तुलना के लिए, हम संख्यात्मक एकीकरण द्वारा इस उदाहरण में केएल विचलन की गणना करते हैं:
LR <- function(x) dnorm(x,log=TRUE)-dt(x,5,log=TRUE)
100*integrate(function(x) dnorm(x)*LR(x),lower=-Inf,upper=Inf)$value
[1] 3.337668
हम्म ... अंतर काफी बड़ा है कि यहां बहुत कुछ जांच करने के लिए है!