LÍVIA DE SOUZA RIBEIRO UTILIZANDO PROVENIÊNCIA PARA ...

110
MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA INSTITUTO MILITAR DE ENGENHARIA CURSO DE MESTRADO EM SISTEMAS E COMPUTAÇÃO LÍVIA DE SOUZA RIBEIRO UTILIZANDO PROVENIÊNCIA PARA COMPLEMENTAÇÃO DE DADOS NO CONTEXTO DO PROCESSO DE ETL Rio de Janeiro 2010

Transcript of LÍVIA DE SOUZA RIBEIRO UTILIZANDO PROVENIÊNCIA PARA ...

MINISTÉRIO DA DEFESA

EXÉRCITO BRASILEIRO

DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA

INSTITUTO MILITAR DE ENGENHARIA

CURSO DE MESTRADO EM SISTEMAS E COMPUTAÇÃO

LÍVIA DE SOUZA RIBEIRO

UTILIZANDO PROVENIÊNCIA PARA COMPLEMENTAÇÃO DE

DADOS NO CONTEXTO DO PROCESSO DE ETL

Rio de Janeiro 2010

Livros Grátis

http://www.livrosgratis.com.br

Milhares de livros grátis para download.

INSTITUTO MILITAR DE ENGENHARIA

LÍVIA DE SOUZA RIBEIRO

UTILIZANDO PROVENIÊNCIA PARA A COMPLEMENTAÇÃO DE DADOS NO CONTEXTO DO

PROCESSO DE ETL

Dissertação de Mestrado apresentada ao Curso de Mes-trado em Sistemas e Computação do Instituto Militar de Engenharia, como requisito parcial para a obtenção do tí-tulo de Mestre em Ciências em Sistemas e Computação. Orientadora: Profª. Maria Claudia Cavalcanti – D.Sc. Coorientador: Prof. Ronaldo R. Goldschmidt – D.Sc.

Rio de Janeiro 2010

2

c2010

INSTITUTO MILITAR DE ENGENHARIA

Praça General Tibúrcio, 80 – Praia Vermelha

Rio de Janeiro - RJ CEP: 22290-270

Este exemplar é de propriedade do Instituto Militar de Engenharia, que poderá incluí-lo

em base de dados, armazenar em computador, microfilmar ou adotar qualquer forma de ar-

quivamento.

É permitida a menção, reprodução parcial ou integral e a transmissão entre bibliotecas

deste trabalho, sem modificação de seu texto, em qualquer meio que esteja ou venha a ser

fixado, para pesquisa acadêmica, comentários e citações, desde que sem finalidade comercial

e que seja feita a referência bibliográfica completa.

Os conceitos expressos neste trabalho são de responsabilidade do autor e dos orientado-

res.

R484 Ribeiro, Lívia de Souza.

Utilizando Proveniência para Complementação de Dados no Contexto do Processo de ETL / Lívia de Souza Ribeiro. - Rio de Janeiro : Instituto Militar de Engenharia, 2010.

106 p.: il.

Dissertação (mestrado) - Instituto Militar de Engenharia – Rio de Janeiro, 2010.

1. Data Warehouse 2. Complementação de Dados. 3. Proveniência de Dados. I. Título. II. Instituto Militar de Enge-nharia.

CDD 005.7406

3

INSTITUTO MILITAR DE ENGENHARIA

LÍVIA DE SOUZA RIBEIRO

UTILIZANDO PROVENIÊNCIA PARA COMPLEMENTAÇÃO DE DADOS NO CONTEXTO DO PROCESSO DE ETL

Dissertação de Mestrado apresentada ao Curso de Mestrado em Sistemas e Computação do Instituto Militar de Engenharia, como requisito parcial para obtenção do título de Mestre em Sistemas e Computação. Orientadora: Profª. Maria Claudia Cavalcanti – D.Sc. Coorientador: Prof. Ronaldo Ribeiro Goldschmidt – D.Sc.

Aprovada em 08 de Julho de 2010 pela seguinte Banca Examinadora:

__________________________________________________________________

Profª. Maria Claudia Cavalcanti – D.Sc. do IME – Presidente

__________________________________________________________________

Prof. Ronaldo Ribeiro Goldschmidt – D.Sc. do IST-Rio/FAETEC

__________________________________________________________________

Profª. Maria Luiza Campos Machado – Ph.D. da UFRJ

__________________________________________________________________

Prof. Jorge de Abreu Soares – D.Sc. da UERJ

__________________________________________________________________

Prof. Ricardo Choren Noya – D.Sc. do IME

Rio de Janeiro

2010

4

AGRADECIMENTOS

A Deus, em primeiro lugar, por me dar forças para concluir mais esta etapa em minha

vida.

Aos meus familiares, por todo o apoio que recebi durante estes anos.

Aos meus orientadores, professora Maria Claudia Cavalcanti e professor Ronaldo Ribeiro

Goldschmidt, que me acompanharam nesta jornada me ensinando, apoiando, ajudando por

meio de críticas, compreendendo e, acima de tudo, pela confiança em mim depositada.

Aos professores e funcionários da Seção de Engenharia de Sistemas e Computação

(SE/8) do Instituto Militar de Engenharia.

Aos amigos da turma do IME que sempre se preocuparam comigo e me ajudaram nos

momentos em que precisei.

Aos professores e funcionários do IST-Rio que sempre estiveram disponíveis em me aju-

dar no que foi necessário.

Aos professores Maria Luiza Campos Machado, Jorge de Abreu Soares e Ricardo Choren

Noya que prontamente aceitaram o convite para participar da banca de avaliação deste traba-

lho.

A meus amigos Israel, Delma, Sarah e Amanda que compreenderam as minhas ausências

e me deram ânimo para seguir nesta jornada.

Por fim, à CAPES pelo apoio financeiro dado durante a pesquisa.

Lívia de Souza Ribeiro

5

SUMÁRIO

LISTA DE ILUSTRAÇÕES ...............................................................................................

7

LISTA DE TABELAS ........................................................................................................

9

LISTA DE ABREVIATURAS E SÍMBOLOS .................................................................. 10

1 INTRODUÇÃO ................................................................................................... 13

1.1 Posicionamento e Motivação ................................................................................ 13

1.2 Objetivos ............................................................................................................... 16

1.3 Contribuições Esperadas ....................................................................................... 16

1.4 Estrutura da Dissertação ........................................................................................ 17

2 EXTRAÇÃO DE DADOS EM AMBIENTES DE DATA WAREHOUSE .. 18

2.1 Processo de ETL .................................................................................................. 18

2.2 Proveniência de Dados ........................................................................................ 22

2.3 Ausência de Dados em Ambientes de Data Warehouse ..................................... 24

3 COMPLEMENTAÇÃO DE DADOS .............................................................. 27

3.1 Padrões de Ausência de Dados ............................................................................ 27

3.2 Mecanismos de Ausência de Dados .................................................................... 28

3.3 Uma Taxonomia de Complementação de Dados ................................................ 30

3.3.1 Métodos Convencionais ...................................................................................... 31

3.3.2 Imputação ............................................................................................................ 32

3.3.3 Modelagem de Dados .......................................................................................... 35

3.3.4 Métodos Híbridos ................................................................................................ 36

3.4 Abordagens para Imputação de Dados ................................................................ 37

3.4.1 Abordagens para Imputação em Problemas Univariados ................................... 38

3.4.2 Abordagens para Imputação em Problemas Multivariados ................................. 44

3.4.3 Tabela Comparativa ............................................................................................ 45

3.5 Abordagens de Imputação de Dados em Data Warehouses ................................ 46

3.6 Considerações Finais ........................................................................................... 48

4 ESTRATÉGIA PARA IMPUTAÇÃO DE DADOS NO PROCESSO ETL 50

4.1 Visão Geral da Estratégia .................................................................................... 51

4.1.1 Combinação dos Atributos .................................................................................. 54

6

4.1.2 Preparar Base de Treino ...................................................................................... 56

4.1.3 Calcular Taxa de Erro por cada Combinação de Atributos ................................. 57

4.1.4 Aplicação do Algoritmo na Base Real ................................................................ 59

4.2 Considerações Finais ........................................................................................... 60

5 IMPL EMENTAÇÃO DA ESTRATÉGIA COMPLETL .............................. 62

5.1 Plataforma de Implementação ............................................................................. 62

5.2 Módulos da Implementação ................................................................................ 65

5.2.1 Combinação dos Atributos .................................................................................. 65

5.2.2 Preparar a Base de Treino ................................................................................... 70

5.2.3 Calcular Taxa de Erro por cada Combinação de Atributos ................................. 71

5.2.4 Aplicação do Algoritmo na Base Real ................................................................ 72

5.3 Considerações Finais ........................................................................................... 73

6 TESTES E RESULTADOS .............................................................................. 75

6.1 Base de Testes ..................................................................................................... 76

6.2 Testes Iniciais ...................................................................................................... 79

6.2.1 Testes de Referência ............................................................................................ 81

6.2.2 Testes para Definição da Métrica para o Cálculo da Distância ........................... 82

6.2.3 Testes com Valores Normalizados ...................................................................... 84

6.2.4 Testes para Definição da Heurística .................................................................... 85

6.3 Testes Efetivos .................................................................................................... 89

6.3.1 Testes Efetivos na Base de 1MB ......................................................................... 89

6.3.2 Testes Efetivos na Base de 6MB ......................................................................... 91

6.4 Considerações Sobre os Resultados dos Testes .................................................. 93

7 CONSIDERAÇÕES FINAIS ........................................................................... 95

7.1 Contribuições e Resultados ................................................................................. 97

7.2 Melhorias e Trabalhos Futuros ............................................................................ 98

7.2.1 Melhorias na Proposta ......................................................................................... 98

7.2.2 Trabalhos Futuros ................................................................................................ 99

8 REFERÊNCIAS BIBLIOGRÁFICAS ............................................................ 101

9 APÊNDICES ...................................................................................................... 105

9.1 Exemplo de Arquivo XML de Configuração de Dimensão ................................ 106

7

LISTA DE ILUSTRAÇÕES

FIG.1.1 Exemplo fictício de um esquema estrela ....................................................... 14

FIG.2.1 Componentes de um Data Warehouse ........................................................... 19

FIG.2.2 Os quatro passos do processo de ETL no data staging area ......................... 20

FIG.2.3 Exemplo de uma tabela de fatos com valor ausente ...................................... 26

FIG.3.1 Exemplo de base de dados suja. “??” representa valores ausente ................. 27

FIG.3.2 Padrões de ausências a) Padrões univariados b) Padrões monotônicos c)

Padrões aleatórios .......................................................................................... 28

FIG.3.3 Taxonomia sobre Complementação de Dados .............................................. 30

FIG.3.4 Exemplo de tabela com valores ausentes em vários atributos ....................... 31

FIG.3.5 Esquema de Imputação Múltipla ................................................................... 36

FIG.3.6 Exemplo de tabela com ausência ................................................................... 40

FIG.3.7 Resultado do cálculo das distâncias utilizando a métrica Euclidiana ............ 41

FIG.3.8 Resultado do cálculo das distâncias utilizando a métrica Mixed Types ........ 42

FIG.3.9 Ideia geral da complementação no MICE ..................................................... 45

FIG.4.1 Etapas do processo de ETL não sequencial .............................................................. 51

FIG.4.2(a) Tabela de fatos Venda e suas dimensões ....................................................... 52

FIG.4.2(b) Tabela de fatos Venda enriquecida com atributos das dimensões ................ 52

FIG.4.3 As quatro etapas gerais da estratégia de imputação de dados utilizando

atributos de proveniência ............................................................................... 53

FIG.4.4 Primeira etapa da estratégia do processo de imputação – Definir

combinação de atributos ................................................................................ 55

FIG.4.5 Segunda etapa da estratégia do processo de imputação - Preparar Base de

Treino ............................................................................................................ 57

FIG.4.6 Terceira etapa da estratégia do processo de imputação – Calcular o

somatório dos novos valores por cada combinação de atributos ................... 58

FIG.4.7 Quarta etapa da estratégia do processo de imputação – Imputar a base real . 59

8

FIG.5.1 Esquema da ferramenta ComplETL com integração aos pacotes

provenientes de Castaneda ............................................................................ 63

FIG.5.2 Lista de atributos e de valores da classe Tupla .............................................. 64

FIG.5.3 Configurações iniciais na ferramenta ............................................................ 66

FIG.5.4 Seleção das combinações de atributos que serão utilizadas no processo ...... 66

FIG.5.5 Exemplo de seleção do atributo com ausência .............................................. 67

FIG.5.6 Exemplo de seleção de atributos de uma dimensão ...................................... 68

FIG.5.7 Exemplo de tela para seleção de atributos de dimensões, exibindo a

seletividade de cada atributo ......................................................................... 70

FIG.6.1 Esquema do TPC-H original ......................................................................... 76

FIG.6.2 Fluxo de transformações implementado usando a Ferramenta Kettle ........... 77

FIG.6.3 Adaptação realizada no esquema de dados do TPC-H .................................. 78

FIG.6.4 Comando de SQL para geração artificial de valores ausentes ..................... 80

FIG.6.5 Resultado das taxas de erro dos testes de imputação da tabela de fatos sem

enriquecimento .............................................................................................. 81

FIG.6.6 Taxas de erro utilizando a distância Euclidiana ............................................ 83

FIG.6.7 Taxas de erro utilizando a distância Mixed Types ......................................... 83

FIG.6.8 Taxas de erro de testes com atributos com valores normalizados e não

normalizados .................................................................................................. 85

FIG.6.9 Taxas de erro de testes da classificação de proveniência “Onde” ................. 86

FIG.6.10 Taxas de erro de testes da classificação de proveniência “Quem” ................ 86

FIG.6.11 Taxas de erro de testes da classificação de proveniência “Quando” ............. 87

FIG.6.12 Taxas de erro de testes com todos os atributos das classificações de

proveniência .................................................................................................. 87

FIG.6.13 Taxas de erro de testes com o cenário (i) ...................................................... 90

FIG.6.14 Taxas de erro de testes com o cenário (ii) ..................................................... 90

FIG.6.15 Taxas de erro de testes com o cenário (iii) .................................................... 91

FIG.6.16 Taxas de erro de testes com o cenário (i) ...................................................... 91

FIG.6.17 Taxas de erro de testes com o cenário (ii) ..................................................... 92

9

LISTA DE TABELAS

TAB.3.1 Tabela comparativa de abordagens de complementação ................................. 47

TAB.6.1 Cenários utilizados nos testes iniciais .............................................................. 80

TAB.6.2 Cenários utilizados nos testes efetivos ............................................................. 89

10

LISTA DE ABREVIATURAS E SÍMBOLOS

ABREVIATURAS DW - Data Warehouse

EM - Expectation-Maximization

ETL - Extraction, Transformation, and Load

IR - Ignorable Missing

JDBC - Java Database Connectivity

JSTL - JavaServer Page Standard Tag Library

k-NN - k Nearest Neighbour

MAR - Missing At Random

MCAR - Missing Completely At Random

MICE - Multivariate Imputation by Chained Equations

ML - Machine Learning

NMAR - Not Missing At Random

OWB - Oracle Warehouse Builder

SAD - Sistemas de Apoio à Decisão

SDV - Singular Value Decomposition

SGBD - Sistema de Gerenciamento de Banco de Dados

11

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 em uma 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, não é incomum ocorrer ausência de valores na tabela de fatos do DW. No processo de transferência de dados para o ambiente de DW é conhecido como ETL (“Extration, Tranformation, and Load”). A etapa de Transformação, que faz parte deste processo, tem como objetivo principal melhorar a qualidade dos dados, amenizando os problemas que podem ocorrer nas fontes de dados. Assim sendo, é esta etapa que se encarrega de tratar os 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 com outros atributos. No contexto do processo ETL os valores das dimensões podem ser utilizados para o enriquecimento da tabela de fatos, no sentido de obter melhores resultados na imputação de dados.

Este trabalho tem como proposta 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. A abordagem de imputação que utiliza o algoritmo k-NN foi utilizada na estratégia. A ferramenta ComplETL foi construída de acordo com a estratégia proposta e testes foram realizados para avaliá-la, mostrando resultados promissores.

12

ABSTRACT

Data contained in a typical Data Warehouse (DW) come from different data sources. It is necessary that the DW contain data of high quality in order to reach consistent results in future analyses. However, data from some sources may not be available on certain dates/periods. Thus, it is not unusual to have null values in a DW fact table. The process of transferring data into the DW environment is known as ETL (Extraction, Transformation, and Load). In this process, the main objective of the transformation step is to improve the data quality, decreasing the effects of problems that may occur at the data sources. Therefore, it is a responsibility of this step to deal with missing data in the DW environment.

The data imputation is one of the approaches used in solving the problem of null values in the tables. This approach consists in the fulfillment of missing data in a table with new values. Among the imputation techniques, the most used is the observation of table values to generate a new value. However, none of these techniques consider table enrichment with other attributes. In the context of the ETL process, dimension attributes can be used for enrichment of the fact table, in order to reach imputation better results.

This dissertation proposal is the development of a strategy to solve the missing data problem in a DW fact table during the ETL process, considering the enrichment of the fact table. The imputation approach that uses the k-NN algorithm was used in the strategy. A tool called ComplETL was built according to the proposed strategy and tests were conducted to assess it and showed promising results.

13

1 INTRODUÇÃO

1.1 POSICIONAMENTO E MOTIVAÇÃ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 (Inmon, 1997). Esses sistemas são conhecidos como data

warehouses (DW), ou armazéns de dados.

Segundo (Inmon, 1997), um DW pode ser definido como “um conjunto de banco de da-

dos integrados e baseados em assuntos, onde cada unidade de dados está relacionada a um

momento.” Pela definição exposta, pode-se perceber que um ambiente de DW não consiste

apenas de dados. Ele visa integração de diversas fontes e possibilita um acesso rápido a um

grande volume de dados consolidados com auxílio de um conjunto de ferramentas para con-

sultar, analisar e apresentar as informações disponíveis (Kimball, 1998). Dessa forma, o DW

pode ser utilizado na construção de Sistemas de Apoio à Decisão (SAD).

Em síntese, existe em um data warehouse uma base de dados especializada, o qual resulta

da integração e do gerenciamento do fluxo de informações oriundo dos bancos de dados cor-

porativos e, inclusive, de fontes de dados externas à organização. Por ter como objetivo prin-

cipal a análise dos dados, os valores contidos nas bases de um DW têm um foco diferente

daqueles inseridos nos bancos de dados orientados por transações. Esses últimos são os corpo-

rativos e estão focados nas operações de um negócio, enquanto os primeiros refletem o histó-

rico das operações e atendem às necessidades dos sistemas de apoio e suporte às decisões ge-

renciais.

É uma prática recomendada que a organização física da base de dados em um DW siga o

modelo dimensional (ou esquema estrela) (Kimball, 1998). O modelo consiste de uma tabela

dominante, a qual se encontra no centro do diagrama, chamada de tabela de fatos. Essa co-

necta as tabelas secundárias, chamadas de dimensões. Em um esquema estrela 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á, 2002b). Em outras palavras, uma combinação de identificadores de

dimensão determina um valor de um fato na tabela de fatos. Essa combinação está atrelada à

regra de organização do nível de informação que um fato deve apresentar. Por exemplo, um

fato x deve ser registrado por dia, ou por hora ou qualquer outro parâmet

regra.

FIG. 1.1

A figura 1.1 exibe um exemplo de uma modelagem de uma base de dados em um DW

que segue o esquema estrela. Esse modelo fictício r

de lojas. O ato da venda representa um fato armazenado na tabela de fatos Venda, enquanto os

dados que dizem qual produto foi vendido, quem realizou a compra, quem é o fornecedor do

produto vendido e o dia da ação

necedor e Tempo, respectivamente. Não há ligação direta entre dimensões, todas estão sendo

referenciadas diretamente à tabela de fatos.

Usualmente, os dados corporativos que irão compor as dimensões

tão armazenados de forma distribuída, em diversas fontes. D

dos podem variar, por exemplo, com relação ao formato, unidade de medida, entre outros.

Essa variedade pode gerar incoerências (não uniformi

como erros de digitação, ausência de dados, incoerência entre os metadados, entre outros.

Uma vez que ocorram incoerências, para permitir uma análise consistente sobre os dados

da base de um DW, são necessárias tran

uma etapa importante no processo de alimentação de um DW, uma vez que uma análise sobre

dados não uniformes pode levar a informações inconsistentes, as quais não refletem a verda

deira realidade de uma corporação e, consequentemente, podem levar a decisões erradas.

O processo de alimentação de um DW não é um processo simples. Além da etapa de

transformação inclui também as etapas de extração e carga, e é mais co

cesso ETL (Extration, Transfo

implementado como uma composição de ferramentas de software, a qual tem como função a

14

fato x deve ser registrado por dia, ou por hora ou qualquer outro parâmetro especificado pela

1: Exemplo fictício de um esquema estrela

A figura 1.1 exibe um exemplo de uma modelagem de uma base de dados em um DW

que segue o esquema estrela. Esse modelo fictício representa a venda de produtos de uma rede

de lojas. O ato da venda representa um fato armazenado na tabela de fatos Venda, enquanto os

dados que dizem qual produto foi vendido, quem realizou a compra, quem é o fornecedor do

produto vendido e o dia da ação podem ser capturados nas dimensões Produto, Cliente, For

necedor e Tempo, respectivamente. Não há ligação direta entre dimensões, todas estão sendo

referenciadas diretamente à tabela de fatos.

Usualmente, os dados corporativos que irão compor as dimensões e a tabela de fatos es

tão armazenados de forma distribuída, em diversas fontes. Devido a essa distribuição, os da

dos podem variar, por exemplo, com relação ao formato, unidade de medida, entre outros.

Essa variedade pode gerar incoerências (não uniformidade) nos valores extraídos das fontes,

como erros de digitação, ausência de dados, incoerência entre os metadados, entre outros.

Uma vez que ocorram incoerências, para permitir uma análise consistente sobre os dados

da base de um DW, são necessárias transformações. Essas transformações são consideradas

uma etapa importante no processo de alimentação de um DW, uma vez que uma análise sobre

dados não uniformes pode levar a informações inconsistentes, as quais não refletem a verda

oração e, consequentemente, podem levar a decisões erradas.

O processo de alimentação de um DW não é um processo simples. Além da etapa de

transformação inclui também as etapas de extração e carga, e é mais co

Extration, Transformation, and Load – ETL). Normalmente, o processo de ETL é

implementado como uma composição de ferramentas de software, a qual tem como função a

ro especificado pela

A figura 1.1 exibe um exemplo de uma modelagem de uma base de dados em um DW

epresenta a venda de produtos de uma rede

de lojas. O ato da venda representa um fato armazenado na tabela de fatos Venda, enquanto os

dados que dizem qual produto foi vendido, quem realizou a compra, quem é o fornecedor do

podem ser capturados nas dimensões Produto, Cliente, For-

necedor e Tempo, respectivamente. Não há ligação direta entre dimensões, todas estão sendo

e a tabela de fatos es-

evido a essa distribuição, os da-

dos podem variar, por exemplo, com relação ao formato, unidade de medida, entre outros.

dade) nos valores extraídos das fontes,

como erros de digitação, ausência de dados, incoerência entre os metadados, entre outros.

Uma vez que ocorram incoerências, para permitir uma análise consistente sobre os dados

sformações. Essas transformações são consideradas

uma etapa importante no processo de alimentação de um DW, uma vez que uma análise sobre

dados não uniformes pode levar a informações inconsistentes, as quais não refletem a verda-

oração e, consequentemente, podem levar a decisões erradas.

O processo de alimentação de um DW não é um processo simples. Além da etapa de

transformação inclui também as etapas de extração e carga, e é mais conhecido como pro-

mente, o processo de ETL é

implementado como uma composição de ferramentas de software, a qual tem como função a

15

extração dos dados de diversos sistemas, transformação dos dados conforme as regras do ne-

gócio, e de limpeza e uniformização dos dados, e a carga dos mesmos na base de dados do

ambiente de DW (Kimball e Caserta, 2004).

Na etapa de extração, os dados são capturados das múltiplas fontes, sendo necessárias di-

ferentes ferramentas adaptadas para cada fonte. Tais ferramentas devem ser periodicamente

ativadas para capturar de um sistema fonte os dados em um tempo determinado. Informações

de origem e do momento em que um dado surge no contexto de um sistema fonte (por exem-

plo, 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, como origem, momento de criação, processos de transformações,

entre outros (Buneman, Khanna e Tan, 2001). Assim, tipicamente, os fatos em um DW já vêm

acompanhados de sua proveniência, por conter o histórico dos fatos.

Já na etapa de transformação do processo ETL incluem-se transformações que visam lim-

par os dados, isto é, detectar e corrigir erros contidos neles. A limpeza trata de vários tipos de

erros, como valores ilegais, valores que não obedeçam às regras de integridade da base, erros

de ortografia, entre outros. Essa 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). Caso o problema não seja tratado, fatos importantes podem ser desconsiderados

por não existirem na base.

Com intuito de amenizar os prejuízos que o problema da ausência de dados traz, existem

diversas abordagens para a complementação desses valores (Farhangfar et al, 2007) (Soares,

2007) (Wu e Barbará, 2002a). 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 dos registros da base 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, 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.

Assim, a pergunta que esta dissertação tenta responder é se os dados de proveniência po-

deriam levar à obtenção de melhores resultados e consequentemente a uma melhora da quali-

dade dos dados de um DW.

16

No sentido de embasar os estudos para o desenvolvimento desta dissertação, fez-se um le-

vantamento sobre o ambiente de data warehouse, e em especial sobre o processo de extração,

transformação e carga dos dados. Além disso, são mostrados o estudo do problema da falta de

valores nas bases de dados, algumas abordagens de complementação de dados e conceitos

gerais sobre proveniência em base de dados.

São relatadas também diversas abordagens para a complementação dos dados ausentes.

Há diversas formas de resolver o problema da ausência, sendo que cada uma delas pode gerar

resultados possivelmente diferentes em mesmas bases. O ideal, conforme dito em (Castaneda

et al, 2008), é o analista poder experimentar diversas abordagens e escolher aquela que pro-

duza melhores resultados ao problema específico, aplicando-a em seu sistema.

1.2 OBJETIVOS

A presente dissertação tem como objetivo principal descrever o desenvolvimento de uma es-

tratégia de imputação nas tuplas da tabela de fatos em que os atributos de métricas (variáveis)

apresentam valores ausentes, ocorridos a partir da falta de combinação das dimensões que era

preciso existir. Atributos de proveniência, encontrados nas dimensões, serão utilizados para

enriquecer a tabela de fatos, possibilitando, desta forma, a obtenção de melhores valores de

imputação.

A estratégia possibilita que o usuário selecione os atributos das dimensões para enrique-

cimento da tabela de fatos. Após, é criada uma nova base de dados contendo a tabela de fatos

mais os atributos de enriquecimento, isto é, com todos os atributos das dimensões, e ausências

são simuladas na base para testes. São testadas imputações nas tuplas com ausência simulada,

considerando alguns tipos de combinações dos atributos selecionados e os da tabela de fatos,

para verificar qual combinação irá trazer menor taxa de erro. E, por fim, aplica-se a combina-

ção que tiver menor taxa de erro nas tuplas oriundas das fontes de dados.

Este trabalho não aborda o problema de ausência de dados nas dimensões, estando fo-

cado, portanto, somente na imputação de dados nas métricas da tabela de fatos.

1.3 CONTRIBUICOES ESPERADAS

Espera-se com este trabalho gerar as seguintes contribuições:

17

• Identificar se a utilização de dados de proveniência como base para complementação

de dados gera melhores resultados;

• Propor uma estratégia para complementação de dados em um ambiente de DW, o qual

pode apontar um caminho para o estudo concernente à imputação de dados;

• Implementar uma ferramenta que demonstre a viabilidade desta estratégia e sirva para

a avaliação da mesma.

1.4 ESTRUTURA DA DISSERTAÇÃO

A dissertação possui mais seis capítulos, além deste, conforme descrito abaixo.

O capítulo 2 mostra uma visão geral dos conceitos básicos sobre extração de dados em

um ambiente de Data Warehouse como também o de proveniência de dados.

O capítulo 3 descreve os principais conceitos sobre complementação de dados e resume

as abordagens mais usuais na literatura sobre o tema.

No capítulo 4 é apresentada a estratégia desenvolvida para tratar o problema da ausência

com atributos de enriquecimento, abrangendo os aspectos conceituais e funcionais de sua

formulação.

O desenvolvimento da ferramenta ComplETL baseada na estratégia de imputação de da-

dos é mostrado no capítulo 5.

Os testes iniciais para definição de alguns parâmetros da estratégia e os testes da ferra-

menta ComplETL configurada são mencionados no capítulo 6. Também é apresentado o ben-

