दो हिस्टोग्राम की समानता का आकलन कैसे करें?


33

दो हिस्टोग्रामों को देखते हुए, हम कैसे आकलन करते हैं कि वे समान हैं या नहीं?

क्या केवल दो हिस्टोग्राम को देखना पर्याप्त है? सरल वन टू वन मैपिंग में यह समस्या होती है कि यदि हिस्टोग्राम थोड़ा अलग और थोड़ा शिफ्ट होता है तो हमें वांछित परिणाम नहीं मिलेगा।

कोई सुझाव?


2
"समान" का क्या अर्थ है? उदाहरण के लिए, ची-स्क्वेर्ड टेस्ट और केएस टेस्ट, दो हिस्टोग्राम समान के करीब हैं या नहीं, इसका परीक्षण करें लेकिन "समान" का मतलब स्थान समान हो सकता है, " स्थान और / या पैमाने के किसी भी अंतर को अनदेखा करना।" क्या आप अपना इरादा स्पष्ट कर सकते हैं?
whuber

जवाबों:


8

एक हालिया पेपर जो पढ़ने लायक हो सकता है:

काओ, वाई। पेट्ज़ोल्ड, एल। सटीकता सीमाएँ और रासायनिक प्रतिक्रियाशील प्रणालियों के स्टोचस्टिक सिमुलेशन में त्रुटियों का मापन, 2006।

यद्यपि इस पेपर का ध्यान स्टोचस्टिक सिमुलेशन एल्गोरिदम की तुलना करने पर है, अनिवार्य रूप से मुख्य विचार यह है कि दो हिस्टोग्राम की तुलना कैसे की जाए।

आप लेखक के वेबपेज से पीडीएफ को एक्सेस कर सकते हैं ।


हाय, इसका अच्छा पेपर, पीडीएफ लिंक देने के लिए धन्यवाद .. मैं निश्चित रूप से इस कागज के माध्यम से जाऊँगा ..
मेव 3.4

12
यदि आप कागज के मुख्य बिंदुओं को संक्षेप में प्रस्तुत करेंगे तो संदर्भ प्रदान करने के बजाय यह अच्छा होगा। लिंक मर जाते हैं, इसलिए भविष्य में आपका जवाब इस पत्रिका के गैर-सब्सक्राइबर्स के लिए बेकार हो सकता है (और मानव आबादी का अधिकांश हिस्सा गैर-ग्राहक है)।
टिम

27

दो हिस्टोग्राम के बीच बहुत दूरी के उपाय हैं। आप इन उपायों का एक अच्छा वर्गीकरण पढ़ सकते हैं:

के। मेशगी, और एस। इशी, "ट्रैकिंग सटीकता में सुधार के लिए ग्रिडिंग के साथ रंगों का विस्तार हिस्टोग्राम," प्रोक में। एमवीए 15, टोक्यो, जापान, मई 2015।

आपकी सुविधा के लिए सबसे लोकप्रिय दूरी के कार्य यहां सूचीबद्ध हैं:

  • L0 या हेलिंजर डिस्टेंस

DL0=ih1(i)h2(i)

  • L1 , मैनहट्टन, या सिटी ब्लॉक दूरी

DL1=i|h1(i)h2(i)|

  • L=2 या यूक्लिडियन दूरी

डीएल2=Σमैं(1(मैं)-2(मैं))2

  • एल या Chybyshev दूरी

डीएल=मीटरएक्समैं|1(मैं)-2(मैं)|

  • एल पी या आंशिक दूरी (मिंकोवस्की दूरी परिवार का हिस्सा)पी

डीएलपी=(Σमैं|1(मैं)-2(मैं)|पी)1/पी और0<पी<1

  • हिस्टोग्राम इंटरसेक्शन

