क्या प्रसार की 'समरूपता' का एक उपाय है?


14

मैंने वेब पर देखा, लेकिन कुछ भी उपयोगी नहीं मिला।

मैं मूल रूप से यह मापने का तरीका ढूंढ रहा हूं कि कैसे 'समान रूप से' एक मूल्य वितरित किया जाता है। जैसे, एक्स की तरह एक समान रूप से वितरित वितरण : यहाँ छवि विवरण दर्ज करें

और 'असमान' रूप से वितरित वितरण Y लगभग समान माध्य और मानक विचलन: यहाँ छवि विवरण दर्ज करें

लेकिन क्या कोई समान माप मी है, जैसे कि एम (एक्स)> एम (वाई)? अगर वहाँ नहीं है, तो इस तरह से एक उपाय बनाने का सबसे अच्छा तरीका क्या होगा?

(खान अकादमी से चित्र स्क्रीनशॉट)


1
तिरछा के बारे में क्या?
वुल्फसाथेदूर 19

एंट्रॉपी समान समर्थन वाले असतत वितरण के लिए अच्छा है। लेकिन मुझे नहीं पता कि यह निरंतर वितरण के लिए अच्छा है या नहीं।
स्टीफन लॉरेंट

क्या आप सुनिश्चित हैं कि डॉट प्लॉट वही है जो आप चाहते हैं? मुझे नहीं लगता कि आप वास्तव में एकरूपता के बारे में पूछना चाहते हैं। यह "clumpiness" या "क्लस्टरिंग की डिग्री" या यहां तक ​​कि बहुविधता के बारे में एक प्रश्न जैसा लगता है।
छायाकार

@ स्टीफनलौरेंट - मुझे कुछ अन्य लोगों द्वारा भी एन्ट्रापी की सिफारिश की गई थी। क्या आप कृपया समय निकाल सकते हैं और इस पर थोड़ा विस्तार कर सकते हैं?
केतन

1
आपको और अधिक स्पष्ट रूप से परिभाषित करने की आवश्यकता है कि आप "समान रूप से वितरित" से क्या मतलब है। मेरा शाब्दिक दिमाग कहता है कि इस तरह के 1,4,7,10,13 डेटा, ... पूरी तरह से समान रूप से वितरित किए जाते हैं। लेकिन आपका मतलब कुछ अलग हो सकता है।
एमिल फ्रीडमैन

जवाबों:


16

एक मानक, शक्तिशाली, अच्छी तरह से समझे जाने वाले, सैद्धांतिक रूप से अच्छी तरह से स्थापित, और अक्सर "समरूपता" के लागू किए गए माप रिप्ले के फ़ंक्शन और इसके करीबी रिश्तेदार, एल फ़ंक्शन है। हालांकि ये आम तौर पर दो-आयामी स्थानिक बिंदु कॉन्फ़िगरेशन का मूल्यांकन करने के लिए उपयोग किया जाता है, उन्हें एक आयाम (जो आमतौर पर संदर्भों में नहीं दिया जाता है) के अनुकूल होने के लिए आवश्यक विश्लेषण सरल है।


सिद्धांत

K फ़ंक्शन किसी विशिष्ट बिंदु की दूरी के भीतर बिंदुओं के औसत अनुपात का अनुमान लगाता है । अंतराल [ 0 , 1 ] पर एक समान वितरण के लिए , सही अनुपात की गणना की जा सकती है और (नमूना आकार में समान रूप से) 1 - ( 1 - d ) 2 के बराबर होती है । L फ़ंक्शन का उपयुक्त एक-आयामी संस्करण इस मान को एकरूपता से विचलन दिखाने के लिए K से घटाता है इसलिए हम इकाई के पास डेटा के किसी भी बैच को सामान्य करने पर विचार कर सकते हैं और शून्य के आसपास विचलन के लिए इसके एल फ़ंक्शन की जांच कर सकते हैं।d[0,1]1(1d)2


काम के उदाहरण

