यह दो प्रश्न हैं: एक यह है कि माध्य और माध्य हानि के कार्यों को कैसे कम करते हैं और दूसरा डेटा के लिए इन अनुमानों की संवेदनशीलता के बारे में है । दो प्रश्न जुड़े हुए हैं, जैसा कि हम देखेंगे।
कम से कम नुकसान
संख्या के बैच के केंद्र का एक सारांश (या अनुमानक) सारांश मान को बदलने और यह कल्पना करने से बनाया जा सकता है कि बैच में प्रत्येक संख्या उस मूल्य पर एक पुनर्स्थापना बल प्रदान करती है। जब बल कभी किसी संख्या से मूल्य को दूर नहीं धकेलता है, तो यकीनन कोई भी बिंदु जिस पर बल संतुलन बैच का "केंद्र" होता है।
द्विघात ( L2 ) नुकसान
उदाहरण के लिए, यदि हम सारांश और प्रत्येक संख्या के बीच एक शास्त्रीय वसंत ( हुक के नियम ) का पालन करते हैं, तो बल प्रत्येक वसंत की दूरी के लिए आनुपातिक होगा। स्प्रिंग्स इस तरह से सारांश को खींच लेंगे और अंततः, न्यूनतम ऊर्जा के एक अद्वितीय स्थिर स्थान पर बस जाएंगे।
मैं थोड़े स्लीट-ऑफ-द-हैंड को नोटिस देना चाहूंगा जो अभी हुआ है: ऊर्जा चुकता दूरी के योग के लिए आनुपातिक है । न्यूटोनियन यांत्रिकी हमें सिखाता है कि बल ऊर्जा के परिवर्तन की दर है। एक संतुलन प्राप्त करना - ऊर्जा को कम करना - बलों को संतुलित करने में परिणाम। ऊर्जा में परिवर्तन की शुद्ध दर शून्य है।
चलो इसे " L2 सारांश", या "चुकता नुकसान सारांश।"
पूर्ण ( L1 ) नुकसान
मान और डेटा के बीच की दूरी की परवाह किए बिना, पुनर्स्थापना बलों के आकार को स्थिर करके एक और सारांश बनाया जा सकता है । हालाँकि, बल स्वयं स्थिर नहीं हैं, क्योंकि उन्हें हमेशा प्रत्येक डेटा बिंदु की ओर मूल्य खींचना चाहिए। इस प्रकार, जब मान डेटा बिंदु से कम होता है तो बल को सकारात्मक रूप से निर्देशित किया जाता है, लेकिन जब मूल्य डेटा बिंदु से अधिक होता है तो बल को नकारात्मक रूप से निर्देशित किया जाता है। अब ऊर्जा मूल्य और डेटा के बीच की दूरी के लिए आनुपातिक है। आमतौर पर एक संपूर्ण क्षेत्र होगा जिसमें ऊर्जा स्थिर है और शुद्ध बल शून्य है। इस क्षेत्र में कोई भी मूल्य हम " सारांश" या "पूर्ण नुकसान सारांश " कह सकते हैं ।L1
ये भौतिक उपमाएँ दो योगों के बारे में उपयोगी अंतर्ज्ञान प्रदान करती हैं। उदाहरण के लिए, यदि हम डेटा बिंदुओं में से एक को स्थानांतरित करते हैं, तो सारांश का क्या होता है? में जुड़ी स्प्रिंग्स के साथ मामला है, एक डेटा बिंदु या तो हिस्सों या उसके वसंत को आराम घूम रहा है। परिणाम सारांश पर बल में परिवर्तन है, इसलिए इसे प्रतिक्रिया में बदलना होगा। लेकिन एल 1 मामले में, ज्यादातर समय डेटा बिंदु में परिवर्तन सारांश के लिए कुछ नहीं करता है, क्योंकि बल स्थानीय रूप से स्थिर है। डेटा बिंदु के सारांश में जाने के लिए बल को बदलने का एकमात्र तरीका है।L2L1
(वास्तव में, यह स्पष्ट होना चाहिए कि एक मूल्य पर शुद्ध बल उससे अधिक अंकों की संख्या से दिया जाता है - जो इसे ऊपर की ओर खींचते हैं - इससे कम अंक की संख्या - जो इसे नीचे की ओर खींचती है। इस प्रकार। सारांश किसी भी स्थान जहां डाटा मानों की संख्या से अधिक यह वास्तव में यह कम से कम डेटा मानों की संख्या के बराबर होती है पर होने चाहिए।)L1
नुकसान का चित्रण
चूँकि दोनों बलों और ऊर्जाओं को जोड़ते हैं, इसलिए किसी भी स्थिति में हम डेटा बिंदुओं से व्यक्तिगत योगदान में शुद्ध ऊर्जा को विघटित कर सकते हैं। सारांश मूल्य के कार्य के रूप में ऊर्जा या बल को रेखांकन करके, यह क्या हो रहा है की एक विस्तृत तस्वीर प्रदान करता है। सारांश एक ऐसा स्थान होगा, जिस पर ऊर्जा (या सांख्यिकीय समानता में "हानि") सबसे छोटी है। समान रूप से, यह एक ऐसा स्थान होगा, जिस पर बल दिया जाता है: डेटा का केंद्र होता है जहां नुकसान में शुद्ध परिवर्तन शून्य होता है।
यह आंकड़ा छह मूल्यों के छोटे डेटासेट (प्रत्येक भूखंड में बेहोश ऊर्ध्वाधर लाइनों द्वारा चिह्नित) के लिए ऊर्जा और बल दिखाता है। धराशायी काले वक्र व्यक्तिगत मूल्यों से योगदान दिखाने वाले रंगीन घटता के योग हैं। एक्स-एक्सिस सारांश के संभावित मूल्यों को इंगित करता है।
समांतर माध्य यह ऊपरी बाएँ साजिश में काला परवलय के शिखर (नीचे) पर स्थित होगा: एक बिंदु है जहां वर्ग नुकसान को कम से कम किया जाता है। यह हमेशा अनोखा होता है। मंझला एक बिंदु है जहां पूर्ण नुकसान को कम से कम किया जाता है। जैसा कि ऊपर उल्लेख किया गया है, यह डेटा के बीच में होना चाहिए। यह जरूरी नहीं कि अद्वितीय हो। यह ऊपरी दाईं ओर टूटे हुए काले वक्र के नीचे स्थित होगा। (नीचे वास्तव में के बीच एक छोटा फ्लैट अनुभाग के होते हैं और - 0.17 , इस अंतराल में किसी भी मूल्य एक मंझला है।)−0.23−0.17
संवेदनशीलता का विश्लेषण
पहले मैंने वर्णन किया कि जब डेटा बिंदु विविध होता है तो सारांश का क्या हो सकता है। यह किसी भी एक डेटा बिंदु को बदलने के जवाब में सारांश कैसे बदलता है, यह साजिश करने के लिए शिक्षाप्रद है। (ये भूखंड अनिवार्य रूप से अनुभवजन्य प्रभाव कार्य हैं । वे सामान्य परिभाषा से भिन्न होते हैं कि वे अनुमानों के वास्तविक मूल्यों को दिखाते हैं बजाय कि उन मूल्यों को कितना बदल दिया जाता है।) सारांश का मूल्य y पर "अनुमान" द्वारा लेबल किया गया है। यह याद दिलाने के लिए -axes कि यह सारांश अनुमान लगा रहा है कि डेटासेट का मध्य कहां है। प्रत्येक डेटा बिंदु के नए (परिवर्तित) मान उनके एक्स-एक्सिस पर दिखाए जाते हैं।
यह आंकड़ा बैच में प्रत्येक डेटा मान (पहले आंकड़े में एक ही विश्लेषण किया गया) को अलग-अलग परिणाम प्रस्तुत करता है । प्रत्येक डेटा वैल्यू के लिए एक प्लॉट होता है, जिसे उसके प्लॉट पर नीचे की धुरी के साथ एक लंबी काली टिक के साथ हाइलाइट किया जाता है। (शेष डेटा मान शॉर्ट ग्रे टिक्स के साथ दिखाए गए हैं।) ब्लू वक्र L 2 सारांश का पता लगाता है - अंकगणित माध्य - और लाल वक्र L 1 का पता लगाता है−1.02,−0.82,−0.23,−0.17,−0.08,0.77L2L1सारांश - मंझला। (चूंकि अक्सर माध्यिका मूल्यों की एक सीमा होती है, उस सीमा के मध्य में साजिश रचने की परंपरा का पालन यहां किया जाता है।)
नोटिस:
माध्य की संवेदनशीलता अबाधित है: वे नीली रेखाएँ असीम रूप से दूर और ऊपर तक फैली हुई हैं। माध्यिका की संवेदनशीलता बंधी हुई है: लाल घटता की ऊपरी और निचली सीमाएं हैं।
हालांकि मंझला बदलता है, हालांकि, यह माध्य की तुलना में बहुत तेजी से बदलता है। प्रत्येक ब्लू लाइन की ढलान है (आम तौर पर यह है 1 / n के साथ एक डेटासेट के लिए n , मान) जबकि लाल लाइनों के झुके हुए भागों की ढलानों सब कर रहे हैं 1 / 2 ।1/61/nn1/2
माध्य हर डेटा बिंदु के प्रति संवेदनशील है और इस संवेदनशीलता में कोई सीमा नहीं है (जैसा कि पहले आंकड़े के निचले बाएँ प्लॉट में सभी रंगीन रेखाओं की गैर-अक्षीय ढलानों से संकेत मिलता है)। हालांकि माध्यिका प्रत्येक डेटा बिंदु के प्रति संवेदनशील है, संवेदनशीलता बाउंड है (यही कारण है कि पहले आंकड़े के निचले दाएं भूखंड में रंगीन वक्र शून्य के आसपास एक संकीर्ण ऊर्ध्वाधर सीमा के भीतर स्थित हैं)। ये, निश्चित रूप से, मूल बल (हानि) कानून के दृश्य दोहराव हैं: माध्य के लिए द्विघात, माध्य के लिए रैखिक।
जिस अंतराल को बदलने के लिए माध्य बनाया जा सकता है, वह डेटा बिंदुओं के बीच भिन्न हो सकता है। यह हमेशा डेटा के बीच -बीच के दो मूल्यों से घिरा होता है जो अलग-अलग नहीं होते हैं । (ये सीमाएँ ऊर्ध्वाधर ऊर्ध्वाधर धराशायी लाइनों द्वारा चिह्नित हैं।)
मंझला के परिवर्तन की दर हमेशा होता है क्योंकि , राशि है जिसके द्वारा यह इसलिए भिन्न हो सकता है डेटासेट के पास मध्यम मूल्यों के बीच इस अंतर की लंबाई से निर्धारित होता है।1/2
हालांकि केवल पहला बिंदु आमतौर पर नोट किया जाता है, सभी चार बिंदु महत्वपूर्ण हैं। विशेष रूप से,
यह निश्चित रूप से गलत है कि "मंझला हर मूल्य पर निर्भर नहीं करता है।" यह आंकड़ा एक प्रतिधारण प्रदान करता है।
फिर भी, मध्यमान "भौतिक रूप से" हर मूल्य पर इस अर्थ में निर्भर नहीं करता है कि हालांकि व्यक्तिगत मूल्यों को बदलने से मंझला बदल सकता है, परिवर्तन की मात्रा डेटासेट में निकट-मध्य मानों के बीच अंतराल द्वारा सीमित है। विशेष रूप से, परिवर्तन की मात्रा बाध्य है । हम कहते हैं कि मध्यिका एक "प्रतिरोधी" सारांश है।
हालांकि माध्य प्रतिरोधी नहीं है , और जब भी कोई डेटा मान परिवर्तित किया जाता है, तो बदल जाएगा, परिवर्तन की दर अपेक्षाकृत छोटी है। डेटासेट जितना बड़ा होगा, परिवर्तन की दर उतनी ही छोटी होगी। समान रूप से, एक बड़े डेटासेट के माध्यम से एक भौतिक परिवर्तन का उत्पादन करने के लिए, कम से कम एक मूल्य को अपेक्षाकृत बड़े बदलाव से गुजरना होगा। यह बताता है कि माध्य के गैर-प्रतिरोध केवल (ए) छोटे डेटासेट या (बी) डेटासेट के लिए चिंता का विषय है जहां एक या एक से अधिक डेटा बैच के मध्य से बहुत दूर मान हो सकते हैं।
ये टिप्पणी - जो मुझे उम्मीद है कि आंकड़े स्पष्ट करते हैं - नुकसान फ़ंक्शन और आकलनकर्ता की संवेदनशीलता (या प्रतिरोध) के बीच एक गहरा संबंध प्रकट करता है । इसके बारे में अधिक जानकारी के लिए, एम-अनुमानकों पर विकिपीडिया लेखों में से एक से शुरू करें और फिर उन विचारों को आगे बढ़ाएँ, जहाँ तक आप चाहते हैं।
कोड
इस R
कोड ने आंकड़े तैयार किए और किसी भी अन्य डेटासेट का उसी तरह से अध्ययन करने के लिए आसानी से संशोधित किया जा सकता है: बस y
संख्याओं के किसी भी वेक्टर के साथ यादृच्छिक रूप से बनाए गए वेक्टर को बदलें ।
#
# Create a small dataset.
#
set.seed(17)
y <- sort(rnorm(6)) # Some data
#
# Study how a statistic varies when the first element of a dataset
# is modified.
#
statistic.vary <- function(t, x, statistic) {
sapply(t, function(e) statistic(c(e, x[-1])))
}
#
# Prepare for plotting.
#
darken <- function(c, x=0.8) {
apply(col2rgb(c)/255 * x, 2, function(s) rgb(s[1], s[2], s[3]))
}
colors <- darken(c("Blue", "Red"))
statistics <- c(mean, median); names(statistics) <- c("mean", "median")
x.limits <- range(y) + c(-1, 1)
y.limits <- range(sapply(statistics,
function(f) statistic.vary(x.limits + c(-1,1), c(0,y), f)))
#
# Make the plots.
#
par(mfrow=c(2,3))
for (i in 1:length(y)) {
#
# Create a standard, consistent plot region.
#
plot(x.limits, y.limits, type="n",
xlab=paste("Value of y[", i, "]", sep=""), ylab="Estimate",
main=paste("Sensitivity to y[", i, "]", sep=""))
#legend("topleft", legend=names(statistics), col=colors, lwd=1)
#
# Mark the limits of the possible medians.
#
n <- length(y)/2
bars <- sort(y[-1])[ceiling(n-1):floor(n+1)]
abline(v=range(bars), lty=2, col="Gray")
rug(y, col="Gray", ticksize=0.05);
#
# Show which value is being varied.
#
rug(y[1], col="Black", ticksize=0.075, lwd=2)
#
# Plot the statistics as the value is varied between x.limits.
#
invisible(mapply(function(f,c)
curve(statistic.vary(x, y, f), col=c, lwd=2, add=TRUE, n=501),
statistics, colors))
y <- c(y[-1], y[1]) # Move the next data value to the front
}
#------------------------------------------------------------------------------#
#
# Study loss functions.
#
loss <- function(x, y, f) sapply(x, function(t) sum(f(y-t)))
square <- function(t) t^2
square.d <- function(t) 2*t
abs.d <- sign
losses <- c(square, abs, square.d, abs.d)
names(losses) <- c("Squared Loss", "Absolute Loss",
"Change in Squared Loss", "Change in Absolute Loss")
loss.types <- c(rep("Loss (energy)", 2), rep("Change in loss (force)", 2))
#
# Prepare for plotting.
#
colors <- darken(rainbow(length(y)))
x.limits <- range(y) + c(-1, 1)/2
#
# Make the plots.
#
par(mfrow=c(2,2))
for (j in 1:length(losses)) {
f <- losses[[j]]
y.range <- range(c(0, 1.1*loss(y, y, f)))
#
# Plot the loss (or its rate of change).
#
curve(loss(x, y, f), from=min(x.limits), to=max(x.limits),
n=1001, lty=3,
ylim=y.range, xlab="Value", ylab=loss.types[j],
main=names(losses)[j])
#
# Draw the x-axis if needed.
#
if (sign(prod(y.range))==-1) abline(h=0, col="Gray")
#
# Faintly mark the data values.
#
abline(v=y, col="#00000010")
#
# Plot contributions to the loss (or its rate of change).
#
for (i in 1:length(y)) {
curve(loss(x, y[i], f), add=TRUE, lty=1, col=colors[i], n=1001)
}
rug(y, side=3)
}