2018 RobertoNunesMourão
2018 RobertoNunesMourão
2018 RobertoNunesMourão
Orientador
Prof. Dr. Guilherme N. Ramos
Brasília
2018
Ficha catalográfica elaborada automaticamente,
com os dados fornecidos pelo(a) autor(a)
Dedico este trabalho a meu pai, Raimundo Coêlho Mourão, que um dia sonhou com um
futuro melhor para os filhos em um lugar em que pudessem estudar.
iv
Agradecimentos
Agradeço primeiramente e sempre a Deus, que me ajudou até aqui (Samuel 7.12). Esses
últimos dois anos foram um período de extremas dificuldades no âmbito pessoal e profis-
sional. Vi mais uma vez a fidelidade d’Ele no cumprimento de Suas promessas, onde pude
me amparar durante devastadoras tempestades, encontrando paz para realizar um sonho
de infância.
Não tenho palavras para agradecer o apoio dado pela minha esposa e filhos, que muitas
vezes deixaram de passar momentos em família porque meu “dever de casa” era muito
grande e que ainda por cima eu tinha que escrever um livro “todinho”.
Agradeço ao prof. Dr. Guilherme Ramos cuja dedicação ímpar motivou-me a cada dia
nessa árdua tarefa. Certamente sua orientação aumentou em vários graus de qualidade
este trabalho e ensinou-me muito para os próximos, que espero não serem poucos.
Agradeço a todos os meus professores do Programa de Pós-graduação em Computação
Aplicada (PPCA). Em especial o prof. Dr. Marcelo Ladeira e o prof. Dr. Donald Pianto
pelos aconselhamentos e apoio.
Agradeço a meus colegas de empresa, que me auxiliaram apoiando minha participação
no Programa de Pós-graduação, na obtenção dos dados usados nessa pesquisa e na orien-
tação sobre questões do problema de negócio. Em especial Roberto Paiva Zorrón, Daniel
Regis Filho, Fabiana Lauxen, Rogério Lopes, Alexandre Duarte, Sérgio Diogo Barbosa,
Analaura Morais e Diogo Kugler.
Por fim, agradeço aos colegas e funcionários do PPCA.
v
Resumo
vi
Abstract
Digital bank accounts require little information from customers to enable simple banking
services, and the absence of income data hampers a focused targeting of customers for
additional products/services.
This study presents a comparison of predictive models to identify a customer’s income
bracket, by mining digital account data. The information available to build the models
includes customers’ registered data, demographics, house prices, and smartphone features.
The models are applied to a set of customers with regular accounts, who have income
data and features similar to those with digital accounts. The models’ performances are
compared to the model currently in use in a private bank.
Several approaches were used, in a CRISP-DM process: Logistic Regression, Random
Forest, Artificial Neural Networks, Gradient Boosting Machine, and Hill-Climbing En-
semble with Bootstrap Sampling. Experimental results indicate the Gradient Boosting
Machine model achieved the best results, with a 92% Accuracy and a 62% F-Measure.
vii
Sumário
1 Introdução 1
1.1 Definição do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Hipótese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Revisão Teórica 6
2.1 Pré-processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Mineração de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Pós-processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3 Estado da Arte 17
3.1 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Considerações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4 Plano de Trabalho 21
5 Primeira Iteração 23
5.1 Entendimento do Negócio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.2 Entendimento dos Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.3 Preparação dos Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.4 Modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.5 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.6 Implantação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6 Segunda Iteração 38
6.1 Entendimento do Negócio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.2 Entendimento dos Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
viii
6.3 Preparação dos Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.4 Modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.5 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.6 Implantação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7 Conclusão 51
Referências 53
ix
Lista de Figuras
1.1 Comparativo entre renda presumida da base dados externa e a renda com-
provada dos clientes que utilizam o aplicativo móvel do Banco Alfa. . . . . 3
6.1 Distribuição de smartphones dos clientes do Banco Alfa por sistema Ope-
racional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.2 Distribuição de preço dos modelos de smartphones dos clientes do Banco
Alfa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.3 Preço médio de casas no CEP de clientes do Banco Alfa. . . . . . . . . . . 40
6.4 Preço dos celulares por faixa de renda. . . . . . . . . . . . . . . . . . . . . 41
6.5 Exemplo de estrutura do CEP. Fonte: https://www.correios.com.br,
acessada em 01/06/2018. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
x
6.6 Preço médio de casas no CEP de clientes convencionais do Banco Alfa por
faixa de renda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.7 Matriz de correlação entre todos os atributos. . . . . . . . . . . . . . . . . 44
6.8 Representação das distribuições de variáveis contínuas com dois tratamen-
tos relativos aos valores da variável alvo (legenda). . . . . . . . . . . . . . . 44
6.9 Variâncias distintas entre os dois tratamentos. . . . . . . . . . . . . . . . . 45
6.10 Representação do teste de homogeneidade, ou Qui-Quadrado, para variá-
veis binárias, com dois tratamentos baseados nos valores da variável alvo
(label). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.11 Matriz de correlação entre atributos selecionados. . . . . . . . . . . . . . . 46
6.12 Curva ROC dos modelos criados usando a base de teste. . . . . . . . . . . 49
xi
Lista de Tabelas
xii
Lista de Abreviaturas e Siglas
LR Logistic Regression.
MD Mineração de Dados.
xiii
PCA Principal Component Analysis.
RF Random Forest.
xiv
Capítulo 1
Introdução
Contas-correntes que podem ser abertas usando somente um smartphone são uma grande
inovação do setor bancário brasileiro. Essas contas digitais possibilitaram que uma maior
parte da população pudesse ser inserida no mercado bancário, o qual fornece serviços de
intermediação financeira, poupança e crédito. Contudo, a ausência de comprovação de
renda desses clientes tem dificultado a adequada oferta de produtos e serviços a eles e,
consequentemente, a obtenção de novos ativos por meio desse público-alvo.
1
Cada um dos produtos oferecidos pelas instituições financeiras segue regras preestabe-
lecidas por órgãos reguladores do governo, em especial o Banco Central do Brasil (BCB).
Um dos critérios para concessão de empréstimos, por exemplo, é a análise de crédito do
cliente, cálculo efetuado a partir de diversos fatores, dos quais se destaca a comprovação
de renda [3]. Além de mitigar o risco de inadimplência em operações de crédito, a correta
informação da renda permite que as instituições financeiras direcionem seus produtos e
serviços a um público apto a consumí-los.
De igual maneira, a renda dos clientes é base para a estratégia de marketing do Banco
Alfa, denominado assim por sigilo. Correntistas digitais, no entanto, não tem obrigatori-
edade de comprovar sua renda, dificultando o processo de seleção de clientes para oferta
de produtos e serviços.
O cadastro reduzido da conta digital torna-se então um empecilho para o Banco Alfa
ofertar novos produtos a esses clientes. Um passo natural seria convencer alguns dos
novos correntistas a evoluírem suas contas digitais para uma conta convencional. Por um
lado, os clientes obteriam maiores benefícios como o fim da limitação de R$ 5.000,00 de
movimentação mensal e por outro lado, teriam de fornecer uma informação cadastral mais
completa. Tornando-se detentor de uma conta convencional, o cliente de origem digital
teria acesso a todo o rol de produtos disponibilizados pelo Banco Alfa.
Novamente a seleção de clientes torna-se um problema, dadas as parcas informações
disponíveis acerca desse público. Há somente três informações que são realmente neces-
sárias para a abertura de uma conta digital: o número do Cadastro de Pessoas Físicas
(CPF), o número do Código de Endereçamento Postal (CEP) e um número de telefone
celular. A partir do CPF é possível obter de órgãos governamentais, como o Banco Cen-
tral do Brasil e a Receita Federal do Brasil, mais informações: data de nascimento, sexo
e grau de endividamento. O CEP de residência do cliente permite identificar a Unidade
Federativa, o município, a cidade e o bairro. O telefone celular fornece informações do mo-
delo do aparelho. Mesmo usando essas fontes de dados, não é possível obter diretamente
a informação sobre os rendimentos desses clientes.
No intuito de obter as informações de renda de seu público-alvo o Banco Alfa adquiriu,
de uma empresa de apoio ao crédito, uma base de dados com a renda presumida de várias
pessoas físicas. Essa base tem sido utilizada atualmente como referencial de renda na
seleção de clientes contactados para a alteração de conta.
Todavia, na Figura 1.1 é possível perceber que a renda presumida indica valores bem
menores que a informação comprovada dos clientes convencionais, principalmente para
rendas maiores que R$ 10 mil.
Foi também efetuada uma análise de correlação separada por faixas de renda tradici-
onalmente utilizadas pelo Banco Alfa. A Tabela 1.1 indica uma baixa correlação entre a
2
Figura 1.1: Comparativo entre renda presumida da base dados externa e a renda com-
provada dos clientes que utilizam o aplicativo móvel do Banco Alfa.
renda comprovada e a renda presumida em todas as faixas, sendo que a faixa de maior
renda apresentou a menor correlação.
Tabela 1.1: Correlação entre a renda comprovada e a renda presumida da base de dados
externa.
3
Tabela 1.2: Projeção Comparada das Margens de Contribuição Mensal a Partir de Dife-
rentes Fontes de Informação de Renda
1.2 Justificativa
Em função da problemática apresentada e baseado nos dados levantados, o Banco Alfa
necessita de uma informação de renda mais acurada para ofertar produtos e serviços mais
adequados aos seus clientes digitais, a fim de obter a máxima Margem de Contribuição e,
consequentemente, maior retorno financeiro.
Além disso, os dados atualmente disponíveis ao Banco Alfa para determinar a oferta
de produtos a seus clientes, informam rendas inferiores às reais e, segundo projeções,
reduziriam o potencial de obtenção de Margem de Contribuição em 50%, ocasionando uma
perda potencial de milhões de reais por mês em vendas de produtos e serviços bancários.
1.3 Hipótese
Acredita-se que um mecanismo de predição de renda criado a partir de um público se-
melhante ao público-alvo, mas que possua renda comprovada, utilizando informações
cadastrais comuns nos dois públicos, dados sócio-demográficos dos clientes, comporta-
mentos de movimentação financeira e informações do modelo dos smartphones terá maior
confiabilidade em comparação à informação de renda presumida utilizada atualmente.
1.4 Objetivos
Esta pesquisa busca uma maneira de identificar clientes detentores de contas digitais com
maior renda para uma oferta mais eficiente de produtos e serviços bancários. Este trabalho
pretende utilizar uma abordagem de Mineração de Dados para inferir faixas de renda.
4
1.4.1 Objetivo Geral
Comparar entre si modelos de classificação de faixa de renda, criados a partir de algoritmos
de Mineração de Dados, selecionando o modelo que identificar uma quantidade equilibrada
de acertos nas diferentes faixas de renda, para finalmente compará-lo com a informação
sobre renda adquirida de uma empresa de apoio ao crédito.
• definir faixas de renda que sejam relevantes para o negócio e adequadas para o
modelo preditivo, baseada na estratégia de oferta de produtos do Banco Alfa e na
divisão mais eficaz das faixas para a modelagem estatística;
5
Capítulo 2
Revisão Teórica
Empresas costumam organizar suas informações sobre clientes, produtos e forças de ven-
das em banco de dados, podendo combinar essas informações para montar uma estratégia
de oferta de produtos. Ao identificarem os clientes adequados para certos produtos, elas
evitam o envio indiscriminado de ofertas, reduzindo o custo de envio da propaganda e au-
mentando as vendas. Além disso, sugere-se que empresas devam coletar informações sobre
o clientes a cada interação, sendo que qualquer dado possui valor, seja ele de origem ca-
dastral ou transacional. Essa quantidade de dados deve ser mantida de forma organizada,
como em data warehouses, para o uso da equipe de Mineração de Dados [5].
A Mineração de Dados é o processo de descobrir informações úteis em grandes reposi-
tórios de dados, tudo automaticamente. As técnicas de MD permitem encontrar padrões
novos e úteis que, de outra forma, permaneceriam desconhecidos [6]. A MD também pode
ser definida como a construção de um modelo estatístico [7].
A resolução de um problema utilizando Mineração de Dados depende de etapas de
pré-processamento e pós-processamento. O pré-processamento corresponde a transformar
dados brutos em um formato apropriado para a Mineração de Dados. As etapas de pós-
processamento estão relacionadas à avaliação do modelo de Mineração de Dados criado,
de forma que seja assegurado que somente resultados válidos e úteis sejam incorporados
aos sistemas de produção. As seções a seguir detalham técnicas utilizadas em cada um
desses três momentos.
2.1 Pré-processamento
Passos comuns nessa etapa envolvem a obtenção, a limpeza e a seleção de dados relevantes
para a tarefa de Mineração de Dados. Grande parte do esforço da criação de um modelo
de MD é despendido nessa etapa [6].
6
Os dados podem vir em muitos formatos diferentes: texto, numéricos, categóricos [6].
Para cada um desses formatos podem ser aplicadas técnicas para torná-los adequados aos
requisitos do problema de MD. Uma das transformações possíveis é igualar a escala de
todas as variáveis. Uma maneira de realizar isso é redefinir os valores de uma váriavel
para o intervalo [0, 1], usando a Equação 2.1 [8].
x − min
y= , (2.1)
max − min
onde:
y: valor transformado;
x: valor original;
onde:
y: número transformado;
x: número original;
Transformações como as mostradas nas Equações Equação 2.1 e Equação 2.2 não
mudam o tipo da variável, que continua numérica [6, 9]. Em outros casos podem ser
necessárias transformações que tornam variáveis numéricas em categóricas. Uma das
técnicas de categorização consiste no uso do algoritmo de criação de grupos denominado
K-Means [6] e é detalhado nos procedimentos abaixo:
7
3. Recalcular os centróides.
n
Pbi − ai
i=1 max(ai , bi )
S= , (2.3)
n
onde:
n: número de elementos;
bi : menor distância média entre o i-ésimo elemento e os elementos dos grupos vizi-
nhos.
1
V IF = (2.4)
1 − R2
A seleção de variáveis é dada pelo algoritmo a seguir:
8
2. retirar a variável de maior VIF;
3. executar os passos 1 e 2 até que não haja VIF maiores que 5 [11].
A execução desse procedimento tem como vantagem identificar não só a relação entre
duas, mas entre várias variáveis explicativas, o que não seria possível se fosse aplicado o
coeficiente de correlação de Pearson duas a duas variáveis [11].
Apesar da duplicidade de variáveis ser um problema, registros repetidos podem ajudar
na fase de modelagem. Alguns algoritmos de MD obtém melhores resultados quando
se encontra um número aproximadamente igual de observações das categorias de uma
variável alvo, como algoritmos baseados em regras [6]. São exemplos de técnicas que
podem ser utilizadas para balancear categorias [12]:
Random Undersampling: realiza uma amostragem aleatória simples nos dados per-
tencentes à categoria majoritária, para que a amostra fique com a mesma quantidade
de registros que a categoria minoritária;
9
O balanceamento das categorias pode, no entanto, produzir efeitos indesejáveis na
construção do modelo, como o sobreajuste [6], que será explicado adiante.
eβ0 +β1 ·X
p(X) = , (2.5)
1 + eβ0 +β1 ·X
onde:
10
Tabela 2.1: Controle de regularização na Logistic Regression.
λ α Resultado
0 [0, 1] Sem regularização. α é ignorado.
(0, 1] 0 Regressão Ridge
(0, 1] 1 LASSO
(0, 1] [0, 1] Penalização Elastic Net
Random Forest (RF), um algoritmo desenvolvido por Breiman [19], utiliza-se de uma
técnica distinta a da Logistic Regression. Random Forest é um algoritmo do tipo ensemble
(ou composto) que se utiliza de vários outros para gerar melhores resultados [17]. Nesse
caso, RF cria múltiplas árvores de decisão que efetuam previsões sobre um evento [6]. O
resultado final da previsão é obtido apurando-se os resultados individuais das árvores e
optando-se pela previsão da maioria [14].
Parâmetros fundamentais para uma RF são o número de árvores usadas (ntrees) e o
comprimento máximo de cada árvore (max_depth). Parâmetros outros podem ser utili-
zados com o intuito de generalizar o modelo, reduzindo as informações disponíveis para
cada árvore ao omitir registros ou ainda variáveis explicativas [17]. São alguns exemplos
de parâmetros que podem ser aplicados em um algoritmo RF [20]:
sample_rate: proporção de registros que cada árvore terá acesso para ser construída;
Assim como RF, o Gradient Boosting Machine (GBM) é também um método composto
que se utiliza de árvores de decisão [17]. O algoritmo combina duas técnicas: otimização
baseada em gradiente e boosting. A primeira refere-se à adição iterativa de árvores para
minimizar uma função de perda [21]. O termo boosting corresponde ao uso de um processo
iterativo usado para mudar adaptativamente a distribuição de exemplos de treinamento
de forma que os classificadores base (árvores) foquem em registros difíceis de classificar [6].
11
Tal como Random Forest, o principais parâmetros do algoritmo GBM são o número
de árvores usadas e o comprimento máximo de cada árvore [17]. A diferença encontrada
em sua parametrização consiste principalmente na possibilidade de definir que taxa de
aprendizagem cada árvore fornecerá ao algoritmo como um todo (learn_rate) [21].
Inspiradas na rede de neurônios encontrada no cérebro e como ela opera, as Artificial
Neural Networks são compostas por unidades também denominadas neurônios. As Ar-
tificial Neural Networks do tipo Multi-Layer Perceptron with FeedForward, em especial,
consistem em várias camadas de neurônios artificiais interconectados em uma só direção,
partindo da camada inicial até a final [22].
A passagem de informações de um neurônio para outro depende de uma função de
ativação [6] que, ao receber valores de entrada de outros neurônios, gera um valor para a
próxima camada [17]. A Tabela 2.2 mostra alguns exemplos de funções de ativação [22].
A variável α corresponde à soma dos valores pelo neurônio. Na função Maxout, con-
tudo, os valores α1 e α2 não são somados, mas o maior valor entre os dois é selecionado [17].
Além da função de ativação, existem outros parâmetros customizáveis. São exemplos [22]:
epochs: quantidade de vezes que a base de treinamento passa em uma rede neural;
Desenvolvido por Caruana et al. [23, 24], Hill-climbing Ensemble Selection with Bo-
otstrap Sampling (HCES-Bag) é um algoritmo composto e heterogêneo, isto é, pode ser
formado por diferentes algoritmos. A ideia é que os algoritmos tem diferentes visões sobre
os dados e é desta forma que se complementam [25].
Na estratégia de construção do modelo HCES-Bag, modelos individuais ou candidatos
são reamostrados utilizando a técnica de bootstrap aggregating [6] ou bagging, gerando
múltiplas combinações com reposição dos modelos candidatos. Em cada uma das amostras
de modelos candidatos, é iniciada uma uma composição de t melhores modelos individuais.
12
São geradas então todas as combinações possíveis com t + 1 modelos e é selecionado o
conjunto de melhor performance de uma métrica previamente definida. Essa adição de
modelos se repete até que não haja melhora na métrica. Como pode se observar, nem
todos os modelos candidatos são necessariamente utilizados, enquanto outros podem ser
usados mais de uma vez [24]. A previsão do HCES-Bag é feita utilizando a média dos
modelos compostos criados [25].
Como explicado nos parágrafos anteriores, algoritmos de MD podem receber parâme-
tros de ajuste. Não se sabendo previamente quais valores para o parâmetros irão produzir
os melhores modelos a partir dos dados de treinamento, faz-se necessário o teste de uma
gama de valores para esses parâmetros. Tal atividade é onerosa e maçante, dificultando
a criação de modelos de alta performance. Para reduzir esse problema, foi criada uma
técnica denominada Grid Search, onde se pode construir vários modelos a partir da com-
binação iterativa de diferentes valores para cada parâmetro [17]. Muitas ferramentas de
MD possuem a técnica de Grid Search disponível1 2 3 , o que torna mais simples sua
implementação.
2.3 Pós-processamento
Essa etapa pode envolver tanto a representação gráfica dos modelos quanto a análise
numérica dos resultados. Gráficos permitem que os analistas explorem os dados e os
resultados da MD a partir de uma variedade de pontos de vista. A análise numérica, por
meio de medidas estatísticas ou testes de hipóteses, pode ser usada para eliminar modelos
de MD que produzem resultados inúteis [6].
Um dos problemas, por vezes encontrado na MD, é o sobreajuste do modelo, isto é,
quando o modelo criado é particularmente suscetível ao ruído na base de treinamento [11].
O sobreajuste torna o modelo preditivo menos capaz de ser usado de forma generalizada
e pode ser observado como uma queda brusca do poder preditivo nas etapas de validação
frente aos resultados de treinamento [6].
Com o intuito de identificar mais facilmente um possível sobreajuste dos modelos
preditivos criados, pode ser utilizada a técnica de validação cruzada [11] ou K-Fold Cross-
Validation. Essa técnica corresponde a separar aleatoriamente os dados de treinamento
em K partes iguais e, iterativamente, treinar o modelo com um conjunto de K − 1 partes,
validando-o com a parte restante [11]. A métrica utilizada para validar o modelo, F-
Measure, por exemplo, é calculada a cada iteração e ao final a soma das predições é
1
http://scikit-learn.org/stable/modules/grid_search.html
2
http://docs.h2o.ai/h2o/latest-stable/h2o-docs/grid-search.html
3
https://spark.apache.org/docs/2.2.0/ml-tuning.html
13
utilizada para definir a métrica final [6]. A Figura 2.1 ilustra a execução de uma validação
cruzada que divide a base de treinamento em quatro partes.
14
Tabela 2.3: Exemplo de matriz de confusão
predito
Falso Verdadeiro
Falso TN FP
real
Verdadeiro FN TP
TP
TPR = . (2.6)
TP + FN
FP
FPR = . (2.7)
FP + TN
A área abaixo da curva ROC, ou AUC, fornece uma abordagem para avaliar qual
modelo é melhor em média. Se o modelo é perfeito, então a AUC é igual a 1. Se o modelo
simplesmente age de forma aleatória, então a área sobre a curva será igual a 0,5. Um
modelo é estritamente melhor que outro se ele possuir uma maior AUC [6].
Além de identificar o modelo preditivo com maior AUC, é possível identificar o ponto de
corte das probabilidades encontradas para as observações que melhor atinge uma métrica
de performance [6]. Dentre as métricas existentes, uma das mais populares é a Acurácia,
descrita na Equação 2.8.
TP + TN
Acurácia = (2.8)
TP + TN + FP + FN
Contudo, a Acurácia pode não ser apropriada ao avaliar modelos onde a variável
alvo é muito desbalanceda, como em casos que a categoria Positiva é considerada rara
(<10%) [6]. A F-Measure ou Medida F, definida pela Equação 2.9, é uma alternativa nes-
ses casos, pois em sua formulação não leva em conta o número de Verdadeiros Negativos.
15
2 · TP
F − M easure = (2.9)
2 · TP + FP + FN
Assim, como explicado anteriormente, a avaliação de modelos de MD utilizando a
AUC permite identificar o modelo que em média acerta mais vezes. Conjuntamente, a
utilização de uma métrica como a Medida F auxilia a fixação de um valor de corte ótimo
para as probabilidades determinadas pelo melhor modelo de MD.
16
Capítulo 3
Estado da Arte
Este capítulo descreve algumas pesquisas científicas que possuem ligação com o presente
trabalho e analisa as possíveis contribuições desses estudos na construção da solução para
o problema apresentado.
17
Li et al. [28], por sua vez, usaram a relação entre preços de apartamentos e a renda
de clientes de um site de produtos farmacêuticos para definir um modelo de segmentação
para os clientes dessa empresa. Para isso, cruzaram os endereços de entrega dos produtos
farmacêuticos com os valores de casas à venda em um site de oferta de imóveis. Para criar o
modelo de segmentação, os autores utilizaram Mineração de Dados não supervisionada. O
cruzamento dos endereços com os imóveis à venda foi realizado utilizando um algoritmo de
similaridade de texto. No caso de não se encontrar endereços com a similaridade mínima
definida pelos autores, outro algoritmo era usado: calculava-se a média e o desvio-padrão
de casas à venda próximas ao endereço de entrega, aumentando o raio de pesquisa até
que o desvio-padrão encontrasse um valor limite.
Lessmann et al. [25] efetuaram um benchmarking com 41 algoritmos de classifica-
ção para definição de default 1 em 8 diferentes bases de dados. Dentre os algoritmos de
classificação, foram avaliados algoritmos individuais, técnicas de ensemble homogêneo e
heterogêneo. Dentre todos os algoritmos testados, três se destacaram ao obter acurácia
melhor que a Regressão Logística, técnica mais utilizada no mercado: Hill-climbing En-
semble Selection with Bootstrap Sampling (HCES-Bag), Random Forest (RF) e Artificial
Neural Networks (ANN), respectivamente. Apesar do algoritmo HCES-Bag ter sido o
melhor em acurácia, os autores verificaram que ANN e RF, respectivamente, obtiveram
um menor número de Falsos Negativos, isto é, deixavam passar menos casos de default.
Bjorkegren e Grissen [29] criaram um modelo preditivo de risco de crédito tendo como
base dados de pessoas que fizeram empréstimos em uma empresa de microcrédito. Foram
utilizados dados de ligações telefônicas, da localização das torres e modelos dos smartpho-
nes. Em contraste, um conjunto de dados contendo idade, sexo, valor do empréstimo e
tempo para quitação do empréstimo foi utilizado para comparar a acurácia do primeiro
conjunto de dados. Foram utilizados os algoritmos RF e OLS para criação do modelo de
Regressão, onde os modelos utilizando dados de telefone obtiveram Area Under the Curve
(AUC) superior (0,66-0,67) aos mesmos algoritmos utilizando os dados demográficos e
relacionados ao empréstimo (0,53).
Toole et al. [30] estudaram a relação entre dados de ligações telefônicas e desemprego.
Eles construíram um classificador Bayesiano, baseado em mudanças de ritmo de uso de
telefones celulares. Além disso, um resultado da pesquisa foi a identificação de uma
relação entre o desemprego e a diminuição da mobilidade e do comportamento social dos
indivíduos.
Kim et al. [31] investigaram a correlação entre o uso de smartphones e característi-
cas demográficas de cerca de dez mil respondentes de um questionário na Córeia. Neste
1
"Atraso ou não pagamento de título ou cupom na data de seu vencimento. Declaração de insolvência
do devedor, decretada pelos credores quando as dívidas não são pagas nos prazos estabelecidos". http:
//www.bcb.gov.br, acessado em 03/06/2018.
18
questionário, além de existirem perguntas relacionadas a dados demográficos (idade, sexo,
grau de instrução e renda), havia questões voltadas a quais aplicativos as pessoas utili-
zam (e-commerce, entretenimento, leitura, notícias e redes sociais). Foi identificada uma
correlação de 0,54 entre o uso de smartphones e o grau de instrução. A renda e o uso
de smartphones mostrou uma correlação baixa, de 0,17. Entre o uso de tipos de aplica-
tivos, os softwares relacionados a notícias obtiveram maior correlação com a renda dos
indivíduos (0,23).
Blumenstock et al. [32] usaram dados de smartphones para identificar características
demográficas de indivíduos de Ruanda. Para definir um índice de riqueza, foi efetuada
uma pesquisa a 856 cidadãos desse país, perguntando sobre posse de bens, características
de suas moradias e outros indicadores de bem-estar social. A correlação entre o índice de
riqueza e os dados de ligações telefônicas e mensagens de texto foi de 0,68. Ao separar
o estudo em microrregiões, Blumenstock et al. [32] mostraram que os dados de telefonia
tem forte correlação com os indicadores de riqueza de cada distrito de Ruanda (0,91).
Sundsøy et al. [33] utilizaram algoritmos de classificação para predizer a renda de 80 mil
clientes de uma empresa de telefonia, usando tanto dados cadastrais quanto transacionais.
Foram selecionados cerca de 150 variáveis preditoras da base da operadora, como uso de
mensagens (SMS), torres de celular utilizadas nas ligações, comportamento de recarga
de créditos, frequência de uso de redes sociais, tipo de aparelho entre outros. Foram
utilizadas 3 técnicas de classificação: Random Forest (RF), Gradient Boosting Machine
(GBM) e Artificial Neural Networks (ANN). Os pesquisadores explicaram que o ANN
alcançou acurácia satisfatória (77%), usando somente variáveis associadas ao uso das
torres, enquanto que os outros métodos precisaram de todos os outros atributos para
alcançarem um resultado próximo (68-72%) ao de ANN.
Kibekbaev e Duman [34] se destacam no teste de diversos algoritmos de Regressão
para identificar a renda de clientes. Eles testaram um total de 10 algoritmos: OLS, Beta
Regression, Beta-OLS, Box-Cox OLS, Ridge Regression, Robust Regression, CART, M5P,
MARS, ANN. Foram incluídas ainda técnicas combinadas, como OLS + M5P, OLS +
MARS, OLS + CART, OLS + ANN, OLS + LSSVM e técnicas de Ensemble Learning,
como Random Forest e AdaBoost. As informações utilizadas para testar os modelos con-
sistiam em uma média de registros de 10.000 clientes em 5 bancos turcos. O novo modelo
seria usado na análise de concessão de crédito e deveria minimizar a negação de emprés-
timo para clientes que poderiam recebê-lo e evitar que fossem concedidos valores acima
do limite do cliente. O modelo com melhor resultado era formado por uma combinação
do Ordinary Least Squares com o algoritmo de Árvore de Decisão M5, obtendo R2 entre
0,38 e 0,59.
Steele et al. [35] utilizaram Regressão por meio de modelos lineares generalizados em
19
dados de mobilidade e em características de ligações telefônicas para predizer índices de
pobreza em Bangladesh. O experimento foi considerado bem-sucedido, obtendo R2 = 0, 78
para as regiões urbanas e R2 = 0, 66 para as áreas rurais. A mesma abordagem, ao utilizar
os dados em conjunto, alcançou um R2 = 0, 76.
3.2 Considerações
Em relação ao tipo de Mineração de Dados supervisionada, os trabalhos [27, 34, 35]
utilizaram algoritmos de Regressão, enquanto que os trabalhos [25, 29, 30, 33] optaram por
algoritmos de Classificação. Algoritmos de Regressão foram testados em maior proporção
o Ordinary Least Squares [27, 29, 34] e Random Forest [29, 34]. Dentre os algoritmos
de Classificação, foram testados em maior quantidade Random Forest [25, 33] e Artificial
Neural Networks [25, 33]. Para o problema de determinar a renda de correntistas digitais,
optou-se pela utilização de algoritmos de Classificação, pois não há a necessidade de
identificar um valor contínuo da renda, sendo suficiente para a estratégia de oferta de
produtos do Banco Alfa tão somente a identificação de faixas de renda. De fato, há
trabalhos de Classificação suficientes que serviram de referencial para a pesquisa e que
forneceram uma lista de cinco algoritmos para comparação: (ANN, GBM, HCES-Bag,
RF e LR).
Uma dificuldade encontrada na maioria dos artigos pesquisados sobre predição de
renda consistia em obter rendas individuais para construir a variável alvo [27, 28, 32, 33,
35], devido a questões de sigilo da empresa ou pela própria falta do dado. Os pesquisadores
então costumavam usar variáveis correlacionadas como subterfúgio da falta de informação.
À exceção das pesquisas [25, 30, 31, 34], foram usados, em algum grau, dados de localização
dos clientes como indicadores de renda. Os trabalhos [27, 28, 31–33, 35] utilizaram dados
censitários ou questionários para obter tais indicadores.
Apesar desta pesquisa sofrer da mesma ausência de informação de renda para os cli-
entes digitais, optou-se por um caminho distinto que, conforme descrito no Capítulo 1,
corresponde a utilizar uma população similar para criar o modelo de MD. Mesmo assim,
algumas das variáveis correlatas à renda descritas nesses artigos serviram de inspiração na
construção das variáveis explicativas. O uso de dados censitários e demográficos oriundos
do Instituto Brasileiro de Geografia e Estatística, aliados a informações sobre endivida-
mento obtidas do Banco Central do Brasil, por exemplo, foram utilizados na construção
de variáveis preditoras do modelo. Seguindo essa mesma linha, as pesquisas [29, 33], por
exemplo, utilizaram o modelo do smartphone como variável preditora. O artigo de Li
et al. [28], por sua vez, usou valores de venda de imóveis da região. Tais variáveis também
foram levadas em consideração durante a construção do modelo.
20
Capítulo 4
Plano de Trabalho
Uma abordagem para minerar dados comum na indústria é o Cross Industry Standard
Process for Data Mining (CRISP-DM), um processo iterativo que consiste em 6 etapas,
descritas a seguir [36]:
1. Entendimento do Negócio: importa-se com o entendimento dos objetivos e re-
quisitos a partir da perpectiva negocial, para então converter este conhecimento na
definição de um problema de Mineração de Dados e em um plano preliminar para
atingir os objetivos.
2. Entendimento dos Dados: começa com uma coleção de dados inicial e prossegue
com atividades que tem como intuito tornar os dados familiares, identificar proble-
mas de qualidade e descobrir os primeiros insights nos dados e detectar subconjuntos
para formular hipóteses sobre a informação escondida.
21
Figura 4.1: Processo Padrão Inter-Indústrias para Mineração de Dados.
Este trabalho foi executado e organizado conforme as etapas propostas pelo CRISP-
DM, tendo sido executadas duas iterações do processo. Visando um melhor entendimento
da pesquisa, foi criado um capítulo para iteração. O código-fonte e os dados utilizados
para a criação dos modelos foram armazenados no GitHub1 . Por questões de sigilo, os
dados e os nomes das variáveis foram anonimizados.
1
Disponível em https://github.com/rnmourao/renda_digitais.
22
Capítulo 5
Primeira Iteração
23
Percebe-se também uma maior correlação entre a renda e a margem de contribuição
em valores acima de R$ 10.000 em comparação às faixas de renda inferiores, conforme
mostrado na Tabela 5.2.
Sendo assim, a seleção do público alvo para oferta de alteração de conta deveria levar
em consideração uma faixa de renda superior. Essa abordagem pode restringir bastante o
público selecionado, pois o percentual de clientes convencionais que recebem mensalmente
um salário superior a R$ 10 mil reais, por exemplo, corresponde a cerca de 10% do total.
Para tentar encontrar público semelhante no grupo de clientes digitais, o Banco Alfa
se vale de uma base de dados externa, a qual possui a renda presumida não só do público-
alvo, mas de cerca de metade da população brasileira.
Conforme apresentado na Figura 1.1 e na Tabela 1.1, essa fonte de informação apre-
senta rendas aquém do esperado, quando comparadas às rendas comprovadas na base de
dados do Banco Alfa. Tal situação prejudica a oferta de evolução de conta via telemar-
keting, afetando assim a correta priorização de clientes e podendo causar diminuição nas
vendas.
Propôs-se então, como alternativa, a criação de um modelo de mineração de dados
para previsão de renda dos clientes digitais do Banco Alfa. O principal empecilho para a
formulação de tal modelo consiste na ausência da informação alvo, ou seja, a renda.
Para suplantar essa dificuldade, decidiu-se por utilizar como base para treinamento
clientes semelhantes aos digitais que possuíssem as mesmas informações e, adicionalmente,
a renda comprovada. Um modelo criado a partir de uma amostra conveniente de clientes
poderia ser usado na previsão de renda dos clientes digitais.
Desta forma, o trabalho de Mineração de Dados consiste em definir um modelo predi-
tivo de faixas de renda para os clientes com contas-correntes digitais a partir de clientes
que possuem renda comprovada. É conveniente testar diversos algoritmos de MD para
que se selecione o melhor modelo. O classificador com melhores AUC e F-Measure, respec-
tivamente, será comparado com a base de dados externa, a fim de verificar se o primeiro
supera a última.
24
5.2 Entendimento dos Dados
As informações utilizadas nesta primeira iteração estavam disponíveis em bancos de dados
e foram extraídas de três origens:
1. um Banco de Dados data warehouse com diversas informações dos clientes e utilizado
pelo Banco Alfa para análises de mercado;
25
a contatos e aquisição de produtos, detalhes sobre movimentação financeira, métricas
de retorno financeiro entre outras. Muitos desses atributos não foram utilizados para o
trabalho, devido à ausência de informação equivalente para os clientes digitais.
Após a extração dos dados, tornou-se possível comparar os clientes digitais com os
clientes convencionais que usavam o aplicativo móvel, os quais de agora em diante serão
referidos somente como clientes convencionais.
Os clientes convencionais eram um grupo que possuía certa semelhança com os cor-
rentistas digitais, devido ao uso da mesma interface que os últimos para efetuar suas
transações bancárias. Os primeiros, por sinal, superavam em número os últimos, como se
pode observar na Figura 5.1.
Figura 5.1: Proporção entre clientes convencionais e clientes digitais que utilizam o apli-
cativo móvel.
Certas diferenças entre os dois grupos de clientes eram esperadas, como os dados sobre
gênero, explicitada na Figura 5.2, que mostra o grande número de clientes digitais sem
essa informação.
Outra diferença estava na distribuição de idades desses dois públicos. Na Figura 5.3
observa-se um maior percentual de clientes digitais na faixa de 20 anos em comparação
aos clientes convencionais. Dentre as prováveis causas, presume-se que a facilidade na
abertura da conta digital pode ter motivado a adoção desse produto por parte do público
mais jovem. Por outro lado, faixas de idades superiores podem estar menos propensas ao
uso de contas digitais, por possuírem contas convencionais há mais tempo. A diferença na
distribuição de idade entre esse dois públicos poderia afetar a comparação da distribuição
de renda.
O local de residência dos clientes era outro aspecto onde se esperava encontrar diferen-
ças. Dada novamente a facilidade de criação de uma conta digital, eximindo o público-alvo
de se deslocar para uma agência bancária, havia certa expectativa por parte do Banco
26
(a) Clientes Convencionais. (b) Clientes Digitais.
Figura 5.2: Distribuição da variável “sexo” entre clientes que usam o aplicativo móvel.
Figura 5.3: Distribuição de Idade dos Clientes que usam o aplicativo móvel.
Alfa de que um grande número desses novos clientes morasse em localidades distantes dos
grandes centros. Contudo, como mostra a Figura 5.4, a proporção de clientes digitais nas
capitais não difere da proporção de clientes convencionais tornando-os, sob esse prisma,
mais semelhantes entre si.
27
Figura 5.4: Proporção entre clientes convencionais e clientes digitais que utilizam o apli-
cativo móvel.
Alguns dos atributos obtidos possuíam um grande número de valores nulos para os
clientes digitais, como foi exemplificado pela variável “sexo”, mostrada na Figura 5.2.
Casos como esse forçaram a exclusão do atributo. Em outros casos, nos atributos em que
não havia uma grande quantidade de valores nulos, foi realizada imputação dos dados, de
acordo com a particularidade de cada variável. Outro problema encontrado foi a existência
de outliers em algumas variáveis. Transformações estatísticas foram utilizadas para tentar
mitigar o problema. Detalhes sobre a preparação final dos dados são explicados na seção
a seguir.
28
retirar espaços duplicados, caracteres não-imprimíveis, acentos e tornou minúsculos todos
os caracteres alfabéticos. A execução da linguagem Python ocorreu no editor Jupyter
Notebook 1 e foram utilizadas diversas bibliotecas de manipulação de dados, como Pandas 2
e Apache Spark 3 .
Em primeiro lugar, os clientes foram identificados como convencionais ou digitais, por
meio da lista de clientes digitais.
A primeira variável tratada foi o próprio atributo alvo. Esse atributo foi construído a
partir da categorização da informação de renda comprovada dos clientes convencionais. O
Banco Alfa considera como clientes de alta renda aqueles que recebem um salário mensal
maior ou igual a R$ 10.000. A variável alvo deveria ser, desta forma, um atributo binário,
indicando se o cliente possui alta renda ou não. Para avaliar o quão bem essa bissecção
separava o público-alvo como um todo, foi aplicado o coeficiente de Silhouette, descrito
na Equação 2.3. A partição sugerida pelo Banco Alfa alcançou o coeficiente de Silhouette
de aproximadamente 0,25.
Para efeito de comparação, aos valores de renda foi aplicado um agrupamento utili-
zando o algoritmo K-Means com K = 2, isto é, com dois centróides. As faixas de renda
encontradas pelo algoritmo não se mostraram interessantes, como se verifica na Tabela 5.4.
Tabela 5.4: Faixas de renda encontradas pelo aplicativo K-Means na primeira rodada.
29
Tabela 5.5: Faixas de renda encontradas pelo aplicativo K-Means após transformação
Box-Cox.
Após a definição da variável alvo, seguiu-se com a seleção das variáveis explicativas.
Muitas variáveis foram removidas do grupo de 116 variáveis disponíveis no data warehouse.
A primeira variável removida foi “sexo”, porque havia um grande número de valores
nulos na base de clientes digitais, conforme mostrado na Figura 5.2. Outras variáveis
foram retiradas porque pertenciam somente a clientes convencionais, como a variável
Risco de Crédito. Essa variável é obtida por meio de uma análise de crédito, que depende
da comprovação de renda do cliente. Variáveis que correspondiam à posse de produtos de
crédito ou demais produtos que só poderiam ser adquiridos se o cliente possuísse renda
comprovada também foram descartadas.
Outra informação que possuía um número considerável de valores nulos era a renda
presumida. Os valores correspondiam a cerca de 2% da base de clientes convencionais,
porém excedia 31% na base de clientes digitais. Como foi explicado nas Seções 5.1 e
5.2, essa informação é usada atualmente como preditora de renda pelo Banco Alfa e foi
comparada com os modelos de Mineração de Dados gerados. Essa própria variável foi
incluída nas base de treinamento para os modelos de MD.
Desta forma, ao invés de excluir a variável, foi-lhe imputada o valor do salário mínimo
em 2017 4 , R$ 937,00, nos campos nulos. Dois motivos levaram à utilização do salário
mínimo para imputação dos valores nulos. Primeiramente, a distribuição de renda presu-
mida mostrada na Figura 1.1 indica uma assimetria positiva, o que aumenta o valor da
média e a distancia dos valores mais comuns [37]. Em segundo lugar, políticas de salá-
rio mínimo tem como objetivo dar aos trabalhadores um padrão de vida minimamente
adequado, elevando o salário para acima do ponto de equilíbrio entre a oferta e a de-
manda [38]. Assim, apesar de em alguns casos se observar salários abaixo dessa marca,
tal política governamental traz um grande número de pessoas que ganhariam menos para
o valor do salário mínimo, tornando o valor mais comum encontrado.
Algumas variáveis foram construídas a partir de datas, como tempo da conta atual,
tempo da primeira conta, tempo da primeira transação, tempo da última atualização
cadastral, todas contadas em dias.
Outras correspondiam à data de utilização de determinado canal com o Banco Alfa
(aplicativo móvel, telefone, terminal de auto-atendimento, atendimento presencial). A
4
Disponível em http://www.planalto.gov.br/ccivil_03/_ato2015-2018/2016/decreto/D8948.
htm.
30
partir dessas variáveis foram criadas variáveis binárias que indicavam se um cliente já foi
usuário de cada um desses canais.
As variáveis explicativas estão detalhadas na Tabela 5.6. Como se pode observar, a
própria variável de previsão de renda adquirida pela fonte externa foi também utilizada
para o estudo, a fim de verificar sua valia em conjunto com outras variáveis para construção
de um modelo preditivo.
Tabela 5.6: Variáveis explicativas
31
Figura 5.5: Distribuição de renda entre clientes em todo o território nacional e clientes
em Joinville (SC).
Figura 5.6: Distribuição da variável alvo entre clientes em todo o território nacional e
clientes em Joinville (SC).
32
Figura 5.7: Distribuição de renda presumida da fonte externa para clientes em todo o
território nacional e clientes em Joinville (SC).
Técnica F-Measure
Random Oversampling 0,514
SMOTEENN 0,514
Random Undersampling 0,513
SMOTE 0,510
SMOTETomek 0,509
ADASYN 0,501
Cluster Centroids 0,415
33
5.4 Modelagem
Esta etapa descreve como os modelos preditivos foram construídos e testados. Seis mode-
los preditivos foram criados nesta iteração, sendo um modelo correspondendo à abordagem
adotada no presente pelo Banco Alfa e cinco modelos criados a partir de algoritmos de
MD.
O primeiro modelo preditivo foi definido como linha de base para comparação com os
demais. Construído a partir da renda presumida adquirida da fonte externa, caracteriza-se
por uma variável explicativa binária, indicando se o cliente tem renda presumida superior
a 10 mil reais. Tal variável foi avaliada usando a base de teste criada na etapa 5.3. Como
se tratava de uma aplicação direta de um modelo preditivo já criado, não houve utilização
da base de treinamento e, consequentemente, não foi realizada validação cruzada. De
igual maneira, não houve utilização de Grid Search, pois não havia parâmetros a serem
definidos.
Cinco algoritmos de Mineração de Dados foram usados para criar modelos preditivos
a partir dos dados do Banco Alfa: Logistic Regression (LR), Artificial Neural Networks
(ANN), Random Forest (RF), Gradient Boosting Machine (GBM) e Hill-climbing Ensem-
ble Selection with Bootstrap Sampling (HCES-Bag). Enquanto os quatro primeiros algo-
ritmos foram executados usando a plataforma H2O5 , o HCES-Bag foi executado usando
a implementação de Lambert6 . A parametrização dos primeiros quatro algoritmos está
descrita na Tabela 5.8.
No caso da Logistic Regression, o framework H2O permite uma busca automática pelo
valor ótimo do parâmetro λ. Os demais valores utilizados no Grid Search dos algoritmos
correspondiam ou a valores padrão das ferramentas utilizadas, ou a valores limítrofes [17].
O Grid Search desses algoritmos foi executado algumas vezes com o intuito de ajustar
os parâmetros que seriam usados. Esse refinamento levou também em consideração o
quanto a modificação dos valores afetava o resultado do modelo. Em parâmetros que
afetavam o tempo de criação do modelo, se dois valores alcançavam o mesmo F-Measure,
era escolhido o valor que tornava a criação do modelo mais rápida, conforme princípio da
parcimônia [6].
O último modelo avaliado nessa iteração foi o Hill-climbing Ensemble Selection with
Bootstrap Sampling (HCES-Bag). Neste trabalho, os algoritmos de classificação base
para o HCES-Bag foram LR, RF, GBM e ANN. Para essa execução, buscou-se usar os
parâmetros de Grid Search iniciais descritos na Tabela 5.8. A implementação de Lambert
utilizou como base os algoritmos disponíveis no framework Scikit-Learn [39]. Diferenças
entre a parametrização disponível nesse pacote e no H2O impediram a utilização idêntica
5
Disponível em https://www.h2o.ai/.
6
Disponível em https://github.com/dclambert/pyensemble.
34
Tabela 5.8: Pârametros avaliados por Grid Search dos algoritmos Logistic Regression,
Random Forest, Gradient Boosting Machine e Artificial Neural Networks.
dos algoritmos nos dois frameworks. As documentações das duas bibliotecas tiveram de
ser detalhadamente comparadas para efetuar os ajustes necessários. Como exemplo dessas
diferenças, na LR o parâmetro α no Scikit-Learn é o λ no H2O, enquanto que o parâmetro
α no H2O é o l1_ratio no Scikit-Learn7 8 . Em outros casos não havia equivalência, a
exemplo do parâmetro col_sample_rate_per_tree nos algoritmos RF e GBM, disponível
somente no pacote H2O 9 10 11 12 .
As curvas ROC dos modelos testados nessa primeira iteração usando a base de teste
são mostradas na Figura 5.8. É possível observar que o modelo atualmente utilizado pelo
Banco Alfa se aproximou bastante do valor mínimo, sendo suas predições comparadas a
uma tomada de decisão totalmente aleatória. Os algoritmos de MD obtiveram melhores
7
Disponível em http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.
SGDClassifier.html.
8
Disponível em http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/glm.html.
9
Disponível em http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.
RandomForestClassifier.html.
10
Disponível em http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/drf.html.
11
Disponível em http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.
GradientBoostingClassifier.html.
12
Disponível em http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/gbm.html.
35
Tabela 5.9: Resultado da primeira iteração de Mineração de Dados.
resultados e ficaram bastante próximos entre si, sendo que o GBM obteve a menor AUC
entre eles.
Figura 5.8: Curva ROC dos modelos preditivos sobre a base de teste.
Uma síntese dos resultados obtidos nessa primeira iteração é mostrada na Tabela 5.9.
Verifica-se que o modelo gerado por meio de Random Forest obteve os melhores resultados.
As dez variáveis apontadas como mais importantes pelo modelo gerado pelo algoritmo
RF estão descritas na Tabela 5.10 e correspondem a 64% da redução do erro quadrático
médio [20].
5.5 Avaliação
Essa etapa tem como objetivo mostrar os resultados obtidos dos modelos criados e avaliá-
los de acordo com os objetivos de negócio [36].
36
Tabela 5.10: Dez variáveis mais importantes para o modelo vencedor.
Definição Quantidade
Margem de contribuição 1
Movimentação financeira 3
Relacionadas a tempo de posse de produtos em dias 3
Renda presumida 1
Quantidade de produtos 1
Valores de endividamento no Sistema Financeiro Nacional 1
5.6 Implantação
Após as etapas de treinamento, validação e teste, foi executado o modelo baseado no
algoritmo Random Forest sobre a base de clientes digitais. Com o resultado obtido, um
arquivo em formato CSV foi disponibilizado ao setor responsável no Banco Alfa. Esse
arquivo era formado pelo campo de identificação do cliente digital, uma indicação de Alta
Renda e a probabilidade dessa indicação.
Como se mostrou necessário executar mais uma iteração de aprimoramento do modelo,
foi somente disponibilizado um arquivo com as predições do grupo de clientes digitais até
Outubro de 2017, não produzindo assim previsões para novos clientes digitais. Para os
novos entrantes, o método tradicional ainda tem sido utilizado. Espera-se que após o fim
da segunda iteração, seja possível criar um aplicativo de uso irrestrito.
37
Capítulo 6
Segunda Iteração
38
A distribuição de marcas de aparelho entre os clientes do Banco Alfa se dá por três
sistemas operacionais: Android, iOS e Windows. A Figura 6.1 mostra a distribuição de
clientes do Banco Alfa por sistema operacional.
Figura 6.1: Distribuição de smartphones dos clientes do Banco Alfa por sistema Operaci-
onal.
39
Figura 6.2: Distribuição de preço dos modelos de smartphones dos clientes do Banco Alfa.
Com a utilização do CEP de residência dos clientes, foi possível ainda obter dados
de seus municípios, como o Produto Interno Bruto (PIB) e o índice Gini2 , por meio de
cruzamento de informações com o sítio do IBGE3 . Adicionalmente, o IBGE separa porções
do território brasileiro em micro e mesorregiões [40]. Havia também em seu endereço web
a informação do PIB de cada uma dessas regiões.
2
O índice de Gini mede até que ponto a distribuição da renda entre indivíduos ou famílias dentro de
uma economia se desvia de uma distribuição perfeitamente igual. Fonte: http://databank.worldbank.
org, em 01/06/2018.
3
Disponível em https://www.ibge.gov.br/.
40
6.3 Preparação dos Dados
Esta seção descreve a preparação dos novos dados obtidos, sua inclusão à base criada
na primeira iteração e como as variáveis explicativas e os registros foram selecionados no
intuito de reduzir a possibilidade de sobreajuste, cogitada na Seção 5.5.
A informação do sistema operacional do smartphone dos clientes foi transformada em
três variáveis binárias que indicavam com 1 se o celular do cliente era Android, iOS ou
Windows.
O preço dos aparelhos foi capturado via API de uma loja virtual que vende grande
variedade de produtos novos e usados. Como alguns modelos de aparelhos não foram
encontrados, foi realizada uma imputação de dados com o valor médio dos celulares dos
clientes, que resultou em R$ 1.081,00. A Figura 6.4 mostra a diferença de valores entre
clientes convencionais por faixa de renda.
41
Figura 6.5: Exemplo de estrutura do CEP. Fonte: https://www.correios.com.br, aces-
sada em 01/06/2018.
de Manhatan [6], isto é a diferença absoluta entre os dois valores. Ao encontrar esses dois
vizinhos, foi efetuada a média aritmética para imputar o valor faltante para aquele CEP.
Esse procedimento foi adotado tanto para o valor quanto para a metragem quadrada dos
imóveis. O preço do metro quadrado foi obtido divindo o preço do imóvel pela metragem
quadrada.
Conforme mostra a Figura 6.6, as diferenças encontradas nos preços dos imóveis de
clientes convencionais de Baixa e Alta renda indicam uma forte relação entre renda e
moradia, o que motivou sua utilização.
Figura 6.6: Preço médio de casas no CEP de clientes convencionais do Banco Alfa por
faixa de renda.
42
Cada cliente também foi identificado como morador de capital de estado por meio
de uma variável binária. Foram também agregados os valores de PIB do município,
da microrregião e da mesorregião. O índice Gini do município do cliente também foi
acrescentado. Para mais, foram criadas variáveis indicadoras de Unidade da Federação e
das meso e microrregiões, todas binárias.
As variáveis numéricas inteiras e decimais sofreram transformação Box-Cox e foram
padronizadas dentro da faixa [0, 1]. As variáveis explicativas adicionais estão detalhadas
na Tabela 6.1. Após serem unificadas, contava-se com 227 variáveis explicativas.
43
Figura 6.7: Matriz de correlação entre todos os atributos.
Figura 6.8: Representação das distribuições de variáveis contínuas com dois tratamentos
relativos aos valores da variável alvo (legenda).
Variáveis contínuas que possuíam variância distinta em relação aos dois grupos de
renda, como a mostrada na Figura 6.9, não foram descartadas de pronto, mas lhes foi
aplicada uma Principal Component Analysis (PCA) [11]. Diferentemente da comparação
de médias, foi aplicado um PCA separado para cada faixa de renda, de forma a saber
quais variáveis demonstravam maior variância em cada grupo. Como resultado, foram
44
geradas componentes formadas pela composição de diversas variáveis. As 10 primeiras
variáveis da primeira componente em cada grupo foram selecionadas.
Para as variáveis binárias, foi aplicado um Teste Qui-Quadrado [42] a fim de determinar
se havia diferença entre as proporções de 0 (Falso) e 1 (Verdadeiro) de tais variáveis em
relação à variável alvo, também binária. Um valor p abaixo de 0,05 foi usado para indicar
se a diferença de proporções era significativa. Variáveis abaixo desse valor de corte foram
mantidas. A Figura 6.10 mostra uma representação gráfica de uma variável mantida e
outra descartada por esse teste.
45
Tabela 6.2: Variáveis selecionadas por diversos métodos discriminantes.
Variáveis
Análise Critério
Selecionadas
Correlação absoluta
Correlação 14
maior que 0,15
Comparação de Médias |x¯0 − x¯1 | < 0, 1 10
Teste de Homogeneidade Valor p < 0,05 8
Principal Component Analysis Primeira Componente 22
Os testes aplicados e os critérios de seleção dos atributos estão resumidos na Tabela 6.2.
Pode-se observar que apesar do grande número de variáveis criadas até esse ponto (227),
os diversos testes selecionaram menos de 10% do total, o que torna mais simples a futura
implantação do modelo. Ainda assim, as variáveis selecionadas foram testadas em relação
à colinearidade.
Para tratar a multicolinearidade de variáveis explicativas, foi calculado o VIF. Após
sua execução, restaram 20 variáveis explicativas. Foi executada uma nova análise de
correlação com a variável alvo, que está ilustrada na Figura 6.11.
Após a seleção das variáveis explicativas, foram escolhidos os registros a serem usados
46
para a modelagem. Como foi explicado na Seção 5.3, na primeira iteração foram utiliza-
dos para esse fim dados de clientes convencionais residentes na cidade de Joinville (SC).
Dadas as suspeitas de sobreajuste na Seção 5.5 e que a maioria das variáveis desta se-
gunda iteração estão relacionadas a localização, decidiu-se por usar toda a base de clientes
convencionais para o estudo, que compreende todos os estados brasileiros.
Contudo, devido ao problema de desbalanceamento de dados explicado na Seção 5.2,
foram aplicadas novamente técnicas de balanceamento. A Tabela 6.3 mostra o F-Measure
obtido com cada uma dessas bases ao executar uma LR. Técnicas mais elaboradas, como
ADASYN, Cluster Centroids, SMOTE e suas variantes foram executadas, mas a grande
quantidade de registros tornou o tempo de execução proibitivo.
Técnica F-Measure
Random Oversampling 0,549
Random Undersampling 0,549
Dados Desbalanceados 0,551
6.4 Modelagem
Em comparação à primeira iteração, não foram realizadas muitas mudanças na etapa
de modelagem. O modelo de linha de base foi novamente incluído, principalmente para
servir de comparação em relação aos algoritmos de MD. Os algoritmos LR, RF, GBM e
ANN foram executados utilizando novamente o framework H2O. O algoritmo HCES-Bag
valeu-se novamente da implementação de Lambert.
Foram incluídos dois parâmetros no Grid Search, para os algoritmos RF e GBM. O
parâmetro min_rows foi utilizado para evitar erros de execução, devido à grande quan-
tidade de registros pois, como foi explicado no Capítulo 2, ele é usado para determinar
a quantidade mínima de registros em um ramo da árvore de decisão, para que ocorra
divisão em dois ramos. O parâmetro col_sample_rate_change_per_level não foi utili-
zado na primeira iteração porque apresentava erro no framework H2O. Porém, durante a
segunda iteração, foi disponibilizada uma versão com a correção. Alguns valores finais di-
vergem dos valores iniciais do Grid Search porque foram, novamente, executadas rodadas
de refinamento. Os detalhes podem ser observados na Tabela 6.4.
47
Tabela 6.4: Pârametros avaliados por Grid Search dos algoritmos Logistic Regression,
Random Forest, Gradient Boosting Machine e Artificial Neural Networks.
O modelo baseado no algoritmo HCES-Bag foi criado da mesma maneira que na pri-
meira iteração, isto é, usando a parametrização inicial dos algoritmos LR, RF, GBM e
ANN. As curvas ROC dos modelos gerados a partir da base de teste nessa iteração podem
ser vistas na Figura 6.12.
As métricas alcançadas pelos algoritmos estão descritas na Tabela 6.5. Desta vez os
modelos ficaram bastante parecidos, sendo que o modelo criado pelo algoritmo Gradient
Boosting Machine se destacou, por muito pouco, dos modelos baseados em Random Forest
e HCES-Bag.
As dez variáveis apontadas como mais importantes pelo modelo gerado pelo algoritmo
RF estão descritas na Tabela 6.6 e são responsáveis por 97% da redução do erro quadrático
médio [20].
48
Figura 6.12: Curva ROC dos modelos criados usando a base de teste.
6.5 Avaliação
A fim de verificar se houve melhora nos modelos da segunda iteração em relação ao
primeiro, foram efetuadas algumas comparações nas previsões desses modelos sobre o
público de clientes digitais. A primeira verificação foi a quantidade de clientes digitais
que os modelos indicaram como de Alta Renda. O modelo da primeira iteração classificou
menos de 0,1% dos clientes como ricos, havendo um forte indício de sobreajuste. O modelo
da segunda iteração, por outro lado, marcou 3,7% de clientes como de Alta Renda, ou
seja, um percentual muito mais próximo dos 10% referentes ao clientes convencionais.
Não é possível afirmar se há entre os clientes digitais um percentual de pessoas de Alta
Renda semelhante ao precentual dos clientes convencionais, mas ainda assim espera-se
que esse valor seja bem maior do que o apresentado pelo modelo da primeira iteração.
Os modelos da segunda iteração tem outras vantagens em relação aos modelos da
49
Tabela 6.6: Dez variáveis mais importantes para o modelo vencedor.
Definição Quantidade
Dados sobre imóveis da vizinhança 1
Idade 1
Indicadores de posse de produtos 1
Indicadores demográficos (IBGE) 1
Quantidade de produtos 1
Relacionadas a tempo de posse de produtos em dias 1
Renda presumida 1
Sistemas operacionais de celulares 1
Valores de endividamentono no Sistema Financeiro Nacional 2
primeira, como uma menor quantidade de variáveis explicativas e o uso de dados de todo
o Brasil. Adicionado a isso, a variedade de modelos com bons resultados permite a escolha
daquele de implantação mais fácil.
6.6 Implantação
Durante a escrita desse trabalho, o Banco Alfa ainda verificava os resultados da segunda
iteração. Espera-se que o modelo criado substitua finalmente o modelo de linha de base.
A criação de um aplicativo a partir do modelo permitirá que o setor de marketing inclua
regularmente novos clientes em suas campanhas.
50
Capítulo 7
Conclusão
Contas bancárias digitais são uma realidade brasileira. A facilidade proporcionada pela
abertura de conta por meio de um aplicativo de smartphone se tornou bastante popular,
atraindo milhões de pessoas para esse produto.
Apesar das contas digitais serem vantajosas para os clientes, instituições financeiras
tem dificuldade de conhecer melhor esses clientes, devido ao cadastro mínimo necessário
para sua contratação. Devido à falta de detalhes como a renda comprovada dos clientes,
torna-se difícil definir uma ordem de priorização nas ações de telemarketing, podendo
prejudicar a venda de novos produtos a esses clientes.
O presente trabalho propôs a criação de um modelo preditivo de renda para correntis-
tas digitais a partir de informações oriundas de fontes diversas, tais como: características
dos smartphones, locais de residência, grau de endividamento no Sistema Financeiro Na-
cional, entre outras.
Foram utilizados, como base de estudo, dados de correntistas detentores de contas
convencionais, mas que usavam o mesmo aplicativo de smartphone que os correntistas
digitais. As rendas foram divididas em duas faixas, Alta e Baixa, sendo considerado como
divisor o valor de dez mil reais. Foram testados diversos algoritmos de Mineração de
Dados: Logistic Regression, Random Forest, Gradient Boosting Machine, Artificial Neural
Networks e Hill-climbing Ensemble Selection with Bootstrap Sampling. Esses modelos
foram comparados entre si e entre o modelo preditivo até então em uso por uma instituição
financeira. Os modelos de MD obtiveram resultados muito superiores em comparação à
solução anterior, sendo que o melhor modelo criado obteve AUC de 0,93, Acurácia de 0,92
e F-Measure de 0,62.
Além da criação de um modelo preditivo superior para a instituição bancária que
financiou o projeto, foi possível contribuir1 para o framework de Mineração de Dados
1
A indicação da falha encontrada e a descrição da solução podem ser encontradas em https://0xdata.
atlassian.net/browse/PUBDEV-5334.
51
H2O, usado extensivamente nesse trabalho.
Uma das questões levantadas, durante a execução da pesquisa, consistia na melhor
renda de corte para separar os clientes de alta e de baixa renda. No Capítulo 5 observou-
se, utilizando uma análise baseada somente na renda, que valores superiores a R$ 2.958,28
já definiam bem os dois grupos. Trabalhos futuros podem abordar esse problema mais
detalhadamente, utilizando mais variáveis para isso ou identificando a melhor quantidade
de faixas de renda.
A tarefa de descoberta e utilização de novas variáveis também deve ser levada adiante,
a fim de melhorar ainda mais o poder preditivo do modelo de MD. Não foram exploradas,
por exemplo, características dos smartphones dos clientes, tais como: tamanho e resolução
da tela, tamanho da memória, tipo de processador, entre outros dados de uso autorizado.
Conforme descrito no Capítulo 3 em diversos trabalhos, a informação de geolocalização
dos smartphones também pode ser utilizada para construção de variáveis explicativas de
um modelo preditivo. Essas informações não estavam disponíveis durante a execução
dessa pesquisa, mas trabalhos futuros podem se beneficiar de tais dados.
Outra dificuldade encontrada durante a pesquisa foi a criação do modelo a partir do
algoritmo HCES-Bag. Por se basear na biblioteca Scikit-Learn, os parâmetros de confi-
guração para os algoritmos utilizados no HCES-Bag diferiam entre os mesmos algoritmos
da biblioteca H2O, usada na criação dos outros modelos. Criar uma implementação do
algoritmo a partir da API do H2O pode tornar mais direta a inclusão de outros algoritmos
no ensemble, pois não seria necessário fazer adaptações às diferenças de parâmetros entre
as bibliotecas.
O desbalanceamento entre as duas categorias de renda levou à tomada de duas deci-
sões. A primeira foi usar técnicas de balanceamento como undersampling e oversampling.
A outra decisão foi selecionar o melhor modelo levando em consideração as métricas AUC
e F-Measure em oposição à Acurácia. Contudo, como explicado no 2, técnicas de ba-
lanceamento podem causar sobreajuste. Uma alternativa é usar Aprendizagem Sensível
ao Custo [6]. Ela mantém as classes desbalanceadas, mas determina custos específicos
para cada tipo de erro de classificação. Essa abordagem pode se mostrar vantajosa para
o Banco Alfa, caso sejam utilizados os custos referentes, tanto ao contato com clientes
não propensos ao produto ofertado, quanto à perda potencial de não contactar clientes
propensos. Assim, o modelo selecionado poderia indicar de antemão seu custo potencial,
tornando mais claro os riscos e os benefícios de sua adoção.
52
Referências
[6] P.-N. Tan, M. Steinbach, and V. Kumar, Introduction To Data Mining. Pearson
Education, 2006. 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 31, 33, 34, 42, 52
53
[12] G. Lemaître, F. Nogueira, and C. K. Aridas, “Imbalanced-learn: A python
toolbox to tackle the curse of imbalanced datasets in machine learning,” Journal
of Machine Learning Research, vol. 18, no. 17, pp. 1–5, 2017. [Online]. Available:
http://jmlr.org/papers/v18/16-365.html 9
[13] D. L. Wilson, “Asymptotic Properties of Nearest Neighbor Rules Using Edited Data,”
IEEE Transactions on Systems, Man and Cybernetics, vol. 2, no. 3, pp. 408–421,
1972. 9
[14] T. Hastie, R. Tibshirani, and J. Friedman, The Elements of Statistical Learning,
2nd ed., ser. Springer Series in Statistics. New York, NY, USA: Springer New York
Inc., 2008. 10, 11, 14, 15, 41
[15] P. Harrington, Machine Learning in Action. Manning Publications Company, Dec.
2011, google-Books-ID: 2d7RXwAACAAJ. 10
[16] A. B. Downey, Think Stats, 2011. [Online]. Available: http://books.google.com/
books?hl=en{&}lr={&}id=TCfZ7d6skT4C{&}oi=fnd{&}pg=PR5{&}dq=Think+
Stats{&}ots=LxYK9ntvRZ{&}sig=UchH878Uf04hPLGPmOwnNHBGmdk 10
[17] D. Cook, Practical Machine Learning with H2O - Powerful, Scalable Techniques for
AI and Deep Learning, 1st ed. Sebastopol, CA: O’Reilly Media, 2017. 10, 11, 12,
13, 34
[18] T. Nykodym, T. Kraljevic, A. Wang, and A. Bartz, Generalized Linear Modeling
with H2O, 6th ed. Mountain View, CA: H2O.ai, Inc., 2017. [Online]. Available:
http://www.h2o.ai/wp-content/uploads/2018/01/GLM-BOOKLET.pdf 10
[19] L. Breiman, “Random forests,” Machine learning, vol. 45, no. 1, pp. 5–32, 2001.
[Online]. Available: http://www.springerlink.com/index/U0P06167N6173512.pdf 11
[20] “Distributed Random Forest (DRF) — H2O 3.18.0.9 documentation.” [Online].
Available: http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/drf.html 11,
36, 48
[21] C. Click, M. Malohlava, A. Candel, H. Roark, and V. Parmar, Gradient Boosting
Machine with H2O, 6th ed. H2O.ai, 2016. 11, 12
[22] A. Candel and E. LeDell, Deep Learning With H2O, 6th ed., A. Bartz, Ed.
Mountain View, CA: H2o.ai, Inc., 2018, no. May. [Online]. Available: http:
//docs.h2o.ai/h2o/latest-stable/h2o-docs/booklets/DeepLearningBooklet.pdf 12
[23] R. Caruana, A. Niculescu-Mizil, G. Crew, and A. Ksikes, “Ensemble selection from
libraries of models,” in Proceedings of the Twenty-first International Conference on
Machine Learning, ser. ICML ’04. New York, NY, USA: ACM, 2004, pp. 18–.
[Online]. Available: http://doi.acm.org/10.1145/1015330.1015432 12
[24] R. Caruana, A. Munson, and A. Niculescu-Mizil, “Getting the most out of ensemble
selection,” in Proceedings of the Sixth International Conference on Data Mining, ser.
ICDM ’06. Washington, DC, USA: IEEE Computer Society, 2006, pp. 828–833.
[Online]. Available: https://doi.org/10.1109/ICDM.2006.76 12, 13
54
[25] S. Lessmann, B. Baesens, H.-V. Seow, and L. C. Thomas, “Benchmarking
state-of-the-art classification algorithms for credit scoring: An update of research,”
European Journal of Operational Research, vol. 247, no. 1, pp. 124–136, Nov. 2015.
[Online]. Available: http://linkinghub.elsevier.com/retrieve/pii/S0377221715004208
12, 13, 18, 20
[28] R. Li, H. Xiong, and H. Zhao, “More than address: Pre-identify your income with
the open data,” in 2015 International Conference on Cloud Computing and Big Data
(CCBD), Nov 2015, pp. 193–200. 18, 20
[29] D. Bjorkegren and D. Grissen, “Behavior revealed in mobile phone usage predicts
loan repayment,” 2015. [Online]. Available: https://papers.ssrn.com/sol3/papers.
cfm?abstract_id=2611775 18, 20
[32] J. Blumenstock, G. Cadamuro, and R. On, “Predicting poverty and wealth from
mobile phone metadata,” Science, vol. 350, no. 6264, pp. 1073–1076, 2015. [Online].
Available: http://science.sciencemag.org/content/350/6264/1073.short 19, 20
[33] P. Sundsøy, J. Bjelland, B. Reme, A. Iqbal, and E. Jahani, “Deep learning applied to
mobile phone data for Individual income classification,” in Proceedings of the 2016
International Conference on Artificial Intelligence: Technologies and Applications,
2016. 19, 20
55
Society Interface, vol. 14, no. 127, p. 20160690, Feb. 2017. [Online]. Available:
http://rsif.royalsocietypublishing.org/content/14/127/20160690 19, 20
[37] J. da Fonseca and G. de Andrade Martins, Curso de estatística, 3rd ed. São Paulo:
Atlas, 1996. 30
[41] G. Sullivan and R. Feinn, “Using effect size—or why the p value is not enough,”
Journal of graduate medical education, vol. 4, pp. 279–82, 09 2012. 43
56