इसे समझने के लिए , मैं नकली है आकार के स्वतंत्र नमूने 64 (से एक समान वितरण से और कम दूरी के लिए उनके (सामान्य) एल कार्यों साजिश रची 0 करने के लिए 1 / 3 ), जिससे एल समारोह के नमूने वितरण अनुमान लगाने के लिए एक लिफाफा बनाने। (इस लिफाफे के भीतर अच्छी तरह से प्लॉट किए गए बिंदुओं को एकरूपता से काफी अलग नहीं किया जा सकता है।) इस पर मैंने यू आकार के वितरण, समान स्पष्ट घटकों के साथ मिश्रण वितरण और एक मानक सामान्य वितरण से समान आकार के नमूनों के लिए एल फ़ंक्शन प्लॉट किए हैं। इन नमूनों के हिस्टोग्राम (और उनके माता-पिता के वितरण के) संदर्भ के लिए दिखाए जाते हैं, एल प्रतीकों के उन कार्यों से मेल खाने के लिए रेखा प्रतीकों का उपयोग करते हैं।9996401/3

आकृति

यू-आकार के वितरण के तेज अलग-अलग स्पाइक्स (धराशायी लाल रेखा, सबसे ऊपरी हिस्टोग्राम) बारीकी से स्थित मूल्यों के समूह बनाते हैं। यह 0 समारोह में एल समारोह में एक बहुत बड़ी ढलान द्वारा परिलक्षित होता है0 । L फ़ंक्शन तब कम हो जाता है, अंततः मध्यवर्ती दूरी पर अंतराल को प्रतिबिंबित करने के लिए नकारात्मक हो रहा है।

सामान्य वितरण (सॉलिड ब्लू लाइन, राइटस्ट हिस्टोग्राम) से नमूना समान रूप से वितरित होने के काफी करीब है। तदनुसार, इसका एल फ़ंक्शन से जल्दी से प्रस्थान नहीं करता है । हालाँकि, 0.10 या उससे अधिक की दूरी पर , यह क्लस्टर के लिए एक मामूली प्रवृत्ति का संकेत देने के लिए लिफाफे के ऊपर पर्याप्त रूप से बढ़ गया है। मध्यवर्ती दूरी में निरंतर वृद्धि इंगित करती है कि क्लस्टरिंग फैलाना और व्यापक है (कुछ पृथक चोटियों तक सीमित नहीं है)।00.10

मिश्रण वितरण (मध्य हिस्टोग्राम) से नमूने के लिए प्रारंभिक बड़ी ढलान छोटी दूरी ( से कम ) पर क्लस्टरिंग का पता चलता है । नकारात्मक स्तर तक छोड़ने से, यह मध्यवर्ती दूरी पर अलगाव का संकेत देता है। इसकी तुलना यू-आकार के वितरण के L फंक्शन से की जा रही है: 0 पर ढलान , ये मात्राएँ जिनसे ये वक्र 0 से ऊपर उठते हैं , और वे जिस दर से अंततः 0 पर वापस आते हैं, वे सभी मौजूद क्लस्टरिंग की प्रकृति के बारे में जानकारी प्रदान करते हैं। आँकड़े। इनमें से किसी भी विशेषता को एक विशेष अनुप्रयोग के अनुरूप "समरूपता" के एकल माप के रूप में चुना जा सकता है।0.15000

इन उदाहरणों से पता चलता है कि एक एल-फ़ंक्शन को एकरूपता ("समरूपता") से डेटा के प्रस्थान का मूल्यांकन करने के लिए कैसे जांच की जा सकती है और प्रस्थान के पैमाने और प्रकृति के बारे में मात्रात्मक जानकारी इससे कैसे निकाली जा सकती है।

( एकरूपता से बड़े पैमाने पर प्रस्थान का आकलन करने के लिए, वास्तव में पूरे एल फ़ंक्शन को प्लॉट किया जा सकता है, की पूर्ण सामान्यीकृत दूरी के लिए। एकरूपता से, हालांकि, छोटी दूरी पर डेटा के व्यवहार का आकलन करना अधिक महत्वपूर्ण है।)1


सॉफ्टवेयर

Rइस आंकड़े को उत्पन्न करने के लिए कोड निम्नानुसार है। यह K और L की गणना करने के लिए कार्यों को परिभाषित करने से शुरू होता है। यह मिश्रण वितरण से अनुकरण करने की क्षमता बनाता है। फिर यह नकली डेटा उत्पन्न करता है और प्लॉट बनाता है।

