วิธีการประเมินความคล้ายคลึงกันของสองฮิสโทแกรมหรือไม่


33

ให้สองฮิสโตแกรมเราจะประเมินได้อย่างไรว่าพวกมันคล้ายกันหรือไม่

มันเพียงพอแล้วหรือไม่ที่จะดูสองฮิสโทแกรม การแมปแบบหนึ่งต่อหนึ่งอย่างง่ายมีปัญหาว่าหากฮิสโตแกรมแตกต่างกันเล็กน้อยและเปลี่ยนไปเล็กน้อยจากนั้นเราจะไม่ได้ผลลัพธ์ที่ต้องการ

ข้อเสนอแนะใด ๆ


2
"คล้ายกัน" หมายถึงอะไร ยกตัวอย่างเช่นการทดสอบไคสแควร์และการทดสอบแคนซัสทดสอบว่าฮิสโตแกรมสองตัวใกล้เคียงกันหรือไม่ แต่ "คล้ายกัน" อาจหมายถึง "มีรูปร่างเหมือนกัน" โดยไม่สนใจความแตกต่างของตำแหน่งและ / หรือมาตราส่วน คุณช่วยชี้แจงเจตนาของคุณได้ไหม?
whuber

คำตอบ:


8

เอกสารล่าสุดที่อาจมีค่าควรอ่านคือ:

Cao, Y. Petzold, L.ข้อ จำกัด ของความแม่นยำและการวัดข้อผิดพลาดในการจำลองแบบสุ่มของระบบตอบสนองทางเคมี, 2006

แม้ว่าบทความนี้จะเน้นไปที่การเปรียบเทียบอัลกอริธึมการจำลองแบบสุ่ม แต่แนวคิดหลักก็คือวิธีการเปรียบเทียบฮิสโตแกรมสองรายการ

คุณสามารถเข้าถึงpdf ได้จากหน้าเว็บของผู้เขียน


สวัสดีมันเป็นกระดาษที่ดีขอบคุณสำหรับการให้ลิงค์ PDF .. ฉันจะผ่านบทความนี้อย่างแน่นอน ..
มิว 3.4

12
แทนที่จะให้การอ้างอิงมันจะดีถ้าคุณสรุปประเด็นหลักของบทความ ลิงก์ตายดังนั้นในอนาคตคำตอบของคุณอาจไร้ประโยชน์สำหรับผู้ที่ไม่ได้เป็นสมาชิกวารสารนี้ (และประชากรมนุษย์ส่วนใหญ่คือผู้ที่ไม่ได้เป็นสมาชิก)
ทิม

27

มีการวัดระยะทางมากมายระหว่างสองฮิสโตแกรม คุณสามารถอ่านการจัดหมวดหมู่ของมาตรการเหล่านี้ได้เป็นอย่างดีใน:

K. Meshgi และ S. Ishii“ การเพิ่มฮิสโตแกรมของสีด้วย Gridding เพื่อปรับปรุงความแม่นยำในการติดตาม” ใน Proc จาก MVA'15, Tokyo, Japan, พฤษภาคม 2015

ฟังก์ชั่นระยะทางที่ได้รับความนิยมมากที่สุดมีไว้เพื่อความสะดวกของคุณ:

  • L0 หรือ Hellinger Distance

DL0=Σผมชั่วโมง1(ผม)ชั่วโมง2(ผม)

  • L1ระยะทาง L 1 , แมนฮัตตันหรือบล็อคเมือง

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

  • L=2หรือระยะทางแบบยุคลิด

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

  • ระยะทางL หรือ Chybyshev

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

  • L pหรือ Fractional Distance (ส่วนหนึ่งของตระกูล Minkowski distance)p

DLp=(i|h1(i)h2(i)|p)1/pและ0<p<1

  • สี่แยกฮิสโทแกรม

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

  • ระยะทางโคไซน์