D=1i(min(h1(i),h2(i))min(|h1(i)|,|h2(i)|)

  • कोसाइन डिस्टेंस

DCO=1ih1(i)h2(i)

  • कैनबरा दूरी

DCB=i|h1(i)h2(i)|min(|h1(i)|,|h2(i)|)

  • पियर्सन के सहसंबंध गुणांक

DCR=i(h1(i)1n)(h2(i)1n)i(h1(i)1n)2i(h2(i)1n)2

  • कोलमोगोरोव-स्मिरनोव डायवर्स्टी

DKS=maxi|h1(i)h2(i)|

  • मैच की दूरी

DMA=i|h1(i)h2(i)|

  • क्रमर-वॉन मिसेस डिस्टेंस

DCM=i(h1(i)h2(i))2

  • χ2 सांख्यिकी

Dχ2=i(h1(i)h2(i))2h1(i)+h2(i)

  • भट्टाचार्य दूरी

DBH=1ih1(i)h2(i) और हेलिंगर

  • चौकोर हिस्सा

DSC=i(h1(i)h2(i))2

  • कुल्बैक-लिबलर डाइवर्जन

DKL=ih1(i)logh1(i)m(i)

  • जेफरी डाइवर्जेंस

DJD=i(h1(i)logh1(i)m(i)+h2(i)logh2(i)m(i))

  • A

DEM=minfiji,jfijAijsumi,jfij jfijh1(i),jfijh2(j),i,jfij=min(ih1(i)jh2(j)) and fij represents the flow from i to j

  • Quadratic Distance

DQU=i,jAij(h1(i)h2(j))2

  • Quadratic-Chi Distance

DQC=i,jAij(h1(i)h2(i)(cAci(h1(c)+h2(c)))m)(h1(j)h2(j)(cAcj(h1(c)+h2(c)))m) and 000

A Matlab implementation of some of these distances is available from my GitHub repository: https://github.com/meshgi/Histogram_of_Color_Advancements/tree/master/distance Also you can search guys like Yossi Rubner, Ofir Pele, Marco Cuturi and Haibin Ling for more state-of-the-art distances.

Update: Alternative explaination for the distances appears here and there in the literature, so I list them here for sake of completeness.

  • Canberra distance (another version)

DCB=i|h1(i)h2(i)||h1(i)|+|h2(i)|

  • Bray-Curtis Dissimilarity, Sorensen Distance (since the sum of histograms are equal to one, it equals to DL0)

DBC=12ih1(i)=h2(i)ih1(i)+ih2(i)

  • Jaccard Distance (i.e. intersection over union, another version)

DIOU=1imin(h1(i),h2(i))imax(h1(i),h2(i))


Welcome to our site! Thank you for this contribution.
whuber


Thanks, a list is wonderful, while it doesn't allow to create a comparison operator for histogram, e.g. to say that hist1 < hist2
Olha Pavliuk

22

The standard answer to this question is the chi-squared test. The KS test is for unbinned data, not binned data. (If you have the unbinned data, then by all means use a KS-style test, but if you only have the histogram, the KS test is not appropriate.)


You are correct that the KS test is not appropriate for histograms when it is understood as a hypothesis test about the distribution of the underlying data, but I see no reason why the KS statistic wouldn't work well as a measure of sameness of any two histograms.
whuber

An explanation of why the Kolmogorov-Smirnov test is not appropriate with binned data would be useful.
naught101

This may not be as useful in image processing as in statistical fit assessment. Often in image processing, a histogram of data is used as a descriptor for a region of an image, and the goal is for a distance between histograms to reflect the distance between image patches. Little, or possibly nothing at all, may be known about the general population statistics of the underlying image data used to get the histogram. For example, the underlying population statistics when using histograms of oriented gradients would differ considerably based on the actual content of the images.
ely

1
naught101's question was answered by Stochtastic: stats.stackexchange.com/a/108523/37373
Lapis

10

You're looking for the Kolmogorov-Smirnov test. Don't forget to divide the bar heights by the sum of all observations of each histogram.

Note that the KS-test is also reporting a difference if e.g. the means of the distributions are shifted relative to one another. If translation of the histogram along the x-axis is not meaningful in your application, you may want to subtract the mean from each histogram first.


1
Subtracting the mean changes the null distribution of the KS statistic. @David Wright raises a valid objection to the application of the KS test to histograms anyway.
whuber

7

As David's answer points out, the chi-squared test is necessary for binned data as the KS test assumes continuous distributions. Regarding why the KS test is inappropriate (naught101's comment), there has been some discussion of the issue in the applied statistics literature that is worth raising here.

An amusing exchange began with the claim (García-Berthou and Alcaraz, 2004) that one third of Nature papers contain statistical errors. However, a subsequent paper (Jeng, 2006, "Error in statistical tests of error in statistical tests" -- perhaps my all-time favorite paper title) showed that Garcia-Berthou and Alcaraz (2005) used KS tests on discrete data, leading to their reporting inaccurate p-values in their meta-study. The Jeng (2006) paper provides a nice discussion of the issue, even showing that one can modify the KS test to work for discrete data. In this specific case, the distinction boils down to the difference between a uniform distribution of the trailing digit on [0,9],

पी(एक्स)=19, (0एक्स9)
(गलत केएस परीक्षण में) और डेल्टा कार्यों का एक कंघी वितरण,
पी(एक्स)=110Σj=09δ(एक्स-j)
(सही, संशोधित रूप में)। मूल त्रुटि के परिणामस्वरूप, गार्सिया-बर्थौ और अलकराज (2004) ने गलत तरीके से नल को खारिज कर दिया, जबकि ची-स्क्वेर और संशोधित केएस परीक्षण नहीं किया। किसी भी मामले में, ची-स्क्वैयर परीक्षण इस परिदृश्य में मानक विकल्प है, भले ही केएस को यहां काम करने के लिए संशोधित किया जा सकता है।

-1

आप दोनों हिस्टोग्राम के बीच क्रॉस-सहसंबंध (दृढ़ संकल्प) की गणना कर सकते हैं। यह मामूली बदलावों को ध्यान में रखेगा।


1
इसे स्वचालित रूप से निम्न गुणवत्ता के रूप में चिह्नित किया जा रहा है, शायद इसलिए कि यह बहुत कम है। वर्तमान में यह हमारे मानकों के जवाब की तुलना में अधिक टिप्पणी है। क्या आप इसका विस्तार कर सकते हैं? हम इसे टिप्पणी में भी बदल सकते हैं।
गुंग - को पुनः स्थापित मोनिका

चूंकि हिस्टोग्राम काफी हद तक डेटा का अस्थिर प्रतिनिधित्व करते हैं , और इसलिए भी कि वे अकेले ऊंचाई का उपयोग कर संभावनाओं का प्रतिनिधित्व नहीं करते हैं (वे क्षेत्र का उपयोग करते हैं ), कोई यथोचित रूप से इस दृष्टिकोण की प्रयोज्यता, व्यापकता या उपयोगिता पर सवाल उठा सकता है जब तक कि अधिक विशिष्ट मार्गदर्शन प्रदान नहीं किया जाता है।
whuber
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.