• Nenhum resultado encontrado

Complementação dos Dados no Contexto do Processo de ETL

N/A
N/A
Protected

Academic year: 2022

Share "Complementação dos Dados no Contexto do Processo de ETL"

Copied!
6
0
0

Texto

(1)

Complementação dos Dados no Contexto do Processo de ETL 

Lívia de Souza Ribeiro  Maria Cláudia Cavalcanti  Ronaldo Ribeiro Goldschmidt

Mestrado em Sistemas e Computação 

Departamento de Engenharia de Sistemas do Instituto Militar de Engenharia  liviaribeiro14@gmail.com, yoko@ime.eb.br, ronaldo_goldschmidt@yahoo.com.br 

Ano de Inclusão: Fev/2008  Época esperada de conclusão: Mar/2010 

Etapa: Seminário em andamento 

Resumo: Os  dados  contidos  em  um  Data  Warehouse  (DW)  típico  são  provenientes  de  diversas fontes. É necessário que os valores contidos no DW apresentem boa qualidade para  que numa futura análise dos mesmos  seja apresentado resultado coerente. Entretanto, dados  de  algumas  fontes  podem  não  estar  disponíveis  em  determinadas  datas/períodos.  Assim,  é  comum  ocorrer  ausência  de  valores  na  tabela  de  fatos  do  DW.  No  processo  de  carga  deste  ambiente,  conhecido  como  ETL  (“Extration,  Tranformation,  Load�),  a  etapa  de  Transformação tem como objetivo principal melhorar a qualidade dos dados, amenizando os  problemas  existentes  na  base.  Assim  sendo,  esta  etapa  também  trata  dos  dados  ausentes  no  ambiente de DW. Uma das abordagens utilizadas na resolução do problema da ausência dos  valores nas tabelas é a técnica de imputação de dados. Esta técnica consiste no preenchimento  das  ausências  em  uma  tabela  com  novos  valores.  Entre  as  técnicas  de  imputação,  a  mais  utilizada é a observação dos valores presentes na tabela para a geração de um novo valor. No  entanto, esta técnica não leva em  consideração o enriquecimento da tabela. No contexto do  processo ETL os dados das dimensões podem ser utilizados para enriquecimento da tabela de  fatos. A proposta deste trabalho, portanto, é o desenvolvimento de uma estratégia para tratar  do problema de ausência de valores na tabela de fatos de um DW, durante o processo de ETL,  considerando  o  enriquecimento  da  mesma,  no  sentido  de  obter  melhores  resultados  de  imputação. 

Palavras­chave: Imputação de dados, Data Warehouse, proveniência de dados, processo de  ETL.

  

(2)

1. Introdução 

A necessidade de ferramentas para análises dos dados de uma organização e o crescente poder  de  processamento  dos  computadores  impulsionaram  a  geração  de  sistemas  para  armazenar  dados oriundos de diversas fontes de forma consolidada, que são conhecidos como sistemas  de Data Warehouse (DW). Os DW têm como principal objetivo dar suporte às ferramentas de  Sistemas de Apoio a Decisões (SAD), as quais auxiliam decisões gerenciais [Kimball, 1998]. 

Assim,  os  DW  visam  à  integração  de  dados  de  diversas  fontes  e  possibilitam  um  acesso  consolidado ao grande volume de dados resultante. 

Por abrangerem grandes volumes de dados, os DW requerem investimento volumoso de  tempo  e  recursos.  Além  disso,  como  seus  dados  são  a  base  para  decisões  estratégicas  para  uma organização, é um requisito importante que sejam dados de qualidade. Assim, se existem  inconsistências,  são  necessárias  transformações  nos  dados,  tornando­os  consistentes  e  coerentes. Caso contrário, os dados analisados poderão levar a decisões erradas. 