chmark utilizado para os testes.

O capítulo 7 descreve as considerações finais e as principais contribuições

proporcionadas por este trabalho. Alternativas de trabalhos futuros também são exibidas nesse

capítulo.

18

2 EXTRAÇÃO DE DADOS EM AMBIENTES DE DATA WAREHOUSE

Este capítulo tem como objetivo contextualizar os problemas de ausência de dados em ambi-

entes de Data Warehouse. Inicialmente, a seção 2.1 apresenta o processo de extração, trans-

formação e carga dos dados, chamado de processo ETL, que ocorre nos sistemas de DW. A

seguir, a seção 2.2 apresenta o conceito de proveniência de dados e como esse está inserido no

contexto de DW. Por fim, na seção 2.3, discute-se o problema da ausência de dados, que

ocorre tipicamente durante o processo ETL.

2.1 PROCESSO DE ETL

Ambientes de DW possibilitam a análise de grandes volumes de dados coletados de diversas

fontes. Geralmente a base de dados do DW não armazena informações sobre os processos de

uma única atividade, mas cruza e consolida várias informações de processos distintos. Com a

implantação de um armazém de dados, é possível estruturar um repositório de dados que será

uma fonte de informações para a tomada de decisão.

Segundo (Kimball e Ross, 1998), os componentes que formam um DW completo são:

• Sistemas de Origem – são os sistemas considerados como fontes de dados, de onde

esses são extraídos para serem integrados na base de dados.

• Data Staging Area – essa é uma área de armazenamento intermediário. Atua de forma

abrangente, do acesso à base dos dados nos sistemas de origem até a área de

apresentação. Neste local, os dados são transformados e organizados de acordo com as

regras do negócio. Geralmente, nessa área, os dados apresentam uma granularidade

fina, isto é, maiores detalhes possíveis sobre eles.

• Área de Apresentação de Dados – ambiente onde os dados são organizados, gravados

e disponibilizados aos usuários. Nessa área, é possível que os usuários realizem

consultas, gerem relatórios e outras aplicações de análise.

19

• Ferramenta de Acesso aos Dados – através das ferramentas de acesso, os dados

consolidados se tornam acessíveis e visíveis aos usuários.

A figura 2.1 apresenta como os componentes estão relacionados. Em síntese, os dados são

capturados dos sistemas aplicativos de origem, são encaminhados para Data Staging Area

onde sofrem uma série de transformações e são carregados para a área de apresentação de

dados. Após este processo, as ferramentas de análise dos dados poderão ter acesso à base para

suas tarefas.

FIG. 2.1: Componentes de um Data Warehouse.

Fonte: Adaptado de (Kimball e Ross, 1998).

O processo de extrair os dados das fontes, transformá-los e enviá-los para a área de apre-

sentação tem grande importância no sistema de DW. É o chamado processo de ETL, um

acrônimo de Extract, Transformation, Load (Extração, Transformação e Carga). O ETL com-

preende um conjunto de softwares que são normalmente utilizados como instrumento para a

construção e integração de dados do ambiente do armazém de dados.

Um sistema de ETL, quando adequado, extrai os valores de distintos sistemas de origem e

cumpre as normas de qualidade e consistência, para que os dados possam ser utilizados em

conjunto (Kimball e Caserta, 2004). É possível assim uma apresentação de dados com quali-

dade, onde desenvolvedores possam construir aplicativos e usuários finais tomarem decisões.

Por abrangerem grandes volumes de dados, os ambientes de DW estão no contexto de proje-

20

tos de grande porte que requerem, em geral, significativo investimento de tempo e recursos. E

esse investimento está quase todo direcionado ao ETL, justamente pela busca dos dados com

qualidade. Segundo (Kimball e Caserta, 2004), embora o processo de ETL seja transparente

aos usuários finais, ele consome cerca de 70% dos recursos necessários para a implementação

e manutenção de um típico DW.

Com a evolução dos seus negócios, as empresas adquirem ou herdam vários sistemas que

as auxiliam a gerir seus negócios. Com grande frequência, esses sistemas são física e logica-

mente incompatíveis (Kimball e Caserta, 2004). O processo de ETL precisa efetivamente

integrá-los em suas diferenças de:

• Repositórios de dados, como os sistemas gerenciadores de bancos de dados (SGBD);

• Sistemas operacionais;

• Hardware;

• Protocolo de comunicação.

(Kimball e Caserta, 2004) descrevem quatro passos do processo de ETL, como mostrado

na figura 2.2. Em geral, os ambientes de DW estão de acordo com essas quatro etapas. É im-

portante salientar que os passos de limpeza e conciliação, mostrados na figura 2.2, fazem

parte da transformação dos dados, do processo de ETL. As subseções a seguir abordam as

quatro etapas.

FIG. 2.2: Os quatro passos do processo de ETL no data stagin área.

Fonte: Adaptado de (Kimball e Casserta, 2004)

21

No passo de extração, os dados brutos provenientes dos sistemas de origem são normal-

mente escritos direto para a base do DW. Esses dados se apresentam com pouca reestrutura-

ção e muitas vezes são representados de forma diferente, ou se sobrepõem ou se contradizem

entre múltiplas fontes. Isso ocorre porque as fontes são tipicamente desenvolvidas, implanta-

das e mantidas de forma independente para atender às necessidades específicas de suas apli-

cações. Consequentemente, os dados apresentam um grande grau de heterogeneidade, isto é,

várias maneiras de serem descritos em diferentes níveis, gerando conflitos computacionais,

sintáticos, estruturais e semânticos. As fontes de dados estruturados podem ser capturadas

geralmente em formato de arquivos de textos (flats) ou tabelas relacionais.

Após o passo de extração, os dados, que neste instante estão no data staging area, são

submetidos ao passo de limpeza, isto é, as transformações dos dados sujos para limpos. São

chamados de dados sujos aqueles que apresentam erros ortográficos, redundância em dife-

rentes representações ou outros valores inválidos. Em (Rahm e Do, 2005) é apresentado um

estudo mais detalhado sobre os casos de sujeira comuns em bases de dados que o passo de

limpeza precisa tratar.

Em resumo, a abordagem de limpeza tem como missão aumentar a qualidade dos dados.

Um tipo de sujeira encontrado nas bases é a ausência dos dados. Como dito anteriormente,

este trabalho tem como objetivo o tratamento dos valores ausentes dentro da tabela de fatos de

um DW. Na subseção 2.3 há maiores detalhes sobre o problema de valores ausentes em base

de dados de um DW e no capítulo 3 são apresentadas as soluções encontradas na literatura.

Integração de dados significa a criação de uma estrutura do esquema da base do banco de

dados, no qual concilia as dimensões e procura manter padronizados os fatos na tabela de fa-

tos, construída a partir da combinação das várias fontes de dados, possibilitando assim uma

visão mais coerente das informações.

O passo de entrega é responsável pela resposta do processo de ETL, onde os dados estão

prontos para serem multidimensionados ou agregados. É nesse passo que os dados são estru-

turados fisicamente em conjuntos com esquemas simétricos, conhecidos como modelos di-

mensionais. Esses esquemas reduzem significativamente o tempo das consultas e simplifica o

desenvolvimento de aplicativos (Kimball e Caserta, 2004).

Ao passar pelo processo de ETL, os dados estão prontos para serem acessados pela ca-

mada de apresentação. Todo o processo de extração, transformação e limpeza dos dados é

realizado para que eles sejam organizados e utilizados de forma útil ao ambiente.

22

Não é regra que o processo de ETL seja sequencial. Suas etapas podem ser executadas

em paralelo (Kimball e Caserta, 2004). Enquanto lotes de dados são buscados das fontes de

origem, a limpeza dos lotes já carregados pode ser realizada. Os dados também já podem ser

organizados no esquema proposto para o ambiente de DW. Sendo assim, combinações entre

as dimensões que devem existir na tabela de fatos já podem ser verificadas. E se houver pro-

blema em uma combinação, o tratamento do registro é realizado. Como também, caso os da-

dos sejam organizados no esquema da base do DW no final do processo, isto é, na entrega dos

dados, em paralelo pode ocorrer a limpeza da base, principalmente aquelas que dependem da

organização dos dados na estrutura.

No contexto que se chama atualmente de DW 2.0 (Inmon, 2006), é buscado, em ambien-

tes de armazéns de dados, uma integração maior entre os dados e seus metadados, além de

recuperar e analisar também dados não estruturados, como, por exemplo, e-mails, planilhas

eletrônicas, documentos diversos, entre outros. Logo, é preciso que o processo de ETL se

adapte a esta realidade.

Outro fator importante do DW 2.0 é o ciclo de vida do dado, o qual informa quando o

dado foi capturado até seu abandono com o passar do tempo. (Inmon, 2009) diz que DW são

mais efetivos quando separam os dados em diferentes setores de acordo com a idade do dado

e sua probabilidade de acesso. O autor divide esses setores de dados em current, near current,

older e archival. Essa atividade está também diretamente relacionada ao processo de ETL,

pois é ele que realiza as divisões necessárias.

2.2 PROVENIÊNCIA DE DADOS

Com a crescente quantidade de dados disponíveis ao público, torna-se cada vez mais difícil

saber a veracidade e a qualidade desses dados. Ao usar a Internet, por exemplo, muitos usuá-

rios se mostram desconfiados em relação às informações contidas na rede. Do mesmo modo,

no ambiente científico é necessário haver segurança nos dados que serão usados em experi-

mentos.

Informações precisas que atestem a data de criação do dado, por quem foi criado, para que

e os lugares pelos quais o dado passou até chegar ao usuário e suas prováveis mudanças são

de grande importância quando é preciso saber um histórico para validá-lo. Esse histórico é

chamado de proveniência de dados, a qual visa responder "como", "quando", "onde", "por-

23

que" os dados foram gerados e "quem" os gerou (Buneman, Khanna e Tan, 2001) (Buneman,

Khanna e Tan, 2000).

Proveniência de dados, também denominada procedência de dados, é a descrição das ori-

gens de uma porção de dados e o processo pelo qual ela foi obtida (Buneman, Khanna e Tan,

2001). As origens podem ser diversas, a entrada de um dado pode ter sido realizada por um

usuário, um aplicativo, resultado de consultas, entre outros. A proveniência também é conhe-

cida como pedigree ou linhagem dos dados. Ela pode ser representada como metadado, por

ser um dado que descreve outro dado (Zhaol et al, 2003).

Com informações de proveniência, torna-se possível ao usuário rastrear a origem de uma

falha sobre as bases de dados ou os programas que causam erros (Woodruff e Stonebraker,

1997). Isto é, caso exista um suporte à informação de proveniência dos dados numa aplicação,

é possível a investigação da origem dos erros ou os programas que geraram os conjuntos de

dados com problemas. Sem a proveniência, as correções dos problemas apresentariam um alto

grau de dificuldade ou até mesmo os erros seriam impossíveis de serem encontrados. Além

disso, a proveniência também é útil na proteção dos direitos de propriedade de um conjunto

de dados e pode ajudar na recuperação de um dado inicial, isto é, a primeira versão que não

sofreu nenhuma modificação de outras aplicações.

Para tanto, é necessário definir como a proveniência na base de dados será realizada. Se-

gundo (Tan, 2004), há duas abordagens para as técnicas de rastreamento da proveniência:

postergada e imediata. A abordagem postergada rastreia a proveniência somente quando for

solicitada. Como principal vantagem, o cálculo da proveniência só é realizado quando há re-

quisição do usuário. O problema da abordagem é o tempo de resposta da consulta, que de-

pende do algoritmo utilizado. Esse tempo é inversamente proporcional ao número de deriva-

ções que um dado sofreu. Já na abordagem imediata, o rastreio da proveniência é calculado no

momento da consulta em uma base de dados. Para tal, é necessário que haja o armazenamento

de proveniência conforme a transformação dos dados. A cada passo de derivação sofrido por

um dado da base, metadados ou anotações são armazenados em uma base de proveniência.

Essa abordagem tem como vantagem a visão da proveniência dos dados resultantes junta-

mente com a consulta. O tempo de processamento necessário para chegar até a proveniência é

apenas o tempo de realizar uma consulta na base de dados sobre o índice na base de proveni-

ência. A desvantagem é a necessidade de espaço para armazenar a proveniência, que pode ser

maior do que a própria base de dados. Outro prejuízo é que cada vez que a base de dados for

atualizada, necessariamente implica na atualização da base de proveniência.

24

Diversas áreas podem obter vantagens utilizando o potencial da proveniência de dados

(Simmham, Plale, Gannon, 2005) (Greenwood et al, 2003). Os sistemas de informação se be-

neficiam da proveniência possibilitando um histórico sobre os recursos disponíveis, criando,

assim, maior confiabilidade e segurança aos dados que são usados.

Em um ambiente típico de DW, algumas dimensões do armazém apresentam atributos que

trazem informações sobre o contexto dos dados, isto é, como, quando, onde e por quem o

dado foi gerado. Por exemplo, em um DW sobre venda, usualmente encontra-se atributos

como o dia da semana, ou a região de venda de um produto, ou mesmo a categoria dos

clientes que efetuaram a compra, entre outros. Os atributos que contém essas informações

podem ser considerados como atributos de proveniência. Porém, de acordo com as definições

dadas anteriormente, a proveniência de um dado pode ser interpretada como metadados

circunstanciais, que dizem respeito ao registro de um dado no sistema fonte. Por exemplo,

dados sobre a máquina que registrou a venda poderiam indicar a proveniência do fato. No

contexto deste trabalho, esses metadados não serão considerados, ou seja, serão considerados

como dados de proveniência somente os atributos que informam sobre o contexto dos dados

dos sistemas fontes, tipicamente presentes nas dimensões de um DW. De maneira geral, os

dados de proveniência poderiam ser úteis na melhoria da qualidade dos dados durante o

processo de limpeza (processo ETL), como por exemplo, para auxiliar no tratamento do

problema da ausência de dados, uma vez que é possível identificar maior similaridade entre as

tuplas de uma mesma proveniência.

Além disso, a proveniência do próprio processo de limpeza dos dados também pode ser

armazenada, isto é, ao identificar que certo dado foi “limpo” pelo processo, o usuário teria a

possibilidade de verificar quais alterações o dado sofreu, o porquê das alterações, em quais

etapas da limpeza ele passou e quando foram feitas as ações sobre ele, entre outras

informações.

2.3 AUSÊNCIA DE DADOS EM AMBIENTES DE DATA WAREHOUSE

Qualquer processo de captação de dados está sujeito a erros de várias origens, tais como: erros

em dados capturados automaticamente, ou dados negados de entrevistados em pesquisas, fa-

lhas humanas, erros de sistemas, entre outros (Rubin, 1976) (Batista e Monard, 2003b)

(Farhangfar et al, 2007).

25

Valores ausentes na base dificultam a análise dos dados, pois podem induzir a conclusões

não coerentes sobre negócio ao qual pertencem. Dados incompletos causam, em geral, más

interpretações nas análises. Pode-se considerar, portanto, que a ocorrência de ausência de da-

dos em uma base leva à redução da qualidade da informação nela contida.

Há na literatura muitas definições sobre o que é qualidade dos dados. No estudo de

(Amaral e Campos, 2004) é feito um levantamento sobre o tema e é dito, em termos gerais,

que o assunto qualidade dos dados é uma junção de diferentes critérios para expressar esse

conceito, no entanto ainda não há um consenso de qual conjunto de critérios pode melhor

expressar a qualidade. Por ser medida tanto qualitativamente quanto subjetivamente, os

critérios vão depender diretamente de um observador, como também do contexto no qual os

dados fazem parte. Apesar dessa dificuldade, as autoras utilizam uma definição de qualidade,

em que um dos critérios, a completeza, aborda o problema da ausência de dados. A

completeza indica o grau no qual os dados estão presentes, isto é, o quão completos estão os

dados.

Em DW podem ser verificados problemas de ausência de valores tanto nas métricas da

tabela de fatos como nas dimensões (Amaral e Campos, 2004) (Wu e Barbará, 2002b). Nas

dimensões, o padrão de ausência na tabela pode ser tanto geral, sem distinção entre dimensões

e seus atributos, quanto específico, que acontece somente em um atributo de determinada

dimensão. Já nas tabelas de fatos, a ausência pode estar ligada à não captura de um fato. Isto

é, uma combinação de valores das dimensões, que representa um fato no DW, não se encontra

presente. De acordo com (Wu e Barbará, 2002b) há duas causas principais para a ausência de

uma combinação de valores de dimensão: pelo fato de não ter havido ocorrência daquela

combinação, por exemplo, não houve vendas de um dado produto, em dada loja e data; ou por

ter ocorrido alguma falha. Assim, no caso de falha, a etapa de limpeza do processo ETL,

deveria identificar esses casos e incluir na tabela de fatos as tuplas ausentes, com valores

nulos associados aos atributos de métricas. Este trabalho está focado neste tipo de ausência da

tabela de fatos, e considera que as inclusões das combinações ausentes já teriam sido feitas.

Pode-se, portanto, classificar o padrão de ausência na tabela de fatos como específico do

tipo aleatório, uma vez que erros podem ocorrer por diversos motivos na captura de um fato.

Para exemplificar, considere um DW que tenha na sua base de dados uma tabela de fatos

de vendas, a qual envolve as dimensões produto, fabricante, tempo, como mostra a figura 2.3.

Supõe-se que exista uma regra de negócio que informe a necessidade de armazenar, por dia, a

venda de todos os produtos, mesmo que nenhum produto tenha sido vendido. Uma tupla na

26

tabela de fatos representa a venda do produto p3, do fabricante f3 realizada em um dia t3, e

corresponde a um valor q3 que indica a quantidade vendida. O fato da tupla <p3, f3, t3, q3>

não constar na tabela de fatos significa que a venda daquele produto/fabricante naquele dia

não foi capturada por alguma falha na comunicação com o sistema fonte. Precisa-se, portanto,

diminuir o impacto desse problema, se não houver meios de recuperar os valores reais do fato,

incluindo-o na tabela para que seja tratado. É importante esclarecer que o valor ausente (ou

nulo) é diferente do valor 0 (zero).

idProduto idFabricante idTempo quantidade p1 f1 t1 q1 p2 f2 t2 q2 p3 f3 t3 ?? ... ... ... ... Pn Fn tn Qn

FIG. 2.3: Exemplo de uma tabela de fatos com valor ausente

Uma vez que os ambientes de DW são utilizados para a tomada de decisão, é importante

que sejam tratados os problemas de ausência de valores tanto na tabela de fatos, quanto nas

dimensões. Segundo (Hong et al, 2008), há duas importantes questões decorrentes da ausência

de dados em bases de dados que são utilizadas para descoberta de conhecimento: o resultado

da mineração de dados seria confuso e pouco confiável, e a falta do valor aumenta significati-

vamente a incerteza dos dados na base do data warehouse. O problema de ausência pode ser

tratado no processo de ETL, precisamente na etapa de limpeza dos dados.

No tratamento de limpeza pode ser aplicada uma ou várias das técnicas existentes para o

tratamento do valor ausente. Essas abordagens têm o objetivo de diminuir a influência que

uma tupla com dado ausente pode trazer, com a remoção ou pela imputação de novos valores

no lugar das ausências. No próximo capítulo as abordagens são citadas, tanto para problemas

em base de dados transacionais quanto àquelas contidas em sistemas de DW.

27

3 COMPLEMENTAÇÃO DE DADOS

Em grandes bancos de dados é comum observar a ausência de valores em diversos atributos

(figura 3.1), como visto no Capítulo 2. Algumas pesquisas desenvolvidas para o tratamento da

ausência dos dados levam em consideração somente valores ausentes em um único atributo

contido na base, isto é, problemas univariados. Já outras pesquisas têm sido desenvolvidas

para bases que apresentam problemas de ausência em mais de um atributo (Castaneda et al,

2008). Esses problemas são conhecidos como ausência multivariada de dados.

Atributo 1 Atributo 2 Atributo 3 Atributo 4 Atributo 5

Dado Dado ?? Dado Dado

?? ?? Dado Dado Dado

Dado ?? ?? Dado ??

... ... ... ... ...

FIG. 3.1: Exemplo de base de dados suja. “??” representa valores ausentes.

Fonte: Adaptado de (Farhangfar et al, 2007)

Este capítulo apresenta as características do problema da ausência e as soluções existen-

tes, isto é, a complementação dos dados. Uma versão mais detalhada do problema da ausência

em DW e as soluções propostas são encontradas em (Ribeiro, 2010). A seção 3.1 apresenta os

padrões de ausência passíveis de ocorrência nas bases de dados. É importante identificar o

tipo de padrão, pois algumas soluções podem ser mais eficientes do que outras em um caso

específico. Na seção 3.2, são comentados os chamados mecanismos geradores de ausência.

Uma taxonomia sobre as técnicas de complementação é apresentada na seção 3.3. A seção 3.4

exibe as abordagens existentes que buscam resolver o problema da ausência e a 3.6 apresenta

as abordagens direcionadas ao problema em Data Warehouse e na última seção há as conside-

rações finais.

3.1 PADRÕES DE AUSÊNCIA DE DADOS

Em (Soares, 2007) são citados os dois padrões de ausência de dados encontrados na literatura:

os gerais ou aleatórios, e os específicos.

28

Os dados que têm a ausência seguindo o padrão geral ou aleatório são aqueles onde se

pode encontrar ausência em qualquer lugar da base. Já o padrão específico apresenta dois

tipos de ausência: os univariados e os monotônicos. No primeiro tipo, a ausência só se

encontra em um atributo. Já no monotônico, a partir de um conjunto de atributos é verificada

a ausência de dados em mais de um atributo, porém, de forma diferente do padrão aleatório,

preserva uma relação entre os pontos em que ocorrem as ausências. A figura 3.2 apresenta a

diferença entre os padrões de ausência.

FIG. 3.2: Padrões de ausência a) Padrões univariados b) Padrões monotônicos c) Padrões

aleatórios.

Fonte (Schafer e Graham, 2002) apud (Soares, 2007)

3.2 MECANISMOS DE AUSÊNCIA DE DADOS

Na maioria dos trabalhos que tratam do problema de dados ausentes é vista a preocupação

com o mecanismo que gerou ausência de valores na base, uma vez que, dependendo do tipo

de ausência verificada, métodos específicos de complementação podem ser utilizados. Nesse

contexto, entende-se mecanismo por processo que gerou a ausência na base, inclusive aquele

para o qual não tenha sido possível estabelecer o motivo da ausência. Como citado

anteriormente, diversos fatores podem gerar dados ausentes numa base. Esses fatores

constituem os mecanismos de ausência. Um leitor de códigos em barra com defeito, ou uma

ferramenta que não recolhe os dados corretamente, ou um erro de lógica de programação são,

entre outros, exemplos desses fatores. No entanto, cabe ressaltar que esses mecanismos de

ausência também podem ser induzidos de forma proposital, a fim viabilizar bases de testes

para avaliação de métodos de complementação de valores ausentes.

29

Na literatura, são encontradas três categorias de mecanismos de ausência de dados:

Missing Completely At Random (MCAR – completamente aleatório), o Missing At Random

(MAR – aleatório) e Not Missing At Random ou Ignorable Missing (NMAR ou IR – não

aleatório) (Magnani, 2004) (Schafer e Graham, 2002) (Rubin, 1976).

O mecanismo MCAR é considerado quando não é possível indicar um padrão de ausência

nos valores. Isto é, o valor ausente é devido ao acaso, não tendo relação com outros atributos,

e se desconhece a causa da ausência.

O MAR apresenta um padrão provável de ausência em um atributo ao comparar os

valores dos dados de um ou mais atributos, isto é, há um padrão condicional entre os outros

atributos observados e o atributo que apresenta dados em falta. Por exemplo, em uma tabela

referente à venda de livros de uma livraria, no atributo TipoPagamento verifica-se

ausência de dado. Ao analisar os outros atributos, percebe-se que no atributo ValorTotal ,

quando o valor é maior do que R$ 3.000,00, há uma grande incidência de valores ausentes no

atributo TipoPagamento . Mas essa não é uma regra geral, podendo outros valores menores

do que R$ 3.000,00 em ValorTotal apresentar ausência no atributo analisado.

No NMAR, por sua vez, os valores ausentes em um atributo são totalmente dependentes

dos valores do mesmo atributo ou de outros. Utilizando o mesmo exemplo da livraria,

supondo que sempre que houvesse ValorTotal maior do que R$ 3.000,00, o valor do

campo equivalente em TipoPagamento estivesse ausente. E que, além disso, para valores

menores ou iguais a R$ 3.000,00, o atributo TipoPagamento estivesse sempre preenchido.

Nessas circunstâncias, estaria caracterizada uma situação de ocorrência do mecanismo

NMAR.

Para descobrir a dependência entre os atributos em situações associadas ao mecanismo

NMAR, é preciso executar métodos de regressão com intuito de obter o padrão entre os

valores, o que, em geral, demanda um intenso custo computacional (Soares, 2007).

Como mostrado na seção 3.2, os padrões de ausência podem ser aleatórios ou específicos.

Pela definição, pode-se dizer que o mecanismo MCAR é aleatório e MAR e NMAR são

específicos. (Soares, 2007) relata em seu trabalho que dados gerados pelos mecanismos MAR

e NMAR são mais complexos de serem tratados, caso não se saiba as condições em que eles

foram formados. O autor conclui, a partir de considerações de outros autores, que uma boa

opção é assumir que os dados ausentes foram gerados pelo padrão MCAR, para os

experimentos realizados naquele trabalho.

30

3.3 UMA TAXONOMIA DE COMPLEMENTAÇÃO DE DADOS

Vários métodos que tratam o problema da ausência dos dados foram desenvolvidos e

aplicados em áreas onde é vista a necessidade de descoberta de conhecimento contido nas

bases de dados dos sistemas. Entre as abordagens disponíveis como solução, se encontram a

eliminação dos registros ou atributos que apresentem dados ausentes, imputação com valores

pré-determinados ou baseada em métodos estatísticos ou de mineração de dados, ou ainda

soluções híbridas.

No entanto, não há uma técnica que possa ser considerada a mais eficaz em todas as

situações, visto que os problemas apresentam características variadas. Deste modo, uma

simples eliminação de registros pode ser tão eficaz no tratamento das bases com poucos dados

ausentes como a aplicação de um método complexo de mineração de dados em outra base,

com atributos que contenham vários valores ausentes (Hruschka, 2003).

Em (Soares, 2007), essas técnicas são chamadas de técnicas de complementação de

dados. Complementação é todo tipo de abordagem usada para solucionar o problema de dados

ausentes. O autor exibe uma taxonomia sobre complementação de dados, que pode ser vista

na figura 3.3, mostrando as abordagens de complementação encontradas na literatura. Este

trabalho seguirá a taxonomia citada, entretanto, outros trabalhos exibem diversas

organizações sobre abordagens de complementação dos dados (Farhangfar et al, 2007)

(Schafer e Graham, 2002).

FIG. 3.3: Taxonomia sobre Complementação de Dados.

Fonte: (Soares, 2007)

Nas subseções seguintes são vistos os termos da taxonomia apresentada na figura 3.3. A

abordagem de complementação por Gerenciamento Direto dos Dados não terá uma subseção

por não ser parte do escopo deste trabalho, uma vez que nessa abordagem, os métodos de

31

complementação utilizam a base de dados, mesmo com valores ausentes, sem ignorar ou

remover a ausência. Para maiores detalhes consultar (Soares, 2007), que cita alguns

algoritmos de classificação baseados em árvores, os quais aplicam essa forma de

complementação.

3.3.1 MÉTODOS CONVENCIONAIS

Os métodos convencionais são aqueles que trabalham com a remoção de registros ou atributos

que apresentam dados ausentes. São os métodos mais simples de serem implantados. No en-

tanto, eles tornam passível a perda de muitas informações relevantes à análise (Farhangfar et

al, 2007). Os métodos mais conhecidos são: remoção completa, remoção por pares e remoção

de colunas com valores ausentes.

No caso da remoção completa dos dados, todos os registros que contêm um ou vários

valores ausentes são removidos da base (Magnani, 2004). Quando há poucos valores ausentes

em um conjunto de dados, a aplicação desse método se torna adequada. Porém, na presença

de grande quantidade de dados sem valores, a remoção dos registros pode distorcer as caracte-

rísticas da base. Esse método só pode ser utilizado em bases onde o tipo de ausência não se-

gue um padrão, é desconhecido.

Id atr1 atr2 atr3

1 234 65 ??

2 654 ?? 675

3 ?? 15 22

4 95 ?? 337

FIG. 3.4: Exemplo de tabela com valores ausentes em vários atributos

Na remoção por pares é utilizada uma tupla incompleta quando o atributo desejado dessa

tupla não tem valor ausente. Não há uma remoção da tupla na base, como na remoção com-

