Acessibilidade / Reportar erro

Extração de regras de classificação a partir de redes neurais para auxílio à tomada de decisão na concessão de crédito bancário

Resumos

A avaliação de risco de crédito é um importante problema administrativo da área de análise financeira. As Redes Neurais têm recebido muita atenção pela sua alta taxa de acurácia preditiva, no entanto não é fácil compreender como elas alcançam as suas decisões. Neste artigo um conjunto de dados de crédito é analisado usando a técnica de extração de regras NeuroRule e o software WEKA para a extração de regras a partir de uma Rede Neural treinada. Os resultados foram considerados bastante satisfatórios alcançando mais de 80% de acurácia quanto à concessão (ou não) de crédito bancário em todas as simulações.

redes neurais; técnica de extração NeuroRule; risco de crédito


Credit-risk evaluation is a very important management science problem in the financial analysis area. Neural Networks have received a lot of attention because of their universal approximation property. They have a high predictive accuracy rate, but how they reach their decisions is not easy to understand. In this paper, we present a real-life credit-risk data set and analyzed it using the NeuroRule extraction technique and the software WEKA. The results were considered very satisfactory, reaching more than 80% of accuracy in granting or denying credit on every simulation.

neural networks; NeuroRule extraction technique; credit-risk


Extração de regras de classificação a partir de redes neurais para auxílio à tomada de decisão na concessão de crédito bancário

Maria Teresinha Arns SteinerI,* * Corresponding author / autor para quem as correspondências devem ser encaminhadas ; Júlio Cesar NievolaII; Nei Yoshihiro SomaIII; Tamio ShimizuIV; Pedro José Steiner NetoV

IDep. Matemática / Univ. Federal do Paraná (UFPR) Curitiba – PR tere@mat.ufpr.br

IIPPGIA / Pont. Univ. Católica do Paraná (PUC - PR) Curitiba – PR nievola@ppgia.pucpr.br

IIIDiv. Ciência da Computação / Inst. Tec. de Aeronáutica (ITA) São José dos Campos – SP nysoma@comp.ita.br

IVDep. Engenharia de Produção / Univ. de São Paulo (USP) São Paulo – SP tmshimiz@usp.br

VDep. Administração / Univ. Federal do Paraná (UFPR) Curitiba – PR pedrosteiner@ufpr.br

RESUMO

A avaliação de risco de crédito é um importante problema administrativo da área de análise financeira. As Redes Neurais têm recebido muita atenção pela sua alta taxa de acurácia preditiva, no entanto não é fácil compreender como elas alcançam as suas decisões. Neste artigo um conjunto de dados de crédito é analisado usando a técnica de extração de regras NeuroRule e o software WEKA para a extração de regras a partir de uma Rede Neural treinada. Os resultados foram considerados bastante satisfatórios alcançando mais de 80% de acurácia quanto à concessão (ou não) de crédito bancário em todas as simulações.

Palavras-chave: redes neurais; técnica de extração NeuroRule; risco de crédito.

ABSTRACT

Credit-risk evaluation is a very important management science problem in the financial analysis area. Neural Networks have received a lot of attention because of their universal approximation property. They have a high predictive accuracy rate, but how they reach their decisions is not easy to understand. In this paper, we present a real-life credit-risk data set and analyzed it using the NeuroRule extraction technique and the software WEKA. The results were considered very satisfactory, reaching more than 80% of accuracy in granting or denying credit on every simulation.

Keywords: neural networks; NeuroRule extraction technique; credit-risk.

1. Introdução

Com o avanço da tecnologia, não tem sido difícil para as grandes empresas armazenar eficientemente grandes volumes de dados (registros históricos) em seus computadores, para recuperá-los sempre que necessário. Muitas delas, no entanto, têm se deparado com o problema de possuir muitos dados, mas pouco conhecimento (data rich but knowledge poor) (Lu et al., 1995).

A correta tomada de decisão, conceder (ou não) crédito bancário, seja para pessoa física, jurídica ou outra, é essencial para a sobrevivência das instituições bancárias. Muitas vezes, o prejuízo causado pelo erro na tomada de decisão de conceder crédito a um único cliente pode prejudicar o lucro obtido em muitas operações bem sucedidas (Steiner et al., 2005).

O uso de ferramentas que possam auxiliar nesta tomada de decisão tem sido feito, principalmente por pesquisadores da área de Inteligência Artificial (IA). Duas abordagens básicas para os problemas de classificação (que é o caso do problema de crédito aqui apresentado) estudadas por pesquisadores de IA, são a abordagem simbólica (baseada em árvores de decisão) e a abordagem conexionista (baseada, principalmente, em RN).

