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).

user1690130
quelle
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.

RobertF
quelle
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
0

Es gibt eine Software RELAIS , die Verknüpfungen aufzeichnet mit:

6) Probabilistische Datensatzverknüpfung (Schätzung der Fellegi- und Sunter-Modellparameter über EM (Expectation-Maximization).

RELAIS wurde in Java und R implementiert und verfügt über eine Datenbankarchitektur (MySQL).

Weitere Informationen zur Datensatzverknüpfung finden Sie im ESSnet Data Integration-Projekt .

djhurio
quelle