pleta, e sim é ignorada aquela que é ausente se estiver em um atributo utilizado por um sis-

tema. Por exemplo, considerar a tabela da figura 3.4, na qual contém três atributos – atr1 ,

atr2 e atr3 , sendo que há tuplas com dados ausentes em todas as colunas.

Há um sistema que utiliza a tabela da figura 3.4. Suponha que o sistema só irá utilizar em

suas atividades os valores do atributo atr1 . Pelo método remoção por pares, os registros com

valor ausente no atributo atr1 , no caso da figura exemplo, a tupla com id=3, serão ignorados

pelo sistema. As outras tuplas não serão ignoradas, mesmo que haja ausência nos atributos

32

atr2 e/ou atr3 . O método, no entanto, é bastante complexo, pois é necessário saber com

antecedência quando usar ou não cada registro (Soares, 2007).

O método de remoção de colunas com valores ausentes executa a retirada de atributos

que apresentem valor ausente em qualquer tupla da base de dados. A aplicação desse método

causa uma grande perda de dados e pode alterar a relação existente entre os atributos. Ele,

portanto, é pouco recomendado (Magnani, 2004).

3.3.2 IMPUTAÇÃO

Os métodos de imputação consistem em oferecer novos valores para todos os valores ausentes

de uma base, com intuito de preenchê-la completamente. Isto significa que para cada dado

ausente numa base de dados, um novo valor é inserido onde há a ausência, sendo esse valor

consequência de alguma técnica usada na imputação.

Segundo (Gelman, Levy e Abayomi, 2007), a imputação de dados pode não provocar

uma queda na qualidade dos dados de uma base. E isso pode ser examinado em um padrão de

razoabilidade que verifique se os valores observados e imputados são coerentes. A distribui-

ção dos dados completos como um todo pode ser comparada, verificando se a complementa-

ção fez sentido no contexto do negócio. Além do mais, as abordagens de imputações são tipi-

camente geradas usando modelos ajustados aos dados observados. Isto é, existe um modelo da

base que indica as dependências/regras entre as variáveis. O ajuste desses modelos pode ser

verificado por analistas.

Para (van Buuren et al, 2006), existem duas principais categorias para soluções de ausên-

cia em muitos atributos numa base de dados usadas com métodos de imputação: Joint-

Modelling e imputação iterativa. A primeira categoria usa modelos preditivos para estimar

todos os valores de uma única vez. A segunda consiste na divisão de um problema de ausên-

cia em muitos atributos em vários problemas univariados, onde cada problema é resolvido de

forma independente. Os autores consideram a imputação iterativa a melhor solução por apre-

sentar complexidade menor e, por tratar individualmente cada um dos atributos, as caracterís-

ticas individuais dos dados são preservadas.

Em (Soares, 2007) são divididos, de forma geral, os métodos de imputação em três tipos:

(i) global baseada somente no atributo com valor ausente, (ii) global baseada nos demais atri-

butos e (iii) local. Além disso, há na literatura abordagens de imputação de dados para cada

método descrito.

33

O método de imputação do tipo global baseada no atributo utiliza somente os valores que

estão no atributo que necessita ser imputado. Esse tipo de método não faz uso de nenhum

dado retirado dos outros atributos de base, utilizando, portanto, somente algoritmos que tra-

tam da ausência univariada. Um tipo de abordagem de imputação de dados que usa esse mé-

todo é a média (Schafer e Graham, 2002), mencionada na seção 3.4.1.

O método de imputação do tipo global baseado nos atributos não ausentes gera novo valor

pelo tipo de padrão que os valores dos outros atributos podem fornecer. Para esse método

existem diversos modelos regressivos que podem ser usados. Rough Sets (Nelwamondo e

Marwala, 2007) e Redes Neurais (Soares, 2007), mencionadas na seção 3.4.1, são exemplos

de abordagens que utilizam a imputação do tipo global baseado nos atributos não ausentes. É

necessário, portanto, o conhecimento do problema e das abordagens existentes, pois cada pro-

blema tem melhor solução com a aplicação de uma determinada abordagem. Ou seja, não

existe um modelo que possa ser considerado o melhor em todos os problemas (Soares, 2007).

Outra dificuldade encontrada com o uso desse tipo de método é que só ocorre a imputação de

valores em apenas um atributo.

O terceiro e último tipo de método de imputação descrito por (Soares, 2007) é o local.

Nesse tipo de método são definidos atributos classificadores para que seja feito um agrupa-

mento dos dados. Atributos classificadores são aqueles cujos valores enquadram cada caso ou

tupla de um conjunto de dados em uma categoria, definindo, portanto, agrupamentos de tu-

plas. Com esse agrupamento, o registro que apresentar valor ausente será imputado a partir

dos dados que fazem parte do mesmo agrupamento. Esse tipo de método também procura

reduzir o desvio que porventura algum registro possa apresentar. A maneira como o valor será

imputado não importa para o procedimento, mas é necessário que seja baseado nos registros

que apresentam similaridades. No entanto, o agrupamento dos registros é uma tarefa onerosa.

Assim como o método do tipo global baseado nos demais atributos, no método do tipo local, a

incerteza do valor imputado também existe, pelo mesmo motivo mostrado acima.

Outra forma de classificar os métodos de imputação é mostrada em (Farhangfar et al,

2007). Nesse artigo é dito que os tipos de imputação de dados podem ser divididos em três

categorias: data-driven; baseados em modelos; e baseados em Machine Learning (ML). As

abordagens do método do tipo data-driven utilizam somente os atributos com dados comple-

tos para imputar valores. Já as abordagens do método baseado em modelos utilizam técnicas

de geração de modelos de uma base de dados para calcular valores imputados, como os mo-

delos gerados pelo classificador Naïves Bayesian (Liu e Lei, 2006). As abordagens do método

34

baseado em ML geram um modelo de dados ligados à porção completa do atributo de classe,

atributo considerado como a base da classificação entre tuplas, que contém os rótulos utiliza-

dos às associações. Essas abordagens verificam a base de dados, procurando obter a função

que mapeie um conjunto de registros a partir do atributo de classe. Com a função se torna

possível obter o valor de um atributo de uma tupla com ausência pela semelhança entre as

tuplas completas que foram mapeadas.

As classificações de métodos de imputação mostradas em (Soares, 2007) e (Farhangfar et

al, 2007) guardam certa semelhança. O tipo de imputação Local e o tipo ML são análogos por

considerarem o agrupamento das tuplas por suas semelhanças. Já o tipo de imputação baseado

em modelo e tipo global baseado nos demais atributos também são similares, pois imputam os

dados a partir de outros dados. Adotamos no restante deste trabalho, a classificação encon-

trada em (Soares, 2007) por essa se mostrar mais abrangente.

Como dito anteriormente, há algumas abordagens de imputação de dados para os métodos

descritos acima. Por exemplo, o método de imputação Local tem algumas abordagens para

sua execução, como hot-deck e k-NN (Soares, 2007). Essas abordagens serão descritas na

subseção 3.4.1. Elas atingem tanto para a ausência de dados em um só atributo como para

casos de muitos atributos em que faltam valores.

Algumas abordagens de imputação utilizam algoritmos supervisionados e outras, algorit-

mos não supervisionados. Os algoritmos não supervisionados se baseiam na regularidade dos

dados (redundância ou similaridade) para construir o modelo de conhecimento. Os supervisi-

onados se caracterizam pela existência de um “professor” que compara a saída produzida pelo

algoritmo aplicado a uma tupla com a saída esperada, e se calcula o valor de erro entre elas.

Esse valor é utilizado para ajustar os parâmetros do modelo que está sendo construído

(Farhangfar et al, 2007).

Os algoritmos supervisionados são mais utilizados nas abordagens, uma vez que os não

supervisionados são mais simples por não considerar a dependência entre atributos. Há uma

subdivisão nos supervisionados: os algoritmos que são baseados em instâncias e outros basea-

dos em modelos preditivos. Os baseados em instâncias são aqueles que levam em considera-

ção os registros da base para alcançar seu objetivo. Já os modelos preditivos são, em geral,

algoritmos oriundos da área de Mineração de Dados. Os algoritmos preditivos também utili-

zam os outros registros da base. Eles analisam a base e estabelecem associações pela seme-

lhança entre as tuplas. Ao ser encontrada uma tupla com valor ausente, ela será comparada no

35

modelo e receberá um novo valor conforme a sua aproximação com as tuplas (Batista e

Monard, 2003b).

Para o método de imputação, é importante saber os tipos dos atributos (ou variáveis) con-

tidos nas bases, uma vez que nem todas as abordagens apresentam soluções para todos os ti-

pos de dados. Os tipos podem ser classificados em: categóricos, discretos e contínuos

(Goldschmidt e Passos, 2005). Os categóricos nomeiam ou atribuem rótulos a objetos, e

nesses rótulos não é possível realizar um ordenamento entre os valores. O tipo discreto é se-

melhante ao categórico, no entanto os rótulos possuem algum ordenamento. Os contínuos, por

sua vez, são variáveis quantitativas, onde seus valores possuem uma relação de ordem entre

eles. Geralmente, esse último tipo é representado por tipo de dado numérico.

A utilização de abordagens de imputação, com o uso de diversos algoritmos, pode ser

vista em (Farhangfar et al. 2007) (Soares, 2007) (van Buuren et al, 2006) (Farhangfar et al.

2004) (Rubin, 1976). No entanto, para utilizar essas e outras abordagens existentes é preciso

tomar cuidado com possíveis distorções que as soluções podem inserir. Cada caso deve ser

estudado para que seja aplicado o método de imputação de dados mais adequado ao problema,

senão a análise da base com os novos valores pode ser prejudicada (Hruschka, 2003) (Batista

e Monard, 2003a).

3.3.3 MODELAGEM DE DADOS

As modelagens de dados procuram representar um modelo genérico das características dos

dados, utilizando técnicas estatísticas e probabilísticas para tal. Em (Soares, 2007) são des-

critas duas principais técnicas para a obtenção de modelos: os algoritmos de verossimilhança

e os métodos bayesianos.

Os algoritmos de verossimilhança pretendem encontrar um modelo que represente o con-

junto de dados com os parâmetros de uma função de distribuição estatística. A partir dessa

função é realizada a regressão de um valor ausente da base. O método de verossimilhança

mais aplicado para complementar um dado utiliza o algoritmo EM – Expectation-

Maximization, que estima os parâmetros das funções de densidade das probabilidades dos

valores em uma amostra com ausência (Magnani, 2004). Permite obter estimações máximas

verossímeis dos parâmetros quando há dados incompletos com algumas estruturas determina-

das. Esse algoritmo é utilizado como solução para muitos problemas de dados ausentes. A

desvantagem é que possui um custo computacional alto (Hruschka, 2003).

36

Métodos bayesianos de complementação de dados são aqueles que se baseiam em uma

rede bayesiana. Essa rede é um grafo acíclico direcionado – árvore – nos quais os nós

(vértices) representam as variáveis do problema e os arcos (arestas) definem a intensidade de

relacionamento entre os nós, que é dada por uma tabela de probabilidades condicionais (Pearl,

1988) apud (Hruschka, 2003). Para imputar valores, as redes bayesianas são usadas para

inferir o valor que melhor substitui o dado ausente, isto é, uma tarefa de predição.

3.3.4 MÉTODOS HÍBRIDOS

São chamados híbridos os métodos que utilizam um ou mais métodos de imputação para a

complementação dos dados. (Soares, 2007) descreve em seu trabalho dois tipos: método de

imputação múltipla e de imputação composta, sendo o último a proposta do seu trabalho.

FIG. 3.5: Esquema de Imputação Múltipla.

Fonte: (Schafer e Graham, 2002) apud (Soares, 2007)

A imputação múltipla, muito utilizada por pesquisadores, procura reduzir o principal

problema visto nos tipos de imputação simples, isto é, que geram só um valor: a incerteza

implícita que apresenta o valor imputado. Para tal efeito, esse método produz n sugestões de

possíveis valores os quais poderiam ser imputados no campo de valor ausente, como

exemplifica o esquema da figura 3.5. A imputação múltipla combina, então, esses possíveis

valores, gerando para, cada tupla, o valor a ser imputado.

As vantagens do método de imputação múltipla são: o uso de vários métodos de

imputação, possibilidade da escolha de um valor que apresente menor incerteza, a

manutenção da consistência da base em diversas análises, por apresentar os conjuntos de

37

valores possíveis. A principal desvantagem do método é a necessidade do mecanismo de

ausência da base seja MAR (Soares, 2007).

No método de imputação composta proposta por (Soares, 2007) é realizada primeiro a

aplicação de outras tarefas de pré-processamento de dados antes de imputar um novo valor.

As tarefas precedentes são, em geral, o agrupamento dos dados e seleção das colunas.

Primeiro os dados são agrupados, e, em seguida, há a seleção dos atributos que oferecem

regras de associações, isto é, atributos antecedentes e consequentes, a partir da regressão. Para

cada problema é permitida a avaliação de estratégias de como a abordagem de imputação de

dados deve acontecer, os chamados planos de execução. As estratégias para avaliação

propostas em (Soares, 2007) são: 1) imputação; 2) seleção e imputação; 3) agrupamento e

imputação; 4) seleção, agrupamento e imputação; e 5) agrupamento, seleção e imputação.

3.4 ABORDAGENS PARA IMPUTAÇÃO DE DADOS

Nesta seção serão apresentadas abordagens de imputação para solucionar os problemas de

dados ausentes. No entanto, somente serão mostradas as abordagens para os casos onde não

são conhecidas as causas do problema, isto é, pelo padrão aleatório de ausência.

Para facilitar a compreensão e seguir a terminologia utilizada em outros trabalhos, a partir

deste ponto serão utilizados os termos univariado e multivariado para indicar a configuração

das ausências, isto é, se há ausência em só uma coluna da tabela ou em várias. Portanto, o

termo univariado nesta seção não é referência ao tipo de ausência que se conhece a causa.

Há na literatura muitas abordagens que tratam dos problemas univariados. No entanto,

com o crescente número de dados gerados nos sistemas, abordagens que só considerem e tra-

tem o problema de ausência em um atributo não são suficientes para atender às grandes bases

encontradas atualmente (Farhangfar et al, 2007) (Hruschka, 2003). Porém, essas abordagens

univariadas não foram descartadas, uma vez que elas podem ser usadas iterativamente sobre a

base.

Em grandes bases não só existem problemas de ausência univariados. Diversos atributos

de uma base de dados podem conter ausência de valores, isto é, o problema multivariado. Para

tal, existem as abordagens de imputação multivariada. Dentre essas abordagens, há as que

tratam do problema em vários atributos de uma vez, aumentando de forma significativa a

complexidade da imputação. Algumas, por outro lado, tratam o problema de ausência multi-

variada com a aplicação dos métodos voltados aos problemas univaridos de forma iterativa,

38

isto é, analisando cada caso isoladamente, em vários momentos. Nessa forma iterativa de tra-

tamento das ausências, diversos tipos de abordagens de imputação podem ser aplicados, pre-

servando as particularidades de cada atributo. A ordem de imputação dos atributos tratados

também pode influenciar no próprio processo de imputação de dados, quando existem depen-

dências entre eles. (Castaneda et al, 2008).

3.4.1 ABORDAGENS PARA IMPUTAÇÃO EM PROBLEMAS UNIVARIADOS

Uma abordagem de imputação para problemas univariados comumente mencionada na lite-

ratura e que utiliza pouco recurso operacional é a imputação pela média ou moda. Nessa

abordagem é realizada uma média, nos casos de atributos do tipo numérico, de todos os valo-

res presentes no atributo e o valor resultante é incluído nos campos ausentes (Farhangfar et al.

2007) (Schafer e Graham, 2002). Nos casos de atributos categóricos, o valor mais frequente

(moda) é usado no lugar da média. No entanto, os valores do atributo imputado podem ser

dependentes de valores de outros atributos. Como essa abordagem não utiliza esses outros

valores para imputar, há maiores chances de ocorrer incoerências na base. A média é calcu-

lada sobre os valores não ausentes do atributo, é, portanto, considerado um método global

baseado no atributo e, consequentemente, não supervisionado.

Há outra abordagem simples e não supervisionado chamada substituição. Essa requer va-

lores pré-definidos por um analista para substituir os ausentes. É aplicável especialmente à

área de pesquisa de dados (Farhangfar et al, 2007).

O procedimento hot-deck (Farhangfar et al, 2007) (Liu e Lei, 2006) é uma abordagem do

tipo local. O procedimento utiliza atributos da base, além do ausente, para o agrupamento dos

dados. Com esse agrupamento, o registro que apresentar valor ausente terá seu valor ausente

imputado, aplicando alguma forma de cálculo para a obtenção do novo valor, como a média,

levando em consideração os demais registros do grupo. Existe na literatura uma variação

dessa abordagem, chamado cold-deck. Assim como o hot-deck, no cold-deck também há o

agrupamento dos dados, e por isso também pode ser classificado como um método do tipo

local. Porém, a abordagem cold-deck exige base de dados adicionais, além dos dados do sis-

tema fonte, para realizar a complementação (Liu e Lei, 2006).

Uma abordagem muito presente na literatura sobre imputação de dados é o k-NN (k-

Nearest Neighbour ou, em português, k-Vizinhos mais Próximos). É um método de imputa-

ção do tipo local, por verificar o problema em cada tupla com ausência de um atributo e é ba-

39

seado em instâncias, uma vez que leva em consideração os registros contidos na base de da-

dos (Goldschmidt e Passos, 2005). A ideia principal do algoritmo k-NN é encontrar os k

vizinhos mais similares e completos, onde a similaridade é medida por uma fórmula que

calcula a distância entre os registros. Quanto menor a distância, mais similares são os regis-

tros. É similar ao método hot-deck, mas se restringe aos k vizinhos definidos.

Há diversas formas para se calcular a distância entre dois registros (Han e Kamber, 2001).

A fórmula mais utilizada na literatura para o cálculo da distância entre registros é a Euclidi-

ana:

���, �� = ��� − ��� + �� − ��� + … + �� − ���,

onde ���, �� o valor da distância, x é o conjunto de variáveis das tuplas de uma relação �, � =

(� , � , � ,..., �) e � = ( � , � , � ,..., �) são os registros que são comparados.

Outra maneira de calcular a similaridade é utilizando a métrica Mixed Types Distance

(Han e Kamber, 2001), uma medida que considera os vários tipos de atributos – nominal,

ordinal, binário, valores baseados em intervalo e valores de ordem logarítmica. A distância

���, �� é calculada como:

���, �� = ∑ � ����

�������∑ �

�������

onde � ��� = 0, se (1) � ou � estão ausentes, ou (2) se � = � = 0 e se for assimétrica

binária. Entende-se como variável assimétrica binária aquela que apresenta sempre um valor

como normal e o outro valor como anomalia, por exemplo, numa base de automóveis, é nor-

mal que todos tenham um pneu step e há problema se não houver. Em qualquer outro caso, o

� ��� = 1. O cálculo de �

��� vai depender do tipo da variável:

• Se baseada em intervalo:

� ��� = �� − ��

�� � − ��! �

40

onde �� � é o valor máximo da variável e ��! � o valor mínimo. A variável

não pode apresentar valor ausente.

• Se for categórico ou binário: � ��� = 0 se � = �; senão �

��� = 1.

• Caso seja um valor ordinal, o cálculo será:

"� = #� − 1$� − 1

onde $� é o total de valores que podem existir na variável, #� o ordinal do valor na

variável e "� é o valor que representa aquele registro. Ao ter o "�, achar a distância

como um intervalo.

• Se o valor for de ordem logarítmica, primeiro os valores são transformados, usando a

fórmula %� = log��� e após são tratados como valores baseados em intervalo.

Para imputar um dado que pertença a um atributo numérico usando o k-NN, a média

ponderada dos valores mais próximos é calculada e, então, é complementada como uma esti-

mativa do valor ausente. Em caso de atributos discretos, o valor presente no vizinho mais

próximo do registro é utilizado para imputação ou é utilizada a moda (Wong, Zhao e Chan,

2006) (Batista e Monard, 2003b).

id Taxa quantidade Valor 1 2 25 10 2 5 36 11 3 3 ?? 15 4 6 44 14 5 3 22 16

FIG. 3.6: Exemplo de tabela com ausência

Para exemplificar o uso das duas métricas, considerar a tabela da figura 3.6 que exibe a

venda de um produto. Fazem parte da tabela o identificador da venda, a taxa, a quantidade

vendida e o valor total. Com exceção do id , todos os atributos são métricas baseados em

intervalos. A coluna quantidade do registro com id=3 apresenta o símbolo ?? , o qual

significa ausência de valor. Ficou definido para o exemplo que a imputação com o k-NN

41

deveria ocorrer utilizando dois vizinhos mais próximos, k=2, para o cálculo da média aritmé-

tica, por ser um valor baixo e que pode ser aplicado no exemplo. Abaixo são mostrados os

resultados de imputação utilizando as métricas de distância Euclidiana e de Mixed Types.

• Distância Euclidiana: o registro ausente é chamado de i, que no exemplo é o registro

com id=3 . Ele é composto pela combinação de valores <3,??,15> e deve ser

comparado com as combinações de registros existentes na tabela. Por exemplo,

calcular a distância entre o primeiro registro �, que representa id=1 . A combinação de

valores de � é <2, 25, 10 >. A métrica deve ser aplicada sem considerar a coluna

com o valor ausente, como é apresentado a seguir:

���, �� = ��3 − 2�� + �15 − 10�� = √1 + 25 ≈ 5,10

Esse resultado significa a distância entre os registros � e �. O mesmo cálculo deve ser

feito com todas as combinações. A figura 3.7 mostra os resultados da métrica

Euclidiana aplicada aos outros registros.

id = 1 id = 2 id = 4 id = 5 5,10 4,47 3,16 1,00

FIG. 3.7: Resultado do cálculo das distâncias utilizando a métrica Euclidiana

Como k=2, os vizinhos mais próximos são os registros com id = 5 e id = 4 . No

atributo quantidade eles têm os valores 22 e 44, respectivamente. Utilizando a média

aritmética, o novo valor gerado pelo método é 33.

• Mixed Types: é necessário saber o � ��� dos valores contido nos registros, utilizando o

cálculo para valores baseados em intervalos. Esse cálculo não será realizado sobre os

valores da coluna que contém a ausência. Para ao registro com id = 1 , temos na

coluna taxa o � = 3 e � = 2. Isso resulta em � ��� = 0,25. Em valor, � = 15 e

� = 10, resultando � ��� = 1,25. O valor de �

��� será igual a 1 para os dois

atributos, visto que em ambos os valores de � e � são diferentes. Então o cálculo da

distância para a id = 1 será:

���, �� = .1�3� + 1�2�/�1 + 1� = 5

2 = 2,5

42

A figura 3.8 apresenta os resultados das distâncias dos outros registros em relação

aquele com ausência.

id = 1 id = 2 id = 4 id = 5 2,50 0,75 0,50 0,62

FIG. 3.8: Resultado do cálculo das distâncias utilizando a métrica Mixed Types

Tiveram as duas menores distâncias os registros com id = 4 e id = 5 . Seus res-

pectivos valores na tabela são 44 e 22. A média aritmética deles é 33, o valor que deve

ser imputado na tupla com ausência.

A principal vantagem do k-NN é a não necessidade de criação de um modelo preditivo

para cada atributo, como outros métodos de Mineração de Dados. Portanto, o algoritmo k-

vizinhos mais próximos pode ser adaptado para qualquer atributo, tendo necessidade de so-

mente modificar os atributos que devem ser considerados na métrica da distância. A desvan-

tagem da abordagem clássica é que ela calcula a semelhança em todo o conjunto de dados.

Quando aplicado em bases com grande quantidade de registros, seu desempenho pode ser

crítico. Em (Batista e Monard, 2003b) são citadas alternativas para esse problema. Uma delas

é a abordagem M-Tree (Ciaccia et al, 1997), que se propõe a organizar e buscar dados em

grandes bases, dispondo-os, pelas distâncias das instâncias da base, em uma estrutura de

árvore.

Naïves Bayesian Classifier (Liu e Lei, 2006) ou, em português, Classificador Bayesiano

Ingênuo é um método baseado no princípio da probabilidade condicional. A abordagem que o

utiliza analisa o relacionamento entre os atributos, dependentes ou independentes, e deriva

uma probabilidade condicional para cada relação. Ao analisar um novo exemplo, a predição é

feita por combinação dos efeitos das variáveis independentes nas dependentes, o que permite

calcular o resultado mais provável. A abordagem necessita que ocorra um treinamento pro-

gramado para gerar um modelo de classificação, que consiste no conjunto de probabilidades

condicionais. No entanto, só trabalha com dados discretos como para a associação de tuplas e

em bases que apresentem mecanismo de ausência MAR (Farhangfar et al, 2004).

Uma abordagem oriunda da área de Mineração de Dados também usada para imputação

de valores ausentes é o Rough Sets (Nelwamondo e Marwala, 2007). Nessa abordagem são

selecionados os atributos da base de dados que são relevantes à avaliação dos dados. Ela então

agrupa os valores de cada atributo de acordo com suas características, criando subconjuntos

43

de valores contidos nos atributos. Esses atributos são chamados de atributos condicionais. Há

também o atributo de decisão, que informa uma decisão a ser tomada.

Os valores contidos nos redutos são indiscerníveis entre si, isto é, são duas tuplas que

apresentam valores iguais a partir de um conjunto de atributos. Por exemplo, no conjunto de

atributos <atr1,atr2 > as tuplas A e B apresentam os mesmos valores <val1, val2 >,

logo por esse conjunto não há forma de discernir quem é A e quem é B. A teoria de Rough

Sets verifica os valores das tuplas e então é capaz de administrar as imprecisões com as apro-

ximações inferior e superior entre elas. A aproximação inferior informa a coleção de tuplas as

quais contém classes equivalentes e a superior indica as tuplas que são parcialmente equiva-

lentes, sendo elas correspondentes ao atributo de decisão. Por essas aproximações torna-se

possível identificar os redutos da base. Reduto é um conjunto de atributos mínimos necessá-

rios para manter as mesmas propriedades de valores que levam a uma decisão. Com as infor-

mações dos redutos haverá a capacidade de identificação de uma decisão quando uma nova

tupla é inserida numa base. Logo, é possível imputar valores no atributo de decisão com a

abordagem Rough Sets. A abordagem classifica os registros completos contidos na base, gera

os redutos em relação ao atributo decisão e valores ausentes podem ser imputados.

As Redes Neurais são sistemas de informação que reconhecem padrões dos dados por

terem capacidade de adquirir, armazenar e utilizar esse conhecimento dos padrões, de forma

análoga às habilidades cerebrais dos humanos (Goldschmidt e Passos, 2005). Essas redes pos-

suem conjuntos de neurônios artificiais, em geral organizados em múltiplas camadas, sendo

uma de entrada, uma camada de saída e uma ou mais camadas intermediárias. Esses neurônios

são conectados entre si, possuindo pesos sinápticos associados a cada conexão. Os dados são

recebidos pela camada de entrada, processados pelas camadas intermediárias e a saída gerada

pelos neurônios da camada de saída. As redes aprendem a partir do ajuste realizado sobre os

pesos sinápticos de suas conexões. Em (Soares, 2007) é descrita uma abordagem para imputar

novos valores nos atributos ausentes utilizando Redes Neurais, com redes de múltiplas cama-

das que utilizam o algoritmo de aprendizado supervisionado denominado back propagation.

As tuplas sem ausência são utilizadas para treinar a rede – processo de aprendizagem utili-

zando os atributos sem ausência como entrada de valores de cada tupla da base na rede e o

atributo que apresenta ausência como o de saída. Após o treino, o valor ausente de cada tupla

pode ser imputado a partir dos valores dos demais atributos presentes na tupla. A rede pode

ser modificada a cada tupla nova adicionada, ela está sempre em processo de aprendizado. As

44

Redes Neurais podem ser utilizadas tanto para imputar valores discretos quanto para contí-

nuos.

Nas abordagens baseadas em modelos estão incluídos os principais modelos de regressão

e de probabilidade. No modelo baseado na regressão, os valores em falta em um determinado

registro são complementados a partir de uma regressão completa dos valores dos atributos

desse registro em outros registros (Wong, Zhao e Chan, 2006). O modelo requer equações de

regressão múltipla, para cada conjunto de atributos completos, resultando em um elevado

custo computacional. Além do mais, diferentes tipos de modelos de regressão devem ser usa-

dos em função dos tipos de dados, isto é, modelos linear ou polinomial podem ser utilizados

para atributos contínuos, enquanto modelos Log-Linear para valores discretos (van Buuren et

al, 2006). Os métodos baseados em probabilidade podem ser considerados para complementar

somente valor em atributos discretos. Eles supõem que os dados são descritos por um modelo

