ระยะทางจาโร-วิงเคลอร์

ระยะทางจาโร-วิงเคลอร์  คือวิธีการแบบหนึ่งที่ใช้วัดความเหมือนกันระหว่างสองสายอักขระจากจำนวนตัวอักษรร่วม โดย วิลเลียมส วิงเคลอร์  ได้นำวิธีการเปรียบเทียบสายอักขระแบบระยะทางจาโร ที่ แมททิว จาโร  ได้นำเสนอขึ้น มาปรับปรุงเพิ่มเติม จึงเรียกว่าระยะทางจาโร-วิงเคลอร์ โดยค่าที่ได้จากวิธีวัดแบบระยะทางจาโร-วิงเคลอร์ จะมีค่าตั้งแต่ 0 (สายอักขระทั้งสองไม่มีตัวใดตรงกันเลย) ถึง 1 (สายอักขระทั้งสองตรงกันทุกตัว)
ระยะทางจาโร-วิงเคลอร์ ถูกออกแบบมาเพื่อใช้กับชุดของสายอักขระสั้นๆ เช่นชื่อคน โดยถูกพัฒนาเพื่อใช้เปรียบเทียบชื่อ ในการสำรวจสำมะโนประชากรของประเทศสหรัฐอเมริกา โดยระยะทางจาโรจะใช้หลักการวัดความต่างกัน ของสายอักขระจากจำนวนตัวอักษรที่เหมือนกัน และอยู่ในตำแหน่งใกล้เคียงกัน คือตำแหน่งห่างกันไม่เกินครึ่งหนึ่งของความยาวอักขระสายที่สั้น จากผลวิจัยของวิงเคลอร์พบว่า ความคลาดเคลื่อนโดยบังเอิญ มักเกิดกับตัวอักษรที่อยู่ตอนปลายของสายอักขระหลังจากตัวอักษรที่สี่เป็นต้นไป และพบว่าหากสายอักขระยิ่งยาวขึ้น ความคลาดเคลื่อนจะมากตามไปด้วย ระยะทางจาโร-วิงเคลอร์จึงนำค่าที่ได้จากระยะทางจาโร มาให้น้ำหนักความต่างกันของสายอักขระเพิ่ม โดยพิจารณาจากตำแหน่งของตัวอักษรและความยาวของสายอักขระ
นิยาม.
ให้ <math>d_j</math> คือระยะทางจาโร ของสายอักขระสองสาย จะได้
<math>d_j = \frac{1}{3}\left(\frac{c}{m} + \frac{c}{n} + \frac{c-t}{m}\right)</math>
หากสายอักขระสองสาย มีตัวอักษรที่เหมือนกันแต่ตำแหน่งไม่ตรงกัน จะถือว่าอักษรนั้นตรงกัน ถ้าระยะห่างระหว่างอักษรที่เหมือนกันของอักขระสองสาย มีค่าไม่เกิน r โดยที่ <math>r = \left\lfloor\frac{\max(m,n)}{2}\right\rfloor-1</math> 
ตัวอย่างเช่น การเทียบ CRATE กับ TRACE ระยะห่างระหว่างตัวอักษรสูงสุดที่ยังถือว่าตรงกันคือ (5/2)-1 = 1.5 จะเห็นว่ามีเพียงตัวอักษร ‘R’ ‘A’ ‘E’ เท่านั้นที่อักษรตรงกัน ถึงแม้ว่า ‘C’ และ ‘T’ จะปรากฏที่สายอักขระทั้งสอง แต่ระยะห่างของ ‘C’ ระหว่างสายอักขระสองสายมีค่าเกิน 1 (สายอักขระแรก C อยู่ตำแหน่งที่ 1 สายอักขระที่สอง C อยู่ที่ตำแหน่งที่ 4 ดังนั้นห่างกัน 4 – 1 = 3 ซึ่งเกิน r) จึงไม่ถือว่าตรงกัน สำหรับอักษร ‘T’ ก็เช่นเดียวกัน ดังนั้น c จึงมีค่าเท่ากับ 3 และ t = 0 (จำนวนอักษรที่ตรงกันคือ 3 ซึ่งอักษรที่ตรงกันทั้งสามนี้ ไม่มีการสลับตำแหน่งกัน) กรณี DwAyNE เทียบกับ DuANE จะเห็นว่าคู่ของอักษรที่ตรงกันมีตำแหน่งเรียงกันตามลำดับเหมือนกันทั้งสองสายคือ D-A-N-E ดังนั้นจึงไม่มีตำแหน่งที่ต้องต้องเปลี่ยนลำดับ t จึงเท่ากับ 0
ให้ <math>d_w</math> คือระยะทางจาโร-วิงเคลอร์
<math>d_w = d_j + (\frac{\ell}{10} (1 - d_j))</math>
ตัวอย่าง.
ให้ <math>m</math> แทนความยาวของสายอักขระ "MARTHA" และ <math>n</math> แทนความยาวของสายอักขระ "MARHTA" จะได้
อักษรที่ตรงกัน 6 ตัว มีอักษรสองตัวที่ไม่ได้เรียงกันตามลำดับ คืออักษรตำแหน่งที่ 4 และ 5 ดังนั้น <math>t = \frac{2}{2} = 1</math>
จะได้ค่าระยะทางจาโร
<math>d_j = \frac{1}{3}\left(\frac{6}{6} + \frac{6}{6} + \frac{6-1}{6}\right) = 0.944</math>
มี 3 อักขระแรกที่เข้ากันคือ (M, A, R) ดังนั้น <math>\ell = 3</math> 
จะได้ค่าระยะทางจาโร-วิงเคลอร์
<math>d_w = 0.944 + (\frac{3}{10} (1 - 0.944)) = 0.961</math>
ให้ <math>m</math> แทนความยาวของสายอักขระ "JONES" และ <math>n</math> แทนความยาวของสายอักขระ "JOHNSON" จะได้
อักษรที่ตรงกันทั้ง 4 ตัว มีตำแหน่งเรียงกันตามลำดับเหมือนกันทั้งสองสายอักขระ ดังนั้น <math>t = 0</math> 
จะได้ค่าระยะทางจาโร
<math>d_j = \frac{1}{3}\left(\frac{4}{5} + \frac{4}{6} + \frac{4-0}{4}\right) = 0.790</math>
มี 2 อักขระแรกที่เข้ากันคือ (J, O) ดังนั้น <math>\ell = 2</math> 
จะได้ค่าระยะทางจาโร-วิงเคลอร์
<math>d_w = 0.790 + (\frac{2}{10} (1 - 0.790)) = 0.832</math>
ให้ <math>m</math> แทนความยาวของสายอักขระ "DWAYNE" และ <math>n</math> แทนความยาวของสายอักขระ "DUANE" จะได้
อักษรที่ตรงกันทั้ง 4 ตัว มีตำแหน่งเรียงกันตามลำดับเหมือนกันทั้งสองสายอักขระ ดังนั้น <math>t = 0</math> 
จะได้ค่าระยะทางจาโร
<math>d_j = \frac{1}{3}\left(\frac{4}{6} + \frac{4}{5} + \frac{4-0}{4}\right) = 0.822</math>
มีเพียงอักขระแรกที่เข้ากัน คือ (D) ดังนั้น <math>\ell = 1</math> 
จะได้ค่าระยะทางจาโร-วิงเคลอร์
<math>d_w = 0.822 + (\frac{1}{10} (1 - 0.822)) = 0.84</math>
ให้ <math>m</math> แทนความยาวของสายอักขระ "DIXON" และ <math>n</math> แทนความยาวของสายอักขระ "DICKSONX" จะได้
อักษรที่ตรงกันทั้ง 4 ตัว มีตำแหน่งเรียงกันตามลำดับเหมือนกันทั้งสองสายอักขระ ดังนั้น <math>t = 0</math>
สำหรับอักษร X ในสายอักขระไม่นำมาพิจาณา เนื่องจากระยะห่างของ X ระหว่างสายอักขระสองสายมีค่าเกิน r 
จะได้ค่าระยะทางจาโร
<math>d_j = \frac{1}{3}\left(\frac{4}{5} + \frac{4}{8} + \frac{4-0}{4}\right) = 0.767</math>
มี 2 อักขระแรกที่เข้ากันคือ (D, I) ดังนั้น <math>\ell = 2</math> 
จะได้ค่าระยะทางจาโร-วิงเคลอร์
<math>d_w = 0.767 + (\frac{2}{10} (1 - 0.767)) = 0.813</math>