35
Universidade Federal de Pernambuco Centro de Informática Graduação em Engenharia da Computação 2019.1 Seleção de Variáveis para Análise de Risco Geo-referenciado Trabalho de Conclusão de Curso (TCC) Aluno: Gabriel Marques Bandeira ([email protected]) Orientador: Germano Crispim Vasconcelos ([email protected])

Seleção de Variáveis para Análise de Risco Geo-referenciadotg/2019-1/TG_EC/TG Gabriel... · 2019. 7. 9. · Universidade Federal de Pernambuco Centro de Informática Graduação

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • Universidade Federal de Pernambuco

    Centro de Informática

    Graduação em Engenharia da Computação 2019.1

    Seleção de Variáveis para Análise de Risco Geo-referenciado

    Trabalho de Conclusão de Curso (TCC)

    Aluno: Gabriel Marques Bandeira ([email protected])

    Orientador: Germano Crispim Vasconcelos ([email protected])

  • Resumo

    O trabalho de conclusão de curso (TCC) aqui descrito investiga o uso de Feature Engineering como uma etapa prévia à de construção de um modelo de Machine Learning. O problema escolhido para análise foi o de roubo e furto de veículos, onde uma seguradora deve ressarcir o cliente com o valor de um veículo novo, problema esse com mais de 90 milhões de registros pelas seguradoras no Brasil em 2016 [01]. Nesse cenário, um dos objetivos das seguradoras antes de precificar o seguro é saber a probabilidade de um dado cliente ter seu automóvel roubado ou furtado durante a vigência do seguro (12 meses).

    As variáveis construídas na etapa de Feature Engineering foram criadas a partir de dados públicos disponíveis na internet. Esses dados públicos utilizados são informações geolocalizadas referentes ao ambiente ao redor do local indicado como estacionamento do cliente.

  • 1. Sumário

    Resumo 2

    1. Sumário 3

    2. Introdução 5

    2.1 Motivação 5

    2.2 Objetivo 6

    2.3 Estrutura do documento 6

    3. Revisão da literatura 7

    3.1 Feature Engineering 7

    Feature Selection em dados convencionais 7

    CHI Square 8

    Fisher 8

    Gini Index 9

    ReliefF 9

    3.2 XGBoost 9

    Modelo e parâmetros 9

    Função objetivo 10

    Árvore de Decisão 12

    Florestas de Decisão 12

    Tree boosting 15

    3.3 Definições adicionais 15

    Mau e taxa de maus 15

    Decil 16

    Faixa de escores 18

    4. Metodologia 20

    4.1 Desafio 20

    4.2 Implementação 20

  • Criação de variáveis 20

    Avaliação das variáveis 24

    Criação e análise do modelo 25

    5. Resultados 26

    1º Modelo 27

    2º Modelo 27

    3º Modelo 28

    4º Modelo 29

    5º Modelo 30

    6. Comparação Final e Conclusão 32

    7. Referências 34

  • 2. Introdução

    2.1 Motivação Pesquisas realizadas por revistas de economia indicam que no primeiro

    semestre de 2018 o mercado de seguros cresceu 7,5% no Brasil quando comparado ao ano anterior, superando a casa dos R$ 38 bilhões. Para o presidente da Federação Nacional de Seguros (FenSeg), Eduardo Dal Ri, esse aumento se deve ao aumento da concorrência entre as seguradoras e o consequente barateamento dos custos dos seguros para os clientes [02].

    Um dos tipos de seguros é o seguro automotivo, sendo este um importante contribuinte para o aumento constatado. Um seguro de automóvel consiste em uma seguradora garantir que, caso um cliente tenha seu automóvel roubado, furtado ou tenha qualquer dano, ele terá seu automóvel reparado ou substituído por um novo. Para garantir isso, a seguradora cobra de seus clientes um valor anual. Este valor, chamado comumente de prêmio, varia de acordo com as informações cadastrais do cliente assim como com as informações do seu automóvel.

    A fim de precificar o seguro, várias informações são utilizadas pelas seguradoras além das informadas pelo próprio cliente. Com todas essas informações juntas é possível então calcular uma probabilidade de um dado cliente ter seu automóvel roubado ou danificado durante um dado período. Esse resultado é um importante fator para definição do prêmio que o cliente deverá pagar para adquirir o seguro.

    A quantidade de informações disponíveis na internet para auxiliar a análise de risco e consequentemente a precificação de um seguro é imensa. No entanto, muitas dessas informações são desnecessárias ou redundantes. Sendo assim, um processo natural ao se analisar uma fonte de dados é estudar as variáveis desta fonte e separar as importantes das irrelevantes. Com isso, um modelo estatístico, por exemplo, pode ser criado, utilizando somente as variáveis mais importantes para verificar a probabilidade de um dado cliente precisar acionar a seguradora.

    O trabalho de conclusão de curso aqui descrito focou na criação de variáveis e seleção das mesmas para análise de risco de roubo e furto de automóveis. Estas variáveis mencionadas foram criadas utilizando dados georreferenciados públicos e disponíveis na internet. Mais especificamente, os dados públicos utilizados são referentes à características de estabelecimentos ao redor da região de estacionamento dos veículos segurados.

    Com os dados referentes às regiões dos estacionamentos, as variáveis criadas e selecionadas foram utilizadas em uma técnica de Machine Learning para avaliação de desempenho, mais especificamente eXtreme Gradient Boosting (XGBoost) [10]. No

  • entanto, dado a natureza georreferenciada das variáveis, a probabilidade de acionamento da seguradora por parte do cliente é relativa à região do estacionamento do mesmo, não sendo assim referente à nenhum cliente em específico mas a qualquer cliente que venha a estacionar em um dado local.

    2.2 Objetivo O objetivo geral deste trabalho de conclusão de curso é utilizar dados

    georreferenciados públicos e disponíveis na internet para criar variáveis e depois selecionar dentre estas variáveis as mais importantes para análise de risco. A análise de risco aqui descrita é focada no ambiente de seguros de automóveis para um conjunto de regiões.

    Objetivos específicos:

    1. Criar variáveis georreferenciadas a partir de dados públicos disponíveis online; 2. Utilizar técnicas de Feature Selection para separar as variáveis mais relevantes das

    menos relevantes; 3. Treinar um modelo de Machine Learning (XGBoost) para analisar as regiões de

    interesse e gera scores (pontuações) de risco.

    2.3 Estrutura do documento As seguintes seções deste documento estão divididas da seguinte forma:

    revisão da literatura na seção 3, metodologia na seção 4 e resultados na seção 5. Finalizando com a conclusão na seção 6 e as referências na 7.

  • 3. Revisão da literatura

    Neste capítulo são apresentados os conceitos básicos necessários para o entendimento do trabalho de conclusão de curso aqui descrito.

    3.1 Feature Engineering Em aplicações de aprendizagem de máquina, no geral, há diversas formas de

    representar um mesmo objeto de entrada. No entanto, ao expandir muito a forma de visualização do objeto, a maioria dos métodos de aprendizagem passam a não funcionar bem, visto que ao aumentar muito a quantidade de representações de características dos objetos de entrada do modelo, aumentamos também a quantidade de ruídos e de características irrelevantes. Dessa forma, é interessante realizar algumas etapas antes de começar a treinar o modelo. Uma das etapas a se adicionar é a de feature engineering [03] [04] [05].

    Um processo completo de feature engineering pode ser dividido em várias partes com suas funções complementares. Uma forma de dividir suas etapas pode ser começando com uma etapa de criação de variáveis seguido da combinação dessas variáveis, depois pode ser realizada a separação das mais importantes e por fim aplicado um um filtro de forma a manter somente as variáveis mais relevantes.

    A criação das variáveis pode ser feita de várias formas. Uma delas é utilizando um especialista analisando os dados e descrevendo as variáveis a serem calculadas. Para a combinação de variáveis podemos utilizar vários algoritmos como alguns descritos por Nasreen em [03], assim como na etapa final, de análise das variáveis mais relevantes e no filtro para manter somente essas, processo chamado de feature selection. Alguns exemplos de métodos de feature selection são os que estão descritos neste trabalho de conclusão de curso, que são o CHI-Square [06], Fisher [07], o Gini Index [08] e o ReliefF [09].

    Feature Selection em dados convencionais Centenas de algoritmos para seleção de variáveis foram propostos na literatura.

    Os algoritmos mais tradicionais podem ser agrupados em termos de suas características quanto ao tipo dos dados utilizados neles. Alguns famosos, por exemplo, são baseados em similaridade, na teoria da informação, em dados esparsos ou métodos estatísticos, dentre outros tipos [05].

    Cada algoritmo de seleção de variáveis explora alguns critérios a fim de definir a relevância das features iniciais para então realizar a seleção das variáveis finais. Dentre esses algoritmos, uma classe existente é a Similarity Based Methods. Nessa

  • classe o foco dos algoritmos é remover algumas variáveis mantendo a similaridade dos dados. Para isso, caso a seleção de variáveis seja de uma base com alvo, é usada a classe previamente conhecida dos registros para analisar os dados como similares. Caso a base seja para uma aprendizagem não supervisionada, a similaridade dos dados é avaliada utilizando diferentes análises de métricas de distância entre os dados.

    Para analisar os dados e realizar as seleções das variáveis, quatro algoritmos foram abordados no trabalho de conclusão de curso aqui descrito. As características dos quatro quanto ao tipo de variáveis, tipo de aprendizagem e modelo de saída das características podem ser vistas na Tabela 1 abaixo.

    Tabela 1: Propriedades dos algoritmos de Feature Selection utilizados.

    Algoritmo

    Supervisão Saída de features Tipo de features

    Binário Multiclasse Não supervisionado Ranking Subconjunto Numérica

    Categórica Contínua Discreta

    Chi-Square Sim Sim Não Sim Não Não Sim Sim

    Fisher Sim Sim Não Sim Não Sim Sim Não

    Gini Index Sim Sim Não Sim Não Não Sim Sim

    ReliefF Sim Sim Não Sim Não Sim Sim Não

    CHI Square O escore de CHI-Square utiliza um teste de independência para avaliar a

    independência das variáveis de cada registro com a marcação de classe do mesmo. Mais detalhadamente, o CHI-Square é um algoritmo de seleção de variáveis que utiliza a discretização de dados numéricos a fim de realizar a seleção das variáveis. O algoritmo inicia discretizando os dados com estatística quadrática repetidamente até chegar num ponto de inconsistência. Nesse ponto de inconsistência, o objetivo de seleção das variáveis é atingido [06].

    Fisher O escore de Fisher é um escore criado para selecionar variáveis em um cenário

    de aprendizagem de máquina supervisionada. Esse algoritmo funciona selecionando variáveis onde seus valores são parecidos quando os registros pertencem a mesma classe, enquanto que quando as classes são distintas, os seus valores não são similares [07]. A forma como o Fisher é definido induz vermos ele como um caso especial do escore de Laplace [08] ao considerarmos a matriz de afinidade a seguinte:

  • e (i, ) , se yS j = 1nl i = yj = l (i, ) caso contrário S j = 0 Equação 1

    Fazendo com que a relação entre o escore de Fisher e de Laplace seja o seguinte:

    isher_score(y ) f i = 1 −1

    laplacian_score(y )i Equação 2

    Gini Index O Gini Index é definido pelo uso de probabilidades para indicar o quão bem cada

    variável individualmente consegue separar a base em suas respectivas classes. O procedimento do Gini Index começa ao analisar os valores de cada variável para encontrar os valores que melhor separam a base em duas, para cada variável. Ao encontrar o n-ésimo valor da variável que melhor separa a base em duas, é avaliado, através de probabilidades, o escore da respectiva variável. Mantendo por fim as variáveis que melhor separam a base individualmente [05].

    ReliefF Por fim temos o ReliefF. O ReliefF seleciona as variáveis de forma a separar as

    instâncias de diferentes classes. O ReliefF equivale a selecionar variáveis que preservam uma forma especial da matriz de similaridade dos dados, assumindo que o conjunto de dados contém a mesma quantidade de instâncias em cada classe [09].

    3.2 XGBoost XGBoost [10], forma curta do nome eXtreme Gradient Boosting, origina do artigo

    escrito por Friedman [11]. XGBoost é uma técnica de ML usada em aprendizagem supervisionada. No entanto, antes de aprofundar em XGBoost, vamos revisar alguns pontos de aprendizagem supervisionada descritos em [10].

    Modelo e parâmetros Em técnicas de aprendizagem supervisionada um dos objetivos é a criação de

    uma função matemática que separe as classes no caso de classificação, ou que mantenha o erro mínimo entre o valor previsto e o real no caso de regressão. Essa função matemática é muitas vezes conhecida como o modelo da técnica.

    Um exemplo de modelo comumente usado em aprendizagem supervisionada é o modelo linear, exemplificado a seguir.

    xŷ = ∑

    jθj ij Equação 3

  • Onde o modelo tem como objetivo prever a classe , definida como uma ŷ combinação linear das variáveis de entrada multiplicadas pelos pesos .xij θj

    Os parâmetros do modelo são os pesos que devem ser aprendidos de acordo θj com a base de treinamento. Nesta fase os pesos são testados e corrigidos iterativamente até atingir alguma regra de parada, podendo ser, por exemplo a chegada num ponto de ótimo local ou a quantidade de épocas (conjunto de iterações por todos os exemplos de treinamento).

    Função objetivo Durante o treinamento do modelo, os ajustes dos pesos são realizados de θj

    modo a melhorar a predição da classe no caso de classificação. Assim como na ŷ classificação, num modelo de regressão o objetivo do treinamento é diminuir o erro de predição do valor . Em ambos os casos, classificação ou regressão, se faz necessário ŷ o uso de uma função para medir quanto de acerto e quanto de erro o modelo tem ao tentar prever algum resultado usando seu aprendizado. Essa função usada para medir o erro do modelo é denominada de Função Objetivo.

    Uma função objetivo é composta por duas componentes, a de perda do treinamento e a componente de regularização. Essas componentes são calculadas a cada iteração e somadas para formar a função objetivo, a fim de ser utilizada no treinamento para sua otimização. Podemos ver assim a função objetivo na Equação 4.

    bj(θ) (θ) (θ) o = L + Ω Equação 4

    A primeira componente da função objetivo, a componente de perda do treinamento é calculada como o erro entre o valor predito e o valor real de cada exemplo de treinamento. Uma função que pode ser usada, por exemplo, é a do erro quadrático, ou seja, o quadrado da diferença entre o valor predito e o real para cada exemplo de treinamento:

    (θ)L = ∑

    i(y )i − ŷi

    2 Equação 5

    De acordo com o tipo de dados utilizado e o modelo criado, outras funções podem ser mais adequadas. Um exemplo de função que pode ser adequada para regressão logística é a seguinte:

    (θ) [y ln (1 ) )ln (1 ) ]L = ∑

    ii + e−ŷi

    + (1 − yi + eŷi Equação 6

    Já o termo regularizador é a componente da função objetivo que tem o papel de amenizar a complexidade do modelo e assim diminuir as chances de haver overfitting. Sendo assim, ao utilizar essa componente, é esperado que o modelo sofra uma perda na assertividade durante o treinamento, porém ao diminuir o overfitting, aumenta a

  • generalização do modelo, podendo assim diminuir os erros na fase de testes do modelo.

    Um exemplo do uso da componente regularizadora pode ser visto na Figura 1 abaixo. Na imagem de exemplo, temos na primeira figura o gráfico de uma variável indicadora de interesse do usuário ao longo do tempo t. Nos outros gráficos temos a predição do modelo criado usando três abordagens.

    Figura 1: Interesse do usuário em um tópico k e três modelos criados para prever esse interesse do usuário no tópico k. Adaptado de [10]

    Na abordagem esquerda inferior temos um caso onde o ponto de separação definido pela função de perda de treinamento, L, está localizado em um t que causa grande quantidade de erros, comparado às outras abordagens. Nessa abordagem, ainda, não houve atuação da componente de regularização, mantendo o erro grande.

  • Na abordagem superior direita temos o caso onde a perda de treinamento está em um ponto aparentemente bom. No entanto, nesse modelo a componente de regularização atuou muito resultando em um modelo complexo, com muitas divisões.

    O caso ideal é, então, um modelo intermediário, onde o modelo é simples, ou seja, não possui muitas divisões causadas pela componente de regularização. Assim como o ponto de separação definido pela função de perda de treinamento esteja satisfatório, o que pode ser visto na última abordagem, a inferior direita. É possível que nesse modelo o erro durante o treinamento seja maior que o modelo acima dele, porém não há overfitting, o que faz com que o erro durante os testes e ao usar esse modelo em produção seja menor.

    Árvore de Decisão Árvores de decisão são modelos estatísticos supervisionados que utilizam da

    abordagem dividir para conquistar para realizar classificação, seja binária ou multi-classes [12]. Durante o uso desse tipo de modelo os registros são analisados por várias regras do tipo “se-então” partindo da primeira regra, chamada de nó raiz, até a última regra, chamada de nó folha. Nesse nó folha, ao finalizar todas as regras do ramo percorrido da árvore, o resultado da classificação é então obtido. Por ser formado por várias regras do tipo “se-então” esse tipo de modelo é comumente utilizado em cenários onde as regras utilizadas para decisão precisam ser compreendidas por humanos.

    Durante o processo de treinamento de uma árvore de decisão, a classificação supervisionada é feita através da decomposição de problemas complexos em sub-problemas menos complexos de forma recursiva. A decomposição recursiva começa em um cenário complexo, onde a classificação não é direta e várias variáveis precisam ser analisadas para termos uma classificação correta. Essa decomposição recursiva termina num ponto menos complexo, onde uma única variável é analisada e a classe é obtida. A figura de árvore é obtida ao criarmos várias bifurcações a partir do nó raiz até os nós de folhas, onde estão as decisões de classificação do modelo.

    Florestas de Decisão Diferentemente das árvores de decisão quando usadas sozinhas, o conjunto de

    árvores de decisão, chamado de floresta de decisão, não utiliza as árvores para classificar cada um dos exemplos passados [10]. A floresta de decisão é um conjunto de árvores de classificação e regressão (do inglês CART, Classification and Regression Trees) que são combinadas para definir o resultado de cada exemplo passado.

    O funcionamento de cada árvore, ou CART, se dá da forma vista na Figura 2. Nesse exemplo o objetivo é prever se um indivíduo gostaria de um dado jogo X. Para isso, consideramos a fim de exemplo que qualquer característica real de um indivíduo é

  • acessível para usarmos no modelo criado, como gênero, idade, profissão, jogos que o indivíduo joga, etc.

    No exemplo da Figura 2 a árvore criada analisa apenas a idade, comparando a mesma com o valor de 20, onde caso seja menor, a árvore decide por somar “+2” ao resultado final e caso contrário, a árvore finaliza seu processo decidindo por somar “-1” do resultado final. Considerando somente esse resultado de uma árvore, a CART funciona da mesma forma como uma árvore de decisão comum, no entanto a forma como utilizamos o resultado dessa árvore define o processo como mais complexo como um todo, ao compararmos com uma árvore de decisão comum.

    Figura 2: CART, com um nó e duas folhas, criado para ajudar a prever o gosto por um jogo X de acordo com a idade. Adaptado de [10].

    Cada CART da floresta de decisão pode ser criada aleatoriamente ou não para analisar uma ou mais características da população, resultando em um valor a ser somado do resultado final. No caso da Figura 2 apenas a idade foi considerada para criar esta árvore, mas este CART poderia utilizar, por exemplo, a ocupação do indivíduo e combinar essa característica com a idade, ou outra árvore poderia ser criada apenas com a ocupação e essa que analisa a idade ser mantida separada.

    Seguindo com o processo de combinação de CARTs, na Figura 3 abaixo pode ser visto um exemplo onde duas árvores são criadas, cada uma analisando uma única característica. Na árvore 1 temos o mesmo exemplo da Figura 2, que agora pode ser combinado com o resultado de outra árvore para modificar a forma como são feitas as previsões neste modelo. Já na árvore 2 temos uma nova análise, essa CART verifica

  • se o indivíduo utiliza o computador pessoal diariamente e utiliza essa informação de usar o computador diariamente para alterar a previsão do indivíduo gostar do jogo X, aumentando ou diminuindo o resultado final.

    A árvore 1 foi criada para analisar a perspectiva da idade. Digamos, por exemplo, que temos um análise onde em uma certa população utilizada para treinar o modelo, as pessoas com menos que 20 anos em sua maioria indicam gostar do jogo X e as acima de 20 anos normalmente não gostam do jogo X. A árvore 1 criada identifica essa informação. A árvore 2 aparece no modelo para analisar o indivíduo por uma outra perspectiva, a de utilização do computador diariamente. Nessa nova perspectiva, outros conjuntos de indivíduos podem ter suas previsões somadas ou subtraídas independentemente de suas idades, o que leva o modelo a prever melhor os indivíduos usados no treinamento.

    Figura 3: Duas CARTs criadas para compor uma previsão do gosto de usuário em relação ao jogo X. A primeira contém um nó comparador da variável de idade e a segunda um nó comparador da variável “usa PC diariamente”. Adaptada de [10].

    Na Figura 3 acima, podemos ver dois exemplos de previsão de indivíduos na parte inferior da figura. No primeiro exemplo, temos a figura de um menino que na árvore 1 é caracterizado como abaixo de 20 anos, fazendo com que seu escore seja inicialmente 2,0 e na árvore 2 é visto como um indivíduo que utiliza computador diariamente, somando 0,9 ao resultado final da previsão, finalizando com um escore de 2,9. Ao lado do menino, um outro indivíduo é analisado, dessa vez um idoso cujas

  • características relevantes pras árvores são que tem a idade maior que 20 anos, subtraindo 1,0 do resultado, e que não utiliza computadores diariamente, subtraindo 0,9 do resultado, finalizando assim com um escore de -1,9 de acordo com a floresta de CARTs analisada.

    Extrapolando em uma equação geral, temos que o resultado final da previsão retornado por um modelo de floresta de decisão é um valor, chamado comumente de escore, que é a soma de todos os resultados das CARTs da floresta. Ou seja:

    (x ), f ∈Fŷi = ∑K

    k=1f k i

    k Equação 7

    Onde é o resultado da previsão, é a quantidade de árvores na floresta, ŷi K f k é uma função no espaço de funções e é o conjunto de todas CARTs possíveis na F F floresta.

    Tree boosting Por fim, para entendermos o XGBoost, o conceito chave de se entender é o de

    Tree Boosting. O Tree Boosting é uma abordagem de treinamento de Florestas de Decisão que utiliza o gradiente do erro a cada etapa do treinamento para obter uma floresta mais assertiva [10]. Ou seja, a cada etapa do treinamento, é calculado o gradiente do erro para que o algoritmo realize os ajustes necessários e mantenha uma floresta mais assertiva, focando na melhoria de performance das árvores já na floresta. Com isso em foco, o XGBoost é uma ferramenta desenvolvida para a utilização das técnicas de aperfeiçoamento do treinamento por gradiente de Florestas de Decisão, conhecido como Gradient Boosting.

    Ao utilizar o XGBoost, o treinamento se dá da seguinte forma: O treino não é feito em todas árvores de uma vez, ao invés disso, é feito uma estratégia aditiva, onde o treino é realizado ajustando o que já foi aprendido para então uma nova árvore ser adicionada ao conjunto de árvores. A árvore que é adicionada é a que otimiza o objetivo utilizando o erro médio quadrático como função de perda ( ) apontada na (θ)L Equação 2.

    3.3 Definições adicionais

    Mau e taxa de maus No ambiente de seguros de automóveis, os modelos criados são utilizados para

    prever os chamados maus registros ou maus clientes. Um mau cliente é definido como um cliente que acionou a seguradora durante o período de vigência do seguro. Sendo assim, dado o cenário no momento de aceitação do seguro, o propósito do modelo é indicar o risco de acionamento do seguro durante o próximo ano de vigência, indicando

  • assim se o cliente tem um alto risco de ser um mau cliente ou um bom cliente durante a próxima vigência de seu seguro.

    Seguindo esse conceito de mau cliente, uma análise realizada em vários momentos durante treinamento de modelos é a análise da taxa de maus. A taxa de maus de um conjunto de clientes é definida como a proporção entre o número de maus clientes e o número total de clientes do conjunto.

    Decil Análises estatísticas de modelos muitas vezes devem ser feitas de forma

    seletiva em parte dos dados. Por exemplo, um modelo de análise de risco de segurados por meio de uma seguradora pode ser focado apenas nos piores riscos vistos pela mesma. Isso quer dizer que o diferencial de um modelo pode ser não somente acertar ou errar previsões de segurados com risco mediano ou baixo, mas sim em focar o modelo para reconhecer bem os piores riscos, de forma que a seguradora possa rejeitar tais segurados e manter sua carteira a melhor possível.

    Um conceito bastante utilizado em análises estatísticas para a separação de parte dos dados é o conceito de quantil. O quantil pode ser definido como um conjunto de valores que dividem a base de forma quantitativamente simétrica, independente dos intervalos de valores em cada parte da base [13]. Ou seja, um exemplo básico de quantil é a mediana, cuja definição é um valor que divide um conjunto em dois quantitativamente simétricos. Sendo assim, em um conjunto onde temos os seguintes valores:

    1, 10, 11, 12, 13, 14} A = {

    Temos que a mediana desse conjunto é a média dos valores intermediários, ou seja, . O que quer dizer que os três valores abaixo de 11,5 pertencem 11 2)/2 1,( + 1 = 1 5 ao primeiro quantil e os três valores acima de 11,5 pertencem ao segundo quantil. Ao contrário da mediana, podemos ver que a média desse conjunto é de 10,16 e sendo assim, se dividirmos o conjunto em valores abaixo e acima da média, teríamos apenas dois valores no primeiro conjunto e quatro valores no segundo conjunto.

    O decil, assim como outros quantis, é um conjunto de valores que dividem os dados em partes com mesma quantidade de dados. No caso específico do decil, o conjunto é formado por 9 valores que dividem a base de dados em 10 partes com a mesma quantidade de dados.

    O decil foi utilizado neste trabalho de conclusão de curso para dividir o conjunto de registros com os escores do modelo, que variam de 0 a 100, em 10 faixas de escores onde cada faixa compreende 10% da quantidade de registros da base. Isso quer dizer que, se a base utilizada fosse uma base cujos escores seguissem os valores de uma função linear como visto na Figura 4 abaixo, os decis seriam y = x simplesmente as dezenas entre 0 e 100, ou seja, 10, 20, 30… até 90. No entanto,

  • assim como no exemplo da mediana onde os valores distribuídos de forma assimétrica no conjunto afastaram a mediana da média, nos decis os valores distribuídos de forma assimétrica também irão afastar os decis dos valores correspondentes às dezenas entre 0 e 100.

    Figura 4: 100 escores distribuídos seguindo a função linear , onde x é o y = x número de registro do cliente e y é o valor do escore.

    Em um exemplo real, explicado no Capítulo 4 de metodologia, os escores retornados por um dos modelos são distribuídos da maneira vista na Figura 5 abaixo. Neste exemplo, um modelo foi utilizado para escorar 130k pontos de estacionamento sem olhar para o alvo. Alvo este definido como a marcação de mal que o modelo prevê, indicado como a probabilidade de o dado registro ser mal. A ideia nesse exemplo é utilizar os escores dos registros, ordenar do menor para o maior e verificar quais são os 9 valores correspondentes aos decis para separar os registros em 10 faixas igualmente distribuídas. Com isso, os decis da Tabela 2 foram calculados e utilizados na próxima fase, a de criação das faixas de escores.

  • Figura 5: Escores reais de 130k de pontos de estacionamento conforme explicado na seção 4 de metodologia.

    Tabela 2: Tabela com os decis obtidos dos escores mostrados na Figura 5.

    Decil Valor 1 0.1500050 2 0.3025160 3 0.4222400 4 0.5126790 5 0.6089910 6 0.6894320 7 0.7725235 8 0.8439220 9 0.9165600

    Faixa de escores Após obter os decis que separam os registros em 10 partes igualmente

    distribuídas e ordenadas de acordo com o escore dado pelo modelo, a primeira análise a se fazer é a das faixas de escores. Para realizar tal análise, podemos seguir o passo a passo da criação da Figura 6 abaixo. O primeiro passo foi dividir a base analisada em

  • 10 faixas utilizando os decis, sendo assim, cada faixa representa 10% da base, conforme mostrado em azul, utilizando a métrica percentual da esquerda da Figura 6. Em seguida, utilizando a definição da taxa de maus ser a relação da quantidade de maus sobre quantidade total do conjunto, podemos indicar a taxa de maus da base completa (2%), mostrada em amarelo utilizando a métrica percentual do lado direito da Figura 6. Por fim, ainda utilizando a métrica percentual do lado direito, porém utilizando uma linha vermelha, podemos indicar a taxa de maus para cada uma das 10 faixas de escores.

    Figura 6: Faixas de escores do modelo utilizando as 195 variáveis, conforme descrito na seção 4 de Metodologia.

    Na Figura 6 acima, utilizando a análise das faixas de escores, podemos ver se o escore indicado pelo modelo ajuda a discriminar bem a base ou não. No segmento de seguros auto, especificamente, podemos fazer isso analisando a primeira faixa e calculando a diferença entre a taxa de maus da primeira faixa utilizando o escore do modelo e a taxa de maus da base. Conforme indicado na Figura 6 e explicado na seção 4 de metodologia, ao usar o modelo para escorar, na primeira faixa de escores temos o ganho de 4,2 pontos percentuais ao discriminar uma população com 6,18% de maus em uma faixa de escores ao invés de 2% como é na base toda sem o uso dos escores.

  • 4. Metodologia

    4.1 Desafio O desafio escolhido para análise dos procedimentos de Feature Engineering foi

    o de seguros de automóveis. Nesse cenário as seguradoras utilizam informações cadastrais, assim como informações internas das próprias seguradoras a fim de estimar o risco de um cliente precisar acionar o seguro. No entanto, para melhorar a estimativa do risco, as seguradoras podem analisar a combinação de informações internas e cadastrais com informações externas. Uma dessas informações externas pode ser, por exemplo, um escore que indica a probabilidade de um cliente acionar a seguradora levando em conta o local onde ele estaciona. Descrever o processo de criação desse escore é o objetivo final desse trabalho de conclusão de curso.

    Para a criação desse escore, nesse TCC foi criado um modelo de regressão onde o objetivo do modelo é prever se o cliente irá acionar a seguradora durante o período de vigência do seguro. Esse indicativo de acionamento da seguradora foi representado como uma variável do tipo flag e, conforme foi descrito, é a variável que o modelo tenta prever. Essa predição do modelo pode ser vista como uma saída representando uma probabilidade da flag ser acionada. Essa saída é comumente denominada de alvo no mercado de seguradoras e, sendo assim, também será denominada dessa forma daqui em diante.

    4.2 Implementação A implementação do trabalho se deu em três etapas. A primeira etapa consistiu

    na criação de variáveis com os dados publicados online em diversos websites. A segunda etapa foi a etapa de avaliação das variáveis em relação ao alvo criado e a terceira etapa foi a de criação e análise do modelo com as variáveis destacadas na segunda etapa. A seguir, ainda no subcapítulo atual, 4.2, estão os detalhamentos de cada etapa apontada.

    Criação de variáveis A primeira etapa do trabalho consistiu na criação das variáveis com os dados

    disponíveis na internet. Nessa etapa o desafio foi maximizar a quantidade de informações, com o mínimo de redundância e mantendo o máximo aproveitamento dos dados obtidos.

    Esta etapa foi iniciada com a separação de 17 dados sobre pontos de interesse fixos num mapa, incluindo o tipo desse ponto de interesse e sua localização. Com

  • esses dados sobre estes pontos foi possível criar 195 variáveis descrevendo 595k locais de estacionamento em relação aos pontos de interesse ao seu redor.

    A etapa de criação de variáveis se dividiu em 2 fases. Esta etapa começou pela fase de transformação e binarização dos dados, onde ocorreu uma explosão dos dados em variáveis binárias. Esta etapa finaliza com a fase de agregação das variáveis, gerando as informações de frequência sobre os pontos de interesse.

    A fase de transformação e binarização dos dados iniciou com os 17 dados selecionados que descrevem cada ponto de estacionamento de interesse. Esses dados são divididos em três tipos:

    1. Flag: Dados binários que indicam se um dado ponto pertence ou não a uma classe. Os dados desse tipo, por já serem binários, foram utilizados diretamente na próxima fase, não havendo necessidade de transformações nesta fase de binarização.

    2. Numérico: Dados contínuos dentro de limites especificados. Dentre os dados desse tipo foram vistos valores de ranking e valores relativos a horários, sendo cada um desses tratado de forma adequada de acordo com o que representa cada tipo de dado originalmente. Em seguida, em ambos os casos, as variáveis criadas foram usadas para a criação de variáveis do tipo flag que representam se o dado original pertence ou não a um intervalo especificado. Por exemplo, se um dado do tipo numérico de valor 1,3 representa um ranking, uma das flags criadas pode representar se esse valor (1,3) está ou não dentro do limite de 1 a 2 pontos de ranking, que nesse exemplo está, ativando assim a flag.

    3. Categórico: Dados que se distribuem em N categorias específicas. Os dados desse tipo possibilitam criar variáveis binárias das mais diversas, indicando pertencimento ou não do registro em cada categoria. Por exemplo, se um dado categórico de texto “fechado” representa o tipo de um estacionamento, essa variável pode ser usada para criar flags como flag_garagem_fechada, flag_garagem_coberta, flag_garagem_aberta, flag_garagem_compartilhada, dentre outras flags. Devido à quantidade de variáveis categóricas multiplicado pela proporção de número de flags criadas por variável categórica, esse tipo de dados foi o maior responsável por explodir o número de variáveis a partir dos 17 dados sobre os pontos de interesse.

    Após transformar todos os dados em flags, criando variáveis binárias quando necessário ou mantendo o dado original caso já estivesse no padrão de flag, foi iniciada a fase de agregação das variáveis binárias em variáveis de frequência. Nesse momento, após as transformações e tratamentos, 39 variáveis foram utilizadas para criar as variáveis de frequência, onde cada registro analisado passou a conter variáveis indicando a frequência de cada flag dentro de alguns raios especificados. Por exemplo, dado uma flag X e um ponto de estacionamento localizado em L, a frequência de X em

  • L para um raio R é o total de vezes que a flag X está acionada partindo de L até o raio R sobre o total de registros partindo de L até R, independente do acionamento de X.

    Para entender melhor, podemos ver esse processo da seguinte forma: ao iniciar esta etapa cada registro continha 39 dados binários a serem analisados. Com esses 39 dados foi possível analisar a frequência de ativação de cada uma dessas flags na área ao redor dos pontos de estacionamentos. Para fazer tal experimento, foi então definido um conjunto de valores de raio para realizar o seguinte experimento:

    1. Início do algoritmo 2. flags = conjunto_flags_para_criacao_de_frequencia 3. raios = conjunto_de_raios_para_testar 4. for ponto_estacionamento in pontos_estacionamentos:

    a. for raio in raios: i. for flag in flags:

    1. qtd_total = qtd_pontos_de_interesse(ponto_estacionamento, raio) 2. qtd_ativado = qtd_flag_ativada_no_raio(ponto_estacionamento, raio,

    flag) 3. frequencia = qtd_ativado / qtd_total

    5. Fim do algoritmo

    Algoritmo 1: Pseudo-algoritmo de criação de variável de frequência de uma flag genérica.

    O algoritmo acima utiliza algumas variáveis genéricas, são elas as variáveis flags, raios e pontos_estacionamentos. Cada uma dessas variáveis foi criada independente de serem usadas para a frequência de um dado inicialmente descrito como flag, numérico ou categórico.

    A variável flags representa uma lista de flags a partir das quais são criadas as variáveis de frequência. As flags nesta lista contém não somente um indicativo de flag ativada ou desativada, mas também a localização do ponto de interesse. As flags presentes nessa lista são os dados binários criados na etapa anterior, de transformação e binarização dos dados, onde essas flags foram criadas a partir dos dados de flags, e dados numéricos e categóricos.

    A variável raios é uma lista de valores numéricos que representam os raios a serem testados para cada flag. Ou seja, para cada raio presente nessa lista de raios, cada flag foi analisada e deu origem a uma variável de frequência relativa ao valor do raio especificado.

    A variável pontos_estacionamentos é o conjunto dos pontos de estacionamento marcados como pontos a serem analisados pelo modelo e consequentemente usados

  • para treinar ou testar o modelo. Cada ponto de estacionamento presente neste conjunto é um ponto a partir do qual o algoritmo mostrado acima analisa todos os pontos dentro do raio especificado e analisa a frequência de cada flag. Essa frequência analisada é a resposta do algoritmo para cada ponto de interesse, dado um raio e uma flag. O processo pode ser visto ilustrado na Figura 7 abaixo.

    Figura 7: Ilustração de pontos de interesse em relação ao ponto de estacionamento para criação de uma variável de frequência. A figura é composta por um ponto de

    estacionamento no centro marcado com um pin, duas marcações de raios, r1 e r2 e seis pontos de interesse. Os pontos de interesse estão distribuídos da seguintes forma: dentro do primeiro raio há dois pontos representando flag desativada e um onde a flag está ativada; dentro do segundo raio há três pontos de flags ativadas e dois de flags

    desativadas; fora do segundo raio há um ponto de flag desativada.

    De acordo com o exemplo da Figura 7 acima é possível analisar dois valores de frequência de acordo com o Algoritmo 1, sendo um para cada raio definido. Para o raio R=r1 a variável de frequência retornada pelo Algoritmo 1 seria de ⅓, já considerando o raio R=r2 temos a frequência de ⅗. Caso houvesse um raio R=r3 maior que R=r2 e que contemplasse o ponto da figura que está mais acima de todos, teríamos uma terceira

  • frequência de acordo com o Algoritmo 1, essa frequência seria de ½ por incluir no raio três pontos ativados de um total de seis pontos.

    Esse processo de análise de frequência de ativação de uma flag nos raios estipulados para cada ponto de estacionamento, conforme mostrado na Figura 7 e explicado acima, é repetido para cada tipo de flag ao redor de um mesmo ponto de estacionamento e para cada ponto de estacionamento. Considerando que tenhamos 595k pontos de estacionamento, 5 raios para analisar e 39 flags, podemos criar uma tabela da seguinte forma para utilizarmos num modelo futuro: cada ponto de estacionamento analisado é representado como uma linha na tabela; para cada registro temos 195 (5*39) variáveis de frequência sendo essa a combinação de flags e raios analisados.

    Nesta primeira etapa, de criação de variáveis, nenhuma variável criada foi desconsiderada, independente de sua relevância no modelo final. Na próxima etapa, no entanto, as variáveis foram analisadas e ordenadas de acordo com sua provável relação com o alvo. Esse ordenamento foi feito para ser possível considerar para o modelo apenas as variáveis mais relevantes e assim poder manter o modelo o mais simples possível, excluindo do mesmo as variáveis menos relevantes.

    Avaliação das variáveis Após criar as 195 variáveis de frequência descrevendo os pontos de

    estacionamento, era possível criar um modelo para prever o alvo, variável indicativa do acionamento do seguro nos 12 meses. Porém, antes de criar um modelo com 195 variáveis de entrada, houve uma etapa de avaliação dessas variáveis, a fim de verificar quais dessas variáveis são as mais relevantes para um possível modelo final.

    Nesta etapa de avaliação das variáveis, o intuito era testar se ao considerar metade das variáveis originais estaríamos descrevendo bem o suficiente os pontos de estacionamento. Nesse caso, arredondando para cima, 100 variáveis seriam usadas para o modelo. Para isso foram utilizados alguns algoritmos de seleção de variáveis que atuam verificando variável a variável a correlação dela com o alvo selecionando as mais individualmente relevantes para a definição do alvo.

    Com os algoritmos de seleção de variáveis cada variável foi analisada individualmente e então elas foram ordenadas (criando um ranking) de acordo com sua relação com o alvo. Alguns algoritmos foram utilizados para analisar essa relação entre as variáveis de frequência e o alvo, sendo eles: Gini Index [05], CHI-Square2 [06], Fisher [07] e ReliefF [09]. Para cada um desses algoritmos, as variáveis foram submetidas aos respectivos processos a fim de avaliar sua importância para o modelo.

    Após esse processo, cada algoritmo definiu 100 variáveis a serem selecionadas para a etapa de criação do modelo. Sendo assim, podemos analisar um modelo criado utilizando todas 195 variáveis de frequência originais e podemos também criar um modelo utilizando 100 variáveis, para cada conjunto de 100 variáveis definido pelos

  • algoritmos de seleção de variáveis. Após essa criação dos modelos, podemos então comparar todos modelos para definir o que melhor se adaptou ao problema abordado de escorar os pontos de estacionamento com as variáveis utilizadas.

    Criação e análise do modelo A terceira etapa da implementação do trabalho de conclusão de curso aqui

    descrito se deu pela criação e análise dos modelos utilizando as variáveis descritas na etapa anterior, de avaliação de variáveis. Nesta etapa, conforme vimos na etapa anterior, podemos criar um modelo utilizando todas 195 variáveis de frequência e em seguida criar um modelo para cada conjunto das 100 variáveis mais relevantes de acordo com cada algoritmo de seleção de variáveis descrito acima. Ao criarmos os modelos definidos acima, temos um total de 5 modelos para analisar.

    Para criarmos os modelos estatísticos, definimos que a técnica utilizada por padrão em todos modelos seria a XGBoost, explicada na seção 3 de revisão da literatura. Definimos também alguns parâmetros para análise independente do modelo criado. Em resumo, os parâmetros utilizados foram estes mostrados na Tabela 3 abaixo e suas descrições mais precisas, assim como suas interferências no comportamento do algoritmo podem ser vistas em [10].

    Tabela 3: Parâmetros de treinamento utilizados para criação dos 5 modelos estatísticos.

    Parâmetro Descrição Valor

    Round O número de rodadas para execução do treinamento 500

    max_depth A profundidade máxima de uma árvore. Aumentar esse valor torna o modelo mais complexo e propenso a sofrer sobreajuste.

    3

    min_child_weight A soma mínima de peso de instância (hessiano) necessária em um elemento filho. 4

    gamma

    A redução de perda mínima necessária para fazer uma partição adicional em um nó de folha da árvore. Quanto maior for o parâmetro, mais conservador será o algoritmo.

    0,2

    colSampleByTree Taxa de subsampling de colunas ao criar cada árvore. 1

    subSample Taxa de subsampling da instância de treinamento. 0,7

    alpha Termo regularizador L1 nos pesos. 0

    lambda Termo regularizador L2 nos pesos. 1

  • 5. Resultados

    Cada modelo criado foi analisado individualmente para serem então comparados ao final do trabalho aqui descrito. Ao criar o primeiro modelo, utilizando as 195 variáveis de frequência, podemos então criar um gráfico para explicar o resultado. Este gráfico pode ser visto na Figura 8 abaixo.

    Figura 8: Resultados do modelo utilizando as 195 variáveis de frequência originais. A figura apresenta as faixas de escores em azul com a métrica percentual esquerda e

    taxas de maus da base completa de testes em amarelo e de cada faixa de escores em vermelho. Ambas as taxas de maus utilizam a métrica percentual da direita.

    Na Figura 8 acima, assim como nas Figuras 9, 10, 11 e 12, temos a análise das faixas de escores criada a partir dos locais de estacionamentos da base de testes, utilizando o processo explicado na seção 3.5. Nestas figuras temos a análise de 130k locais de estacionamentos cuja taxa de maus é vista como 2% na base completa de testes. Esta taxa de maus está marcada em amarelo em todas figuras aqui descritas utilizando a métrica da direita da imagem e é constante para toda a base de testes, independente da faixa de escore analisada. Em cada modelo criado, utilizamos o

  • escore retornado para dividir a base de testes de acordo com seus 10 decis, marcados de azul, eles utilizam a métrica da esquerda das figuras. Essas divisões, também chamadas de faixas de escores, são utilizadas para análise das 10 taxas de maus. Por fim, na criação da figura de análise, são marcadas de vermelho as taxas de maus para cada faixa de escores utilizando a métrica da direita. Para tal marcação, utilizamos a divisão da base em decis de acordo com o escore retornado pelo modelo e analisamos a taxa de maus em cada faixa, de acordo com o alvo real cujo modelo tenta prever.

    1º Modelo Focando especificamente na Figura 8, podemos ver, dessa forma, que o modelo

    separa na primeira faixa de escores, entre o escore 0 e o escore do primeiro decil, uma população cuja taxa de maus é de 6,18%. Indicando assim um aumento de 4,18 pontos percentuais ao utilizar este escore para reprovar a primeira faixa. Comparando a taxa de maus total da base, de 2%, com a taxa de maus da primeira faixa, 6,18%, temos então 209% do que chamamos de lift no mercado de seguros. Representando um aumento de 209% na assertividade dos alvos maus na primeira faixa. Podemos ver também que o modelo aprendeu de forma a manter a taxa de maus sempre caindo a medida que aumentasse a faixa de escores, começando em 6,18% na primeira faixa e finalizando em 0,43% na última faixa, concentrando assim os maiores risco nas menores faixas de escores.

    2º Modelo O segundo modelo criado utilizou as mesmas definições do primeiro, ou seja, foi

    utilizado o XGBoost com os parâmetros da Tabela 3. No entanto, antes de realizar o treinamento e o teste desse modelo, as 195 variáveis originais utilizadas no modelo anterior foram rankeadas de acordo com o algoritmo CHI Square [06]. Com esse rankeamento utilizando o CHI Square, 100 variáveis foram selecionadas de acordo com sua relação com o alvo e assim um modelo mais simples foi criado, eliminando variáveis que o algoritmo analisou como não tão correlacionadas com o alvo, chamadas também de irrelevantes.

    Na Figura 9 podemos ver os resultados do modelo ao filtrar as variáveis mais relevantes segundo o algoritmo CHI Square [06]. Nessa figura podemos ver que a linha vermelha, assim como na Figura 8, representa a taxa de maus por faixa de escores, mas começa agora em 5,53% na primeira faixa. Ou seja, criando um modelo utilizando somente as 100 melhores variáveis de acordo com o CHI Square, temos uma separação de 5,53% de maus na primeira faixa, caindo até 0,48% na última faixa. Representando um ganho de 176% de lift na primeira faixa.

    Com esses resultados, o modelo criado representa uma melhoria na previsão de maus por separar em uma faixa de escores 176% a mais de maus que a média da

  • base sem o escore. No entanto, ao descartar algumas informações, ao contrário do modelo anterior, o modelo recém-criado separa de forma pior os alvos maus.

    Figura 9: Resultados do modelo utilizando as 100 melhores variáveis de acordo com o CHI Square, com a mesma notação da Figura 8.

    3º Modelo O terceiro modelo criado, e segundo com filtro de variáveis, foi o modelo criado

    após utilizarmos o Fisher [07] para filtrar as 100 melhores variáveis. Na Figura 10 abaixo podemos ver os resultados obtidos neste experimento com as barras azuis e as linhas amarela e vermelha representando o mesmo que na Figura 8.

    Na Figura 10 podemos reparar na linha vermelha e ver que a primeira faixa utilizando o algoritmo Fisher ficou com 7,55% de taxa de maus, ou 277% de lift em relação à taxa de maus da base de 2%, mesmo utilizando somente 100 variáveis de frequência. Vemos assim que ao utilizar a seleção das variáveis propostas pelo Fisher, o modelo se comportou melhor que ao utilizar todas as 195 variáveis originais ou as 100 variáveis propostas pelo CHI Square. E vemos também que, conforme esperado, o modelo separa bem os bons dos maus, aumentando a concentração de bons e

  • diminuindo a de maus a medida que a faixa de escore aumenta, finalizando com a taxa de 0,29% de maus na última faixa.

    Figura 10: Resultados do modelo utilizando as 100 melhores variáveis de acordo com o Fisher, com a mesma notação da Figura 8.

    4º Modelo O quarto modelo foi construído utilizando as 100 melhores variáveis filtradas de

    acordo com a classificação do Gini Index [05]. Na Figura 11 abaixo podemos ver os resultados do modelo. Nesta figura podemos ver que o lift obtido na primeira faixa foi de 275%, após separar 7,50% dos maus na primeira faixa, 5,2 pontos percentuais a mais que a taxa média da base de testes, de 2%. Conforme esperado, o modelo separa os maus com maior concentração nos escores menores, iniciando com 7,50% na primeira faixa e caindo até 0,35% na última faixa.

    Podemos ver que esse modelo tem comportamento parecido ao modelo utilizando as variáveis selecionadas pelo Fisher, mostrado na Figura 10 acima. Em ambos os modelos, temos que a seleção de variáveis foi realizada de forma a remover os ruídos que estariam atrapalhando o modelo e mantiveram apenas as variáveis que contribuem para uma melhor assertividade, o que é verificado quando vemos que ao remover determinadas variáveis do modelo, o modelo se comporta melhor.

  • Figura 11: Resultados do modelo utilizando as 100 melhores variáveis de acordo com o Gini Index, com a mesma notação da Figura 8.

    5º Modelo O último modelo criado se deu após filtrarmos as 100 melhores variáveis de

    acordo com o algoritmo ReliefF [09]. Utilizando este filtro obtemos uma taxa de maus de 5,45% na primeira faixa, caindo a cada faixa até a taxa de 0,55% de maus na última faixa. Utilizando este modelo o lift máximo obtido foi de 172% na primeira faixa. Temos assim um dos modelos com o menor resultado de lift, se comparado aos outros modelos criados com filtros das 100 melhores variáveis.

    Esse modelo se comporta de forma parecida com o modelo criado utilizando as variáveis selecionadas pelo CHI Index, onde temos que a simplificação do modelo após diminuir a quantidade de variáveis a serem analisadas, deteriora a performance do mesmo. De qualquer maneira, esse modelo, assim como os outros, pode trazer um ganho para uma seguradora que venha a usar ele, por representar um ganho de mais de 170% de lift na primeira faixa ao prever o alvo.

  • Figura 12: Resultados do modelo utilizando as 100 melhores variáveis de acordo com o ReliefF, com a mesma notação da Figura 8.

    Finalizada a criação dos cinco modelos e analisados os cinco, podemos comparar os modelos utilizando seleção de variáveis com o modelo sem seleção de variáveis e separar os modelos em dois grupos. Com essa separação, criamos um dos grupos contendo os dois modelos que performam melhor que o modelo sem seleção de variáveis e o outro grupo contendo os outros dois modelos que performam pior.

    Dessa forma, podemos ver que a melhoria ou degradação do resultado dos modelos não ocorre por utilizar ou não um seletor de variáveis antes da modelagem do problema, mas se dá de acordo com as variáveis escolhidas nesse processo e sendo assim, é influenciado diretamente pela abordagem utilizada pelo seletor de variáveis escolhido. Na próxima seção, de conclusão, temos o comparativo final das técnicas utilizadas assim como os trabalhos futuros propostos.

  • 6. Comparação Final e Conclusão

    Após realizarmos as etapas de feature engineering descritas nas seções anteriores e criarmos os modelos, podemos então comparar esses modelos a fim de analisar se todos algoritmos de feature selection geram conjuntos de features importantes para os modelos, assim como se os resultados dos modelos foram satisfatórios.

    Na Tabela 3 abaixo podemos ver o comparativo de cada técnica de feature selection utilizada antes de criar os modelos. Na primeira linha temos o modelo criado com todas as variáveis, sem nenhum filtro e nas linhas seguintes temos os resultados dos modelos com cada algoritmo de feature selection aplicado conforme indicado.

    Tabela 3: Comparativo de Lift dos modelos criados sem filtro de variáveis e utilizando cada um dos quatro filtros de feature selection indicados na seção 4.

    Algoritmo Qtd variáveis Primeira faixa Lift

    Nenhum 195 6,18% 209%

    CHI Square 100 5,53% 176%

    Fisher 100 7,55% 277%

    Gini Index 100 7,50% 275%

    ReliefF 100 5,45% 172%

    Para compararmos os modelos, utilizamos como base o modelo sem filtros, apresentado na primeira linha da Tabela 3 acima com 6,18% de taxa de maus na primeira faixa, sendo 209% de lift em relação à taxa de maus da base de teste. Assim, podemos ver que ao utilizar o CHI Square ou o ReliefF para redução de variáveis obtivemos uma perda nesse lift, sendo de 33 e 37 pontos percentuais as diferenças respectivamente. Tal perda poderia ser justificável e também aceitável dada a diminuição do número de variáveis a serem analisadas. Ou seja, ao diminuir a quantidade de informação que descreve os registros, perdemos precisão na análise. No entanto, ao utilizar outras variáveis, escolhidas por outros algoritmos o resultado pode ser diferente, inclusive melhor que o resultado do conjunto completo das variáveis, como explicado a seguir.

    Ainda utilizando o modelo da primeira linha como base, podemos observar que ao aplicar o algoritmo Fisher ou Gini Index na etapa de feature selection antes de criar o modelo, ao contrário de quando usamos CHI Square ou ReliefF, o resultado ficou melhor, com 68 e 66 pontos percentuais a mais respectivamente. Tal resultado pode

  • ser explicado se pensarmos que essas duas técnicas de feature selection retiraram do treinamento do modelo algumas variáveis que atrapalhavam o modelo a descrever bem o problema específico de análise de risco para seguros auto, sejam elas por conter muito ruído ou por não serem correlacionadas com o alvo mesmo quando combinadas.

    Por fim, podemos ver que dois dos algoritmos testados para feature selection, Fisher e Gini Index melhoraram o resultado da análise para seguros auto. Ou seja, tanto o Fisher quanto o Gini Index realizaram uma seleção de variáveis que causaram no modelo estatístico uma melhor separação na primeira faixa de escores, concentrando assim uma taxa de maus na primeira faixa maior que a taxa de maus da base de testes como um todo com 277% e 275% de lift. Também por consequência desses algoritmos, o modelo criado foi mais simples que ao utilizar todas as variáveis, removendo um total de 49% das variáveis de entrada originais.

    Em continuidade a esse trabalho, vários ramos de pesquisa podem ser seguidos, seja focando nas variáveis utilizadas ou nos algoritmos utilizados. Ao focar nas variáveis, uma estratégia interessante pode ser analisar a natureza da informação contida nas variáveis escolhidas pelos algoritmos de feature selection e obter mais dados dessa mesma natureza. Já ao focar nos algoritmos utilizados, temos duas vertentes a serem analisadas, a dos algoritmos de feature selection utilizados e a do modelo criado para prever o risco de cada registro.

    Ramos de pesquisa não abordados no trabalho de conclusão de curso aqui descrito também são encorajados como trabalhos futuros. A exemplo desses temos o estudo da modelagem utilizando feature extraction para criar novas variáveis compondo as variáveis já existentes. Ao utilizar feature extraction e combinar essas técnicas com feature selection, uma série de fatores podem ser observados e analisados a fim de encontrar um modelo ainda mais assertivo.

  • 7. Referências

    [01] Fórum Brasileiro de Segurança Pública http://www.forumseguranca.org.br/estatisticas/tableau-patrimoniais/ - último acesso em 17/06/2019

    [02] Correio Braziliense - Promissor, mercado de seguros cresce e se diversifica no país - Postado em 28/08/2018 por Nelson Cilo https://www.correiobraziliense.com.br/app/noticia/economia/2018/08/28/internas_economia,702357/mercado-de-seguros-cresce-e-se-diversifica-no-pais.shtml - último acesso em 17/06/2019

    [03] S. Khalid, T. Khalil and S. Nasreen, "A survey of feature selection and feature extraction techniques in machine learning," 2014 Science and Information Conference, London, 2014, pp. 372-378. doi: https://doi.org/10.1109/SAI.2014.6918213

    [04] Jianyu Miao, Lingfeng Niu, A Survey on Feature Selection, Procedia Computer Science, Volume 91, 2016, Pages 919-926, ISSN 1877-0509, https://doi.org/10.1016/j.procs.2016.07.111

    [05] Jundong Li , Kewei Cheng , Suhang Wang , Fred Morstatter , Robert P. Trevino , Jiliang Tang , Huan Liu, Feature Selection: A Data Perspective, ACM Computing Surveys (CSUR), v.50 n.6, p.1-45, January 2018 https://doi.org/10.1145/3136625

    [06] Huan Liu and R. Setiono, "Chi2: feature selection and discretization of numeric attributes," Proceedings of 7th IEEE International Conference on Tools with Artificial Intelligence, Herndon, VA, USA, 1995, pp. 388-391. doi: https://doi.org/10.1109/TAI.1995.479783

    [07] Richard O Duda, Peter E Hart, and David G Stork. 2012. Pattern classification. John Wiley & Sons.

    [08] Xiaofei He, Deng Cai, and Partha Niyogi. 2005. Laplacian score for feature selection. In Proceedings of the 18th International Conference on Neural Information Processing Systems (NIPS'05), Y. Weiss, B. Schölkopf, and J. C. Platt (Eds.). MIT Press, Cambridge, MA, USA, 507-514.

    [09] Robnik-Šikonja, M. & Kononenko, I. Machine Learning (2003) 53: 23. Theoretical and Empirical Analysis of ReliefF and RReliefF. https://doi.org/10.1023/A:1025667309714

    [10] XGBoost - https://xgboost.readthedocs.io/en/latest/tutorials/model.html - último acesso em 17/06/2019

    http://www.forumseguranca.org.br/estatisticas/tableau-patrimoniais/https://www.correiobraziliense.com.br/app/noticia/economia/2018/08/28/internas_economia,702357/mercado-de-seguros-cresce-e-se-diversifica-no-pais.shtmlhttps://www.correiobraziliense.com.br/app/noticia/economia/2018/08/28/internas_economia,702357/mercado-de-seguros-cresce-e-se-diversifica-no-pais.shtmlhttps://doi.org/10.1109/SAI.2014.6918213https://doi.org/10.1016/j.procs.2016.07.111https://doi.org/10.1145/3136625https://doi.org/10.1109/TAI.1995.479783https://doi.org/10.1023/A:1025667309714https://xgboost.readthedocs.io/en/latest/tutorials/model.html

  • [11] Friedman, Jerome H. "Greedy Function Approximation: A Gradient Boosting Machine." The Annals of Statistics 29, no. 5 (2001): 1189-232. http://www.jstor.org/stable/2699986 - último acesso em 17/06/2019

    [12] Árvore de decisão - Coleção Digital de Apostilas da área de Engenharia Elétrica, PUC-Rio - https://www.maxwell.vrac.puc-rio.br/7587/7587_4.PDF - último acesso em 17/06/2019

    [13] Apostila do Laboratório de Sistemas Neurais - SisNe, Universidade de São Paulo, Ribeirão Preto - http://sisne.org/Disciplinas/Grad/EstatPedago/aula%206.pdf - último acesso em 17/06/2019

    http://www.jstor.org/stable/2699986https://www.maxwell.vrac.puc-rio.br/7587/7587_4.PDFhttp://sisne.org/Disciplinas/Grad/EstatPedago/aula%206.pdf