paramétrico, onde os parâmetros são estimados como verossimilhança máxima ou procedi-

mentos maximum a posteriori (MAP) (Farhangfar et al, 2007).

3.4.2 ABORDAGENS PARA IMPUTAÇÃO EM PROBLEMAS MULTIVARIADOS

Em (Castaneda et al, 2008) encontra-se proposta uma abordagem que torna possível o desen-

volvimento de planos de workflows para o processo de imputação em problemas multivaria-

dos em uma base. Na proposta é possível indicar parâmetros de configuração, os quais

informam a dependência entre atributos, os algoritmos que serão usados e também possibili-

tam a realimentação dos valores na base cada vez que um atributo com valores ausentes é

tratado.

Uma abordagem encontrada frequentemente na literatura e que trata do problema multiva-

riado de ausência é o MICE (Multivariate Imputation by Chained Equations) (van Buuren e

Oudshoom, 2000). Essa é uma abordagem para complementação de dados, desenvolvido no

Departamento de Estatística do TNO Prevention and Health, na Holanda. A abordagem é

considerada com uma das mais poderosas e flexíveis para complementação multivariada de

dados (Farhangfar et al. 2007).

45

A ideia geral da complementação multivariada no MICE consiste em três etapas: com-

plementação, análise e restauração. A figura 3.9 ilustra o conceito do processo. Na etapa de

complementação são verificados os atributos que apresentam dados ausentes e, em seguida,

são completados. Após, os dados completados são analisados e só depois restaurados na base.

FIG. 3.9: Ideia geral da complementação no MICE.

Fonte: (Multiple Imputation Online, 2008)

O MICE usa diversas abordagens que resolvem problemas univariados e multivariados,

inclusive de imputação múltipla, na sua abordagem para cada tipo de dados – numéricos,

categóricos ou binários - como regressão linear Bayesiana, regressão logística, entre outros. O

usuário pode especificar uma abordagem de complementação elementar para cada atributo

que apresente dados ausentes.

3.4.3 TABELA COMPARATIVA

A tabela 3.1 apresenta uma comparação entre as abordagens para imputação de dados, mos-

tradas nesta seção. Nessa comparação são analisadas algumas características das abordagens.

Uma característica importante é o tipo de dados com o qual a abordagem trabalha. Podem

ser categóricos, discretos ou numéricos. Em outra coluna é informado se o algoritmo é super-

visionado ou não. Na quarta coluna, é dito se o algoritmo necessita ou não de um modelo pre-

ditivo. Essa é uma informação importante principalmente quando é analisada a rapidez da

abordagem. O uso de modelos preditivos tende a tornar a abordagem mais lenta do que as que

não necessitam. E por fim é dada a classificação do algoritmo em relação à taxonomia des-

crita no início dessa seção.

46

Pode ser observado na tabela que todos os algoritmos que utilizam modelos preditivos

imputam valores discretos, sendo que duas abordagens tratam o problema com dados do tipo

contínuo e duas não. Todas as abordagens presentes na tabela que não utilizam modelos pre-

ditivos tratam de problemas de atributos do tipo discreto e contínuo.

TAB. 3.1: Tabela comparativa de abordagens de complementação

Abordagem Tipos de Dados

Supervisionado/ Não Supervisionado

Modelo Preditivo

Classificação pela Taxonomia

Hot Deck Discretos; Contínuos

Supervisionado Não Imputação Local

Cold-Deck Discretos; Contínuos

Supervisionado Não Imputação Local

k-NN Discretos; Contínuos

Supervisionado Não Imputação Local

Média/Moda Discretos; Contínuos

Não Supervisionado Não Imputação Global baseada

no atributo ausente Naïve Bayes Discretos Supervisionado Sim Modelo Bayesiano

Redes Neurais Discretos; Contínuos Supervisionado Sim

Imputação Global baseada nos atributos não ausente

Regressão Linear ou Polinomial

Discretos; Contínuos

Supervisionado Sim Imputação Global baseada nos atributos não ausente

Rough Sets Categóricos;

Discretos Supervisionado Sim

Imputação Global baseada nos atributos não ausente

Substituição Contínuos; Discretos

Não Supervisionado Não Imputação Global baseada

no atributo ausente

Abordagens tidas como simples, Média/Moda e Substituição, são as únicas não supervisi-

onadas. Elas são simples por não observarem as similaridades entre os registros, o que os

torna muitas vezes tendenciosos com a imputação. Já as abordagens supervisionadas mostra-

das na tabela, com exceção do k-NN, necessitam de modelos preditivos.

Pela definição apresentada na taxonomia, os tipos de abordagens globais baseadas em

atributos não ausentes, são sempre supervisionados e necessitam de modelos preditivos.

Como é o caso das abordagens Rough Sets, Regressão linear o polinomial e Redes Neurais.

3.5 ABORDAGENS DE IMPUTAÇÃO DE DADOS EM DATA WAREHOUSES

Há na literatura um número razoável de trabalhos que veem a importância da qualidade dos

dados de um ambiente de DW. Existem inúmeros trabalhos que falam da limpeza desses

dados, considerando vários processos de transformações. Um dos temas mais discutidos é a

remoção de dados duplicados, isto é, dois ou mais dados que representam uma mesma

entidade.

47

No entanto, não foram encontrados muitos trabalhos sobre complementação de dados em

data warehouse. (Rahm e Do, 2005) citam alguns problemas comuns em grandes bases de

dados, inclusive as bases dos data warehouses, e a ausência de valor é um desses problemas.

Uma abordagem que trata de limpeza de dados e trata os problemas de ausência de dados

é visto em (Hong et al, 2008). Nesse trabalho é relatada a criação de um data warehouse para

guardar dados QAR (Quick Access Recorder), o qual possibilita a análise dos voos das

aeronaves de uma companhia aérea. Foi construído um framework para a realização do

processo de ETL. O framework primeiro faz a extração dos dados de diversas fontes, depois

verifica a ausência dos valores nas bases e imputa com novos valores, remove os dados

duplicados e, por fim, realiza a consolidação dos dados.

Ao extrair os dados das fontes externas, os dados passam pelo processo de

complementação dos dados. Os dados só são guardados na tabela de fatos QAR Fact após o

processo de complementação de dados ausentes na base. Para a imputação dos dados, o

framework utiliza três abordagens. A primeira é a inserção manual de dados, quando esses são

valores padrão das aeronaves, mas, por algum motivo, não constam na base. A segunda é a

abordagem com uso de estatística de regressão linear, que é um método supervisionado local

onde os dados observáveis são separados e é obtida uma fórmula geral referente aos dados

ausentes de um atributo. A terceira abordagem, também supervisionada, é a de interpolação

linear. Essa abordagem calcula a proximidade dos registros referente ao valor ausente no

atributo e, com esses registros próximos, utiliza uma equação para induzir o valor que deve

ser imputado.

O artigo não deixa claro quando o framework utiliza a abordagem de regressão linear ou

interpolação linear. Todos os atributos usados para imputar novos valores, mostrados no

artigo, continham dados contínuos.

A deficiência observada no framework é que ele está voltado somente para os problemas

do domínio das companhias aéreas. No entanto, mostra-se flexível aos diversos problemas

encontrados nesse domínio. Segundo o artigo, bons resultados foram obtidos, possibilitando

melhores análises da forma de pilotagem e das condições das aeronaves das companhias

aéreas.

Outro trabalho encontrado é o artigo dos autores (Wu e Bárbara, 2002b) que relata uma

abordagem para imputação de dados a partir dos agrupamentos que podem ser resultados de

uma sumarização. Uma informação sumarizada, por exemplo, é formada por dados de grão

fino que indicam uma lógica de negócio. Por exemplo, uma informação sumarizada refere-se

48

ao conjunto de tuplas que podem responder a seguinte consulta: no dia 05 deste mês, quantos

produtos X foram vendidos na loja A, para os clientes C1, C2 e C3. Isto é, um conjunto de

atributos é sumarizado e seus valores fazem sentido quando retirados das dimensões com a

tabela de fatos. Restrições são limites propostos para entender a relação entre as dimensões e

a tabela de fatos. Os dados são agrupados a partir das características dadas pela necessidade

de sumarização, para que seja realizado o processo de complementação. Segundo os autores,

essa forma de trabalhar com os dados preserva o contexto em que eles foram gerados e reduz

a quantidade de dados que serão comparados, o que daria um ambiente melhor para o uso das

técnicas de complementação.

Para a complementação, o artigo apresenta duas abordagens de imputação com base nas

restrições das mumarizações que são utilizadas para o processo de imputação: Singular Value

Decomposition - SDV, a partir da álgebra linear, e entropia. A abordagem SDV é aplicável

para reconstruir valores ausentes com equações de restrições lineares. A entropia máxima

(maximun entropy) e a entropia cruzada (cross entropy) são utilizadas para imputar os valores

das instâncias que têm pouca informação nas restrições de sumarização. Para recuperar o

conjunto de valores ausentes na base a partir das restrições sumarizadas é utilizada a

programação de restrições. Ela realiza consultas na base a partir das restrições e envia as

instâncias para serem imputadas.

As abordagens utilizadas não visam alteração dos dados na base, somente para a análise.

Se os dados forem imputados efetivamente, os usuários podem obter resultados que

apresentam erros, pois os valores imputados foram calculados com base em uma única

sumarização, em não sobre o DW completo.

A abordagem mostrada nesse trabalho pode impactar de modo significativo no tempo de

resposta ao usuário. Por outro lado, neste trabalho propomos a imputação considerando o DW

completo e sem impactos para o tempo de resposta da consulta dos usuários.

3.6 CONSIDERAÇÕES FINAIS

Os dados dos DW vêm de diversos tipos de sistemas fontes. Eles apresentam diferenças entre

si e podem ter dados que não foram devidamente preenchidos ou até mesmo ausentes,

influenciando nos resultados inconsistentes às consultas.

Atualmente existem várias técnicas que buscam resolver esses tipos de problemas

oriundos das diversas fontes. E este trabalho focou principalmente na ausência dos dados nas

49

fontes que levam a problemas de ausência de dados nos ambientes de DW. A abordagem

chamada imputação de dados tem como objetivo estimar valores em atributos que precisam

ser preenchidos, a partir de algoritmos que consideram os valores das tuplas preenchidas para

imputar valores nas tuplas ausentes. No entanto, nenhuma dessas abordagens considera a

proveniência dos dados.

Os SGBDs atuais, como o Oracle (Oracle, 2009), o IBM DB2 (IBM, 2009), oferecem

suporte para a criação de ambientes de DW, com ferramentas que permitem configurar e

realizar todo o processo de ETL, inclusive a tarefa de limpeza dos dados. O DB2 da IBM

possui uma ferramenta de ETL chamada IBM WebSphere QualityStage. Ela fornece meios de

limpeza de dados para ajudar a garantir a qualidade e consistência de padronização, validação,

alinhamento e fusão dos dados do DW. Já a Oracle oferece o Oracle Warehouse Builder

(OWB) que utiliza diversas abordagens de imputação baseadas em algoritmos de Mineração

de Dados e em modelos preditivos, além de outros tratamentos de limpeza. No entanto, em

ambas as ferramentas as implementações das abordagens de imputação não são muito

detalhadas, e ainda, não há suporte explicito a considerar dados de proveniência para prover

melhores resultados na imputação de dados.

Assim, até o momento da finalização deste trabalho, não foi encontrada nenhuma

abordagem para complementar os dados de acordo com a proveniência do dado no contexto

do processo de ETL. No capítulo 4 é descrita uma estratégia que tem por objetivo a imputação

de dados dentro do processo de ETL em ambientes de DW. A imputação utiliza os dados de

proveniência contidos nas dimensões. Uma vez que um dado de um registro é complementado

levando em consideração dados que tiveram a mesma proveniência, é possível que o novo

valor seja mais coerente com a realidade do negócio.

50

4 ESTRATÉGIA PARA IMPUTAÇÃO DE DADOS NO PROCESSO ETL

Como dito no capítulo 2, os DW visam a integração de dados de diversas fontes e possibili-

tam um acesso consolidado ao grande volume de dados resultante. Para tanto, eles requerem

investimento volumoso de tempo e recursos. No ambiente do DW existe o processo de ETL.

Em cada etapa desse processo utilizam-se várias ferramentas de software. Na etapa de extra-

ção, os dados são capturados periodicamente das múltiplas fontes por diferentes ferramentas

adaptadas a cada sistema fonte. A partir dessa realidade, na base de dados do DW existirão as

informações das transações da origem e do momento em que um dado surge no contexto de

um sistema fonte. Assim, em um DW típico os dados já vêm acompanhados de sua proveni-

ência.

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, 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.

Para amenizar os prejuízos que o problema da ausência de dados causa, existem diversas

abordagens para a complementação desses valores, mostradas no capítulo 3. Apesar de existi-

rem essas diversas soluções, poucos trabalhos estudam o problema da ausência em um ambi-

ente de DW.

Assim, como não foram encontrados trabalhos que tratassem da ausência de dados no

processo de ETL, até onde foi possível investigar, nenhuma das técnicas de complementação

considera o enriquecimento de atributos que fazem parte do contexto das tabelas com dados

ausentes como forma de atingir melhores resultados no processo de imputação. No caso do

DW isso se torna possível, pois a tabela de fatos pode ser enriquecida com dados de proveni-

ência, a partir dos atributos oriundos das tabelas dimensão.

A abordagem descrita nesta seção tem como objetivo diminuir o problema da ausência de

valores na base de um DW provendo um mecanismo para imputação nas tuplas com ausência,

levando em consideração a proveniência dos dados em um DW. Nesse ambiente, os dados de

proveniência são utilizados para enriquecer a tabela de fatos na busca por um maior grau de

semelhança entre as tuplas, a fim de propiciar um melhor resultado de imputação.

51

Consideramos aqui dados de proveniência aqueles que indicam o histórico transacional dos

dados, estão referentes ao negócio ao qual o DW está relacionado.

Para este trabalho considera-se que as dimensões não apresentam ausência de dados, isto

é, o foco é somente na imputação de uma medida da tabela de fatos de um DW típico. É

necessário ressaltar também que, segundo a estratégia proposta, somente podem ser

imputadas medidas nas quais seus valores sejam do tipo numérico.

4.1 VISÃO GERAL DA ESTRATÉGIA

A estratégia proposta situa-se no contexto da etapa de limpeza do processo de ETL e consi-

dera que os dados já estejam armazenados no modelo estrela, porém ainda não estejam con-

solidados. Embora os passos do processo ETL na figura 2.2 apareçam como se fossem

executados em sequencia, na prática isso nem sempre ocorre. Neste trabalho, consideramos

que as ações de limpeza podem ainda ocorrer depois da conciliação e antes do passo de

entrega, como mostra a figura 4.1.

FIG. 4.1: Etapas do processo de ETL não sequencial.

Para a estratégia, os dados precisam estar em grão fino, isto é, com todos os detalhes que

apresentavam quando foram retirados das fontes de origem, possibilitando que o

enriquecimento da tabela de fatos seja mais efetivo. A estratégia foca na imputação dos

valores ausentes, e não considera nenhum outro tipo de transformação. E também não está

preparada para tabelas de fatos que estejam armazenadas de forma diferente da descrita

acima. Considera-se ainda que alguns tratamentos na base tenham sido realizados

anteriormente, tais como:

• Limpezas de outros tipos, que não a imputação, e a integração das bases;

52

• Criação das combinações das chaves das dimensões que obedeçam as regras do

negócio e que deveriam constar na tabela de fatos. Desta forma, toda a combinação

com ausência de valor estará acessível;

• Tratamento da ausência de valores nas dimensões;

Para maior compreensão da estratégia proposta, vamos considerar o exemplo das figuras

4.2(a) e 4.2(b). A primeira imagem exibe um esquema estrela típico, com uma tabela de fatos

representando as vendas de uma loja e as dimensões que fizeram parte das ações de venda.

FIG. 4.2: (a) Tabela de fatos Venda e suas dimensões

FIG. 4.2: (b) Tabela de fatos Venda enriquecida com atributos das dimensões

A ideia geral da estratégia proposta é partir de uma tabela de fatos que apresenta valores

ausentes (como o atributo “qntVenda ” da tabela Venda da figura 4.2(a)), e considerar tam-

53

bém atributos não-chave das dimensões para representar com mais detalhes as tuplas na tabela

de fatos (como mostra resumidamente a figura 4.2(b). Um exemplo da tabela completa pode

ser visto na figura 5.7). Chamamos essa nova tabela de tabela de fatos enriquecida.

A estratégia proposta considera então a tabela de fatos enriquecida, e ao aplicar as técnicas

tradicionais de imputação, tem como objetivo obter melhores resultados. Sem o enriqueci-

mento, só seriam considerados os atributos que se encontram em Venda e a única interferên-

cia das dimensões nas tuplas da tabela Venda original é a chave de cada uma, no exemplo da

figura 4.2(a) representado pelo nome “id<nome da dimensão >”. O enriquecimento

permite maior detalhe de cada tupla, não somente com as chaves das dimensões, como tam-

bém torna explícitos os valores que cada chave representa. Por exemplo, a venda que tem as

chaves <1,2,4,2 > para Produto , Fornecedor , Tempo e Cliente foi realizada no

outono, assim como a venda de chaves <4,1,2,3 >. Se fossem considerados somente os

atributos-chave da tabela de fatos, elas não seriam consideradas similares. Mas ao enriquecer

a tabela com o atributo estação da dimensão Tempo será possível descobrir uma semelhança

entre as tuplas. Isto significa que mesmo com combinações de chaves diferentes, tuplas po-

dem se tornar mais próximas/semelhantes a partir do momento em que a tabela de fatos é en-

riquecida com atributos das dimensões.

A figura 4.3 mostra a visão resumida da estratégia de imputação, que é dividida em quatro

etapas distintas:

FIG. 4.3: As quatro etapas gerais da estratégia de imputação de dados utilizando atributos de

proveniência

• Os atributos para a comparação entre tuplas na tabela de fatos enriquecida antes da

imputação são selecionados por um analista, a partir de uma tela que possibilita a ação.

É dessa seleção que o conjunto das combinações dos atributos será definido por uma

heurística que será descrita posteriormente.

• A base de treino, que contém a tabela de treino, é preparada a partir da divisão da base

original: as tuplas completas, isto é, aquelas que não apresentam valor ausente na

medida em que será imputada são separadas das tuplas que apresentam valor ausente,

54

além de conter os atributos das dimensões, gerando assim a base de treino. Essa nova

base receberá novos valores ausentes para o treino da estratégia.

• Calcula-se o desempenho de cada combinação de atributos do conjunto definido na

primeira etapa no processo de imputação. O desempenho será medido pelas taxas de

erro de imputação que cada combinação obtiver na base de treino. Essas taxas são

armazenadas para uma posterior análise de cada conjunto de atributo.

• Analisam-se os resultados obtidos para cada conjunto de atributos e é selecionada a

combinação que obtiver a menor taxa de erro. A partir deste ponto, a imputação real,

isto é, na base que apresentava ausência inicialmente, é efetuada.

Ao receber o conjunto de dados, o qual passou pelos outros processos de transformação,

o ambiente proposto realiza os passos descritos da estratégia. Nas subseções seguintes cada

passo é apresentado com mais detalhes.

4.1.1 COMBINAÇÃO DOS ATRIBUTOS

As dimensões apresentam valores que indicam os fatores que envolvem os fatos. Eles, em

geral, são capazes de responder questões como: “onde o fato foi realizado?”, “quando?”,

“por quem?”, “ quem possibilitou o fato?” entre outras. Num contexto mais geral de metada-

dos, (Buneman, Khanna e Tan, 2001) consideram os dados que respondem tais questões como

proveniência. No nosso trabalho, vamos considerar a proveniência como o contexto histórico

das transações dos processos dos sistemas.

A primeira etapa da estratégia, portanto, consiste na seleção dos melhores atributos de

proveniência das tabelas de dimensões, realizada por um usuário, que enriquecerão a tabela de

fatos para o processo de imputação. Posteriormente os atributos escolhidos serão utilizados

para a geração de um conjunto de combinações que será usado na terceira etapa. A figura 4.4

ilustra a sequência de etapas deste primeiro passo.

55

FIG. 4.4: Primeira etapa da estratégia do processo de imputação – Definir combinação de

atributos

Espera-se do usuário a escolha de atributos que melhor caracterizem proveniência dos da-

dos e que tragam maior riqueza de detalhes para o processo de imputação. Para auxiliá-lo na

escolha, a abordagem desnormaliza a tabela de fatos com as dimensões. Desnormalizar, nesse

contexto, significa enriquecer a tabela de fatos com todos os atributos das dimensões, obede-

cendo ao identificador de cada uma. Após a desnormalização, estima-se a seletividade dos

atributos das dimensões e esses valores são apresentados ao usuário.

O cálculo da estimativa da seletividade, que é utilizado nessa etapa por indicar a heteroge-

neidade de um atributo, é bastante utilizado na otimização de consultas em SGBDs. O cálculo

considera uma distribuição uniforme dos valores distintos que pode assumir um atributo, e é

dado pela fração da quantidade de valores distintos pela quantidade total de valores no atri-

buto (Elmasri e Navathe, 2005). O atributo que apresenta maior estimativa de seletividade

está mais propício a ser o melhor índice de uma relação exatamente por sua heterogeneidade

(Clifford, 1988). Para esta estratégia, o atributo que se apresenta com maior estimativa de

seletividade pode indicar maior riqueza de detalhes no processo de imputação. Por exemplo, o

atributo “mês” da tabela Tempo da figura 4.2(a) tem maior estimativa de seletividade do que o

atributo “estação”. Enquanto a primeira tem 12 possibilidades de valor, isto é, os meses do

ano, a segunda só tem quatro possibilidades – outono, inverno, primavera e verão. Logo, o

atributo “mês” apresenta maior riqueza de valor e será possível calcular melhor o quão

distante uma tupla é da outra, ao verificar a semelhança entre duas tuplas conforme descrito

na subseção seguinte.

3. Calcular a seletividade

de cada atributo das

dimensões

5. Gerar o conjunto de

combinação de atributos

4. Atributos selecionados

pelo usuário

2. Desnormalização da tabela

56

Após a seleção dos atributos pelo usuário, o conjunto de combinações de atributos Ci será

gerado. Há possibilidade de geração de cinco tipos de combinações e dependerá da escolha do

usuário, quais ele prefere para o processo de imputação. Isso diminui o tempo de execução do

sistema.

As cinco possibilidades de combinações são:

1. Todos os atributos selecionados pelo usuário;

2. Somente os atributos numéricos selecionados;

3. Por cada dimensão, o atributo selecionado, numérico ou categórico, com maior

seletividade;

4. Por cada dimensão, o atributo numérico selecionado com maior seletividade;

5. A tabela de fatos sem a chave da dimensão que foi representada por pelo menos um

atributo selecionado pelo usuário. Isto é, se o usuário selecionar o atributo X i de uma

dimensão X, então a chave dessa dimensão na tabela de fatos não será usada no

processo de imputação.

Esses e alguns outros tipos de combinações, dentre os inúmeros que poderiam ser feitos,

foram levantados para testar as características dos atributos, que poderiam trazer melhores

resultados, e foram realizados testes na fase de implementação da estratégia. Não foram

testadas todas as combinações possíveis, pois isso seria oneroso em tempo de execução do

sistema. As combinações com as características listadas acima foram as que apresentaram

melhores resultados. No Capítulo 6 são descritos esses testes com mais detalhes.

4.1.2 PREPARAR A BASE DE TREINO

Com intuito de escolher a melhor combinação de atributos do conjunto definido na primeira

etapa, uma base de treino é gerada. Ela é resultado da subtração das tuplas que contenham

valores ausentes na base real. Na base de treino são realizados testes para a definição do con-

junto que apresenta menor taxa de erro. A figura 4.5 ilustra essa etapa.

57

A partir da base real desnormalizada é gerada uma base de treino, a base real desnormali-

zada sem as tuplas com valores ausentes da métrica X. Para o treino, são acrescentadas sujei-

ras, isto é, valores ausentes na métrica analisada obedecendo a mesma porcentagem de

ausência presente na base real. Sendo assim, as tuplas com os novos valores ausentes serão

imputadas e esses dados podem ser comparados com seus valores verdadeiros na base real.

FIG. 4.5: Segunda etapa da estratégia do processo de imputação – Preparar base de treino

A base de treino contém a tabela de fatos enriquecida com os atributos das dimensões.

Por ter sido desnormalizada, ela é composta de todos os fatos dos atributos das dimensões

referenciados neles. Uma vez que desnormalizar um grande volume de dados é um processo

que exige tempo de processamento, as duas tabelas podem existir no sistema do DW. Quando

a tabela de fatos for alimentada com novos valores, a enriquecida deve ser alimentada tam-

bém. No entanto, a base enriquecida não precisa necessariamente armazenar todos os fatos,

ela pode ter somente aqueles que estão numa faixa de tempo determinado.

4.1.3 CALCULAR TAXA DE ERRO POR CADA COMBINAÇÃO DE ATRIBUTOS

Com a base de treino preparada, os testes para cada combinação de atributo serão realizados.

Nesse passo, o algoritmo é aplicado na base de treino e utilizará os atributos de enriqueci-

mento na tabela de fatos. Os resultados das taxas de erro de cada combinação são armazena-

dos para uma análise posterior. A sequência dos passos é representada pela figura 4.6.

O primeiro passo da estratégia nessa etapa é encontrar uma tupla fm, que contenha valor

ausente na métrica X da tabela de fatos. Então o valor real na métrica X em fm é recuperado da

base real para que a taxa de erro seja calculada.

Após, é selecionada uma combinação de atributos Ci para o teste. A estratégia utiliza a

abordagem de imputação k-NN para realizar a imputação. Essa abordagem é muito usado em

trabalhos de imputação e apresenta resultados razoáveis (Farhangfar et al, 2007). O k-NN é

um método de imputação do tipo local que utiliza os atributos da base para a inferência de

fatos sobre tuplas mais similares entre si. Portanto ele foi escolhido para ser usado nesta es-

3. Base de treino

1. Base real desnormalizada

2. Retirar as tuplas com valor ausente

4. Sujar base de treino

para os testes

58

tratégia, uma vez que a tabela de fatos é enriquecida com atributos das dimensões, possibili-

tando verificar maior semelhança entre as tuplas.

FIG. 4.6: Terceira etapa da estratégia do processo de imputação – Calcular o somatório dos

novos valores por cada combinação de atributos

O método k-NN não apresenta bom desempenho em relação ao tempo, quando aplicado

em grande base de dados (Ciaccia et al, 1997). Apesar disso, como o foco do trabalho estava

na qualidade da imputação de dados, ele foi inicialmente considerado para compor a estraté-

gia proposta. No entanto, como a base de DW apresenta, em geral, um grande volume de da-

dos, a abordagem que utiliza redes neurais pode apresentar melhor desempenho. Os testes de

uma implementação desta estratégia usando o método k-NN, descritos nos capítulo 6, mostra-

ram resultados promissores com relação à imputação, porém apontaram problemas quanto ao

tempo de processamento.

Com o método k-NN, as tuplas mais similares à tupla fm são obtidas na base de treino.

Para calcular a similaridade entre as tuplas é utilizado o cálculo da distância Euclidiana, a

qual mede a distância entre uma tupla e outra. Os atributos que serão utilizados no cálculo da

similaridade são os contidos em Ci e mais todos os atributos da tabela de fatos.

Para calcular o novo dado a ser imputado é realizada a média dos valores da métrica X

considerando apenas as k tuplas mais próximas. De acordo com os testes, o valor que obteve

menores taxas de erro foi o k=10. Com o novo valor, a estratégia o compara com o valor real

capturado inicialmente e calcula a taxa de erro. O cálculo da taxa é realizado utilizando a mé-

trica Relative Absolute Derivation – RAD (Tseng, Wang e Lee, 2003) apud (Soares, 2007), da

seguinte forma:

59

012 = 1! 3 �4 − 5 �

4�

��

onde 4 é o valor original na base do atributo X da tupla fm, 5 é o novo valor calculado pelo

k-NN e n é o total de tuplas ausentes na métrica X. Existem outras métricas de cálculo de erro

(Wu e Barbará, 2002b), e a RAD foi escolhida por ser utilizada em trabalhos da área (Soares,

2007).

No entanto, nessa primeira parte somente o somatório dos novos valores por cada combi-

nação é realizado. A divisão por n elementos acontece na etapa seguinte da estratégia.

Esse processo repete-se para cada tupla ausente encontrada na métrica X.

4.1.4 APLICAÇÃO DO ALGORITMO NA BASE REAL

O último passo da estratégia é a imputação dos valores ausentes na base real. A figura 4.7 o

representa:

