두 히스토그램의 유사성을 평가하는 방법은 무엇입니까?


33

두 개의 히스토그램이 주어지면 비슷한 지 아닌지를 어떻게 평가합니까?

단순히 두 히스토그램을 보는 것으로 충분합니까? 간단한 일대일 매핑은 히스토그램이 약간 다르고 약간 이동하면 원하는 결과를 얻지 못한다는 문제가 있습니다.

어떤 제안?


2
"유사한"이란 무엇입니까? 예를 들어 카이 제곱 검정과 KS 검정은 두 히스토그램이 거의 근접한지 여부를 테스트합니다 . 그러나 "유사한" 은 위치 및 / 또는 규모의 차이를 무시하고 "같은 모양을 가짐"을 의미 할 수 있습니다 . 당신의 의도를 명확히 할 수 있습니까?
whuber

답변:


8

읽을 가치가있는 최신 논문은 다음과 같습니다.

Cao, Y. Petzold, L. 화학 반응 시스템의 확률 론적 시뮬레이션에서 정확도 한계 및 오차 측정, 2006.

이 백서의 초점은 확률 적 시뮬레이션 알고리즘을 비교하는 데 중점을두고 있지만 본질적으로 두 가지 히스토그램을 비교하는 방법이 주요 아이디어입니다.

작성자의 웹 페이지에서 pdf에 액세스 할 수 있습니다 .


안녕, 그것의 좋은 종이, pdf 링크를 제공 주셔서 감사합니다 .. 나는
확실히이

12
참고 자료를 제공하는 대신 논문의 요점을 요약하면 좋을 것입니다. 링크는 죽기 때문에 앞으로이 저널의 비가 입자에게는 귀하의 답변이 쓸모 없게 될 수 있습니다 (그리고 대다수의 인구는 비가 입자입니다).

27

두 히스토그램 사이에는 많은 거리 측정이 있습니다. 다음과 같은 방법으로 이러한 측정 값을 잘 분류 할 수 있습니다.

K. Meshgi 및 S. Ishii, "추적 정확도를 높이기 위해 그리드를 사용하여 색상의 히스토그램 확장", Proc. 2015 년 5 월 일본 도쿄 MVA'15

가장 인기있는 거리 기능은 다음과 같습니다.

  • 0 또는 Hellinger 거리

0=나는h1(나는)h2(나는)

  • 1 , Manhattan 또는 City Block Distance

1=나는|h1(나는)h2(나는)|

  • =2 또는 유클리드 거리

2=나는(h1(나는)h2(나는))2

  • L 또는 Chybyshev 거리

=에이엑스나는|h1(나는)h2(나는)|

  • L 또는 분수 거리 (Minkowski 거리 제품군의 일부)

=(나는|h1(나는)h2(나는)|)1/0<<1

  • 히스토그램 교차

