Verwenden des EM-Algorithmus für die Datensatzverknüpfung


9

Ich bin daran interessiert, Datensätze über 2 Datensätze nach Vorname, Nachname und Geburtsjahr zu verknüpfen. Könnte dies mit dem EM-Algorithmus machbar sein, und wenn ja, wie?

Betrachten Sie die folgende Aufzeichnung im 1. als Beispiel: Carl McCarthy, 1967. Ich werde alle Datensätze im 2. Datensatz durchsuchen und einen Jaro-Winkler-Abstand zwischen dem 1. Namen und Carl und einen Jaro-Winkler-Abstand zwischen dem Nachnamen und McCarthy zuweisen. Diese Entfernung ist ebenso probabilistisch wie die Entfernung zwischen den Geburtsjahren. Wir kombinieren diese 3 Wahrscheinlichkeiten (multiplizieren? Durchschnitt?) Zu 1.

Nun kommt der Teil der Entscheidungsregel. Ordnen wir alle Wahrscheinlichkeiten vom höchsten zum niedrigsten. Zuerst wollen wir P (erster Treffer ist Übereinstimmung)> = Schwelle. Zweitens wollen wir auch P (erster Treffer ist Übereinstimmung) / P (zweiter Treffer ist Übereinstimmung)> = Schwelle, wenn P (zweiter Treffer ist Übereinstimmung) existiert. Drittens möchten wir, dass der erste Treffer in diesem zweiten Datensatz nicht mehr als einer Person im ersten Datensatz mit Carl McCarthy, 1967, entspricht.

Wie können diese Schwellenwerte bestimmt werden?

Ich bevorzuge Ansätze in Stata und / oder Perl.

Siehe zum Beispiel:

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

(Obwohl ich damit immer noch nicht vollständig dem Warum oder Wie und den Ein- und Ausgängen sowie den Annahmen und der Restriktivität folge).


Haben Sie darüber nachgedacht, reclink in Stata zu verwenden?
Dimitriy V. Masterov

Antworten:


4

Absolut, der EM-Algorithmus wurde für die probabilistische Verknüpfung verwendet. Es gibt viele Artikel zu diesem Thema, die folgenden von Winkler können in Bezug auf theoretische Details hilfreich sein:

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

Außerdem gibt es hier bereits eine von Kevin Campbell entwickelte Datenverknüpfungssoftware:

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

Die Software kann kostenlos heruntergeladen werden und Kevin Campbell bietet Support gegen eine Gebühr an. Der Code ist in SAS geschrieben, daher benötigen Sie das Basis-SAS-Paket.


Vielen Dank! Ich habe 2 Artikel von Winkler gelesen, aber nicht vollständig verstanden. Ich habe EM aus diesem Papier gesammelt. Außerdem weiß ich nicht, wie man SAS benutzt. Ich weiß, dass Perl ein EM-Modul hat, das ich verwenden würde, aber ich bin mir nicht sicher, warum EM angemessen ist oder wie ich es verwenden soll. Wie beantwortet EM konzeptionell die oben genannten Fragen?
user1690130

Mein Verständnis ist, dass der EM-Algorithmus nützlich ist, um die Wahrscheinlichkeit einer positiven Übereinstimmung zu modellieren, da er die unbekannten (oder "latenten") Wahrscheinlichkeiten berücksichtigt, zwei verschiedene Datensätze falsch oder zwei übereinstimmende Datensätze falsch zu verknüpfen. Schätzungen dieser Wahrscheinlichkeiten werden während jedes Schritts des Algorithmus verfeinert, um die Wahrscheinlichkeitsfunktion zu maximieren.
RobertF

Welche Eingaben biete ich an? Das univariate Prob und ein Label? Und es spuckt die optimale Übereinstimmung aus?
user1690130

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.