FIG. 4.7: Quarta etapa da estratégia do processo de imputação – Imputar a base real

Por cada combinação, deve ser calculada a taxa de erro. Esse cálculo é feito pela divisão

da soma das diferenças entre o valor imputado e o valor real (soma dos erros) por n, isto é, a

quantidade de tuplas com ausência. Os resultados das taxas de erro de cada combinação de

atributos são analisados e a combinação que apresentar menor taxa é escolhida. Em seguida,

os atributos pertencentes à combinação escolhida são considerados no processo de imputação

na tabela de fatos da base real.

O último passo dessa etapa consiste em utilizar a tabela de fatos enriquecida para obter os

k vizinhos mais próximos de cada tupla com valor ausente na base real. As k tuplas mais pró-

ximas são retiradas da base de treino. Após, os valores reais dessas tuplas no atributo ausente

são recuperados da base real para o cálculo da média. A partir deles, o novo valor é gerado e

imputado na tupla com o problema. A mesma fórmula para o cálculo da distância entre tuplas

usada na terceira etapa é aplicada também na base real.

1 Selecionar a combinação

de atributos que gerou

menor taxa de erro

2 Aplicar a

combinação de

atributos e o algoritmo na base real

60

4.2 CONSIDERAÇÕES FINAIS

A utilização de atributos das dimensões para enriquecer a tabela de fatos é um diferencial da

estratégia descrita se comparada a outras abordagens de imputação estudadas. Com o uso do

k-NN, a aproximação entre os k vizinhos pode ser verificada de forma mais efetiva pelo de-

talhe que os atributos acrescentados trazem em seus dados.

A estratégia visa o enriquecimento da tabela de fatos com atributos das dimensões. É

montado um conjunto de combinação de atributos baseada em algumas estatísticas e cada

uma é testada na base enriquecida criada. Aquela combinação que apresentar a menor taxa de

erro é utilizada imputação dos valores ausentes que se encontram na base real.

Este não é um processo rápido, visto que a abordagem k-NN procura comparar uma tupla

com todas as outras para recuperar as k tuplas que são mais similares a primeira. Além do

mais, a desnormalização da tabela de fatos não é um trabalho trivial, uma vez que as bases de

dados de um DW normalmente apresentam um grande volume de dados. A junção das tabelas

se torna custosa e requer bastante tempo para ser realizada.

A ideia de desnormalizacao da tabela de fatos traz uma preocupação real com o tempo de

processamento necessário para realizar a tarefa. Para diminuir esse problema, recursos com-

putacionais de alto nível podem ser utilizados, interferindo positivamente no desempenho. E

há as características do DW, que também podem ser levadas em consideração na imputação

dos dados pela estratégia, como a utilização parcial dos dados do DW e a execução do pro-

cesso de ETL a cada carga de novos valores.

No contexto do que se coloca sobre DW 2.0 (Inmon, 2006) sobre o ciclo de vida dos da-

dos, pode-se considerar a utilização parcial dos dados da tabela de fatos, e não completa, isto

é, aqueles mais recentes que se encontram nos setores current e near current. Assim, há uma

redução do volume de dados na tabela de fatos que seriam usados na estratégia acima. Por

exemplo, considerar um DW que esteja em execução há cinco anos e que a carga de novos

dados no ambiente aconteça uma vez por semana. Não é necessário considerar todos os dados

já existentes na base para imputação de dados, uma vez que dados muito antigos podem não

refletir mais a realidade do negócio do DW. Além disso, o total de dados nulos da nova carga

é um valor muito pequeno se comparado à base completa. Os dados atuais, por outro lado,

podem ser utilizados para a imputação dos dados, justamente por apresentarem o mesmo mo-

mento daqueles em que há ausência. Isso significa que o tempo de processamento para efetuar

61

a imputação na base real (último passo da estratégia proposta), será menor do que se fossem

considerados todos os valores da tabela de fatos corrente.

A implementação desta estratégia está descrita no próximo capítulo, onde estão relatados

as escolhas feitas para a implementação, o reuso de alguns módulos de uma ferramenta im-

plementada em outra dissertação (Castaneda, 2008) e as dificuldades encontradas.

62

5 IMPLEMENTAÇÃO DA ESTRATÉGIA COMPLETL

Conforme descrito no Capítulo 4, a estratégia de imputação em DW é dividida em quatro eta-

pas gerais. Na primeira etapa, o analista seleciona os atributos que enriquecerão a tabela de

fatos para a imputação e a formação do conjunto de combinações de atributos. A segunda é

responsável pela criação da base de treino para serem testadas as combinações. Na etapa se-

guinte são testadas todas as combinações de atributos do conjunto com o uso do algoritmo k-

NN. E na última é analisada qual das combinações do conjunto de atributos apresentou menor

taxa de erro e essa será utilizada para o enriquecimento da tabela de fatos no processo de im-

putação da base real.

Este capítulo descreve o desenvolvimento da ferramenta ComplETL – Complementing

Data at ETL, que implementa a estratégia de imputação, detalhando como cada etapa da es-

tratégia está implementada. A ferramenta ComplETL deve ser utilizada no processo de ETL,

no fim da etapa de transformação. Nesse momento, a estrutura da base de dados dentro do

DW deve estar organizada na forma dimensional em um esquema do tipo estrela. E, após a

aplicação da estratégia, a tabela de fatos e as dimensões poderão seguir para o próximo passo

do ETL, ou seja, a carga dos dados.

5.1 PLATAFORMA DE IMPLEMENTAÇÃO

Os pacotes do protótipo de Castaneda (Castaneda, 2008) foram utilizados como base para a

construção da ferramenta ComplETL. Esse protótipo propõe uma metodologia para execução

e avaliação de abordagens de imputação baseado nos principais conceitos de sistemas de ge-

rência de workflows (SGWf). O k-NN é uma das abordagens de imputação cuja implementa-

ção está disponível neste protótipo, sendo disponibilizado como tarefa a compor em um

workflow.

Para o protótipo de Castaneda foram construídos alguns pacotes contendo as classes das

abordagens que poderiam ser utilizadas em um processo de imputação, um pacote com a

classe de acesso à base de dados, alguns com as classes de negócio e outras responsáveis pela

configuração. No entanto, para a ferramenta ComplETL, a ideia de configurar um workflow

flexível não se aplicava, já que a estratégia proposta sugere fixar um dos métodos de imputa-

ção. Além disso, alguns requisitos da estrat

maior porte e a característica do DW de conter em sua base vários tipos de dados, não eram

previstos.

FIG. 5.1: Esquema de ferramenta ComplETL com integração aos

O esquema da ferramenta ComplETL com os pacotes utilizados no protótipo de

Castaneda é exibido na figura 5.1. A primeira parte do esquema é composta pelos módulos

próprios da ferramenta ComplETL. O pacote

e outros arquivos necessários na apresentação de dados aos usuários. Os pacotes

Controller e ControlModule

sistema, indicando o que deve ser realizado a cada interação com o usu

toda a lógica do programa. É nele que estão encapsulados os objetos que realizam a imputa

ção dos dados, juntamente com os testes das combinações de atributos. Ele utiliza a classe de

configuração, que está em Configuration

cionou na interface. E usa as classes definidas em

valores imputados.

Assim, apesar da ferramenta de construção de workflows de Castaneda não se aplicar

exatamente para implementar a est

mostrados na segunda parte da figura 5.1, foram adaptados e utilizados na ferramenta

ComplETL, a saber: o pacote

ao SGBD, a classe “Tuple ”

necessárias ao algoritmo k-NN . Seguem abaixo descritas as mudanças realizadas:

63

ção. Além disso, alguns requisitos da estratégia proposta, como a utilização de tabelas de

maior porte e a característica do DW de conter em sua base vários tipos de dados, não eram

: Esquema de ferramenta ComplETL com integração aos pacotes provenientes de

Castaneda

O esquema da ferramenta ComplETL com os pacotes utilizados no protótipo de

Castaneda é exibido na figura 5.1. A primeira parte do esquema é composta pelos módulos

próprios da ferramenta ComplETL. O pacote Páginas Web guarda todas as páginas HTML

e outros arquivos necessários na apresentação de dados aos usuários. Os pacotes

ControlModule são responsáveis pelo controle das funcionalidades do

sistema, indicando o que deve ser realizado a cada interação com o usuário. Já

toda a lógica do programa. É nele que estão encapsulados os objetos que realizam a imputa

ção dos dados, juntamente com os testes das combinações de atributos. Ele utiliza a classe de

Configuration , para armazenar os dados que o usuário sele

cionou na interface. E usa as classes definidas em ErrorMeasure para medir o erro dos

Assim, apesar da ferramenta de construção de workflows de Castaneda não se aplicar

exatamente para implementar a estratégia proposta, três pacotes desenvolvidos para a mesma,

mostrados na segunda parte da figura 5.1, foram adaptados e utilizados na ferramenta

ComplETL, a saber: o pacote JDBC - Java Database Connectivity (Oracle, 2009)

” do pacote DataSet , o pacote KNN que contém as classes

NN . Seguem abaixo descritas as mudanças realizadas:

égia proposta, como a utilização de tabelas de

maior porte e a característica do DW de conter em sua base vários tipos de dados, não eram

pacotes provenientes de

O esquema da ferramenta ComplETL com os pacotes utilizados no protótipo de

Castaneda é exibido na figura 5.1. A primeira parte do esquema é composta pelos módulos

da todas as páginas HTML

e outros arquivos necessários na apresentação de dados aos usuários. Os pacotes

são responsáveis pelo controle das funcionalidades do

ário. Já Model contém

toda a lógica do programa. É nele que estão encapsulados os objetos que realizam a imputa-

ção dos dados, juntamente com os testes das combinações de atributos. Ele utiliza a classe de

zenar os dados que o usuário sele-

para medir o erro dos

Assim, apesar da ferramenta de construção de workflows de Castaneda não se aplicar

ratégia proposta, três pacotes desenvolvidos para a mesma,

mostrados na segunda parte da figura 5.1, foram adaptados e utilizados na ferramenta

(Oracle, 2009) de acesso

que contém as classes

NN . Seguem abaixo descritas as mudanças realizadas:

64

Adaptação ao esquema estrela: O protótipo de Castaneda está preparado para trabalhar com

bases de dados onde só há uma tabela. Essa não é a realidade de um DW, visto que existem as

dimensões e a tabela de fatos. Por esse motivo, muitas classes da camada de negócios vistas

no trabalho no qual nos baseamos não foram utilizadas. Foram criadas outras classes para

tratar das múltiplas tabelas, como a classe Table que contém os metadados de cada tabela do

DW.

Mudança na classe Tuple: Não há nenhum tratamento para dados categóricos no trabalho de

Castaneda. A ferramenta trabalha com tabelas que contenham somente dados numéricos, dife-

rente do escopo de um DW, onde podem existir dados de vários tipos. A classe Tuple tem o

objetivo de armazenar uma tupla da tabela, informando o dado de cada atributo dela. Isto é, há

duas listas na classe, uma que informa o nome do atributo e outra o valor numérico contido no

atributo da tupla especificada. A figura 5.2 mostra um exemplo das listas.

FIG. 5.2: Lista de atributos e de valores da classe Tupla

As posições das listas representam a ligação entre atributo e valor. O atributo atr1 tem o

valor val1 naquela tupla. Para este trabalho, a organização das listas por tupla foi mantida,

no entanto, vimos a necessidade de obter mais informações sobre o atributo, além do nome. É

imprescindível que a ferramenta saiba, para cada atributo, qual tipo de dado ele contém, qual

é sua tabela de origem (para os atributos de enriquecimento), se é chave primária ou estran-

geira e se tem valores ausentes. Essas informações são necessárias em toda estratégia, princi-

palmente na 3ª e 4ª etapas da estratégia de imputação, descritas no decorrer deste capítulo.

Adaptação em relação às grandes quantidades de dados: Em (Castaneda, 2009) toda a

base de dados é carregada em memória RAM para utilizá-la no processo de imputação da

ferramenta. Não há possibilidade de carregar em memória toda a tabela de fatos típica de um

DW. O grande volume de dados da tabela não caberia na memória e resultaria em erro em

tempo de execução. Foram realizadas mudanças na classe de acesso aos dados transacionais.

Ao invés de carregar todos os dados de uma vez, somente uma porção de dados é carregada.

Após essa porção ser analisada, outra entra em seu lugar, até que toda a tabela de fatos seja

processada.

Alterações no pacote do k-NN : Originalmente, o pacote que trata do algoritmo de k-NN

utiliza o cálculo da distância Euclidiana para identificar a distância entre tuplas, sendo que

65

todos os valores contidos na tuplas devem ser numéricos. Para nossa proposta, a classe que

trata do cálculo da distância foi alterada. Uma vez que os atributos da tabela de fatos podem

ser categóricos, precisamos adaptar a classe para receber esses valores. (Han e Kamber, 2001)

dizem que a comparação entre valores categóricos no cálculo da distância Euclidiana pode ser

feito pela igualdade ou não dos valores de atributos. Se os valores forem iguais, o cálculo

atribui distância 0 (a menor distância possível) entre os atributos, senão a distância entre eles

será igual a 1 (a maior distância possível).

Além das classes adaptadas à realidade de um DW, outras tiveram que ser desenvolvidas.

Por exemplo, a classe Attribute , que guarda as informações como nome, tipo de atributo,

entre outras, de cada atributo das tabelas.

Assim como a ferramenta de construção de workflows, a ferramenta ComplETL proposta

aqui também foi desenvolvida utilizando a linguagem de programação Java, por sua portabili-

dade e recursos disponíveis. Além disso, ComplETL usa o framework Spring (Spring, 2010),

o framework JavaServer Page Standard Tag Library - JSTL (JSTL, 2010) e o SGBD

MySQL versão 5.1 (MySQL, 2009).

5.2 MÓDULOS DA IMPLEMENTAÇÃO

Nesta subseção será mostrado o desenvolvimento das etapas da estratégia de imputação de

dados utilizando os atributos de enriquecimento.

5.2.1 COMBINAÇÃO DOS ATRIBUTOS

Para que ocorra esta etapa, são necessárias algumas configurações iniciais vindas de um usuá-

rio. Ele deve informar os parâmetros de configuração para o funcionamento da ferramenta,

tais como: a base de dados usada pelo sistema de DW, a abordagem utilizada para a imputa-

ção e a forma de imputação. A figura 5.3 mostra a parte de entrada das configurações iniciais.

A base de dados selecionada deve conter a tabela de fatos com valores ausentes e as di-

mensões completas. Nessa primeira versão, a ferramenta só está habilitada para imputar valo-

res usando o método k-NN. É preciso também informar o valor do k que será utilizado no

algoritmo. Não há na literatura uma heurística estabelecida para definir o melhor valor para o

total de vizinhos, por isso existe a possibilidade de escolha pelo próprio usuário. Além de a

ferramenta deixar em aberto o valor de k, ela também sugere que esse valor possa ser a raiz

quadrada dos n casos completos das tuplas que serão observadas na imputação. A configura

ção dos testes informa como será

FIG. 5

Nas configurações iniciais também é necessário informar a escolha das combinações de

atributos que serão utilizadas na base de teste do proces

opções existentes, que são referentes aos atributos das dimensões que serão selecionados futu

ramente pelo usuário. Essas opções fazem parte da heurística dos tipos de combinações de

atributos que serão usados na etap

todas as combinações precisam ser testadas, uma vez que o analista pode conhecer bem o

problema e ter a capacidade de escolher aquelas opções que trarão melhores resultados.

FIG. 5.4: Seleção das combinações de atributos que serão utilizadas no processo

Para exemplificar a utilização das combinações, considerar que usuário selecione as

opções “Todos os atributos” e “Só os atributos numéricos” e após

de proveniência <atr1, atr2, atr3, atr4

góricos. Isto significa que na quarta etapa da estratégia devem ser realizadas duas avaliações

na base de treino: (i) a primeira será o teste de impu

selecionados, isto é, uma tupla com ausência é comparada com as completas a partir de todos

os atributos da tabela de fatos mais

será testada somente com os atributos n

para a comparação entre tuplas.

A próxima configuração realizada pelo usuário é feita para informar qual atributo da

tabela de fatos que apresenta ausência deve ser imputado pela ferramenta. A figura 5.

66

casos completos das tuplas que serão observadas na imputação. A configura

ção dos testes informa como será feita a imputação.

5.3: Configurações iniciais na ferramenta

Nas configurações iniciais também é necessário informar a escolha das combinações de

atributos que serão utilizadas na base de teste do processo de imputação. A figura 5.4 exibe as

opções existentes, que são referentes aos atributos das dimensões que serão selecionados futu

ramente pelo usuário. Essas opções fazem parte da heurística dos tipos de combinações de

atributos que serão usados na etapa 3 da estratégia de imputação, descrita no capítulo 4. Nem

todas as combinações precisam ser testadas, uma vez que o analista pode conhecer bem o

problema e ter a capacidade de escolher aquelas opções que trarão melhores resultados.

: Seleção das combinações de atributos que serão utilizadas no processo

Para exemplificar a utilização das combinações, considerar que usuário selecione as

opções “Todos os atributos” e “Só os atributos numéricos” e após selecione quatro atributos

atr1, atr2, atr3, atr4 >, sendo atr1 numérico e os outros cate

góricos. Isto significa que na quarta etapa da estratégia devem ser realizadas duas avaliações

na base de treino: (i) a primeira será o teste de imputação com o uso de todos os atributos

selecionados, isto é, uma tupla com ausência é comparada com as completas a partir de todos

os atributos da tabela de fatos mais atr1 , atr2 , atr3 e atr4 ; (ii) a segunda avaliação

será testada somente com os atributos numéricos, isto é, todos da tabela de fatos mais

para a comparação entre tuplas.

A próxima configuração realizada pelo usuário é feita para informar qual atributo da

tabela de fatos que apresenta ausência deve ser imputado pela ferramenta. A figura 5.

casos completos das tuplas que serão observadas na imputação. A configura-

Nas configurações iniciais também é necessário informar a escolha das combinações de

so de imputação. A figura 5.4 exibe as

opções existentes, que são referentes aos atributos das dimensões que serão selecionados futu-

ramente pelo usuário. Essas opções fazem parte da heurística dos tipos de combinações de

a 3 da estratégia de imputação, descrita no capítulo 4. Nem

todas as combinações precisam ser testadas, uma vez que o analista pode conhecer bem o

problema e ter a capacidade de escolher aquelas opções que trarão melhores resultados.

: Seleção das combinações de atributos que serão utilizadas no processo

Para exemplificar a utilização das combinações, considerar que usuário selecione as

selecione quatro atributos

numérico e os outros cate-

góricos. Isto significa que na quarta etapa da estratégia devem ser realizadas duas avaliações

tação com o uso de todos os atributos

selecionados, isto é, uma tupla com ausência é comparada com as completas a partir de todos

; (ii) a segunda avaliação

uméricos, isto é, todos da tabela de fatos mais atr1

A próxima configuração realizada pelo usuário é feita para informar qual atributo da

tabela de fatos que apresenta ausência deve ser imputado pela ferramenta. A figura 5.5 apre-

senta um exemplo da tela de seleção de atributo ausente. É mostrada uma tabela com o nome,

o tipo e informa se há ausência ou não para cada atributo. A ferramenta verifica quais atribu

tos numéricos apresentam ausência e permite que o usuário seleci

imputado. Na tabela de fatos podem existir um ou mais problemas de atributos com ausência.

Porém, este trabalho só tratará de problemas univariados e somente serão imputados atributos

do tipo numérico.

FIG. 5.5: Exemplo de seleção do atributo com ausência

Após a seleção do atributo com ausência, o usuário deve escolher os atributos que melhor

representam a proveniência da dimensão. Esses serão utilizados na montagem do conjunto de

combinações de atributos, mas somente aqueles tipos de combinações que foram selecionados

pelo usuário. Consequentemente, alguns ou todos os atributos selecionados serão utilizados

para o enriquecimento da tabela de fatos, ao ser imputada a base real.

É preciso, portanto, informar corretamente o tipo dos atributos que serão usados no enri

quecimento na tabela de fatos. Alguns atributos, apesar de terem valores numéricos, como os

inteiros, podem ter significados de categóricos. Por exemplo, o atributo

da dimensão orders , visto na figura 5.6, que informa a prioridade do envio de uma enco

menda, pode ter sido mapeado anteriormente na etapa de transformação do processo de ETL

como um atributo numérico, por questões de desempenho. No entanto, na lógica

dos sistemas fonte, o atributo é visto como um categórico. É de grande importância que o

analista informe essa particularidade do atributo, uma vez que o cálculo da distância entre

duas tuplas é diferente de acordo com o tipo dos atributos.

67

senta um exemplo da tela de seleção de atributo ausente. É mostrada uma tabela com o nome,

o tipo e informa se há ausência ou não para cada atributo. A ferramenta verifica quais atribu

tos numéricos apresentam ausência e permite que o usuário selecione aquele que deve ser

imputado. Na tabela de fatos podem existir um ou mais problemas de atributos com ausência.

Porém, este trabalho só tratará de problemas univariados e somente serão imputados atributos

: Exemplo de seleção do atributo com ausência

Após a seleção do atributo com ausência, o usuário deve escolher os atributos que melhor

representam a proveniência da dimensão. Esses serão utilizados na montagem do conjunto de

nações de atributos, mas somente aqueles tipos de combinações que foram selecionados

pelo usuário. Consequentemente, alguns ou todos os atributos selecionados serão utilizados

para o enriquecimento da tabela de fatos, ao ser imputada a base real.

, portanto, informar corretamente o tipo dos atributos que serão usados no enri

quecimento na tabela de fatos. Alguns atributos, apesar de terem valores numéricos, como os

inteiros, podem ter significados de categóricos. Por exemplo, o atributo o_shipprior

, visto na figura 5.6, que informa a prioridade do envio de uma enco

menda, pode ter sido mapeado anteriormente na etapa de transformação do processo de ETL

como um atributo numérico, por questões de desempenho. No entanto, na lógica

dos sistemas fonte, o atributo é visto como um categórico. É de grande importância que o

analista informe essa particularidade do atributo, uma vez que o cálculo da distância entre

duas tuplas é diferente de acordo com o tipo dos atributos.

senta um exemplo da tela de seleção de atributo ausente. É mostrada uma tabela com o nome,

o tipo e informa se há ausência ou não para cada atributo. A ferramenta verifica quais atribu-

one aquele que deve ser

imputado. Na tabela de fatos podem existir um ou mais problemas de atributos com ausência.

Porém, este trabalho só tratará de problemas univariados e somente serão imputados atributos

: Exemplo de seleção do atributo com ausência

Após a seleção do atributo com ausência, o usuário deve escolher os atributos que melhor

representam a proveniência da dimensão. Esses serão utilizados na montagem do conjunto de

nações de atributos, mas somente aqueles tipos de combinações que foram selecionados

pelo usuário. Consequentemente, alguns ou todos os atributos selecionados serão utilizados

, portanto, informar corretamente o tipo dos atributos que serão usados no enri-

quecimento na tabela de fatos. Alguns atributos, apesar de terem valores numéricos, como os

o_shipprior ity

, visto na figura 5.6, que informa a prioridade do envio de uma enco-

menda, pode ter sido mapeado anteriormente na etapa de transformação do processo de ETL

como um atributo numérico, por questões de desempenho. No entanto, na lógica de negócio

dos sistemas fonte, o atributo é visto como um categórico. É de grande importância que o

analista informe essa particularidade do atributo, uma vez que o cálculo da distância entre

FIG. 5.6: Exemplo da seleção de atributos de uma dimensão

Para diminuir a quantidade de acesso à base, os metadados das tabelas são salvos em um

arquivo XML. Ele é gerado na primeira vez que a ferramenta trata de

é modificado caso o usuário manipule algum metadado na estratégia, antes da imputação de

dados. Um exemplo do arquivo é mostrado no Apêndice 9.1.

Tendo o usuário configurado os parâmetros iniciais, a ferramenta precisa identificar q

tabela é a de fatos e quais são as dimensões na base do DW da base selecionada anterior

mente. Como estamos considerando a utilização dentro do DW de um esquema estrela tradi

cional e enxuto, isto é, sem dependência entre as dimensões e com só uma tabe

Esse reconhecimento das tabelas é feito pela característica da tabela de fatos possuir as chaves

das dimensões. A ferramenta então verifica a tabela que apresenta chaves estrangeiras e a

considera como tabela de fatos e todas as outras como di

Após a identificação inicial é realizada a desnormalização da tabela de fatos para o cál

culo da estimativa de seletividade dos atributos das dimensões, quando relacionadas às tuplas

da tabela de fatos. Uma base de dados chamada

desnormal , isto é, a tabela desnormalizada. Ela é composta por todos os atributos da tabela

de fatos e das dimensões.

Se considerarmos o exemplo da figura 4.2

ção das tuplas das dimensões

tabela de fatos Venda . A figura

tabela venda é composta pela combinação das chaves das dimensões, além das métricas, a

68

: Exemplo da seleção de atributos de uma dimensão

Para diminuir a quantidade de acesso à base, os metadados das tabelas são salvos em um

arquivo XML. Ele é gerado na primeira vez que a ferramenta trata de uma base de dados e só

é modificado caso o usuário manipule algum metadado na estratégia, antes da imputação de

dados. Um exemplo do arquivo é mostrado no Apêndice 9.1.

Tendo o usuário configurado os parâmetros iniciais, a ferramenta precisa identificar q

tabela é a de fatos e quais são as dimensões na base do DW da base selecionada anterior

mente. Como estamos considerando a utilização dentro do DW de um esquema estrela tradi

cional e enxuto, isto é, sem dependência entre as dimensões e com só uma tabe

Esse reconhecimento das tabelas é feito pela característica da tabela de fatos possuir as chaves

das dimensões. A ferramenta então verifica a tabela que apresenta chaves estrangeiras e a

considera como tabela de fatos e todas as outras como dimensões.

Após a identificação inicial é realizada a desnormalização da tabela de fatos para o cál

culo da estimativa de seletividade dos atributos das dimensões, quando relacionadas às tuplas

da tabela de fatos. Uma base de dados chamada jb_desnormal é criada para armazenar

, isto é, a tabela desnormalizada. Ela é composta por todos os atributos da tabela

derarmos o exemplo da figura 4.2(a), a desnormalização das tabelas seria a jun

ção das tuplas das dimensões Produto , Cliente , Fornecedor

. A figura 4.2(b) apresenta o exemplo da tabela desnormal

tabela venda é composta pela combinação das chaves das dimensões, além das métricas, a

: Exemplo da seleção de atributos de uma dimensão

Para diminuir a quantidade de acesso à base, os metadados das tabelas são salvos em um

uma base de dados e só

é modificado caso o usuário manipule algum metadado na estratégia, antes da imputação de

Tendo o usuário configurado os parâmetros iniciais, a ferramenta precisa identificar qual

tabela é a de fatos e quais são as dimensões na base do DW da base selecionada anterior-

mente. Como estamos considerando a utilização dentro do DW de um esquema estrela tradi-

cional e enxuto, isto é, sem dependência entre as dimensões e com só uma tabela de fatos.

Esse reconhecimento das tabelas é feito pela característica da tabela de fatos possuir as chaves

das dimensões. A ferramenta então verifica a tabela que apresenta chaves estrangeiras e a

Após a identificação inicial é realizada a desnormalização da tabela de fatos para o cál-

culo da estimativa de seletividade dos atributos das dimensões, quando relacionadas às tuplas

iada para armazenar

, isto é, a tabela desnormalizada. Ela é composta por todos os atributos da tabela

(a), a desnormalização das tabelas seria a jun-

Fornecedor e Tempo com a

desnormal . Como a

tabela venda é composta pela combinação das chaves das dimensões, além das métricas, a

69

junção é possível de ser realizada. Em outras palavras, os valores de cada tupla de uma

dimensão referenciada tabela de fatos será incluída na tabela desnormal , além da tupla da

tabela de fatos.

As chaves das dimensões na tabela de fatos são, normalmente, chaves estrangeiras. Com

isso, a ferramenta consegue identificar quais tuplas devem ser trazidas para preencher

desnormal . No entanto, ao ser criada a tabela desnormalizada não há necessidade de espe-

cificar as ligações via chaves que há entre a tabela de fatos e as dimensões. Isso que dizer que

não é preciso indicar os atributos que correspondem às chaves estrangeiras na tabela de fatos

desnormalizada, uma vez os atributos das dimensões já estão na nova tabela. Além do mais,

as informações de restrições causarão um maior esforço do SGBD para verificar as referên-

cias das chaves nas dimensões de cada tupla adicionada. No lugar delas foi utilizada uma

chave primária artificial, conhecida como surrogate key, evitando assim a sobrecarga que

causaria a composição das chaves estrangeiras na inserção de novos dados na base.