Ripley.K <- function(x, scale) {
  # Arguments:
  # x is an array of data.
  # scale (not actually used) is an option to rescale the data.
  #
  # Return value:
  # A function that calculates Ripley's K for any value between 0 and 1 (or `scale`).
  #
  x.pairs <- outer(x, x, function(a,b) abs(a-b))  # All pairwise distances
  x.pairs <- x.pairs[lower.tri(x.pairs)]          # Distances between distinct pairs
  if(missing(scale)) scale <- diff(range(x.pairs))# Rescale distances to [0,1]
  x.pairs <- x.pairs / scale
  #
  # The built-in `ecdf` function returns the proportion of values in `x.pairs` that
  # are less than or equal to its argument.
  #
  return (ecdf(x.pairs))
}
#
# The one-dimensional L function.
# It merely subtracts 1 - (1-y)^2 from `Ripley.K(x)(y)`.  
# Its argument `x` is an array of data values.
#
Ripley.L <- function(x) {function(y) Ripley.K(x)(y) - 1 + (1-y)^2}
#-------------------------------------------------------------------------------#
set.seed(17)
#
# Create mixtures of random variables.
#
rmixture <- function(n, p=1, f=list(runif), factor=10) {
  q <- ceiling(factor * abs(p) * n / sum(abs(p)))
  x <- as.vector(unlist(mapply(function(y,f) f(y), q, f)))
  sample(x, n)
}
dmixture <- function(x, p=1, f=list(dunif)) {
  z <- matrix(unlist(sapply(f, function(g) g(x))), ncol=length(f))
  z %*% (abs(p) / sum(abs(p)))
}
p <- rep(1, 4)
fg <- lapply(p, function(q) {
  v <- runif(1,0,30)
  list(function(n) rnorm(n,v), function(x) dnorm(x,v), v)
  })
f <- lapply(fg, function(u) u[[1]]) # For random sampling
g <- lapply(fg, function(u) u[[2]]) # The distribution functions
v <- sapply(fg, function(u) u[[3]]) # The parameters (for reference)
#-------------------------------------------------------------------------------#
#
# Study the L function.
#
n <- 64                # Sample size
alpha <- beta <- 0.2   # Beta distribution parameters

layout(matrix(c(rep(1,3), 3, 4, 2), 2, 3, byrow=TRUE), heights=c(0.6, 0.4))
#
# Display the L functions over an envelope for the uniform distribution.
#
plot(c(0,1/3), c(-1/8,1/6), type="n", 
     xlab="Normalized Distance", ylab="Total Proportion",
     main="Ripley L Functions")
invisible(replicate(999, {
  plot(Ripley.L(x.unif <- runif(n)), col="#00000010", add=TRUE)
}))
abline(h=0, lwd=2, col="White")
#
# Each of these lines generates a random set of `n` data according to a specified
# distribution, calls `Ripley.L`, and plots its values.
#
plot(Ripley.L(x.norm <- rnorm(n)), col="Blue", lwd=2, add=TRUE)
plot(Ripley.L(x.beta <- rbeta(n, alpha, beta)), col="Red", lwd=2, lty=2, add=TRUE)
plot(Ripley.L(x.mixture <- rmixture(n, p, f)), col="Green", lwd=2, lty=3, add=TRUE)
#
# Display the histograms.
#
n.breaks <- 24
h <- hist(x.norm, main="Normal Sample", breaks=n.breaks, xlab="Value")
curve(dnorm(x)*n*mean(diff(h$breaks)), add=TRUE, lwd=2, col="Blue")
h <- hist(x.beta, main=paste0("Beta(", alpha, ",", beta, ") Sample"), 
          breaks=n.breaks, xlab="Value")
curve(dbeta(x, alpha, beta)*n*mean(diff(h$breaks)), add=TRUE, lwd=2, lty=2, col="Red")
h <- hist(x.mixture, main="Mixture Sample", breaks=n.breaks, xlab="Value")
curve(dmixture(x, p, g)*n*mean(diff(h$breaks)), add=TRUE, lwd=2, lty=3, col="Green")

1
मैं ज्यादातर Numpy में काम करता हूं, और SciPy में कई बार। क्या आपके पास कोई उपाय है अगर यह उपाय किसी भी आँकड़े अजगर पुस्तकालय में उपलब्ध है? इसके लिए खोज करना प्रासंगिक कुछ भी वापस नहीं करता है।
केतन

L फ़ंक्शन संभवतः उपलब्ध नहीं है, क्योंकि यह आमतौर पर दो या अधिक आयामों के लिए कोडित होता है। एल्गोरिथ्म सरल है, जैसा कि आप यहां कार्यान्वयन से देख सकते हैं: सभी अलग-अलग जोड़े डेटा के बीच की दूरी के अनुभवजन्य संचयी वितरण फ़ंक्शन की गणना करें और फिर दिखाए अनुसार समायोजित करें Ripley.L
whuber

