Usando o algoritmo EM para vinculação de registros

9

Estou interessado em vincular registros em dois conjuntos de dados por nome, sobrenome e ano de nascimento. Isso pode ser possível com o algoritmo EM? Em caso afirmativo, como?

Considere o seguinte registro no 1º como exemplo: Carl McCarthy, 1967. Pesquisarei todos os registros no segundo conjunto de dados e atribuirei uma distância jaro-winkler entre o 1º nome e Carl e uma distância jaro-winkler entre o sobrenome e McCarthy. Essas distâncias são probabilísticas, assim como a distância entre os anos de nascimento. Combinamos essas 3 probabilidades (multiplique? Média?) Em 1.

Agora vem a parte da regra de decisão. Vamos classificar todas as probabilidades do mais alto para o mais baixo. Primeiro, queremos P (o primeiro hit corresponde)> = threshold. Segundo, também queremos P (primeiro acerto é correspondência) / P (segundo acerto é correspondência)> = limite se P (segundo acerto é correspondência) existir. Terceiro, queremos que o primeiro hit neste segundo conjunto de dados corresponda a não mais de uma pessoa no 1º conjunto de dados com Carl McCarthy, 1967.

Como esses limites podem ser determinados?

Eu prefiro abordagens em Stata e / ou Perl.

Veja, por exemplo:

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

(Embora com isso, eu ainda não sigo completamente o porquê ou como, e quais são as entradas e saídas, bem como as suposições e quão restritivas são).

user1690130
fonte
Você já pensou em usar o reclink no Stata?
Dimitriy V. Masterov 26/02

Respostas:

4

Absolutamente, o algoritmo EM foi usado para ligação probabilística. Existem muitos artigos sobre o assunto, e os seguintes por Winkler podem ser úteis em relação aos detalhes teóricos:

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

Também há um software de vinculação de dados desenvolvido por Kevin Campbell já disponível aqui:

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

O software pode ser baixado gratuitamente e Kevin Campbell oferece suporte a uma taxa. O código está escrito em SAS, portanto, você precisará do pacote SAS básico.

RobertF
fonte
Obrigado! Eu li dois artigos de Winkler, mas não os compreendi completamente. Reuni EM desse papel. Além disso, não sei como usar o SAS. Eu sei que o perl tem um módulo EM, que eu usaria, mas não sei por que o EM é apropriado ou como usá-lo. Conceitualmente, como o EM responde às perguntas acima?
user1690130
Meu entendimento é que o algoritmo EM é útil para modelar a probabilidade de uma correspondência positiva porque leva em consideração as probabilidades desconhecidas (ou "latentes") de vincular incorretamente dois registros diferentes ou de não vincular incorretamente dois registros correspondentes. As estimativas dessas probabilidades são refinadas durante cada etapa do algoritmo, a fim de maximizar a função de probabilidade.
21813 RobertF
Que entradas eu forneço? O prob univariado e um rótulo? E cospe a combinação ideal?
user1690130
0

Existe um software RELAIS que registra a ligação com:

6) Ligação probabilística de registros (Estimativa dos parâmetros dos modelos Fellegi e Sunter via EM (Maximização de Expectativas).

O RELAIS foi implementado em Java e R e possui uma arquitetura de banco de dados (MySQL).

Há mais documentação disponível sobre o vínculo de registros disponível no projeto ESSnet Data Integration .

djhurio
fonte