O processo de Extração, Transformação e Carga (Extration, Transformation, Load – ETL)  tem como função a extração dos dados de diversas fontes, transformação dos dados conforme  as regras do negócio e a carga dos mesmos dados em um DW [Kimball e Caserta, 2004]. Na  etapa de extração, os dados são capturados das múltiplas fontes, sendo necessárias diferentes  ferramentas,  adaptadas  para  cada  fonte.  Ferramentas  de  extração  devem  ser  periodicamente  ativadas  para  capturar  dados  ao  longo  do  dia  a  dia  de  um  sistema  fonte.  Informações  de  origem e do momento em que um dado surge no contexto de um sistema fonte (e.g. o total de  vendas  da  loja  A  na  data  26/05/2009)  são  indicadoras  da  proveniência  daquele  dado.  A  proveniência  em  base  de  dados  é  uma  abordagem  que  permite  descrever  as  informações  históricas dos dados [Buneman, Khanna  e Tan, 2001]. Assim, tipicamente, os dados de um  DW já vêm acompanhados de sua proveniência. 

A  transformação  é  a  etapa  que  trata  da  limpeza  e  integração  dos  dados.  A  limpeza  de  dados compreende é responsável por procurar as inconsistências e os erros que podem ocorrer  durante a extração das bases de dados dos sistemas fonte ou na fusão das diversas bases no  DW.  Esta  etapa  também  detecta  e  corrige  a  ausência  de  valores  nos  atributos  ­  também  chamados de variáveis ou colunas ­ oriundos das diversas fontes [Rahm e Do, 2005]. 

Em  um  esquema  estrela  [Kimbal,  1998]  típico  de  DW,  a  tabela  de  fatos  contém  informações  sobre  alguma  ação  que  as  dimensões  realizaram  em  conjunto  [Wu  e  Barbará,  2002].  Isto  é,  uma  combinação  de  identificadores  de  dimensão  determina  um  valor  de  uma  medida  na  tabela  de  fatos.  No  entanto,  algumas  combinações  podem  não  constar  nos  fatos. 

Para  exemplificar,  considere  a  tabela  de  fatos  de  vendas,  a  qual  envolve  as  dimensões  produto, fabricante, tempo. Uma tupla na tabela de fatos representa a venda do produto p, do  fabricante f  realizada  em  um  dia t,  que  corresponde  a  um  valor q,  indicando  a  quantidade  vendida. O fato da tupla <p,f,t,q> não constar na tabela de fatos não  significa que a  venda  daquele produto/fabricante naquele dia não tenha sido realizada. Pode ser que esta informação  não  tenha  sido  capturada  por  alguma  falha  na  comunicação  com  o  sistema  fonte.  Para  disponibilizar dados de qualidade para o usuário do DW, este problema necessita ser tratado.  

Com intuito de amenizar os prejuízos que o problema da ausência de dados traz, existem  diversas abordagens para a complementação destes valores [Wu e Barbará, 2002] [Farhangfar  et al, 2007][Soares, 2007]. A imputação de dados é a principal técnica de complementação, a  qual consiste em substituir o valor ausente com um novo dado gerado a partir da análise da  base  nos  registros  onde  há  ausência  de  valor.  No  entanto,  entre  as  abordagens  citadas,  não  foram encontradas técnicas de complementação que consideram o enriquecimento das tabelas  com dados de proveniência como forma de atingir melhores resultados. No caso do DW, isso  se  torna  possível,  pois  as  tabelas  de  fatos  podem  ser  enriquecidas  a  partir  dos  dados  das  tabelas dimensão. Além disso, no contexto do que se chama atualmente de DW 2.0 [Inmon, 

(3)

2009], onde há uma tendência de integração maior entre os metadados e o modelo  de dados,  pode­se enriquecer ainda mais a tabela de fatos. 

Este  artigo  descreve  o  desenvolvimento  de  uma  estratégia  de  imputação  nas  tuplas  da  tabela  de  fatos  em  que  os  atributos  de  medida  (variáveis)  apresentam  valores  ausentes. 

Atributos  de  proveniência,  encontrados  nas  dimensões,  serão  utilizados  para  enriquecer  a  tabela de fatos, possibilitando, desta forma,  melhores  valores de imputação. Neste trabalho,  considera­se que as dimensões não apresentam ausência de dados, estando, portanto, focado  somente  na  imputação  de  uma  medida  da  tabela  de  fatos.  A  seção  2  do  artigo  mostra  uma  visão  geral  dos  conceitos  básicos  sobre  complementação  de  dados  e  na  3  é  apresentada  a  estratégia desenvolvida para tratar o problema da ausência com atributos de enriquecimento. 

Nas seções 4, 5 e 6 são relatados o estado atual do trabalho, os trabalhos relacionados e os  resultados já obtidos, respectivamente. Na última seção, as referências utilizadas no estudo.. 

