Jak ocenić podobieństwo dwóch histogramów?

33

Biorąc pod uwagę dwa histogramy, jak oceniamy, czy są one podobne, czy nie?

Czy wystarczy spojrzeć na dwa histogramy? Proste mapowanie jeden na jeden ma problem polegający na tym, że jeśli histogram jest nieco inny i nieznacznie przesunięty, nie uzyskamy pożądanego wyniku.

Jakieś sugestie?

Mew 3.4
źródło
2
Co znaczy „podobny”? Na przykład test chi-kwadrat i test KS sprawdzają, czy dwa histogramy są bliskie identyczności. Ale „podobny” może oznaczać „mieć ten sam kształt”, ignorując wszelkie różnice lokalizacji i / lub skali. Czy możesz wyjaśnić swój zamiar?
whuber

Odpowiedzi:

8

Ostatni artykuł, który może być wart przeczytania, to:

Cao, Y. Petzold, L. Ograniczenia dokładności i pomiar błędów w stochastycznej symulacji układów reagujących chemicznie, 2006.

Chociaż niniejszy artykuł koncentruje się na porównaniu stochastycznych algorytmów symulacyjnych, zasadniczo główną ideą jest porównanie dwóch histogramów.

Możesz uzyskać dostęp do pliku pdf ze strony autora.

csgillespie
źródło
Cześć, fajny papier, dziękuję za podanie linku pdf. Z pewnością przejrzę ten artykuł ..
Mew 3.4
12
Zamiast podać odniesienie, dobrze byłoby podsumować główne punkty pracy. Linki umierają, więc w przyszłości Twoja odpowiedź może stać się bezużyteczna dla osób niebędących subskrybentami tego czasopisma (a zdecydowana większość populacji ludzkiej to osoby niebędące subskrybentami).
Tim
27

Istnieje wiele miar odległości między dwoma histogramami. Dobrą kategoryzację tych środków można przeczytać w:

K. Meshgi i S. Ishii, „Rozszerzanie histogramu kolorów za pomocą siatki w celu poprawy dokładności śledzenia”, w Proc. MVA'15, Tokio, Japonia, maj 2015.

Najpopularniejsze funkcje odległości zostały wymienione tutaj dla Twojej wygody:

  • L0 lub odległość Hellingera

DL0=ih1(i)h2(i)

  • L1 , Manhattan lub City Block Distance

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

  • L=2 lub odległość euklidesowa

DL2=i(h1(i)h2(i))2

  • L lub Chybyshev Distance

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

  • L lub Odległość ułamkowa (część rodziny odległości Minkowski)p

DLp=(i|h1(i)h2(i)|p)1/p i0<p<1

  • Przecięcie histogramu

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

  • Odległość między cosinusami

DCO=1ih1(i)h2(i)

  • Canberra Odległość

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

  • Współczynnik korelacji Pearsona

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

  • Rozbieżność Kołmogorowa-Smirnowa

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

  • Dopasuj odległość

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

  • Odległość Cramer-von Mises

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

  • χ2 Statystyka

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

  • Bhattacharyya Distance

DBH=1ih1(i)h2(i) i hellinger

  • Kwadratowy akord

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

  • Rozbieżność Kullbacka-Lieblera

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

  • Rozbieżność Jefferey

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

  • Odległość przemieszczacza ziemi (jest to pierwszy członek odległości transportu, w którym osadzone są informacje o binowaniu w odległości, aby uzyskać więcej informacji, zapoznaj się z wyżej wymienionym artykułem lub wpisem na Wikipedii .A

DEM=minfiji,jfijAijsumi,jfij jfijh1(i),jfijh2(j),i,jfij=min(ih1(i)jh2(j)) a reprezentuje przepływ z dofijij

  • Kwadratowa odległość

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

  • Dystans kwadratowy-chi

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

Implementacja Matlaba niektórych z tych odległości jest dostępna z mojego repozytorium GitHub: https://github.com/meshgi/Histogram_of_Color_Advancements/tree/master/distance Również można wyszukiwać facetów takich jak Yossi Rubner, Ofir Pele, Marco Cuturi i Haibin Ling dla więcej najnowocześniejszych odległości.

Aktualizacja: Alternatywne objaśnienie odległości pojawia się tu i tam w literaturze, dlatego wymieniam je tutaj w celu uzupełnienia.

  • Odległość Canberra (inna wersja)

redob=ja|h1(ja)-h2)(ja)||h1(ja)|+|h2)(ja)|

  • Bray-Curtis Dissimilarity, Sorensen Distance (ponieważ suma histogramów jest równa jeden, jest równy )reL.0

rebdo=1-2)jah1(ja)=h2)(ja)jah1(ja)+jah2)(ja)

  • Jaccard Distance (tj. Przecięcie przez związek, inna wersja)

rejaOU=1-jamjan(h1(ja),h2)(ja))jamzax(h1(ja),h2)(ja))

Kourosh Meshgi
źródło
Witamy na naszej stronie! Dziękuję za ten wkład.
whuber
Oto link w wersji papierowej: mva-org.jp/Proceedings/2015USB/papers/14-15.pdf
neves 16.04.17
Dzięki, lista jest cudowna, a nie pozwala na utworzenie operatora porównania dla histogramu, np. hist1 < hist2
Żeby
22