माप विचरण अज्ञेय या विचरण निर्भर है?
केतन

1
[0,1]1(1d)2

आपने कहा "यह मुद्दा उच्च आयामों में एक गंभीर समस्या हो सकती है"। यह एकतरफा सरणियों के लिए अनुकूलित किया गया है, है ना? मुझे पूरी तरह से यकीन नहीं है कि अगर मैं सब कुछ अच्छी तरह से समझ गया। क्या आप कृपया Ripley.L को किसी अन्य भाषा में या छद्म भाषा में लिख सकते हैं? या आप इसकी पठनीयता को बढ़ाने के लिए मौजूदा कोड को थोड़ा या कम से कम प्रारूप रिप्ले एल को कई लाइनों पर टिप्पणी कर सकते हैं। किसी भी उचित दस्तावेजीकरण की कमी के कारण Analyticsmodels.sourceforge.net/stable/generated/… , वैसे भी मेरी बहुत मदद नहीं कर रहा है।
केतन

5

मुझे लगता है कि आप मापना चाहते हैं कि वर्दी का वितरण कितना करीब है।

आप समान वितरण के संचयी वितरण फ़ंक्शन और नमूना के अनुभवजन्य संचयी वितरण फ़ंक्शन के बीच की दूरी पर देख सकते हैं।

{1,2,3,4,5}Fu(x)

Fu(x)=i=1[x]1/5.

X1,3,5X

FX(1)=1/3,FX(2)=1/3,FX(3)=2/3,FX(4)=2/3,FX(5)=1

Y1,1,5Y

FY(1)=2/3,FY(2)=2/3,FY(3)=2/3,FY(4)=2/3,FY(5)=1

अब, वितरण के बीच की दूरी के एक उपाय के रूप में चलो प्रत्येक बिंदु पर दूरी का योग लेते हैं, अर्थात

d(F,G)=i=15|F(x)G(x)|.

d(Fu,FX)<d(Fu,FY)

अधिक जटिल मामलों में आपको ऊपर दिए गए मानदंड को संशोधित करने की आवश्यकता है, लेकिन मुख्य विचार समान है। यदि आपको परीक्षण प्रक्रिया की आवश्यकता है, तो उन मानदंडों का उपयोग करना अच्छा हो सकता है जिनके लिए परीक्षण विकसित किए गए हैं (जो @TomMinka इंगित किए गए हैं)।


वितरण के लिए दूरी के कुछ अन्य लोकप्रिय उपाय कोलमोगोरोव-स्मिरनोव परीक्षण और एंडरसन-डार्लिंग परीक्षण हैं
टॉम मिंका

नमस्ते। जवाब के लिए धन्यवाद। विघटन के लिए अद्यतन किए गए प्रश्न पर दोबारा गौर करें, और मुझे बताएं कि क्या आपका उत्तर इस पर लागू होता है। अगर ये हो। मुझे इसे सत्यापित करना होगा।
केतन

हां, मेरा उत्तर उस पर लागू होता है, जब तक कि 'सम' का अर्थ 'वर्दी' है।
सुस्स किड्ज़िस्की

ठीक है। क्या आप कृपया उत्तर के बारे में थोड़ा विस्तार से बता सकते हैं।
केतन

@TomMinka धन्यवाद, निश्चित रूप से इन मानदंडों को और भी बेहतर है, क्योंकि वहाँ एक परीक्षण प्रक्रिया विकसित की है।
कसज़ किड्ज़िस्की

1

यदि मैं आपके प्रश्न को सही ढंग से समझता हूं, तो आपके लिए "सबसे अधिक" वितरण एक होगा जहां यादृच्छिक चर एक अर्थ में एक बार एक बार देखे गए मूल्य को एक समान लेता है। यदि एक ही मूल्य पर टिप्पणियों के "क्लस्टर" हैं, तो यह असमान होगा। यह मानते हुए कि हम असतत टिप्पणियों के बारे में बात कर रहे हैं, शायद आप संभावना द्रव्यमान बिंदुओं के बीच औसत अंतर, अधिकतम अंतर या हो सकता है कि एक निश्चित सीमा पर "औसत" से कितने टिप्पणियों का अंतर है।