2. Fundamentação Teórica 

Em  qualquer  levantamento  de  dados  há  possibilidade  de  erros  de  ausência  de  valores  de  diversas origens, tais como: erros em dados capturados automaticamente, ou dados negados  de entrevistados em pesquisas, falhas humanas, erros de sistemas, entre outros [Wu e Barbará,  2002] [Farhangfar et al, 2007][Soares, 2007].  

Algumas  pesquisas  desenvolvidas  para  o  tratamento  da  ausência  dos  dados  levam  em  consideração  somente  valores  ausentes  em  um  atributo  contido  na  base,  isto  é,  problema  univariado.  Já  outras  pesquisas  são  desenvolvidas  para  as  bases  que  apresentam  problemas  não somente em um atributo, como também em vários atributos contidos na base de dados,  conhecidos como ausência multivariada de dados [Castaneda et al, 2008]. 

Várias  técnicas  que  tratam  o  problema  da  ausência  dos  dados  foram  desenvolvidas  e  aplicadas em áreas onde há a necessidade de descoberta de conhecimento contido nas bases  dos sistemas. Entre as abordagens disponíveis como solução, se encontram: a eliminação dos  registros ou atributos que apresentam dados ausentes, complementação de dados ou soluções  híbridas.  Complementação  é  todo  tipo  de  abordagem  usada  para  solucionar  o  problema  de  dados ausentes [Soares, 2007]. 

Uma das abordagens de complementação é a imputação de dados. O método de imputação  consiste em oferecer novos valores para todos os valores ausentes de uma base, com intuito de  preenchê­la completamente. Para cada valor ausente numa base de dados, um novo é inserido,  sendo  esse  valor  consequência  de  algum  algoritmo  usado  na  imputação.  Existem  diversos  algoritmos utilizados para imputar dados [Soares, 2007] [Farhangfar et al, 2007].  

Diversos trabalhos, como [Farhangfar et al, 2007][Soares, 2007][Castaneda et al, 2008],  utilizam  o  algoritmo  k­NN  (k-Nearest  Neighbour  ou,  em  português,  k­Vizinhos  mais  Próximos),  uma  abordagem  de  imputação  baseada  em  instâncias  [Goldschmidt  e  Passos,  2005].  A  ideia  principal  do  algoritmo  k­NN  é,  ao  receber  um  registro  com  informação  ausente,  recuperar  os k  registros  mais  similares  sem  informação  ausente  e  que  estejam  disponíveis  na  base  de  dados,  a  fim  de  completar,  a  partir  dos  dados  destes  registros,  as  lacunas  de  informação.  A  similaridade  entre  registros  é  expressa  por  alguma  medida  de  distância entre registros, sendo a distância euclidiana uma opção bastante utilizada. O valor  ausente  a  ser imputado deverá ser calculado com base nos  valores presentes nos k  vizinhos  mais próximos encontrados. A média aritmética entre os valores presentes é um dos métodos  mais empregados no cálculo do novo valor. 

3. Caracterização da Contribuição 

Como  dito  anteriormente,  uma  vez  que  os  DW  são  utilizados  para  a  tomada  de  decisão,  é  preciso que sejam tratados os problemas de ausência na tabela de fatos. Segundo Hong et al 

(4)

[2008],  há  duas  importantes  questões  decorrentes  da  ausência  de  dados:  o  resultado  da  mineração  de  dados  seria  confuso  e  pouco  confiável,  e  a  falta  do  valor  aumenta  significativamente a incerteza dos dados no DW.  

Este  trabalho,  portanto,  tem  como  objetivo  prover  um  mecanismo  para  imputação  de  valores ausentes que leve em consideração a proveniência dos dados em um ambiente de DW. 

Neste ambiente, os dados de proveniência que estão nas dimensões do DW podem ser usados  para enriquecer a tabela de fatos na busca por um maior grau de semelhança entre os dados,  resultando  numa  imputação  com  melhores  resultados.  Para  tanto,  foi  desenvolvida  uma  estratégia de imputação a ser incorporada nos processos ETL.  

