Usando el algoritmo EM para vincular registros

9

Estoy interesado en vincular registros en 2 conjuntos de datos por nombre, apellido y año de nacimiento. ¿Podría esto ser factible con el algoritmo EM, y si es así, cómo?

Considere el siguiente registro en el 1er como ejemplo: Carl McCarthy, 1967. Buscaré en todos los registros del segundo conjunto de datos y asignaré una distancia jaro-winkler entre el primer nombre y Carl y una distancia jaro-winkler entre el apellido y McCarthy. Estas distancias son probabilísticas al igual que la distancia entre los años de nacimiento. Combinamos esas 3 probabilidades (multiplicar? Promedio?) En 1.

Ahora viene la parte de la regla de decisión. Clasifiquemos todas las probabilidades de mayor a menor. Primero, queremos P (primer hit es match)> = umbral. En segundo lugar, también queremos P (primer hit es match) / P (segundo hit es match)> = umbral si P (el segundo hit es match) existe. Tercero, queremos que el primer hit en este segundo conjunto de datos coincida con no más de 1 persona en el primer conjunto de datos con Carl McCarthy, 1967.

¿Cómo se pueden determinar estos umbrales?

Prefiero enfoques en Stata y / o Perl.

Ver, por ejemplo:

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

(Aunque con eso, todavía no sigo completamente el por qué o cómo, y cuáles son las entradas y salidas, así como los supuestos y cuán restrictivos son).

usuario1690130
fuente
¿Has pensado en usar reclink en Stata?
Dimitriy V. Masterov

Respuestas:

4

Absolutamente, el algoritmo EM se ha utilizado para la vinculación probabilística. Hay muchos artículos sobre el tema, los siguientes de Winkler pueden ser útiles con respecto a los detalles teóricos:

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

También hay un software de enlace de datos desarrollado por Kevin Campbell ya disponible aquí:

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

El software se puede descargar libremente y Kevin Campbell ofrece soporte por una tarifa. El código está escrito en SAS, por lo que necesitará el paquete SAS base.

RobertF
fuente
¡Gracias! He leído 2 documentos de Winkler pero no los entendí completamente. Recogí EM de ese papel. Además, no sé cómo usar SAS. Sé que Perl tiene un módulo EM, que usaría, pero no estoy seguro de por qué EM es apropiado o cómo usarlo. Conceptualmente, ¿cómo responde EM a las preguntas anteriores?
user1690130
Según tengo entendido, el algoritmo EM es útil para modelar la probabilidad de una coincidencia positiva porque tiene en cuenta las probabilidades desconocidas (o "latentes") de vincular incorrectamente dos registros diferentes o incorrectamente no vincular dos registros coincidentes. Las estimaciones de estas probabilidades se refinan durante cada paso del algoritmo para maximizar la función de probabilidad.
RobertF
¿Qué entradas proporciono? ¿El problema univariante y una etiqueta? ¿Y escupe la combinación óptima?
user1690130
0

Existe un software RELAIS que registra enlaces con:

6) Enlace de registro probabilístico (Estimación de los parámetros del modelo Fellegi y Sunter a través de EM (Expectation-Maximization).

RELAIS se ha implementado en Java y R y tiene una arquitectura de base de datos (MySQL).

Hay más documentación sobre la vinculación de registros disponible del proyecto de integración de datos ESSnet .

djhurio
fuente