Bagaimana cara menilai kesamaan dua histogram?

33

Dengan dua histogram, bagaimana kita menilai apakah mereka serupa atau tidak?

Apakah cukup dengan hanya melihat kedua histogram? Pemetaan sederhana ke satu memiliki masalah bahwa jika histogram sedikit berbeda dan sedikit bergeser maka kita tidak akan mendapatkan hasil yang diinginkan.

Ada saran?

Mew 3.4
sumber
2
Apa artinya "mirip"? Uji chi-squared dan uji KS, misalnya, menguji apakah dua histogram mendekati identik. Tetapi "serupa" mungkin berarti "memiliki bentuk yang sama," mengabaikan perbedaan lokasi dan / atau skala. Bisakah Anda menjelaskan maksud Anda?
whuber

Jawaban:

8

Makalah terbaru yang mungkin layak dibaca adalah:

Cao, Y. Petzold, L. Keterbatasan akurasi dan pengukuran kesalahan dalam simulasi stokastik sistem bereaksi secara kimia, 2006.

Meskipun fokus tulisan ini adalah membandingkan algoritma simulasi stokastik, pada dasarnya ide utamanya adalah bagaimana membandingkan dua histogram.

Anda dapat mengakses pdf dari halaman web penulis.

csgillespie
sumber
Hai, makalah yang bagus, terima kasih untuk memberikan tautan pdf .. Saya pasti akan membaca makalah ini ..
Mew 3.4
12
Alih-alih memberikan referensi, alangkah baiknya jika Anda merangkum poin-poin utama dari makalah ini. Tautan mati, jadi di masa depan jawaban Anda bisa menjadi tidak berguna untuk non-pelanggan jurnal ini (dan sebagian besar populasi manusia adalah non-pelanggan).
Tim
27

Ada banyak ukuran jarak antara dua histogram. Anda dapat membaca kategorisasi yang baik dari tindakan ini di:

K. Meshgi, dan S. Ishii, "Memperluas Histogram Warna dengan Gridding untuk Meningkatkan Akurasi Pelacakan," di Proc. dari MVA'15, Tokyo, Jepang, Mei 2015.

Fungsi jarak paling populer tercantum di sini untuk kenyamanan Anda:

  • L0 atau Hellinger Distance

DL0=ih1(i)h2(i)

  • L1 , Manhattan, atau Jarak Blok Kota

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

  • L=2 atau Jarak Euclidean

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

  • L atau Chybyshev Distance

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

  • L atau Fractional Distance (bagian dari keluarga jarak Minkowski)p

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

  • Persimpangan histogram

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

  • Jarak cosine

