Medidas de interesse de regras associativas - Miriam

Propaganda
Universidade Federal do Pará
Centro de Ciências Exatas e Naturais
Departamento de Informática
Curso de Especialização em Sistemas de Banco de Dados
GUILHERME LUCAS MOREIRA MATTOS
Medidas de interesse de regras associativas: estudo de
caso com dados de clientes de créditos bancários
Belém
2007
ii
Universidade Federal do Pará
Centro de Ciências Exatas e Naturais
Departamento de Informática
Curso de Especialização em Sistemas de Banco de Dados
GUILHERME LUCAS MOREIRA MATTOS
Medidas de interesse de regras associativas: estudo de
caso com dados de clientes de créditos bancários
Monografia apresentada à Universidade Federal do
Pará como requisito parcial para obtenção do grau
de Especialista em Sistemas de Banco de Dados.
Professora
Orientadora:
Campos Serra Domingues.
Belém
2007
MSc.
Miriam
Lúcia
iii
Universidade Federal do Pará
Centro de Ciências Exatas e Naturais
Departamento de Informática
Curso de Especialização em Sistemas de Banco de Dados
Monografia apresentada para
obtenção do título de Especialista em Sistemas de Banco de Dados.
Atribuo conceito ______________________à Monografia (Especialista em Sistemas de
Banco de Dados) apresentada pelo aluno Guilherme Lucas Moreira Mattos no dia 20
de novembro de 2007, intitulado Medidas de interesse de regras associativas: estudo
de caso com dados de clientes de créditos bancários.
Belém, 20 de novembro de 2007.
_________________________________________________________
Orientadora: Profª MSc. Miriam Lúcia Domingues
iv
Sumário
Sumário............................................................................................................................ iv
Lista de Tabelas ............................................................................................................... vi
Lista de Figuras .............................................................................................................. vii
Resumo .......................................................................................................................... viii
Abstract ............................................................................................................................ ix
1. Introdução ................................................................................................................... 10
1.1. Motivação ............................................................................................................ 11
1.2. Objetivos do trabalho .......................................................................................... 12
1.3. Metodologia ......................................................................................................... 12
1.4. Organização do trabalho ...................................................................................... 12
2. Revisão de Literatura .................................................................................................. 14
2.1. Conceito ............................................................................................................... 14
2.2. Aplicações ........................................................................................................... 15
2.3. Medidas de interesse............................................................................................ 17
2.4. Etapas .................................................................................................................. 17
2.4.1. Definição do domínio ................................................................................... 19
2.4.2. Seleção de dados ........................................................................................... 20
2.4.3. Limpeza ........................................................................................................ 21
2.4.4. Codificação dos dados .................................................................................. 22
2.4.5. Enriquecimento dos dados ............................................................................ 22
2.4.6. Normalização de dados ................................................................................. 23
2.4.7. Construção de atributos ................................................................................ 24
2.4.8. Correção de prevalência ............................................................................... 24
2.5. Mineração ............................................................................................................ 24
2.5.1. Classificação ................................................................................................. 25
2.5.2. Agrupamento ................................................................................................ 25
2.5.3. Associação .................................................................................................... 26
2.6. Pós-processamento .............................................................................................. 26
3. Regras Associativas .................................................................................................... 28
3.1. Regras de associação quantitativas ...................................................................... 29
3.2. Medidas de interesse objetivas ............................................................................ 29
v
3.2.1 Suporte ........................................................................................................... 30
3.2.2. Confiança ...................................................................................................... 30
3.2.3. Lift ................................................................................................................ 31
3.2.4. Leverage ....................................................................................................... 31
3.2.5. Convicção ..................................................................................................... 32
3.2.6. Cobertura ...................................................................................................... 32
3.3. Análise das métricas ............................................................................................ 32
4. Estudo de Caso ........................................................................................................... 34
4.1. Compreensão do domínio .................................................................................... 34
4.2. Compreensão dos dados ...................................................................................... 34
4.3. Pré-processamento ............................................................................................... 36
4.3.1. Seleção e Limpeza ........................................................................................ 37
4.3.2. Integração ..................................................................................................... 38
4.3.3. Formatação ou Transformação ..................................................................... 40
4.4. Mineração ............................................................................................................ 43
4.4.1. A ferramenta Weka....................................................................................... 43
4.4.2. Carga dos dados ............................................................................................ 44
4.4.3. Análise das regras associativas geradas........................................................ 47
5. Conclusão ................................................................................................................... 53
5.1. Trabalhos futuros ................................................................................................. 53
6. Glossário ..................................................................................................................... 55
7. Referências ................................................................................................................. 57
vi
Lista de Tabelas
Tabela 1 - Categorização do campo Idade...................................................................... 40
Tabela 2 - Categorização original do campo Estado Civil ............................................. 41
Tabela 3 - Categorização criada para o campo Estado Civil .......................................... 41
Tabela 4 - Categorização original do campo Escolaridade ............................................ 41
Tabela 5 - Categorização criada para o campo Escolaridade ......................................... 42
Tabela 6 - Categorização criada para o campo Renda Bruta .......................................... 42
Tabela 7 - Categorização do campo Média de créditos efetivados ................................ 42
Tabela 8 - Categorização do campo Média de saldo aplicado (operações) .................... 43
Tabela 9 - Medidas de interesse das regras selecionadas – base de adimplentes ........... 49
Tabela 10 - Medidas de interesse das regras selecionadas – base de inadimplentes ...... 51
vii
Lista de Figuras
Figura 1 - Processo de DCBD, segundo Fayyad (1996). ............................................... 18
Figura 2 - Modelo CRISP-DM para DCBD, segundo Chapman (2000) ........................ 19
Figura 3 - Estrutura de dados inicial do estudo de caso ................................................. 35
Figura 4 - Estrutura das tabelas com os dados a serem minerados................................. 39
Figura 5 - Erro de execução por memória insuficiente .................................................. 45
Figura 6 - String SQL para carga dos dados pelo Weka (inadimplentes) ...................... 46
Figura 7 - String SQL para carga dos dados pelo Weka (adimplentes) ......................... 46
viii
Resumo
A presente monografia revisa a literatura relacionada à Descoberta de Conhecimento em
Bases de Dados (DCBD), com enfoque em regras associativas e medidas de interesse
objetivas para a identificação de padrões. Apresenta também um estudo de caso da
prática do processo de DCBD sobre dados de clientes de uma instituição financeira,
seus recebimentos de créditos mensais e respectiva situação de adimplência de suas
operações. Os objetivos foram, além de pôr em prática a teoria sobre o processo de
DCBD, apurar a qualidade das regras associativas obtidas utilizando diversas medidas
de interesse, assunto esse de bastante interesse na literatura atual. Concluiu-se que o uso
de diversas medidas de interesse objetivas, além do suporte e confiança, auxilia na
seleção de regras associativas relevantes.
Palavras-chave: Descoberta de Conhecimento em Bases de Dados, Banco de Dados,
Mineração de Dados, Regras Associativas, Medidas de Interesse de Padrões.
ix
Abstract
This work reviews the literature related to the Knowledge Discovery in Databases
(KDD), in other words, association rules and objective measures of pattern
interestingness. It is also a case study of a complete practice of the KDD process
concerning to clients data’s within a financial institution, theirs receipt of monthly
credits and respective situation of payment incomes in finance operations. The main
goals were to put into practice the whole KDD process and to survey the quality of
association rules acquired by different measures of pattern interestingness, for the
reason that this subject is present in the actual literature. The conclusion is that the use
of different measures of pattern interestingness, besides support and confidence, helps
to set the selection of relevant association rules.
Palavras-chave: Knowledge Discovery in Databases, Databases, Data Mining,
Association Rules, Measures of Pattern Interestingness.
10
1. Introdução
A evolução da tecnologia da informação e das telecomunicações, em conjunto com a
redução dos custos e da ampliação do acesso a esses recursos, estão possibilitando que
cada vez mais e mais pessoas tenham acesso e possam produzir dados. No mundo
empresarial isso ganha proporções ainda maiores. Para Romão (2000) e Souza (2003),
movimentações financeiras, logística, pesquisa e desenvolvimento, gestão de pessoas,
produção, ambiental, espacial, etc., geram gigantescos volumes de dados, armazenados
em repositórios para controle operacional e gerencial, mas dificilmente podem ser
analisados mais profundamente com técnicas convencionais de confecção de relatórios.
A Descoberta de Conhecimento em Base de Dados (DCBD) ou Knowledge Discovery in
Databases (KDD) surgiu como forma de aumentar ou produzir valor analisando dados
que “contam” a história de uma empresa, de um produto, de uma pesquisa, por exemplo.
Ou seja, aplicando técnicas de DCDB sobre dados já existentes, é possível se extrair um
dos bens mais preciosos da era do capitalismo digital: conhecimento, que é uma
evolução da informação por si só.
Esse conhecimento pode ser decisivo para a sobrevivência de empresas, diante do
constante acirramento da competição. Pode significar ganhar, manter ou perder um
cliente, que é um dos pontos mais críticos das estratégias empresariais atuais (Moutella,
2003; Sanches, 2003). Pode significar a criação de um novo produto, de um novo
medicamento, de nova forma de otimizar recursos e reduzir custos, ou de uma nova
oportunidade de negócio.
Uma das etapas do processo de DCBD é a mineração de dados, na qual algoritmos de
Aprendizado de Máquina são aplicados para a extração de padrões dos dados. Dentre as
principais tarefas de mineração de dados, a associação é uma das mais conhecidas. A
literatura a respeito é significativa, contemplando síntese de diversos algoritmos para
geração de regras associativas.
11
1.1. Motivação
Uma seção importante da mineração de dados está voltada à descoberta de relações
interessantes entre diferentes itens ou atributos de uma base de dados. Uma boa técnica
para a identificação de relações entre dados é a associação. Relações extraídas de
grandes bases de dados através do uso de técnicas de associação são muito úteis na
identificação de tendências contidas nos dados analisados. A descoberta de relações
importantes pode ser feita através da geração de regras associativas. Com o uso dessas
regras, é possível descobrir quais os itens ou instâncias de diferentes atributos
costumam ocorrer juntos em um mesmo registro.
Uma regra associativa pode ter sua importância mensurada a partir de várias medidas de
interesse objetivas e subjetivas. Dentre as objetivas, as mais comuns são suporte e
confiança, onde o suporte indica o percentual de transações da base de dados onde todos
os itens da regra (A => B) estão presentes, e a confiança indica a chance do lado direito
(B) da regra ocorrer dado que o lado esquerdo (A) ocorre1. Na geração de regras
associativas o usuário, geralmente, determina valores mínimos para suporte e confiança
e, então, são geradas somente as regras que superam os valores mínimos para estas duas
medidas de interesse.
Uma aplicação muito comum para estas técnicas está na descoberta de relações
interessantes entre registros de transações de consumidores. Neste caso, são analisados
hábitos de consumo, com o objetivo de determinar associações entre os diferentes itens
adquiridos pelos clientes. As tendências encontradas podem ser de grande utilidade na
elaboração de catálogos, em estratégias de venda e até mesmo no planejamento da
disposição física de produtos. No entanto, a utilidade desse tipo de técnica é muito mais
ampla, podendo ser aplicada em diversos domínios.
1
Assumindo que A ≠∅, B ≠∅ e A ∩ B = ∅, ou seja A e B são conjuntos não vazios e distintos
12
1.2. Objetivos do trabalho
Tendo em vista a importância e complexidade do assunto, até mesmo para a área de
tecnologia da informação, será objetivo deste trabalho realizar todo o processo de
DCBD sobre dados de clientes e movimentações bancárias, utilizando técnicas para
geração de regras associativas.
Além disso, serão analisadas as medidas de interesses objetivas das regras mais
relevantes encontradas, visando demonstrar a aplicabilidade e a importância dessas no
processo de análise do resultado da mineração.
1.3. Metodologia
A metodologia aplicada no presente estudo foi uma combinação do Cross Industry
Process Model For Data Mining (CRISP-DM) (Chapman, 2000), com o modelo de
Goldschmidt (2005) incluindo as fases que foram realmente necessárias, desde a
compreensão do domínio da aplicação até a fase de aplicação, onde os resultados
obtidos são apresentados como conhecimento útil e não trivial.
1.4. Organização do trabalho
No capítulo 2, será realizada a revisão de literatura levantando todos os conceitos
importantes da área de DCBD que serão necessários para o presente trabalho.
No terceiro capitulo serão abordadas as regras associativas geradas pelos algoritmos de
mineração de dados, bem como as diversas métricas para aferimento da qualidade
dessas regras, além das já conhecidas medidas chamadas de Suporte e Confiança.
O quarto capítulo relatará o desenvolvimento do estudo de caso, com todos os detalhes e
tarefas que foram executadas para obtenção das regras associativas.
13
Já o quinto capítulo sintetiza as conclusões obtidas, analisando os dados e o
metaconhecimento adquirido na execução do processo de DCBD, bem como serão
indicados trabalhos futuros.
14
2. Revisão de Literatura
Neste capítulo serão levantados os conceitos acerca da descoberta de conhecimento em
bases de dados.
2.1. Conceito
A Descoberta de Conhecimento em Bases de Dados (DCBD) ou Knowledge Discovery
Databases (KDD) foi definida por Fayyad (1996) como sendo: “... o processo não
trivial de identificação de padrões válidos, novos, potencialmente úteis e
compreensíveis, embutidos nos dados”. Esse processo de descoberta de informações
relevantes ou padrões, tais como associações, mudanças, anomalias e estruturas, é
implementado sobre banco de dados ou depósitos de informações, mesmo de sistemas
legados, tanto para fins comerciais ou científicos.
A Descoberta de Conhecimento é uma área multidisciplinar que incorpora técnicas
utilizadas em diversas áreas como Banco de Dados, Inteligência Artificial e Estatística.
Desse modo, as técnicas utilizadas em DCBD não devem ser vistas como substitutas de
outras formas de análise, como o OLAP, por exemplo, mas, sim, como práticas para
melhorar os resultados das explorações feitas com as ferramentas atualmente usadas
(Zambon, 2001).
Além disso, dada a complexidade do processo, o nível de automação é razoavelmente
pequeno. A experiência e o senso crítico dos analistas são imprescindíveis para a
execução das tarefas de DCBD (que vão desde a formulação do problema, preparação
dos dados, análises dos resultados e avaliações). Por isso, DCBD é um processo
altamente interativo.
Às máquinas, são incumbidos os processamentos exaustivos das pesquisas sobre as
grandes massas de dados. E mesmo aqui, é fundamental o monitoramento humano de
forma a buscar soluções mais otimizadas com resultados de forma mais rápida e precisa.
15
Uma diferença significante entre DCBD e outras ferramentas de análise está na maneira
como exploram as inter-relações entre os dados. As diversas ferramentas de análise
disponíveis utilizam um método baseado na verificação, isto é, o usuário constrói
hipóteses sobre inter-relações específicas e então verifica ou refuta, através do sistema.
Esse modelo torna-se dependente da intuição e habilidade do analista em propor
hipóteses interessantes, em manipular a complexidade do espaço de atributos, e em
refinar a análise baseado nos resultados de consultas ao banco de dados, potencialmente
complexas. Já o processo de DCBD fica responsável pela geração de hipóteses,
garantindo mais rapidez, acurácia e completude aos resultados.
2.2. Aplicações
Segundo Philip Kotler (apud Moutella, 2003), conquistar novos clientes custa entre 5 a
7 vezes mais do que manter os já existentes. A manutenção do cliente passa pela sua
fidelização. E para fidelizar, é preciso conhecer esse cliente. Suas necessidades, suas
preferências, seus padrões de consumo. Esta necessidade comercial fomentou e projetou
o ramo de DCBD para além das fronteiras dos campi acadêmicos, assim como ocorreu
com outras tecnologias como dos próprios computadores e da internet.
Essa tendência das empresas atuais, de possuir clientes leais através de um
relacionamento maior entre empresa e cliente, implica em buscar a identificação dos
clientes cujos valores e necessidades sejam compatíveis com o uso prolongado de seus
produtos, e nos quais é válido o risco de investir com descontos, pacotes, brindes e
outras formas de criar essa relação personalizada. Essa mudança de postura requer altos
investimentos, e por isso, tem que ser fundamentada em argumentos sólidos e mais
objetivos possíveis. O processo de DCBD pode subsidiar o alto comando das empresas
com conhecimento que mesmos os mais experientes e competentes executivos jamais
poderiam obter com as formas tradicionais de análise de informação.
Para ilustrar, segue alguns exemplos da aplicação de DCBD no meio corporativo,
conforme Arbex (2005):
16
•
Wall-Mart: A cadeia americana de hipermercados identificou um hábito curioso
dos consumidores. Há cinco anos, ao procurar eventuais relações entre o volume
de vendas e os dias da semana, o software de data mining apontou que, às
sextas-feiras, as vendas de cervejas cresciam na mesma proporção que as de
fraldas. Estranharam, pois aplicando a lógica de forma dissociada do bom senso
chegou-se à conclusão que crianças estavam bebendo cerveja. Porém, uma
análise mais detalhada revelou que, ao comprar fraldas para seus bebês, os pais
aproveitavam para abastecer o estoque de cerveja para o final de semana.
•
Bank of América: Há quem consiga detectar fraudes, cortar gastos ou aumentar a
receita da empresa. O Bank of America usou essas técnicas para selecionar entre
seus 36 milhões de clientes aqueles com menor risco de inadimplência ao
contratar empréstimos. A partir desses relatórios, enviou cartas oferecendo
linhas de crédito para os correntistas cujos filhos tivessem entre 18 e 21 anos e,
portanto, precisassem de dinheiro para ajudá-los a comprar o próprio carro, uma
casa ou arcar com os gastos da faculdade. Conseguiram assim em três anos,
lucrar mais de 30 milhões de dólares somente com essa ação.
•
Telecomunicações:
Devido
à
recente
expansão
dos
serviços
de
telecomunicações, cresceram também os crimes nestes serviços, cujo o principal
é a “clonagem”. Técnicas de DCBD podem ser utilizadas para detectar hábitos
dos usuários de celulares. Quando um telefonema efetuado for considerado pelo
sistema como uma exceção, o programa faz uma chamada para confirmar se foi
ou não uma tentativa de fraude.
•
Medicina: A aplicação de DCBD em base de dados de pacientes e seus
prontuários permite identificar padrões de reação aos medicamentos, permitindo
assim prescrever de forma otimizada e com minimização de riscos. Além disso,
pode-se usar o conhecimento já existente, e com base nas informações de um
novo paciente, classificá-lo para que lhe seja receitado o melhor tratamento para
seus sintomas e características.
•
Governo: O governo dos EUA se utiliza de DCBD já há bastante tempo para
identificar padrões de transferências de fundos internacionais que se parecem
com lavagem de dinheiro do narcotráfico. Aqui, o processo de DCBD é usado
para identificar fraudes.
17
2.3. Medidas de interesse
Medidas de interesse são mecanismos para avaliação do conhecimento descoberto.
Durante o processo de DCBD, um volume grande de informações pode ser gerado, e as
medidas de interesse são mecanismos para avaliação se tais informações realmente são
conhecimentos relevantes.
As medidas de interesse podem ser (Han & Kamber, 2006 apud Domingues, 2007):
•
Objetivas: quando baseadas na estrutura dos padrões descobertos e na sua
estatística (modelos matemáticos). Como exemplo, temos o suporte e a
confiança, que são medidas de interesse objetivas para avaliação de regras
associativas.
•
Subjetivas: as medidas objetivas, por si só não garantem a relevância do
conhecimento descoberto, precisando que sejam aplicadas em conjunto com as
medidas subjetivas. No caso das regras associativas, são fundamentais para o
descarte de regras bem avaliadas nas medidas objetivas, mas que não
representam conhecimento útil ou inédito. Por se basearem no conhecimento
heurístico dos responsáveis por analisar o resultado do DCBD, e imprescindível
que esses especialistas tenham sensibilidade para reconhecer padrões
interessantes e inesperados.
2.4. Etapas
O processo de DCBD é caracterizado como sendo um processo interativo e iterativo,
composto por várias etapas interligadas (Fayyad, 1996). As principais etapas desse
processo, conforme se vê na Figura 1, são: a definição do domínio do problema, a
seleção, preparação e transformação dos dados, a mineração de dados, etapa onde
padrões são “descobertos”, a interpretação e a apresentação dos padrões minerados e
analisados para tornarem-se conhecimento útil.
18
Figura 1 - Processo de DCBD, segundo Fayyad (1996).
É importante mencionar que hoje em dia, é comum as empresas possuírem repositórios
de dados que podem ser utilizados como apoio ao Processo de Descoberta de
Conhecimento, como Data Warehouses e Data Marts que são Data Warehouses
departamentais. Italiano & Esteves (2004) mencionam que os dados neles contidos já
foram selecionados, de acordo com um domínio específico, além de limpos, corrigidos e
adequados.
Assim, é possível “saltar” algumas etapas da fase de pré-processamento, das quais
comentaremos a seguir. Nem sempre as etapas são executadas na ordem relacionada
adiante, ou até mesmo, algumas são desnecessárias principalmente de acordo com a
origem dos dados e do algoritmo minerador que será utilizado.
Considerando que não existe uma forma correta e única de trabalhar a DCBD, diversos
autores criam pacotes das funções existentes, adaptados para diversas circunstâncias de
tempo, recursos e dados disponíveis. Goldschmidt (2005) preferiu mesclar os modelos
Fayyad (1996), Chapman (2000) e Han (2001) derivando em uma proposta com as
seguintes etapas:
•
Pré-processamento: que incluiria as tarefas de seleção de dados, limpeza,
codificação, enriquecimento, normalização, construção de atributos, correção de
prevalência e partição dos conjuntos de dados.
•
Mineração de dados: onde são aplicados um ou mais algoritmos de mineração de
dados existentes.
•
Pós-processamento: quando os resultados obtidos são transformados em
modelos mais didáticos ou até mesmo mais simples, para que o conhecimento
descoberto seja mais facilmente absorvido por não especialistas em mineração.
19
Figura 2 – Modelo CRISP-DM para DCBD, segundo Chapman (2000).
Fonte: www.crisp-dm.org.
Enquanto que Chapman (2000) propôs um processo cíclico, ilustrado na Figura 2, que
divide o processo de DCBD em compreensão do domínio, compreensão dos dados,
preparação dos dados, modelagem, avaliação e aplicação.
Esse modelo também prevê iteratividade entre as etapas, de modo a refinar e melhorar
os resultados obtidos.
Neste trabalho, receberão enfoque as tarefas que foram mais importantes ou que
consumiram mais tempo no desenvolvimento do estudo de caso proposto, baseado nos
dois modelos anteriormente apresentados.
2.4.1. Definição do domínio
É a primeira etapa dentro do processo; é a compreensão e definição de um domínio, e
está intrinsecamente ligada ao que se espera obter do processo de DCBD. Ou seja,
quando se inicia o projeto de DCBD, é fundamental se determinar, mesmo que de forma
20
subjetiva e ampla, os objetivos daquela pesquisa e qual será o escopo. Por exemplo,
tem-se:
•
Analisar o movimento de faturamento do ano anterior (escopo) para identificar
os melhores mix de produtos de forma a potencializar a rentabilidade para o ano
atual (objetivo)
•
Detectar tentativas de ataques/crimes cibernéticos (objetivo) analisando o log´s
de serviços web e conexões de telecomunicações (escopo)
•
Analisar um data warehouse com dados de prontuários medidos de doentes
cardíacos (escopo) procurando identificar padrões que ajudem na detecção
precoce do problema e nas melhores formas de tratamento (objetivo)
É importante ressaltar que, conforme a complexidade do projeto de DCBD, deve-se
realizar um planejamento para diagnosticar a quantidade de especialistas no negócio que
serão necessários para acompanhar o processo e analisar os resultados. Também é
importante avaliar os recursos computacionais, visto que muitas vezes o processo terá
que manipular grandes volumes de dados e necessitará de um grande poder de
processamento.
2.4.2. Seleção de dados
Uma vez definido o domínio sobre o qual se pretende executar o processo de
descoberta, o próximo passo é selecionar e coletar o conjunto de dados que serão
usados. Nas aplicações corporativas, principalmente, pode-se pensar que todos os dados
armazenados são utilizados. Porém, é fundamental a seleção dos dados que realmente
tenham algum vínculo semântico com o domínio definido no passo anterior.
Além disso, alguns dados podem estar armazenados em sistemas legados, necessitando
assim sofrer algum processo de recuperação e conversão para protocolos de
armazenamentos mais atuais. Como exemplo, poderíamos citar dados armazenados em
backup, fitas DAT ou arquivos em mainframes codificados com métodos compactação
proprietários.
21
“Em geral, o processo de KDD pressupõe que os dados sejam organizados em uma
única estrutura tabular bidimensional contendo casos e características do problema
a ser analisado” (Goldschmidt, 2005)
Apesar de parecer simples, este requisito pode consumir uma parcela considerável do
processo, pois para se gerar dados nesse formato, muitas vezes é necessário relacionar
dados de várias fontes, tomando cuidado para que essa união não prejudique a
integridade das informações (Batista, 2003).
2.4.3. Limpeza
Nesta a atividade, procura-se remover os ruídos, dados incompletos ou inconsistentes.
“os dados são considerados incompletos se há informação ausente para
determinados atributos ou ainda se há dados pouco detalhados. Dados ruidosos são
dados errados ou que contenham valores considerados divergentes, denominados
outliers, do padrão normal esperado. Dados inconsistentes são aqueles que contêm
algum tipo de discrepância semântica entre si” (Goldschmidt, 2005).
Não proceder a limpeza dos dados, pode implicar em resultados distorcidos gerados na
fase de mineração. Porém, esta atividade deve ser executada com o devido
acompanhamento do especialista do domínio da aplicação, para assegurar que toda
intervenção no conjunto de dados deve manter a sua completude, veracidade e
integridade.
O procedimento mais simples para a limpeza é definir intervalos ou conjuntos de
valores válidos de cada atributo. As ocorrências divergentes devem ser excluídas.
Existe também a possibilidade de exclusão dos registros que possuam atributos não
informados ou com dados inconsistentes (um cliente com duzentos anos de idade, por
exemplo), bem como a exclusão dos outliers (nos milhares registros de venda de uma
loja de calçados, existe uma venda – verídica – de um tênis número 50).
22
2.4.4. Codificação dos dados
Dependendo do algoritmo de mineração a ser utilizado, os dados devem ser formatados
de uma maneira específica. Uma rede neural, por exemplo, requer que os dados de
entrada estejam numa representação numérica. Sendo assim, uma base de dados
contendo valores nominais precisa ser codificada antes de ser submetida a esse tipo de
algoritmo.
A forma como se codifica os dados influencia fortemente a qualidade e a quantidade de
conhecimento gerada pelo processo de DCBD. Por isso, muitas vezes um mesmo
conjunto de dados é codificado várias vezes, de diversas formas, até que o resultado da
mineração apresente resultados satisfatórios.
As formas de codificação são duas:
•
Numérica – Categórica: Consiste na substituição de valores numéricos por
valores categóricos. Engloba o mapeamento direto, onde cada valor numérico
passa a ser um categórico e o mapeamento em intervalos ou discretização, onde
um valor categórico representará uma faixa (intervalo) de valores numéricos.
•
Categórica – Numérica: Consiste na substituição de valores categóricos por
valores numéricos. Pode ser aplicada atribuindo-se um numérico seqüencial para
cada categórico encontrado, ou pode-se criar uma tabela ordenada de valores
possíveis, principalmente quando os valores categóricos possuem alguma
relação ou hierarquia. Por exemplo, ao invés de codificarmos (presidente – 4;
diretor – 1; gerente – 3; supervisor – 2), poderíamos codificar (presidente – 1;
diretor – 2; gerente – 3; supervisor – 4) para facilitar a compreensão hierárquica
e suas possíveis relações durante a mineração.
2.4.5. Enriquecimento dos dados
Informações não existentes previamente no conjunto de dados podem ser incorporadas
de forma a melhorar os resultados obtidos na mineração. Aqui também é importante o
23
acompanhamento do analista do negócio, para que a qualidade dos dados não seja
afetada.
Diferentemente da limpeza de dados, que se restringe a preencher informações ausentes,
com o enriquecimento, novas informações, geralmente de origem externas, são
agregadas. Como exemplo, pode-se citar um processo de DCBD sobre uma base de
clientes, na qual existe a informação de sua cidade. Poder-se-ia, então, agregar
informações como IDH, renda per cápita, crescimento econômico, distância para a loja;
de cada cidade, de forma analisar o impacto desses fatores nos negócios da empresa.
2.4.6. Normalização de dados
Normalizar dados consiste no ajuste dos valores de um determinado atributo para um
pequeno intervalo, que pode ser por exemplo, de 0 a 1. Essa etapa é importante para
evitar que alguns atributos influenciem de forma tendenciosa o algoritmo de mineração,
por possuir uma escala de valores maior que os demais atributos (Goldschmidt, 2005).
As principais formas de normalização são:
•
Normalização linear: onde os valores mínimos e máximos são convertidos para
valores fixos, e os demais valores são convertidos através de regra de três;
•
Normalização por desvio padrão: baseia-se na posição média que cada valor
possui na escala do atributo. Dessa forma, não é necessário conhecer de antemão
os valores mínimos e máximos;
•
Normalização pela soma de elementos: cada valor é divido pelo somatório de
valores do atributo;
•
Normalização pelo valor máximo dos elementos: cada valor é divido pelo maior
valor dentre os existentes no atributo;
•
Normalização por escala decimal: desloca-se o ponto decimal dos valores do
atributo. O número de casas depende do maior valor absoluto do atributo;
24
2.4.7. Construção de atributos
A partir de atributos existentes, pode-se construir atributos derivados, visando
simplificar ou extrair dados mais relevantes. Um exemplo comum é criar um atributo
“idade” com base no atributo data de nascimento. Dessa forma o algoritmo irá
manipular uma estrutura de dados mais simples, e o resultado será de mais fácil
compreensão.
2.4.8. Correção de prevalência
Essa etapa, segundo Goldshmidt (2005), é importante principalmente quando os dados
estiverem sendo submetidos a algoritmos de classificação. Ela consiste em corrigir um
eventual desequilibro na distribuição de registros com determinadas características.
Como exemplo, em uma base de dados onde somente 1% seja de clientes inadimplentes,
os modelos de classificação para novos clientes poderão ser tendenciosos devido a
pouca ocorrência de inadimplentes na base de dados de treinamento.
A redução de dados horizontal (exclusão de registros) ou a replicação aleatória de
registros são técnicas usadas para efetivar a correção de prevalência.
2.5. Mineração
A principal etapa do processo de DCBD é a mineração de dados. Nesse momento os
dados preparados nas etapas anteriores são submetidos ao algoritmo de mineração.
Pode-se considerar que a mineração de dados é a transformação de dados em
informações. De acordo com o propósito da tarefa, agora é necessário se definir a
técnica e o algoritmo a serem utilizados.
25
Existem várias classes de problemas de mineração de dados. Para cada classe, existem
vários algoritmos para mineração. Sendo assim, é possível que vários algoritmos
(tarefas de mineração de dados) sejam aplicados para uma melhor análise dos dados.
2.5.1. Classificação
A tarefa de classificação tem por objetivo alocar elementos em classes pré-existentes. O
objetivo é utilizar uma função para mapear os elementos em classes pré-definidas
(associar elementos a classes). As classes devem ter sido definidas através de suas
características. O mecanismo de classificação então compara as características do
elemento candidato com as características das classes existentes, que foram geradas
através da análise de um conjunto de dados de treinamento. Isto é chamado de
aprendizagem indutiva.
Como resultado, tem-se um ranking das classes mais prováveis, dado pelo grau de
pertinência do elemento na classe. É possível associar o elemento em mais de uma
classe ou então tomar a primeira do ranking como a classe resultante.
2.5.2. Agrupamento
Segundo Silva (2004), “agrupamento é a tarefa de segmentar uma população
heterogênea em vários subgrupos mais homogêneos ou clusters”. A diferença
primordial para a tarefa de classificação é a inexistência de classes predefinidas e nem
exemplos. Os registros se agrupam com base na auto-semelhança.
Comumente, tarefas de agrupamentos são realizadas nas etapas de pré-processamento
visando a identificação de grupos correlatos, para servirem de ponto de partida para
futuras explorações.
26
2.5.3. Associação
É uma das mais conhecidas tarefas de Mineração de Dados, introduzida por Agrawal et
al. (1993). Foi esta tarefa que permitiu descobrir um dos achados mais famosos na
cadeia de supermercados Wall-Mart, comentado na seção 2.2. deste trabalho. A tarefa
de regras associativas verifica se existe algum controle ou influência entre atributos ou
valores de atributos (Han, 2001).
O objetivo então é encontrar dependências entre atributos ou valores através da análise
de probabilidades condicionais. Em geral, os resultados são apresentados na forma de
regras X
Y, que significa que “se X está presente, então Y tem chances de estar
presente também”. O primeiro elemento X pode ser uma combinação de atributos ou
valores, formando assim regras mais complexas.
As regras possuem dois graus associados: a confiança e o suporte. O suporte é o número
de casos onde a regra foi encontrada (onde X e Y aparecem juntos). A confiança é a
probabilidade condicional da regra, ou seja, quais as chances do segundo elemento estar
presente. É calculada pela divisão do número de casos onde X e Y aparecem juntos (o
suporte absoluto), pelo número de casos onde somente X aparece (Mattos, 2006).
2.6. Pós-processamento
Em estudos complexos, com grandes volumes de dados e atributos, muitas vezes a etapa
de mineração gera também uma grande quantidade de informações, que podem, e
muitas precisam, ser refinadas. Esse pós-processamento pode ser incluído no algoritmo
minerador, porém algumas vezes é vantajoso implementá-lo separadamente.
Em geral, a principal meta dessa etapa é melhorar a compreensão do conhecimento
encontrado pelo algoritmo minerador, validando-o através de medidas de qualidade da
solução e da percepção do analista de dados do negócio.
27
No caso de geração de regras associativas, por exemplo, é comum realizar uma
filtragem, como forma de diminuir o número de regras geradas, excluindo aquelas
menos interessantes.
28
3. Regras Associativas
Agrawal, Imielisnki e Swami (Agrawal et al. 1993) desenvolveram o arcabouço
matemático para descrever o problema das regras associativas, bem como propuseram
algoritmos para a sua resolução.
Para ilustrar, os autores usaram como exemplo uma base de dados de transações de
clientes em um supermercado. Após o processamento, chegaram a regras como esta:
Macarrão => Tomate [suporte = 2%, confiança = 65%]
Onde suporte corresponde ao percentual de transações com o item macarrão dentro de
toda a base de transações, ou seja, 2% de todas as vendas incluíam o produto macarrão.
Já a confiança determina o percentual de transações que possui o produto tomate (lado
direito da regra) dentre as que atendiam o lado esquerdo da regra, portanto, todas as
vendas que incluíam macarrão (Pelegrin et al., 2006).
Dessa forma, suporte e confiança são os principais balizadores para a geração de regras
associativas. Sendo assim, o processo de definição dessas regras pode ser dividido em
duas etapas, em função destes requisitos:
a) Buscar todos os conjuntos de itens (itemsets) cuja freqüência no conjunto total
de transações seja igual ou superior a um suporte mínimo pré-definido.
b) A partir dos itemsets gerados, simular regras associativas e selecionar apenas
as que satisfaçam a um índice de confiança mínimo.
Existem diversos algoritmos para geração de regras associativas, diferindo
principalmente na forma de determinar os itemsets freqüentes.
Esse primeiro passo é crucial para eficiência do algoritmo, porque é necessário que a
base de dados seja lida várias vezes, determinando assim o desempenho global do
algoritmo. O primeiro trabalho sobre regras associativas aplicadas em mineração de
29
dados foi apresentado por Agrawal et al. (1993), e desde então, vários algoritmos foram
propostos, sendo o Apriori o mais conhecido, descrito por Agrawal et al. (1993) e
Agrawal et al. (1994). Silva (2004) comenta que a partir do Apriori, foram
desenvolvidos estudos que produziram diversas variantes, otimizadas para determinados
tipos de dados.
3.1. Regras associativas quantitativas
Grande parte dos algoritmos que tratam de regras associativas não são adaptados para
atributos numéricos. Sirikant (1996, apud Silva, 2004) propôs um método para geração
de regras associativas, tratando de forma diferenciada os atributos numéricos.
Na maioria dos trabalhos sobre regras associativas quantitativas, os atributos numéricos
são transformados em intervalos categóricos, com o objetivo de fazer que as regras
geradas com atributos numéricos possam atingir o suporte mínimo com mais facilidade.
Um exemplo de regra de associação quantitativa seria:
Salário (1000 – 1600) => Operações de crédito (3000 – 4500)
[suporte = 4%, confiança = 75%]
Que pode ser interpretado da seguinte forma: dado um cliente com salário entre R$
1000,00 e R$ 1600,00, existe uma probabilidade de 75% (confiança) de que ele contrate
operações de crédito variando de R$ 3000,00 a R$ 4500,00. Sendo que essa regra está
presente em 4% (suporte) das operações analisadas.
3.2. Medidas de interesse objetivas
As medidas de interesse objetivas são utilizadas para apurar a importância de uma regra,
verificando a existência de fatores desejáveis ou não. Suporte e confiança são as
principais medidas de interesse objetivas aplicadas às regras associativas, porém,
30
dependendo dos dados ou do objetivo ou das técnicas de mineração utilizados, pode-se
usar outras medidas de interesse não tão conhecidas, com por exemplo o Lift e o
Leverage, que serão descritas a seguir (Silva, 2004).
Para melhor assimilação dos conceitos, os exemplos serão aplicados sobre uma base de
dados hipotética com as seguintes características:
•
base de dados com total de 1000 transações;
•
um itemset X presente em 250 transações;
•
um itemset Y presente em 150 transações;
•
um itemset Z presente em 400 transações;
•
os itemsets X e Y ocorrem juntos em 50 transações
3.2.1 Suporte
Também conhecido por freqüência, representa o percentual de transações em que todos
os itens contidos na regra estão presentes.
Suporte (X => Y) = P(X, Y) = 50 / 1000 = 0,05
Suporte de 5%
3.2.2. Confiança
A confiança expressa a força da regra, ou seja, a chance de acerto da regra. Indica a
probabilidade do lado direito da regra ocorrer dado que o lado esquerdo ocorre.
Confiança (X => Y)
= P(X, Y) / P(X)
= suporte(X => Y) / suporte(X)
= 0,05 / 0,25 = 0,2
Confiança de 20%
Enquanto o suporte geralmente é utilizado para gerar os itemsets freqüentes, a confiança
é utilizada para filtrar as regras mais fortes. Porém, essa métrica é muito sensível ao
suporte do lado direito da regra (Y). Dessa forma, um suporte muito alto de Y pode
gerar uma confiança alta da regra, mesmo que os itemsets X e Y não sejam dependentes.
31
3.2.3. Lift
Conforme Silva (2004), o lift de uma regra associativa é a confiança dividida pelo
percentual de transações que são cobertas pelo lado direito da regra. Isso indica quão
mais freqüente é o lado direito da regra quando o lado esquerdo está presente.
Lift (X => Y)
= P(X, Y) / (P(X)P(Y)) = confiança(X => Y) / suporte(Y)
= 0,05 / (0,25 * 0,15) = 1,333
Lift da regra é de 1,33
Quando o lift obtido é maior que 1, pode-se dizer que o lado direito da regra ocorre com
mais freqüência nas transações em que o lado esquerdo ocorre. Quando o lift é menor
que 1, o lado direito ocorre com mais freqüência nas transações em que o lado esquerdo
não ocorre. Dessa forma, as regras que possuem lift maior que 1 são mais interessantes
que as demais, sendo o lift diretamente proporcional à relação entre os dois lados da
regra.
3.2.4. Leverage
O leverage representa o número de transações adicionais cobertas pelos lados direito e
esquerdo, além do esperado, caso os dois lados fossem independentes um do outro.
Leverage (X => Y)
= P(X, Y) – (P(X) P(Y))
= Suporte(X=>Y) – (Suporte(X) Suporte(Y))
= 0,05 – (0,25 * 0,15) = 0,0125
Leverage de 1,25%
Quando o leverage obtido é maior que zero, há a indicação de que os dois lados da regra
ocorreram juntos, em número de transações maior que o esperado, caso os itens
analisados sejam completamente independentes. Se o leverage for menor que zero, os
dois lados ocorrem juntos em número menor que o esperado. Para leverage igual a zero,
os dois lados da regra ocorrem juntos, exatamente o esperado. Isso significa que ambos
provavelmente são independentes.
32
3.2.5. Convicção
Essa unidade de medida cobre uma falha da confiança, quando um item com suporte
muito alto pode influenciar na geração de itemsets de confianças significantes.
Convicção(X => Y)
= (1 - suporte(Y)) / (1 – confiança(X => Y))
= (1 – 0,15) / (1 – 0,2) = 1,0625
Convicção de 1,0625
Quando a convicção de uma regra é igual a 1, pode-se dizer que os itemsets não
possuem relação. Quanto maior a convicção, maior a relação entre X e Y. Uma
convicção menor que 1 implica em relação negativa entre os itemsets, ou seja, quando X
ocorre, Y tende a não ocorrer.
Um exemplo que poderia ser evidenciado através da análise da convicção é o seguinte:
Se 80% dos clientes de um supermercado compram leite, e 2% compram vinho, existe
uma grande chance de encontrarmos a regra (vinho => leite) com confiança
significativa. Porém, isto acontece porque o leite é um item muito freqüente, e não
porque os itens tenham alguma relação.
3.2.6. Cobertura
A cobertura representa o percentual de transações que são cobertos pelo lado esquerdo
da regra.
Cobertura(X => Y)
= P(X) = suporte(X) = 0,25
Cobertura de 25%
3.3. Análise das métricas
Analisando as medidas de interesse objetivas apresentadas, pode-se notar que o lift, o
leverage e a convicção, tentam verificar, cada uma ao seu modo, a existência ou não de
uma relação entre os itens da regra. O lift e o leverage verificam a ocorrência de relação
entre os itens através da diferença entre o suporte da regra e o suporte esperado caso os
33
itens da regra fosse independentes (Silva, 2004). A convicção define se existe relação
ou não entre os itens verificando a existência do lado esquerdo quando o lado direito da
regra não está presente, objetivando determinar se a regra existe devido a uma relação
entre os itens ou devido o lado direito da regra apresentar um suporte muito elevado
(Arbex, 2005).
A cobertura é uma métrica que indica o número de transações em que a regra poderia
ser aplicada. Considerando que praticamente todas as regras possuem confiança inferior
a 100%, a cobertura destaca os casos para os quais a regra “falharia”.
Da mesma forma que a maior parte das propostas de geração de regras associativas não
leva em conta os atributos quantitativos, a maior parte das medidas de interesse
objetivas não apresentam nenhum tratamento especial para os atributos numéricos.
34
4. Estudo de Caso
Conforme já comentado na seção 2.4, o desenvolvimento do presente estudo de caso
mesclou as orientações de Chapman (2000) e seu modelo CRISP-DM com a proposta
de Goldschmidt (2005), lembrando que ambos também foram inspirados no modelo de
Fayyad (1996).
Sendo assim, o estudo de caso também será explanado de forma segmentada de forma a
possibilitar uma melhor assimilação do conceito.
4.1. Compreensão do domínio
Os dados usados neste estudo de caso são de clientes de uma instituição financeira nos
Estados do Pará e Amapá. Foram acumulados com objetivo de acompanhar o índice de
inadimplência de maio de 2005 a abril de 2006, tendo em vista que seu controle fazia
parte da estratégia de negócio dessa instituição.
Tais dados consistiam em armazenar o valor que o cliente estava recebendo (crédito), e
o saldo de todas suas operações e das operações vencidas (se existissem) no dia do
crédito. Em alguns casos, dada a regularidade e periodicidade dos créditos, tinha-se uma
série histórica do cliente, pois havia uma “fotografia” dos saldos a cada dia que recebia
um ou mais créditos.
Considerando que o gerenciamento e redução da inadimplência fazem parte da
estratégia da grande maioria das empresas, vislumbrou-se aí uma oportunidade de
buscar conhecimento oculto nos dados (Fayyad, 1996), com uso de técnicas de DCBD.
4.2. Compreensão dos dados
Quando iniciamos um processo de DCBD, temos a disposição uma grande coleção de
dados, na maioria das vezes na forma de tabelas em banco de dados relacionais. Nesta
35
fase, é imprescindível a compreensão do domínio de estudo, para que os dados
selecionados possuam alguma relação. Caso contrário, o resultado não trará
conhecimento útil, sendo necessário reiniciar o ciclo, desde a primeira fase.
Após retirar as tabelas com dados que não pertenciam ao escopo do assunto a ser
estudado, a estrutura de dados inicial do presente estudo de caso é exibida pela Figura 3.
Figura 3 - Estrutura de dados inicial do estudo de caso.
Tabela DadosClientes: registra os atributos dos clientes como data de nascimento,
sexo, estado civil, escolaridade, ocupação, renda, cargo e nível funcional. Os campos
com prefixo “Cat” são atributos derivados da categorização de atributos numéricos2. Já
os atributos com sufixo “Ajust” são derivados do tratamento do domínio do respectivo
campo
original3.
Os
clientes
desta
tabela,
aproximadamente 58
necessariamente possuíam registros na tabela PagtosCreditos.
2
3
Procedimento comentado na seção 4.3 – Pré-processamento.
Idem
mil, não
36
Tabela PagtosCreditos: registra cada lançamento de crédito para um determinado
cliente, informando o seu valor, a situação do crédito, a data de pagamento, o momento
em que foi consultado, o saldo aplicado do cliente (total de operações de empréstimos),
o saldo em atraso (saldo das operações de empréstimo que estavam com parcelas
vencidas), um sinalizador da ocorrência de adiantamento à depositante (limite da contacorrente excedido) e saldo on-line da conta corrente no momento em que houve a
consulta do lançamento. Os campos MCIPagador, remessa e produto identificam o tipo
de crédito que o cliente estava recebendo, sendo em grande parte, proventos salariais. Já
o campo “Favorecido” continha o nome do cliente. Esta tabela possui 2.732.460
registros.
Tabela Conceito: armazena o conceito de cerca de 129mil clientes. O conceito de cada
cliente foi atribuído pelos mecanismos de avaliação de clientes da instituição financeira,
cuja metodologia é confidencial. O domínio do atributo conceito de crédito é composto
pelos valores “excelente”, “bom”, “ruim” e “péssimo”. Todos os registros da tabela
DadosClientes possuíam correspondentes nesta tabela.
4.3. Pré-processamento
O pré-processamento foi uma fase que consumiu muito tempo, pois várias consultas são
necessárias para certificar a qualidade dos dados, tanto no âmbito de atributos quanto no
de registros inteiros.
Essa fase foi executada utilizando as ferramentas disponíveis no gerenciado de banco de
dados Access 2000 da Microsoft. Tal escolha foi fundamentada pelo fato de já haver
uma considerável experiência prévia no seu uso, e também pelo fato da base de dados
inicial possuir um volume expressivo de registros, da ordem de milhões de linhas.
37
4.3.1. Seleção e Limpeza
Estas duas etapas serão comentas em conjunto, porque na prática, acabaram sendo
executas paralelamente. Assim, a seguir estão relacionadas as ações aplicadas em cada
tabela do banco de dados objeto de estudo:
Na tabela PagtosCreditos:
•
Os registros dos meses de maio de 2005 e abril de 2006 foram excluídos por
contemplarem a totalidade do mês. Considerando que grande parte desses
créditos correspondiam a pagamentos de salários, que geralmente se concentram
em determinados dias do mês, poderia haver distorções devido à sazonalidade
destes créditos (redução de dados horizontais). Restaram assim os registros
referentes ao período de junho/2005 a março/2006;
•
Foram excluídos os registros com situação “BLQ” (bloqueado) e “CAN”
(cancelado)
•
Créditos de valores inferiores a R$ 50,00 também foram excluídos.
Na tabela DadosClientes:
•
Registros que possuíam atributos não informados, salvo exceção abaixo descrita,
foram excluídos;
•
Em casos que através da informação do cargo, pudesse se inferir o grau de
escolaridade (exemplo: escolaridade não informada, para registros cuja
ocupação era “advogado”, foi alterada para “Superior”);
•
Eliminação direta de atributo (Goldschmidt, 2005) que tinham função de
identificação das instâncias, como CPF e MCI;
•
O atributo “cargo” possuía cerca de 7 mil valores distintos, para os cerca de 57
mil registros, caracterizando assim ponto de inconsistência, decorrente
principalmente, da grande incidência de erros de digitação. Considerando que a
correção seria muito onerosa, e que o atributo “ocupação” já possui uma
informação com um certo nível de correlação com a função, descartou-se o
referido atributo;
38
•
O atributo nível também foi descartado por não estar informado em cerca de
35% dos registros
•
Para os registros em que a renda não estivesse informada, em alguns casos
utilizou-se a técnica de preenchimentos com medidas estatísticas, visando
preservar uma quantidade razoável de registros. Os clientes de ocupação
professor, sem renda cadastrada, receberam a média da renda dos demais
professores. Essa tática foi aplicada para as principais ocupações que possuem
um pequeno desvio padrão no atributo renda, como professores, carteiros,
garçons, porteiros, motoristas, etc.
•
Registros de clientes com menos de 18 ou mais de 100 anos também foram
excluídos, pois seriam considerados outliers, podendo distorcer os resultados da
mineração.
Após a limpeza dos dados, restaram 2.339.619 créditos, 57.967 clientes, 32.931 clientes
com vínculos na tabela de créditos, gerando uma projeção de 270.486 registros na
relação clientes => créditos.
4.3.2. Integração
Nesta etapa, foram criadas duas tabelas: uma para armazenar os créditos efetuados
quando o cliente possuía inadimplência e outra com os créditos efetivados para clientes
adimplentes. Nessas tabelas os lançamentos foram agrupados por cliente (agência e
conta, como campos chave), e a estrutura e relacionamentos são mostrados na Figura 4.
39
Figura 4 - Estrutura das tabelas com os dados a serem minerados.
Tabela Pagtos Adimpl 2: consolida por cliente, todos os créditos efetivados quando o
cliente estava adimplente com suas operações (empréstimos) no dia em que recebeu o
crédito. Os campos com prefixo “Med” correspondem à média dos créditos recebidos,
do saldo aplicado (total de operações do cliente) e do saldo atrasado (operações com
parcelas vencidas). O campo QteDias totaliza a quantidade de dias em que houve esses
créditos e o campo QteDiasInad é a replicação do campo QteDias da tabela
PagtosInad2. Já os campos com o prefixo “Cat” são derivados dos processos de
categorização dos respectivos campos numéricos4.
Tabela Pagtos Inad 2: consolida por cliente, todos os créditos efetivados quando o
cliente estava inadimplente com alguma de suas operações (empréstimos), no dia em
que recebeu o crédito. A estrutura dessa tabela é uma réplica da tabela
“PagtosAdimpl2”, exceto pelo fato que esta tem um campo derivado a mais:
“CatMedSldAtraso”, visto que na outra, por não clientes inadimplentes, não houve a
4
Procedimento comentado na seção 4.3 – Pré-processamento.
40
necessidade de categorizar tal média. Já o campo QteDiasAdimpl é uma replicação do
campo QteDias da tabela PagtosAdimpl2.
Ao final desse processamento, a tabela PagtosInad2 possuía 150.032 registros, e a tabela
PagtosAdimpl2 com 279.725 registros.
4.3.3. Formatação ou Transformação
Nesta etapa, construíram-se novos campos, discretizados (codificação numérica →
categórica), visando verificar se tal complementação iria ajudar ou não na obtenção de
conhecimento sobre esta base de dados.
O campo data de nascimento foi transformado no campo idade, tendo como data base o
dia 01/06/2006, pois esta informação, no formato que estava, seria de pouca utilidade
durante a fase de mineração de dados. Além disso, através deste campo “idade”, criouse uma representação categórica, conforme mostra a Tabela 1:
Tabela 1 - Categorização do campo Idade
Atributo: CatIdadeAjust
Até 25
De 26 a 40
De 41 a 55
A partir de 56
Frequência
2.369
20.021
20.497
15.080
O atributo EstadoCivil possuía uma grande quantidade de categorias, havendo um certo
nível hierárquico entre os valores. Aplicar a redução de valores nominais, segundo
Goldschmidt (2005), pode proporcionar um melhor desempenho a diversos algoritmos
de mineração, principalmente naqueles baseados em manipulações simbólicas e
comparações lógicas de dados. A Tabela 2 mostra os valores do domínio desse atributo.
41
Tabela 2 - Categorização original do campo Estado Civil
Atributo: EstadoCivil
CAS REGIME MISTO OU ESPECIAL
CASADO(A) - REGIME DOTAL
CASADO(A)-COMUNHAO PARCIAL
CASADO(A)-COMUNHAO UNIVERSAL
CASADO(A)-PART.FINAL AQUESTOS
CASADO(A)-SEPARACAO DE BENS
DIVORCIADO(A)
SEPARADO(A) JUDICIALMENTE
SOLTEIRO(A)
VIUVO(A)
Frequência
49
37
7.062
14.879
22
393
1.484
1.533
28.425
4.083
Podemos observar na Tabela 2 que havia diversas modalidades de casamento, que
agrupamos em apenas uma. As modalidades “divorciado”, “separado judicialmente” e
“viúvo” também foram agrupadas. O resultado pode ser conferido na Tabela 3.
Tabela 3 - Categorização criada para o campo Estado Civil
Atributo: EstadoCivilAjust
CASADO
SEPARADO/DIVORCIADO/VIUVO
SOLTEIRO
Frequência
22.442
7.100
28.425
Na Tabela 4, vemos as informações originais para o campo Escolaridade, que também
foi agrupado em apenas cinco categorias, mostradas na Tabela 5.
Tabela 4 - Categorização original do campo Escolaridade
Atributo: Escolaridade
ANALFABETO
DOUTORADO
ENSINO FUNDAMENTAL
ENSINO MEDIO
MESTRADO
NÃO INFORMADO
POS GRADUADO
SUPERIOR COMPLETO
SUPERIOR EM ANDAMENTO
SUPERIOR INCOMPLETO
Frequência
1.266
63
20.035
22.972
146
3.412
361
7.586
933
1.193
42
Tabela 5 - Categorização criada para o campo Escolaridade
Atributo: EscolaridadeAjust
ANALFABETO
ENSINO FUNDAMENTAL
ENSINO MEDIO
POS GRADUAÇÃO
SUPERIOR
Frequência
1.266
23.447
22.972
570
9.712
A informação da renda bruta do cliente é um dado numérico e contínuo. Alguns
algoritmos de mineração não admitem a entradas neste formato. Criou-se então uma
categoria para contornar esta situação, conforme mostra a Tabela 6.
Tabela 6 - Categorização criada para o campo Renda Bruta
Atributo: CatRendaBrutaAjust
Até 500
De 501 a 1500
De 1501 a 3000
Acima de 3000
Frequência
21.368
19.294
11.712
5.593
A descoberta de conhecimento em base de dados é um processo interativo e iterativo
(Fayyad, 1996), implicando assim em constante manipulação e transformação de dados.
Envolve também estratégias de integração destes, para se obter o máximo dos
algoritmos de pesquisa a serem aplicados. Por isso, optou-se por trabalhar a tabela de
créditos inicial segmentada em duas: uma com os créditos efetivados para clientes
adimplentes e outra para os créditos efetivados para clientes inadimplentes. Na Tabela
7, é mostrada a concentração de registros por categoria definida para o campo
CatMedCredito (categorização da média de créditos recebidas pelo cliente) em ambas
tabelas:
Tabela 7 - Categorização do campo Média de créditos efetivados
Atributo: CatMedCredito
Abaixo de 0,7mil
Acima de 2mil
De 0,7 a 1,2mil
De 1,2 a 2mil
Frequência
Adimplentes
Inadimplentes
164.309
96.537
35.959
12.494
42.700
23.760
36.757
17.241
43
E, na Tabela 8, são mostradas as categorias e respectivas quantidades de registros, do
atributo CatMedSldAplicado (categorização da média de saldo aplicado – operações de
empréstimo).
Tabela 8 - Categorização do campo Média de saldo aplicado (operações)
Atributo: CatMedSldAplicado
Abaixo de 0,1mil
De 0,1 a 0,7mil
De 0,7 a 1,5mil
De 1,5 a 4mil
Acima de 4mil
Frequência
Adimplentes
Inadimplentes
100.177
15.445
73.066
53.900
37.049
30.639
36.015
25.766
33.418
24.282
Durante a fase de mineração de dados, comentada na próxima seção, o atributo
Ocupação também possuía um domínio muito amplo, cerca de 231 valores, com
extrema concentração em cinco categorias: Servidores públicos federais, estaduais,
municipais, comerciários, pensionistas – que concentravam cerca de 65% dos clientes
estudados. Essa concentração se deve ao perfil de clientes que recebem as modalidades
de créditos usadas no estudo.
Após analisar as similaridades entre as ocupações, criou-se um atributo de
OcupaçãoAjust com um domínio de 75 valores, sendo que 18 tinham um suporte
mínimo de 10% dentre o universo de clientes.
4.4. Mineração
Finalizado o pré-processamento dos dados, chegamos à etapa de mineração
propriamente dita. Aqui será executado o Apriori, que é um dos algoritmos de
mineração de dados mais conhecidos, para descoberta de regras associativas,
disponíveis no aplicativo Weka.
4.4.1. A ferramenta Weka.
44
A ferramenta WEKA (Waikato Enviroment for Knowledge Analysis), foi utilizada por
ser simples, bastante difundida e com licença livre (GNU). Desenvolvida na linguagem
Java, pela Universidade de Waikato na Nova Zelândia, esta ferramenta é de domínio
público e trabalha com diversas técnicas de Mineração de Dados (Witten & Frank,
2005).
Ela é composta de dois pacotes que podem ser embutidos em outros programas escritos
em Java, permitindo que um desenvolvedor possa criar seu próprio Data Mining
Explorer (Silva M., 2004).
Os dados foram carregados para o Weka diretamente do banco de dados MS-Access.
Isso possibilitou maior flexibilidade e agilidade para manipular os dados, e poupou
tempo por não haver a necessidade de conversão de arquivos. Os passos necessários
foram os seguintes (Witten & Frank, 2005):
•
Criação de uma conexão ODBC do sistema operacional, mapeando o banco de
dados onde os dados estavam armazenados.
•
Extração de um arquivo chamado “DatabaseUtils.props” que vem no pacote
instalação, caso ele não exista na pasta onde o Weka foi instalado. Em algumas
versões ele é um componente da parte experimental do Weka, e por isso não é
extraído automaticamente pelo instalador.
•
Inclusão
das
linhas
“jdbcDriver=sun.jdbc.odbc.JdbcOdbcDriver”
e
“jdbcURL=jdbc:odbc:dbname” nesse arquivo.
4.4.2. Carga dos dados
Para se familiarizar com os recursos da ferramenta e poder estimar o tempo de
processamento dos algoritmos, carregou-se pequenos fragmentos dos dados que seriam
analisados. A segmentação aleatória consistia em filtrar clientes pelo último dígito do
número da conta. Isso garantia aleatoriedade e a certeza de que cada um dos dez
segmentos possíveis teria uma quantidade praticamente idêntica de componentes.
45
Porém, no momento da mineração propriamente não foi possível carregar toda a base
dados, com cerca de 28 mil registros na tabela de inadimplentes e 26 mil na de
adimplentes, pois algumas vezes o Weka foi finalizado por necessitar de quantidade de
memória superior à disponibilizada pelo sistema operacional, conforme ilustrado na
Figura 5.
C:\Weka-3-4>java -Xmx768m -classpath ";weka.jar" weka.gui.GUIChooser
Added driver: sun.jdbc.odbc.JdbcOdbcDriver
Added driver: sun.jdbc.odbc.JdbcOdbcDriver
Connecting to jdbc:odbc:wekaaccess
GenericObjectEditor: Problem making backup object
java.io.NotSerializableException: sun.jdbc.odbc.JdbcOdbcConnection
Executing query: SELECT * from 05adimplentes
Connecting to jdbc:odbc:wekaaccess
Getting metadata...
Completed getting metadata...
Creating instances...
Creating header...es
Disconnecting from jdbc:odbc:wekaaccess
Exception in thread "Thread-116" java.lang.OutOfMemoryError: Java heap space
at weka.gui.AttributeVisualizationPanel$BarCalc.run(Unknown Source)
displayed message:
Not enough memory. Please load a smaller dataset or use larger heap size.
- initial JVM size:
4.9MB
- total memory used: 762.1MB
- max. memory avail.: 762.1MB
Note:
The Java heap size can be specified with the -Xmx option.
E.g., to use 128MB as heap size, the command line looks like this:
java -Xmx128m -classpath ...
Figura 5 - Erro de execução por memória insuficiente.
A carga e o processamento dos dados não consumiam muita memória, mas a sua
interface de pré-processamento consumia por tentar gerar sumarizações e gráficos dos
dados carregados.
Para não comprometer a homogeneidade dos testes nas minerações, foram carregados
quatro segmentos (dígitos finais da numeração de conta), correspondendo assim a 40%
do universo de estudo. A Figura 6 mostra a instrução SQL da consulta usada pelo Weka
para carregar os dados da tabela de inadimplentes, onde na cláusula where filtra-se os
clientes cujas contas terminam nos dígitos 0, 3, 4 ou 7.
46
SELECT [PAGTOS INAD 2].CatMedSldAplicado,
[PAGTOS INAD 2].CatQteDias AS CatQteDiasInad,
[PAGTOS INAD 2].CatQteDiasAdimpl,
DADOSCLIENTES.sexo,
DADOSCLIENTES.EstCivilAjust,
DADOSCLIENTES.EscolaridadeAjust,
DADOSCLIENTES.CatRendaBrutaAjust2,
DADOSCLIENTES.CatIdadeAjust,
DADOSCLIENTES.OcupacaoAjust,
CONCEITO.Conceito,
[PAGTOS INAD 2].Agencia
FROM [PAGTOS INAD 2] INNER JOIN
(DADOSCLIENTES INNER JOIN CONCEITO
ON (DADOSCLIENTES.Agencia = CONCEITO.Agencia)
AND (DADOSCLIENTES.Conta = CONCEITO.conta))
ON ([PAGTOS INAD 2].Agencia = DADOSCLIENTES.Agencia)
AND ([PAGTOS INAD 2].Conta = DADOSCLIENTES.Conta)
WHERE (((Right([PAGTOS INAD 2]![Conta],1)) In (0,3,4,7)));
Figura 6 - String SQL para carga dos dados pelo Weka (inadimplentes).
Já a Figura 7 mostra a instrução SQL da consulta que é usada pelo Weka para carregar
os dados da tabela de adimplentes, onde na cláusula where filtra-se os clientes cujas
contas terminam nos dígitos 0, 3, 4 ou 7.
SELECT [PAGTOS ADIMPL 2].CatMedSldAplicado,
[PAGTOS ADIMPL 2].CatQteDiasInad,
[PAGTOS ADIMPL 2].CatQteDias AS CatQteDiasAdimpl,
DADOSCLIENTES.sexo,
DADOSCLIENTES.EstCivilAjust,
DADOSCLIENTES.EscolaridadeAjust,
DADOSCLIENTES.CatRendaBrutaAjust2,
DADOSCLIENTES.CatIdadeAjust,
DADOSCLIENTES.OcupacaoAjust,
CONCEITO.Conceito,
[PAGTOS ADIMPL 2].Agencia
FROM ([PAGTOS ADIMPL 2] INNER JOIN DADOSCLIENTES
ON ([PAGTOS ADIMPL 2].Conta = DADOSCLIENTES.Conta)
AND ([PAGTOS ADIMPL 2].Agencia = DADOSCLIENTES.Agencia))
INNER JOIN CONCEITO
ON (DADOSCLIENTES.Agencia = CONCEITO.Agencia)
AND (DADOSCLIENTES.Conta = CONCEITO.conta)
WHERE (((Right([PAGTOS ADIMPL 2]![Conta],1)) In (0,3,4,7)));
Figura 7 - String SQL para carga dos dados pelo Weka (adimplentes).
47
4.4.3. Análise das regras associativas geradas
Primeiramente, serão comparados os valores das métricas das medidas de interesse
objetivas das regras geradas, considerando o padrão X => Y, onde X corresponde ao
conjunto de condições à esquerda do sinal “ => ” e Y ao conjunto da direita.
A regra a seguir foi gerada pelo algoritmo Apriori executado sobre 11542 registros da
tabela de adimplentes:
CatQteDiasInad=De 1 a 3 CatQteDiasAdimpl=De 4 a 7 sexo=F CatIdadeAjust=De 41 a 55 430
==> Conceito=RUIM 344
conf:(0.8)
Suporte(X)
= 430 / 11542 = 0,037255
Suporte (X => Y)
= 344 / 11542 = 0,029804
Suporte(Y)
= 3831 / 11542 = 0,331918
Confiança(X =>Y)
= 0,029804 / 0,037255 = 0,8 = 80%
Lift (X => Y)
= confiança(X=>Y) / suporte(Y) = 0,8 / 0,331918 = 2,41023
Levarege(X=>Y)
= suporte(X=>Y) – (suporte(X)*suporte(Y))
= 0,029804 – (0,037255 * 0,331918) = 0,017439 ou 1,74%
Convicção(X=>Y)
= (1-suporte(Y)) / (1-confiança(X=>Y))
= (1-0,331918) / (1-0,8) = 3,340409
Cobertura(X=>Y)
= suporte(X) = 0,037255 = 3,73%
O lift da regra maior que 1 evidenciou um certo nível de relação entre X e Y, porém o
Leverage ficou próximo de zero, podendo ser interpretado que em apenas 1,74% dos
11.542 clientes, os dois lados da regra ocorreriam juntos acima do esperado.
Já a convicção dessa regra apresentou um valor significativo, ratificando a confiança de
80% obtida. Todavia, esses dados puramente não permitem avaliar se essa regra é
suficientemente importante e relevante. Para isso, é importante compará-la, através das
suas medidas de interesse, com outras regras geradas.
Muitas regras foram geradas na busca de relações não óbvias e relevantes. Isso
acontecia principalmente pelo fato de alguns campos serem derivados de outros campos
do mesmo registro. O campo conceito, por exemplo, possuía relação direta com os
campos DiasInad e DiasAdimpl. Isso gerava uma grande quantidade de regras onde
48
esses dois campos estavam no lado esquerdo da regra, e o campo conceito no lado
direito.
Outra dificuldade encontrada, e até mesmo uma certa decepção, foi o campo Ocupação,
pois por possuir um domínio muito grande, com extrema concentração em determinados
valores, poucas regras relevantes foram geradas o envolvendo, mesmo havendo um
retorno à fase de pré-processamento para agrupar os valores correlatos em valores mais
genéricos e abstratos.
Em um primeiro momento, sobre a carga de 11 mil registros da base de adimplentes
foram analisadas 900 regras com suporte mínimo a partir de 1,5% e confiança mínima
de 65%. As doze regras mais importantes são listadas a seguir:
A1: CatQteDiasInad=De 1 a 3 CatQteDiasAdimpl=De 4 a 7 EstCivilAjust=SOLTEIRO
EscolaridadeAjust=ENSINO MEDIO 445 ==> Conceito=RUIM 356
conf:(0.8)
A2: CatMedSldAplicado=De 0,7 a 1,5mil CatQteDiasAdimpl=De 1 a 3 sexo=F 466 ==>
Conceito=PÉSSIMO 373
conf:(0.8)
A3: CatQteDiasInad=De 4 a 7 EstCivilAjust=SOLTEIRO OcupacaoAjust=PENSIONISTA 346 ==>
sexo=F Conceito=PÉSSIMO 279
conf:(0.81)
A4: CatQteDiasAdimpl=De 4 a 7 EstCivilAjust=CASADO Conceito=PÉSSIMO 477 ==>
CatQteDiasInad=De 4 a 7 394
conf:(0.83)
A5: sexo=M EstCivilAjust=CASADO Conceito=EXCELENTE 348 ==> CatQteDiasInad=Nenhum
CatQteDiasAdimpl=A partir de 8 288
conf:(0.83)
A6: CatQteDiasInad=De 4 a 7 EscolaridadeAjust=ENSINO FUNDAMENTAL
OcupacaoAjust=PENSIONISTA Conceito=PÉSSIMO 378 ==> sexo=F 315
A7: OcupacaoAjust=CONSTRUCAO CIVIL 244 ==> sexo=M 232
conf:(0.83)
conf:(0.95)
A8: CatQteDiasAdimpl=A partir de 8 EstCivilAjust=SOLTEIRO Conceito=BOM 340 ==>
CatQteDiasInad=De 1 a 3 336
conf:(0.99)
A9: CatQteDiasAdimpl=A partir de 8 CatRendaBrutaAjust2=De 1501 a 3000 CatIdadeAjust=De
41 a 55 OcupacaoAjust=SERVIDOR PUBLICO FEDERAL Conceito=EXCELENTE 122 ==>
CatQteDiasInad=Nenhum 122
conf:(1)
49
A10: CatQteDiasInad=De 4 a 7 CatQteDiasAdimpl=De 1 a 3 sexo=F EstCivilAjust=SOLTEIRO
EscolaridadeAjust=ENSINO MEDIO CatRendaBrutaAjust2=De 501 a 1500 123 ==>
Conceito=PÉSSIMO 123
conf:(1)
A11: CatQteDiasAdimpl=A partir de 8 CatRendaBrutaAjust2=Acima de 3000
Conceito=EXCELENTE 241 ==> CatQteDiasInad=Nenhum 241
conf:(1)
A12: CatQteDiasInad=Nenhum CatQteDiasAdimpl=A partir de 8 EscolaridadeAjust=SUPERIOR
304 ==> Conceito=EXCELENTE 304
conf:(1)
Na Tabela 9, foram relacionadas as medidas de interesse objetivas calculadas para as
doze regras selecionadas do resultado da aplicação do algoritmo Apriori na base de
dados de adimplentes. Essas regras foram selecionadas empiricamente, com base no
conhecimento prévio do assunto estudado, onde assumi o papel de analista de negócio
dos dados pesquisados.
Um ponto importante é o fato destas regras possuírem um suporte relativamente baixo.
Isso se deve ao fato de as regras com suporte mais elevado não trazerem um
conhecimento relevante, e sendo assim, foram descartadas.
Tabela 9 - Medidas de interesse das regras selecionadas – base de adimplentes
Regra Sup(X)
Sup(Y) Sup(X=>Y) Conf(X=>Y) Lift(X=>Y) Lev(X=>Y) Conv(X=>Y)
A1
3,86%
33,19%
3,08%
80,00%
2,4102
1,80%
3,3404
A2
4,04%
36,50%
3,23%
80,04%
2,1929
1,76%
3,1818
A3
3,00%
36,50%
2,42%
80,64%
2,2091
1,32%
3,2792
A4
4,13%
33,41%
3,41%
82,60%
2,4724
2,03%
3,8270
A5
3,02%
24,79%
2,50%
82,76%
3,3387
1,75%
4,3623
A6
3,27%
52,19%
2,73%
83,33%
1,5967
1,02%
2,8685
A7
2,11%
47,81%
2,01%
95,08%
1,9888
1,00%
10,6124
A8
2,95%
39,49%
2,91%
98,82%
2,5025
1,75%
51,4330
A9
1,06%
18,46%
1,06%
100,00%
5,4162
0,86%
-
A10
1,07%
36,50%
1,07%
100,00%
2,7396
0,68%
-
A11
2,09%
18,46%
2,09%
100,00%
5,4162
1,70%
-
A12
2,63%
11,45%
2,63%
100,00%
8,7373
2,33%
-
50
O fato da regra A6 possuir o maior suporte(Y), pouco contribuiu para elevar a confiança
dela, que é calculada pela relação de suporte(X=>Y) por suporte(X). Além disso, seu lift
foi o menor dentre as doze regras, tendo em vista que o suporte(Y) é denominador na
relação com a confiança(X=>Y) para obtenção do seu valor.
As regras A9 à A12 apresentam confiança de 100%, porém, possuem suportes menores
que os das demais regras. O fato relevante se deve à regra A12 que obteve o maior
leverage das doze regras, devido possuir a menor diferença entre os suportes(X) e
suporte (X=>Y) para o suporte(Y). Essa característica também contribuiu para que essa
regra também alcançasse o maior lift do grupo.
Já a convicção dessas quatro últimas regras tende ao infinito (positivo) já que essa
métrica se baseia na relação onde o denominador é composto por 1 menos a
Confiança(X=>Y). Com esse último termo tendendo a 1, o denominador tende a zero,
gerando um valor infinitamente elevado. Sendo assim, para as regras com confiança de
100% não é possível se considerar o valor de sua convicção.
Em seguida, foram analisados cerca de 10,5 mil registros da base de dados de
inadimplentes, repetindo o suporte mínimo de 1,5% e confiança mínima de 65%. As
doze principais regras obtidas foram:
I1: CatQteDiasInad=De 1 a 3 CatQteDiasAdimpl=De 4 a 7 EscolaridadeAjust=ENSINO
FUNDAMENTAL CatRendaBrutaAjust2=De 1501 a 3000 274 ==> Conceito=RUIM 234
conf:(0.85)
I2: CatMedSldAplicado=De 0,1 a 0,7mil CatQteDiasInad=De 4 a 7 sexo=F
CatRendaBrutaAjust2=Até 500 305 ==> Conceito=PÉSSIMO 261
conf:(0.86)
I3: CatMedSldAplicado=De 0,7 a 1,5mil CatQteDiasAdimpl=De 1 a 3 OcupacaoAjust=SERVIDOR
PUBLICO MUNICIPAL 337 ==> Conceito=PÉSSIMO 292
conf:(0.87)
I4: CatQteDiasAdimpl=De 4 a 7 OcupacaoAjust=SERVIDOR PUBLICO FEDERAL
Conceito=PÉSSIMO 360 ==> CatQteDiasInad=De 4 a 7 319
conf:(0.89)
I5: EstCivilAjust=CASADO EscolaridadeAjust=ENSINO FUNDAMENTAL
CatRendaBrutaAjust2=De 1501 a 3000 CatIdadeAjust=A partir de 56 241 ==> sexo=M 216
conf:(0.9)
51
I6: CatQteDiasInad=De 4 a 7 EstCivilAjust=SOLTEIRO OcupacaoAjust=PENSIONISTA
Conceito=PÉSSIMO 299 ==> sexo=F 282
conf:(0.94)
I7: CatQteDiasAdimpl=A partir de 8 EscolaridadeAjust=SUPERIOR Conceito=BOM 227 ==>
CatQteDiasInad=De 1 a 3 223
conf:(0.98)
I8: CatQteDiasAdimpl=A partir de 8 CatIdadeAjust=De 26 a 40 Conceito=BOM 226 ==>
CatQteDiasInad=De 1 a 3 222
conf:(0.98)
I9: CatMedSldAplicado=Acima de 4mil CatRendaBrutaAjust2=De 1501 a 3000 Conceito=BOM
224 ==> CatQteDiasInad=De 1 a 3 223
conf:(1)
I10: sexo=F EstCivilAjust=CASADO Conceito=BOM 218 ==> CatQteDiasInad=De 1 a 3 218
conf:(1)
I11: sexo=F CatRendaBrutaAjust2=De 501 a 1500 Conceito=BOM 225 ==> CatQteDiasInad=De
1 a 3 225
conf:(1)
I12: CatQteDiasInad=De 4 a 7 CatQteDiasAdimpl=De 1 a 3 EstCivilAjust=SOLTEIRO
EscolaridadeAjust=ENSINO MEDIO 429 ==> Conceito=PÉSSIMO 429
conf:(1)
Tabela 10 - Medidas de interesse das regras selecionadas – base de inadimplentes
Regra Sup(X)
Sup(Y) Sup(X=>Y) Conf(X=>Y) Lift(X=>Y) Lev(X=>Y) Conv(X=>Y)
I1
2,55%
41,91%
2,17%
85,40%
2,0380
1,11%
3,9795
I2
2,83%
45,49%
2,43%
85,57%
1,8810
1,14%
3,7784
I3
3,13%
45,49%
2,71%
86,65%
1,9046
1,29%
4,0820
I4
3,35%
38,21%
2,96%
88,61%
2,3193
1,69%
5,4258
I5
2,24%
47,92%
2,01%
89,63%
1,8704
0,93%
5,0207
I6
2,78%
52,08%
2,62%
94,31%
1,8109
1,17%
8,4280
I7
2,11%
49,43%
2,07%
98,24%
1,9873
1,03%
28,6967
I8
2,10%
49,43%
2,06%
98,23%
1,9871
1,02%
28,5703
I9
2,08%
49,43%
2,07%
99,55%
2,0139
1,04%
113,2699
I10
2,03%
49,43%
2,03%
100,00%
2,0229
1,02%
-
I11
2,09%
49,43%
2,09%
100,00%
2,0229
1,06%
-
I12
3,99%
45,49%
3,99%
100,00%
2,1982
2,17%
-
Na Tabela 10, foram relacionadas as medidas de interesse calculadas para as doze regras
selecionadas do resultado da aplicação do algoritmo Apriori na base de dados de
52
inadimplentes. Assim como na tabela anterior, essas regras também foram selecionadas
empiricamente, com base no conhecimento prévio do assunto estudado.
Aqui também os suportes das regras selecionadas são baixos, porém os lift das regras
foram mais homogêneos, não apresentando grandes desvios em relação à média. O
mesmo vale para os leverages obtidos.
Em termos de lift, a melhor regra seria a I4, que apresentou também o segundo melhor
leverage. Semanticamente, ela também é importante por determinar a faixa de dias de
inadimplência de um cliente a partir da categoria da quantidade de dias em que estava
adimplente, da sua ocupação e do seu conceito.
E a regra I12, que obteve os maiores suportes de X, de X=>Y, e maior leverage,
também pode ser considerada de relevante por ratificar o conceito do cliente a partir da
sua escolaridade, estado civil e categorias de quantidade de dias adimplentes e
inadimplentes.
53
5. Conclusão
As vantagens proporcionadas pela Descoberta de Conhecimento em Bases de Dados a
consolida como novo paradigma para análise de dados. Relatórios sumarizados ou
simples cubos não atendem mais nossas necessidades de conhecimento, bem como
pouco exploram este conhecimento difuso e imerso nas atuais gigantescas bases de
dados.
O domínio e a divulgação das técnicas de DCBD são relevantes, e o presente estudo
mostrou simples exemplos de padrões descobertos em uma pequena base de dados.
Apesar de algumas limitações técnicas para o processamento da mineração, e pelo fato
da base de dados não possuir muitos atributos independentes5, a execução de todo o
ciclo, exercitando sua interatividade e iteratividade foi um aprendizado de grande valor.
O profundo conhecimento do cálculo, do uso e de diversas das medidas de interesse
propicia uma análise mais objetiva das regras associativas geradas no processo de
mineração. Isso gera maior confiabilidade ao resultado, além de permitir comparações
mais ricas com outros processos realizados, com os mesmos dados ou não.
Ficou evidente que suporte e confiança não devem balizar, sozinhas, a seleção de regras
importantes e relevantes, apesar de continuarem sendo papel vital como primeiro
“filtro” sobre as regras encontradas.
5.1. Trabalhos futuros
O horizonte de estudos nessa área é ilimitado. A realização deste trabalho envolveu o
estudo comparativo das principais medidas de interesse das regras associativas. A partir
disso, relaciono a seguir alguns assuntos que poderão ser pesquisados em maior
profundidade:
5
Cujo valor não dependa ou seja derivado do valor de outro atributo.
54
•
Baseado nas medidas de interesse deste estudo, comparar a qualidade das regras
geradas pelo algoritmo Apriori com o PredictiveApriori e o Tertius, por
exemplo.
•
Apurar o impacto da categorização dos atributos numéricos na qualidade das
regras associativas geradas, testando inclusive várias técnicas para tal tarefa de
pré-processamento.
•
Aplicar medidas de interesse para avaliar regras associativas generalizadas, onde
um atributo pode ser uma sub-categorização de outra instância desse mesmo
atributo.
•
Estudo de regras associativas quantitativas (Silva, 2004), onde algoritmos de
técnicas de associação são adaptados para manipular atributos numéricos (não
categóricos).
55
6. Glossário
Adimplência
Situação de regularidade das operações de crédito do cliente.
Crédito
Valor referente a uma ordem de pagamento que será creditada na
conta corrente do cliente.
Data Mart
Subconjunto ou seção de um Data warehouse.
Data warehouse
Armazém ou depósito de dados. Sistema de informações que
armazenam dados consolidados, visando favorecer a análise de
grandes volumes de dados.
DCBD
Acrônimo para Descoberta de Conhecimento em Base de Dados.
IDH
Índice de desenvolvimento Humano. Medida comparativa de
qualidade de vida.
Inadimplência
Situação de irregularidade das operações de crédito do cliente, por
haver(em) parcelas vencidas não liquidadas.
Itemset
Conjunto não vazio de um ou mais atributos com o seu(s)
respectivo(s) valores determinados, a fim de se estabelecer uma
regra de associação.
KDD
Correspondente de DCBD em inglês. Knowledge Discovery in
Database.
Mainframe
Computador de grande porte. Apesar do custo elevado em relação
às tecnologias de arquitetura mais recentes, ainda é utilizado
principalmente
em
grandes
empresas
(bancos,
indústrias,
universidades, etc.).
OLAP
Acrônimo de Online Analytical Processing. Processamento
analítico de dados. Abordagem tecnológica para geração rápida de
respostas à consultas de natureza tipicamente dimensional.
Operação (crédito)
Empréstimo que um cliente contrata em uma instituição financeira.
Saldo Aplicado
Saldo das operações de empréstimo que um cliente tem na
instituição financeira. O temo “aplicado” deriva do fato de que,
56
para a instituição, trata-se de uma operação ativa, ou aplicação de
seus recursos.
Saldo Atrasado
Saldo total da operação que apresenta ao menos uma parcela
vencida e não liquidada, num dado momento.
SQL
Structured Query Language. Linguagem usada para manipular
(consultar, incluir, alterar e excluir) dados em Banco de Dados
Relacionais.
57
7. Referências
AGRAWAL, Rakesh; IMIELINSKI, Tomasz; SWAMI, Arun. Mining Association
Rules between Sets of Items in Large Databases. In: ACM SIGMOD Int.
Conference on Management of Data, 1993. Proceedings... Washington, D.C.:
ACM Press, 1993. p.207-216.
AGRAWAL, Rakesh; SRIKANT, Ramakrishnan. Fast Algorithms for Mining
Association Rules in Large Databases. In: Int. Conference on Very Large
Databases, 20.,1994. Proceedings... Santiago: Morgan Kaufmann, 1994. p. 487499.
ARBEX, Eduardo Compasso; SABOREDO, Alexandre de Paiva; MIRANDA, Dhalila.
Implementação e Estudo de caso do algoritmo Apriori para Mineração de
Dados. 2005. Artigo. Associação Educacional Dom Bosco. Disponível em:
<http://www.aedb.br/seget/artigos04/193_artigo_SEGET.doc>.
Acesso
em
11/03/06. Resende-RJ.
BATISTA, Gustavo Enrique de Almeida Prado Alves. Pré-Processamento de Dados
em Aprendizado de Máquina Supervisionado. 2003.Tese. Doutorado em Ciência
da Computação. Universidade Federal de São Carlos.
CHAPMAN, Pete; CLINTON, Julian; KERBER, Randy; KHABAZA, Thomas;
REINARTZ, Thomas; WIRTH, Rüdiger; Shearer, Colin. The CRISP-DM Process
Model. CRISP-DM consortium, 2000. Disponível em: http://www.crispdm.org/Process/index.htm. Acessado em: maio/2006.
DOMINGUES, Miriam L. Mineração de Dados: notas de aula. Belém-PA: CESBD da
UFPA, 2007. Disponível em: http://www2.ufpa.br/miriam/mineracaodedados.htm
#material. Acessado em 14/11/07.
FAYYAD, U.; PIATETSKY-SHAPIRO, G.; SMYTH, P. The KDD process for
extracting useful knowledge from volumes of data. In: COMMUNICATIONS
OF THE ACM, New York, v. 39, n. 11, p. 27-34, Nov, 1996.
GOLDSCHMIDT, Ronaldo; PASSOS, Emanuel. Data Mining – um guia prático. Ed.
Campus. 2005.
HAN, Jiawei; KAMBER, Micheline. Data Mining: concepts and techniques. 2001.
San Franciso: Morgan Kaufmann.
ITALIANO, I. C.; ESTEVES, L. A. Modelagem de Data Warehouses e Data Marts –
2004. Parte 1. SQL Magazine - Ed.13 - Ano1.
MATTOS, Guilherme L. M.. Estudo de caso: Aplicando técnicas de descoberta de
conhecimento em banco de dados de operações de crédito. 2006. Artigo. Pósgraduação em sistemas de banco de dados. UFPA.
58
MOUTELLA, Cristina. Fidelização de clientes como diferencial competitivo.
2003.Artigo.
Disponível
em:
<http://www.portaldomarketing.com.br/Artigos/Fidelizacao%20de%20clientes%20
como%20diferencial%20competitivo.htm>. Acessado em abril/2006.
PELEGRIN, Diana Colombo; MATTOS, Merisandra Côrtes de; SIMÕES, Priscyla
Waleska Targino de Azevedo; BETTIOL, Jane. As tarefas de associação e
classificação na Shell de data mining Orion. 2006. Universidade do extremo sul
catarinense (UNESC). Criciúma – SC.
ROMÃO, Wesley, PACHECO, Roberto, NIEDERAUER, Calos. Planejamento em
C&T: Uma abordagem para descoberta de conhecimento relevante em banco
de dados de grupos de pesquisa. 2000. Artigo. UFSC.
SANCHES, André Rodrigo. Uma Visão Geral sobre Mineração de Dados. 2003.
Monografia. Pós-graduação em Informática. Universidade de São Paulo.
SILVA, Alexandre Procaci da. Regras de associação quantitativas em intervalos não
contínuos. 2004. Dissertação (Mestrado em Ciência da Computação). UFMG. Belo
Horizonte.
SILVA, Marcelino P. Santos. Mineração de dados – conceitos, aplicações e
experimentos com Weka. 2004. Artigo. Instituto Nacional de Pesquisas Espaciais
(INPE). São José dos Campos – SP.
SOUZA, Michel. Data Mining. 2003. Artigo – portal iMasters. Disponível em:
<http://www.imasters.com.br/artigo.php?cn=1482&cc=59>.
Acessado
em
15/06/06.
WITTEN, Ian H.; and FRANK, Eibe (2005) Data Mining: Practical machine learning
tools and techniques, 2005. 2nd Edition, Morgan Kaufmann, San Francisco.
ZAMBON, A.C.,MEIRELLES, J.L. A Evolução do Processo Decisório e as novas
Ferramentas de Apoio à Decisão:Data Warehouse, Olap e Data Mining. 2001.
Programa de Mestrado em Engenharia de Produção, São Carlos
Download