Algumas das vantagens obtidas através do correto uso de ferramentas para a tomada de decisão quanto à concessão de crédito são, dentre outras: envolvimento de um menor número de pessoas na análise de crédito, liberando-as para outras atividades; agilidade no processamento das solicitações de crédito; menor subjetividade no decorrer do procedimento da tomada de decisão; maior acurácia dos resultados, ou seja, menor percentual de erros.

Mineração de Dados (Data Mining) é uma nova tecnologia utilizada para aumentar a qualidade e a eficiência das decisões – muitas empresas como, por exemplo, as instituições bancárias, têm obtido um alto retorno de seus investimentos fazendo uso das ferramentas de análise de banco de dados (Witten & Frank, 2005).

O objetivo deste artigo é utilizar, dentre as diversas técnicas de Data Mining inseridas no contexto de Descoberta de Conhecimento em Bases de Dados (Knowledge Discovery in DataBases – KDD), ferramentas capazes de fazer a classificação de empresas (entidades legais) como "boas ou más" tomadoras de crédito, com base nos registros históricos armazenados pelas instituições. Das diversas técnicas de Data Mining para classificação, optou-se por utilizar a técnica de extração de regras de classificação de Redes Neurais (RNs) treinadas para a avaliação de risco de crédito, usando as codificações "termômetro" e "dummy" (Baesens et al., 2003) para as variáveis (entradas, atributos), tornando-as binárias.

A acurácia das regras de classificação assim obtidas, são comparadas com: 1) a extração de regras diretamente dos dados (padrões) originais; 2) a extração de regras diretamente dos dados originais fazendo o descarte de alguns deles, conforme explicado na seção 5; 3) a extração de regras dos dados originais, fazendo o descarte de alguns deles e, ainda, utilizando as referidas codificações aos atributos.

Pretende-se com as referidas comparações, verificar qual das quatro alternativas mencionadas fornece regras de classificação com maior taxa de acurácia na tarefa de classificação; o grau de importância de se codificar os atributos preliminarmente ao treinamento da RN; assim como o grau de importância de se treinar a RN preliminarmente a extração de regras.

Na seção 2 deste artigo é feita uma descrição do problema real com a apresentação dos dados e atributos utilizados nos experimentos (simulações); na seção 3 discorre-se sobre Data Mining e KDD e, também, sobre alguns trabalhos correlatos; na seção 4 é apresentado o algoritmo NeuroRule aplicado a uma RN de Múltiplas Camadas; na seção 5 são desenvolvidas as quatro referidas simulações e, finalmente, na seção 6 são apresentadas as conclusões.

2. Descrição do Problema Real

Os dados utilizados neste artigo, obtidos junto a um grande banco brasileiro (Lemos et al., 2005), se referem ao crédito de pessoas jurídicas (empresas). O referido banco coloca à disposição de seus clientes linhas de crédito, tanto para capital de giro quanto para investimentos, sendo que a sua clientela é constituída, basicamente, por micros, pequenas e médias empresas.

Por ocasião da pesquisa, o banco utilizava como ferramenta para realizar sua análise de crédito, um aplicativo interno chamado Análise de Crédito (ANC). A partir deste aplicativo, que contém as informações cadastrais e contábeis das empresas, a gerência se apoiava para tomar as suas decisões com relação a concessão (ou não) de crédito bancário.

Para o desenvolvimento deste artigo foram utilizados registros históricos de um total de 339 clientes pessoa jurídica, dos quais 266 comprovadamente eram adimplentes e 73 inadimplentes. De cada um destes clientes foram extraídos 24 atributos, indicados pelos especialistas da área (gerentes de crédito do banco), especificadas na Tabela A em anexo, com os seus respectivos valores originais (colunas 1 e 2), sendo que na coluna 1 está acrescentado, também, o seu tipo que, para este problema, pode ser ordinal ou nominal. Nas colunas 3 e 4 desta Tabela A encontram-se os intervalos de valores definidos para cada um dos atributos e o número de padrões contidos em cada intervalo, respectivamente. Nas colunas 5 a 8 encontra-se a "codificação termômetro" ou a "codificação dummy", conforme o tipo do atributo, explicadas na seção 3. Finalmente, na coluna 9 está contabilizada a quantidade de entradas para a RN utilizada, valor que depende, obviamente, da codificação utilizada.

3. KDD, Data Mining e Trabalhos Correlatos

As técnicas e ferramentas que buscam transformar os dados armazenados por empresas em conhecimento, são o objetivo da grande área ou processo chamado KDD. O processo KDD é um conjunto de atividades contínuas que compartilham o conhecimento descoberto a partir de bases de dados. Segundo Fayyad et al. (1996) esse conjunto é composto de cinco etapas: seleção dos dados; pré-processamento e limpeza dos dados; transformação dos dados; Data Mining; interpretação e avaliação dos resultados, cuja interligação pode ser visualizada na Figura 1.


