Menggunakan algoritma EM untuk menghubungkan rekaman

9

Saya tertarik untuk menghubungkan catatan di 2 dataset dengan nama depan, nama belakang, dan tahun kelahiran. Mungkin ini bisa dilakukan dengan algoritma EM, dan jika demikian, bagaimana?

Pertimbangkan catatan berikut dalam 1 sebagai contoh: Carl McCarthy, 1967. Saya akan mencari semua catatan dalam dataset ke-2, dan menetapkan jarak jaro-winkler antara nama pertama dan Carl dan jarak jaro-winkler antara nama belakang dan McCarthy. Jarak ini adalah probabilitas seperti jarak antara tahun kelahiran. Kami menggabungkan 3 probabilitas tersebut (kalikan? Rata-rata?) Menjadi 1.

Sekarang sampai pada bagian aturan keputusan. Mari kita rangking semua probabilitas dari tertinggi ke terendah. Pertama, kami ingin P (klik pertama adalah kecocokan)> = ambang batas. Kedua, kami juga menginginkan P (hit pertama cocok) / P (hit kedua cocok)> = ambang jika P (hit kedua cocok) ada. Ketiga, kami ingin hit pertama dalam dataset kedua ini cocok dengan tidak lebih dari 1 orang di dataset pertama dengan Carl McCarthy, 1967.

Bagaimana ambang ini ditentukan?

Saya lebih suka pendekatan dalam Stata dan / atau Perl.

Lihat, misalnya:

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

(Meskipun dengan itu, saya masih belum sepenuhnya mengikuti mengapa atau bagaimana, dan apa input dan outputnya, serta asumsi dan seberapa ketatnya mereka).

pengguna1690130
sumber
Pernahkah Anda berpikir tentang menggunakan tautan balik di Stata?
Dimitriy V. Masterov

Jawaban:

4

Tentu saja, algoritma EM telah digunakan untuk menghubungkan probabilistik. Ada banyak artikel tentang masalah ini, yang berikut oleh Winkler dapat membantu mengenai rincian teoritis:

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

Juga ada perangkat lunak penghubung data yang dikembangkan oleh Kevin Campbell sudah tersedia di sini:

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

Perangkat lunak ini dapat diunduh secara gratis & Kevin Campbell menawarkan dukungan dengan dikenakan biaya. Kode ini ditulis dalam SAS, jadi Anda akan memerlukan paket SAS dasar.

RobertF
sumber
Terima kasih! Saya telah membaca 2 makalah oleh Winkler tetapi tidak sepenuhnya memahaminya. Saya mengumpulkan EM dari kertas itu. Juga, saya tidak tahu cara menggunakan SAS. Saya tahu perl memiliki modul EM, yang akan saya gunakan, tetapi saya tidak yakin mengapa EM sesuai atau bagaimana menggunakannya. Secara konseptual, bagaimana EM menjawab pertanyaan di atas?
user1690130
Pemahaman saya adalah bahwa algoritma EM berguna untuk memodelkan kemungkinan kecocokan positif karena memperhitungkan probabilitas yang tidak diketahui (atau "laten") untuk secara tidak benar menghubungkan dua catatan yang berbeda atau secara salah tidak menghubungkan dua catatan yang cocok. Perkiraan probabilitas ini disempurnakan selama setiap langkah algoritma untuk memaksimalkan fungsi kemungkinan.
RobertF
Masukan apa yang saya berikan? Masalah univariat dan label? Dan itu memuntahkan pertandingan optimal?
user1690130
0

Ada perangkat lunak RELAIS yang merekam hubungan dengan:

6) Hubungan catatan probabilitas (Estimasi parameter model Fellegi dan Sunter via EM (Expectation-Maximization).

RELAIS telah diimplementasikan di Java dan R dan memiliki arsitektur database (MySQL).

Ada beberapa dokumentasi tentang catatan hubungan yang tersedia dari proyek Integrasi Data ESSnet .

djhurio
sumber