Um atributo autoincremental e chave primária, chamado id, foi adicionado à tabela

desnormal . Essa inclusão se deve às posteriores consultas que serão feitas na tabela para a

comparação dos valores gerados na terceira etapa da estratégia. Desta forma, serão utilizadas

pelo SGBD as otimizações proporcionadas pelos índices primários.

Mesmo não considerando as chaves das dimensões na tabela desnormal , a junção das

tuplas da tabela de fatos com as dimensões é um processo que demanda tempo e processa-

mento do sistema do DW. Para diminuir esse problema, é de grande importância que sempre

quando houver uma nova carga na tabela de fatos da base real, uma carga de dados também

seja realizada na tabela desnormal com esses novos fatos adicionados ao DW, por um

módulo de integração entre o sistema do armazém com a estratégia proposta. São mantidas,

portanto, duas tabelas de fatos: a da base real e a desnormalizada.

Uma vez já formada e povoada a tabela desnormal , os cálculos das estimativas da

seletividade dos atributos são realizados e exibidos ao usuário. O usuário deve, então, selecio-

nar aqueles atributos que podem ser utilizados no enriquecimento da tabela de fatos. A figura

5.7 exibe um exemplo de tela para essa seleção. O usuário pode definir se um atributo que

está armazenado na base como um tipo numérico é considerado no escopo do negócio como

um categórico. Caso isso seja verdadeiro, ele seleciona a opção Categórico , que se

encontra na tela ao lado do tipo nativo do atributo, e essa informação será armazenada no

arquivo XML da configuração da dimensão.

FIG. 5.7: Exemplo de tela para seleção de atributos de dimensões, exibindo a seletividade de

Ao obter os atributos selecionados p

nações de atributos, definido pela heurística descrita no capítulo 4, para serem usados na etapa

do cálculo das distâncias. Cada combinação guardará a quantidade total de tuplas que serão

comparadas e, para cada comparação, armazenará a diferença entre o novo valor gerado pelo

k-NN com o valor real. A escolha do conjunto de atributos (combinação) ideal para aplicar

sobre a base real será descrita com maiores detalhes na subseção 5.2.3.

5.2.2 PREPARAR A BASE DE T

Para identificar qual combinação de atributos apresentará menor taxa de erro no processo de

imputação, é preparada uma base de treino para testar o algoritmo com o conjunto de combi

nações.

A ferramenta utiliza a tabela

dessa, com a diferença de que só serão inseridas na cópia as tuplas que não apresentam valo

res ausentes. Depois é calculada a porcentagem de valores ausentes que há no atributo X

70

: Exemplo de tela para seleção de atributos de dimensões, exibindo a seletividade de

cada atributo

Ao obter os atributos selecionados pelo usuário, a ferramenta cria o conjunto de combi

nações de atributos, definido pela heurística descrita no capítulo 4, para serem usados na etapa

do cálculo das distâncias. Cada combinação guardará a quantidade total de tuplas que serão

a cada comparação, armazenará a diferença entre o novo valor gerado pelo

NN com o valor real. A escolha do conjunto de atributos (combinação) ideal para aplicar

sobre a base real será descrita com maiores detalhes na subseção 5.2.3.

PREPARAR A BASE DE TREINO

Para identificar qual combinação de atributos apresentará menor taxa de erro no processo de

imputação, é preparada uma base de treino para testar o algoritmo com o conjunto de combi

A ferramenta utiliza a tabela desnormal , criada no primeiro passo, e gera uma cópia

dessa, com a diferença de que só serão inseridas na cópia as tuplas que não apresentam valo

res ausentes. Depois é calculada a porcentagem de valores ausentes que há no atributo X

: Exemplo de tela para seleção de atributos de dimensões, exibindo a seletividade de

elo usuário, a ferramenta cria o conjunto de combi-

nações de atributos, definido pela heurística descrita no capítulo 4, para serem usados na etapa

do cálculo das distâncias. Cada combinação guardará a quantidade total de tuplas que serão

a cada comparação, armazenará a diferença entre o novo valor gerado pelo

NN com o valor real. A escolha do conjunto de atributos (combinação) ideal para aplicar

Para identificar qual combinação de atributos apresentará menor taxa de erro no processo de

imputação, é preparada uma base de treino para testar o algoritmo com o conjunto de combi-

o passo, e gera uma cópia

dessa, com a diferença de que só serão inseridas na cópia as tuplas que não apresentam valo-

res ausentes. Depois é calculada a porcentagem de valores ausentes que há no atributo Xi, na

71

tabela desnormal . Esse cálculo é realizado com base na diferença entre a quantidade de

tuplas das duas tabelas.

Ao ser identificado o percentual de ausência, serão adicionados, randomicamente, esse

mesmo percentual de valores nulos no atributo xi da cópia da tabela desnormal . Por exem-

plo, se 10% das tuplas da tabela desnormal apresenta ausência no atributo xi, serão induzi-

dos, nesse mesmo atributo na cópia de desnormal , 10% de valores ausentes. Com isto,

poderão ser comparados os valores que serão gerados a partir do uso do algoritmo k-NN, uti-

lizando cada combinação do conjunto de combinações de atributos definido na etapa anterior,

com os valores reais que estão na desnormal original.

5.2.3 CALCULAR TAXA DE ERRO POR CADA COMBINAÇÃO DE ATRIBUTOS

Esta etapa é realizada sobre a cópia da tabela desnormal (copia_desnormal ). Por

causa da restrição de memória do ambiente de programação do Java, a ferramenta recupera na

tabela, por meio de uma consulta à base de dados, 100 tuplas com valor ausente em um atri-

buto para o processo de imputação.

Como dito na subseção 5.2.2, para cada tupla com valor ausente encontrada na base, seu

valor original é recuperado na base real. Isso acontece para que possa ser realizada uma com-

paração entre o novo valor que o k-NN gerará com o valor real.

Nesta terceira etapa é calculada, para cada tupla com valor ausente, a diferença entre o

valor novo e o real com o uso do conjunto de combinações de atributos. Para que isso acon-

teça, a ferramenta seleciona uma combinação por vez do conjunto e recupera os k vizinhos

mais próximos da base de dados, calculando o novo valor, com base nesses vizinhos. Depois

disso, a diferença é calculada e acumulada, como descreve o algoritmo 5.1.

Todas as tuplas com valor ausente na base de treino, isto é, aquelas que compõem a cópia

da tabela desnormal , passarão pelo processo. Uma dessas tuplas é utilizada na etapa e seu

valor real na base desnormal é armazenado numa variável do programa. Após, são recupe-

rados da base de treino os k vizinhos mais próximos com a utilização das combinações de

atributos. Há uma lista de tamanho k onde ficam armazenadas todas as tuplas que apresentam

menores distâncias da tupla com ausência, encontradas na base de treino.

Enquanto houver tupla com valor ausente em copia_desnormal faça

ValorReal = valor real da tupla na tabela desnormal;

72

Enquanto houver combinação de atributos faça

NovoValor = aplicação do algoritmo k-NN com base na combinação[i];

DiferençaValor = ValorReal – ValorNovo;

Incrementar DiferençaValor à combinação[i];

Ir para a próxima combinação;

Fim-enquanto

Fim-enquanto

ALG 5.1: Pseudocódigo da terceira etapa da estratégia

Com o uso do algoritmo k-NN um novo valor é gerado pela média das k tuplas mais

próximas da tupla selecionada. O programa então calcula a diferença entre o valor novo e o

valor real para que seja incrementada à combinação utilizada. Cada combinação é responsável

por armazenar a soma dos resultados das diferenças entre os valores novos gerados por seus

respectivos valores reais, que no pseudocódigo está representado por DiferençaValor. Ao ser

adicionado o valor de uma diferença a uma combinação é também incrementado mais um à

quantidade de tuplas completas que utilizaram a combinação. Esses valores são armazenados

para ser aplicada posteriormente a métrica RAD, descrita no capítulo 4.

Pode ser observado que todas as tuplas com valor ausente serão comparadas com as tu-

plas completas. Esse não é um processo rápido, dependendo da quantidade de tuplas que há

na base, a etapa pode durar muitas horas. Nesse ponto podem ser aplicados filtros temporais

para só serem consideradas na imputação as tuplas mais recentes e não a base completa. Isso

diminuiria a quantidade de tuplas para a comparação e, assim, o tempo de processamento

seria menor.

5.2.4 APLICAÇÃO DO ALGORITMO NA BASE REAL

A última etapa da implementação é a aplicação da estratégia na base real. A ferramenta ana-

lisa o conjunto de combinações de atributos, verificando qual das combinações tem a menor

taxa de erro, com a métrica RAD. Seleciona o conjunto com menor taxa e a utiliza na imputa-

ção da base real.

Não geramos nova tabela desnormalizada com a combinação de atributos escolhida, pois

levaria a um processamento longo e desnecessário. A tabela desnormal atende a nossa

73

necessidade de uma tabela de junção, uma vez que ela apresenta todos os valores da tabela de

fatos mais todos os atributos de enriquecimento selecionados pelo usuário. Logo, não é pre-

ciso criar outra tabela somente com os atributos da combinação de menor taxa para recuperar

os k vizinhos mais próximos. Somente serão recuperados para a aplicação os valores dos atri-

butos de enriquecimento que estão na combinação.

Para exemplificar, considere uma tabela desnormal que é formada pelos atributos da

tabela de fatos da figura 5.7. Na etapa de seleção de atributos, o analista seleciona: dois atri-

butos categóricos tipo e tamanho da dimensão Produto ; ano , numérico, da dimensão

Tempo; e o atributo categórico segMarketing , da dimensão Cliente . Ao passar pelo

processo, foi verificado que a combinação que contém somente atributos de enriquecimento

categóricos, isto é, <tipo, tamanho, segMarketing > teve menor taxa de erro. Logo,

somente serão carregadas à memória na execução da ferramenta para a comparação das tuplas

ausentes com as completas as métricas da tabela de fatos mais os atributos de enriquecimento

da combinação com menor taxa de erro.

Portanto, o cálculo do novo valor das reais tuplas com ausência, as vindas das fontes, será

realizado sobre a tabela desnormal na base jb_desnormal com os atributos de enri-

quecimento. Após obter valor para a imputação, é atualizada a tabela de fatos real a partir da

chave primária na tabela desnormal que é a mesma da tabela de fatos real. Esse valor

também é atualizado na tabela desnormal .

5.3 CONSIDERAÇÕES FINAIS

Este capítulo descreveu o funcionamento da ferramenta de imputação na tabela de fatos enri-

quecendo-a com atributos de proveniência vindo das dimensões. Para tal, é preciso que um

analista do DW configure alguns parâmetros, como a seleção dos atributos de enriquecimento

e quais características terão as combinações de atributos para testes que indicarão a combina-

ção que trará melhor resultado de imputação. Uma base de treino é criada para os testes do

conjunto. Essa base de treino consiste na desnormalização da tabela de fatos com os atributos

das dimensões.

No desenvolvimento da ferramenta, foram realizados alguns testes que ajudaram no

refinamento das quatro etapas descritas neste capítulo. No próximo capítulo serão mostrados

dois momentos de testes executados com a ferramenta: no primeiro foram feitos testes em

bases pequenas. Esses foram realizados para analisar quais tipos de combinações de atributos

74

poderiam ter maior relevância no processo; no segundo momento os testes foram realizados

em grandes bases de dados. Esses mostraram que o processo requer bastante tempo. Melho-

rias que diminuíssem o tempo de processamento foram adicionadas à estratégia, como a ali-

mentação da base de dados desnomal periodicamente.

75

6 TESTES E RESULTADOS

Conforme descrito no capítulo 4, a configuração da heurística para seleção dos tipos de com-

binações de atributos da estratégia de imputação dos valores ausentes foi desenvolvida a partir

de observações de testes iniciais feitos usando o protótipo ComplETL, descrito no capítulo

anterior. Este capítulo apresenta os testes iniciais, e seus respectivos resultados. A partir deles

foi possível definir se os valores contidos em cada atributo deveriam ser normalizados e a

escolha da medida da distância entre tuplas. O capítulo mostra ainda os testes efetivos que

foram realizados utilizando a heurística já definida.

Para a realização dos experimentos primeiro foi criada uma base que possibilitasse os

treinos iniciais. Foi usado o TPC-H (TPC, 2009), um dos benchmarks oferecidos por uma

organização que disponibiliza benchmarks de base de dados, usados na avaliação de sistemas,

o TPC (Transaction Processing Performance Council) (TPC, 2009). Foram necessárias algu-

mas alterações em esquema do TPC-H para adequá-lo a um esquema típico de um ambiente

de DW. Essas alterações foram feitas com o auxílio do Kettle, uma das ferramentas disponí-

veis no Pentaho OpenSource Business Intelligence (Pentaho, 2009), um conjunto ferramental

voltado a DW. O Kettle tem por objetivo apoiar o desenvolvimento de soluções para a etapa

de transformação de dados no processo de ETL. Por isso, através dele foram realizadas as

transformações necessárias, como a criação da dimensão Date, a ligação da nova dimensão à

tabela de fatos, entre outras transformações.

A mesma estrutura de base utilizada nos testes iniciais foi também usada nos testes poste-

riores (efetivos) com a heurística já definida, alterando o tamanho da base. Cabe ressaltar que

a abordagem de imputação utilizada foi o k-NN, e nos testes efetivos foram descartados os

valores de k iguais a 3 e a 5, e apenas considerados os valores 10 e a raiz quadrada do total de

casos completos na tabela de fatos. Esses valores menores de k foram ignorados, pois apre-

sentaram resultados melhores do que o k=10. O valor maior também teve taxas maiores, mas

foi mantido para ser verificado o comportamento da estratégia com um k alto.

76

A máquina utilizada tanto para os testes iniciais quanto os efetivos é composta pelo

processador Core 2 Duo, com 4 GB de memória RAM, 360 GB de espaço em disco e o sis-

tema operacional utilizado foi o Windows 7.

6.1 BASE DE TESTES

Para a realização dos testes iniciais na ferramenta ComplETL, foi necessária a criação de uma

base que apresentasse características típicas de um DW.

FIG. 6.1: Esquema do TPC-H original

Dentre os benchmarks disponíveis no TPC, 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. A figura 6.1 exibe o esquema original do TPC-H. Além dos dados, o

benchmark também especifica um conjunto de consultas analíticas e fornece um aplicativo

chamado DBGEN para a geração dos dados, em forma de arquivo texto. O programa não ofe-

rece meios visuais de manipulação dos arquivos e gerados, nem para realizar mudanças no

esquema de dados. Dessa forma, tornam-se difíceis as adaptações necessárias para avaliação

de cenários alternativos sobre esquema previamente definido pelo DBGEN.

O TPC-H foi escolhido por sua estrutura apresentar um ambiente típico de DW. As tabe-

las de dimensão no esquema do benchmark são organizadas segundo um esquema floco de

77

neve, isto é, as dimensões estão normalizadas. Houve necessidade de mudança no esquema,

para um esquema estrela típico, por ser também adequado e mais simples para ambientes de

data warehouses. Essa mudança é descrita no decorrer desta subseção. Desnormalizar as

tabelas dentro da ferramenta ComplETL aumentaria mais o tempo de processamento. Além

do mais, outras mudanças foram necessárias, a saber: uma tabela de fatos somente no es-

quema, já que o TPC-H apresenta duas, LINEITEM e PARTSUPP, e a ausência de uma

dimensão que indicasse o tempo, na qual os fatos estão associados. Para a primeira, foi pre-

ciso retirar uma das tabelas de fatos e à segunda mudança, uma dimensão DATE foi acrescen-

tada ao esquema, considerando os dados contidos no atributo SHIPDATE da tabela de fatos

LINEITEM .

Pela dificuldade encontrada em manusear o DBGEN diretamente, foi utilizada a ferra-

menta VisualTPCH (Domingues et al, 2008) para a geração dos dados sintéticos. A

ferramenta VisualTPCH permitiu a manipulação do esquema TPC-H, a geração de níveis de

agregação para os dados armazenados no DW e o armazenamento dos dados gerados em dife-

rentes SGBDs. Ela também permitiu uma adaptação do esquema original do TPC-H, a reti-

rada da segunda tabela de fatos, a PARTSUPP. Essa foi retirada por apresentar somente um

relacionamento entre duas dimensões, não contribuindo diretamente para os testes.

FIG. 6.2: Fluxo de transformações implementado usando a ferramenta Kettle (Pentaho, 2009)

78

As outras adaptações necessárias ao TPC-H foram realizadas com o uso do PDI (Pentaho

Data Integrator) (Pentaho, 2009), também conhecido como Kettle, um acrônimo para Kettle

Extraction, Transformation, Transportation, and Loading Environment. É uma ferramenta

que tem como objetivo apoiar a realização do processo de ETL em sistemas de DW. A fer-

ramenta faz parte do Pentaho, projeto que agrega subprojetos na comunidade de código aberto

para a análise de dados. A versão da ferramenta utilizada foi a Spoon 3.0.4. A ferramenta

permite criação de transformations que representam ações realizadas sobre bases de dados.

As transformations contêm steps, representando uma ação, e hops, que interligam os steps. A

figura 6.2 representa uma transformation com diversos steps e suas ligações.

Com a ajuda do Kettle, houve a inclusão da tabela DATE e o processo de des-

normalização da estrutura das tabelas do TPC-H, passando do esquema floco de neve original

para o esquema estrela. Isso consistiu em combinar as tabelas NATION e REGION, nas tabe-

las SUPPLIER e CUSTOMER. Também a tabela CUSTOMER foi combinada com ORDERS.

Para a tabela DATE, o Kettle possibilitou a criação de uma massa de dados que considerasse

todas as possibilidade de datas geradas pelo VisualTPCH. Com isso, a coluna L_SHIPDATE

de LINEITEM passou a fazer referência à chave de identificação da tabela DATE, além de ter

sido renomeada para L_SHIPDATEKEY.

FIG. 6.3: Adaptação realizada no esquema de dados do TPC-H

79

Para auxiliar na aproximação dos valores entre tuplas, foram incluídos nas tabelas

SUPPLIER e ORDERS os dados sobre a longitude (NATION-LONGITUDE) e a latitude

(NATION-LATITUDE) da nação contida nos atributos NATIONNAME das tabelas. Uma ta-

bela informando a latitude e longitude das nações existentes nas tabelas foi usada para fazer

essa inclusão. A figura 6.3 mostra as adaptações que foram realizadas no esquema do TPC-H.

6.2 TESTES INICIAIS

Testes iniciais para a comparação das taxas de erro das imputações utilizando a estratégia

descrita neste trabalho foram realizados. Conforme dito anteriormente, os testes iniciais tive-

ram três objetivos: 1) definir qual cálculo de distância entre tuplas seria usada na estratégia, se

o da distância Euclidiana ou Mixed Types; 2) analisar se seria necessário normalizar os valo-

res de cada atributo que seria utilizado na imputação; 3) definir a configuração da heurística

de seleção do conjunto de combinações de atributos, isto é, quais combinações seriam consi-

deradas no cômputo da distância entre os fatos, a partir de um conjunto de atributos selecio-

nados pelo usuário.

Também foram realizados testes de referências, os quais avaliaram a imputação de dados

sem o enriquecimento da tabela de fatos. Os valores resultantes obtidos nesses testes são utili-

zados no decorrer deste capítulo para comparação com os resultados dos testes sobre a tabela

de fatos enriquecida.

Para os testes iniciais foi utilizada uma base de dados com 1MB de tamanho, o que gera

uma tabela de fatos composta por, aproximadamente, 5.000 tuplas. O algoritmo k-NN foi uti-

lizado, havendo variação dos valores no total de vizinhos mais próximos - k. Não há uma heu-

rística na literatura que sugira o valor ideal para o k. Em (Soares, 2007) é mostrada uma

discussão sobre trabalhos que estudam a quantidade ideal de vizinhos. Para os testes iniciais

deste trabalho foram consideradas quatro possibilidades para o valor de k, a saber: igual a 3,

5, 10 e a raiz quadrada do valor total de casos completos (�!6). Esses valores foram escolhi-

dos para verificarmos qual traria menores taxas de erro. No entanto, alguns testes iniciais não

consideraram k=10, pois só decidimos que seria relevante testá-lo depois que verificamos que

os resultados melhores eram vistos quando k=3 ou k=5.

Os valores ausentes foram gerados de forma artificial, como mostra o comando SQL na

figura 6.4. A métrica QUANTITY da tabela de fatos do TPC-H foi selecionada para que as

ausências fossem inseridas. Dentre as métricas do benchmark, essa foi utilizada por ser mais

80

representativa no contexto de venda de produtos do que as outras. Outras métricas não foram

consideradas, pois existia uma grande quantidade de alternativas que precisaria ser analisada.

O total de registros com ausência em QUANTITY foi de 10%, pois é um percentual possível

de ausências encontradas em base de dados (Soares, 2007), representado pela variável @DEZ.

O mecanismo de ausência utilizado foi o MCAR, com a função RAND() , própria do MySQL,

a qual seleciona registros randomicamente. A cláusula LIMIT informa o total de registros que

serão selecionadas pela função randômica.

UPDATE tabelaFatos

SET metrica = NULL

WHERE metrica IS NOT NULL

ORDER BY RAND()

LIMIT @DEZ

FIG. 6.4: Comando de SQL para geração artificial de valores ausentes

A seleção de atributos de proveniência para o cálculo da distância foi realizada a partir de

critérios diferentes, de acordo com o objetivo dos testes:

1. Pela classificação de proveniência: foram configurados cenários com atributos que

pudessem responder às perguntas: “Onde foi gerado?”, “ Quem gerou o fato?” e

“Quando foi gerado?”. No decorrer do texto essas configurações/cenários são

chamadas de “Onde”, “Quem” e “Quando”, respectivamente. Para cada cenário

exibido na tabela 6.1, os testes foram feitos para cada valor de k. A seletividade não

foi fator determinante na escolha de um atributo desse critério. A quantidade de

atributos nos tipos de testes foi variada, para verificar a influência desse fator. Houve,

no entanto, dificuldade em classificar os atributos nas perguntas, por não encontrarmos

um dicionário de dados da base do TPC-H relatando o que cada um significa. Apesar

disso, utilizamos esse critério nos testes para seleção da métrica de distância a utilizar

e para optar pela normalização de valores dos atributos numéricos.

TAB. 6.1: Cenários utilizados nos testes iniciais

Cenário Tipo de Atributos i Que represente a proveniência “Onde” ii Que represente a proveniência “Quem” iii Que represente a proveniência “Quando”

iv Todos os atributos selecionados nos cená-

rios anteriores

2. Pelo tipo e a seletividade: testes foram feitos para cada valor de k, con

cenários: (i) somente atributos numéricos; (ii) somente atributos categóricos e (iii)

todos os atributos em (i) e (ii). Para cada cenário foram escolhidos os atributos de

maior estimativa de seletividade, informação exibida pela ferramenta

6.2.1 TESTES DE REFERÊNCIAS

Com intuito de estabelecer uma base de comparação com os testes que utilizam atributos de

proveniência, foram realizados testes de referência, considerando so

tabela de fatos original (sem enriquecime

na média dos valores das tuplas completas; e (ii) usando a abordagem de imputação com base

no algoritmo k-NN.

A abordagem da média é uma forma simples de imputação de dados. O critério de sujeira

da base para este teste foi o mesmo descrito no início desta seção. A abordagem teve resul

tado 1,9051 de taxa de erro. Como comentado no capítulo 3, essa abordagem não apresenta

bons resultados. Apenas usamos o seu resultado como linha de corte, para identificar o

que apresentaram taxa de erro muito elevada, isto é, aqueles que apresentaram taxa maior do

que esta linha de corte (neste caso, maior do que 1,9).

Para a abordagem do k-NN, a distância Euclidiana foi a métrica usada para rea

culo das distâncias entre tuplas e as chaves estrangeiras eram as únicas referências às dimen

sões. Não foi realizado o teste considerando 10 o total de vizi

avaliação fez parte dos primeiros testes, nos quais ainda não era considerado esse

A figura 6.5 exibe o gráfico com os resultados.

K Sem

Enriquecimento k = 3 1,2072460 k = 5 1,3063533

k = √nc 1,3264720

FIG. 6.5: Resultado das taxas de erro dos testes de imputação da tab

81

Pelo tipo e a seletividade: testes foram feitos para cada valor de k, con

nários: (i) somente atributos numéricos; (ii) somente atributos categóricos e (iii)

todos os atributos em (i) e (ii). Para cada cenário foram escolhidos os atributos de

maior estimativa de seletividade, informação exibida pela ferramenta

TESTES DE REFERÊNCIAS

Com intuito de estabelecer uma base de comparação com os testes que utilizam atributos de

proveniência, foram realizados testes de referência, considerando somente os atributos da

tabela de fatos original (sem enriquecimento): (i) usando a abordagem de imputação com base

na média dos valores das tuplas completas; e (ii) usando a abordagem de imputação com base

A abordagem da média é uma forma simples de imputação de dados. O critério de sujeira

ara este teste foi o mesmo descrito no início desta seção. A abordagem teve resul

tado 1,9051 de taxa de erro. Como comentado no capítulo 3, essa abordagem não apresenta

bons resultados. Apenas usamos o seu resultado como linha de corte, para identificar o

que apresentaram taxa de erro muito elevada, isto é, aqueles que apresentaram taxa maior do

que esta linha de corte (neste caso, maior do que 1,9).

NN, a distância Euclidiana foi a métrica usada para rea

distâncias entre tuplas e as chaves estrangeiras eram as únicas referências às dimen

sões. Não foi realizado o teste considerando 10 o total de vizinhos mais próximos. Essa

avaliação fez parte dos primeiros testes, nos quais ainda não era considerado esse

A figura 6.5 exibe o gráfico com os resultados.

: Resultado das taxas de erro dos testes de imputação da tabela de fatos sem

enriquecimento.

Pelo tipo e a seletividade: testes foram feitos para cada valor de k, considerando três

nários: (i) somente atributos numéricos; (ii) somente atributos categóricos e (iii)

todos os atributos em (i) e (ii). Para cada cenário foram escolhidos os atributos de

maior estimativa de seletividade, informação exibida pela ferramenta ComplETL.

Com intuito de estabelecer uma base de comparação com os testes que utilizam atributos de

mente os atributos da

nto): (i) usando a abordagem de imputação com base

na média dos valores das tuplas completas; e (ii) usando a abordagem de imputação com base

A abordagem da média é uma forma simples de imputação de dados. O critério de sujeira

ara este teste foi o mesmo descrito no início desta seção. A abordagem teve resul-

tado 1,9051 de taxa de erro. Como comentado no capítulo 3, essa abordagem não apresenta

bons resultados. Apenas usamos o seu resultado como linha de corte, para identificar os testes

que apresentaram taxa de erro muito elevada, isto é, aqueles que apresentaram taxa maior do

NN, a distância Euclidiana foi a métrica usada para realizar o cál-

distâncias entre tuplas e as chaves estrangeiras eram as únicas referências às dimen-

nhos mais próximos. Essa

avaliação fez parte dos primeiros testes, nos quais ainda não era considerado esse valor de k.

ela de fatos sem

82

A menor taxa de erro foi verificada ao utilizar k=3, porém a diferença não foi muito signi-

ficativa em relação aos resultados com os outros valores de k. Ao comparar a menor taxa de

erro (k=3) com a maior taxa de erro (k=�!6), a diferença é de aproximadamente 10%. A

média das taxas de erro com os diferentes valores de k é 1,2800. Esse valor é 48% inferior à

linha de corte, o que significa que para qualquer valor de k, o uso do algoritmo k-NN é de fato

uma abordagem significantemente melhor que a abordagem da média simples.

6.2.2 TESTES PARA DEFINIÇÃO DA MÉTRICA PARA O CÁLCULO DA DISTÂNCIA

Para compor a ComplETL, duas métricas para cálculo de distância entre tuplas foram incor-

poradas à ferramenta, a Euclidiana e a Mixed Types, apresentadas no capítulo 3. A primeira

foi testada por ser uma métrica bastante utilizada e com bons resultados. Já a segunda foi

considerada por distinguir em seu cálculo os tipos de atributos que são comparados em uma

tupla, que é uma realidade para as tuplas de uma tabela de fatos.

No entanto, os testes mostraram que na maioria dos casos a distância Euclidiana obteve

melhores resultados. No decorrer desta subseção são apresentadas as configurações utilizadas

nos testes e o resultado das taxas de erro das duas métricas.

Para realizar a avaliação das métricas de distâncias, atributos com características de pro-

veniência foram considerados na comparação entre tuplas e não tiveram seus valores normali-

zados. O cenário (i) foi composto por três atributos para a comparação. Já o (ii) e o (iii) foram

compostos por quatro. No primeiro caso participaram da seleção dois atributos numéricos e