O processo KDD começa com o entendimento do domínio do problema e dos objetivos finaisa serem atingidos. É feito um agrupamento organizado dos dados disponíveis, alvo da prospecção. A etapa da limpeza dos dados (data cleaning) vem a seguir, através de um préprocessamento dos dados, fazendo a integração de dados heterogêneos, eliminação de incompletude dos dados e outras. Essa etapa pode tomar até 80% do tempo necessário de todo o processo, devido as bem conhecidas dificuldades de integração de bases de dados heterogêneas (Mannila, 1996).

Os dados pré-processados podem, ainda, passar por uma transformação que os armazena adequadamente; nesta fase, o uso do armazenamento de dados (data warehouse) se expande consideravelmente, já que com essa tecnologia as informações podem ser armazenadas de maneira mais eficiente. Todas estas etapas, preliminares a etapa de Data Mining, podem ser vistas como uma Análise Exploratória dos Dados (Steiner et al., 2006). Esta análise pode envolver ainda, dentre outras alternativas, a padronização dos dados e o descarte de dados atípicos. No presente artigo, estas etapas preliminares envolveram, basicamente, seleção, limpeza e codificação (em duas das quatro simulações) dos dados.

Tem-se, então, a etapa de Data Mining, que começa com a escolha dos algoritmos a serem utilizados. Essa escolha depende, fundamentalmente, do objetivo do processo de KDD (Witten & Frank, 2005) que pode ser: classificação, agrupamento ou associação. De modo geral, na etapa de Data Mining, os algoritmos utilizados procuram por padrões nos dados.

Diversas ferramentas distintas, como RNs, árvores de decisão, sistemas baseados em regras, programas estatísticos e outras, tanto isoladamente quanto em combinação, podem ser então aplicadas ao problema. Em geral, o processamento de busca é interativo, de forma que os analistas avaliam o resultado, formam um novo conjunto de questões para refinar a busca em um dado aspecto das descobertas e realimentam o sistema com novos parâmetros. Ao final do processo, um relatório das descobertas é gerado, que passa então a ser interpretado pelos analistas de mineração e o conhecimento é descoberto. Data Mining é a parte mais interessante do processo KDD, sendo que no contexto de negócios é a que mais alavanca e auxilia o empresário a descobrir filões de mercado.

Segundo Freitas (2000) o conhecimento a ser descoberto deve ser correto; compreensível e útil; além disso, o método de descoberta do conhecimento deve ser, por sua vez, eficiente; genérico (aplicável a diversos tipos de problemas); flexível (facilmente modificável).

Dentre as técnicas de Data Mining utilizadas em problemas de classificação, que é o caso do problema abordado neste artigo, destacam-se as RNs, que constroem representações internas de modelos ou padrões detectados nos dados, mas essas representações não são apresentadas de forma explícita aos usuários. Neste artigo é feita a extração de regras de classificação a partir dos atributos codificados e da RN já treinada, com o intuito de deixar claro, compreensível ao usuário (gerente de crédito) de que forma que os atributos estão "atuando" para fazer a classificação de cada um dos clientes.

Dentre os numerosos trabalhos que abordam as técnicas de Data Mining para classificação, pode-se citar: Lu et al. (1995) e Lu et al. (1996) que apresentam o algoritmo chamado NeuroRule (utilizado no presente artigo) que faz a extração de regras a partir de uma RN treinada, obtendo regras do tipo SE-ENTÃO (IF-THEN); o desempenho desta abordagem foi verificado, em ambos os artigos, em um problema de crédito bancário. Fidelis et al. (2000) apresentam um algoritmo de classificação baseado em Algoritmos Genéticos (AGs) que descobre regras compreensíveis do tipo IF-THEN no contexto de Data Mining; a proposta foi avaliada em duas bases de dados médicos de domínio público, de dermatologia e de câncer de mama.

Setiono & Leow (1998) apresentam um método rápido para extrair regras de RN treinadas (FERNN – a Fast Method for Extracting Rules from Trained Neural Networks); primeiro, FERNN identifica as unidades escondidas relevantes usando o algoritmo C4.5 (Quinlan, 1993); depois, para cada unidade escondida relevante, FERNN acha o conjunto de conexões relevantes das entradas para as unidades escondidas e, finalmente, FERNN substitui as condições divididas da árvore de decisão gerada pelo C4.5 por regras envolvendo as entradas da rede. Santos et al. (2000) usam um AG para definir uma topologia adequada a uma RN a ser treinada; o sistema proposto foi avaliado em três conjuntos de dados disponíveis no repositório UCI: Iris, Wine e Monks-2.