DCO=1-Σผมชั่วโมง1(ผม)ชั่วโมง2(ผม)

  • ระยะทางแคนเบอร์รา

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

  • Kolmogorov-Smirnov Divergance

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)

  • ระยะทาง Bhattacharyya

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

  • Squord Chord

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

  • Kullback-Liebler Divergance

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

  • Jefferey Divergence

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

  • ระยะทางของ Earth Mover (นี่เป็นสมาชิกคนแรกของระยะทางในการขนส่งที่ฝังข้อมูลการ binning Aไว้ในระยะทางสำหรับข้อมูลเพิ่มเติมโปรดดูที่กระดาษข้างต้นหรือรายการWikipedia

DEM=minfiji,jfijAijsumi,jfij jfijh1(i),jfijh2(j),i,jfij=min(ih1(i)jh2(j))และfijหมายถึงการไหลจาก iถึงj

  • ระยะกำลังสอง

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

  • กำลังสอง - จิระยะทาง

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

การใช้ Matlab ของระยะทางเหล่านี้สามารถหาได้จากพื้นที่เก็บข้อมูล GitHub ของฉัน: https://github.com/meshgi/Histogram_of_Color_Advancements/tree/master/distance นอกจากนี้คุณยังสามารถค้นหาผู้ชายเช่น Yossi Rubner, Ofir Pele, Ofir Pele, Marco Cuturi และ Haibin Ling ระยะทางที่ล้ำสมัยมากขึ้น

อัปเดต: การอธิบายทางเลือกสำหรับระยะทางปรากฏที่นี่และที่นั่นในวรรณคดีดังนั้นฉันจึงบันทึกรายการเหล่านั้นไว้ที่นี่เพื่อความสมบูรณ์

  • ระยะทางแคนเบอร์รา (เวอร์ชั่นอื่น)

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

  • DL0

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

  • ระยะทาง Jaccard (เช่นจุดตัดกันกับยูเนียน, เวอร์ชั่นอื่น)

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


ยินดีต้อนรับสู่เว็บไซต์ของเรา! ขอบคุณสำหรับการสนับสนุนนี้
whuber

นี่คือลิงค์กระดาษ: mva-org.jp/Proceedings/2015USB/papers/14-15.pdf
neves

ขอบคุณรายการที่ยอดเยี่ยมในขณะที่มันไม่อนุญาตให้สร้างตัวดำเนินการเปรียบเทียบสำหรับฮิสโตแกรมเช่นพูดว่าhist1 < hist2
Olha Pavliuk

22

คำตอบมาตรฐานสำหรับคำถามนี้คือการทดสอบแบบไคสแควร์ การทดสอบ KS นั้นใช้สำหรับข้อมูลที่ไม่มีการผูกมัดไม่ใช่ข้อมูลที่ถูกทำแบบผสม (หากคุณมีข้อมูลที่ไม่มีการตัดต่อดังนั้นโดยทั้งหมดให้ใช้การทดสอบแบบ KS แต่หากคุณมีฮิสโตแกรมเท่านั้นการทดสอบ KS จะไม่เหมาะสม)


คุณถูกต้องว่าการทดสอบ KS นั้นไม่เหมาะสมสำหรับฮิสโทแกรมเมื่อมันถูกเข้าใจว่าเป็นการทดสอบสมมติฐานเกี่ยวกับการกระจายของข้อมูลที่อยู่ข้างใต้ แต่ฉันไม่เห็นเหตุผลว่าทำไมสถิติ KS ไม่ทำงานได้ดีเท่าการวัดความเหมือนของสอง histograms
whuber

คำอธิบายว่าทำไมการทดสอบ Kolmogorov-Smirnov ไม่เหมาะสมกับข้อมูลที่ถูกทำให้เป็นรูพรุนจะมีประโยชน์
naught101

สิ่งนี้อาจไม่เป็นประโยชน์ในการประมวลผลภาพเช่นเดียวกับในการประเมินความเหมาะสมทางสถิติ บ่อยครั้งในการประมวลผลภาพฮิสโตแกรมของข้อมูลถูกใช้เป็นตัวบ่งชี้สำหรับพื้นที่ของภาพและเป้าหมายคือระยะห่างระหว่างฮิสโตแกรมเพื่อสะท้อนระยะห่างระหว่างแพทช์ภาพ อาจมีข้อมูลเพียงเล็กน้อยหรืออาจไม่มีข้อมูลเลยเกี่ยวกับสถิติประชากรทั่วไปของข้อมูลภาพพื้นฐานที่ใช้ในการรับฮิสโตแกรม ตัวอย่างเช่นสถิติประชากรพื้นฐานเมื่อใช้ฮิสโทแกรมของการไล่ระดับสีที่มุ่งเน้นจะแตกต่างกันมากตามเนื้อหาจริงของภาพ
ely

1
คำถามของ naught101 ถูกตอบโดย Stochtastic: stats.stackexchange.com/a/108523/37373
Lapis

10

คุณกำลังมองหาการทดสอบ Kolmogorov-Smirnov อย่าลืมแบ่งความสูงของแท่งด้วยผลรวมของการสำรวจทั้งหมดของฮิสโตแกรมแต่ละอัน

โปรดทราบว่าการทดสอบ KS นั้นยังรายงานถึงความแตกต่างด้วยเช่นหากค่าเฉลี่ยของการแจกแจงนั้นเปลี่ยนไปเมื่อเทียบกับค่าอื่น หากการแปลฮิสโตแกรมตามแกน x ไม่มีความหมายในแอปพลิเคชันของคุณคุณอาจต้องการลบค่าเฉลี่ยจากฮิสโทแกรมแต่ละรายการก่อน


1
การลบค่าเฉลี่ยจะเปลี่ยนการแจกแจงโมฆะของสถิติแคนซัส @ David Wright เพิ่มการคัดค้านที่ถูกต้องให้กับการประยุกต์ใช้การทดสอบ KS เป็นฮิสโทแกรมต่อไป
whuber

7

เมื่อคำตอบของเดวิดชี้ให้เห็นการทดสอบไค - สแควร์จำเป็นสำหรับข้อมูลที่ถูกหลอมละลายเนื่องจากการทดสอบ KS ถือว่าการแจกแจงต่อเนื่อง เกี่ยวกับสาเหตุที่การทดสอบ KS ไม่เหมาะสม (ความคิดเห็นที่ naught101) ได้มีการพูดคุยกันบางประเด็นในวรรณคดีสถิติที่ใช้ซึ่งมีมูลค่าเพิ่มที่นี่

การแลกเปลี่ยนที่สนุกสนานเริ่มต้นด้วยการอ้างสิทธิ์ ( García-Berthou และ Alcaraz, 2004 ) ว่าหนึ่งในสามของเอกสารทางธรรมชาติมีข้อผิดพลาดทางสถิติ อย่างไรก็ตามบทความฉบับต่อไป ( Jeng, 2006 , " ข้อผิดพลาดในการทดสอบทางสถิติของข้อผิดพลาดในการทดสอบทางสถิติ " - บางทีชื่อกระดาษที่ชื่นชอบทุกเวลาของฉัน) แสดงให้เห็นว่า Garcia-Berthou และ Alcaraz (2005) ใช้การทดสอบ KS ต่อการรายงานค่า p ที่ไม่ถูกต้องในการศึกษาเมตา กระดาษของ Jeng (2006) ให้การอภิปรายที่ดีแม้จะแสดงให้เห็นว่าสามารถแก้ไขการทดสอบ KS ให้ทำงานได้สำหรับข้อมูลที่ไม่ต่อเนื่อง ในกรณีพิเศษนี้ความแตกต่างจะลดลงไปจนถึงความแตกต่างระหว่างการกระจายตัวแบบเดียวกันของตัวเลขต่อท้ายใน [0,9],

P(x)=19, (0x9)
(ในการทดสอบ KS ที่ไม่ถูกต้อง) และการแจกจ่ายฟังก์ชันเดลต้าแบบหวี
P(x)=110ΣJ=09δ(x-J)
(ในรูปแบบที่ถูกต้องแก้ไข) อันเป็นผลมาจากข้อผิดพลาดเดิม Garcia-Berthou และ Alcaraz (2004) ปฏิเสธโมฆะอย่างไม่ถูกต้องในขณะที่การทดสอบไคสแควร์และการดัดแปลง KS ไม่ถูกต้อง ไม่ว่าในกรณีใดการทดสอบไค - สแควร์เป็นตัวเลือกมาตรฐานในสถานการณ์นี้แม้ว่า KS จะสามารถปรับเปลี่ยนให้ทำงานได้ที่นี่

-1

คุณสามารถคำนวณ cross-correlation (convolution) ระหว่างฮิสโตแกรมทั้งสอง ที่จะต้องคำนึงถึง traslations เล็กน้อย


1
สิ่งนี้กำลังถูกตั้งค่าสถานะโดยอัตโนมัติว่ามีคุณภาพต่ำอาจเป็นเพราะมันสั้นมาก ในปัจจุบันมันเป็นความเห็นมากกว่าคำตอบตามมาตรฐานของเรา คุณสามารถขยายมันได้หรือไม่ นอกจากนี้เรายังสามารถเปลี่ยนเป็นความคิดเห็น
gung - Reinstate Monica

เนื่องจากฮิสโทแกรมเป็นข้อมูลที่ไม่เสถียรพอสมควรและเนื่องจากพวกเขาไม่ได้เป็นตัวแทนของความน่าจะเป็นโดยใช้ความสูงเพียงอย่างเดียว (พวกเขาใช้พื้นที่ ) พวกเราอาจตั้งคำถามถึงการบังคับใช้โดยทั่วไปหรือประโยชน์ของแนวทางนี้
whuber
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.