Kayıt bağlama için EM algoritmasını kullanma


9

2 veri kümesindeki kayıtları ad, soyad ve doğum yılına göre ilişkilendirmekle ilgileniyorum. Bu EM algoritması ile yapılabilir ve eğer öyleyse, nasıl?

Örnek olarak 1.'de şu rekoru ele alalım: Carl McCarthy, 1967. 2. veri kümesindeki tüm kayıtları arayacağım ve 1. ad ve Carl arasında bir jaro-winkler mesafesi ve soyadı ile McCarthy arasında bir jaro-winkler mesafesi atayacağım. Bu mesafe, doğum yılları arasındaki mesafe gibi olasılıklıdır. Bu 3 olasılığı (çarpma? Ortalama?) 1 ile birleştiriyoruz.

Şimdi karar kuralı kısmı geliyor. Tüm olasılıkları en yüksekten en düşüğe doğru sıralayalım. İlk olarak, P (ilk vuruş eşleşir)> = eşik istiyoruz. İkinci olarak, P (ikinci vuruş eşleşir) / P (ikinci vuruş eşleşir)> = P (ikinci vuruş eşleşir) mevcut olduğunda eşik isteriz. Üçüncüsü, bu ikinci veri kümesindeki ilk isabetin, 1967 Carl McCarthy ile 1. veri kümesinde en fazla 1 kişi için eşleşmesini istiyoruz.

Bu eşikler nasıl belirlenebilir?

Stata ve / veya Perl'deki yaklaşımları tercih ederim.

Bkz. Örneğin:

http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1479910/pdf/amia2003_0259.pdf

(Bununla birlikte, girişlerin ve çıkışların ne olduğunu, nasıl ve ne olduğunu, varsayımları ve ne kadar kısıtlayıcı olduklarını tam olarak takip etmiyorum).


Stata'da reclink kullanmayı düşündün mü?
Dimitriy V. Masterov

Yanıtlar:


4

Kesinlikle, EM algoritması olasılıklı bağlantı için kullanılmıştır. Konuyla ilgili birçok makale var, Winkler tarafından aşağıdakiler teorik ayrıntılar konusunda yardımcı olabilir:

http://www.census.gov.edgekey.net/srd/papers/pdf/rr2000-05.pdf

Ayrıca Kevin Campbell tarafından geliştirilen veri bağlama yazılımı da var:

http://the-link-king.com/

Yazılım serbestçe indirilebilir ve Kevin Campbell bir ücret karşılığında destek sunar. Kod SAS'ta yazıldığından, temel SAS paketine ihtiyacınız olacak.


Teşekkür ederim! Winkler tarafından 2 makale okudum ama tam olarak anlamadım. EM'yi bu yazıda topladım. Ayrıca SAS'ın nasıl kullanılacağını bilmiyorum. Perl'in kullanacağım bir EM modülü olduğunu biliyorum, ancak EM'nin neden uygun olduğundan veya nasıl kullanılacağından emin değilim. Kavramsal olarak, EM yukarıdaki soruları nasıl cevaplıyor?
user1690130

Anladığım kadarıyla EM algoritması, pozitif bir eşleşme olasılığını modellemek için yararlıdır, çünkü iki farklı kaydı yanlış bağlama veya iki eşleşen kaydı yanlış bağlama bilinmeyen (veya "gizli") olasılıklarını dikkate alır. Bu olasılıkların tahminleri, olasılık fonksiyonunu en üst düzeye çıkarmak için algoritmanın her adımı sırasında rafine edilir.
RobertF

Hangi girdileri sağlarım? Tek değişkenli prob ve bir etiket? Ve en uygun eşleşmeyi veriyor?
user1690130

0

Aşağıdakilerle bağlantı sağlayan bir RELAIS yazılımı vardır:

6) Olasılıksal kayıt bağlantısı (EM aracılığıyla Fellegi ve Sunter model parametrelerinin tahmini (Beklenti-Maksimizasyon).

RELAIS, Java ve R'de uygulanmıştır ve bir veritabanı mimarisine (MySQL) sahiptir.

ESSnet Veri Entegrasyonu projesinde kayıt bağlantısı hakkında daha fazla belge bulunmaktadır .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.