Figura 3.1 As quatro etapas da estratégia de imputação de dados utilizando atributos de proveniência  A figura 3.1 mostra a visão resumida da estratégia de imputação, a qual será incorporada  na  etapa  de  transformação  dos  dados  do  processo  de  ETL.  A  primeira  etapa  tem  como  objetivo  definir  quais  atributos  de  proveniência  serão  utilizados  para  o  enriquecimento  da  tabela  de  fatos.  Esses  atributos  de  proveniência,  que  podem  ser  vistos  como  metadados,  indicam  a  origem  dos  dados  e  o  momento  em  que  eles  foram  gerados.  Os  usuários  serão  responsáveis por selecionar os atributos das dimensões que melhor representam proveniência  e, desses atributos, o conjunto de combinações será definido. O conjunto será criado por uma  heurística de combinação onde todas as dimensões devem ser representadas por, pelo menos,  um atributo. 

A  segunda  etapa  da  estratégia  é  responsável  por  separar  as  tuplas  completas,  isto  é,  aquelas  que  não  apresentam  ausência  no  atributo  a  ser  complementado,  das  tuplas  que  apresentam  ausência  no  referido  atributo.  A  partir  das  tuplas  completas,  a  base  de  treino  é  criada, onde valores ausentes são aleatoriamente introduzidos.  

A etapa seguinte realiza uma série de testes com o  conjunto de atributos selecionado na  primeira etapa. Para cada combinação de atributos, aplica­se o processo de imputação na base  de treino e são armazenados os resultados para uma análise posterior que definirá qual melhor  combinação  a  ser  utilizada  na  base  real.  Neste  passo,  o  método  de  imputação  usado  na  estratégia é  o  k­NN,  por  ser  um  método  que  apresenta  bons  resultados  em  trabalhos  de  imputação  de  dados  [Farhangfar  et  al,  2007][Soares,  2007].    Ao  final  do  processamento  imputação de cada combinação de atributos, calcula­se a taxa de erro dos valores imputados,  observando cada tupla com valor ausente e comparando com o valor original da base, usando  a  métrica  RAD  (Relative  Absolute  Derivation)[Soares,  2007].  A  métrica  é  calculada  da  seguinte forma: 

onde    é  o  valor  original  na  base  completa  do  atributo  X  da  tupla i,   é  valor  imputado  nesta tupla i e n é o total de tuplas ausentes no atributo X. 

A quarta etapa consiste em, a partir deste conjunto de testes e das taxas de erro obtidas,  determinar qual combinação de atributos apresenta melhores resultados de imputação. Assim,  a combinação que apresente a menor taxa de erro deve ser a escolhida para realizar a efetiva  imputação dos dados na base real, isto é, a base inicial que apresenta o problema de ausência. 

O algoritmo k­NN e a combinação de atributos escolhida serão aplicados na base real para a  imputação dos dados ausentes. 

(5)

4. Estado Atual do Trabalho 

O trabalho se encontra em fase de desenvolvimento da aplicação que executará a estratégia de  imputação,  utilizando  atributos  de  proveniência.  A  aplicação  está  sendo  desenvolvida  na  linguagem de programação Java, utilizando o sistema gerenciador de banco de dados MySQL.  

Especificações de testes iniciais já foram realizadas. Uma base de dados sintéticos para os  testes  também  está  sendo  preparada.  O  mecanismo  para  simular  ausência  de  valores  está  pronto para ser aplicado na estratégia. 

5. Trabalhos Relacionados 

Há na literatura um número razoável de trabalhos que veem a importância da qualidade dos  dados  de  um  DW.  No  entanto,  não  foram  encontrados  muitos  trabalhos  sobre  complementação de dados em DW.   

Wu e Barbará [2002] tratam do problema de ausência em DW. A abordagem consiste na  utilização de dois modelos para o processo de imputação. Primeiro a regressão linear, onde  são verificadas as medidas ausentes e a melhor combinação de atributos, e após é realizada a  efetiva  imputação,  com  o  modelo  loglinear.  O  trabalho  trata  do  problema  da  ausência  com  abordagens estatísticas. Nos resultados descritos naquele artigo, a abordagem proposta obteve  um  melhor resultado  comparando  com  uma  abordagem  estatística  comum,  a  imputação  por  média.  A  abordagem  de  imputação  foi  adicionada  ao framework  chamado Quasi-Cube,  utilizado para análise dos dados. Entretanto, os autores não abordam o problema no contexto  do processo de ETL, mas na etapa de análise dos dados. Além disso, também não consideram  o enriquecimento da tabela de fatos, aplicando a técnica de imputação com a tabela de fatos  tradicional, isto é, contendo somente as chaves estrangeiras que identificam os registros das  dimensões.  