um categórico. Nas outros, dois atributos de cada tipo foram selecionados. Também foi tes-

tada a configuração (iv). Os quatro valores para k foram testados.

A figura 6.6 mostra os resultados das taxas de erro e um gráfico comparativo das configu-

rações de proveniência para a métrica da distância Euclidiana. A configuração que apresentou

menor taxa de erro foi o cenário (iii), seguido de (ii) e (i). As taxas de erro com configurações

de k menores (3, 5 e 10) foram inferiores das taxas apresentadas com k maior (�!6). Essa

diferença tem destaque no cenário (ii). A taxa de erro considerando k=�!6 é maior 140% do

que aquela considerando o k=3. Mesmo assim, vale notar que todas as taxas de erro ainda

foram inferiores à menor taxa obtida nos testes de referência (ii), que foi de 1,207. Esses tes-

tes mostraram que atributos numéricos podem interferir na diminuição das taxas de erro. Nos

cenários (ii) e (iii), que utilizaram mais atributos numéricos do que o cenário (i), tiveram taxas

de erros mais baixas.

K Onde3 0,51590105 0,535666110 0,6806387

√nc 0,8023306

FIG. 6.6: Taxas de erro utilizando a distância Euclidiana

É possível observar que não houve uma grande variação

ções que envolveram as classificações de proveniência em separado, ce

Porém, quando todos os atributos juntos foram selecionados, as taxas de erro cresceram 50%

em média. Isso nos levou ao indício

pode ocasionar um aumento das taxas de erro.

K Onde3 0,82271465 0,8062465

10 0,8463554

√nc 0,9702854

FIG. 6.7: Taxas de erro utilizando a distância

Os resultados dos testes usando a métrica

as tuplas, apresentados na figura 6.7, tiveram menor variância entre os resultados das configu

83

rios (ii) e (iii), que utilizaram mais atributos numéricos do que o cenário (i), tiveram taxas

Onde Quem Quando Todos 0,5159010 0,4628521 0,4522301 1,1129654 0,5356661 0,4721448 0,4465857 1,1261865 0,6806387 0,4910169 0,4402463 1,1432909

0,8023306 1,1240033 0,8443340 1,1465372

: Taxas de erro utilizando a distância Euclidiana

É possível observar que não houve uma grande variação das taxas resultantes nas avalia

ções que envolveram as classificações de proveniência em separado, cenários (i), (ii) e (iii).

Porém, quando todos os atributos juntos foram selecionados, as taxas de erro cresceram 50%

em média. Isso nos levou ao indício de que um total elevado de atributos de enriquecimento

pode ocasionar um aumento das taxas de erro.

Onde Quem Quando Todos 0,8227146 1,1085878 1,0617827 1,3731823 0,8062465 1,0823216 1,0583995 1,3633031 0,8463554 1,1449378 1,0818562 1,3894532

0,9702854 1,3338621 1,1515593 1,4098611

: Taxas de erro utilizando a distância Mixed Types

Os resultados dos testes usando a métrica Mixed Types para o cálculo da dis

apresentados na figura 6.7, tiveram menor variância entre os resultados das configu

rios (ii) e (iii), que utilizaram mais atributos numéricos do que o cenário (i), tiveram taxas

: Taxas de erro utilizando a distância Euclidiana

das taxas resultantes nas avalia-

nários (i), (ii) e (iii).

Porém, quando todos os atributos juntos foram selecionados, as taxas de erro cresceram 50%

de que um total elevado de atributos de enriquecimento

Mixed Types

para o cálculo da distância entre

apresentados na figura 6.7, tiveram menor variância entre os resultados das configu-

84

rações de proveniência do que com a métrica Euclidiana. Quando os atributos da configuração

(i) foram utilizados para enriquecimento, as taxas de erro se mostraram menores do que nas

outras configurações. No entanto, os valores das taxas das demais configurações não são tão

maiores. Vale notar ainda, que os valores das taxas erro, exceto para os cenários (ii) e (iv)

(k=�!6), foram inferiores à menor taxa de erro obtida nos testes de referência (ii), que foi de

1,207.

Como na distância Euclidiana, as taxas de erro foram maiores quando o k=�!6, mas o

percentual de diferença entre os outros valores de k foi menor na Mixed Types. Se, por exem-

plo, for comparada à configuração “Quem”, o percentual de diferença das taxas de erro entre

k=�!6 e k=5 (que apresenta a menor taxa), é visto um crescimento do valor da taxa de erro de

23% do primeiro para o segundo, 117% a menos do que foi visto na outra métrica.

Apesar dos resultados variarem menos em cada configuração de teste, as taxas de erro

utilizando a métrica Mixed Types foram maiores do que aquelas utilizando a Euclidiana. Por

exemplo, na configuração do cenário (iii), os resultados mostrados utilizando a métrica Eucli-

diana é 98% menor do que as taxas de erro mostradas no mesmo cenário utilizando a métrica

Mixed Types. Por tal motivo, a distância Euclidiana foi escolhida para fazer parte da configu-

ração da estratégia da ferramenta ComplETL.

6.2.3 TESTES COM VALORES NORMALIZADOS

Foi observado que os valores contidos em alguns atributos numéricos nas dimensões do

benchmark apresentavam grandes diferenças entre seus valores. Normalizar esses dados dos

atributos poderia ser uma boa ação para a retirada de inconsistências que os valores tão dis-

tantes são capazes de trazer. Utilizou-se o cálculo da normalização linear, isto é:

7! = 78 − ��!��8����8 − ��!��8,

onde 7! é o valor normalizado, 78 é o valor original, ��!��8 e ����8 são,

respectivamente, o menor e o maior valor encontrados no atributo.

A ferramenta não está voltada somente ao caso do TPC-H, e é possível que em outras ba-

ses de DW existam essas diferenças observadas na nossa base de testes. Portanto, foi incluída

na ferramenta ComplETL uma função que normaliza os valores dos atributos numéricos da

85

tabela de fatos e os selecionados da dimensão, antes da comparação entre tuplas. Testes foram

realizados usando tanto os atributos normalizados quanto os não normalizados. A figura 6.8

apresenta os resultados quando utilizado o cenário (i).

Observa-se que a imputação com atributos não normalizados obteve taxas de erro inferio-

res a dos testes com atributos normalizados. A média das taxas dos atributos não normaliza-

dos é 67% menor do que quando comparada as dos não normalizados. Essas taxas também

são menores do que aquelas apresentadas na imputação sem enriquecimento da tabela de fa-

tos, exibidas na figura 6.5.

K Atributos não Normalizados

Atributos Normalizados

3 0,5159010 1,1448118

5 0,5356661 1,1608944

10 0,6806387 1,2423027

√nc 1,2023306 1,3475216

FIG. 6.8: Taxas de erro de testes com atributos com valores normalizados e não normalizados.

6.2.4 TESTES PARA DEFINIÇÃO DA HEURÍSTICA

Testes foram realizados com intuito de definir uma heurística para a escolha do conjunto de

combinações de atributos. Foi visto em alguns resultados anteriores que o enriquecimento

somente com atributos numéricos resultou numa menor taxa de erro. Em outros casos, consi-

derando somente os atributos categóricos, os resultados se mostraram melhores. Para avaliar

melhor como a seleção dos diferentes tipos de atributo interfere nos resultados, configuramos

quatro cenários, combinando os cenários (i), (ii) e (iii) descritos na seção 6.2 para cada cená-

rio de proveniência (Onde, Quem, Quando e Todos), e considerando também a seletividade de

cada atributo. Nestes testes fixou-se a métrica da distância Euclidiana e os atributos não nor-

malizados.

Em cada conjunto de testes foram utilizados os quatro valores de k definidos anterior-

mente. Eles também foram realizados sobre a base de 1MB, com a tabela de fatos contendo

10% de ausência.

A figura 6.9 exibe o resultado dos testes envolvendo atributos de proveniência que repre-

sentam o cenário (i). Quatro atributos foram selecionados, dois categóricos e dois numéricos.

0,0000

0,2000

0,4000

0,6000

0,8000

1,0000

1,2000

1,4000

1,6000

3 5 10 RQ

At não Normalizados

At Normalizados

Se comparados com a dos outros atributos das dimensões, esses não apresentavam seletivi

dade maior e nem menor entre eles

atributos que tivessem seletivi

em questão.

K Categóricos Numéricos

3 1,05569 1,53584

5 0,85690 2,17478

10 0,81748 2,14444

√nc 0,94582 2,18045

FIG. 6.9: Taxas de erro de testes da classificação de proveniência “Onde”

Os atributos categóricos apresentaram menores resultados de taxas de erro. Em média, as

taxas dos numéricos foram 118% mais altas do que os categóricos. As altas taxas são vistas

também nos testes que utilizaram os atributos dos dois tipos, mostrando que os atributos nu

méricos realmente influenciaram no aumento. O valor de k não teve grande influência nos

resultados, somente sendo observada uma pe

Já para o cenário (ii), três atributos categóricos foram selecionados e dois numé

também apresentavam seletividade média, pelo mesmo motivo do caso do cenário (i). A fi

gura 6.10 apresenta as taxas de erro dessa classificação.

K Categóricos Numéricos

3 0,99798 2,43573 1,73158

5 0,84894 2,73901 1,90113

10 0,83081 2,77708 1,64464

√nc 0,95117 1,37354 1,85752

FIG. 6.10: Taxas de erro de testes da classificação de proveniência “Quem”

Nesses experimentos, os atributos numéricos também tiveram as maiores taxas. No en

tanto, houve uma queda acentuada quando o número de vizinhos foi

observada nos testes com atributos categóricos, situações que apre

86

Se comparados com a dos outros atributos das dimensões, esses não apresentavam seletivi

maior e nem menor entre eles, mas um valor médio. Não foi possí

atributos que tivessem seletividade maior e que, ao mesmo tempo, represent

Todos

2,19461

2,20967

2,14790

2,29551

: Taxas de erro de testes da classificação de proveniência “Onde”

Os atributos categóricos apresentaram menores resultados de taxas de erro. Em média, as

icos foram 118% mais altas do que os categóricos. As altas taxas são vistas

também nos testes que utilizaram os atributos dos dois tipos, mostrando que os atributos nu

méricos realmente influenciaram no aumento. O valor de k não teve grande influência nos

resultados, somente sendo observada uma pequena variação quando k=3.

Já para o cenário (ii), três atributos categóricos foram selecionados e dois numé

também apresentavam seletividade média, pelo mesmo motivo do caso do cenário (i). A fi

6.10 apresenta as taxas de erro dessa classificação.

Todos

1,73158 1,90113 1,64464 1,85752

Taxas de erro de testes da classificação de proveniência “Quem”

Nesses experimentos, os atributos numéricos também tiveram as maiores taxas. No en

tanto, houve uma queda acentuada quando o número de vizinhos foi �!6. Essa queda não foi

testes com atributos categóricos, situações que apresentaram as taxas de erro

Se comparados com a dos outros atributos das dimensões, esses não apresentavam seletivi-

, mas um valor médio. Não foi possível selecionar

presentassem o cenário

: Taxas de erro de testes da classificação de proveniência “Onde”

Os atributos categóricos apresentaram menores resultados de taxas de erro. Em média, as

icos foram 118% mais altas do que os categóricos. As altas taxas são vistas

também nos testes que utilizaram os atributos dos dois tipos, mostrando que os atributos nu-

méricos realmente influenciaram no aumento. O valor de k não teve grande influência nos

Já para o cenário (ii), três atributos categóricos foram selecionados e dois numéricos. Eles

também apresentavam seletividade média, pelo mesmo motivo do caso do cenário (i). A fi-

Taxas de erro de testes da classificação de proveniência “Quem”

Nesses experimentos, os atributos numéricos também tiveram as maiores taxas. No en-

� . Essa queda não foi

sentaram as taxas de erro

mais baixas em seus resultados. Diferente da configura

foram utilizados, houve queda nas taxas de erro, se comparado com os valores dos nu

No cenário (iii), a última classificação de proveniência testada isoladamente, fo

zados três atributos categóricos e três numéricos, ambos com média seleti

6.11 exibe os resultados. Dentre os testes descritos nesta subse

ter, em média, menor taxa de erro, inclusive quando usados atributos numéricos para enrique

cimento. Isso pode indicar que atributos relacionados à proveniência tempo, que representam

as informações de quando um fato ocorreu,

tabela de fatos.

K Categóricos Numéricos Todos

3 1,04893 1,69180 1,75344

5 0,86155 1,64689 1,71168

10 0,81719 1,64559 1,65526

√nc 0,94665 1,62637 1,64242

FIG. 6.11: Taxas de erro de testes da classificação de proveniência “Quando”

Novamente, os atributos categóricos se mostraram mais eficientes na imputação dos da

dos. Eles tiveram, em média, 80% de melhores resultados do que aqueles que dos atributos

numéricos. As taxas de erro dos testes que utilizaram todos os atributos anteriormente sele

cionados foram similares àquelas com atributos numéri

butos mistos podem não trazer bons resulta

Por fim, todos os atributos selecionados nas três classificações descritas acima foram se

lecionados. Primeiro utilizou-

Dos atributos, oito são categóricos e sete são numéricos. Os resultados são mostrados na fi

gura 6.12.

K Categóricos Numéricos

3 0,93721 1,90370

5 0,80680 1,89302

10 0,80118 1,91894

√nc 0,95171 1,94493

FIG. 6.12: Taxas de erro de testes com todos os atributos das classificações de proveniência

87

mais baixas em seus resultados. Diferente da configuração “Onde”, quando todos os atributos

foram utilizados, houve queda nas taxas de erro, se comparado com os valores dos nu

No cenário (iii), a última classificação de proveniência testada isoladamente, fo

zados três atributos categóricos e três numéricos, ambos com média seleti

6.11 exibe os resultados. Dentre os testes descritos nesta subseção, essa configuração mostrou

ter, em média, menor taxa de erro, inclusive quando usados atributos numéricos para enrique

cimento. Isso pode indicar que atributos relacionados à proveniência tempo, que representam

as informações de quando um fato ocorreu, são bons representantes para o enriquecimento da

Todos

1,75344

1,71168

1,65526

1,64242

: Taxas de erro de testes da classificação de proveniência “Quando”

Novamente, os atributos categóricos se mostraram mais eficientes na imputação dos da

am, em média, 80% de melhores resultados do que aqueles que dos atributos

numéricos. As taxas de erro dos testes que utilizaram todos os atributos anteriormente sele

cionados foram similares àquelas com atributos numéricos. É mais uma ilustração de que at

butos mistos podem não trazer bons resultados.

Por fim, todos os atributos selecionados nas três classificações descritas acima foram se

-se os categóricos, depois os numéricos e, após, todos juntos.

o categóricos e sete são numéricos. Os resultados são mostrados na fi

Todos

1,55971

1,57746

1,56544

1,53479

: Taxas de erro de testes com todos os atributos das classificações de proveniência

ção “Onde”, quando todos os atributos

foram utilizados, houve queda nas taxas de erro, se comparado com os valores dos numéricos.

No cenário (iii), a última classificação de proveniência testada isoladamente, foram utili-

zados três atributos categóricos e três numéricos, ambos com média seletividade. A figura

ção, essa configuração mostrou

ter, em média, menor taxa de erro, inclusive quando usados atributos numéricos para enrique-

cimento. Isso pode indicar que atributos relacionados à proveniência tempo, que representam

são bons representantes para o enriquecimento da

: Taxas de erro de testes da classificação de proveniência “Quando”

Novamente, os atributos categóricos se mostraram mais eficientes na imputação dos da-

am, em média, 80% de melhores resultados do que aqueles que dos atributos

numéricos. As taxas de erro dos testes que utilizaram todos os atributos anteriormente sele-

cos. É mais uma ilustração de que atri-

Por fim, todos os atributos selecionados nas três classificações descritas acima foram se-

se os categóricos, depois os numéricos e, após, todos juntos.

o categóricos e sete são numéricos. Os resultados são mostrados na fi-

: Taxas de erro de testes com todos os atributos das classificações de proveniência

88

Atributos categóricos tiveram menores taxas de erro, seguindo a tendência verificada nos

resultados anteriores. Eles se mostraram 119% mais eficientes do que o enriquecimento de

atributos numéricos, uma porcentagem tão alta quanto a mesma diferença apresentada na clas-

sificação “Onde”. No entanto, quando todos os atributos foram utilizados, as taxas de erro se

mostraram menores do que as dos numéricos e, inclusive, foram menores do que todos os

testes realizados anteriormente nos quais foram selecionados atributos numéricos e categóri-

cos juntos.

Foi concluído na subseção 6.2.2 que uma quantidade elevada de atributos de enriqueci-

mento pode influenciar negativamente nos resultados. No entanto, naqueles testes não se

considerou a seletividade como um fator de extrema importância, tendo sido escolhidos atri-

butos de forma aleatória nesse quesito. Isso indica que considerar a seletividade dos atributos

selecionados podem trazer melhores resultados de imputação.

Quando comparados os valores dos testes descritos acima com os resultados da imputa-

ção realizada sem enriquecimento da tabela de fatos, é visto que as taxas desses são maiores

quando há a utilização de atributos numéricos. No entanto, com categóricos são, em média,

40% menores. Portanto, o enriquecimento da tabela de fatos traz melhores resultados no pro-

cesso de imputação, principalmente quando atributos categóricos são utilizados.

Com base nesses testes, a heurística do conjunto de tipos de combinações foi gerada. No

total foram cinco tipos, cada um deve ser testado na terceira etapa da estratégia. O primeiro

deve testar todos os atributos selecionados pelo usuário, independente da quantidade, para

verificar se o conhecimento do analista sobre o problema é suficiente para diminuir as taxas

de erro. Outro é separar dessa seleção do usuário aqueles atributos que são numéricos e testá-

los. Alguns testes mostraram que eles tiveram menores taxas de erros. Atributos com maiores

seletividades por dimensão compõem mais um tipo de combinação. Verifica-se nessa com-

binação de maiores seletividades por dimensão se a seletividade pode interferir positivamente

nos resultados, independente se for categórico ou numérico. A seletividade também é testada

em outro tipo de combinação, porém esse só considera os atributos numéricos. E, por último,

a retirada das chaves das dimensões da tabela de fatos. Esse tipo foi incluído para que fossem

verificadas somente as métricas da tabela de fatos junto com os atributos de enriquecimento.

As combinações anteriores utilizam todos os atributos da tabela de fatos, variando naqueles de

enriquecimento. Já nessa última combinação, todos os atributos selecionados pelo usuário são

utilizados, mas da tabela de fatos só as métricas são usadas na comparação entre tuplas.

89

6.3 TESTES EFETIVOS

Com base nos testes iniciais e após definidos a não normalização de valores dos atributos, a

métrica de distância utilizada e o conjunto de heurísticas das combinações de atributos utili-

zados para a imputação, os testes efetivos foram planejados e iniciados. A ferramenta

ComplETL passou a incorporar o conjunto de heurísticas definido. A ideia inicial seria mon-

tar uma base de testes maior, que representasse mais fielmente a carga periódica de um DW.

A princípio foi definido utilizar para os testes uma base com tamanho de 1GB de dados.

No entanto, esses testes foram inviabilizados por demandarem muito tempo de processamento

e alto desempenho de hardware. Em especial, essa demanda decorre da escolha do algoritmo

k-NN, que, por sua definição, requer uma varredura em todas as tuplas da base de dados

quando for preciso encontrar os vizinhos mais próximos de uma tupla qualquer. Quanto

maior a base, maior o tempo para encontrar os vizinhos.

Por esse motivo, foi utilizada uma base menor, de 6MB. A tabela de fatos usada para es-

tes testes tem 32 mil tuplas, das quais 10% apresentavam valores ausentes considerando uma

das métricas. Antes, porém, são apresentados os resultados dos testes usando a base menor, a

de 1MB, junto com a heurística já montada.

Os testes efetivos só consideraram dois valores para k, 10 e �!6. As avaliações anteriores

que utilizaram k=10 mostraram bons resultados, já o outro valor foi utilizado para confirmar

que ele não traz menores taxas de erro. Nessas avaliações também não foram consideradas as

características de proveniência. Somente os tipos dos dados e a seletividade tiveram relevân-

cia na seleção dos atributos para o enriquecimento. É importante destacar que essa seleção

não foi realizada com ajuda de um especialista da área do ambiente que o TPC-H representa.

Os cenários de testes são apresentados na tabela 6.2.

TAB. 6.2: Cenários utilizados nos testes efetivos

Cenário Tipo de Atributos Quantidade de Atributos I Seleção somente de atributos categóricos 2 Ii Seleção somente de atributos numéricos 2 Iii Seleção dos atributos dos cenários (i) e (ii) 4

6.3.1 TESTES EFETIVOS NA BASE DE 1MB

Antes da realização dos testes na base maior, foram verificadas as taxas de erro na base utili-

zada nos testes iniciais. A figura 6.13 mostra os valores das taxas de erro ao utilizar o cenário

(i).

90

A combinação que apresentou menor taxa de erro foi a que utilizou todos os atributos da

tabela de fatos mais todos os atributos selecionados pelo usuário, em ambos os casos. Os dois

valores de k levaram a resultados muito semelhantes, mas o k=10 foi o menor entre eles. Os

resultados do cenário (i) foram bons, tendo valores menores do que os valores dos testes de

referência (ii).

K Taxa de Erro Combinação com

menor taxa

10 0,8033295 Todos os atributos

√nc 0,8048423 Todos os atributos

FIG. 6.13: Taxas de erro de testes com o cenário (i)

A figura 6.14 exibe o resultado das taxas de erro e qual combinação se apresentou mais

efetiva quando testados o cenário (ii) nos dois valores de k.

K Taxa de Erro Combinação com

menor taxa

10 1,3896025 Todos os atributos

√nc 1,3817513 Fatos sem chaves +

atributos selecionados

FIG. 6.14: Taxas de erro de testes com cenário (ii)

Os resultados mostrados na figura 6.14 apresentam altas taxas de erro, se comparados

com aquelas obtidas no cenário (i). Atributos numéricos trouxeram maiores taxas, cerca de

70% de aumento do que a média daquelas apresentadas nos categóricos. Diferente dos resul-

tados mostrados no primeiro cenário, nestes testes quando k=�!6 a taxa foi menor.

Além de ter a menor taxa, o resultado obtido com o referido k também mostra que, dife-

rente dos outros resultados, a combinação que apresentou menor taxa de erro foi aquela que

utilizou as métricas da tabela de fatos mais os atributos selecionados.

O último cenário testado e seus resultados são apresentados na figura 6.15.

As taxas de erro da avaliação do cenário (iii) foram menores do que todos os outros re-

sultados. A combinação que obteve a menor taxa foi aquela que usou atributos numéricos de

0,8025

0,8030

0,8035

0,8040

0,8045

0,8050

10 √nc

Taxa de Erro

1,3750

1,3800

1,3850

1,3900

1,3950

10 √nc

Taxa de Erro

maior seletividade para a comparação entre tuplas. Por tal motivo, esse tipo de combinação se

manteve na heurística.

K Taxa de Erro Combinação com

menor taxa

10 1,4182659 Fatos sem chaves +

atributosselecionados

√nc 1,6106649 Fatos sem chaves +

atributosselecionados

FIG. 6.15

6.3.2 TESTES EFETIVOS NA BASE DE 6MB

A figura 6.16 apresenta o resultado dos testes do primeiro cen

taxas de erro para cada k e qual das combinações de atributos teve me

A combinação que mostrou melhor resultado foi a que utilizou todos os atributos da ta

bela de fatos mais todos os atributos selecionados pe

ção de k = 10 apresentou a menor taxa de erro, confirmando mais uma vez que essa pode ser

uma boa opção para a imputação de valores usando o k

K Taxa de Erro Combinação com

menor taxa

10 0,8306450 Todos os atributos

√nc 0,9788945 Todo os atributos

FIG. 6.16

O cenário (i) trouxe bons resultados nas taxas de erro, tendo valores menores do que os

valores dos testes de referência (ii), obtidos pela abordagem do k

mente os atributos da tabela de fatos.

O segundo cenário de testes verificou a influência de atributos numéricos com boa seleti

vidade. Dois atributos foram selecionados. A figura 6.17 exibe

da combinação que se apresentou melhor.

91

maior seletividade para a comparação entre tuplas. Por tal motivo, esse tipo de combinação se

Combinação com menor taxa

Fatos sem chaves + ributos

selecionados Fatos sem chaves +

ributos selecionados

15: Taxas de erro de testes com o cenário(iii)

TESTES EFETIVOS NA BASE DE 6MB

A figura 6.16 apresenta o resultado dos testes do primeiro cenário configurado e mostra as

taxas de erro para cada k e qual das combinações de atributos teve menor taxa de erro.

A combinação que mostrou melhor resultado foi a que utilizou todos os atributos da ta

bela de fatos mais todos os atributos selecionados pelo usuário, em ambos os casos. A utiliza

ção de k = 10 apresentou a menor taxa de erro, confirmando mais uma vez que essa pode ser

uma boa opção para a imputação de valores usando o k-NN.

Combinação com

butos

Todo os atributos

16: Taxas de erro de testes com o cenário(i)

O cenário (i) trouxe bons resultados nas taxas de erro, tendo valores menores do que os

rência (ii), obtidos pela abordagem do k-NN quando utilizados so

mente os atributos da tabela de fatos.

O segundo cenário de testes verificou a influência de atributos numéricos com boa seleti

vidade. Dois atributos foram selecionados. A figura 6.17 exibe o resultado das taxas de erro e

da combinação que se apresentou melhor.

1,3000

1,4000

1,5000

1,6000

1,7000

10 √nc

maior seletividade para a comparação entre tuplas. Por tal motivo, esse tipo de combinação se

ário configurado e mostra as

nor taxa de erro.

A combinação que mostrou melhor resultado foi a que utilizou todos os atributos da ta-

lo usuário, em ambos os casos. A utiliza-

ção de k = 10 apresentou a menor taxa de erro, confirmando mais uma vez que essa pode ser

O cenário (i) trouxe bons resultados nas taxas de erro, tendo valores menores do que os

NN quando utilizados so-

O segundo cenário de testes verificou a influência de atributos numéricos com boa seleti-

o resultado das taxas de erro e

Taxa de Erro

K Taxa de Erro Combinação com

menor taxa

10 1,7126382 Todos os atributos

√nc 1,6679925 Todos os atributos

FIG. 6.17

Os resultados mostrados na figura 6.17 apresentam altas taxas de erro, se com

com aquelas obtidas no cenário (i

maiores taxas, cerca de 80% de aumento em relação à média daquelas apresentadas nos cate

góricos. Os testes mostraram também que, similar ao resultado do teste cenário (i) na base de

1MB, quando k=�!6 a taxa foi menor.

Se comparados com o resultado obtido com a abordagem da média, a compara

tuplas só com os atributos numéricos traz melhores valores de imputação. Porém, se forem

comparados com os testes feitos somente com a tabela de f

mendado por apresentar um aumento de cerca de 40% a mais nos resultados dos erros.

O último teste compara o cenário (iii). A figura 6.18 mostra as taxas de erros ob

K Taxa de Erro Combinação com

menor taxa

10 1,33620 Todos os atributos

√nc 1,54938 Atributos numéricos

com maior seletividade

FIG. 6.18

As taxas se apresentavam menores do que aquelas apresentadas pelo cenário (ii), mas fo

ram maiores do que as apresentadas no cenário (i). A combinação que obteve a menor taxa foi

aquela que usou atributos numéricos de maior seletividade para a comparação entre tuplas.

Esses resultados confirmam que o enriquecimento da tabela de fatos e a compa

tuplas considerando atributos categóricos geram menores taxas de erro de imputação.

92

Combinação com

Todos os atributos

Todos os atributos

17: Taxas de erro de testes com o cenário(ii)

Os resultados mostrados na figura 6.17 apresentam altas taxas de erro, se com

com aquelas obtidas no cenário (i). Significa que atributos numéricos conti

maiores taxas, cerca de 80% de aumento em relação à média daquelas apresentadas nos cate

góricos. Os testes mostraram também que, similar ao resultado do teste cenário (i) na base de

a taxa foi menor.

Se comparados com o resultado obtido com a abordagem da média, a compara

tuplas só com os atributos numéricos traz melhores valores de imputação. Porém, se forem

comparados com os testes feitos somente com a tabela de fatos, o enriquecimento não é reco

mendado por apresentar um aumento de cerca de 40% a mais nos resultados dos erros.

O último teste compara o cenário (iii). A figura 6.18 mostra as taxas de erros ob

Combinação com

Todos os atributos

Atributos numéricos

18: Taxas de erro de testes com cenário(iii)

As taxas se apresentavam menores do que aquelas apresentadas pelo cenário (ii), mas fo

do que as apresentadas no cenário (i). A combinação que obteve a menor taxa foi

aquela que usou atributos numéricos de maior seletividade para a comparação entre tuplas.

Esses resultados confirmam que o enriquecimento da tabela de fatos e a compa

tuplas considerando atributos categóricos geram menores taxas de erro de imputação.

Os resultados mostrados na figura 6.17 apresentam altas taxas de erro, se comparados

). Significa que atributos numéricos continuaram a trazer

