Linkage Probabilístico de Bases de Dados Método Cláudia Medina Coeli
Processos Linkage - RL3 Funções Módulo RL3 Configura Padronização Padronização STD Blocagem Relaciona CLN Comparação Relaciona CLN Cálculo de Escores Relaciona CLN Estima Parâmetros Relaciona CLN Seleção de Pares Combina CLN Cria Base Para Análise Associa JFG Duplicidade Duplica DUP Arquivos padrão xbase (DBF) Arquivos índice (MDX)
RecLink III Methodology: Fellegi-Sunter Model File format: xbase (DBF) Type of computers: Workstation/personal computers Computer operating system: Windows Supports: deduplication, linkage of two files. Interface: user friendly Linkage parameter files : fully customized Standardization/parsing: fully customized Blocking: supports multiple linkage passes Comparison functions: edition distances and others Estimation of parameters: EM algorithm Cost: Free software.
Padronização
Padronização
Padronização Seleção de subconjunto de registros Seleção de Campos Padronização de estruturas (campos de mesmo tamanho) Limpeza de dados sem valor (ex cadáver, SI ) Limpeza dos campos (ex. espaços duplos, caixa alta) Padronização de códigos (sexo M, F; 1, 2) Padronização de formatos (DD/MM/AAAA, AAAAMMDD) Quebra (parsing) de campos (componentes nome, datas)
Padronização Arquivo A Arquivo B 3 Renato Mendes Silva RENATO M SILVA M 1 19701209 09/12/70 Arquivo A Arquivo B RENATO MENDES SILVA RENATO M SILVA RENATO RENATO M M SILVA SILVA M M 19701209 19701209 1970 1970 12 12 9 9
Padronização - Campos Campos chaves de cada arquivo (ex. número da DO, número da notificação). Campos que serão utilizados no processo de blocagem ou de pareamento (ex. data de nascimento, nome, sexo). Campos que serão utilizados no processo de revisão manual. Por exemplo, endereço, data do óbito
Padronização - Dicionário
Padronização - Missing
Padronização - Roteiro Dicionários de de dados (todos os anos) Appendar vários anos Alteração de estrutura Aleração de nome de campos (diminuir tamanho) Fequência de todos os campos usados no linkage Limpar (vazio) campos com códigos missing ou inválidos Compatibilizar conteúdos Selecionar subconjunto de registros de interesse
Blocagem
Formação de Links- Blocagem REG NOME SEXO 1 Antonio M 2 Maria F 3 Lucia F 4 Joao M REG NOME SEXO 1 Gustavo M 2 Ana F 3 Maria F 4 Antonio M REG REG NOME NOME SEXO SEXO 1 1 Antonio Gustavo M M 1 2 Antonio Ana M F 1 3 Antonio Maria M F 1 4 Antonio Antonio M M 2 1 Maria Gustavo F M 2 2 Maria Ana F F 2 3 Maria Maria F F 2 4 Maria Antonio F M 3 1 Lucia Gustavo F M 3 2 Lucia Ana F F 3 3 Lucia Maria F F 3 4 Lucia Antonio F M 4 1 Joao Gustavo M M 4 2 Joao Ana M F 4 3 Joao Maria M F 4 4 Joao Antonio M M REG REG NOME NOME SEXO SEXO 1 1 Antonio Gustavo M M 1 4 Antonio Antonio M M 2 2 Maria Ana F F 2 3 Maria Maria F F 3 2 Lucia Ana F F 3 3 Lucia Maria F F 4 1 Joao Gustavo M M 4 4 Joao Antonio M M
Blocagem Aumentar a probabilidade de pares verdadeiros. Chave de blocagem um ou mais campos Com grande número de valores Com baixa probabilidade de erro Códigos fonéticos de primeiro e último nomes, sexo, UF Soundex código fonético muito usado
Blocagem - Soundex O código soundex é formado por 4 dígitos sendo o primeiro representado pela primeira letra da palavra a ser codificada enquanto os demais são dígitos numéricos codificados segundo as seguintes regras: 1 As letras A, E, I, O, U, H, W e Y são ignoradas. 2 Para as demais letras empregam-se os seguintes códigos numéricos: B, F,P,V 1; C, G, J, K, Q, S, X, Z - 2; D, T- 3; L - 4; M,N - 5; R-6. 3 Se duas letras contíguas na palavra apresentarem o mesmo código, este só é computado uma única vez. 4 Uma vez que os três dígitos numéricos tenham sido completados as demais letras da palavra são ignoradas. 5 Todos os códigos devem ter 4 dígitos. Sendo assim, para as palavras onde o código inicialmente formado seja constituído por menos do que 3 dígitos numéricos, completa-se os dígitos restantes com zeros.
Blocagem Rotina de Padronização - Primeira letra W e segunda A -> Primeira letra passa a V - Primeira letra H -> Deleta primeira letra - Primeira letra K e segunda A, O ou U -> Primeira letra passa a C - Primeira letra Y -> Primeira letra passa a I - Primeira letra C e segunda E ou I -> Primeira letra passa a S - Primeira letra G e segunda E ou I -> Primeira letra passa a J Campos: PBLOCO e UBLOCO
Últimos nomes mais frequentes na base de óbitos. Município do Rio de Janeiro, 1998. Souza Oliveira Santos Silva 0.0% 2.0% 4.0% 6.0% 8.0% 10.0% 12.0% Coeli CM & Camargo JR. Rev Bras. Epidemiol 2002; 5:185-196
Coeli CM & Camargo JR. Rev Bras. Epidemiol 2002; 5:185-196
SINASC - 2002 vs 2003-2004 Vieira, CL, 2010
Comparação
Aproximado Implementa o algoritmo distância de edição Levenshtein Mínimo de operações necessárias para transformar uma cadeia de caracter em outra Inserção, Deleção e Substituição. Wrong Wromg - Substituição Wronmg - Deleção Wrog - Inserção
PUZZLE vs PZZEL Substitui p por p (custo 0) p-zz-el puzzle- Insere u (custo 1) Substitui z por z (custo 0) Substitui z por z (custo 0) Insere l (custo 1) Substitui e com e (custo 0) Deleta l (custo 1)
RecLink III Função Levenshtein tamanho da maior cadeia - resultado da comparação de Levestein Concordância = tamanho da maior cadeia Manuel vs Manoel Manoel vs. Manuel C= (6-1)/6= 5/6=0.833 ou 83,3% Claudia Medina Coeli vs vs. Maria Claudia Coeli C= (20-9)/20= 11/20=0.55 ou 55,5%
1988 1996 Não Par Caracter Compara caracter a caracter em cada posição 19880120 19880120-100% 19880120 19880102-75% Exato 19880120 19880120 - Par 19880120 19880102 - Não Diferença 1988 1988 - Par 1988 1990 Par
O maior número possível Campos - Automático Mas não incluir campos com muito missing ou muito erro no preenchimento Não incluir campos e partes de campos ao mesmo tempo (nome e suas partes, por exemplo) Não incluir campos usados na blocagem Sensível ou específico, depende da qualidade do preenchimento dos dados (partes de nomes e datas OU nome completo).
Cálculo do Escore
Parâmetros Algoritmo Verdadeiro Padrão Ouro Falso Sim Verdadeiro Positivo VPi Falso Positivo FPi Não Falso Negativo FNi Verdadeiro Negativo VNi
Carlos Sllatery Mansa vs Carlos Sllatery Mansa 19700702 vs 19611221 Concordância Discordância
Nome Data de Nascimento Par Não Par Par Não Par 0.92 0.01 0.08 0.99 0.90 0.05 0.10 0.95 Carlos Sllatery Mansa vs Carlos Sllatery Mansa 19700702 vs 19611221 log2 (0.92/0.01) + log2(0.10/0.95)= 6.52+(-3.25)=3.28 Valor Máximo = 10.69 Valor Mínimo = -6.87
Seleção de Pares
Distribuição de links segundo escore Percentual.9 0 4,3 Não Par.6 Dúvida Par.3 0-9 -4 0 5 9 SCORE
Distribuição de links segundo escore Winkler, 2006
Decisão Final Na dúvida, não classifique como par Defina regras antes de iniciar a revisão manual (estudo piloto) Nomes raros (nomes com três partes ou mais), são soberanos Se nome comum (nomes com duas partes, frquentes) deve concordar em pelo menos mais dois atributos Se nome médio, deve concordar ao menos em mais um atributo.
Arquivo A Sinanexp Arquivo de Relacionamento (passo1.dbf) Arquivo B Doexp Combina executa ARQUIVO de pares parp1 ARQUIVO A reduzido Sinanexp2 ARQUIVO B reduzido Doexp2 2º passo de blocagem
Formação de Bases Para Análise
Estratégias O arquivo de interesse para a análise depende do objetivo do projeto de linkage. Appendar arquivos de pares de cada passo. Antes de formar a base para análise, conferir se houve atribuição de mais de um registro de um arquivo a um mesmo registro do outro (frequência dos campos chaves) Usar arquivo de pares e os arquivos originais (não padronizados)
Primeira Etapa Arquivo de Pares Passo 1 Arquivo de Pares Total Arquivo de Pares Passo 2
Segunda Etapa SINAN Arquivo de Pares Total N SINAN Eliminar campos Identificadores SINAN + N DO
Terceira Etapa SINAN + N DO SIM N DO SINAN + DADOS SIM
Estimativas de Parâmetros
Estimativa de Falso Postivo (u) Emprega-se amostra de links gerados por um processo sem blocagem. Arquivo A (1.000 registros) relacionado com ele próprio sem blocagem total de links formados é de 1.000.000 Desses apenas 1.000 são pares verdadeiros 0,1% Então, considera-se que os links não são pares e qualquer concordância é falso positiva. Para estimar u para cada campo, basta contar quantas vezes se observa concordância.
Estimativa de Verdadeiro Postivo (m) Emprega-se amostra de links gerados por processo de blocagem mais restrito (primeiro passo), que aumenta a probabilidade de ocorrência de pares verdadeiros. Considera-se que o status final do par é a variável não observada. Aplica-se algoritmo EM (expectation-maximization) para estimativa de m.
Estimativa de Verdadeiro Postivo (m) (1) Estimam-se valores do status do par (verdadeiro ou falso - dados não observados) considerando os valores de parâmetros m iniciais (valores iniciais informados) (2) Re-estimam-se os valores de parâmetros m para Maximizar a verossimilhança dos valores do status do par, considerando os valores estimados para essa variável na etapa 1. (3) As duas etapas são repetidas até que se alcance a convergência (os valores param de mudar de uma iteração para outra)
Duplicidades
Duplicidades Eliminar duplicações após escolha do registro mais adequado para permanecer na base; Eliminar duplicações após a atualização de um dos registros com informações presentes nos múltiplos registros duplicados; Criar um arquivo mestre com apenas uma ocorrência (registro) de cada indivíduo e adicionalmente criar um campo chave comum que é armazenado no arquivo mestre e nos arquivos de movimento, permitindo a recuperação de todos os dados de um indivíduo em um determinado período de tempo.
Arquivo Original Arquivo Reduzido 1 2 1 2 3 4.. Chave 1 2 1 2 4.... Total Chave.