6. Avaliação dos Resultados 

A  aplicação  da  estratégia  para  realizar  um  conjunto  de  experimentos  para  comprovar  que  atributos  de  proveniência  melhoram  os  resultados  na  tarefa  de  imputação  ainda  está  em  desenvolvimento. Para tal tarefa, foi pesquisada uma base para realização dos testes. O TPC  (Transaction  Processig  Performance  Council)  [TPCH,  2009]  é  uma  organização  que  disponibiliza  benchmarks  de  banco  de  dados,  usados  na  avaliação  de  sistemas.  Dentre  os  benchmarks disponíveis, existe o TPC­H, o qual define uma aplicação de data warehouse e  visa o armazenamento de dados históricos relativos a pedidos e vendas de uma organização. 

Esse benchmark foi escolhido porque sua estrutura apresenta um ambiente típico de DW.  

Houve,  no  entanto,  necessidade  de  mudança  no  esquema  do  TPCH,  para  um  esquema  estrela  típico.  Uma  dimensão,  a  qual  indica  o  tempo,  foi  acrescentada  ao  esquema.  Essas  mudanças  foram  realizadas  com  o  uso  do  PDI  (Pentaho  Data  Integrator)  [Pentaho,  2009],  também conhecido como Kettle, uma ferramenta que tem como objetivo realizar o processo  de  ETL  em  sistemas  de  DW.  A  ferramenta  faz  parte  do  Pentaho,  projeto  o  qual  agrega  subprojetos na comunidade de código aberto para a análise de dados. 

A  partir  da  aplicação  da  estratégia,  alguns  testes  iniciais  serão  realizados.  Parâmetros  desses testes já foram definidos. No primeiro momento, os testes serão realizados em bases  com tamanho de 1GB e 5GB e porcentagem de  ausência  de 10%, 30% e 50% de tuplas na  medida  em  que  deve  ser  imputada.  Essas  porcentagens  são  utilizadas,  pois  bases  reais  apresentam, em geral, estas mesmas porcentagens de ausência [Soares, 2007]. O mecanismo  de  geração  de  valores  ausentes  na  base  para  os  testes  foi  realizado  pelo  aplicativo  Eraser  [Cataneda, 2008], o qual atribui, de forma aleatória, ausência em campos de um atributo.  

(6)

Como,  até  o  momento,  não  foram  encontradas  estratégias  semelhantes  à  proposta  para  uma  comparação,  a  avaliação  levará  em  conta  o  diferencial  obtido  com  a  estratégia  deste  trabalho, se comparado à imputação sem enriquecimento. A métrica com valores ausentes na  tabela de fatos será imputada de três formas (observando os parâmetros de tamanho da base e  de  total  de  ausência):  (i)  somente  com  atributos  da  tabela  de  fatos,  isto  é,  as  chaves  das  dimensões;  (ii)  somente  com  atributos  de  enriquecimento  oriundos  das  dimensões,  sem  considerar os atributos da tabela de fatos; e (iii) considerar tanto atributos da tabela de fatos,  quanto  os  atributos  de  enriquecimento.  Com  base  nas  taxas  de  erro  obtidas  será  possível  observar que (i) obtém resultados inferiores a (ii), confirmando que a tabela com enriquecida  traz melhores resultados. O teste (iii) verificará se a junção dos atributos próprios da tabela de  fatos e de enriquecimento resulta numa resposta melhor no processo de imputação. 

7. Referências 

Buneman,  P.;  Khanna,  S.;  Tan,  W.  Why  And  Where:  A  Characterization  of  Data  Provenance. In: Intern. Conference on Database Theory. London, V. 1973, p. 316­330, 2001.  

Batista,  G.  E.  A.  P.  A.;  Monard,  M.  C. An  Analysis  of  Four  Missing  Data  Treatment  Methods  for  Supervised  Learning. Applied  Artificial  Intelligence,  V.  17,  N.  5­6,  p.  519­

533, 2003. 