DCO=1ih1(i)h2(i)

  • Jarak Canberra

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

  • Koefisien Korelasi Pearson

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

  • Divergensi Kolmogorov-Smirnov

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

  • Jarak Pertandingan

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

  • Jarak Cramer-von Mises

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

  • χ2 Statistik

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

  • Bhattacharyya Jarak

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

  • Kuadrat Kuadrat

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

  • Divergance Kullback-Liebler

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

  • Jefferey Divergence

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

  • Jarak Earth Mover (ini adalah anggota pertama dari jarak Transportasi yang menanamkan informasi binning ke dalam jarak tersebut, untuk informasi lebih lanjut silakan merujuk ke makalah yang disebutkan di atas atau entri Wikipedia .A

DEM=minfiji,jfijAijsumi,jfij jfijh1(i),jfijh2(j),i,jfij=min(ih1(i)jh2(j)) dan mewakili aliran dari kefijij

  • Jarak kuadratik

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

  • Jarak Kuadrat-Chi

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

Implementasi Matlab dari beberapa jarak ini tersedia dari repositori GitHub saya: https://github.com/meshgi/Histogram_of_Color_Advancements/tree/master/distance Anda juga dapat mencari orang-orang seperti Yossi Rubner, Ofir Pele, Marco Cuturi dan Haibin Ling untuk lebih banyak jarak state-of-the-art.

Pembaruan: Penjelasan alternatif untuk jarak muncul di sana-sini dalam literatur, jadi saya mencantumkannya di sini demi kelengkapan.

  • Jarak Canberra (versi lain)

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

  • Dissimilaritas Bray-Curtis, Jarak Sorensen (karena jumlah histogram sama dengan satu, maka sama dengan )DL0

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

  • Jarak Jaccard (yaitu persimpangan atas penyatuan, versi lain)

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

Kourosh Meshgi
sumber
Selamat datang di situs kami! Terima kasih atas kontribusi ini.
whuber
Berikut ini tautan kertas: mva-org.jp/Proceedings/2015USB/papers/14-15.pdf
neves
Terima kasih, sebuah daftar sangat bagus, sementara itu tidak memungkinkan untuk membuat operator perbandingan untuk histogram, misalnya untuk mengatakan bahwahist1 < hist2
Olha Pavliuk
22

Jawaban standar untuk pertanyaan ini adalah tes chi-square . Tes KS adalah untuk data yang tidak dimasukkan, bukan data yang dibuang. (Jika Anda memiliki data yang belum dihapus, maka gunakan uji gaya KS, tetapi jika Anda hanya memiliki histogram, tes KS tidak sesuai.)

David Wright
sumber
Anda benar bahwa tes KS tidak sesuai untuk histogram ketika dipahami sebagai tes hipotesis tentang distribusi data yang mendasarinya, tetapi saya tidak melihat alasan mengapa statistik KS tidak akan bekerja dengan baik sebagai ukuran kesamaan dari dua histogram.
whuber
Penjelasan tentang mengapa uji Kolmogorov-Smirnov tidak sesuai dengan data yang dibuang akan berguna.
naught101
Ini mungkin tidak berguna dalam pemrosesan gambar seperti dalam penilaian kecocokan statistik. Seringkali dalam pemrosesan gambar, histogram data digunakan sebagai deskriptor untuk wilayah gambar, dan tujuannya adalah untuk jarak antara histogram untuk mencerminkan jarak antara tambalan gambar. Sedikit, atau mungkin tidak sama sekali, dapat diketahui tentang statistik populasi umum dari data gambar dasar yang digunakan untuk mendapatkan histogram. Misalnya, statistik populasi yang mendasari ketika menggunakan histogram dari gradien berorientasi akan sangat berbeda berdasarkan pada konten gambar yang sebenarnya.
ely
1
Pertanyaan naught101 dijawab oleh Stochtastic: stats.stackexchange.com/a/108523/37373
Lapis
10

Anda sedang mencari tes Kolmogorov-Smirnov . Jangan lupa untuk membagi ketinggian batang dengan jumlah semua pengamatan dari setiap histogram.

Perhatikan bahwa uji KS juga melaporkan perbedaan jika mis. Sarana distribusi bergeser relatif satu sama lain. Jika terjemahan histogram sepanjang sumbu x tidak berarti dalam aplikasi Anda, Anda mungkin ingin mengurangi rata-rata dari setiap histogram terlebih dahulu.

Jonas
sumber
1
Mengurangi rerata mengubah distribusi nol dari statistik KS. @ David Wright mengajukan keberatan yang sah terhadap penerapan uji KS ke histogram.
whuber
7

Seperti yang ditunjukkan oleh jawaban David, uji chi-kuadrat diperlukan untuk data yang dibuang karena uji KS mengasumsikan distribusi kontinu. Mengenai mengapa tes KS tidak tepat (komentar naught101), telah ada beberapa diskusi tentang masalah ini dalam literatur statistik terapan yang layak untuk diangkat di sini.

Pertukaran lucu dimulai dengan klaim ( García-Berthou dan Alcaraz, 2004 ) bahwa sepertiga dari makalah Nature mengandung kesalahan statistik. Namun, makalah berikutnya ( Jeng, 2006 , " Kesalahan dalam tes statistik dari kesalahan dalam tes statistik " - mungkin judul kertas favorit saya sepanjang masa) menunjukkan bahwa Garcia-Berthou dan Alcaraz (2005) menggunakan tes KS pada data diskrit, memimpin untuk pelaporan nilai-p yang tidak akurat dalam meta-studi mereka. Makalah Jeng (2006) memberikan diskusi yang bagus tentang masalah ini, bahkan menunjukkan bahwa seseorang dapat memodifikasi tes KS untuk bekerja untuk data diskrit. Dalam kasus khusus ini, perbedaan bermuara pada perbedaan antara distribusi seragam dari digit tambahan pada [0,9],

P(x)=19, (0x9)
(dalam tes KS yang salah) dan distribusi sisir fungsi delta, (dalam bentuk yang dimodifikasi dan benar) . Sebagai hasil dari kesalahan asli, Garcia-Berthou dan Alcaraz (2004) salah menolak nol, sedangkan uji KS chi-kuadrat dan dimodifikasi tidak. Bagaimanapun, tes chi-squared adalah pilihan standar dalam skenario ini, bahkan jika KS dapat dimodifikasi untuk bekerja di sini.
P(x)=110j=09δ(xj)
Stochtastic
sumber
-1

Anda dapat menghitung korelasi silang (konvolusi) antara kedua histogram. Itu akan memperhitungkan sedikit gejolak.

Juan Manuel Tonello
sumber
1
Ini ditandai secara otomatis sebagai kualitas rendah, mungkin karena sangat pendek. Saat ini lebih merupakan komentar daripada jawaban oleh standar kami. Bisakah Anda mengembangkannya? Kami juga dapat mengubahnya menjadi komentar.
gung - Reinstate Monica
Karena histogram adalah representasi data yang cukup tidak stabil , dan juga karena mereka tidak mewakili probabilitas hanya dengan menggunakan ketinggian (mereka menggunakan area ), orang mungkin mempertanyakan penerapan, umum, atau kegunaan dari pendekatan ini kecuali pedoman yang lebih spesifik diberikan.
whuber