Utilisation de l'algorithme EM pour la liaison d'enregistrements

9

Je souhaite lier des enregistrements à travers 2 ensembles de données par prénom, nom et année de naissance. Cela pourrait-il être faisable avec l'algorithme EM, et si oui, comment?

Considérez l'exemple suivant dans le 1er exemple: Carl McCarthy, 1967. Je vais rechercher dans tous les enregistrements du 2e jeu de données et attribuer une distance jaro-winkler entre le premier nom et Carl et une distance jaro-winkler entre le nom de famille et McCarthy. Ces distances sont probabilistes tout comme la distance entre les années de naissance. Nous combinons ces 3 probabilités (multiplier? Moyenne?) En 1.

Vient maintenant la partie règle de décision. Classons toutes les probabilités du plus élevé au plus bas. Tout d'abord, nous voulons P (le premier coup correspond)> = seuil. Deuxièmement, nous voulons également P (le premier coup correspond) / P (le deuxième coup correspond)> = seuil si P (le deuxième coup correspond) existe. Troisièmement, nous voulons que le premier hit de ce deuxième jeu de données ne corresponde pas à plus d'une personne dans le premier jeu de données avec Carl McCarthy, 1967.

Comment déterminer ces seuils?

Je préfère les approches en Stata et / ou Perl.

Voir par exemple:

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

(Bien qu'avec cela, je ne suive toujours pas entièrement le pourquoi ou le comment, et ce que sont les entrées et les sorties, ainsi que les hypothèses et leur restrictivité).

user1690130
la source
Avez-vous pensé à utiliser reclink dans Stata?
Dimitriy V. Masterov

Réponses:

4

Absolument, l'algorithme EM a été utilisé pour la liaison probabiliste. Il y a beaucoup d'articles sur le sujet, les articles suivants de Winkler peuvent être utiles concernant les détails théoriques:

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

Il existe également un logiciel de liaison de données développé par Kevin Campbell déjà disponible ici:

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

Le logiciel peut être téléchargé gratuitement et Kevin Campbell propose une assistance payante. Le code est écrit en SAS, vous aurez donc besoin du package SAS de base.

RobertF
la source
Je vous remercie! J'ai lu 2 articles de Winkler mais je ne les ai pas bien compris. J'ai rassemblé EM de ce papier. De plus, je ne sais pas comment utiliser SAS. Je sais que Perl a un module EM, que j'utiliserais, mais je ne sais pas pourquoi EM est approprié ou comment l'utiliser. Conceptuellement, comment EM répond-il aux questions ci-dessus?
user1690130
Ma compréhension est que l'algorithme EM est utile pour modéliser la probabilité d'une correspondance positive car il prend en compte les probabilités inconnues (ou "latentes") de lier incorrectement deux enregistrements différents ou de ne pas lier incorrectement deux enregistrements correspondants. Les estimations de ces probabilités sont affinées à chaque étape de l'algorithme afin de maximiser la fonction de vraisemblance.
RobertF
Quelles entrées dois-je fournir? Le prob univarié et une étiquette? Et ça crache la correspondance optimale?
user1690130
0

Il existe un logiciel RELAIS qui enregistre le couplage avec:

6) Couplage probabiliste d'enregistrements (Estimation des paramètres des modèles Fellegi et Sunter via EM (Expectation-Maximization).

RELAIS a été implémenté en Java et R et possède une architecture de base de données (MySQL).

Il existe d'autres documents sur le couplage d'enregistrements disponibles dans le projet ESSnet Data Integration .

djhurio
la source