Upload
dangdiep
View
215
Download
0
Embed Size (px)
Citation preview
Sistemas Inteligentes Aplicadosg p
Pré-Processamento de Pré Processamento de Dados
P d CPrograma do Curso
Limpeza/Integração de Dados
Transformação de DadosDiscretização de Variáveis ContínuasDiscretização de Variáveis ContínuasTransformação de Variáveis Discretas em ContínuasTransformação de Variáveis ContínuasTransformação de Variáveis Contínuas
Análise e Seleção de Variáveis (Redução deAnálise e Seleção de Variáveis (Redução de Dados)
Li d D dLimpeza de Dados
Preocupação das empresasG andes ol mes de dados estocados semGrandes volumes de dados estocados, semutilidade até recentemente.
Mudança de FilosofiaçAnálise de dados voltada à verificação (DataVerification))Análise de dados voltada à descoberta(Data Mining)( g)
Li d D dLimpeza de Dados
Dados reais são “sujos”:Incompletos: falta de valores de atributos, falta deIncompletos: falta de valores de atributos, falta de
atributos de interesse ou existência de atributos agregados;Ruidosos: contêm erros e desvios;Ruidosos: contêm erros e desvios;Inconsistentes: contêm discrepâncias em nomes e
na codificação.
Diversas causas:E d di it ãErros de digitaçãoErros de leitura por sensoresOutros errosOutros erros
Li d D dLimpeza de Dados
Dados de baixa qualidade resultam em resultados de baixa qualidade em DM:q
Decisões de qualidade devem estar baseadas em dados de qualidadeDM/DW necessita da integração consistente de dados deDM/DW necessita da integração consistente de dados de qualidade.
Limpeza dos dados:Preenchimento de valores inexistentes, atenuação de dados ruidosos, identificação e remoção de desvios, resolução deruidosos, identificação e remoção de desvios, resolução de inconsistências, etcPode corresponder a 60 % do esforço
I t ã d D dIntegração de Dados
Várias aplicações consistem em diversas bases de dados complementaresde dados complementares
Tais bases tipicamente devem ser integradas em uma base de dados consolidada
Surgem então uma nova série de problemasSurgem então uma nova série de problemas também relacionados à limpeza de dados
Problemas de Qualidade dos Dados
Em bases de dados:Em ma tabela isoladaEm uma tabela isolada⌧Em nível de atributo / campo⌧Em nível de registro / tupla⌧Em nível de registro / tupla⌧Em nível de tabela / arquivoEm múltiplas tabelas bases de dados ouEm múltiplas tabelas, bases de dados ou arquivos
Em dados / séries numéricas
Problemas – Tabela Isolada / Atributo
Valor faltante (pa1): falta de preenchimento de atributos obrigatórios
Valor ilegal (pa2): fora do domínio válido (atributos numéricos)numéricos).
Ex: idade = 233
l ( ) l d b ã dValor incorreto (pa3): valor do atributo não corresponde ao valor real.
Ex: idade = 25, mas a pessoa tem 27 anos, p
Problemas – Tabela Isolada / Atributo
Erro ortográfico (pa4): associada a atributos textuaisEx: cidade = ‘Rio de Jneiro’
Informação em excesso (pa5): múltiplas informações úagregadas em um único atributo textual.
Ex: endereço = ‘Rua da Couve, 35, 22340-150, Rio de Janeiro’
Valor indefinido ou desconhecido (pa6): resultante da utilização de abreviaturas e/ou siglas. ç / g
Ex: empresa = ‘CS’
Problemas – Tabela Isolada / Atributo
Uso de sinônimos (pa7): registros com termos sintaticamente diferentes, mas semanticamente iguais
Ex: profissao = ‘professor’ x profissao = ‘docente’
Representação sem Padronização (pa8): valor doRepresentação sem Padronização (pa8): valor do atributo armazenado sob diversos formatos diferentes
Ex: data = 03/06/2006 x data = 2006/06/03
Problemas – Tabela Isolada / Registro
Violação da dependência entre atributos (pr1): inconsistências entre valores de atributos relacionados
t ientre siEx: idade = 30 / nascimento = ’16/06/1981’
Inversão de valores entre atributos (pr2)Ex: nome = ‘Rua ...’ / endereco = ‘José Silva’
Registro incompleto ou vazio (pr3): maioria dos atributos do registro não preenchidos
Problemas – Tabela Isolada / Tabela
Valor não único (pt1): dois registros distintos com valores iguais em atributo de valor único
Ex: registro A: ID = 12234registro B: ID = 12234
Redundância (pt2): mesma entidade aparece representada em múltiplos registros, sob formas iguais ou diferentesou diferentes
Ex: registro A: nome = ‘Carlos Roberto’ registro B: nome = ‘C. Roberto’
Inconsistência (pt3): conflitos nos valores de entidades representadas em mais de um registrorepresentadas em mais de um registro
Ex: registro A: nasc = ’03/02/1970’registro B: nasc = ’05/07/1970’
Problemas – Tabelas Múltiplas
Referência inexistente (pm1): violação à integridade referencial, no caso de bases relacionais
é ãEx: nome = ‘Carlos José’ / ID_depto = 7, mas não existe a chave 7 na tabela de Departamentos
Referência incorreta (pm2): não viola a integridade referencial, mas a referência não está correta
Ex: nome = ‘Carlos José’ / ID depto = 7 mas pertence naEx: nome = Carlos José / ID_depto = 7, mas pertence na verdade ao Departamento cujo ID_depto = 9
Redundância (pm3): mesma entidade representada sobRedundância (pm3): mesma entidade representada sob formas iguais ou diferentes em tabelas distintas
Ex: tabela Funcionários: nome = ‘José Alves’t b l D C i l ‘J Al ’tabela DepComercial: nome = ‘J. Alves’
Problemas – Tabelas Múltiplas
Inconsistência (pm4): conflitos nos valores dos atributos de uma entidade representada em mais de uma tabela
áEx: tabela Funcionários: nasc = ’03/08/1970’tabela DepComercial: nasc = ’05/12/1970’
Representação sem Padronização (pm5): não viola a integ idade efe encial mas a efe ência não estáintegridade referencial, mas a referência não está correta
Ex: tabela X: data = ’03/08/1970’tabela Y: data = ’1970/08/03’
Problemas – Tabelas Múltiplas
Unidades sem Padronização (pm6): valor do atributo com unidades diferentes em tabelas distintas
Ex: tabela X: valor = 123 (euros)tabela Y: valor = 123 (dólares)
Uso de sinônimos (pm7): registros com termos sintaticamente diferentes mas semanticamente iguaissintaticamente diferentes, mas semanticamente iguais em tabelas distintas
Ex: tabela X: profissao = ‘professor’tabela Y: profissao = ‘docente’tabela Y: profissao = docente
Problemas – Dados Numéricos
Dados faltantes (pn1): valores não medidos ou não disponíveis em uma série
Dados ilegais (pn2): valores fora da faixa de medição do sensor/transdutorsensor/transdutor
Outliers (pn3): valores muito acima/abaixo do valor édi d é imédio da série
Dados incorretos: Ruído (pn4): sinais espúriosDados incorretos: Ruído (pn4): sinais espúrios normalmente adicionados ao sinal de interesse
Branco GaussianoS klSpeckleoutros
Técnicas de Limpeza
Tipos Distintos de DadosLimpeza em Bases de DadosLimpeza em Dados Numéricosp
Ti Di ti t d LiTipos Distintos de LimpezaAbordagens EspecializadasAbordagens Genéricas
Limpeza em Bases de Dados
Abordagens EspecializadasáDependem da área de aplicação
Dependem dos atributos específicosp pGeralmente dependem de conhecimento de especialistaespecialistaPrincipais casos:⌧Correção de Nomes e Endereços⌧Correção de Nomes e Endereços⌧Detecção de Duplicados
Limpeza em Bases de Dados
Correção de Nomes e EndereçosMuito importante no domínio de CRMMuito importante no domínio de CRMExistem várias ferramentas comerciais (ex. IDCentric, PureIntegrate QuickAddress Reunion TrilliumPureIntegrate, QuickAddress, Reunion, Trillium, Vality)Etapas:Etapas:⌧Extração e transformação dos elementos de um endereço⌧Validação dos nomes próprios, sobrenomes, nomes de ruas,
localidades, CEPs, com base em bibliotecas de regraspreviamente definidas
⌧Representação em um formato pré-definido⌧Representação em um formato pré definido
Limpeza em Bases de Dados
Detecção de DuplicadosTambém existem várias ferramentas comerciais (exTambém existem várias ferramentas comerciais (ex. DataCleanser, MatchIt, MasterMerge)Algoritmos para determinar se dois ou mais registrosAlgoritmos para determinar se dois ou mais registrossão representações da mesma entidadeNormalmente precisa-se comparar cada registro comNormalmente precisa se comparar cada registro com todos os outros (produto cartesiano)Alternativa: Método da Vizinhança OrdenadaAlternativa: Método da Vizinhança Ordenada⌧Ordenação de uma Chave construída a partir dos atributos⌧Registros duplicados ficarão próximos entre si⌧Compara-se os registros no interior de uma janela
deslizante de tamanho fixo
Limpeza em Bases de Dados
Abordagens GenéricasSistematizam a limpeza de dados, adaptando-se a diferentes domínios e a uma variedade de tipos de atributosDiferentes graus de automaçãog çFerramentas comerciais/acadêmicas disponíveis (Ex: AJAX, Arktos, IntelliClean,disponíveis (Ex: AJAX, Arktos, IntelliClean, Potter’s Wheel, FraQL)
Limpeza em Bases de Dados
Considerações PráticasDetecção x CorreçãoAutomática x ManualAutomação⌧Intrínseca⌧Intrínseca ⌧Por Extensão
Limpeza em Bases de Dados
Considerações Práticasá íDetecção Automática Intrínseca (DAI)
Detecção Automática por Extensão (DAE)ç p ( )Correção Manual (CM)Correção Automática Intrínseca (CAI)Correção Automática Intrínseca (CAI)Correção Automática por Extensão (CAE)
Limpeza em Bases de Dados
Casos TípicosValor faltante (pa1): DAI CM CAI CAEValor faltante (pa1): DAI, CM, CAI, CAEValor ilegal (pa2): DAI, DAE, CM, CAEValor incorreto (pa3): nenhumValor incorreto (pa3): nenhumErro ortográfico (pa4): DAI, DAE, CAI, CAEInformação em excesso (pa5): DAI DAE CAI CAEInformação em excesso (pa5): DAI, DAE, CAI, CAEValor indefinido ou desconhecido (pa6): DAI, DAE, CAI, CAEUso de sinônimos (pa7): DAI DAE CAI CAEUso de sinônimos (pa7): DAI, DAE, CAI, CAERepresentação sem Padronização (pa8): DAI, DAE, CAI, CAE
Limpeza em Bases de Dados
Casos TípicosViolação da dependência entre atributos (pr1): DAE CAEViolação da dependência entre atributos (pr1): DAE, CAEInversão de valores entre atributos (pr2): nenhumR i t i l t i ( 3) hRegistro incompleto ou vazio (pr3): nenhum
V l ã ú i ( t1) DAI CMValor não único (pt1): DAI, CMRedundância (pt2): DAI, DAE, CAI, CAE
ê ( 3) C CInconsistência (pt3): DAI, DAE, CAI, CAE
Limpeza em Bases de Dados
Casos TípicosReferência inexistente (pm1): DAI CMReferência inexistente (pm1): DAI, CMReferência incorreta (pm2): nenhumR d dâ i ( 3) DAI DAE CAI CAERedundância (pm3): DAI, DAE, CAI, CAEInconsistência (pm4): DAI, DAE, CAI, CAER t ã P d i ã ( 5) DAI DAE CAI CAERepresentação sem Padronização (pm5): DAI, DAE, CAI, CAEUnidades sem Padronização (pm6): nenhumU d i ô i ( 7) DAE CAEUso de sinônimos (pm7): DAE, CAE
Limpeza em Dados Numéricos
Dados faltantes (pn1): DAI, CAI, CAEéTécnicas de Correção:⌧Ignorar o registro⌧Preencher o valor manualmente⌧Usar uma constante global⌧Usar o valor médio do atributo na base⌧Usar o valor médio entre as instâncias mais próximas⌧Usar o valor médio do atributo na classe⌧Usar o valor mais provável
Limpeza em Dados Numéricos
Dados ilegais (pn2): DAI, DAE, CM, CAIáDetecção Automática: comparação direta com a
faixa válidaTécnicas de Correção:⌧Ignorar o registrog g⌧Corrigir o valor manualmente⌧Usar o limite superior/inferior da faixa válidap⌧Usar uma constante global⌧Usar o valor médio entre os instantes mais próximosp
Limpeza em Dados Numéricos
Outliers (pn3):O que é um Outlier?? Diferentes definições:O que é um Outlier?? Diferentes definições:⌧"An observation with an abnormally large residual"
[Anscombe(1960) pág. 125] ⌧“... is one that appears to deviate markedly from other members of⌧ ... is one that appears to deviate markedly from other members of
the sample in which it occurs." [Grubbs(1969) pág. 1] ⌧"Observations that, in the opinion of the investigator, stand apart
from the bulk of the data." [Beckman e Cook(1983) pág.120] ⌧“Observations that do not follow the pattern of the majority of the
data." [Rousseuw e Zomeren(1990) pág. 633] ⌧“Observation which being atypical and/or erroneous deviates
d d dl f h l b h f l d hdecidedly from the general behaviour of experimental data with respect to the criteria which is to be analysed on it." [Muñoz-Garcia et al.(1990) pág. 217]
⌧“An obervation which appears to be inconsistent with the remainder⌧ An obervation which appears to be inconsistent with the remainder of that set of data." [Barnett e Lewis(1994) pág. 7]
Limpeza em Dados Numéricos
Outliers (pn3):Outras denominações: "wild", "straggler", "sport“, "maverick“, "discordant", "anomalous“, "aberrant", "rogue value", "contaminant", "surprising values", "dirty data"
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de Detecçãoé áTécnicas Gráficas⌧Scatter Plots⌧Box Plots
Técnica Analítica⌧Teste de Grubb
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de DetecçãoScatter Plots
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de DetecçãoBox Plots: indicam localização e variaçãoBox Plots: indicam localização e variaçãoEx: 30, 171, 184, 201, 212, 250, 265, 270, 272, 289, 305, 306 322 322 336 346 351 370 390 404 409 411306, 322, 322, 336, 346, 351, 370, 390, 404, 409, 411, 436, 437, 439, 441, 444, 448, 451, 453, 470, 480, 482, 487, 494, 495, 499, 503, 514, 521, 522, 527, 548, 550, , , , , , , , , , , ,559, 560, 570, 572, 574, 578, 585, 592, 592, 607, 616, 618, 621, 629, 637, 638, 640, 656, 668, 707, 709, 719, 3 39 2 8 66 92 92 9 802 8 8 830737, 739, 752, 758, 766, 792, 792, 794, 802, 818, 830,
832, 843, 858, 860, 869, 918, 925, 953, 991, 1000, 1005, 1068 14411068, 1441
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de DetecçãoBox Plots: indicam localização e variaçãoBox Plots: indicam localização e variação⌧Média: 576,08⌧Mediana: 559 50⌧Mediana: 559,50⌧Mínimo: 30, Máximo: 1441⌧Percentil 25% (Q1): 436⌧Percentil 75% (Q2): 739⌧Interquartil (IQ): 739 – 436 = 303⌧L1 Q1 1 5 IQ 18 5⌧L1 = Q1 – 1,5 x IQ = -18,5⌧L2 = Q1 – 3,0 x IQ = -473⌧U1 = Q2 + 1 5 x IQ = 1193 50⌧U1 Q2 + 1,5 x IQ 1193,50⌧U2 = Q2 + 3,0 x IQ = 1648,00
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de DetecçãoBox Plots: indicam localização e variaçãoBox Plots: indicam localização e variaçãoEx: 30, 171, 184, 201, 212, 250, 265, 270, 272, 289, 305, 306 322 322 336 346 351 370 390 404 409 411306, 322, 322, 336, 346, 351, 370, 390, 404, 409, 411, 436, 437, 439, 441, 444, 448, 451, 453, 470, 480, 482, 487, 494, 495, 499, 503, 514, 521, 522, 527, 548, 550, , , , , , , , , , , ,559, 560, 570, 572, 574, 578, 585, 592, 592, 607, 616, 618, 621, 629, 637, 638, 640, 656, 668, 707, 709, 719, 3 39 2 8 66 92 92 9 802 8 8 830737, 739, 752, 758, 766, 792, 792, 794, 802, 818, 830,
832, 843, 858, 860, 869, 918, 925, 953, 991, 1000, 1005, 1068 14411068, 1441
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de DetecçãoBox Plots: indicam localização e variaçãoBox Plots: indicam localização e variação⌧Média: 576,08⌧Mediana: 559 50⌧Mediana: 559,50⌧Mínimo: 30, Máximo: 1441⌧Percentil 25% (Q1): 436Valor < L1 ou Valor > U1: Outlier leve⌧Percentil 75% (Q2): 739⌧Interquartil (IQ): 739 – 436 = 303⌧L1 Q1 1 5 IQ 18 5
Valor < L1 ou Valor > U1: Outlier leveValor < L2 ou Valor > U2: Outlier extremo
⌧L1 = Q1 – 1,5 x IQ = -18,5⌧L2 = Q1 – 3,0 x IQ = -473⌧U1 = Q2 + 1 5 x IQ = 1193 50⌧U1 Q2 + 1,5 x IQ 1193,50⌧U2 = Q2 + 3,0 x IQ = 1648,00
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de DetecçãoBox Plots: indicam localização e variaçãoBox Plots: indicam localização e variação⌧Média: 576,08⌧Mediana: 559 50⌧Mediana: 559,50⌧Mínimo: 30, Máximo: 1441⌧Percentil 25% (Q1): 436Valor < L1 ou Valor > U1: Outlier leve⌧Percentil 75% (Q2): 739⌧Interquartil (IQ): 739 – 436 = 303⌧L1 Q1 1 5 IQ 18 5
Valor < L1 ou Valor > U1: Outlier leveValor < L2 ou Valor > U2: Outlier extremo
⌧L1 = Q1 – 1,5 x IQ = -18,5⌧L2 = Q1 – 3,0 x IQ = -473⌧U1 = Q2 + 1 5 x IQ = 1193 50
1441 > L1: Outlier leve⌧U1 Q2 + 1,5 x IQ 1193,50⌧U2 = Q2 + 3,0 x IQ = 1648,00
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de DetecçãoBox Plots: indicam localização e variaçãoBox Plots: indicam localização e variaçãoEx: 30, 171, 184, 201, 212, 250, 265, 270, 272, 289, 305, 306 322 322 336 346 351 370 390 404 409 411306, 322, 322, 336, 346, 351, 370, 390, 404, 409, 411, 436, 437, 439, 441, 444, 448, 451, 453, 470, 480, 482, 487, 494, 495, 499, 503, 514, 521, 522, 527, 548, 550, , , , , , , , , , , ,559, 560, 570, 572, 574, 578, 585, 592, 592, 607, 616, 618, 621, 629, 637, 638, 640, 656, 668, 707, 709, 719, 3 39 2 8 66 92 92 9 802 8 8 830737, 739, 752, 758, 766, 792, 792, 794, 802, 818, 830,
832, 843, 858, 860, 869, 918, 925, 953, 991, 1000, 1005, 1068 14411068, 1441
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de DetecçãoBox Plots: indicam localização e variação⌧Média: 576,08⌧Outlier: 1441⌧Novo Máximo: 1068⌧Percentil 75%: 739⌧Mediana: 559,50⌧Percentil 25%: 436⌧Mínimo: 30
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de DetecçãoBox Plots: indicam localização e variação⌧Média: 576,08⌧Outlier: 1441⌧Novo Máximo: 1068⌧Percentil 75%: 739⌧Mediana: 559,50⌧Percentil 25%: 436⌧Mínimo: 30
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de Detecçãoú éBox Plots: múltiplas séries
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de Detecçãoú éBox Plots: múltiplas séries
Mediana Quartis (25%, 75%)
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de Detecçãoú éBox Plots: múltiplas séries
Mediana Valores extremos (max/min)
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de Detecçãoú éBox Plots: múltiplas séries
outliers
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de DetecçãoTeste de Grubb⌧Assume que os dados têm distribuição normal⌧Detecta um outlier de cada vez⌧Não deve ser usado para amostragens com menos de 6
valores⌧É um Teste de Hipótese
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de DetecçãoTeste de Grubb⌧H0: Não há outliers⌧H1: Há pelo menos um outlier⌧Estatística de teste (bi-caudal):
xxG i −
=max
⌧xi: valor máximo ou mínimo
σ
i
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de DetecçãoTeste de Grubb⌧H0: Não há outliers⌧H1: Há pelo menos um outlier⌧Estatísticas de teste (mono-caudais):
minxxG −=
xxG −= max
σ σ
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de Detecçãoí íTeste de Grubb: Valor crítico bi-caudal (nível de
significância α – ex: 5%)
( ) ( )2
2,2/1 −−> NNtNG α
( )2
2,2/2 −+−>
NNtNNG
α
( )2,2/ −NNt α : Valor crítico da distribuição de Student (t) com (N-2)/2 graus de liberdade e significância α/2N( ) g g
Limpeza em Dados Numéricos
Outliers (pn3): Técnicas de Detecçãoí íTeste de Grubb: Valor crítico mono-caudal (nível
de significância α – ex: 5%)
( ) ( )2
2,/1 −−> NNtNG α
( )2
2,/2 −+−>
NNtNNG
α
( )2,/ −NNt α : Valor crítico da distribuição de Student (t) com (N-2)/2 graus de liberdade e significância α/N( ) g g
Limpeza em Dados Numéricos
Outliers (pn3):éTécnicas de Correção:⌧Ignorar o registro⌧Corrigir o valor manualmente⌧Usar uma constante global⌧Usar o valor médio do atributo na base⌧Usar o valor médio entre os instantes mais próximos⌧Usar o valor médio do atributo na classe⌧Usar o valor mais provável
Limpeza em Dados Numéricos
Dados incorretos: Ruído (pn4):Filtragem Digital⌧Filtros de Média Móvel⌧Filtro de Wiener⌧Filtro de Kalman
Fora do escopo deste curso!Fora do escopo deste curso!
Referências
Artigo “Limpeza de Dados - Uma Visão Geral”, Paulo Jorge Oliveira, Fátima Rodrigues, Pedro Rangel Henriques (http://wiki di uminho pt/wiki/pub/Doutoramentos/SDDI2004/ArtigoOliveira(http://wiki.di.uminho.pt/wiki/pub/Doutoramentos/SDDI2004/ArtigoOliveira.pdf)
Livro “Data Mining: Practical Machine Learning Tools and Techniques –second edition”, Ian H. Witten & Eibe Frank, Elsevier
Website http://www.ipv.pt/millenium/arq12.htm
Website http://www itl nist gov/div898/handbook/prc/section1/prc16 htmWebsite http://www.itl.nist.gov/div898/handbook/prc/section1/prc16.htm