Standardową odpowiedzią na to pytanie jest test chi-kwadrat . Test KS dotyczy niepowiązanych danych, a nie binowanych danych. (Jeśli masz niepowiązane dane, to zdecydowanie skorzystaj z testu w stylu KS, ale jeśli masz tylko histogram, test KS nie jest odpowiedni.)

David Wright
źródło
Masz rację, że test KS nie jest odpowiedni dla histogramów, gdy jest on rozumiany jako test hipotetyczny dotyczący rozkładu podstawowych danych, ale nie widzę powodu, dla którego statystyki KS nie działałyby dobrze jako miara identyczności dowolnych dwóch histogramy.
whuber
Przydatne byłoby wyjaśnienie, dlaczego test Kołmogorowa-Smirnowa nie jest odpowiedni w przypadku danych podzielonych na grupy.
naught101
Może to nie być tak przydatne w przetwarzaniu obrazu, jak w statystycznej ocenie dopasowania. Często w przetwarzaniu obrazu histogram danych jest używany jako deskryptor dla regionu obrazu, a celem jest odległość między histogramami, aby odzwierciedlić odległość między łatami obrazu. Niewiele, a może wcale, nic nie wiadomo na temat ogólnej statystyki populacji podstawowych danych obrazu użytych do uzyskania histogramu. Na przykład podstawowe statystyki populacji przy użyciu histogramów zorientowanych gradientów różniłyby się znacznie w zależności od rzeczywistej zawartości obrazów.
ely
1
Na pytanie naught101 odpowiedział Stochtastic: stats.stackexchange.com/a/108523/37373
Lapis
10

Szukasz testu Kołmogorowa-Smirnowa . Nie zapomnij podzielić wysokości paska przez sumę wszystkich obserwacji każdego histogramu.

Należy zauważyć, że test KS zgłasza także różnicę, jeśli np. Średnie rozkładów są przesunięte względem siebie. Jeśli tłumaczenie histogramu wzdłuż osi X nie ma znaczenia w Twojej aplikacji, możesz najpierw odjąć średnią z każdego histogramu.

Jonas
źródło
1
Odejmowanie średniej zmienia rozkład zerowy statystyki KS. @David Wright wnosi uzasadniony sprzeciw wobec zastosowania testu KS do histogramów.
whuber
7

Jak wskazuje odpowiedź Davida, test chi-kwadrat jest konieczny dla binowanych danych, ponieważ test KS zakłada ciągłe rozkłady. Jeśli chodzi o to, dlaczego test KS jest nieodpowiedni (komentarz naught101), w literaturze dotyczącej statystyki statystycznej dyskutowano na ten temat, który warto tutaj omówić.

Zabawna wymiana rozpoczęła się od stwierdzenia ( García-Berthou i Alcaraz, 2004 ), że jedna trzecia artykułów Nature zawiera błędy statystyczne. Jednak kolejny artykuł ( Jeng, 2006 , „ Błąd w testach statystycznych błędu w testach statystycznych ” - być może mój ulubiony tytuł pracy w historii) wykazał, że Garcia-Berthou i Alcaraz (2005) stosowali testy KS na dyskretnych danych do zgłaszania niedokładnych wartości pw meta-badaniu. Artykuł Jenga (2006) zapewnia miłą dyskusję na ten temat, a nawet pokazuje, że można zmodyfikować test KS, aby działał dla danych dyskretnych. W tym konkretnym przypadku rozróżnienie sprowadza się do różnicy między równomiernym rozkładem cyfry końcowej na [0,9], P(x)=1

P.(x)=19, (0x9)
(w niepoprawnym teście KS) i rozkład grzebienia funkcji delta, (w poprawnej, zmodyfikowanej formie) . W wyniku pierwotnego błędu Garcia-Berthou i Alcaraz (2004) nieprawidłowo odrzucił zero, podczas gdy test chi-kwadrat i zmodyfikowany KS nie. W każdym razie test chi-kwadrat jest standardowym wyborem w tym scenariuszu, nawet jeśli KS można zmodyfikować, aby działał tutaj.
P.(x)=110jot=09δ(x-jot)
Stochtastic
źródło
-1

Można obliczyć korelację krzyżową (splot) między dwoma histogramami. To weźmie pod uwagę niewielkie tłumaczenia.

Juan Manuel Tonello
źródło
1
Jest to automatycznie oznaczane jako niskiej jakości, prawdopodobnie dlatego, że jest tak krótkie. Obecnie jest to raczej komentarz niż odpowiedź według naszych standardów. Czy możesz to rozwinąć? Możemy również zamienić to w komentarz.
gung - Przywróć Monikę
Ponieważ histogramy są dość niestabilnymi reprezentacjami danych , a także dlatego, że nie przedstawiają prawdopodobieństw na podstawie samej wysokości (używają obszaru ), można zasadnie kwestionować przydatność, ogólność lub użyteczność tego podejścia, chyba że zostaną podane bardziej szczegółowe wytyczne.
whuber