Baesens et al. (2003) abordam três métodos para a extração de regras de uma RN, comparativamente: NeuroRule; Trepan e Nefclass em três bases de dados reais de crédito: German Credit, Bene 1 e Bene 2. Olden & Jackson (2002) descrevem alguns métodos da literatura para "desvendar" os mecanismos de uma RN. Na avaliação imobiliária, pode-se citar o trabalho de Nguyen & Cripps (2001), que comparam o desempenho preditivo de RN com a Análise de Regressão Múltipla para a venda de casas de família. No trabalho de Bond et al. (2002) é examinado o efeito que a vista de um lago tem sobre o valor de uma casa.

4. Algoritmo NeuroRule e Codificação dos Atributos

Dentre os muitos modelos existentes de RNs, decidiu-se por utilizar uma RN de Múltiplas Camadas (Fausett, 1995) a qual foi treinada com o algoritmo back-propagation (retropropagação), de aprendizado supervisionado.

Conforme mencionado anteriormente, neste artigo o objetivo é extrair regras de classificação a partir atributos codificados e da RN treinada e, para isso, fez-se uso do algoritmo NeuroRule, descrito mais adiante – passos 1 a 4 (Lu et al., 1995).

Os passos 2 e 3 do Algoritmo NeuroRule exigem a geração de regras perfeitas a partir de uma RN treinada. Para a geração destas regras fez-se uso do software WEKA (Waikato Environment for Knowledge Analysis), disponível em World Wide Web (www.cs.waikato.ac.nz/ml/weka). Este software contém dez algoritmos para extração de regras de classificação, que são os seguintes: JRip; ZeroR; Ridor; Prisma; M5Rules; Part; OneR; Nnge; Decision Table e, finalmente, Conjunctive Rule, todos descritos em Witten & Frank (2005).

Dentre os algoritmos anteriormente citados, o JRip ou Ripper (Repeated Incremental Pruning to Produce Error Reduction ou Poda Incremental Repetida para Produzir Redução de Erro, proposto por William W. Cohen (Witten & Frank, 2005)) foi o que apresentou melhor desempenho em praticamente todas as vezes em que os mesmos foram comparados e, por este motivo, na seção 4.2 é feita a sua descrição.

4.1 Algoritmo NeuroRule para Extração de Regras (NeuroRule Extraction):

Passo 1. Faça a discretização dos valores de ativação da RN via agrupamento. Uma alternativa é a seguinte:

1a. Seja e Î (0, 1) e seja D o número de valores de ativação discretos na camada escondida da RN. Ainda, seja d1 o valor de ativação na camada escondida para o primeiro padrão do conjunto de treinamento e seja H(1) = d1 , contador(1) = 1, soma(1) = d1 e faça D = 1.

1b. Para todos os padrões i = 2, 3, ..., k do conjunto de treinamento:

Seja d o valor de ativação.

Se existe um índice j' tal que:

| d - H(j')| = minjÎ{1,2,...,D} | d - H(j) | e |d - H(j')| < e,

então faça contador(j') = contador(j') + 1, soma(D) = soma(D) + d

caso contrário, D = D + 1, H(D) = d, contador (D) = 1, soma(D) = d.

1c. Substitua H pela média de todos os valores de ativação que tenham sido agrupados neste grupo, ou seja, H(j) = soma(j)/contador(j), j = 1, 2, ..., D.

1d. Cheque a acurácia da RN com os valores de ativação di nos nós escondidos substituídos por dd, o valor de ativação do grupo ao qual o valor de ativação pertence.

1e. Se a acurácia ficar abaixo do nível exigido, decresça e e repita o passo 1.

Passo 2. Enumere os valores de ativação discretizados e calcule a saída da rede. Gere regras perfeitas (com a máxima acurácia) que tenham uma cobertura perfeita de todos os exemplos dos valores de ativação discretizados dos nós escondidos para os valores de saída.

Passo 3. Para os valores de ativação discretizados que apareceram nos nós escondidos nas regras definidas no passo 2, enumere os valores de entrada que conduziram a eles, gere regras perfeitas.

Passo 4. Gere regras que relacionam os valores de entrada e os valores de saída por substituição de regras com base nos resultados dos passos 2 e 3 anteriores.

4.2 Algoritmo Ripper ou JRip (desenvolvido na linguagem de programação Java):

Para um problema de duas classes, escolha uma delas como positiva e a outra como classe negativa:

1. Aprenda regras para a classe positiva;

2. A classe negativa será a classe default (padrão).

Para um problema de várias classes:

1. Ordene as classes de acordo com a prevalência crescente da classe (iniciar com a classe que contém a menor quantidade de exemplos ou padrões);

2. Aprenda primeiro o conjunto de regras para a menor classe (menor número de exemplos), considerada como classe positiva; trate o restante como classes negativas;

3. Repita com a seguinte menor classe, tratando-a como classe positiva.

Construindo um conjunto de regras:

1. Use o algoritmo de cobertura seqüencial:

Encontre a melhor regra que cubra o conjunto atual de exemplos positivos;

Elimine tanto os exemplos positivos quanto negativos cobertos pela regra.

Pare de adicionar novas regras quando o novo comprimento da descrição for

d

bits maior que o menor comprimento de descrição encontrado até então.

Crescendo uma regra:

1. Inicie com a regra vazia;

2. Adicione conjunções enquanto elas melhorarem o ganho de informação FOIL (First-Order Induction Learning ou Aprendizado por Indução de Primeira Ordem (Quinlan, 1990));

3. Pare quando a regra não cobrir mais exemplos negativos;

4. Pode a regra imediatamente usando o incremento da poda do erro reduzido (reduced error pruning incremental):

Medida para poda: n = (

p – n

) / (

p + n

), em que:

p = número de exemplos positivos cobertos pela regra no conjunto de validação; e

n = número de exemplos negativos cobertos pela regra no conjunto de validação.

Otimizando o conjunto de regras:

1. Para cada regra r no conjunto de regras R:

Considere 2 regras alternativas:

Regra de substituição (r*): cresça nova regra a partir do zero;

