LÍVIA DE SOUZA RIBEIRO UTILIZANDO PROVENIÊNCIA PARA ...
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
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.
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