maiores taxas, cerca de 80% de aumento em relação à média daquelas apresentadas nos cate-

góricos. Os testes mostraram também que, similar ao resultado do teste cenário (i) na base de

Se comparados com o resultado obtido com a abordagem da média, a comparação entre

tuplas só com os atributos numéricos traz melhores valores de imputação. Porém, se forem

atos, o enriquecimento não é reco-

mendado por apresentar um aumento de cerca de 40% a mais nos resultados dos erros.

O último teste compara o cenário (iii). A figura 6.18 mostra as taxas de erros obtidas.

As taxas se apresentavam menores do que aquelas apresentadas pelo cenário (ii), mas fo-

do que as apresentadas no cenário (i). A combinação que obteve a menor taxa foi

aquela que usou atributos numéricos de maior seletividade para a comparação entre tuplas.

Esses resultados confirmam que o enriquecimento da tabela de fatos e a comparação entre

tuplas considerando atributos categóricos geram menores taxas de erro de imputação.

93

6.4 CONSIDERAÇÕES SOBRE OS RESULTADOS DOS TESTES

Este capítulo mostrou os testes realizados com a ferramenta ComplETL, seus respectivos re-

sultados e discussão. Para realizar tais testes, a base de dados do benchmark TPC-H foi utili-

zada por representar um esquema típico de um ambiente de DW. Algumas adaptações na

estrutura de dados desse benchmark foram feitas para torná-lo mais apropriado para o nosso

estudo de caso.

Com a estrutura e a base de dados adaptados, testes iniciais foram realizados sobre essa

base para definir algumas configurações internas na ferramenta ComplETL. Com esses testes

foi possível observar que ao calcular a distância entre tuplas com a métrica da distância Eucli-

diana, as taxas de erro são menores do que com a métrica Mixed Types. Verificou-se ainda se

seria necessário normalizar todos os atributos numéricos, tanto os da tabela de fatos como os

de enriquecimento, e os resultados mostraram que não, atributos não normalizados trazem

taxas de erro menores.

Outra análise dos testes iniciais buscou montar a heurística do conjunto de combinações

de atributos que são utilizados na terceira etapa da estratégia de imputação, descrita no capí-

tulo 4. Neles foram verificados que atributos de proveniência do tipo categórico trazem taxas

de erros menores e, portanto, foram as melhores escolhas para a imputação nos testes realiza-

dos. No entanto, em alguns casos foi observado que a mistura de tipos de atributos influen-

ciam na diminuição da taxa de erro. A heurística definida foi incorporada à ferramenta

ComplETL possibilitando que essa verifique a combinação de atributos que gera melhores

resultados de imputação.

Depois da heurística definida e incorporada à ferramenta, novos testes foram realizados

para avaliação da ferramenta. Neles foi possível observar que os atributos categóricos também

podem apresentar melhores resultados, se comparados ao enriquecimento com atributos nu-

méricos e com atributos dos dois tipos juntos. Além disso, verificou-se que o enriquecimento

com os atributos categóricos também resulta em taxas de erros menores do que os testes de

referência (i) e (ii).

Sobre o valor de k, constatou-se que a quantidade de dez vizinhos mais próximos da tupla

com ausência foi a melhor configuração para o uso do algoritmo, no caso estudado aqui.

Com base nos resultados dos testes efetivos, a escolha das combinações de atributos com

maior número de atributos categóricos deverá ser acrescentada na heurística de seleção de

94

atributos da ferramenta ComplETL, bem como a fixação, ou sugestão default, do valor de

k=10.

Os atributos do tipo categórico mostraram trazer melhores resultados quando

enriqueceram a tabela de fatos se comparados com os numéricos. Deve-se considerar, no

entanto, a aleatoriedade dos dados sintéticos gerados pelo DBGEN. Uma base do mundo real

pode trazer dados mais ricos e coerentes com a realidade, e isso pode interferir nos resultados

das taxas de erro.

Como já explicado, a abordagem baseada no algoritmo k-NN não se mostrou a ideal para

verificar toda a base de dados de um DW. A ferramenta pode ser estendida para realizar ou-

tras abordagens de imputação. Entretanto, com o uso dessa abordagem em bases pequenas foi

possível observar que os atributos de enriquecimento podem trazer resultados melhores na

imputação da tabela de fatos. Além disso, pelo fato do TPC-H não ser uma base real, a

seleção de atributos de proveniência ficou restrita ao conhecimento superficial que há sobre o

ambiente de venda que ele representa. Numa base real, onde exista um especialista da área a

qual o DW referencia, essa escolha pode ser mais consciente e trazer uma possível diminuição

da taxa de erro.

95

7 CONSIDERAÇÕES FINAIS

As empresas investem em sistemas de Data Warehouses para auxiliá-las em suas tomadas de

decisões gerenciais. Esses sistemas permitem um acesso consolidado ao grande volume de

dados gerados pelos sistemas transacionais das empresas (Kimball, 1998). Por ser o DW

muitas vezes base para os sistemas de tomada de decisão estratégica, os dados contidos nele

precisam ter qualidade, isto é, não apresentarem inconsistência e incoerência com a realidade

do negócio. (Loshin, 2006) fala em seu artigo que a falta de qualidade dos dados poderia

afetar negativamente na identificação das informações que os eles trazem e nas possíveis

avaliações para as soluções dos problemas. A falta de qualidade, portanto, poderia levar a

decisões erradas.

Dentre as funções do processo de ETL (Kimball e Caserta, 2004), processo de extração,

transformação e carga de dados no DW, há a extração dos dados dos sistemas fonte para a

base do DW. Após essa etapa, valores que deveriam ser capturados não estão presentes na

base, isto é, uma combinação de instâncias das dimensões deve existir na tabela de fatos e, no

entanto, não há referência a ela. Esse problema é tratado na etapa de transformação, a qual é

responsável da limpeza dos dados, inclusive do tratamento de dados ausentes.

Poucos trabalhos foram encontrados na literatura que tratassem da limpeza de dados

ausentes na base do DW. Isso motivou a realização desta dissertação, que teve como principal

objetivo conceber uma estratégia para a imputação de novos dados onde há ausência de valo-

res na tabela de fatos, dentro da etapa de transformação do ETL, e, além disso, implementar e

configurar uma ferramenta que avaliasse a viabilidade e os resultados desta estratégia. A es-

tratégia proposta tem como diferencial a consideração dos dados de proveniência existentes

nas dimensões do esquema da base do DW para enriquecer a tabela de fatos, no sentido de

obter valores de imputação com menor percentual de erro. Os resultados dos testes mostra-

ram-se promissores, apresentando menores taxas de erro se comparados à utilização da

mesma técnica de imputação sem os dados de proveniência e em relação à média, uma abor-

dagem de imputação com fácil aplicação e utilizada em projetos da área.

O trabalho foi desenvolvido em várias fases, no estilo de desenvolvimento de software

em espiral (Sommerville, 2007), onde as fases se repetem e se intercalam, fazendo com que a

implementação do protótipo evolua a partir da avaliação dos resultados de versões anteriores.

96

A fase de pesquisa e formalização do trabalho foi realizada a partir da reunião de concei-

tos ao longo de extensos estudos e pesquisas. Um desses conceitos é o entendimento do pro-

cesso de ETL, principalmente as duas primeiras etapas, extração e transformação, as quais

estão respectivamente vinculadas na identificação e solução do problema da ausência. Outro

conceito estudado é a complementação de dados, que tem por objetivo prover soluções para o

problema de valores ausentes. Dentre os tipos de complementação existentes, o método de

imputação de novos valores é muito utilizado nos trabalhos de tratamento de ausência. Foram

estudadas diversas abordagens que utilizam o método e visto que a aplicação de uma aborda-

gem depende do problema que ela vai tratar. A partir desses estudos, foi possível selecionar a

abordagem k-NN para tratar valores ausentes em DW e, então, partir para a definição uma

estratégia de complementação de dados em DW.

A fase de desenvolvimento envolveu a concepção da estratégia de imputação de dados

em DW e a sua efetiva implementação em uma ferramenta que executasse a imputação, a fer-

ramenta ComplETL. A estratégia descreve como é realizado o enriquecimento da tabela de

fatos com os atributos de proveniência selecionados pelo usuário. Também descreve como a

ferramenta avalia as combinações de atributos, determinados por uma heurística que monta o

conjunto, numa base de testes com valores ausentes simulados, para, após, utilizar a combina-

ção que apresentou menor taxa de erro nas verdadeiras ausências. A ferramenta implementada

é configurável, e possibilita que os usuários ajustem alguns parâmetros de acordo com a sua

necessidade, como por exemplo, a seleção dos atributos a serem usados como base para a im-

putação de dados.

As fases de configuração e avaliação envolveram a realização de testes utilizando a ferra-

menta ComplETL. O benchmark TPC-H, que apresenta um esquema de dados voltado aos

sistemas de DW, foi utilizado em ambas as fases. A primeira, com base nos testes iniciais,

auxiliou nas configurações internas do protótipo, isto é, se os atributos deveriam ser normali-

zados, qual métrica de comparação da distância entre tuplas seria usada e a montagem da heu-

rística de combinações dos atributos. Essa fase auxiliou na montagem da estratégia descrita.

Na segunda, a fase de avaliação, já com a configuração definida, novos testes foram realiza-

dos com a ferramenta para verificar a influência que atributos de proveniência podem trazer

nos resultados de imputação de dados na tabela de fatos.

97

7.1 CONTRIBUIÇÕES E RESULTADOS

Entre as principais contribuições proporcionadas por esta dissertação, podem ser destacadas:

• Concepção de uma estratégia de imputação de dados no contexto do processo de ETL.

• Implementação da ferramenta ComplETL.

• Identificação de heurísticas para definir a melhor combinação de atributos a usar na

complementação de dados: (i) Todos os atributos selecionados pelo usuário: todos os

atributos que o usuário escolheu serão utilizados na comparação entre tuplas; (ii) So-

mente atributos numéricos selecionados: somente atributos numéricos serão conside-

rados na comparação; (iii) Atributo com maior seletividade por dimensão: a

seletividade pode interferir positivamente nos resultados, independente se for categó-

rico ou numérico; (iv) Atributo numérico com maior seletividade selecionado em cada

dimensão: atributos numéricos com maior seletividade são usados na comparação; (v)

Retirada das chaves das dimensões da tabela de fatos: a comparação será feita com as

métricas da tabela de fatos (não serão consideradas as chaves) mais os atributos sele-

cionados.

• Avaliação da viabilidade da Imputação com a abordagem do k-NN sobre os dados no

processo de ETL. A abordagem não é adequada para ser executada em máquinas com

pouco poder de processamento.

• Indicação de que a imputação de dados na tabela de fatos enriquecida com atributos de

proveniência pode trazer menores taxas de erro entre os valores imputados e, conse-

quentemente, maior qualidade para a base dados em questão.

Outra contribuição deste trabalho foi a sua publicação e apresentação no VIII Workshop

de Teses e Dissertações em Banco de Dados (WTDBD-2009), quando foi possível obter in-

formações construtivas e uma avaliação prévia desta proposta.

98

7.2 MELHORIAS E TRABALHOS FUTUROS

Nesta seção são apresentadas algumas sugestões de melhoria na proposta da estratégia e na

arquitetura do protótipo desenvolvido. Em seguida, propostas de trabalhos futuros são apre-

sentadas.

7.2.1 MELHORIAS NA PROPOSTA

A imputação de dados não é uma tarefa trivial, principalmente aplicada em ambientes de Data

Warehouse. Nesses ambientes é comum existir uma grande massa de dados heterogêneos

sobre um contexto pré-determinado, no qual a base deve seguir. Desta forma, algumas melho-

rias poderiam ser realizadas na ferramenta, como:

• Extensão da ferramenta para que ela pudesse imputar valores com outras abordagens,

não só com base no algoritmo k-NN.

• No desenvolvimento dos testes foi verificado um problema de desempenho do protó-

tipo, cada vez que era aumentada a base de dados. A utilização de frameworks feitos

para a linguagem Java, que estejam voltados a grandes bases de dados, poderia

melhorar nessa questão. Considerar o uso de índices bitmap na base de dados também

poderia melhorar o desempenho da aplicação.

• Visto que a ausência de dados em tabelas de fatos vem da falta de combinações das

dimensões, logo essas combinações, quando representadas na tabela de fatos, não

apresentariam valores em nenhuma métrica. É vista a necessidade de realizar testes

considerando essa configuração. Como podem existir várias métricas na tabela de fa-

tos, haverá o problema de ausência multivariado. A ferramenta passaria a considerar

as ausências de valores em vários atributos.

• Adaptação da estratégia para que passasse a considerar, por exemplo: (i) Pequenos

ajustes da estratégia para considerar a entrada de uma base de dados montada a partir

do esquema floco de neve; (ii) O tratamento de mais de uma tabela de fatos; (iii) A

imputação em mais de uma métrica; (iv) O tratamento de ausências nas dimensões;

99

(v) Adicionar um tipo de combinação que só considere atributos categóricos, visto

que com esse tipo de atributo foram obtidos melhores resultados de imputação; (iv) A

imputação não somente em atributos do tipo numérico na tabela de fatos, como

também em categóricos; (v) Considerar no enriquecimento da tabela de fatos as

hierarquias que podem existir entre atributos, como em País -> Estado -> Cidade ->

Bairro. Caso um atributo selecionado faça parte de uma estrutura hierárquica, toda ela

poderia ser testada na estratégia.

7.2.2 TRABALHOS FUTUROS

Como trabalhos futuros seguem-se as seguintes sugestões:

• A utilização de alternativas que melhorem o desempenho da abordagem k-NN, como

o M-Tree (Ciaccia et al, 1997).

• A realização de testes com a ferramenta ComplETL num ambiente de arquitetura

distribuída e paralelizada, com alto poder de processamento. Considerar uma base real

de DW também pode trazer melhores resultados.

• Considerar um ambiente de DW 2.0, onde a temporalidade dos dados está em mais

evidência. O tempo de processamento para executar a ferramenta pode diminuir se

forem considerados na imputação somente aqueles dados mais recentes. Duas tabelas

de fatos seriam mantidas, a do próprio sistema do DW e a enriquecida, que será usada

para a imputação. A diferença das tabelas é que a segunda não precisará armazenar os

dados por muito tempo, como a primeira.

• A implementação da abordagem de Redes Neurais para a imputação dos dados poderia

ser adotada na estratégia proposta, apesar de exigir alto poder computacional.

• O protótipo desenvolvido em outra linguagem e o uso de outro SGBD, mais propício

ao ambiente de DW.

100

• Comparar os resultados de testes realizados pela estratégia proposta com aqueles das

ferramentas de imputação dos SGBDs Oracle e DB2.

• Um estudo maior sobre a correlação entre atributos das dimensões com intuito de

identificar aqueles que podem ser mais representativos no enriquecimento da tabela de

fatos. A correlação poderia ser obtida através de um bom dicionário dos dados

contidos no DW que auxiliaria na seleção dos atributos.

• O uso de ontologias como auxílio à seleção de atributos de enriquecimento. Uma

ontologia poderia auxiliar um sistema a encontrar, automaticamente, o contexto do

atributo ausente e indicar aqueles atributos das dimensões capazes de trazer maior

representação na imputação de novos valores.

• Tratamento (gerenciamento) de memória da aplicação.

101

8 REFERÊNCIAS BIBLIOGRÁFICAS

AMARAL, G. C. M., e CAMPOS, M. L. M. Modelando Metadados de Qualidade no Data Warehouse. IV Simpósio de Desenvolvimento e Manutenção de Software da Marinha, 2004.

BATISTA, G. E. A. P. A., e MONARD, M. C. Um Estudo Sobre a Efetividade do Método de Imputação Baseado no Algoritmo k-Vizinhos mais Próximos. In: Proceedings of IV Workshop on Advances & Trends in AI for Problem Solving, Chilán, 2003a.

BATISTA, G. E. A. P. A., e MONARD, M. C. An Analysis of Four Missing Data Treatment Methods for Supervised Learning. In: Applied Artificial Intelligence, v. 17, n. 5-6, 2003b, p. 519-533.

BUNEMAN, P., KHANNA, S., e TAN, W. Data Provenance: Some Basic Issues. In: Foundations of Software Technology and Theoretical Computer Science, New Delhi, v. 1974, 2000, p. 87-93.

BUNEMAN, P., KHANNA, S., e TAN, W. Why and Where: A Characterization of Data Provenance. In: International Conference on Database Theory. London, v. 1973, 2001, p. 316-330.

CASTANEDA, R., FERLIN, C., GOLDSCHMIDT, R., SOARES, J. A., CARVALHO, L. A. V., e CHOREN, R. Aprimorando Processo de Imputação Multivariada de Dados com Workflows . In: XXIII Simpósio Brasileiro de Banco de Dados – SBBD, Campinas-SP, 2008, p. 238–252.

CASTANEDA, R. R. Um Ambiente de Imputação Sequencial para Cenários Multivariados. 2008. 78 p. Dissertação (Mestrado) - Instituto Militar de Engenharia, 2008.

CIACCIA, P., PATELLA, M., e ZEZULA, P. M-tree: An Efficient Access Method for Similarity Search in Metric Spaces. In: VLDB’97, 1997, p. 426–435.

CLIFFORD A. L. Selectivity Estimation and Query Optimization in Large Databases with Highly Skewed Distributions of Column Values. In: Proceedings of the 14th International Conference on Very Large Data Bases, 1988. p. 240–251.

CUI, Y., e WIDOM, J. Lineage Tracing for General Data Warehouse Transformations. In: Proceedings of the 27th international Conference on Very Large Data Bases. San Francisco, CA, 2001, p. 471-480.

ELMASRI, R., e NAVATHE, S. Sistemas de Banco de Dados. São Paulo: Addison-Wesley, 2005. p. 744. ISBN 8588639173.

FARHANGFAR, A., KURGAN, L., e PEDRYCZ, W. A novel framework for imputation of missing values in databases. In: IEEE Transactions on Systems, Man, and Cybernetics,

102

v. 37(5), 2007, p. 692–709.

FARHANGFAR, A., KURGAN, L., e PEDRYCZ, W. Experimental analysis of methods for imputation of missing values in databases. In: Intelligent Computing: Theory and Applications II Conference, in conjunction with the SPIE Defense and Security Symposium, Orlando, 2004, p. 172-182.

GELMAN, A., LEVY, M., e ABAYOMI, K. Diagnostics for multivariate imputations. In: Social Science Research Network - Social Science Electronic Publishing Inc, 2007.

GOLDSCHMIDT, R., e PASSOS, E. Data Mining: Um Guia Prático. Rio de Janeiro: Elsevier, 2005. 261 p. ISBN 8535218777.

GREENWOOD, M. G., C.; STEVENS, R., ZHAO, J., ADDIS, M., MARVIN, D., MOREAU, L., e OINN, T. Provenance of e-Science Experiments - Experience From Bioinformatics. In: Proceedings of UK e-Science All Hands Meeting 2003, 2003, p. 223-226.

HAN, J. Y., e KAMBER, M. Data Mining: Concepts and Techiniques. São Francisco – CA: Morgan Kaufmann, 2001. 550 p. ISBN 978-1558609013.

HONG, W., XIUXIA, H., e HONGWEI, W. Reserach and Implementation of QAR Data Warehouse. In: Second International Symposium on Intelligent Informations Technology Application, 2008, p. 156-162.

HRUSCHKA Jr, E. R. Imputação Bayesiana no Contexto da Mineração de Dados. 2003. 119 f. Tese (Doutorado) – Universidade Federal do Rio de Janeiro, Coordenação dos Programas de Pós-Graduação de Engenharia, Rio de Janeiro, 2003.

IBM. IBM WebSphere QualityStage Methodologies, Standardization, and Matching [online], 2009. Disponível em http://redbooks.ibm.com/abstracts/sg247546.html [capturado em 17 out. 2009].

INMON, W. H. Como Construir o Data Warehouse. Rio de Janeiro: Campus, 1997. 388 p. ISBN 0471081302.

INMON, W. H. DW 2.0 – Architecture for the Next Generation of Data Warehousing [online], 2006. Disponível em http://information-management.com/issues/ 20060401/1051111-1.html [capturado em 10 dez. 2009].

INMON, W. H. SAP NetWeaver and DW 2.0 [online], 2009. Disponível em http://inst-informatica.pt/servicos/informacao-e-documentacao/ [capturado em 10 dez. 2009].

JSTL. JavaServer Pages Standard Tag Library [online], 2010. Disponível em http://java.sun.com/products/jsp/jstl/ [capturado em 05 jan. 2010].

KIMBALL, R., e CASERTA, J. The data warehouse ETL toolkit: practical techniques for extracting, cleaning, conforming, and delivering data. Indianapolis: Wiley Publishing, 2004. 526 p. ISBN 0764567578.

KIMBALL, R., e ROSS, M. The Data Warehouse Lifecycle Toolkit: Expert Methods For

103

Designing, Developing and Deploying Data Warehouse. Nova Iorque: 1998. 405 p. ISBN 0471255475.

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

LOSHIN, D. Monitoring Data Quality Performance Using Data Quality Metrics [online], 2006. Disponível em http://www.it.ojp.gov/documents/Informatica_Whitepaper_Monitor ing_DQ_Using_Metrics.pdf [capturado em 15 ago. 2010].

LIU, P., e LEI, L. Missing Data Treatment Methods and NBI Model. In: Proceedings of the Sixth International Conference on Intelligent Systems Design and Applications. Washington, 2006, p. 633-638. ISBN 0769525288.

MAGNANI, M. Techniques for Dealing with Missing Data in Knowledge Discovery Tasks [online], 2004. Disponível em http://magnanim.web.cs.unibo.it/index.html [capturado em 10 abr. 2009].

MySQL. MySQL.com [online], 2009. Disponível em http://www.mysql.com [capturado em 13 set. 2009].

NELWAMONDO, F.V., e MARWALA, T. Rough Sets Computations to Impute Missing Data. In: ArXiv eprints, [online], 2007. Disponível em http://arxiv.org/PS_cache/arxiv/pdf/0704/0704.3635v1.pdf [capturado em 13 set. 2009].

ORACLE. Using Predictive Analytics within Warehouse Building [online], 2009. Disponível em: http://www.oracle.com/technology/products/warehouse. [capturado em 13 set. 2009].

PENTAHO. Pentaho Open Source Business Intelligence [online], 2009. Disponível em: http://www.pentaho.com/ [capturado em 13 abr. 2009].

RAHM, E., 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.

RIBEIRO, L. S. Um Estudo sobre Proveniência e Complementação de Dados no Contexto de ETL, 2010. Relatório Técnico – Instituto Militar de Engenharia, 2010.

RUBIN, D. B. Inference and Missing Data. In: Biometrika, v. 63, no. 3, 1976, p. 581-592.

SCHAFER, J. L., e GRAHAM, J. W. Missing Data: Our View of the State of the Art. In: Psycological Methods, v. 7, no. 2, 2002, p. 147-177.

SIMMHAM, Y. L., PLALE, B., e GANNON, D. A Survey of Data Provenance in e-Science. In: ACM SIGMOD Record, v. 34, 2005, p. 31-36.

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.

104

SOMMERVILLE, Ian. Engenharia de Software. São Paulo: Addison Wesley, 2007. 568 p. ISBN 9788588639287.

SPRING. Spring Source [online], 2009. Disponível em http://www.springsource.org/

[capturado em 13 abr. 2009].

TAN, W. C. Research Problems in Data Provenance. In: IEEE Data Engineering Bulletin. Chicago, 2004, p. 539-550.

TPC. The Transaction Processing Performance Council. [online], 2009. Disponível em http://www.tpc.org/ [capturado em 05 jan. 2009].

VAN BUUREN, S., e OUDSHOOM, C. G. M. Multivariate imputation by chained equations – MICE V1.0 User’s Manual [online], 2008. Disponível em http://web.inter.nl.net/users/S.van.Buuren/mi/docs/Manual.pdf [capturado em 15 nov. 2008].

VAN BUUREN, S., BRAND, J. P. L, e GROOTHUIS-OUDSHOORN, C. G. M. Fully conditional specification in multivariate imputation. In: Statistical Computation and Simulation, v. 76, n. 12, 2006, p. 1049–1064.

WONG, W. E., ZHAO, J., e CHAN, V. K. Y. Applying Statistical Methodology to Optimize and Simplify Software Metric Models with Missing Data. In: Proceedings of the 2006 ACM Symposium on Applied Computing, 2006, p. 1728-1733.

WOODRUFF, A., e STONEBRAKER, M. Supporting Fine-Grained Data Lineage in a Database Visualization. In: International Conference on Data Engineering, Birmingham, UK, 1997, p. 91-102.

WU, X., e BARBARÁ, D. Modeling and Imputation of Large Incomplete Multidimensional Datasets. In: Proceedings of the 4th International Conference on Data Warehousing and Knowledge Discovery, 2002a, p. 286 – 295.

WU, X., e BARBARÁ, D. Learning Missing Values from Summary Constraints. In: ACM SIGKDD Explorations Newsletter, v. 4, 2002b, p. 21-30. ISSN 1931-0145.

ZHAO, J., GOBLE, C., GREENWOOD, M., WROE, C., e STEVENS, R.. Annotating, linking and browsing provenance logs for e-Science. In: Workshop on Semantic Web Technologies for Searching and Retrieving Scientific Data. Flórida, 2003, p. 92-106.

105

9 APÊNDICES

106

9.1 EXEMPLO DE ARQUIVO XML DE CONFIGURAÇÃO DE DIMENSÃO

Exemplo resumido de arquivo XML utilizado na ferramenta ComplETL para armazenar as

configurações das tabelas da base do DW. Nele contém o nome da tabela, os atributos dela e o

tipo da tabela (dimensão ou fato).

<?xml version="1.0"?> <table> <name>part</name> <attributes> <attribute> <name>p_name</name> <type> <metaType>categorical</metaType> <DBMStype>varchar(55)</DBMStype> </type> <miss>false</miss> <key>false</key> <valueMin>0</valueMin> <valueMax>0</valueMax> <tableName>part</tableName> <provenance>not special</provenance> </attribute> <attribute> <name>p_partkey</name> <type> <metaType>categorical</metaType> <DBMStype>decimal(10,0)</DBMStype> </type> <miss>false</miss> <key>true</key> <valueMin>0</valueMin> <valueMax>0</valueMax> <tableName>part</tableName> <provenance>not special</provenance> </attribute> <attribute> <name>p_size</name> <type> <metaType>numeric</metaType> <DBMStype>int(11)</DBMStype> </type> <miss>false</miss> <key>false</key> <valueMin>0</valueMin> <valueMax>0</valueMax> <tableName>part</tableName> <provenance>not special</provenance> </attribute> <type>dimension</type> </table>

Livros Grátis( http://www.livrosgratis.com.br )

Milhares de Livros para Download: Baixar livros de AdministraçãoBaixar livros de AgronomiaBaixar livros de ArquiteturaBaixar livros de ArtesBaixar livros de AstronomiaBaixar livros de Biologia GeralBaixar livros de Ciência da ComputaçãoBaixar livros de Ciência da InformaçãoBaixar livros de Ciência PolíticaBaixar livros de Ciências da SaúdeBaixar livros de ComunicaçãoBaixar livros do Conselho Nacional de Educação - CNEBaixar livros de Defesa civilBaixar livros de DireitoBaixar livros de Direitos humanosBaixar livros de EconomiaBaixar livros de Economia DomésticaBaixar livros de EducaçãoBaixar livros de Educação - TrânsitoBaixar livros de Educação FísicaBaixar livros de Engenharia AeroespacialBaixar livros de FarmáciaBaixar livros de FilosofiaBaixar livros de FísicaBaixar livros de GeociênciasBaixar livros de GeografiaBaixar livros de HistóriaBaixar livros de Línguas

Baixar livros de LiteraturaBaixar livros de Literatura de CordelBaixar livros de Literatura InfantilBaixar livros de MatemáticaBaixar livros de MedicinaBaixar livros de Medicina VeterináriaBaixar livros de Meio AmbienteBaixar livros de MeteorologiaBaixar Monografias e TCCBaixar livros MultidisciplinarBaixar livros de MúsicaBaixar livros de PsicologiaBaixar livros de QuímicaBaixar livros de Saúde ColetivaBaixar livros de Serviço SocialBaixar livros de SociologiaBaixar livros de TeologiaBaixar livros de TrabalhoBaixar livros de Turismo