=1나는(나는(h1(나는),h2(나는))나는(|h1(나는)|,|h2(나는)|)

  • 코사인 거리

기음영형=1나는h1(나는)h2(나는)

  • 캔버라 거리

기음=나는|h1(나는)h2(나는)|나는(|h1(나는)|,|h2(나는)|)

  • 피어슨의 상관 계수

기음아르 자형=나는(h1(나는)1)(h2(나는)1)나는(h1(나는)1)2나는(h2(나는)1)2

  • Kolmogorov-Smirnov Divergance

케이에스=에이엑스나는|h1(나는)h2(나는)|

  • 경기 거리

에이=나는|h1(나는)h2(나는)|

  • 크 래머 폰 미제스 거리

기음=나는(h1(나는)h2(나는))2

  • χ2 통계

χ2=나는(h1(나는)h2(나는))2h1(나는)+h2(나는)

  • 바타 카리 야 거리

H=1나는h1(나는)h2(나는) & 헬 링거

  • 제곱 화음

에스기음=나는(h1(나는)h2(나는))2

  • 쿨백-라이 블러 분기

케이=나는h1(나는)영형h1(나는)(나는)

  • 제 퍼리 이산

J=나는(h1(나는)영형h1(나는)(나는)+h2(나는)영형h2(나는)(나는))

  • Earth Mover 's Distance (지구 이동 거리) (비닝 정보 를 거리에 포함시키는 교통 거리의 첫 번째 구성원입니다. 자세한 내용은 위에서 언급 한 백서 또는 Wikipedia 항목을 참조하십시오 .에이

이자형=나는에프나는j나는,j에프나는j에이나는j에스나는,j에프나는j j에프나는jh1(나는),j에프나는jh2(j),나는,j에프나는j=나는(나는h1(나는)jh2(j)) 및 에서 유동 나타내는 에에프나는j나는j

  • 이차 거리

=나는,j에이나는j(h1(나는)h2(j))2

  • 이차 치 거리

기음=나는,j에이나는j(h1(나는)h2(나는)(기음에이기음나는(h1(기음)+h2(기음))))(h1(j)h2(j)(기음에이기음j(h1(기음)+h2(기음))))000

이 거리 중 일부의 Matlab 구현은 내 GitHub 저장소에서 사용할 수 있습니다 : https://github.com/meshgi/Histogram_of_Color_Advancements/tree/master/distance 또한 당신은 Yossi Rubner, Ofir Pele, Marco Cuturi 및 Haibin Ling과 같은 사람을 검색 할 수 있습니다 최첨단 거리.

업데이트 : 거리에 대한 대안 설명이 여기 저기 문헌에 나와 있으므로 완전성을 위해 여기에 나열합니다.

  • 캔버라 거리 (다른 버전)

기음=나는|h1(나는)h2(나는)||h1(나는)|+|h2(나는)|

  • Bray-Curtis 비 유사성, Sorensen 거리 (히스토그램의 합이 1이므로 과 동일 )0

기음=12나는h1(나는)=h2(나는)나는h1(나는)+나는h2(나는)

  • Jaccard 거리 (즉, 조합 교차점, 다른 버전)

나는영형=1나는나는(h1(나는),h2(나는))나는에이엑스(h1(나는),h2(나는))


우리 사이트에 오신 것을 환영합니다! 이 기여에 감사드립니다.
whuber

다음은 종이 링크입니다. mva-org.jp/Proceedings/2015USB/papers/14-15.pdf
neves

감사합니다. 목록은 훌륭하지만 히스토그램에 대한 비교 연산자를 만들 수는 없습니다. 예를 들어hist1 < hist2
Olha Pavliuk

22

이 질문에 대한 표준 답변은 카이 제곱 테스트 입니다. KS 테스트는 비닝 된 데이터가 아닌 비닝 된 데이터에 대한 것입니다. 바인드 해제 된 데이터가있는 경우 반드시 KS 스타일 테스트를 사용하지만 히스토그램 만있는 경우 KS 테스트는 적합하지 않습니다.


기초 데이터의 분포에 대한 가설 검정으로 이해 될 때 KS 검정이 히스토그램에 적합하지 않다는 것이 맞지만 KS 통계 가 두 가지의 동일성 척도로 제대로 작동 하지 않는 이유 는 없습니다. 히스토그램.
whuber

Kolmogorov-Smirnov 검정이 구간 화 된 데이터에 적합하지 않은 이유에 대한 설명이 유용합니다.
naught101

이는 통계적 적합성 평가 에서처럼 이미지 처리에 유용하지 않을 수 있습니다. 이미지 처리에서 종종 데이터 히스토그램은 이미지 영역의 설명 자로 사용되며, 목표는 히스토그램 사이의 거리가 이미지 패치 사이의 거리를 반영하는 것입니다. 히스토그램을 얻는 데 사용되는 기본 이미지 데이터의 일반 인구 통계에 대해서는 거의 또는 전혀 알려진 것이 없습니다. 예를 들어, 방향 그라디언트의 히스토그램을 사용할 때의 기본 모집단 통계는 이미지의 실제 내용에 따라 상당히 다릅니다.
ely

1
naught101의 질문에 Stochtastic 님이 답변했습니다 : stats.stackexchange.com/a/108523/37373
Lapis

10

당신은 Kolmogorov-Smirnov 테스트를 찾고 있습니다. 막대 높이를 각 히스토그램의 모든 관측치의 합계로 나누는 것을 잊지 마십시오.

KS- 검정은 또한 분포의 평균이 서로에 대해 이동되는 경우 차이를보고합니다. 응용 프로그램에서 x 축을 따라 히스토그램의 변환이 의미가없는 경우 먼저 각 히스토그램에서 평균을 빼고 싶을 수 있습니다.


1
평균을 빼면 KS 통계량의 널 분포가 변경됩니다. @David Wright는 KS 테스트를 히스토그램에 적용하는 것에 대한 이의를 제기합니다.
whuber

7

David의 답변에서 알 수 있듯이 KS 검정이 연속 분포를 가정하므로 구간 화 된 데이터에 카이 제곱 검정이 필요합니다. KS 테스트가 부적절한 이유 (naught101의 의견)와 관련하여, 여기에서 제기 할 가치가있는 응용 통계 문헌에서이 문제에 대한 논의가있었습니다.

자연 신문의 3 분의 1에 통계적 오류 가 있다고 주장하는 흥미로운 교환이 시작되었다 ( Garcia-Berthou and Alcaraz, 2004 ). 그러나 후속 논문 ( Jeng, 2006 , " 통계 테스트 오류 통계 테스트 오류 "-아마도 내가 가장 좋아하는 논문 제목)은 Garcia-Berthou와 Alcaraz (2005)가 개별 데이터에 대해 KS 테스트를 사용하여 메타 연구에서 부정확 한 p- 값을보고합니다. Jeng (2006) 백서는이 문제에 대한 훌륭한 토론을 제공하며 개별 데이터를 처리하기 위해 KS 테스트를 수정할 수 있음을 보여줍니다. 이 특정 경우에, 구별은 [0,9], 에서 후행 자릿수의 균일 한 분포 사이의 차이로 요약됩니다. P(x)=1

(엑스)=19, (0엑스9)
(잘못된 KS 테스트에서) 및 델타 함수의 콤 분포, (올 바르고 수정 된 형식) . 원래 오류의 결과로 Garcia-Berthou와 Alcaraz (2004)는 null을 잘못 거부했지만 카이 제곱 및 수정 된 KS 테스트는 그렇지 않았습니다. 어쨌든 KS를 여기에서 작동하도록 수정할 수 있더라도 카이 제곱 테스트가이 시나리오의 표준 선택입니다.
(엑스)=110j=09δ(엑스j)

-1

두 히스토그램 간의 상호 상관 (컨볼 루션)을 계산할 수 있습니다. 그것은 약간의 traslation을 고려할 것입니다.


1
품질이 낮기 때문에 자동으로 품질이 낮은 것으로 표시됩니다. 현재는 표준에 의한 답변보다 더 많은 의견입니다. 당신은 그것을 확장 할 수 있습니까? 주석으로 바꿀 수도 있습니다.
gung-모니 티 복원

히스토그램은 데이터의 상당히 불안정한 표현이며 높이 만 사용하는 확률 (사용 영역 )을 나타내지 않기 때문에 보다 구체적인 지침이 제공되지 않는 한이 접근 방식의 적용 가능성, 일반성 또는 유용성을 합리적으로 의심 할 수 있습니다.
whuber
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.