Regra de revisão (r'): adicione conjunções para estender r.

2. Escolha o conjunto de regras que minimize o

MDL

(

Minimum Description Length Principle

ou Princípio da Descrição de Mínimo Comprimento: representa o modelo da forma mais compacta possível com o máximo de informações dos dados):

Repita geração e otimização de regras para o restante dos exemplos positivos.

4.3 Codificação dos Atributos

O algoritmo NeuroRule utilizado neste artigo para a extração de regras a partir de uma RN treinada, assume que os dados são discretizados e representados como entradas binárias usando a "codificação termômetro" para os atributos ordinais e a "codificação dummy" (artificial) para os atributos nominais (Baesens et al., 2003).

A Tabela 1 ilustra a "codificação termômetro" para a variável ordinal "renda", por exemplo. O atributo "renda" é, primeiramente, discretizado nos valores 1, 2, 3 e 4; se, por exemplo, I3 = 1, isto significa que a variável original "renda" > 1.000. No presente artigo, esta discretização foi feita com o auxílio de um especialista.

A Tabela 2 ilustra a "codificação dummy" para a variável "propósito do empréstimo", por exemplo. Este esquema de codificação facilita a geração e interpretação das regras SE-ENTÃO.

5. Implementação e Resultados

Neste artigo foram desenvolvidas quatro simulações com os dados com o objetivo de obter regras de classificação, conforme descritas de 5.1 a 5.4 a seguir. O modo para teste, em todas as quatro simulações, foi o método padrão do software WEKA, ou seja, "10 arquivos para validação cruzada" (10-fold cross-validation) (Witten & Frank, 2005).

5.1 Primeira Simulação: obtenção das regras de classificação diretamente do software WEKA considerando os dados originais do problema de crédito

Nesta 1ª simulação, as regras de classificação foram obtidas diretamente dos dados originais do problema, sem levar em consideração a RN treinada. Esta 1ª simulação foi feita com o objetivo de verificar a importância (ou não) de se codificar os atributos, assim como a de se treinar uma RN preliminarmente a extração de regras.

Para esta 1ª simulação foram considerados os dados originais do problema, ou seja, os 339 padrões (pessoas jurídicas), em que 266 pertencem ao conjunto A (adimplentes, resposta = 1) e 73 pertencem ao conjunto B (inadimplentes, resposta = 0). Para cada um destes padrões tem-se 24 atributos contidos na Tabela A em anexo.

Dentre os dez métodos para obtenção das regras de classificação contidos no software WEKA, o método JRip apresentou a maior taxa de acurácia. Os resultados obtidos estão contidos na Tabela 3 a seguir.

Através da Tabela 3, 1ª regra, tem-se que 33 padrões foram classificados como inadimplentes, sendo que 11 deles com erro, ou seja, dos 33 padrões inadimplentes, 11 padrões, na verdade, eram adimplentes. Da mesma forma, pela 2ª regra, 306 padrões foram classificados como adimplentes, sendo que 51 com erro. Estes valores podem ser representados pela matriz de confusão apresentada na Tabela 4. Assim, tem-se que a acurácia para esta 1ª simulação é de: 1 – [(11 + 51) / 339] = 81,71%.

5.1.1 Codificação dos Atributos e Treinamento da Rede Neural

Finalizada a 1ª simulação, cada um dos 24 atributos foi transformado segundo as codificações "termômetro" e "dummy", tornando-os binários, conforme explicado na seção 4.2 anterior, obtendo-se os dados da Tabela A em anexo, em que cada padrão possui 54 atributos (e não mais 24). Considerando-se estes 54 atributos, uma RN de Múltiplas Camadas (3 Camadas) foi treinada com o algoritmo back-propagation. Depois de testar várias topologias, cada uma delas com diferentes pesos iniciais, os melhores resultados obtidos foram com uma topologia contendo 4 neurônios na camada escondida. Esta topologia, com 54 entradas, 4 neurônios na camada escondida e um neurônio na camada de saída (adimplente ou inadimplente), (54 – 4 – 1), classificou erroneamente apenas 13 dos 339 padrões, ou seja, a acurácia desta RN foi de 1 – [13 / 339] = 96,17%.

Para extrair regras de classificação "perfeitas" a partir da referida RN treinada (54 – 4 – 1), os 13 padrões classificados erroneamente pela RN foram excluídos da amostra de dados.

5.2 Segunda Simulação: obtenção das regras de classificação diretamente do software WEKA considerando os dados originais do problema de crédito, com a exclusão dos 13 padrões anteriormente mencionados

Para esta 2ª simulação foram considerados os 326 padrões originais (13 padrões excluídos), em que 256 pertencem ao conjunto A e 70 pertencem a B. Dentre os métodos para obtenção das regras de classificação do software WEKA, o método JRip novamente apresentou os melhores resultados, os quais estão contidos na Tabela 5 a seguir. A acurácia para esta 2ª simulação é de: 1 – [(48 + 9) / 326] = 82,51%. A forma de interpretação dos resultados contidos na Tabela 5 é análoga a da Tabela 3 anterior.

5.3 Terceira Simulação: obtenção das regras de classificação diretamente do software WEKA considerando os dados originais do problema de crédito com os atributos codificados e com a exclusão de 13 padrões

Para esta 3ª simulação também foram considerados os 326 padrões, em que 256 pertencem ao conjunto A e 70 pertencem a B. Para cada um destes padrões tem-se 54 atributos transformados em binários pelas codificações "termômetro" e "dummy", conforme seção 4.2 e Tabela A em anexo.

Dentre os métodos contidos no software WEKA, novamente o método JRip apresentou os melhores resultados, que estão contidos na Tabela 6 a seguir. A acurácia para esta 3ª simulação é de: 1 – [(1 + 12 + 40) / 326] = 83,74%.

5.4 Quarta Simulação: obtenção das regras de classificação a partir da RN de Múltiplas Camadas já treinada, fazendo uso do Algoritmo NeuroRule, considerando os dados originais do problema de crédito com os atributos codificados, com a exclusão dos 13 padrões, com o auxílio do software WEKA

Para esta 4ª simulação foram considerados novamente os 326 padrões (conjunto A com 256 padrões e o conjunto B com 70 padrões). Para cada um destes padrões tem-se os mesmos 54 atributos transformados pelas já mencionadas codificações.

Desta forma, utilizou-se o Algoritmo NeuroRule para obter as regras de classificação. Inicialmente os valores de ativação foram agrupados em cada um dos quatro neurônios da camada escondida (a, b, c e d). Para os dados apresentados neste artigo, os valores obtidos para a, b, c e d, para todos os 326 padrões, foram "1" ou "0", conforme já mencionado.

Definidos os agrupamentos em cada um dos quatro neurônios ("1" e "0"), foram obtidas as regras de classificação da camada escondida para a camada de saída utilizando o software WEKA e, em seguida, as regras de classificação da camada de entrada para a camada escondida para, finalmente, juntá-las para obter as regras de classificação da camada de entrada para a camada de saída. A situação para esta 4ª simulação está ilustrada na Figura 2, onde i1, i2, ..., i54 são as entradas da RN; wij's e whi's são as conexões (pesos) entre as camadas de entrada e escondida e entre as camadas escondida e de saída, respectivamente e qi,1, i = 1, 2, 3 e 4 e qh,2, h=1 são as bias das camadas escondida e de saída, respectivamente.


Dentre os métodos contidos no software WEKA, o método Part foi o que apresentou a maior acurácia para as regras de classificação da camada escondida para a camada de saída. Os resultados obtidos estão contidos na Tabela 7, sendo que a acurácia foi de 99,08%.

Para obter as regras de classificação da camada de entrada para a 1ª unidade (a) da camada escondida, o método JRip foi o que apresentou melhores resultados; a acurácia foi de 92,94%. As regras estão contidas na Tabela 8.

Para obter as regras de classificação da camada de entrada para a 2ª unidade (b) da camada escondida, novamente o método JRip apresentou os melhores resultados; a acurácia foi de 91,10%. As regras estão contidas na Tabela 9.

O método JRip apresentou os melhores resultados também na obtenção das regras de classificação da camada de entrada para a 3ª unidade (c) da camada escondida; a acurácia foi de 99,08%. As regras estão contidas na Tabela 10.

As regras de classificação da camada de entrada para a 4ª unidade (d) da camada escondida, foram obtidas utilizando-se o método JRip que, novamente, apresentou a melhor acurácia, 81,90%. As regras estão contidas na Tabela 11.

Finalmente, para obter as regras de classificação da camada de entrada para a camada de saída, "juntou-se" as regras anteriormente obtidas, obtendo-se as regras de classificação da camada de entrada para a camada de saída. Os resultados estão apresentados na Tabela 12.

Transformando as entradas i1 a i54 em seus verdadeiros significados, conforme Tabela A em anexo, tem-se as regras de classificação finais para esta 4ª simulação, apresentadas na Tabela 13.

A acurácia para esta 4ª simulação é de: 1 – [(12 + 1 + 21) / 326] = 89,57%, conforme a matriz de confusão apresentada na Tabela 14.

6. Conclusões

O objetivo deste artigo é apresentar ferramentas que possam auxiliar a identificar e prever quais clientes serão adimplentes (ou não) em relação ao crédito em instituições bancárias.

Apesar dos problemas de Data Mining envolverem, em geral, milhares ou até milhões de dados, diferentemente do problema aqui apresentado (339 x 24 na 1ª simulação; 326 x 24 na 2ª e 326 x 54 na 3ª e 4ª simulações), as conclusões aqui obtidas podem servir de respaldo para problemas de maior porte. Além disso, o ideal seria que o número de padrões fosse bem maior do que 339 (ou 326), principalmente, para a 3ª e 4ª simulações onde o número de atributos é cerca de apenas 1/6 (= 54) do número de padrões (326); seria interessante que esta relação (nº. atributos/nº. padrões) fosse da ordem 1/10 ou menor.

É apresentada uma forma de se extrair regras de classificação de um problema cujos atributos foram codificados, tornando-os binários, e cujos padrões foram treinados com uma RN. A extração deu-se com a aplicação do algoritmo NeuroRule e com o auxílio do software WEKA (4ª simulação). A acurácia das regras de classificação assim obtidas, foi comparada com a acurácia de outras três simulações, menos elaboradas, para verificar a importância (ou não) de se codificar os atributos, assim como a de se treinar uma RN preliminarmente a extração de regras de classificação. As simulações e as respectivas acurácias das regras de classificação em todas as quatro simulações estão sintetizadas na Tabela 15 a seguir.

Através da Tabela 15, segunda simulação, pode-se verificar a importância da exclusão dos 13 padrões atípicos: a acurácia apresentou uma pequena melhora. A terceira simulação mostra que a codificação dos atributos, juntamente com a exclusão dos 13 padrões atípicos, fornece um acréscimo na acurácia. Finalmente, na quarta simulação, tem-se que codificar os atributos do problema, treinar uma RN e, finalmente, extrair regras de classificação a partir desta RN treinada para o problema em pauta, aumentou o percentual de acurácia em 8% (= 89,57 – 81,71) em relação à primeira simulação, alcançando quase 90%.

Do ponto de vista do usuário (gerente bancário, analista de crédito), sempre existe a vantagem em se utilizar esta ferramenta, porque a mesma mostra seus resultados (regras de classificação) em uma forma fácil de compreender, detalhando quais informações (atributos) das empresas analisadas foram mais relevantes para as suas classificações com acurácia satisfatória.

Desta forma, o gerente bancário pode checar se os resultados obtidos por esta técnica "conferem" (ou não) com a sua experiência e utilizá-la na análise de novas propostas de crédito com uma margem de segurança satisfatória como um apoio adicional as suas tomadas de decisões. Obviamente, é possível utilizar esta técnica a outros tipos de problemas como, por exemplo, no diagnóstico médico; na engenharia de avaliações; na avaliação de seguros; na análise de processos judiciais e na avaliação da qualidade de materiais.

Recebido em 02/2006; aceito em 09/2007 após 1 revisão

Received February 2006; accepted September 2007 after one revision

Anexo

Tabela A - clique para ampliar

  • (1) Baesens, B.; Setiono, R.; Mues, C. & Vanthienen, J. (2003). Using Neural Network Rule Extraction and Decision Tables for Credit-Risk Evaluation. Management Science, 49(3), 312-329.
  • (2) Bond, M.T.; Seiler, V.L. & Seiler, M.J. (2002). Residential Real Estate Prices: a Room with a View. The Journal of Real Estate Research, 23(1), 129-137.
  • (3) Fausett, L. (1995). Fundamentals of Neural Networks Architectures, Algorithms, and Applications Prentice Hall, Upper Saddle River, New Jersey.
  • (4) Fayyad, U.M.; Piatetsky-Shapiro, G.; Smyth, P. & Uthurusamy, R. (1996). Advances in Knowledge Discovery & Data Mining AAAI/MIT.
  • (5) Fidelis, M.V.; Lopes, H.S. & Freitas, A.A. (2000). Um Algoritmo Genético para Descobrir Regras de Classificação em Data Mining. Anais do XIX Congresso Nacional da Sociedade Brasileira de Computação, IV, 17-29.
  • (6) Freitas, A.A. (2000). Uma Introdução a Data Mining Informática Brasileira em Análise. CESAR Centro de Estudos e Sistemas Avançados do Recife. Ano II, n. 32.
  • (7) Lemos, E.P.; Steiner, M.T.A. & Nievola, J.C. (2005). Análise de Crédito Bancário pormeio de Redes Neurais e Árvores de Decisão: uma Aplicação Simples de Data Mining. Revista de Administração da Universidade de São Paulo (RAUSP), 40(3), 225-234.
  • (8) Lu, L.; Setiono, R. & Liu, H. (1995). NeuroRule: A Connectionist Approach to Data Minig. Proceedings of the 21st VLDB Conference, Zürich, Switzerland, 478-489.
  • (9) Lu, H.; Setiono, R. & Liu, H. (1996). Effective Data Mining using Neural Networks. IEEE Transactions on Knowledge and Data Engineering, 8(6), 957-961.
  • (10) Mannila, H. (1996). Data Mining: machine learning, statistics, and databases. International Conference on Scientific and Statistical Database Management, Stockholm, 1-8.
  • (11) Nguyen, N. & Cripps, A. (2001). Predicting Housing Value: A Comparison of Multiple Regression Analysis and Artificial Neural Networks. The Journal of Real Estate Research, 22(3), 313-336.
  • (12) Olden, J.D. & Jackson, D.A. (2002). Illuminating the "black box": a randomization approach for understanding variable contributions in artificial neural networks. Ecological Modelling, 154, 135-150.
  • (13) Quinlan, J.C. (1990). Learning Logical Definitions from Relations. Machine Learning, 5, 239-266.
  • (14) Quinlan, J.C. (1993). C4.5: Programs for Machine Learning Morgan Kaufmann, San Mateo.
  • (15) Santos, R.T.; Nievola, J.C. & Freitas, A.A. (2000). Extracting Comprehensible Rules from Neural Networks via Genetic Algorithms. IEEE, 130-139.
  • (16) Setiono, R. & Leow, W.K. (1998). FERNN: An Algorithm for Fast Extraction of Rules from Neural Networks. Technical Report, National University of Singapure, Department of Information Systems and Computer Science.
  • (17) Steiner, M.T.A.; Soma, N.Y.; Shimizu, T.; Nievola, J.C. & Steiner Neto, P.J. (2005). Using Neural Network Extraction for Credit-risk Evaluation. IFORS 2005 (17th Triennial Conference of the International Federation of Operational Research Societies hosted by INFORMS), FB-20.
  • (18) Steiner, M.T.A.; Soma, N.Y.; Shimizu, T.; Nievola, J.C. & Steiner Neto, P.J. (2006). The Influence of Exploratory Data Analysis on the KDD Process: An Application to Medical Diagnosis. International Journal of Operations and Quantitative Management, 12(1), 1-11.
  • (19) Witten, I.H. & Frank, E. (2005). Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations Morgan Kaufmann Publishers, 2nd edition, San Francisco, California.
  • *
    Corresponding author / autor para quem as correspondências devem ser encaminhadas
  • Datas de Publicação

    • Publicação nesta coleção
      10 Mar 2008
    • Data do Fascículo
      2007

    Histórico

    • Recebido
      Fev 2006
    • Aceito
      Set 2007
    Sociedade Brasileira de Pesquisa Operacional Rua Mayrink Veiga, 32 - sala 601 - Centro, 20090-050 Rio de Janeiro RJ - Brasil, Tel.: +55 21 2263-0499, Fax: +55 21 2263-0501 - Rio de Janeiro - RJ - Brazil
    E-mail: sobrapo@sobrapo.org.br