Inmon, B. DW 2.0 � Architecture for the Next Generation of Data Warehouse. Disponível  em:  <http://www.information­management.com/issues/20060401/1051111­1.html>  Acesso  em: Mai/2009. 

Castaneda,  R.;  Ferlin,  C.;  Goldschmidt,  R.;  Soares,  J.  A.;  Carvalho,  L.  A.  V.;  Choren,  R. 

Aprimorando  Processo  de  Imputação  Multivariada  de  Dados  com  Workflows.  XXIII  Simpósio Brasileiro de Banco de Dados – SBBD, Campinas­SP, 2008. 

Castaneda,  R. Um  Ambiente  de  Imputação  Sequencial  Para  Cenários  Multivariados. 

2008. 79 f. Dissertação (Mestrado) – Instituto Militar de Engenharia, Rio De Janeiro, 2008. 

Farhangfar, A.; Kurgan, L.;  Pedrycz, W. A Novel Framework for Imputation of Missing  Values in Databases. IEEE Trans. Syst., Man, and Cybernetics, V. 37(5), p. 692–709, 2007. 

Goldschmidt, R.; Passos, E. Data Mining: Um Guia Prático. Rio de Janeiro: Elsevier, 2005. 

261 p. 

Kimball, R. The Data Warehouse Toolkit. São Paulo: Makron Books, 1998. 387 p. 

Kimball,  R.;  Caserta,  J. The  Data  Warehouse  ETL  Toolkit  :  Practical  Techniques  for  Extracting, Cleaning, Conforming, and Delivering Data. Indianapolis: Wiley Publishing,  2004. 526 p. 

Pentaho. Pentaho Data Integration. Pentaho. Diponível em: <www.pentaho.com>. Acesso  em: Fev/2009. 

Rahm, E.; Do, H. H. Data Cleaning: Problems and Current Approaches. In: IEEE Bulletin  Of The Technical Committee On Data Engineering, v. 23, no. 4, 2000. 

Soares, J. A. Pré­Processamento em Mineração de Dados: Um Estudo Comparativo em  Complementação. 2007. 232 f. Tese (Doutorado) – Universidade Federal Do Rio De Janeiro,  Coordenação dos Programas de Pós­Graduação de Engenharia, Rio De Janeiro, 2007. 

TPCH.  TPC  Benchmark  H  �  Standard  Specification  Revision  2.8.0.  Disponível  em:  < 

http://www.tpc.org/tpch/spec/tpch2.8.0.pdf> Acesso em: Fev/2009. 

Wu,  X;  Barbará,  D. Modeling  and  Imputation  of  Large  Incomplete  Multidimensional  Datasets. In: Proc. of the 4th Int. Conf. on Data Warehousing and Knowledge Discovery, p. 

286 – 295, 2002. 

Referências

Documentos relacionados

Como o período de ventos mais intensos está relacionado aos eventos de estiagem, é no segundo semestre que a dinâmica morfológica interfere diretamente na dinâmica de uso e

PROCEDIMENTO REALIZADO EM CENTRO CIRÚRGICO, MOTIVADO POR FRATURAS COMPLEXAS, TRAUMAS RAQUI- MEDULARES INSTÁVEIS, COMPLEXOS DISCO-OSTEOFITÁRIOS EXUBERANTES E CAUSADORES DE DISFUNÇÕES

a) projetar e construir uma bancada experimental para o estudo de combustíveis líquidos pré-misturados com ar. b) identificar na literatura os mecanismos de cinética química

Para a execução dos serviços em áreas internas e externas, foram alocados profissional faxineiro e encarregado de faxineiros. Para a limpeza e conservação dos vidros externos, foram

Os empregadores se obrigam ao pagamento de um adicional por tempo de serviço prestado pelo empregado ao mesmo empregador, igual a 5% (cinco por cento), por biênio trabalhado,

a) A remuneração dos empregados com salário fixo será paga em dobro; para os comissionistas puros o cálculo dessa remuneração corresponderá ao pagamento do valor de mais 01

A empresa, observando o artigo precedente n° 74 do Tribunal Superior do Trabalho, descontará de todos os seus empregados, por ocasião do pagamento dos salários, o equivalente a

Aos empregados afastados do serviço por motivo de doença ou acidente do trabalho, as Empresas concederão, por um período de 180 (cento e oitenta) dias, a