यदि टिप्पणियों में यह वास्तव में एक समान था, तो सभी पीएम अंकों का समान मूल्य होना चाहिए, और अधिकतम और न्यूनतम के बीच का अंतर 0. है। औसत अंतर 0 के करीब है, अधिक "यहां तक ​​कि" टिप्पणियों का थोक कम है। अधिकतम अंतर और कम "चोटियों" वहाँ यह दिखाने के लिए भी जाते हैं कि अनुभवजन्य अवलोकन "कैसे" भी हैं।

अद्यतन बेशक, आप एकरूपता के लिए एक ची-वर्ग परीक्षण का उपयोग करें या एक समान के साथ अनुभवजन्य वितरण समारोह तुलना कर सकते हैं, लेकिन उन मामलों में, आप किसी भी बड़े "अंतराल" टिप्पणियों में से दंडित किया जाएगा, भले ही टिप्पणियों का वितरण अभी भी कर रहे हैं "यहाँ तक की"।


संभावित मूल्यों के दिए गए सेट के लिए, मैं मूल रूप से मॉडल करना चाहता हूं कि कैसे 'दुर्लभ' या 'अजीब' यह मूल्यों के उस सेट से एक विशेष मूल्य होगा। किसी भी अन्य विकल्प के अभाव में, मैं यह मापने की कोशिश कर रहा हूं कि मूल्यों को समान रूप से या समान रूप से कैसे वितरित किया जाए। जितना अधिक वितरण, उतना ही कम मौका है कि सेट से कोई अजीबोगरीब मूल्य हो। जबकि, उदाहरण के लिए यदि सारा डेटा किसी वितरण के चरम में है, तो किसी भी मूल्य को 'अजीब' माना जा सकता है। मैं आशा करता हूं आप उसे प्राप्त करें?
केतन

1

आप जिस उपाय की तलाश कर रहे हैं, उसे औपचारिक रूप से विसंगति कहा जाता है ।

एक आयामी संस्करण इस प्रकार है:

I=[a,b)x1,,xNI

JIA(J,N)J

A(J,N)=|{x1,,xN}J|,
V(J)J

x1,,xN

>DN=supJ|A(J,N)V(J)N|,
where the supremum is taken over all half-open subintervals J=j=1[0,tj), with 0tj1.

The discrepancy thus compares the actual number of points in a given volume with the expected number of points in that volume, assuming the sequence x1,,xN is uniformly distributed in I.

Low discrepancy sequences are often called quasirandom sequences.

A basic overview of low discrepancy sequences can be found here, and my blog post "The unreasonable effectiveness of quasirandom sequences" compares various methods when applied to Numerical Integration, mapping points to the surface of a sphere, and quasiperiodic tiling.


0

It sounds like you are interested in the pairwise differences of randomly observed values in a particular sequence, as in the case of modeling growth or trend. There are a number of ways to do so in time series analyses. A very basic approach is just a simple linear model regressing the sequence values upon their index values. In the first case, your linear model would give you a singular regression coefficient of 1 (predictive R2=1). In the later case, this would be a coefficient of 1.51 and an R2 of 0.78.


I don't know if I understood clearly enough what you meant, but I simply need to understand how 'evenly' something is distributed in a distribution. Variance is not that useful given that one can get the same variance and mean for two very differently distributed distributions.
Ketan

@Ketan, you changed your question substantially. Either way, I am not clear what that might be. In any regard, it's clear that my answer is not addressing what you are interested in based on the most recent version of your question.
AdamO

For a given set of possible values, I want to basically model how 'rare' or 'peculiar' it would be have a particular value from that set of values. In lack of any other options, I'm trying to measure how evenly or uniformly distributed the values are. The more even the distribution, the less chance there is to have any peculiar value from the set. Whereas, if for example all the data lies in the extremes of a distribution, any value can be something worthy to be considered as 'peculiar'. I hope you get it?
Ketan

No, sorry still not following. Just to verify, are you familiar with the formal definition of "uniformly" distributed data? A "normal" distribution, for example, is not uniform. Both are symmetric. You seem to allude to whether symmetry might be of interest, but then you seem to say that the probability of sampling "rare" values is of interest. For instance, a Cauchy distribution is symmetric, but is known to be an example of a distribution that will generate outliers as a probability model.
AdamO

Let me put it this way: Each set is simply the set of all values of a particular attribute in a dataset. I basically want to quantify each attribute by how 'stable' its values are, for which I've been using simple variance till now. But last night, I realized that exactly same variance and mean is possible for 2 attributes, even though one could be 'even', and other having most of the values in 2 extremes. Hence now I want an additional measure to measure if the values can be found evenly, or do they reside more in the extremes.
Ketan
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.