Técnicas de Programação Genética para Detecção de Fraudes em Transações Eletrônicas

Tamanho: px
Começar a partir da página:

Download "Técnicas de Programação Genética para Detecção de Fraudes em Transações Eletrônicas"

Transcrição

1 CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Diretoria de Pesquisa e Pós-Graduação Programa de Pós-Graduação em Modelagem Matemática e Computacional Técnicas de Programação Genética para Detecção de Fraudes em Transações Eletrônicas Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Modelagem Matemática e Computacional, como parte dos requisitos exigidos para a obtenção do título de Mestre em Modelagem Matemática e Computacional. Aluno: Carlos Alberto Silva de Assis Orientador: Prof. Dr. Adriano César Machado Pereira Co-Orientador: Prof. Dr. Marconi de Arruda Pereira Belo Horizonte - MG Janeiro de 2014

2 C376m Assis, Carlos Alberto Silva de. Técnicas de Programação Genética para Detecção de Fraudes em Transações Eletrônicas./ Carlos Alberto Silva de Assis f. il. Orientador: Prof. Dr. Adriano César Machado Pereira. Co-orientador: Prof. Dr. Marconi de Arruda Pereira. Dissertação (mestrado) Centro Federal de Educação Tecnológica de Minas Gerais. Programa de Pós-Graduação em Modelagem Matemática e Computacional. 1. Fraude. 2. Computação Evolutiva. 3. Inteligência computacional. I. Pereira, Adriano César Machado. II. Pereira, Marconi de Arruda. III. Título CDD: 006.3

3 Dedico este trabalho à minha esposa Karine, aos meus lhos Lucas e Guilherme em especial a minha mãe Maria Helena. iii

4 Agradecimentos Agradeço primeiramente a Deus. Agradeço aos ensinamentos de Algebra de Dayanne Gouveia. Destaco a total colaboração, incentivo, paciência e aprendizado oferecido pelos meus eternos orientadores, Adriano César Machado Pereira, Marconi de Arruda Pereira e Eduardo Gontijo Carrano. iv

5 "A vida me ensinou a nunca desistir. Nem ganhar, nem perder mas procurar evoluir." Alexandre Magno Abrão (Chorão) v

6 Resumo O volume de transações on-line aumentou muito nos últimos anos, principalmente devido à popularização do e-commerce. Consequentemente, o número de casos de fraude tem aumentado consideravelmente, levando a perdas de bilhões de dólares por ano em todo o mundo. Portanto, é importante e necessário desenvolver e aplicar técnicas que podem auxiliar na detecção de fraudes, que é a motivação principal desta pesquisa. Este trabalho propõe o uso de Programação Genética (PG), uma abordagem de Computação Evolutiva, para modelar e resolver o problema de detecção de fraudes (charge back) nas transações eletrônicas, mais especicamente nas operações que utilizam cartão de crédito. A m de avaliar a técnica, foi realizado um estudo de caso utilizando-se um conjunto de dados reais de um dos maiores sistemas de pagamento eletrônico latino-americano. Resultados mostram o bom desempenho na técnica desenvolvida na detecção de fraudes, apresentando ganhos de até 35% por cento em relação ao cenário real da empresa, que serve de linha-de-base comparativa. PALAVRAS-CHAVE: Programação Genética, Transações Online, Web, Detecção e Prevenção de Fraudes, Computação Evolucionária. vi

7 Abstract The amount of online transactions has raised a lot in last years, mainly due to the popularization of e-commerce, such as Web retailers. Consequently, the number of fraud cases has increased considerably, leading to billion of dollars losses each year worldwide. Therefore, it is important and necessary to developed and apply techniques that can assist in fraud detection, which is the main motivation of this research. This work proposes the use of Genetic Programming (GP), an Evolutionary Computation approach, to model and detect fraud (charge back) in electronic transactions, more specically in credit card operations. In order to evaluate the technique, it has been performed a case study using a real dataset of one of the largest Latin American electronic payment systems. The results show good performance in fraud detection, presenting gains up to 35% compared to the baseline, which is the actual scenario of the company. Keywords: Genetic Programming, Online Transactions, Web, Fraud Detection and Prevention, Evolutionary Computing. vii

8 Sumário 1 Introdução Motivação Objetivo geral e especícos Contribuições Organização da dissertação Fundamentação teórica Cartões de Crédito Fraudes em Transações Eletrônicas Fraudes com Cartões de Crédito Prevenção e detecção Modelos supervisionados e não supervisionados Processo de Descoberta de Conhecimento em Banco de Dados Classicação de Dados Otimização Computação Evolucionária Programação Genética Indivíduo Operadores Genéticos SPEA2 - Strenght Pareto Evolutionary Algorithm Cálculo do tness Seleção e truncamento Considerações nais Trabalhos relacionados Detecção de fraudes em transações eletrônicas com cartão de crédito Programação Genética para Classicação Considerações nais Metodologia Etapas da Metodologia Pré-processamento Programação Genética Indivíduo Geração da população inicial Avaliação da Função Fitness Seleção viii

9 4.3.5 Operadores Genéticos Geração da nova População Multi-objetivo Predição Score de Fraude Eciência Econômica Ranking Considerações nais Experimentos e Resultados UOL PagSeguro UCI Machine Learning Datasets utilizados Preparação dos dados Aplicação do Framework Resultados Resultados datasets UOL Resultados datasets UCI Análises Considerações nais Conclusão Trabalhos futuros Produção bibliográca durante o Mestrado A O Framework 62 Referências biliográcas 63 ix

10 Lista de Tabelas 4.1 Exemplo de um ranking Datasets UOL PagSeguro Datasets UCI Divisão treino e teste Datasets de fraude para treinamento Datasets de fraude para teste Congurações do Framework Resultados datasets UOL PagSeguro Resultado Dataset 1 com Programação Genética Multi-objetivo Resultadas do Dataset 1 UOL Resultados da Programação Genética com Datasets UCI Comparação Iris Dataset. Baseado em: (Devasena et al., 2011) Comparação Hepatitis Dataset. Baseado em: (Jilani et al., 2011) Comparação Cancer Dataset. Baseado em: (Salama et al., 2012) A.1 Parâmetros do framework x

11 Lista de Figuras 1.1 Mapa mental da estrutura da dissertação Visão geral das etapas que compõem o processo KDD. Fonte: (Fayyad et al., 1996b) Conjunto de soluções factíveis com população de seis soluções Sub-áreas da Computação Evolucionária. Baseado em: (Castro, 2001) Fluxograma do funcionamento básico de um Programa Genético Exemplo de indivíduo na Programação Genética Exemplo de cruzamento na Programação Genética Exemplo de mutação na Programação Genética Fluxo SPEA Metodologia de detecção de fraudes em transações eletrônicas Exemplo de indivíduo representando um predicado lógico SQL Geração de população inicial Matriz de Confusão Cruzamento Mutação Sub-etapas da etapa de predição Fluxo de preparação dos dados Fluxo de execução do Framework Comparação das técnicas desenvolvidas Comparação das técnicas desenvolvidas com as outras técnicas Comparação estatística das técnicas desenvolvidas com as outras técnicas Comparação estatística entre as técnicas desenvolvidas Comparação estatística entre as técnicas desenvolvidas para Iris Dataset Comparação estatística entre as técnicas desenvolvidas para Hepatitis Dataset Comparação estatística entre as técnicas desenvolvidas para Cancer Dataset A.1 Diagrama de classe do algoritmo de Programação Genética A.2 Diagrama de classe da estrutura de árvore do indivíduo A.3 Estrutura nós terminais A.4 Estrutura nós funções A.5 Diagrama de classe do algoritmo classicador xi

12 Lista de Acrônimos AG Algoritmo Genético KDD Knowledge Discovery in Databases PG Programação Genética SPEA2 Strenght Pareto Evolutionary Algorithm 2 RBF Radial Basis Function SVM Support Vector Machine G3PARM Grammar Guided Genetic Programming for Association Rule Mining DMGeo Niched Genetic Programming Algorithm Data Mining in Geographic Databases NSGA2 Non Sorting Genetic Algorithm II UOL Universo Online xii

13 Capítulo 1 Introdução A quantidade de fraudes em cartões de crédito em instituições nanceiras não é muito divulgada, pois tal situação poderia comprometer a credibilidade destas instituições. Porém, em pesquisa apresentada pela CyberSource durante o e-commerce Summit, em São Paulo em 2012, mostra que o índice de fraudes no comércio eletrônico, no Brasil e no mundo, gira em torno de 1,2% do total das receitas do setor. Esse estudo foi intitulado Online Fraud Report (Digital, 2013). O comércio eletrônico brasileiro faturou R$ 22,5 bilhões em 2012, um crescimento de 20% em relação ao ano anterior. Os dados foram apresentados na 27 a edição do relatório (Webshoppers, 2013), realizado pela e-bit 1 com o apoio da Câmara Brasileira de Comércio Eletrônico. Atualmente no Brasil, 42,2 milhões de pessoas já zeram, pelo menos uma vez, uma compra online (Globo.com, 2013). Porém esse percentual poderia ser ainda maior, pois o medo de fraudes é justamente o que mais afasta o consumidor do comércio eletrônico. Em uma pesquisa realizada pela (Fecomercio, 2013) no ano de 2011, 52,69% dos entrevistados citam o medo de fraude como razão para não aderir às compras pela Web. No cenário internacional, há países que evitam transacionar com outros, segundo pesquisa da empresa americana CyberSource (Digital, 2013), devido aos altos índices de fraudes. Há, inclusive, um ranking de países menos seguros, liderado pela Nigéria, no qual o Brasil gura em sétimo lugar. As fraudes no mundo, segundo essa pesquisa, estão em torno de US$ 10 bilhões ao ano e representam aproximadamente US$500 milhões no Brasil. Comerciantes no mundo real já lidam com fraudes no seu dia a dia, tais como cheques e cartões de crédito roubados, cheques sem fundo, etc. No caso do comércio virtual, há muitos desses riscos e alguns outros, devido ao fato de não haver certeza com relação à identidade do comprador e à veracidade das informações fornecidas. Esse é o tipo de fraude mais comum, ou seja, a compra de um bem ou serviço, através de um meio de pagamento eletrônico, principalmente com cartões de crédito. É possível perceber que as fraudes no meio eletrônico tem aumentado drasticamente e representam perdas signicativas para os negócios. Dessa forma, a prevenção e a detecção de fraude têm se mostrado essenciais

14 1.2 Introdução 2 O combate à fraude envolve um elevado número de problemas a serem enfrentados e um deles é o grande volume de dados associados e sua estrutura. As vendas realizadas pela Internet, tanto no Brasil quanto no mundo envolvem milhões de transações por dia. No Brasil, segundo a CyberSource, o número de compradores online foi de 23 milhões em 2010 e isso representou um crescimento de 35% em relação ao ano anterior. O volume de vendas nesse período foi de R$ 14,3 bilhões, sendo que 64% dessas vendas foram feitas com cartão de crédito. A empresa Barclaycard apresenta cerca de 350 milhões de transações por ano só no Reino Unido. O Royal Bank of Scotland, que tem o maior mercado de cartão de crédito na Europa, possui mais de um bilhão de transações por ano. Esse grande volume de informação torna inviável a análise de cada uma das transações com o objetivo de decidir, de forma rápida, se ela é ou não fraudulenta. Além do mais, este claramente não é um problema de classicação fácil de resolver. Classicar os dados signica construir modelos com base em um conjunto de treinamento e nos valores (rótulos) do atributo classicador. Além do grande volume de dados envolvidos, as transações de fraude não ocorrem com frequência. Há uma necessidade de teorias computacionais e ferramentas para ajudar os seres humanos nessa tarefa não trivial de classicação. Deste modo, esta dissertação investiga a técnica de Programação Genética para evoluir regras de classicação de operações de cartão de crédito com "suspeita" e "não-suspeita" de fraude, com principal objetivo de obter modelos capazes de predizer transações como fraude e minimizar as perdas nanceiras. Como estudo de caso, este trabalho aplica dados reais para validação da metodologia proposta. 1.1 Motivação São motivações para este trabalho: Necessidade de prevenir fraudes, diminuindo as perdas nanceiras é de grande importância para as organizações e as pessoas que utilizam esse meio de pagamento; Grande diculdade em classicar informações com alto grau de desbalanceamento; Tratar dados reais para validação; Todos os trabalhos identicados na literatura para detecção de fraudes em transações eletrônicas em cartões de crédito utilizam técnicas diferentes da que será apresentada. Nessa perspectiva, o presente trabalho permite que a metodologia proposta também seja adotada no processo de classicação de outras áreas importantes. Por m, a utilização de dados reais para a concepção, desenvolvimento e validação da metodologia é fator motivador neste projeto de pesquisa.

15 1.3 Introdução Objetivo geral e especícos Como objetivo geral, este trabalho visa: Propor e disseminar uma nova metodologia para o processo de detecção de fraudes em transações eletrônicas. Os objetivos especícos constituem em: Conceber e desenvolver um framework utilizando a técnica de Programação Genética para detecção de padrões em fraudes eletrônicas; Avaliar o desempenho das implementações do framework proposto; Aplicar e validar o framework em cenários reais; Melhorar a identicação de perdas comerciais através de uma busca por padrões que indiquem a possibilidade de fraude. 1.3 Contribuições A principal contribuição deste trabalho é uma metodologia que incorpora um framework baseado em Programação Genética para a detecção de fraudes em transações eletrônicas 2. Além disso, esse trabalho proporciona as seguintes contribuições: Aprimoramento das técnicas hoje usadas na detecção de fraudes em transações eletrônicas; Exploração cientíca da Programação Genética como ferramenta para descoberta de conhecimento no domínio de detecção de fraudes em transações eletrônicas; Versão adaptada do algoritmo multi-objetivo de SPEA2. A adaptação sugerida permite o cálculo do tness assignment por nicho, a m de se obter as melhores regras de classicação para as n classes do problema; Proposta de um modelo de representação do indivíduo como árvore n-ária. A representação proposta faz com que os nós da árvore do indivíduo quem todos na mesma profundidade. Assim, a busca destes nós durante os operadores de seleção, cruzamento e mutação é otimizada, melhorando o desempenho computacional do algoritmo; Operadores genéticos de cruzamento e mutação adaptativos. O mecanismo de ajuste de taxas de mutação e cruzamento ao longo das gerações, possibilita uma maior exploração do espaço de busca durante a execução do algoritmo de forma controlada; Resultados do método aplicado a bases reais de fraude e UCI Machine Learning, validando a aplicabilidade do framework também à outros domínios. 2

16 1.4 Introdução 4 Esta metodologia pode ser vista como um modelo genérico, podendo ser aplicado em outras áreas que necessitem de classicação e predição de informações. As etapas do processo estão descritas a seguir: Pré-processamento: o conjunto de dados que é usado para gerar os modelos é carregado nesta etapa. Os passos executados são: obtenção dos dados de produção, seleção dos atributos mais relevantes, limpeza dos dados, criação em um banco de dados local dividindo os dados em treinamento e testes, am torná-los disponíveis aos algoritmos propostos; Programação Genética: para a geração dos modelos, cada indivíduo do Programa Genético representa uma regra de classicação. Uma população inicial é criada consistindo de regras geradas aleatoriamente. Cada regra é avaliada para atribuir a sua aptidão. Regras que têm alta aptidão, têm mais oportunidades para sobreviver, e de serem submetidas aos operadores genéticos para a produção de novas regras, que são posteriormente colocadas na nova população usando algum modelo de substituição. A geração de novas regras é repetido até que um número regras na população satisfaça um limiar de aptidão pré-determinado ou o número máximo de gerações é atingido; Predição: um dos passos de extração de dados é a predição, que utiliza os modelos gerados para predizer a classe de objetos que não tenham sido classi- cados em um conjunto de dados de teste. 1.4 Organização da dissertação O restante deste trabalho está organizado da seguinte forma. O Capítulo 2 apresenta a fundamentação teórica dos tópicos essenciais para este trabalho, entre eles: cartões de crédito, fraudes em transações eletrônicas, prevenção e detecção de fraudes, Computação Evolucionária e Programação Genética. O Capítulo 3 expõe alguns trabalhos sobre detecção de fraudes e Programação Genética. A metodologia de pesquisa é discutida e apresentada no Capítulo 4. O Capítulo 5 contempla a contextualização e descrição geral do estudo de caso, assim como a apresentação dos resultados e análises da solução proposta. A conclusão do trabalho e discussão de trabalhos futuros estão descritos no Capítulo 6. A Figura 1.1 sintetiza a estrutura da dissertação, através do mapa mental apresentado.

17 1.4 Introdução 5 Figura 1.1: Mapa mental da estrutura da dissertação

18 Capítulo 2 Fundamentação teórica Nesta seção será feita a revisão teórica dos tópicos pertinentes a esta pesquisa. Inicialmente será descrito um breve histórico sobre cartão de crédito, seguida de uma discussão sobre os fundamentos de fraude. Em seguida, uma breve descrição sobre classicação de dados, além da introdução dos conceitos relativos à computação evolutiva. Serão apresentados os principais tópicos sobre Programação Genética (PG) e do Strenght Pareto Evolutionary Algorithm 2 (SPEA2), um algoritmo multiobjetivo que pode ser aplicado à técnica evolutiva de Programação Genética. 2.1 Cartões de Crédito Os cartões de crédito nasceram nos Estados Unidos da América, na década de 1920, quando empresas privadas, redes de hotéis e empresas petroleiras começaram a emitir cartões para permitir que seus clientes comprassem a crédito nos próprios estabelecimentos (Moraes, 2008). O número de cartões de crédito vem crescendo substancialmente nesses últimos tempos, substituindo o uso de cheques, cédulas e moedas. Instituições nanceiras, bancos e um crescente número de lojas oferecem a seus clientes cartões que podem ser usados na compra de um grande número de bens e serviços, inclusive em lojas virtuais. Os cartões não são dinheiro real, simplesmente registram a intenção de pagamento do consumidor, mediante sua assinatura e demais vericações, que em determinada data terá de pagar as despesas com o cartão, em débito automático, espécie ou ainda em cheque. Desta forma, o cartão é uma forma imediata de crédito (Moraes, 2008). Em 1950, Frank MacNamara e alguns executivos nanceiros da cidade de Nova York saíram para jantar e só quando receberam a conta perceberam que não tinham como pagar, pois haviam esquecido o dinheiro e o talão de cheque. Depois de alguma discussão, o dono do restaurante permitiu que MacNamara pagasse a conta em outro dia, mediante a sua assinatura na nota de despesas. Depois desse episódio, o executivo concebeu e criou o primeiro cartão de crédito. Esse cartão foi denominado de Diners Club Card, que passou a ser aceito como meio de pagamento em vinte e sete restaurantes daquele país e usado por importantes executivos, como uma maneira prática de pagar suas despesas de viagens tanto a trabalho quanto em lazer (Moraes, 2008). 6

19 2.1 Fundamentação teórica 7 Em 1951, também nos Estados Unidos da América, foram desenvolvidos os sistemas de cartões de crédito bancários. O primeiro banco a utilizar este sistema foi o Franklin National Bank (em Nova Iorque), introduzindo o primeiro cartão de crédito bancário. Com este sistema, os bancos creditavam à conta do comerciante assim que recebessem os comprovantes assinados pelos clientes e cobravam destes em uma única conta mensal, acrescentando juros e outros custos (Moraes, 2008). O primeiro sistema a operar em todos os estados dos Estados Unidos foi o BankAmericard do Bank of America. Este sistema iniciou suas atividades operando apenas no estado da Califórnia em 1959 e passou a operar nos demais estados americanos em Em 1976 o BankAmericard mudou de nome e passou a se chamar Visa (Moraes, 2008). O Brasil teve como percursor dos cartões de crédito o empresário tcheco Hanus Tauber, que comprou nos Estados Unidos, em 1954, a franquia do Diners Club, propondo sociedade no cartão com o empresário Horácio Klabin. Em 1956 foi então lançado no Brasil o cartão Diners Club (Moraes, 2008). Em 1968 surge no Brasil o primeiro cartão de crédito de banco nacional, intitulado como ELO e criado pelo Banco Bradesco. Em 1983 foi lançado o primeiro cartão de débito e em 1984 a Credicard comprou o Diners Club no Brasil (Moraes, 2008). Para Gadi e Lago (2006), o cartão de crédito moderno tem cinco agentes bem de- nidos envolvidos em seu funcionamento: Portador (Card Holder), Estabelecimento (Merchant), Adquirente (Acquire), Bandeira(Brand), Emissor (Issuer). A seguir, são brevemente descritos cada um destes agentes: 1. Portador (Card Holder): Pessoa que tem como objetivo adquirir bens ou contratar serviços realizando o pagamento por meio do cartão de crédito. Essa pessoa pode ser o titular da conta ou apenas portador de um cartão adicional; 2. Estabelecimento (Merchant): Empresa cujo interesse é vender ou prestar serviços e receber o pagamento dos seus clientes por meio do cartão de crédito. Aqui é representado pelos sites de pagamentos online; 3. Adquirente (Acquirer): Empresa que tem como responsabilidade a comunicação da transação entre o estabelecimento e a bandeira. Essas empresas alugam e mantêm os equipamentos usados pelos estabelecimentos como, por exemplo, o Point of Sales (POS). As maiores adquirentes no Brasil são Redecard, Cielo (antiga Visanet Brasil), Hipercard e Getnet; 4. Bandeira (Brand): Empresa que tem como responsabilidade a comunicação da transação entre o adquirente e o emissor do cartão de crédito. Algumas bandeiras no Brasil são Visa, MasterCard e Hipercard; 5. Emissor (Issuer): É a instituição nanceira, tipicamente um banco, que emite o cartão de crédito, dene limite de compras, decide se as transações são aprovadas, emite fatura para pagamento, cobra os titulares em caso de inadimplência e oferece produtos atrelados ao cartão como seguro, cartões adicionais e plano de recompensas. Ela também é chamada de empresa administradora do cartão.

20 2.2 Fundamentação teórica 8 Gadi e Lago (2006) ressaltam que, quando um cliente utiliza seu cartão de crédito, no mesmo instante é transmitido um sinal para o adquirente que repassa este sinal para a bandeira. Esta, por sua vez, envia o sinal para o emissor do cartão, que através de critérios próprios de crédito (como por exemplo, a disponibilidade de limite, cliente em atraso ou apontamento no sistema de detecção de fraude) decide por aprovar, negar ou referir a transação. As transações referidas são aquelas em que se pede para o cliente entrar em contato com o emissor ou bandeira, dependendo da localidade, para a conrmação de seus dados. Após a conrmação, o emissor ou bandeira decide o que deve ser feito com a transação e emite uma resposta ao estabelecimento, retornando ao ciclo. Todo esse ciclo deve ocorrer em um limite de tempo pré-denido, que em média é de 10 segundos. 2.2 Fraudes em Transações Eletrônicas O fenômeno da fraude é cada vez mais uma questão transversal nas organizações, uma vez que o seu impacto chega a praticamente todos os setores de atividade. Com o aumento do interesse por parte dos consumidores nas transações virtuais e a crescente diversidade na oferta de produtos na Web, o comércio eletrônico convive, na mesma medida, com a intensicação do emprego de táticas sosticadas de fraudes praticadas pelos ciber-criminosos. O tema desperta cada vez mais a atenção dos varejistas eletrônicos que investem em segurança da informação. As fraudes em pagamentos online com cartão de crédito causam, a cada ano, prejuízos nanceiros da ordem de bilhões de dólares, o que ressalta a necessidade da criação de meios ecazes para combatê-las. Para que isso seja possível, é necessário o entendimento de como essas fraudes ocorrem e as formas de prevenção utilizadas atualmente pelos comerciantes online. Este Capítulo busca contextualizar o leitor com relação ao funcionamento dos cartões de crédito, assim como, as fraudes associadas a esse meio de pagamento. O foco desta dissertação são as fraudes associadas a vendas online com cartão de crédito, dessa forma é feita uma análise detalhada dos meios de prevenção e é descrito o processo de gestão de fraude adotado pelos comerciantes da Web Fraudes com Cartões de Crédito Para Ngai et al. (2011), fraude com cartão de crédito é denida como uso não autorizado do cartão, transação com comportamento pouco usual ou transações com cartões inativos. Já Phua et al. (2010) denem fraude como a utilização indevida do sistema de uma companhia sem que necessariamente haja uma consequência legal direta. Fraudes com cartão de crédito são essencialmente de dois tipos, por falsidade ideológica ou de subscrição (Bolton e Hand, 2001). Nas fraudes de subscrição, indivíduos, fornecendo dados falsos ou de outras pessoas aos emissores, obtêm novos cartões de crédito e gastam o máximo possível em um curto espaço de tempo. A fraude por falsidade ideológica, por sua vez, pode ocorrer através de três meios principais: cartão de crédito roubado, falsicado/clonado e fraude com cartão não presente. É esta última que interessa a essa dissertação de mestrado e pode ser

21 2.4 Fundamentação teórica 9 denida como a obtenção ilegal de dados de cartões legítimos, que são então utilizados para a realização de compras em que não há a necessidade de apresentação do cartão, como no e-commerce ou televendas. Através desses canais, apenas detalhes do cartão são necessários para que se possa efetivar a transação (Freitas, 2013). Um dos grandes riscos na venda com cartão é o chargeback. Trata-se de um dos maiores temores dos comerciantes de lojas virtuais e muitas vezes podem causar o seu fechamento. Chargeback pode ser denido como o cancelamento de uma venda feita com cartão de débito ou crédito, que pode acontecer por dois motivos: não reconhecimento da compra por parte do titular do cartão e a transação não obedece às regulamentações previstas nos contratos, termos, aditivos e manuais editados pelas administradoras. Resumindo, o lojista vende e depois descobre que o valor da venda não será creditado porque a compra foi considerada inválida. Se o valor já tiver sido creditado ele será imediatamente estornado ou lançado a débito no caso de inexistência de fundos no momento do lançamento do estorno Prevenção e detecção Prevenção de fraude consiste em tomar medidas para evitar que ocorram fraudes antes do término de uma transação. A prevenção é feita normalmente durante a fase de autenticação de um usuário, tradicionalmente utilizando senhas, frases secretas, dispositivos de geração de códigos secretos (tokens), entre outros artifícios. A detecção de fraudes entra em ação quando a prevenção não consegue evitar a fraude. Ela consiste em identicar uma fraude o mais rápido possível assim que ela ocorrer. Tanto prevenção quanto detecção de fraudes são disciplinas que estão em constante evolução, pois sempre que um novo método é implantado, os criminosos adaptam suas estratégias de ataque ou tentam outras. E em consequência disso, novos métodos para detecção de fraudes são elaborados e o ciclo se repete (Bolton e Hand, 2001). Existe uma grande diculdade em desenvolver novos métodos de detecção em virtude da pouca troca de informações nesta área. Isto vem do fato de que a divulgação detalhada das técnicas de detecção fornece, ao mesmo tempo, informações que os fraudadores precisam para burlar a detecção (Bolton e Hand, 2001). 2.3 Modelos supervisionados e não supervisionados Os métodos de detecção de fraude podem ser supervisionados ou não supervisionados (Bolton e Hand, 2001). Os supervisionados utilizam uma base histórica de transações, com identicação das fraudes para treinamento, e buscam separar comportamentos fraudulentos dos não fraudulentos para identicar fraudes futuras. Métodos não supervisionados buscam identicar aquelas contas, clientes, transações ou outros atributos que são signicativamente distintos dos demais como potenciais candidatos a serem fraudes, para serem analisados com maior detalhe. Nesta dissertação, estão sendo tratados modelos supervisionados. 1

22 2.4 Fundamentação teórica Processo de Descoberta de Conhecimento em Banco de Dados Para a extração de informações e transformação destas em conhecimento, a Descoberta de Conhecimento em Banco de Dados (KDD) consiste em um conjunto de etapas de processamento que devem ser seguidas pelos prossionais quando executam um projeto de descoberta de conhecimento. Segundo Fayyad (1996) KDD é um processo não trivial, interativo e iterativo, para a identicação de padrões compreensíveis, válidos, novos e potencialmente úteis a partir de grandes conjunto de dados. É possível perceber que o KDD, é um processo cooperativo onde os desenvolvedores irão projetar as bases de dados, descrever os problemas e denir os objetivos, enquanto os computadores irão processar os dados a procura de padrões que coincidam com os objetivos estabelecidos. A Figura 2.1 mostra o processo KDD segundo Fayyad et al.. A seguir é feita uma descrição de cada uma das etapas exibidas na Figura Seleção dos dados: É feita uma seleção de um conjunto de dados em que a descoberta de conhecimento será executada. 2. Pré-processamento: É feita a limpeza e pré-processamento dos dados. As informações selecionadas na etapa anterior podem apresentar problemas como dados redundantes, ruidosos, incompletos e imprecisos. Com o intuito de resolver esses problemas, são denidas estratégias para tratamento desses dados. 3. Transformação: Os dados podem ser transformados e/ou reduzidos. Os dados são efetivamente trabalhados onde são utilizadas técnicas de agregação, amostragem, redução de dimensionalidade, discretização, binarização, dentre outras. 4. Mineração de dados: É feita a busca pelos padrões nos dados. Nela é denida a tarefa de mineração a ser executada (classicação, regressão, agrupamento, dentre outras), denidos os algoritmos a serem utilizados e é realizada a mineração propriamente dita. 5. Interpretação dos resultados: Os resultados gerados pela mineração de dados são visualizados, interpretados e avaliados se possuem alguma validade para o problema. Neste trabalho, será dada uma foco maior atenção a etapa de mineração de dados, visto que nosso foco do trabalho está nesta etapa. Segundo Fayyad et al. (1996b), os objetivos básicos da mineração de dados são a previsão e a descrição. A previsão envolve o uso de dados existentes no banco de dados para prever valores desconhecidos ou futuros. A descrição se concentra em encontrar padrões interpretáveis pelo usuário que descrevam os dados. Embora a fronteira entre previsão e descrição não seja nítida (alguns dos modelos preditivos podem ser descritivos, na medida em que eles são compreensíveis e vice-versa), a distinção é útil para a compreensão do objetivo da descoberta de conhecimento. No

23 2.5 Fundamentação teórica 11 Figura 2.1: Visão geral das etapas que compõem o processo KDD. Fonte: (Fayyad et al., 1996b). contexto de fraude, técnicas que sejam preditivas e descritivas são mais interessantes uma vez que deixam claro os padrões utilizados para a sua previsão. Além do mais, essa pode ser uma importante ferramenta para entendimento dos padrões associados à fraude. É nesta etapa que é denida a tarefa de mineração de dados e as técnicas a serem utilizadas. De acordo com Amo (2004), é importante distinguir o que é uma tarefa e o que é uma técnica de mineração de dados. A tarefa consiste na especicação do que se pretende fazer com os dados, ou seja, qual o objetivo do processo. Dentre as tarefas pode-se citar: classicação, análise de associação, agrupamento, entre outras. A técnica consiste na escolha de métodos ou algoritmos que permitam que esses objetivos sejam alcançados. Dentre as técnicas existentes será aplicada neste trabalho a Programação Genética. Várias tarefas de mineração de dados possuem contribuições signicativas no processo de detecção de fraude. Entretanto, cada uma dessas tarefas envolve pesquisas especícas nas suas áreas do conhecimento. A realização de pesquisas em cada uma dessas tarefas demandam esforços que vão além do escopo deste trabalho. Sendo assim, este trabalho se limita à tarefa de classicação, pois envolve a construção de modelos para previsão de registros fraudulentos. Esta seção apresentou uma visão geral sobre o processo de descoberta do conhecimento já que ele é base para a metodologia proposta. As sequências de passos denidas nesse processo serão utilizadas pela metodologia, uma vez que permitem nortear a tarefa de detecção de fraude. 2.5 Classicação de Dados Para Fayyad et al. (1996b), classicação é o processo de encontrar um modelo (ou conjunto de funções) que descreve e distingue classes ou conceitos de dados. De posse deste modelo, é possível identicar objetos cuja classe ainda não é conhecida. O modelo derivado dos dados é baseado na análise do conjunto de treinamento, ou seja, o conjunto de dados cuja classicação já é conhecida previamente. Este modelo pode ser representando por diversas formas. Normalmente, a classicação é utilizada

24 2.6 Fundamentação teórica 12 para se inferir a qual classe um objeto pertence. Entretanto, em algumas aplicações o usuário pode tentar predizer alguns dados que tenham sido perdidos ou que não estejam disponíveis em alguns objetos que já estejam classicados previamente. A essa estratégia dá-se o nome de predição. Classicação e predição devem ser precedidas por uma análise de relevância, cujo objetivo é tentar identicar atributos que não contribuem com o processo de classicação e predição. Esses atributos podem ser excluídos. Assim, os métodos de classicação e predição procuram identicar os atributos que apresentam maior ganho de informação a m de rotular os dados em classes ou inferir informações sobre o banco. Segundo Pereira (2012), existem hoje muitos métodos que auxiliam a atividade de extração de regras (ou modelos) de classicação a partir de bancos de dados, tais como árvores de decisão, redes neurais articiais e métodos evolucionários, como por exemplo, Algoritmos Genéticos e Programação Genética. Cabe destacar a simplicidade, robustez e eciência que os métodos evolucionários apresentam. Em particular, este tipo de método vem sendo utilizado cada vez mais pela comunidade de classicação de dados. 2.6 Otimização O processo de otimização baseia-se em técnicas analíticas ou heurísticas para a obtenção de valores máximos ou mínimos de um determinado problema. A busca desses valores ótimos devem atender a um objetivo somente, ou a vários objetivos. Essa perspectiva dene, respectivamente, a otimização como mono-objetivo e multiobjetivo. No âmbito da modelagem matemática, um problema pode ser abordado com um único objetivo por questão de simplicação do problema. Entretanto, para grande parte dos problemas reais, a otimização atende a vários objetivos. A consideração do número de objetivos a serem otimizados, ou até mesmo a redução a um problema mono objetivo, deve analisar a representatividade do modelo e o custo para aplicação dos métodos de otimização. O problema de otimização multiobjetivo pode ser formalizado conforme apresentação da Expressão 2.1 (Deb e Kalyanmoy, 2001). As funções f m (x), para os objetivos m = 1, 2,..., M, são minimizadas ou maximizadas a partir das restrições g j (x) 0, j = 1, 2,..., J e h k (x) = 0, k = 1, 2,..., K. A solução X é o vetor com n variáveis de decisão X = (x 1, x 2,..., x n ) T, tal que x i está contido no espaço de decisão D denido pelos respectivos limites inferiores e superiores x (I) i e x (S) i. Minimizar f m (x), m = 1, 2,..., M; sujeito à g j (x) 0, j = 1, 2,..., J; (2.1) x (I) i h k (x) = 0, k = 1, 2,..., K; x i x (S) i, i = 1, 2,..., n; A otimização multiobjetivo, conforme denida na Equação 2.1, contempla J restrições de desigualdade e K restrições de igualdade. A solução candidata X que atende às J + K restrições é denominada solução factível. Casos onde as restrições de igualdade e desigualdade não são satisfeitas, X é denominada solução infactível.

25 2.6 Fundamentação teórica 13 O espaço de decisão D n-dimensional constituído por x (I) i as solução candidatas no espaço objetivo Z M-dimensional. x i x (S) i mapeia Como o espaço de objetivo possui dimensão M, a otimização multiobjetivo também é referenciada como otimização do vetor de objetivos X M. Para espaços Z unidimensionais (M = 1), o processo de obtenção de valores ótimos consiste na otimização mono-objetivo. Na otimização multiobjetivo, dado que as soluções candidatas do problema estão dispostas em um conjunto de soluções factíveis, a comparação entre duas soluções é feita a partir da denição de solução dominada. Sejam duas soluções particulares i e j. Denota-se i j quando a solução i domina j. Particularmente, uma solução i domina uma solução j se duas condições são satisfeitas: A solução i não é pior que j em nenhum dos objetivos. A solução i é estritamente melhor que a solução j em pelo menos um objetivo. O conceito de ótimo de Pareto foi formulado por Vilfredo Pareto, no século XIX (Coello, 2000) e tem como denição: Dado um conjunto de soluções para um problema de otimização multi-objetivo, são denominadas ótimos de Pareto aquelas que, entre si, só é possível melhorar um objetivo causando um detrimento simultâneo em outro, e são melhores que as demais em pelo menos um objetivo. As soluções que atendem ao conceito de ótimo de Pareto são não-dominadas e quando dispostas no espaço de funções-objetivo, denem a fronteira Pareto. Logo, o conjunto ótimo de Pareto é o conjunto de todas as soluções não-dominadas do espaço de busca das soluções factíveis (Deb e Kalyanmoy, 2001). A Figura 2.2 ilustra um conjunto de soluções factíveis hipotético com seis soluções para as funções objetivos f 1 e f 2. Nesse exemplo, os casos de dominação são relacionados: z (2) domina z (1) ; z (3) domina z (1), z (4) e z (5) ; z (6) domina z (4) e z (5) ; z (4) domina z (5) ; e z (1) e z (5) não domina nenhuma solução. Figura 2.2: Conjunto de soluções factíveis com população de seis soluções. Todos esses conceitos são formalizados nas denições 2.1, 2.2 e 2.3.

26 2.7 Fundamentação teórica 14 Denição 2.1 (Dominância:) Para um problema de maximização, considere x 1 e x 2 dois pontos quaisquer do espaço de variáveis X. Tem-se que x 1 x 2, ou seja, x 1 domina x 2, se f(x 1 ) f(x 2 ) e f(x 1 ) f(x 2 ). De forma equivalente, diz-se que f(x 1 ) domina f(x 2 ). Denição 2.2 (Solução Pareto-Ótima:) x F x é uma solução Pareto-Ótima do problema de otimização multiobjetivo se não existe qualquer outra solução x F x tal que f(x) f(x ) e f(x) f(x ), ou seja, se x não é dominado por nenhum outro ponto factível do problema. Onde F x é a região factível de um problema. Denição 2.3 (Fronteira Pareto-Ótimo:) O conjunto de todas as soluções Pareto Ótimo do problema no espaço dos objetivos é denominado de Conjunto ou Fronteira Pareto-Ótimo. Em um problema de otimização multi-objetivo, duas metas devem ser atingidas para que o conjunto de soluções não-dominadas encontrado seja considerado satisfatório: que suas soluções estejam tão próximas quanto possível da fronteira de Pareto e que suas soluções sejam tão diversicadas quanto possível. A primeira meta é similar à desejada na otimização de um único objetivo, a qual se dedica a encontrar o ótimo global do sistema, enquanto que a segunda é especíca para otimização multi-objetivo, e é requerida para que seja garantida a diversidade de soluções de compromisso entre todos os objetivos. O algoritmo de Programação Genética que utiliza a técnica de SPEA2 irá realizar, no contexto da computação evolucionária, o processo de otimização multiobjetivo do problema pesquisado. O detalhamento do SPEA2 é apresentado na Seção Computação Evolucionária A Computação Evolucionária (EC - Evolutionary Computation) é um dos ramos da Inteligência Computacional que propõe um paradigma para a solução de problemas inspirado na seleção natural. A EC baseia-se na teoria da evolução proposta por Charles Darwin em 1858 em seu livro A Origem das Espécies e compreende um conjunto de técnicas de busca e otimização onde indivíduos reproduzem-se e competem pela sobrevivência ao longo das gerações (Vriesmann, 2006). Os princípios da Teoria da Evolução são usados para pesquisar soluções aproximadas para a solução de problemas usando o computador. O principal requisito para a aplicação da EC é que a qualidade da possível solução possa ser calculada. Assim, poderia ser possível classicar algumas possíveis soluções visando à qualidade da solução e se a solução resolve o problema (Eggermont, 2005). A Figura 2.3 exemplica as sub-áreas da Computação Evolucionária. Esta dissertação terá foco em Programação Genética, a qual faz parte do objeto de estudo.

27 2.8 Fundamentação teórica 15 Figura 2.3: Sub-áreas da Computação Evolucionária. Baseado em: (Castro, 2001). 2.8 Programação Genética A PG é um método da Computação Evolucionária que aplica os conceitos da biologia genética, baseados na teoria da seleção natural. O paradigma da PG foi desenvolvido por (Koza, 1992) na década de 90 com base na técnica de Algoritmo Genético (AG), desenvolvida por (Holland, 1975) e aplicada por (Goldberg, 1989). Banzhaf et al. (1998), também apresenta diversas aplicações de PG. Segundo (Pereira, 2012), a diferença principal entre o AG e a PG está na representação dos indivíduos: enquanto o AG codica os indivíduos em código binário, real, ou outro, enquanto a PG codica os indivíduos na forma de uma árvore. Essa codicação dos indivíduos da PG gera alterações signicativas nos operadores genéticos, além de possibilitar grandes benefícios, tais como conter não somente valores de variáveis, mas também funções. O algoritmo básico de Programação Genética é apresentado na Figura 2.4. O primeiro procedimento cria uma população de indivíduos. Na etapa de avaliação (função tness), cada indivíduo é executado e um valor de qualidade do indivíduo é determinado. Caso o critério de parada seja satisfeito, o processo de evolução é nalizado. Caso contrário, indivíduos de melhor qualidade são selecionados com maior probabilidade para serem submetidos aos operadores genéticos, gerando novas soluções. Estas novas soluções irão compor uma nova população de indivíduos, a qual será submetida aos mesmos procedimentos, com exceção do primeiro que cria a população inicial. A execução iterativa desses procedimentos permite a emergência de boas soluções a cada geração. O detalhamento de todo este uxo será descrito nas subseções e

28 2.8 Fundamentação teórica 16 Figura 2.4: Fluxograma do funcionamento básico de um Programa Genético Indivíduo O indivíduo é um ponto no espaço de otimização, isto é, é o conjunto de valores das variáveis candidatas a otimizar a função objetivo. Representa uma solução candidata para o problema e sua codicação tem formato de árvore como já mencionado. Para Koza (1992) o fato do indivíduo na PG ser representado na forma de árvore possibilita a esse indivíduo conter não somente valores de variáveis, mas também funções. Segundo (Koza, 1992) o conjunto das funções que compõem o indivíduo é chamado de conjunto de funções. Montana (1994) considera que o termo que melhor se aplica a esse conjunto é conjunto não terminal, uma vez que o conjunto de nós terminais pode conter funções que não recebem parâmetros. Esse texto utilizará o termo conjunto de funções, por ser o mais utilizado na literatura, devido à grande inuência exercida pelo livro de (Koza, 1992). A Figura 2.5 ilustra um exemplo de individuo da PG. Nesta representação, operadores e operandos estão dispostos em nós de uma árvore. A execução de um dado programa pode ser realizada de duas formas: percorrendo os nós em pós-ordem ou em pré-ordem. No primeiro caso, o programa é executado percorrendo os nós das extremidades até o nó raiz, ou seja, visitando primeiramente os operandos e em seguida, os operadores. No segundo caso, é realizado o processo inverso. Parte-se da raiz e para cada ramo, os nós são visitados até che-

29 2.8 Fundamentação teórica 17 Figura 2.5: Exemplo de indivíduo na Programação Genética. gar aos nós folha. Esta última abordagem tem a vantagem de economizar recursos computacionais na existência de nós condicionais, uma vez que só serão executados os nós da subárvore associada à condição satisfeita. Para Koza (1992) o indivíduo da PG deve satisfazer pelo menos duas propriedades: 1. Suciência: garante a convergência do sistema, fazendo com que os conjuntos de nós funções e nós terminais sejam capazes de representar uma solução viável para o problema em questão. 2. Fechamento: garante que qualquer função do conjunto de nós funções deve ser capaz de operar com todos os valores recebidos como entrada. Isso garante que sejam geradas árvores sintaticamente viáveis. Segundo Pereira (2012), na prática, obedecer à propriedade de fechamento pode ser uma tarefa muito difícil. Entretanto, não observar essa propriedade leva a situações que geram indivíduos inconsistentes, ou seja, não faz sentido existir operações entre atributos de domínios diferentes. Certamente essa é uma das maiores diculdades dos projetistas de algoritmos baseados em PG, principalmente na aplicação das operações de mutação e cruzamento. O conjunto de indivíduos é denominado população e a geração inicial, na maioria das vezes, é feita de forma aleatória. A quantidade de indivíduos da população é um parâmetro de entrada do PG Operadores Genéticos Nas próximas seções serão descritas os três operadores genéticos utilizados, são eles: seleção, cruzamento e mutação as quais são usadas para modicar estruturas sob adaptação em PG Seleção No processo evolutivo, a seleção de indivíduos é realizada pelo conceito de aptidão. Em PG, a aptidão é avaliada a partir dos valores obtidos da função tness. Função tness consiste na mensuração da aptidão de cada indivíduo a partir da função objetivo que representa o problema. No problema do caixeiro viajante, por exemplo,

30 2.8 Fundamentação teórica 18 uma função objetivo simples poderia ser o inverso da distância total percorrida. Desta forma, as rotas mais curtas teriam uma aptidão maior. No processo de seleção, a técnica de roulette wheel realiza a escolha dos indivíduos proporcionalmente a sua respectiva aptidão. A Equação 2.2 modela a probabilidade de cada indivíduo ser selecionado. Onde p i é a probabilidade do individuo i ser escolhido pela roleta e f i é a tness do individuo. Esse procedimento de seleção é realizado uma única vez para cada indivíduo, o que representa o problema da seleção privilegiar indivíduos que possuam maior aptidão. p i = f i fi (2.2) Adicionalmente, a seleção pode ser implementada por torneio e elitismo. No torneio, os indivíduos podem ser postos em n-uplas aleatoriamente e então através de uma probabilidade o indivíduo é escolhido. Maiores detalhes sobre roulette wheel e torneio podem ser vistos em (Goldberg, 1989). Já a técnica de elitismo, consiste em manter o indivíduo mais apto para as gerações seguintes. O indivíduo mais apto é aquele que possui maior valor da função tness Cruzamento Segundo Pereira (2012), a operação de cruzamento na PG, consiste na troca de material genético entre os indivíduos pais. Uma característica bastante signicativa da operação de cruzamento é a sua capacidade de alterar os tamanhos dos indivíduos durante a execução do algoritmo. A operação de cruzamento, em relação ao conceito biológico, corresponde ao processo de reprodução sexuada. Dois indivíduos são selecionados e recombinados para gerar outros dois indivíduos a partir de seus valores de tness. Um ponto aleatório de cruzamento é escolhido em cada indivíduo-pai e as árvores abaixo destes pontos são trocadas. A probabilidade dos indivíduos-pais cruzarem, é um parâmetro de entrada do PG. Um exemplo de cruzamento pode ser visualizado na Figura Mutação O operador de mutação na PG não é simples de ser implementado. Primeiramente, é necessário ter certeza de que a árvore do indivíduo se mantém válida após a mutação, isto é, o operador de mutação não pode substituir um nó (ou sub-árvore) por um nó de tipo de dado diferente (Pereira, 2012). O operador de mutação consiste na troca de um nó (terminal ou não) por outro nó (terminal ou uma sub-árvore) gerado. É notório que aqui, assim como no cruzamento, os indivíduos podem aumentar ou diminuir de tamanho (Pereira, 2012). A probabilidade do indivíduo sofrer mutação, é um parâmetro de entrada do PG. Freitas (2002) classica a operação de mutação em quatro categorias principais, baseadas na capacidade de alteração de tamanho da árvore:

31 2.9 Fundamentação teórica 19 Figura 2.6: Exemplo de cruzamento na Programação Genética. 1. Mutação de Ponto: Consiste na troca de um nó externo por outro nó externo; 2. Mutação de Colapso: Um nó externo substitui um nó interno (sub-árvore). Nessa caso, a árvore diminui sua altura; 3. Mutação de Expansão: Um nó interno (sub-árvore) substitui um nó externo. Nesse caso, a árvore aumenta sua altura; 4. Mutação de sub-árvore: Um nó interno substitui outro nó interno. Nesse caso a árvore pode aumentar ou diminuir sua altura ou ainda não ter seu tamanho alterado. Um exemplo de mutação por expansão pode ser visualizado na Figura 2.7. Figura 2.7: Exemplo de mutação na Programação Genética.

32 2.9 Fundamentação teórica SPEA2 - Strenght Pareto Evolutionary Algorithm O SPEA2 (Zitzler et al., 2002), é uma versão atualizada de seu antecessor SPEA, pois foram eliminados potenciais pontos fracos incorporando ao algoritmo: um programa melhorado de atribuição de tness, que considera a cada indivíduo na contagem, quantos indivíduos dominam e por quantos é dominado; uma técnica de estimativa de densidade utilizando o vizinho mais próximo, que permite uma melhor orientação durante o processo de busca; um novo método de truncamento de arquivo que garante a preservação de soluções de fronteira. Finalmente, outra diferença do SPEA2 é que somente membros do arquivo participam do processo de seleção de cruzamento. No algoritmo SPEA2, uma população inicial é gerada, um arquivo vazio é criado e o tness da população calculado. A seleção dos indivíduos é feita pelo operador torneio binário. O novo arquivo é preenchido de acordo com o valor do tness associado com cada indivíduo. Todos os indivíduos com tness menor do que 1 (um) completam o arquivo e se o tamanho do arquivo for menor do que o préestabelecido, o arquivo é preenchido com indivíduos dominados da solução corrente. Se excede, alguns indivíduos são removidos pelo operador de truncamento, este uxo pode ser visualizado na Figura 2.8. Figura 2.8: Fluxo SPEA2. As Seções e 2.9.2, apresentam os principais passos do SPEA Cálculo do tness O cálculo do tness é feito em dois passos: Primeiro, em uma geração t, para cada indivíduo i na população externa P t e na população P t é atribuído um valor S(i), conforme a Equação 2.3, representando o

33 2.9 Fundamentação teórica 21 número de soluções dominadas pela solução i. P t é o conjunto das melhores soluções encontradas entre as gerações. Onde j também é uma solução. S(i) = {j tal que j P t + P t i j} (2.3) Onde. a cardinalidade do conjunto, + representa a união dos conjuntos (população e arquivo externo), t é a geração atual e o símbolo corresponde a relação de dominância de Pareto, onde i j indica que uma solução i domina j. Segundo, o tness R(i) de um indivíduo i é determinado pelo número de soluções que dominam i em P t e P t conforme a Equação 2.4. Isto signica que R(i) é a soma dos S(i) das soluções j que dominam i em P t e P t. R(i) = S(j) (2.4) j P t+p t,j i Embora a atribuição de um tness R(i) ordene as soluções baseadas no conjunto de indivíduos não dominados, pode existir problemas em populações com elevado número de soluções não-dominadas. Nesse caso, foi incorporado a informação de densidade D(i) entre os indivíduos com valor idêntico de R(i). Este procedimento possibilita um espalhamento das soluções ao longo da fronteira. A técnica proposta é uma adaptação do método do k-ésimo vizinho mais próximo, conforme a Equação 2.5. D(i) = 1 σ k i + 2 (2.5) Onde, o valor da densidade, para cada indivíduo i, é dado pela distância (no espaço objetivo) de todos os indivíduos j no arquivo e na população, e armazenado em uma lista. Esta lista é ordenada em ordem crescente e a distância procurada é dada pelo k-ésimo elemento, denotado por σ k i. No denominador, é adicionado 2, para garantir que seu valor seja maior que zero e que D(i) < 1. Recomenda-se que o k seja feito pela Equação 2.6, onde N é o tamanho da população e N o tamanho da população externa. k = N + N (2.6) Assim o tness total de um indivíduo i é dado pela Equação 2.7. F (i) = R(i) + D(i) (2.7) Seleção e truncamento O primeiro passo do método de seleção é copiar todos os indivíduos não dominados de P t e de P t para a população externa da próxima geração P t + 1. Assim podem acontecer três situações: 1. O número de indivíduos no conjunto não dominado ser o mesmo da população externa.

34 2.10 Fundamentação teórica O número de indivíduos no conjunto não dominado ser menor do que a população externa. 3. O número de indivíduos no conjunto não dominado ser maior do que a população externa. No primeiro caso o processo de seleção naliza. No segundo, os melhores indivíduos dominados são copiados para a nova população externa. No terceiro caso, deve ser feito um truncamento da população externa, ou seja o indivíduo que apresentar a menor distância euclidiana em relação a outro indivíduo é selecionado para ser removido, até que a população externa esteja com a quantidade de indivíduos prevista, lembrando que o tamanho da população externa é um parâmetro de entrada do SPEA Considerações nais Neste Capítulo a apresentação detalhada sobre cartões de crédito e detecção de fraudes contribuiu para o entendimento da problemática do tema abordado. O estudo de Programação Genética, composto pelos operadores de seleção, cruzamento e mutação, torna-se etapa fundamental para o entendimento da metodologia e do framework proposto. A apresentação do SPEA2 é fundamental para implementação de uma versão multi-objetivo da Programação Genética.

35 Capítulo 3 Trabalhos relacionados Este capítulo apresenta publicações referentes à detecção de fraudes em cartão de crédito e Programação Genética. Cabe ressaltar que, durante a busca de trabalho correlatos, não foram encontrados artigos e pesquisas que abordam, diretamente, a detecção de fraudes em transações eletrônicas com cartão de crédito utilizando Programação Genética. 3.1 Detecção de fraudes em transações eletrônicas com cartão de crédito Alguns trabalhos relacionados à detecção de fraudes em operações de cartão de crédito são descritas ao longo desta seção. Ghosh (1994) criou um detector de fraude baseado em redes neurais. A rede foi treinada usando exemplos de cartões perdidos, cartões roubados, cartões falsicados e com fraude em correspondências. A rede detectou signicativamente a quantidade de fraudes, com uma baixa taxa de falsos positivos. O sistema foi instalado em um IBM 3090 no Mellon Bank. Sternberg e Reynolds (1997) desenvolveram um algoritmo cultural para detecção de fraudes, dado que a re-engenharia desse tipo de sistema, que é dinâmico, torna-se muito complexa. Este algoritmo provê a capacidade de auto-adaptação em sistemas dinâmicos. Para representar o ambiente, foram utilizados quatro objetivos de aplicação diferentes. Os objetivos foram caracterização de reivindicações fraudulentas, reivindicações não fraudulentas, reivindicações não fraudulentas ditas anteriormente como fraudulentas e reivindicações fraudulentas ditas anteriormente como não fraudulentas. Os resultados indicam que algoritmos culturais pode produzir informações necessárias para responder ao ambiente de sistema dinâmico e fornecer uma resposta automatizada para mudanças ambientais. Aleskerov et al. (1997) desenvolveram um sistema chamado CARDWATCH, um sistema de mineração de dados utilizado para a detecção de fraudes de cartão de crédito. O sistema foi baseado em redes neurais e fornece uma interface para uma variedade de bases de dados comerciais e possui uma interface gráca bem confortável. Os resultados dos testes obtidos para os dados do cartão de crédito sinteticamente gerados, mostram taxas de detecção de fraude muito bem-sucedidas, que chegam a 85% de acerto. No entanto, os conjuntos de dados reais não foram utilizados para 23

36 3.1 Trabalhos relacionados 24 validação. Bolton e Hand (2001) propuseram uma técnica de detecção de não-supervisionada usando análise de ponto de interrupção para identicar mudanças no comportamento de gastos. Um ponto de interrupção é uma observação ou do tempo em que se detecta o comportamento anômalo. Um exemplo de anomalia, é o aumento repentino no número de transações, isto pode indicar o comportamento fraudulento. Uma vantagem deste algoritmo é não ser necessário o uso de dados com periodicidade xa. O resultados foram bons. Os autores pretendem continuar incorporando informações mais relevantes que simplesmente o valor gasto. Chen et al. (2005) aplicaram duas técnicas, máquinas de vetores de suporte (SVM ) e redes neurais articiais (RNA), para investigar o problema de fraude variável no tempo. Os desempenhos de ANN e SVM foram comparados. Os resultados mostraram que ANN e SVM são podem ser efetivos para detecção de fraudes. ANN supera SVM em termos de precisão no treinamento. No entanto, SVM pode oferecer melhor performance quando a quantidade de informação é menor. Guo (2008) apresenta uma forma de modelar uma sequência de operações no processamento de transações em cartão de crédito usando uma rede neural combinada com nível de conança. Este modelo é baseado no padrão de comportamento do cliente. O desvio do padrão de comportamento habitual do cliente é a informação utilizada para criar os modelos. A rede neural é treinada com dados inicialmente sintéticos. Se uma transação de cartão de crédito tem baixo valor de conança, é considerada fraudulenta. Seu trabalho mostra como o valor da conança pode ser utilizado com sucesso para realizar a detecção de fraude de cartão de crédito. Brabazon et al. (2010) investigaram a ecácia de Sistemas Imunológicos Arti- ciais (SIA) para a detecção de fraude de cartão de crédito através de um grande conjunto de dados obtidos a partir de um grande varejista on-line. O algoritmo de SIA foi implementado e seu desempenho foi comparado com um modelo de regressão logística. Os resultados sugeriram que o algoritmo de SIA têm grande potencial para ser aplicado em sistemas de detecção de fraude. Como trabalho futuro os autores pretendem aplicar Programação Genética. Duman e Ozcelik (2011) desenvolveram um método com uma combinação de duas abordagens de metaheurística bem conhecidas, os algoritmos genéticos e a busca dispersa. O método foi aplicado a dados reais de um banco e os resultados foram muito bem sucedidos em comparação com a prática atual. Para Pun e Lawryshyn (2012), uma das questões que os sistemas de detecção de fraude em cartão de crédito enfrentam é que uma percentagem signicativa das transações identicadas como fraudulentas são de fato legítimas. Assim esses alarmes falsos retardam a detecção de transações fraudulentas e pode causar problemas desnecessários para os clientes e empresas. Dessa forma, os autores apresentam um modelo meta-classicador, que foi aplicado às operações depois de ser analisado pelo um algoritmo de detecção de fraude existente. Este modelo de meta-classicador consiste em três classicadores: árvore de decisão, rede bayesianas, e k-vizinhos mais próximos. Os resultados desta pesquisa mostram que quando o meta-classicador foi utilizado em conjunto com o algoritmo de detecção de fraudes existentes, é possível melhorar os resultados em cerca de 28%. Soltani et al. (2012) apresentaram um novo modelo baseado em Sistemas Imunológicos Articiais para detecção de fraudes de cartão de crédito que considera

37 3.2 Trabalhos relacionados 25 o comportamento do usuário. O modelo reúne duas metodologias de detecção de fraudes, ou seja, monitorar o comportamento da conta e limite geral. Foram obtidos bons resultados, embora SIA apresentou um longo tempo de treinamento. Os autores sugeriram que a implementação do modelo em sistemas de computação em nuvem poderia reduzir esse tempo. Caldeira et al. (2012) aplicaram técnicas de inteligência computacional para detectar fraudes em transações eletrônicas. As técnicas utilizadas foram random forest, redes neurais, SVM e sistemas imunológicos articiais. Dados reais do UOL Pag- Seguro, foram utilizados para fazer a classicação. Para comparar os modelos, os autores utilizaram o conceito eciência econômica. A técnica que obteve melhores resultados, foi a rede neural. Além disso a técnica apresentou ganhos superiores ao praticado pela corporação atualmente. Porém, o trabalho mostra que as classes desbalanceadas, impactam diretamente a qualidade de predição. Como trabalhos futuros os autores pretendem aplicar técnicas que melhoram este problema. O único trabalho identicado na literatura que utiliza como parte da solução a Programação Genética para detecção de fraudes em transações de cartão de crédito, foi publicado por (Bentley et al., 2000). A abordagem apresentada, mostrou ter alta precisão e produziu um baixo número de alarmes falsos. A base de dados utilizada possuía 4000 transações nanceiras, dessas 985 eram fraudulentas, o que permite dizer que o desbalanceamento não era tão alto, o que possivelmente explica o nível de precisão do algoritmo. 3.2 Programação Genética para Classicação Alguns trabalhos relacionados à Programação Genética são descritas ao longo desta seção. Falco et al. (2002) criaram uma ferramenta de Programação Genética para extração de regras. A ferramenta foi testada em bancos de dados disponíveis publicamente. O algoritmo proposto foi comparado com abordagens baseadas em redes neurais e com outras técnicas baseadas em Programação Genética. Os resultados experimentais demonstraram a ecácia da abordagem proposta em fornecer o usuário com as regras de classicação compactos e compreensíveis e sua robustez em termos de baixo desvio padrão. Apesar dos resultados serem ecientes, um cenário real não foi utilizado para validação da ferramenta. Como trabalho futuro, os autores pretendem aplicar nichos para avaliar possíveis ganhos. Bojarczuk et al. (2004) construíram um sistema com Programação Genética para a descoberta de regras de classicação compreensíveis. O algoritmo proposto, foi comparado com um algoritmo genético e com C4.5. Os resultados obtidos foram muito promissores. Em geral, o algoritmo descobriu conjuntos de regras que são mais precisos e mais simples do que os conjuntos de regras descobertas pelo algoritmo genético e o C4.5. No futuro os autores pretendem aplicar o algoritmo proposto para outros conjuntos de dados, para validar ainda mais os resultados apresentados. Xu e Liu (2008) propuseram uma nova abordagem de Programação Genética para lidar com as tarefas de seleção e classicação, para os conjuntos de dados de microarranjos de multiclasse. O problema multiclasse é dividido em vários problemas de duas classes. Em seguida, fundindo esses conjuntos, um indivíduo é construído

38 3.3 Trabalhos relacionados 26 para lidar com o problema multiclasse diretamente. Os resultados experimentais mostram que a abordagem pode atingir altas precisões e que o método proposto implementa efetivamente as tarefas de seleção de características e classicação. Porém os autores não aplicaram a solução em dados reais para validação. Pappa e Freitas (2009) apresentaram sistema multi-objetivo de Programação Genética baseada em gramática para indução de regras, o que por sua vez produzem modelos precisos e compactos. O sistema foi comparado com três outros algoritmos de indução de regras. No total, 20 conjuntos de dados foram usados para testar os algoritmos. Experimentos mostraram que em geral, o algoritmo proposto possui precisão de previsão competitiva. Luna et al. (2010) apresentaram o Grammar Guided Genetic Programming for Association Rule Mining (G3PARM), um algoritmo Programação Genética para descobrir regras de associação. Os autores zeram uma comparação entre o algoritmo G3PARM e dois algoritmos multiobjetivo frequentemente utilizado na literatura conhecido como NSGA2 e SPEA2. Apesar dos resultados serem ecientes, o algoritmo não foi aplicado a cenários onde possuem conjuntos de itens raros. Pereira et al. (2010) propôs um algoritmo de Programação Genética, Niched Genetic Programming Algorithm Data Mining in Geographic (DMGeo), capaz de lidar com bancos de dados compostos por dados híbridos, em particular dados geográcos. O algoritmo foi aplicado com sucesso tanto em bancos convencionais quanto em bancos compostos por dados híbridos. Os resultados mostraram que a ferramenta foi capaz de aproveitar a heterogeneidade do banco, apresentando um melhor desempenho quando os dados geográcos e convencionais associados inuenciam a classicação. O algoritmo foi comparado a outros métodos relevantes da literatura, apresentando um resultado superior nos casos estudados. Bhowan et al. (2011) mostraram uma abordagem de Programação Genética multi-objetivo que avalia a ecácia de duas estratégias populares baseadas em Pareto, o SPEA2 e Non Sorting Genetic Algorithm II (NSGA2). As duas estratégias foram testadas em bases desbalanceadas e obtiveram bons resultados. Como trabalhos futuros os autores pretendem avaliar essa abordagem em conjuntos de dados mais desequilibradas. Gayathri e Malathi (2013) investigam cinco diferentes técnicas de classicação que foram mais utilizados na detecção fraudes em cartões de crédito, são elas: Redes Neurais, Árvore de Decisão, K-NN, Naive Bayes e máquina de vetor de suporte. Os resultados mostram que estes métodos apresentam certa incerteza na identicação de fraude, quando aplicado em conjunto de dados reais. Pereira et al. (2014) propuseram um algoritmo multi-objetivo baseado em Programação Genética para extrair regras de classicação em bases de dados híbridas. A ecácia do algoritmo foi comparada com três outros métodos amplamente utilizados para classicação: Árvore de decisão (C4.5), Support Vector Machine (SVM) e Radial Basis Function (RBF). O algoritmo foi utilizado para classicar os dados em seis diferentes problemas. O algoritmo proposto superou os outros em todos os casos testados.

39 3.3 Trabalhos relacionados Considerações nais Existem também alguns trabalhos que apresentaram análises abrangentes sobre o tema detecção de fraudes. Ngai et al. (2011) analisaram 49 artigos cientícos publicados entre 1997 e Sharma e Panigrahi (2012) pesquisaram 45 artigos sobre o assunto publicados entre 1995 e Espejo et al. (2010) mostraram inúmeras aplicações de Programação Genética para classicação. Alguns frameworks de computação evolutiva existentes foram analisados e identicando suas características, são eles: O ECJ 1, é um framework desenvolvido em Java que possui um modulo de Programação Genética bem amplo com extensões multi-objetiva, possivelmente um dos mais usados (Ross, 2013). Muito usado para resolução de problemas em regressão simbólica. JGAP 2, foi desenvolvido em Java, possui um módulo de Programação Genética e outro de Algoritmos Genéticos, foi aplicado com sucesso em um complexo problema de competição de robôs, chamado Robocode. BEAGLE 3, é um framework open-source desenvolvido em C++, da suporte as técnicas evolucionárias de Programação Genética e Algoritmos Genéticos, é muito usado para resolução de problemas em regressão simbólica. Todos esses frameworks apresentam características individuais interessantes, porém: nenhum deles representam os indivíduos como instrução SQL; não fazem acesso a banco de dados relacional; necessitam de uma preparação dos dados para o formato a ser interpretado; além desses pontos, não foi identicado nenhum trabalho que usa essas soluções em detecção de fraudes eletrônicas. Esta dissertação é complementar a todos os trabalhos relacionados citados. Dessa forma, é proposto um framework baseado em Programação Genética para detecção de fraudes em transações eletrônicas com as seguintes características: a utilização de nichos de encontrar vários pontos ótimos; função tness adaptável; versão multi-objetivo adaptada baseada no SPEA2 ; representação do indivíduo como árvore n-ária; operadores genéticos de cruzamento e mutação adaptativos; acoplável á vários bancos de dados relacionais. Após uma extensa pesquisa, não foi encontrado uma solução para detecção de fraudes em transações eletrônicas, que combinasse todas essas características. 1 eclab/projects/ecj/

40 Capítulo 4 Metodologia Este capítulo descreve o método proposto para o processo de detecção de fraudes em transações eletrônicas em cartões de crédito, com o objetivo de criar modelos de classicação que auxiliem na identicação de transações fraudulentas. A metodologia apresentada tem como base o Processo de Descoberta de Conhecimento em Banco de Dados - Knowledge Discovery in Databases (KDD). Entretanto, o foco maior será dado na etapa de mineração de dados, que possui maior importância para o objetivo deste trabalho. As próximas seções apresentam uma descrição detalhada de cada uma das etapas da metodologia aplicada. 4.1 Etapas da Metodologia Esta seção apresenta a metodologia adotada neste trabalho. A Figura 4.1 ilustra de forma esquemática as etapas que serão descritas nas próximas seções. Figura 4.1: Metodologia de detecção de fraudes em transações eletrônicas. 28

41 4.3 Metodologia de Pesquisa Pré-processamento O objetivo desta etapa é permitir a criação de uma base de dados, em que cada registro contenha todas as informações de uma transação realizada. Uma vantagem particular é que a criação dessa fonte de dados única fornece uma maior facilidade de acesso aos dados, além de tornar mais performático o algoritmo, visto que o excesso de junções em bancos de dados relacionais, pode trazer perdas de performance ao algoritmo, dependendo da modelagem do banco de dados. Além disso, possuir uma base de dados única, é conveniente para muitos algoritmos de mineração de dados. Assim, uma fonte de dados é recebida e inserida em um banco de dados local, para isto, alguns passos são feitos: seleção de atributos, caracterização e particionamento dos dados em treino e teste. Para a carga dos dados, foi criado um software utilitário que faz leitura da fonte de dados, normalmente em formato.csv, onde a primeira linha do arquivo consiste nos nomes das colunas. Essa informação será base para a criação da tabela alvo. Um dos grandes desaos do trabalho é o grande desbalanceamento das classes do problema de fraudes em transações eletrônicas. De fato, transações fraudulentas ocorrem em menor número que as legítimas. Sendo assim, há um número desproporcional de instâncias que pertencem a cada classe. Comumente, a classe não fraude possui a grande maioria das amostras. Em contrapartida, a classe fraude possui muito poucos exemplares. Apesar disso, uma classicação correta da classe rara possui um valor maior do que uma classicação correta da classe majoritária. No entanto, a maioria dos classicadores tendem a focar a classicação nos exemplos majoritários o que pode causar a completa falha do classicador em relação ao objetivo desejado. Assim, em alguns datasets foram aplicados à técnica de undersampling durante o processo de carga dos dados. Undersampling é uma técnica simples para lidar com o desequilíbrio de classe, elimina os exemplos da classe majoritária para criar conjuntos de dados balanceados, e portanto, pode descartar dados úteis que são importantes para o processo de detecção de fraudes. Finalizada a carga dos dados, o próximo passo é a mineração dos dados propriamente dita, através da técnica de Programação Genética. 4.3 Programação Genética Durante o desenvolvimento do trabalho, duas versões de Programação Genética foram construídas: mono-objetivo e multi-objetivo, ambas utilizam uma técnica de nicho e elitismo. Ao longo desta seção será apresentado o mono-objetivo e posteriormente, na Seção 4.3.7, serão apresentadas as particularidades do multi-objetivo.

42 4.3 Metodologia de Pesquisa Indivíduo O indivíduo foi modelado, de tal forma a representar um predicado lógico, denido da mesma maneira que uma cláusula WHERE da SQL 1, conforme pode ser visto na Figura 4.2. Figura 4.2: Exemplo de indivíduo representando um predicado lógico SQL. Basicamente, existem duas formas principais de representar um indivíduo em tarefas de classicação em mineração de dados (Freitas, 2002), a saber: Abordagem Michigan: cada indivíduo representa uma única regra de classicação; Abordagem Pittsburgh: cada indivíduo representa um conjunto de regras de classicação. Na prática, a este trabalho utiliza a abordagem Michigan. Dessa forma, essa abordagem será considerada nas discussões feitas a partir deste ponto. Os operadores lógicos, nomes de atributos e restrições são combinadas de maneira a formar uma cláusula ltro. É importante notar que a árvore representa as restrições e condições para classicar a amostra, entretanto, o indivíduo armazena a classe predita (esperada) fora da árvore, ou seja, a classe predita não é um nó da árvore. Os nós da árvore podem ser dos seguintes tipos: Nós Funções: são formados por funções que, nesta implementação, possui exatamente um parâmetro e forma o conjunto possível de nós internos. Nós Terminais: o conjunto de nós terminais é formado por valores gerados aleatoriamente ou por atributos do banco de dados. Os nós da árvore incluem as seguintes informações: Tipo: os tipos implementados são booleano (lógico) ou numérico (real); Parâmetros: caso o corpo do nó seja uma chamada de função, esse nó deverá receber parâmetro, isto é, qual a função a ser representada. Caso trate-se de um nó terminal, ele receberá três parâmetros, o atributo o qual ele representa e o intervalos máximos e mínimos do atributo. 1 Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é a linguagem de pesquisa declarativa padrão para banco de dados relacional

43 4.3 Metodologia de Pesquisa 31 O conjunto de nós funções é composto por funções (ou operadores) convencionais, tais como =, <, >, >=, <= e AND. A originalidade do trabalho neste ponto está na representação da árvore do indivíduo. É possível visualizar na Figura 4.2 que a árvore não é binária, como desenvolvido por (Koza, 1992) e sim n-ária. Uma árvore n-ária é tal que em cada nó da mesma há um número arbitrário, limitado pela ordem da árvore, de lhos (Esakov e Weiss, 1989). Normalmente uma árvore n-ária é entendida como um superconjunto de árvores binárias. O ganho desta representação está na complexidade da busca dos nós da arvore, neste formato todos os nós estão na mesma profundidade, ou seja, trata-se de uma arvore balanceada, o que otimiza o desempenho computacional na criação, alteração e exclusão dos nós. Por consequência, otimiza os operadores genéticos de seleção, cruzamento e mutação. Essa representação de arvore n-ária é permitida, pois neste trabalho foi utilizado apenas a função AND do SQL como nó função, assim o nó raiz sempre será o mesmo. Para (Pereira, 2012), cabe destacar que uma regra não precisa conter necessariamente todos os atributos disponíveis do problema. Idealmente, procura-se pelo menor conjunto de regras que possuam somente aqueles atributos mais signicativos Geração da população inicial Conforme já descrito na Seção 2.8.1, a geração da população inicial, na maioria das vezes, é feita de forma aleatória e neste trabalho também é assim, respeitando as propriedades de fechamento e suciência. Nesta seção será apresentado como é feito este mecanismo. A partir de uma tabela alvo, ou seja uma tabela de treinamento, é feito a leitura de todos os metadados. Dentre as informações retornadas, estão: nome da tabela, quantidade de registros, nome de todos os atributos (colunas), tipo de todos os atributos, valores máximos e mínimos de cada atributo, quantidade de registros distintos por atributo, nome do atributo classe e as classes do problema. Essas informações de metadados são utilizadas para popular as informações dos nós da árvore de cada indivíduo. O método utilizado nesse trabalho é similar ao método grow, onde os nós são selecionados aleatoriamente nos conjuntos de nós funções e terminais, isso implica na geração de arvores irregulares. A diferença, é que o método grow varia a profundidade da árvore e como a árvore do indivíduo proposta é n-aria, o que varia portanto é o número de nós. O método é ilustrado na Figura Avaliação da Função Fitness A função tness é responsável por mensurar a efetividade de cada indivíduo. O algoritmo procurará por indivíduos que apresentem maior efetividade. Entende-se como "efetividade" de cada indivíduo, a sua capacidade de classicar corretamente o maior número de padrões (ou registros) de um banco de dados (Pereira, 2012). O cálculo da função tness é baseado em consultas SQL, submetidas ao banco de dados. O cálculo se refere a somente um indivíduo (regra de classicação) por vez e pode ser dividida em duas partes:

44 4.3 Metodologia de Pesquisa 32 Figura 4.3: Geração de população inicial. Determinação dos coecientes da matriz de confusão (Seção ); Cálculo da função tness (Seção ) Cálculo dos Coecientes da Matriz de Confusão Segundo (Pereira, 2012), existem diversas formas de se medir a efetividade de uma regra de classicação. As mais comuns se baseiam em cálculos realizados a partir dos coecientes da matriz de confusão, conforme Figura 4.4. Figura 4.4: Matriz de Confusão. Os coecientes da matriz, são calculados considerando cada uma das classes do problema. Esses coecientes, permitem o cálculo de algumas métricas de efetividade dos classicadores para cada uma das classes. Dentre essas métricas, pode-se citar: acurácia, sensibilidade e especicidade, onde: Acurácia: (T P +T N) ; (T P +T N+F P +F N) Sensibilidade: (T P ) ; (T P +F N) Especicidade: (T N). (T N+F P ) O número de verdadeiros positivos (TP) para cada indivíduo é o número de tuplas selecionadas utilizando o predicado nas quais as respectivas classes coincidem com a classe predita pelo indivíduo. O valor de verdadeiros negativos (TN) é calculado

45 4.3 Metodologia de Pesquisa 33 contando-se o número de tuplas que não são cobertas pelo predicado do indivíduo e que não pertençam à classe do indivíduo. O número de falsos positivos (FP) é identicado contando-se as tuplas obtidas pelo indivíduo que não pertençam à classe predita. Analogamente, o número de falsos negativos (FN) é calculado contando-se o número de tuplas que não são obtidas pelo indivíduo, mas que pertencem à classe esperada pelo indivíduo Cálculo da Função Fitness O cálculo da função tness utiliza os valores de acurácia, sensibilidade e especicidade medidos para cada indivíduo. A fórmula utilizada nesse trabalho é: f 1 (I, X) = Acurácia(I, X) Sensibilidade(I, X) Especificidade(I, X). Onde f(i, X) é o valor de tness e I é o indivíduo que identica padrões pertencentes à classe X Nichos A técnica de nichos consiste na divisão da população em espécies (que reúnem indivíduos com características semelhantes) para reduzir a competição por recursos e criar subpopulações estáveis, cada uma delas concentrada em uma parte do espaço de busca (Pappa, 2002). Métodos de nichos são conhecidos por sua capacidade de criar e manter populações diversas. A utilização desta técnica visa evitar a obtenção de um único ponto ótimo. Existem problemas que podem apresentar mais de um ponto ótimo. Assim, pode-se desejar conhecer uma maior variedade de pontos que minimizam a função objetivo em um problema de minimização. (Goldberg, 1989) propôs a utilização da técnica de nicho, a m de se obter as melhores regras de classicação para as n classes do problema a cada execução do algoritmo. Com utilização de técnicas de nicho permite-se um maior compartilhamento dos indivíduos no espaço de busca. A implementação proposta utiliza nichos por cada classe do problema, neste estudo de fraude, as transações fraudulentas representam um nicho e as não fraudulentas o outro nicho Seleção O método de seleção utilizado nesse trabalho é o torneio, conforme o mesmo já foi denido na Seção A implementação é feita da seguinte forma: 1. Selecione dois indivíduos aleatoriamente; 2. Compare os indivíduos, considerando o valor de tness; 3. Retorne o indivíduo vencedor no passo anterior. Para (Linden, 2008) a vantagem deste método é a impossibilidade de alguns indivíduos dominarem a população, o que levaria a uma rápida convergência.

46 4.3 Metodologia de Pesquisa Operadores Genéticos A originalidade desenvolvida nos operadores genéticos foi um mecanismo de ajuste de taxas de mutação e cruzamento. O Algoritmo 1 apresenta os passos para realização desse mecanismo. Esta abordagem visa aumentar as taxas de mutação e de cruzamento ao longo das gerações, quando o algoritmo estabiliza na busca de melhores soluções. Os parâmetros de entrada do algoritmo são: p c, p m, hist, max, taxa. Respectivamente representam a probabilidade inicial de cruzamento, probabilidade inicial de mutação, histórico de quantas gerações o algoritmo não encontrou soluções melhores, número máximo de gerações permitido sem melhora, multiplicador que dene quais serão os percentuais de cruzamento e mutação. A saída do algoritmo são as probabilidades de cruzamento e mutação alteradas. Algoritmo 1: Pseudocódigo para cruzamento e mutação adaptativos Adaptativo() 1 Entrada: p c, p m, hist, max, taxa 2 p cinitial p c 3 p minitial p m 4 gersemmelhora 0 5 se hist melhorou 6 p c p cinitial 7 p m p minitial 8 gersemm elhora 0 9 else 10 gersemm elhora gersemm elhora m-se 12 se gersemmelhora >= max 13 p c p c + taxa 14 p m p m + taxa 15 m-se Cruzamento O operador de cruzamento utilizado para o trabalho é baseado na implementação clássica desse operador na Programação Genética, que foi descrito na Seção Os passos básicos do operador são listados a seguir: 1. Selecione dois indivíduos; 2. Gere uma cópia de cada um desses indivíduos; 3. Selecione aleatoriamente um no de um dos indivíduos; 4. Selecione um outro nó, com o mesmo tipo do primeiro, dessa vez proveniente do segundo indivíduo; 5. Troque os dois nós selecionados entre os indivíduos. A Figura 4.5 ilustra esses passos do processo.

47 4.3 Metodologia de Pesquisa 35 Figura 4.5: Cruzamento Mutação O algoritmo proposto para este projeto utiliza as quatro categorias que foram citadas na Seção É importante destacar que, independente da categoria da mutação, este operador trabalha da seguinte forma: 1. Seleciona-se aleatoriamente um nó (terminal ou função); 2. Gera-se outro nó (simples ou uma sub-árvore) do mesmo tipo do nó selecionado do passo 1; 3. Substitui-se o nó selecionado pelo novo nó gerado. A Figura 4.6 ilustra os passos desse processo. Figura 4.6: Mutação.

48 4.3 Metodologia de Pesquisa Geração da nova População Após cada geração, são escolhidos os melhores indivíduos que serão avaliados mais adiante na fase de validação. São escolhidos também, dentre os melhores indivíduos, aqueles nos quais são aplicados os operadores genéticos, comumente cruzamento e mutação, a m de que seja gerada a nova população de indivíduos da próxima geração. O processo evolutivo continua até ser atingido o critério denido para terminação, geralmente um número máximo de gerações Elitismo Visando preservar e utilizar nas próximas gerações as melhores soluções encontradas na geração atual, decidiu-se por utilizar a estratégia de elitismo. Em sua versão mais simples, ela conserva os n e melhores indivíduos da população atual, copiando-os para a próxima geração sem nenhuma alteração. Os outros n n e indivíduos da população são gerados normalmente, através do método de seleção e posterior aplicação dos operadores genéticos. Assim, as melhores soluções não são apenas passadas de uma geração para outra, mas também participam da criação dos novos membros da nova geração (Pappa, 2002) Multi-objetivo A grande diferença que a versão multi-objetivo de Programação Genética incorpora está na fase de avaliação do indivíduo. Nesse ponto, onde o algoritmo passa a considerar mais de um objetivo. Em nosso trabalho, um deles continua sendo maximização da efetividade dos classicadores gerados (Seção ) e o outro, a minimização do tamanho de cada uma das regras, conforme a função: f 2 (I, X) = (QtdMaxNos 0, 5 QtdNos(I, X) 0, 5)/(QtdMaxNos 1). Onde, QtdMaxNos é o número máximo de nós que uma árvore de um indivíduo pode ter e a QtdNos, é o número de nós de uma árvore de um indivíduo. O valor da equação diminui até o seu valor mínimo de 0,5, que é produzido quando o número de nós é igual ao máximo permitido. A razão para denir o limite inferior a 0,5 é penalizar os indivíduos de tamanho grande, sem forçá-los a desaparecer da população (Bojarczuk et al., 2004). Assim, o principal objetivo da modelagem é gerar boas regras de classicação e com baixa complexidade (tamanho pequeno), uma vez que regras menores são mais simples de serem entendidas e tendem a evitar overtting (Pereira, 2012). A partir desse ponto, o indivíduo passa a ter um vetor de objetivos: [ ] f1 (I, X) Maximizar : f 2 (I, X) Esse vetor de objetivos é usado para calcular um tness global do indivíduo, baseado no conceito de dominância de Pareto. A originalidade de implementação algorítmica deste trabalho está na versão multi-objetivo de Programação Genética. Na Seção 2.9, apresentamos a versão

49 4.3 Metodologia de Pesquisa 37 original do SPEA2 proposta por (Zitzler et al., 2002). A diferença da solução proposta para a versão original está no cálculo do tness assignment, onde passa a ser calculado por nicho, o que causa alguns impactos: O indivíduo passa a implementar um vetor de strength tness, raw tness e consequentemente de tness assignment; A complexidade do algoritmo aumenta consideravelmente, pois para cada classe existente no problema de classicação é feito um novo calculo do tness assignment; O tamanho da população externa passa a ser divido pela quantidade de nichos, gerando assim o número de fronteiras de pareto de acordo com a quantidade de classes. Esta abordagem simula um SPEA2 paralelo, apresentando uma vantagem e uma desvantagem: Vantagem: A exploração do espaço de busca por nichos permite a obtenção de vários pontos ótimos, a m de se obter as melhores regras de classicação para as n classes do problema. Desvantagem: Quanto maior a complexidade do algoritmo, maior o tempo de execução, o que torna inviável para datasets de grande volume, ou seja, com quantidade superiores a registros. O Pseudocódigo 2, apresenta as modicações propostas no algoritmo SPEA2. O algoritmo SPEA2 foi adotado como implementação, pois a solução proposta permite utilizar mais de duas funções objetivo. Segundo Zitzler et al. (2002) o SPEA2 apresenta vantagens em comparação a outras abordagens multi-objetivo quando aplicado a uma dimensão alta de objetivos.

50 4.4 Metodologia de Pesquisa 38 Algoritmo 2: Pseudocódigo do SPEA2 proposto SPEA-II() 1 Entrada: tamanhopopulação, tamanhopopulaçãoexterna, taxacruzamento, taxamutaçao, tamanhomaxindivíduos 2 Saída: populaçãoexterna 3 população inicialização(tamanhopopulação, tamanhomaxindivíduos) 4 populaçãoexterna 5 enquanto ( condiçãoparada()) 6 para (S i População) 7 Si objetivos calculateobjetivos(s i ) 8 m-para 9 União população + populaçãoexterna 10 para cada nicho 11 para (S i União) 12 Si raw calcularawfitness(s i, União, nicho) 13 Si densidade calculadensidade(s i, União, nicho) 14 Si fitness Si raw + Si densidade 15 m-para 16 m-para 17 populaçãoexterna obtemnãodominadospornicho(união) 18 se (tamanho(populaçãoexterna) < tamanhopopulaçãoexterna 19 complementa(união, populaçãoexterna, tamanhopopulaçãoexterna) 20 senão se (tamanho(populaçãoexterna) > tamanhopopulaçãoexterna 21 trunca(populaçãoexterna, tamanhopopulaçãoexterna) 22 m-se 23 para cada nicho 24 selecionados seleção(populaçãoexterna, tamanhopopulação, nicho) 25 população cruzamentoemutação(selecionados, taxacruzamento, taxamutação) 26 m-para 27 m-enquanto 28 retorna (obtemnãodominadospornicho(populaçãoexterna)) 4.4 Predição Esta é uma etapa adicional ao processo, onde a partir dos modelos (regras), é possível realizar a predição da classe da transação. As sub-etapas dessa etapa, podem ser melhor visualizadas na Figura 4.7. Esta etapa de predição consiste em interpretar e avaliar os padrões obtidos na mineração de dados, neste caso a Programação Genética. Os modelos gerados são analisados para vericar o quão bem eles atendem aos objetivos do processo. Este passo pode envolver também a visualização dos padrões extraídos, que permite que os analistas explorem os dados e os resultados da mineração, a partir de uma diversidade de pontos de vista. O usuário também pode denir medidas para avaliar os padrões extraídos baseadas no conhecimento sobre o domínio da aplicação por exemplo, no caso da detecção de fraude pode-se criar medidas para calcular o montante de dinheiro economizado. Algumas medidas de avaliação do modelo são: validação cruzada, matriz de confusão, precisão, revocação, medida F1, acurácia, taxa de erro, eciência econômica. No caso de detecção de fraude, as classes possuem uma distribuição desbalanceada sendo assim, poderão ser descritas algumas das medidas para esse tipo de problema.

51 4.4 Metodologia de Pesquisa 39 Figura 4.7: Sub-etapas da etapa de predição. Precisão e Revocação são duas métricas amplamente usadas em aplicações onde a detecção bem sucedida de uma classe é considerada mais signicativa do que a de outra classe. A precisão, calculada conforme Equação 4.1, determina a fração de registros que realmente são positivos no grupo que o classicador declarou como classe positiva. A revocação, calculada conforme Equação 4.2, mede a fração de exemplos positivos previstos corretamente pelo classicador. P recisao, p = T P T P + F P (4.1) T P Revocacao, r = (4.2) T P + F N A Medida F1 representa a média harmônica entre precisão e revocação. Sendo assim, um valor alto da medida F1 assegura que tanto a precisão quanto a revocação sejam razoavelmente altas. A Equação 4.3 representa sua denição formal. F 1 = 2rp r + p = 2T P (4.3) 2T P + F P + F N Cabe destacar que Precisão, Revocação e Medida F1 são calculadas por classe Score de Fraude Os classicadores selecionados podem fornecer como resultado um score de um registro ser fraudulento ou não. Dessa forma, foi criada uma ferramenta de pontuação do risco de fraude. Essa ferramenta gera uma pontuação numérica indicando se uma transação pode ser fraudulenta: quanto maior a pontuação, mais risco de fraude possui a transação.

52 4.4 Metodologia de Pesquisa 40 Esta pontuação (score) é realizada através de um algoritmo de contagem de votos. A amostra é rotulada com a classe indicada pelo maior número de regras geradas. Por exemplo, se um registro é selecionado por três regras da classe A, duas regras da classe B e uma regra da classe C, então a amostra é classicada como A. O Algoritmo 3 apresenta como é realizado o cálculo do score. O algoritmo possui dois parâmetros de entrada: melhoresregrasf e melhoresregrasn F, representando as melhores regras de fraude e não fraude respectivamente. A saída do algoritmo é a pontuação de cada transação ser fraude. As melhores regras de cada classe são escolhidas da seguinte forma: PG Mono-objetivo: as dez melhores regras, de acordo com o tness; PG Multi-objetivo: a população externa, ou seja, os indivíduos não dominados. Algoritmo 3: Pseudocódigo do cálculo de score Score() 1 Entrada: melhoresregrasf, melhoresregrasn F 2 Saída: pontuacao 3 numregrasf regrascorrespondentes(melhoresregrasf ) 4 numregrasn F regrascorrespondentes(melhoresregrasn F ) 5 scoref numregrasf/melhoresregrasf.quantidade() 6 scoren F numregrasn F /melhoresregrasn F.quantidade() 7 pontuacao scoref scorenf 8 retorna pontuacao Um classicador baseado em regras, classica um registro de teste baseado na regra disparada pelo registro. Duas são as propriedades importantes do conjunto de regras gerado por um classicador: (1)Regras Mutuamente Excludentes - não devem haver duas regras que sejam disparadas pelo mesmo registro; (2) Regras Completas - cada registro deve ser coberto por pelo menos uma regra. Muitos classicadores baseados em regras não possuem tais propriedades. Neste caso, se um conjunto de regras não for completo uma regra padrão deve ser adicionada e disparada quando todas as outras falham. A classe atribuída por essa regra padrão é conhecida como classe padrão que geralmente é a classe majoritária. Caso as regras não sejam mutuamente excludentes, há duas formas de resolver o problema: (1) Regras Ordenadas - as regras são ordenadas de forma decrescente de prioridade, que pode ser de diversas maneiras, por exemplo, precisão, cobertura, ordem que foi gerada dentre outras; (2) Regras Não Ordenadas - permite que um registro dispare múltiplas regras de classicação e considera cada uma como um voto (ponderado ou não) para uma determinada classe, ao nal, o registro recebe a classe que tiver o maior número de votos (Júnior, 2012). Na seção seguinte será apresentada como é calculada a medida desempenho dos modelos usada neste trabalho Eciência Econômica No contexto da fraude, existem perdas nanceiras associadas a erros de classicação. Assim, não só a cobertura da fraude deve ser levada em consideração, mas também

53 4.4 Metodologia de Pesquisa 41 a eciência econômica do resultado. O conceito de Eciência Econômica diz respeito a avaliação nanceira dos resultados obtidos, a partir da utilização de um determinado modelo ou um conjunto de modelos. Dessa forma, é utilizada uma função proposta por (Lima e Pereira, 2012). Esta fórmula é baseada na contabilização dos ganhos e das perdas nanceiras de acordo com os estados denidos na matriz de confusão. O cálculo de Eciência Econômica (EE) é apresentado na Equação 4.4. EE = n (G j gr L j lr) (4.4) j=1 Onde n representa o número de transações existentes, G j, representa o valor nanceiro da transação verdadeira negativa (TN), ou seja, aquela que foi aceita corretamente, gr é o percentual de ganho da empresa em uma transação bem sucedida, L j, é o valor nanceiro da transação falsa negativa (FN) e lr é o percentual de perda da empresa em uma transação de fraude classicada como não fraude. Aplicando esta fórmula para a classicação fornecida pela técnica, é possível vericar o lucro ou prejuízo obtido com o algoritmo. Para que seja possível uma melhor avaliação do resultado obtido com a Eciência Econômica (EE), são denidos três limites a serem comparados. O primeiro limite é a Eciência Econômica Máxima (EE_Max), onde o termo (L lr) da Equação 4.4 é igual a 0, que representa o ganho máximo a ser obtido pela empresa, caso todas a fraudes sejam detectadas e nenhuma transação legítima seja considerada fraude. A Equação 4.5 representa esse cálculo. O segundo limite consiste na Eciência Econômica Real (EE_Real), que consiste no cálculo da Eciência Econômica (EE) considerando a eciência real existente. Neste caso, para que a técnica traga algum benefício econômico, é necessário que seus resultados quem acima deste limite. O último limite consiste na Eciência Econômica Mínima (EE_Min), onde o termo (G gr) da Equação 4.4 é igual a 0, que representa a pior situação possível, em que todas as transações legítimas foram consideradas fraudes e as transações de fraudes foram consideradas legítimas (Júnior, 2012). A Equação 4.6 representa esse cálculo. EE_Max = EE_Min = n (G j gr) (4.5) j=1 n ( L j lr) (4.6) Para avaliar o percentual de ganho obtido em relação ao ganho máximo possível deve-se utilizar Equação 4.7. Elas fornecem o ganho relativo em que 100% representa o ganho máximo possível (EE_Max) e 0% o cenário real (EE_Real). EE EE_Real EE Relativa = (4.7) EE_Max EE_Real Na seção seguinte será apresentada como é utilizada a medida desempenho dos modelos. j=1

54 4.5 Metodologia de Pesquisa Ranking Como forma de maximizar os resultados obtidos com o classicador, é proposta a geração de um ranking, considerando a probabilidade do registro ser fraudulento. Assim, a Eciência Econômica deverá ser analisada ao longo do ranking de forma a encontrar um ponto onde os resultados são maximizados. A Tabela 4.1, exemplica a proposta de classicação para um conjunto hipotético de 10 transações. Onde, o valor cobrado pela empresa para processar a transação (gr) é de 3%. O objetivo é encontrar o ponto de máximo de eciência econômica ao longo deste ranking. A coluna ID é o identicador de transação, P é a pontuação de fraude, Real é o rótulo verdadeiro da transação, P red é o rótulo previsto, V é o valor da transação, EE é a eciência econômica da transação e EE S é o somatório das eciências ao longo do rank. Tabela 4.1: Exemplo de um ranking. Rank ordenado pela pontuação de fraude ID P Real Pred V EE EE S % F F R$ 601,00 R$ 0,00 0, % NF NF R$ 500,00 R$ 15,00 15, % NF NF R$ 466,00 R$ 13,98 28, % NF NF R$ 600,00 R$ 18,00 46, % NF NF R$ 500,00 R$ 15,00 61, % NF NF R$ 1.000,00 R$ 30,00 91, % NF NF R$ 1.100,00 R$ 33,00 124, % F NF R$ 800,00 R$ -776,00-651, % NF NF R$ 790,00 R$ 23,70-627,32 5 5% F F R$ 100,00 R$ 0,00-627,32 Analisando a Tabela 4.1, verica-se que o ponto do ranking da transação de ID 2678 foi detectada uma fraude corretamente e é o ponto que se obtêm a maior eciência. Se analisássemos somente se a transação é fraude ou não fraude, sem considerar o ponto de eciência econômica, iríamos detectar duas fraudes, porém a eciência econômica, seria bem inferior. Essa proposta se demonstra ser muito interessante, pois possibilita maximizar os resultados, diminuindo as perdas nanceiras. 4.5 Considerações nais Este capítulo apresentou uma metodologia para detecção de fraude em transações eletrônicas. Essa metodologia, possui três etapas principais: pré-processamento, Programação Genética e predição. O Capítulo A apresentará o framework desenvolvido.

55 Capítulo 5 Experimentos e Resultados Os capítulos anteriores permitiram uma ampla compreensão dos conceitos abordados neste trabalho. As fraudes em transações com cartão de crédito foram amplamente discutidas, juntamente com toda a metodologia adotada. Para a aplicação e validação da metodologia apresentada, serão utilizados dois cenários de validação com dados reais: Um conjunto de datasets de transações eletrônicas, que foram obtidos através de um projeto de cooperação com o Universo Online (UOL); Três datasets conhecidos da literatura, disponibilizados pela UCI Machine Learning. O presente capítulo fará uma uma breve apresentação das aplicações utilizadas neste trabalho como estudo de caso, a apresentação dos datasets que foram adotados e por m, a apresentação dos resultados obtidos. 5.1 UOL PagSeguro No Capítulo 2, foi apresentado o conceito de chargeback e como ele afeta cada uma das partes envolvidas na transação. Dessa forma, devido aos prejuízos causados pelas fraudes, surgiram na Web empresas que buscam fornecer soluções para pagamentos online com o objetivo de tornar as transações de compra e venda na Internet mais seguras. O UOL PagSeguro possui uma solução completa para pagamentos online, que garante a segurança de quem compra e de quem vende na Web. Quem faz uma compra com UOL PagSeguro tem a garantia de produto ou serviço entregue ou receberá seu dinheiro de volta. O objetivo é fomentar o comércio eletrônico, eliminando as barreiras que dicultam a concretização de negociações. O principal desao da instituição é aumentar a conança e segurança nas transações, eliminando o medo e a insegurança dos compradores 1. Em Janeiro de 2007 o UOL 2 adquiriu a BRpay. Em Abril de 2007 a BRpay foi escolhida pela InfoExame 3 como a melhor solução para pagamentos online. Em Ju

56 5.3 Experimentos e Resultados 44 lho de 2007, o UOL lançou o PagSeguro 4, dobrando a oferta de meios de pagamento, acrescentando parcelamento em todos os cartões, diminuindo as taxas e adicionando a central de atendimento telefônico. Em 2007, o PagSeguro fechou o ano com pouco mais de 100 parceiros de desenvolvimento, 8 mil lojas e 1 milhão de compradores. Em Novembro 2008 o PagSeguro foi escolhido pelos leitores da revista InfoExame como o site do ano na categoria comércio eletrônico, e terminou o ano com mais de 500 parceiros de desenvolvimento, 20 mil lojas ativas e 3 milhões de compradores UCI Machine Learning A UCI Machine Learning Repository é uma coleção de bancos de dados que são utilizados pela comunidade de aprendizado de máquina para a análise empírica de algoritmos de aprendizado de máquina. O arquivo foi criado por David Aha e colegas de pós-graduação na Universidade da Califórnia em Irvine. Desde então, tem sido amplamente utilizado por estudantes, educadores e pesquisadores de todo o mundo, como uma das principais fontes de conjuntos de dados para aprendizagem de máquina. Foi citado mais de vezes, tornando-se um dos top papers mais citados em toda a ciência da computação. A versão atual do site foi projetada em 2007 por Arthur Assunção e David Newman. Este projeto é em colaboração com Rexa.info na Universidade de Massachusetts Amherst. 5.3 Datasets utilizados Para validação do trabalho foram utilizados 20 datasets de fraude e outros 3 da literatura. Os datasets de fraudes foram gerados considerando períodos de tempo, portanto os mesmos não possuem registros iguais. A diferença entre eles está na composição dos atributos, número de registros, balanceamento das classes, além disso alguns datasets foram gerados através de análise histórica dos dados, am de permitir uma melhor classicação. A Tabela 5.1 apresenta algumas informações dos datasets do UOL Pagseguro: total de registros, tipo e quantidade de atributos. Dentre os atributos, temos: informações da transação (p. ex., valor, número de parcelas do pagamento, hora), do comprador (p. ex., idade, localidade), do cartão de crédito (p. ex., operadora) e do vendedor (p. ex., categoria do produto que vende). Não serão apresentados todos os atributos, pois o conjunto ultrapassa os 300 atributos, além existir um termo de acordo para garantir a condencialidade de algumas informações, pois estamos tratando de informações nanceiras. A Tabela 5.2 apresenta algumas informações dos datasets do UCI: total de registros, quantidade de atributos

57 5.3 Experimentos e Resultados 45 Tabela 5.1: Datasets UOL PagSeguro. ID Total Registros Número Atributos Tipo dos Atributos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Tabela 5.2: Datasets UCI. Dataset Total Registros Número Atributos Iris Hepatitis Cancer (Original)

58 5.4 Experimentos e Resultados Preparação dos dados Esta fase dos experimentos consiste na aplicação da primeira etapa da metodologia, conforme apresentado na Seção 4.2. O uxo detalhado de preparação dos dados pode ser visto na Figura 5.1. Figura 5.1: Fluxo de preparação dos dados. A seguir apresentamos uma breve descrição de cada etapa realizada. 1. Etapa 1: dado um arquivo com as informações das transações, através de uma ferramenta, é realizada a leitura deste arquivo e assim gerado os scripts para carga no banco de dados; 2. Etapa 2: gerados os scripts, é feita a criação da estrutura do banco de dados e realizada a inserção dos registros brutos; 3. Etapa 3: neste momento, é feito a categorização, ou seja, aqueles que eram atributos cujos tipos eram string ou data/hora foram transformados em numéricos; 4. Etapa 4: nesta etapa, é realizada a seleção dos atributos, ou seja, aqueles mais atributos mais relevantes para o cenário a ser vericado; 5. Etapa 5: por último, é realizado a criação dos datasets, realizando a divisão em treinamento e teste. Em alguns casos, foi aplicado a técnica de undersampling. A Tabela 5.3 apresenta informações de quantidade e percentuais da divisão de treinamento e teste dos datasets do UOL. O motivo dessa divisão é devido aos dados de fraude serem temporais, assim uma divisão utilizado a técnica de validação cruzada não permitiria a reprodução do cenário real da empresa que adotamos para a aplicação da metodologia.

59 5.4 Experimentos e Resultados 47 Tabela 5.3: Divisão treino e teste. Quantidade Percentual ID Treino Teste Treino Teste ,814 24, ,643 96, ,717 31, ,652 97, ,032 86, ,871 25, ,731 96, ,569 82, ,514 95, ,000 40, ,514 95, ,000 40, ,729 95, ,000 40, ,729 95, ,000 40, ,255 94, ,000 40, ,255 94, ,000 40,000

60 5.4 Experimentos e Resultados 48 A Tabela 5.4 apresenta informações dos dados de treinamento: quantidade de registros e percentuais de fraude e não fraude, além de informar se no dataset foi aplicado undersampling, caso positivo é apresentada também a proporção atribuída. Por exemplo, a simbologia 1/10, quer dizer, para cada fraude foi incluída uma não fraude de forma aleatória sem repetição. Quantidade Tabela 5.4: Datasets de fraude para treinamento. Treino Percentual ID Não Fraude Fraude Total Registros Não Fraude Fraude Undersampling ,397 0,603 Não ,000 50,000 Sim 1/ ,380 0,620 Não ,000 50,000 Sim 1/ ,909 9,091 Sim 1/ ,350 0,650 Não ,000 50,000 Sim 1/ ,909 9,091 Sim 1/ ,909 9,091 Sim 1/ ,714 0,287 Não ,909 9,091 Sim 1/ ,714 0,287 Não ,909 9,091 Sim 1/ ,699 0,301 Não ,909 9,091 Sim 1/ ,699 0,301 Não ,909 9,091 Sim 1/ ,664 0,336 Não ,909 9,091 Sim 1/ ,664 0,336 Não A Tabela 5.5 apresenta informações dos dados de testes: quantidade de registros e percentuais de fraude e não fraude. Para o cenário de UCI, cada dataset foi dividido em 10 folds. Este método divide o conjunto de dados em 10 partições mutuamente exclusivas mantendo a proporção de classes dos dados originais. Finalizado todo esse uxo de preparação dos dados, o framework desenvolvido tem a capacidade de gerar modelos (regras) para a classicação dos registros de dados.

61 5.4 Experimentos e Resultados 49 Tabela 5.5: Datasets de fraude para teste. Quantidade Teste Percentual ID Não Fraude Fraude Total Registros Não Fraude Fraude ,349 0, ,349 0, ,434 0, ,434 0, ,434 0, ,374 0, ,374 0, ,374 0, ,686 0, ,686 0, ,686 0, ,686 0, ,703 0, ,703 0, ,703 0, ,703 0, ,726 0, ,726 0, ,726 0, ,726 0,274

62 5.5 Experimentos e Resultados Aplicação do Framework O uxo de execução do framework é apresentado na Figura 5.2. Figura 5.2: Fluxo de execução do Framework. 1. Etapa 1: consiste na geração dos modelos através do algoritmo de Programação Genética desenvolvido, conforme apresentado na Seção 4.3; 2. Etapa 2: através do classicador desenvolvido, é feita a predição, conforme apresentado na Seção 4.4; 3. Etapa 3: por último, é realizado a geração dos resultados, conforme apresentado na Seção Durante os experimentos com os datasets apresentados na Seção 5.3, o framework proposto foi congurado com os seguintes parâmetros descritos na Tabela 5.6: TM, é a taxa de mutação; TC, a taxa de cruzamento; NG, o número de gerações; TP, o tamanho da população. Tabela 5.6: Congurações do Framework ID TM TC NG TP 1 2,50% 75%

63 5.6 Experimentos e Resultados 51 Alguns testes preliminares foram feitos com outros valores de parâmetro. Porém, os valores que melhor atenderam a necessidade foram estes apresentados na Tabela Resultados Esta etapa consiste na apresentação e avaliação dos resultados obtidos na etapa de execução do algoritmo proposto. Para isso, conforme mostrado no Capítulo 4, são utilizadas algumas métricas para indicar a qualidade dos resultados Resultados datasets UOL Para o caso de fraude, os resultados obtidos são mostrados, onde o ponto no ranking de probabilidade de fraude dos resultados são maximizados. O experimento completo para o cenário de fraude foi realizado da seguinte forma: o algoritmo foi executado 20 vezes para cada dataset. Os resultados são apresentados na Tabela 5.7, onde EFR é a Eciência Econômica Relativa. Para facilitar a identicação, o melhor resultado é destacado em negrito. Lembrando que a EFR apresentada é gerada no melhor ponto do ranking. Em sua versão multi-objetivo, a Programação Genética, apesar de apresentar um resultado um pouco melhor, demonstrou-se com um desempenho computacional muito ruim, onde, em média, ultrapassou 48 horas de execução, o que praticamente inviabilizou os testes nos outros datasets de fraude. Portanto foi decidido que os testes seriam realizados apenas no Dataset 1. O resultado é apresentado na Tabela 5.8. Para o cenário de fraude, a solução proposta foi comparada com as seguintes técnicas: MLP, Random Forest e SVM. Esta comparação foi realizada em apenas um dos datasets de fraude, o dataset selecionado foi o Dataset 1, os motivos dessa escolha foram: 1. No início do desenvolvimento desta dissertação, foi elaborado um estudo mais amplo utilizando o Dataset 1, que inclusive gerou o artigo, "Using genetic programming to detect fraud in electronic transactions" (Assis et al., 2013); 2. As bases de dados são bastante volumosas, o que aumentaria o tempo de execução do algoritmo, causando assim a necessidade de mais prazo; O resultado desta comparação é apresentado na Tabela 5.9. A Figura 5.3 apresenta a comparação dos métodos desenvolvidos ao longo das execuções realizadas. Mostra que ao longo das execuções a versão multi-objetivo foi superior a mono-objetivo. A Figura 5.4 apresenta a comparação dos métodos desenvolvidos com as outras técnicas testadas ao longo das execuções realizadas. Mostra que ao longo das execuções as técnicas desenvolvidas foram superiores a outras técnicas. A m de obter uma comparação mais criteriosa do ponto de vista estatístico, utilizou-se uma abordagem de comparação proposta por (Carrano et al., 2011).

64 5.6 Experimentos e Resultados 52 Tabela 5.7: Resultados datasets UOL PagSeguro Código EFR 1 17,6% 2 15,69% 3 30,40% 4 29,70% 5 25,83% 6 33,49% 7 35,36% 8 35,72% 9 6,33% 10 0,14% 11 8,63% 12 1,25% 13 3,08% 14 0,05% 15 6,66% 16 0,00% 17 4,87% 18 4,76% 19 4,90% 20 3,75% Tabela 5.8: Resultado Dataset 1 com Programação Genética Multi-objetivo. Código EFR 1 17,75% Tabela 5.9: Resultadas do Dataset 1 UOL. PG Multi PG Mono MLP Random Forest SVM Média 17,75% 17,6% 15,30% 14,51% 0,71% Desvio Padrão 0,084 0,179 0,00 0,00 0,00

65 5.6 Experimentos e Resultados 53 Figura 5.3: Comparação das técnicas desenvolvidas. Figura 5.4: Comparação das técnicas desenvolvidas com as outras técnicas. Estes testes geram uma ordenação dos métodos, a qual é validada utilizando testes de permutação. O resultado nal do procedimento é uma ordenação estatisticamente embasada dos esquemas de entradas e o p-valor relacionado com cada uma das classicações. Todos os algoritmos são comparados entre si. Uma vez que o valor de conança adotado é de 95%, p-valores menores que 5% sugerem que os métodos são estatisticamente diferentes. De posse dos p-valores entre os algoritmos, é possível classicar os algoritmos. Um algoritmo que é estatisticamente melhor do que os outros sempre se encontra na primeira posição, um algoritmo que só é superado pela primeira ocupa a segunda posição e assim por diante. Quando dois (ou mais) algoritmos estão sobrelinhados (ou sublinhados), em conjunto, isto signica que não há nenhuma evidência estatística que tais algoritmos são diferentes.

66 5.6 Experimentos e Resultados 54 A notação adotada para representar os resultados alcançados após as comparações entre os algoritmos é apresentada nas Figuras 5.5 e 5.6. Para o entendimento da notação é necessário associar os algoritmos da seguinte forma: 1-PG Multi-objetivo, 2-PG Mono-objetivo, 3-MLP, 4-Random Forest e 5- SVM. A Figura 5.5 mostra que estatisticamente os algoritmos desenvolvidos são superiores aos outros, quando aplicada ao conjunto de dados de fraude. Figura 5.5: Comparação estatística das técnicas desenvolvidas com as outras técnicas. A Figura 5.6 mostra que estatisticamente o PG multi-objetivo é superior ao mono-objetivo quando aplicado ao conjunto de dados de fraude. Figura 5.6: Comparação estatística entre as técnicas desenvolvidas Resultados datasets UCI O framework também foi submetido a experimentos em datasets conhecidos da literatura, são eles: Breast Cancer Wisconsin, Hepatitis e Iris. O experimento completo para o cenário dos datasets de UCI foi realizado seguindo também a metodologia proposta. A execução do algoritmo foi realizada 1 vez para cada partição do dataset, garantindo assim a validação cruzada. A execução é repetida até que todas as partições tenham sido testadas. Todo experimento foi repetido 3 vezes. Totalizando 30 resultados para cada dataset. As métricas são calculadas considerando uma média dos resultados obtidos em cada partição de teste. A medida utilizada nestes cenários é a acurácia, visto que a maioria dos trabalhos da literatura usam esta medida para estes avaliarem estes datasets. Durante os testes nos datasets de UCI, a versão multi-objetivo da Programação Genética se demonstrou viável. Os melhores resultados das duas versões são apresentados na Tabela Para efeito de comparação serão apresentados alguns trabalhos que utilizaram os mesmos datasets e a mesma medida de avaliação. Para facilitar a identicação, os resultados obtidos pelas técnicas propostas serão destacados em negrito. A Tabela 5.11 mostra uma comparação entre acurácia da classicação dos algoritmos propostos com outros métodos da literatura para Iris Dataset. Com base nos resultados, PG multi-objetivo tem a segunda posição no ranking, seguido pelo

67 5.6 Experimentos e Resultados 55 Tabela 5.10: Resultados da Programação Genética com Datasets UCI. Dataset Versão PG Iris Hepatitis Cancer Mono-objetivo 94,00 86,00 96,00 Multi-objetivo (SPEA2) 94,6 86,9 96,3 PG-Mono. Entre 11 algoritmos comparados, o PG multi-objetivo foi melhor do que 10. Tabela 5.11: Comparação Iris Dataset. Baseado em: (Devasena et al., 2011). Técnica Acurácia NNGE Classier 96,00 PG Multi-objetivo 94,6 PG Mono-objetivo 94,00 JRIP Classier 94,00 PART Classier 94,00 RIDOR Classier 94,00 OneR Classier 94,00 Decision Table Classier 92,67 DTNB Classier 92,00 Conjunctive Rule Classier 66,67 ZeroR Classier 33,33 A Tabela 5.12 mostra uma comparação entre acurácia da classicação dos algoritmos propostos com outros métodos da literatura para Hepatite Dataset. Com base nos resultados, o PG multi-objetivo tem a quarta posição no ranking. Embora a abordagem proposta não apresenta melhor resultado, o algoritmo mostra competitiva com outras técnicas. Entre 10 algoritmos comparados, os resultados do PG multi-objetivo foi melhor do que 6. A Tabela 5.13 mostra uma comparação entre acurácia da classicação dos algoritmos propostos com outros métodos da literatura para o Cancer Dataset. Com base nos resultados, PG multi-objetivo tem a terceira posição no ranking. Muito perto do segundo algoritmo, onde a diferença na acurácia é de apenas 0,05%. Entre 9 algoritmos de comparados, o PG multi-objetivo foi melhor do que 6. Da mesma forma como apresentado para o dataset de fraude, serão apresentados nas Figuras 5.7, 5.8 e 5.9, os resultados estatísticos para os datasets de UCI. Estes resultados é a comparação entre os métodos desenvolvidos apenas. A comparação estatística entre os outros métodos não foi possível uma vez que utilizamos informações da literatura. A Figura 5.7 mostra que as técnicas desenvolvidas não possuem nenhuma diferença estatística para o conjunto de dados Iris. A Figura 5.8 mostra que as técnicas desenvolvidas não possuem nenhuma diferença estatística para o conjunto de dados Hepatitis.

68 5.6 Experimentos e Resultados 56 Tabela 5.12: Comparação Hepatitis Dataset. Baseado em: (Jilani et al., 2011). Técnica Acurácia PCA-ANN 89,6 15NN, stand. Euclidean 89 FSM without rotations 88,5 PG Multi-objetivo 86,9 LDA 86,4 Naïve Bayes and seminb 86,3 PG Mono-objetivo 86,0 IncNet 86 QDA, quadratic discriminant analysis 85,8 1NN 85,3 Tabela 5.13: Comparação Cancer Dataset. Baseado em: (Salama et al., 2012). Técnica Acurácia SMO 97,715 Linear discreet analysis 96,8 PG Multi-objetivo 96,3 PG Mono-objetivo 96,0 Hybrid Approach 95,96 Supervised fuzzy clustering 95,57 Neuron-fuzzy 95,06 C4.5 94,74 CART with feature selection (Chisquare) 92,61

69 5.6 Experimentos e Resultados 57 Figura 5.7: Comparação estatística entre as técnicas desenvolvidas para Iris Dataset. Figura 5.8: Comparação estatística entre as técnicas desenvolvidas para Hepatitis Dataset. A Figura 5.9 mostra que as técnicas desenvolvidas não possuem nenhuma diferença estatística para o conjunto de dados Cancer. Figura 5.9: Comparação estatística entre as técnicas desenvolvidas para Cancer Dataset Análises Após a realização desses experimentos, pode-se avaliar algumas hipóteses realizadas em relação à metodologia aplicada e a sua ecácia na resolução do problema. Essas hipóteses serão discutidas a seguir: A seleção dos atributos é bastante relevante para a detecção de fraude: nos resultados apresentados, é possível analisar que em determinados casos, houve datasets que obtiveram ganhos bem superiores, quando avaliados com atributos diferentes. Para alguns datasets foi utilizado o algoritmo InfoGain do pacote Weka 6. Melhorar a distribuição das classes minoritárias pode gerar regras de classicação de melhor qualidade: é possível perceber que na maioria dos casos onde foi aplicado undersampling, houve ganhos em relação às bases onde a distribuição era real. A eciência econômica permite avaliar a qualidade dos resultados, no contexto de fraude: uma vantagem competitiva de empresas que estão sujeitas fraude é a diminuição das perdas nanceiras, logo, quando a qualidade é avaliada com esta medida, permite-se realmente conhecer as perdas e ganhos. Com os resultados obtidos dos datasets de UCI, os algoritmos demonstraram uma generalidade, podendo ser aplicados domínios diferentes ao de fraude; 6

70 5.7 Experimentos e Resultados 58 A versão multi-objetivo (SPEA2 ) da Programação Genética pode gerar resultados melhores que a mono-objetivo: os resultados estatísticos mostram que nos datasets de fraude testados, a versão multi-objetivo gera resultados melhores, já nos datasets de UCI apesar da versão multi-objetivo ter apresentado uma média levemente superior, não foi detectada diferença estatística entre as amostras. Porém durante os experimentos, ca claro que quando submetido a volumes grandes de registros o algoritmo perde muita performance, dessa forma é necessário investigar técnicas para otimização. O framework proposto é ecaz na detecção de fraude: os resultados mostram ganhos de eciência de até 35,72%. Suas grandes vantagens: (a) acoplável á vários banco de dados relacionais, (b) código aberto, (c) a linguagem de programação que foi desenvolvido é livre, (d) pode ser utilizado para classicação de datasets de outros domínios, (e) se comporta muito bem com datasets desbalanceados. 5.7 Considerações nais Este capítulo descreveu a experimentação e resultados obtidos, onde foi executada a metodologia proposta no Capítulo 4. Para a validação do processo de detecção de fraude foi utilizado um conjunto de dados real de uma das maiores empresas no Brasil de serviços de pagamentos eletrônicos. As etapas da metodologia proposta foram todas seguidas: o conjunto de dados foi recebido, assim foi realizado uma carga inicial dos dados, os atributos menos relevantes foram excluídos, aqueles atributos que necessitavam de tratamento, foram transformados, formando assim um conjunto de 20 datasets, que foram utilizados para execução da técnica de Programação Genética e posteriormente classicados. Os resultados obtidos com a técnica mostra ganhos em relação ao que a corporação obteve com seu processo interno de detecção de fraude. Além disso, os resultados mostram que a metodologia sugerida é eciente para geração de regras de classicação e para o processo de detecção de fraude. O framework também foi submetido a outros datasets conhecidos e os resultados apresentados são compatíveis em termos de acurácia com as técnicas utilizadas na literatura. O próximo capítulo irá apresentar uma visão geral sobre trabalhando realizado, além das conclusões e trabalhos futuros.

71 Capítulo 6 Conclusão No Brasil e no mundo, as perdas com fraudes em comércio eletrônico atingem índices elevados. Em consequência disso as perdas nanceiras chegam a bilhões de dólares todos os anos. Este trabalho propôs uma metodologia, na qual incorpora um framework que utiliza a técnica de Programação Genética para detecção de fraudes em transações eletrônicas. Para que fosse possível o entendimento da problemática do estudo e a criação da técnica proposta, no Capítulo 2 foi apresentado uma ampla discussão sobre a história, funcionamento, entidades envolvidas e as fraudes em cartões de crédito. Também foi discutido tópicos sobre otimização e classicação de dados, além da apresentação de duas versões implementadas da técnica de Programação Genética. O primeiro algoritmo proposto neste trabalho foi a versão mono-objetivo da técnica, que serviu de base para o desenvolvimento da versão multi-objetivo, incorporando o algoritmo SPEA2 ao framework desenvolvido. A estrutura teórica necessária à implementação da solução proposta foi apresentada no Capítulo 2. No Capítulo 3 foram apresentados diversos trabalhos relacionados ao tema. A partir da análise destes trabalhos, não foi possível identicar nenhum trabalho que contemplasse os objetivos propostos neste trabalho que apresentasse uma proposta de Programação Genética para detecção de fraudes em transações eletrônicas com todas as características construídas. A metodologia foi detalhada no Capítulo 4, anal o trabalho proposto tem como alvo esta etapa. Na sequência foram discutidas as etapas necessárias para a implementação do trabalho, cujas etapas principais da metodologia são: préprocessamento (preparação dos dados), Programação Genética (mineração e geração de regras) e predição (classicação e analise dos resultados). Neste trabalho foram apresentadas algumas novidades implementadas para a solução proposta: Uma estrutura em árvore n-ária para o indivíduo. Essa modicação traz uma grande otimização para o desempenho computacional para criação dos indivíduos e para os operadores genéticos, visto que a complexidade algorítmica na busca pelos nós do indivíduo diminui consideravelmente. A elaboração de uma função adaptativa para os operadores genéticos. Essa adaptação permite alterar as taxas de cruzamento e mutação ao longo das 59

72 6.1 Conclusão 60 gerações, quando as soluções se estabilizam em nível de qualidade, fazendo com que o espaço de busca seja melhor explorado. A criação de uma nova versão do algoritmo multi-objetivo de SPEA2, onde o cálculo do tness assignment passa a ser calculado por nicho. Esta estratégia apresentou uma grande vantagem na exploração do espaço de busca, pois permite a obtenção de vários pontos ótimos. Porém, a versão multi-objetivo proposta apresentou uma desvantagem que deve ser investigada. A complexidade do algoritmo aumentou, o que torna inviável para datasets de grande volume, ou seja, superiores a registros. O Anexo A detalha o framework proposto. Por m, o Capítulo 5 apresenta a experimentação e resultados obtidos. Nesta etapa foram realizados experimentos nas duas versões da Programação Genética, em 20 datasets de um caso real e também outros 3 datasets conhecidos da literatura. Além disso, também foram feitas algumas comparações com alguns algoritmos consagrados. Os resultados apresentados para os datasets de fraude demonstraram-se superiores ao cenário real da empresa. Para os datasets de UCI Machine Learning Repository, os resultados apresentam-se competitivos comparados a outros métodos relevantes da literatura. Portanto, deve-se considerar que os objetivos do trabalho foram atingidos. A técnica proposta possui alguns aspectos a serem considerados: possui integração com vários banco de dados; capacidade de lidar bem com grandes volumes de informação (versão mono-objetivo); código aberto e livre; fácil adaptação da função tness, podendo assim trabalhar com outras medidas de avaliação das regras; e a capacidade de lidar com datasets desbalanceados, visto que a maioria dos problemas reais possui desbalanceamento, o que faz da ferramenta proposta não só relevantes do ponto de vista cientíco, quanto do ponto de vista prático. 6.1 Trabalhos futuros Muitas características do algoritmo podem ser implementadas para atingir resultados melhores, são elas: A versão multi-objetivo apresentou resultados melhores que a mono-objetivo, uma vez que em quando comparado estatisticamente, foi melhor em dois testes e nos outros testes não houve diferença. Porém, a versão multi-objetivo proposta não apresentou uma performance aceitável para datasets volumosos, ou seja, com quantidade de registros superiores a Desta forma é necessário investigar técnicas para redução da complexidade computacional do algoritmo, visando a aceleração do método. Foram utilizados poucos bancos de dados da literatura. Assim, sugere-se que se aplique os algoritmos em mais bases de dados conhecidas. A predição é realizada através de um algoritmo de contagem de votos, para um nível de acerto melhor do classicador, pode ser investigado uma outra técnica.

73 6.2 Conclusão 61 Durante o trabalho, houve pouca variação dos parâmetros utilizados na Programação Genética, assim, sugere-se testes com uma combinação maior de parâmetros. Adaptar o algoritmo para acesso a banco de dados NoSQL, permitindo a integração com problemas direcionados a BigData. 6.2 Produção bibliográca durante o Mestrado O desenvolvimento dessa dissertação teve como produção bibliográca os seguintes trabalhos: Periódicos: Carlos Assis, Adriano Pereira, Marconi Pereira, Eduardo Carrano. A multiobjective genetic programming based approach for fraud detection in credit card transactions. Information Sciences. Artigo submetido. Conferências: Carlos Assis, Adriano Pereira, Marconi Pereira, Eduardo Carrano Using genetic programming to detect fraud in electronic transactions. In Proceedings of the 19th Brazilian symposium on Multimedia and the web (WebMedia '13). ACM, New York, NY, USA, DOI: / Carlos Assis, Adriano Pereira, Marconi Pereira, Eduardo Carrano. Detecção de fraude em transações eletrônicas com cartões de crédito utilizando Programação Genética. In: IX Semana de Ciência & Tecnologia do CEFET/MG, 2013, Belo Horizonte. Anais da IX Semana de Ciência & Tecnologia do CE- FET/MG, Resumo expandido. Carlos Assis, Adriano Pereira, Marconi Pereira, Eduardo Carrano. A genetic programming approach for fraud detection in electronic transactions. Artigo a ser submetido.

74 Apêndice A O Framework A solução desenvolvida consiste de duas fases, a primeira diz respeito a construção do algoritmo de Programação Genética para descoberta de regras de classicação. E a segunda, a construção de um algoritmo classicador, que usa as regras geradas para predição das fraudes. Os algoritmos foram desenvolvidos utilizando a linguagem de programação Java 1. O algoritmo apresentado na Seção 4.3 foi desenvolvido de maneira a compor um framework de classicação de padrões para detecção de fraudes em transações eletrônicas, especicamente em cartões de crédito. Segundo (Markiewicz, 2000), um framework é um componente de software que se destina a resolver uma categoria de problemas semelhantes. Esse componente possui partes extensíveis ou exíveis, os quais podem ser alterados, dependendo do problema que o framework deve solucionar, essas partes são chamadas de hot spots. As partes imutáveis, que constituem o núcleo do framework, são chamadas frozen spots. Como existe grande exibilidade de conguração e parametrização desse algoritmo, o framework ajudará a determinar combinações coerentes e alternativas de conguração adequadas a cada situação de uso. Assim, os hot spots a serem con- gurados são: tamanho da população, número de gerações, taxa de mutação, taxa de cruzamento, tabela alvo, conjunto de funções e terminais, e caso a versão multiobjetivo do algoritmo esteja sendo executado, é necessário enviar o tamanho da população externa. Os frozen spots são: função tness, acoplamento a o Sistema de Gerenciamento de Banco de Dados e o tipo da árvore do indivíduo (n-ária ou binária). A Figura A.1 mostra o desenho do núcleo do algoritmo de Programação Genética. Esse é o modulo main do algoritmo e é através dele que todo o processo é iniciado. A Figura A.2 mostra o desenho da estrutura de árvore projetada para o indivíduo. Dentro dessa estrutura é permitida a extensão das árvores. Assim os indivíduos podem ser projetados com várias estrutura de dados em árvore, o que torna a representação mais exível. A Figura A.3 mostra o desenho da estrutura dos nós terminais. A Figura A.4 mostra o desenho da estrutura dos nós funções. Para compor a etapa de predição da metodologia, conforme apresentado na Seção 4.4, foi construído um algoritmo que recebe os seguintes parâmetros: o nome do dataset de testes e o caminho de origem dos modelos gerados. Existem dois classi

75 Referências biliográcas 63 cadores. O primeiro classicador é responsável pela predição dos datasets de fraude, esse tem como saída a Eciência Econômica. O segundo classicador é responsável pela predição das bases de UCI Machine Learning Repository 2, este tem como saída a acurácia. A Figura A.5 mostra o diagrama de classe do algoritmo. Conforme apresentado, a solução foi implementada em duas versões: monoobjetivo e multi-objetivo. As versões estão disponíveis em um repositório público disponível através da Web 3. A versão denominada ProjetoMestrado é a versão mono-objetivo e o ProjetoMestrado é a versão multi-objetivo. Para utilizar o framework, é necessário congurar os parâmetros na classe ConstantesProgramaGenetico. Estes parâmetros são apresentados na Tabela A.1. Tabela A.1: Parâmetros do framework Parâmetro Descrição Tipo TAMANHO_POPULACAO Tamanho da população Numérico TAMANHO_POPULACAO_EXTERNA Tamanho da população externa, quando a execução do PG multi-objetivo Numérico NUMERO_GERACOES Número de gerações Numérico TAXA_MUTACAO Taxa de mutação Numérico TAXA_CRUZAMENTO Taxa de cruzamento Numérico TABELA_ORIGEM_DADOS Tabela alvo Texto COLUNA_CLASSE Atributo classe da tabela alvo Texto Para instanciá-lo, é necessário executar o método ProgramacaoGenetica().executa(). Os requisitos técnicos necessários para o funcionamento são: o JDK 1.5+ e o banco de dados MySQL Nada impede a integração com outros bancos de dados, basta para isso adicionar o driver corresponde do banco de dados instalado e alterar o método PoolConexaoBancoDados.getConnection(). Neste capítulo, foi apresentado o framework construído e suas características, que será utilizado nos experimentos do próximo capítulo

76 Referências Bibliográcas 64 Figura A.1: Diagrama de classe do algoritmo de Programação Genética.

77 Referências Bibliográcas 65 Figura A.2: Diagrama de classe da estrutura de árvore do indivíduo. Figura A.3: Estrutura nós terminais.

78 Referências Bibliográcas 66 Figura A.4: Estrutura nós funções. Figura A.5: Diagrama de classe do algoritmo classicador.

ADM041 / EPR806 Sistemas de Informação

ADM041 / EPR806 Sistemas de Informação ADM041 / EPR806 Sistemas de Informação UNIFEI Universidade Federal de Itajubá Prof. Dr. Alexandre Ferreira de Pinho 1 Sistemas de Apoio à Decisão (SAD) Tipos de SAD Orientados por modelos: Criação de diferentes

Leia mais

Fraudes No Varejo Virtual: O Que Aprendemos na Submarino - Maio/04

Fraudes No Varejo Virtual: O Que Aprendemos na Submarino - Maio/04 Fraudes No Varejo Virtual: O Que Aprendemos na Submarino - Maio/04 - Tópicos Características da Internet Prevenção de fraudes pelos comerciantes Sistemas de detecção Ferramentas Processos Pessoas Compromisso

Leia mais

Este regulamento está em vigor a partir do 11/07/2007 (inclusive) substituindo e cancelando o anterior

Este regulamento está em vigor a partir do 11/07/2007 (inclusive) substituindo e cancelando o anterior Este regulamento está em vigor a partir do 11/07/2007 (inclusive) substituindo e cancelando o anterior REGULAMENTO DE ACÚMULO DE PONTOS NO PROGRAMA BRADESCO COM TRANSFERÊNCIA PARA O PROGRAMA FIDELIDADE

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Este regulamento está em vigor a partir do 11/07/2007 (inclusive) substituindo e cancelando o anterior

Este regulamento está em vigor a partir do 11/07/2007 (inclusive) substituindo e cancelando o anterior Este regulamento está em vigor a partir do 11/07/2007 (inclusive) substituindo e cancelando o anterior REGULAMENTO DE ACÚMULO DE PONTOS NO PROGRAMA BRADESCO COM TRANSFERÊNCIA PARA O PROGRAMA FIDELIDADE

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Complemento IV Introdução aos Algoritmos Genéticos

Complemento IV Introdução aos Algoritmos Genéticos Complemento IV Introdução aos Algoritmos Genéticos Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações e

Leia mais

OTIMIZAÇÃO VETORIAL. Formulação do Problema

OTIMIZAÇÃO VETORIAL. Formulação do Problema OTIMIZAÇÃO VETORIAL Formulação do Problema Otimização Multiobjetivo (também chamada otimização multicritério ou otimização vetorial) pode ser definida como o problema de encontrar: um vetor de variáveis

Leia mais

PLANOS DE CONTINGÊNCIAS

PLANOS DE CONTINGÊNCIAS PLANOS DE CONTINGÊNCIAS ARAÚJO GOMES Capitão SC PMSC ARAÚJO GOMES defesacivilgomes@yahoo.com.br PLANO DE CONTINGÊNCIA O planejamento para emergências é complexo por suas características intrínsecas. Como

Leia mais

Você sabia que... O pagamento numa loja virtual. Guia #6 Como as formas de pagamento podem interferir nas minhas vendas

Você sabia que... O pagamento numa loja virtual. Guia #6 Como as formas de pagamento podem interferir nas minhas vendas Guia #6 Como as formas de pagamento podem interferir nas minhas vendas Você sabia que... Hoje, 77% dos brasileiros já utilizam cartão de crédito, aponta estudo do Serviço de Proteção ao Crédito (SPC Brasil)

Leia mais

PERGUNTAS MAIS FREQUENTES 1. MEUS PEDIDOS

PERGUNTAS MAIS FREQUENTES 1. MEUS PEDIDOS PERGUNTAS MAIS FREQUENTES 1. MEUS PEDIDOS Consigo rastrear o minha Compra? Sim. As informações mais atualizadas sobre sua Compra e a situação de entrega de sua Compra estão disponíveis em Meus pedidos.

Leia mais

A moeda possui três funções básicas: Reserva de Valor, Meio de troca e Meio de Pagamento.

A moeda possui três funções básicas: Reserva de Valor, Meio de troca e Meio de Pagamento. 29- A lógica da composição do mercado financeiro tem como fundamento: a) facilitar a transferência de riscos entre agentes. b) aumentar a poupança destinada a investimentos de longo prazo. c) mediar as

Leia mais

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE Questionamento a alta direção: 1. Quais os objetivos e metas da organização? 2. quais os principais Produtos e/ou serviços da organização? 3. Qual o escopo da certificação? 4. qual é a Visão e Missão?

Leia mais

Concepção e Elaboração

Concepção e Elaboração UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Análise e Projeto Orientado a Objetos Concepção e Elaboração Estudo

Leia mais

Aprendizagem de Máquina

Aprendizagem de Máquina Aprendizagem de Máquina Professor: Rosalvo Ferreira de Oliveira Neto Disciplina: Inteligência Artificial Tópicos 1. Definições 2. Tipos de aprendizagem 3. Paradigmas de aprendizagem 4. Modos de aprendizagem

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

4 Segmentação. 4.1. Algoritmo proposto

4 Segmentação. 4.1. Algoritmo proposto 4 Segmentação Este capítulo apresenta primeiramente o algoritmo proposto para a segmentação do áudio em detalhes. Em seguida, são analisadas as inovações apresentadas. É importante mencionar que as mudanças

Leia mais

Análise de custo projetado da plataforma SAP HANA

Análise de custo projetado da plataforma SAP HANA Um estudo Total Economic Impact da Forrester Encomendado pela SAP Diretora do projeto: Shaheen Parks Abril de 2014 Análise de custo projetado da plataforma SAP HANA Economia de custo proporcionada pela

Leia mais

Sistema de mineração de dados para descobertas de regras e padrões em dados médicos

Sistema de mineração de dados para descobertas de regras e padrões em dados médicos Sistema de mineração de dados para descobertas de regras e padrões em dados médicos Pollyanna Carolina BARBOSA¹; Thiago MAGELA² 1Aluna do Curso Superior Tecnólogo em Análise e Desenvolvimento de Sistemas

Leia mais

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento Ramon Pereira Lopes Rangel Silva Oliveira 31 de outubro de 2011 1 Introdução O presente documento refere-se ao relatório

Leia mais

Contestação de Despesas Desacordo Comercial

Contestação de Despesas Desacordo Comercial Contestação de Despesas Desacordo Comercial Semarc Regional Seminário de Relacionamento com Clientes Fortaleza, 30 de abril de 2013. Abril-13 1 Sobre a Abecs Criada em 1971. Representa o setor de meios

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Banco do Brasil S.A. Consulta ao Mercado - RFP - Request for Proposa Aquisição de Ferramenta de Gestão de Limites Dúvida de Fornecedor

Banco do Brasil S.A. Consulta ao Mercado - RFP - Request for Proposa Aquisição de Ferramenta de Gestão de Limites Dúvida de Fornecedor 1. Em relação ao módulo para Atribuição de Limites, entendemos que Banco do Brasil busca uma solução para o processo de originação/concessão de crédito. Frente a essa necessidade, o Banco do Brasil busca

Leia mais

MINERAÇÃO DE DADOS APLICADA. Pedro Henrique Bragioni Las Casas pedro.lascasas@dcc.ufmg.br

MINERAÇÃO DE DADOS APLICADA. Pedro Henrique Bragioni Las Casas pedro.lascasas@dcc.ufmg.br MINERAÇÃO DE DADOS APLICADA Pedro Henrique Bragioni Las Casas pedro.lascasas@dcc.ufmg.br Processo Weka uma Ferramenta Livre para Data Mining O que é Weka? Weka é um Software livre do tipo open source para

Leia mais

Realizando Vendas no site do Cartão BNDES

Realizando Vendas no site do Cartão BNDES Realizando Vendas no site do Cartão BNDES Fornecedor Atualizado em 16/07/2013 Pág.: 1/23 Introdução Este manual destina-se a orientar os fornecedores que irão registrar as vendas no site do Cartão BNDES,

Leia mais

Disciplina: Suprimentos e Logística II 2014-02 Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem

Disciplina: Suprimentos e Logística II 2014-02 Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem Disciplina: Suprimentos e Logística II 2014-02 Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem Caros alunos, Essa terceira atividade da nossa disciplina de Suprimentos e Logística

Leia mais

Gestão do Conhecimento A Chave para o Sucesso Empresarial. José Renato Sátiro Santiago Jr.

Gestão do Conhecimento A Chave para o Sucesso Empresarial. José Renato Sátiro Santiago Jr. A Chave para o Sucesso Empresarial José Renato Sátiro Santiago Jr. Capítulo 1 O Novo Cenário Corporativo O cenário organizacional, sem dúvida alguma, sofreu muitas alterações nos últimos anos. Estas mudanças

Leia mais

Extração de Árvores de Decisão com a Ferramenta de Data Mining Weka

Extração de Árvores de Decisão com a Ferramenta de Data Mining Weka Extração de Árvores de Decisão com a Ferramenta de Data Mining Weka 1 Introdução A mineração de dados (data mining) pode ser definida como o processo automático de descoberta de conhecimento em bases de

Leia mais

Welcome Call em Financeiras. Categoria Setor de Mercado Seguros

Welcome Call em Financeiras. Categoria Setor de Mercado Seguros Categoria Setor de Mercado Seguros 1 Apresentação da empresa e sua contextualização no cenário competitivo A Icatu Seguros é líder entre as seguradoras independentes (não ligadas a bancos de varejo) no

Leia mais

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES Trabalho de Graduação Orientando: Vinicius Stein Dani vsdani@inf.ufsm.br Orientadora: Giliane

Leia mais

11 de maio de 2011. Análise do uso dos Resultados _ Proposta Técnica

11 de maio de 2011. Análise do uso dos Resultados _ Proposta Técnica 11 de maio de 2011 Análise do uso dos Resultados _ Proposta Técnica 1 ANÁLISE DOS RESULTADOS DO SPAECE-ALFA E DAS AVALIAÇÕES DO PRÊMIO ESCOLA NOTA DEZ _ 2ª Etapa 1. INTRODUÇÃO Em 1990, o Sistema de Avaliação

Leia mais

ESTUDO DE VIABILIDADE. Santander, Victor - Unioeste Aula de Luiz Eduardo Guarino de Vasconcelos

ESTUDO DE VIABILIDADE. Santander, Victor - Unioeste Aula de Luiz Eduardo Guarino de Vasconcelos ESTUDO DE VIABILIDADE Santander, Victor - Unioeste Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos O que é um estudo de viabilidade? O que estudar e concluir? Benefícios e custos Análise de Custo/Benefício

Leia mais

CHECK - LIST - ISO 9001:2000

CHECK - LIST - ISO 9001:2000 REQUISITOS ISO 9001: 2000 SIM NÃO 1.2 APLICAÇÃO A organização identificou as exclusões de itens da norma no seu manual da qualidade? As exclusões são relacionadas somente aos requisitos da sessão 7 da

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

6 Construção de Cenários

6 Construção de Cenários 6 Construção de Cenários Neste capítulo será mostrada a metodologia utilizada para mensuração dos parâmetros estocásticos (ou incertos) e construção dos cenários com respectivas probabilidades de ocorrência.

Leia mais

Resumo do Contrato de seu Cartão de Crédito do HSBC

Resumo do Contrato de seu Cartão de Crédito do HSBC Resumo do Contrato de seu Cartão de Crédito do HSBC Leia estas informações importantes para aproveitar todas as vantagens do seu novo cartão de crédito. Resumo do Contrato de seu Cartão de Crédito do

Leia mais

Introdução. 1. Introdução

Introdução. 1. Introdução Introdução 1. Introdução Se você quer se atualizar sobre tecnologias para gestão de trade marketing, baixou o material certo. Este é o segundo ebook da série que o PDV Ativo, em parceria com o Agile Promoter,

Leia mais

5 Conclusões e Recomendações

5 Conclusões e Recomendações 5 Conclusões e Recomendações 5.1 Conclusões O objetivo deste estudo foi utilizar a base de dados de clientes de uma empresa para desenvolver um modelo de regressão logística que determine o risco de cancelamento

Leia mais

Resumo do Contrato Cartão Colombo visa

Resumo do Contrato Cartão Colombo visa Resumo do Contrato Cartão Colombo visa Leia estas informações importantes para aproveitar todas as vantagens do seu novo cartão de crédito. SuMÁRIO EXECUTIVO Este resumo apresenta informações essenciais

Leia mais

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

Leia mais

Resumo do Contrato de seu Cartão de Crédito Instituto HSBC Solidariedade

Resumo do Contrato de seu Cartão de Crédito Instituto HSBC Solidariedade Resumo do Contrato de seu Cartão de Crédito Instituto HSBC Solidariedade Leia estas informações importantes para aproveitar todas as vantagens do seu novo cartão de crédito. Resumo do Contrato de seu

Leia mais

Histórico da Revisão. Data Versão Descrição Autor

Histórico da Revisão. Data Versão Descrição Autor Sistema de Gerenciamento de Loja - SIGEL Documento de Visão Versão 1.0.0 Histórico da Revisão Data Versão Descrição Autor 13/01/2011 0.1 Versão preliminar do levantamento de requisitos funcionais e não

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

2 Atualidade de uma base de dados

2 Atualidade de uma base de dados 2 Atualidade de uma base de dados Manter a atualidade de uma base de dados é um problema que pode ser abordado de diferentes maneiras. Cho e Garcia-Molina [CHO] definem esse problema da seguinte forma:

Leia mais

Modelo Cascata ou Clássico

Modelo Cascata ou Clássico Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação

Leia mais

Frequently Asked Questions

Frequently Asked Questions Frequently Asked Questions O que é o Cartão Prépago Multi-Moedas do Banco do Brasil O Cartão Prépago Multi-Moedas do Banco do Brasil Americas é um novo cartão prépago, recarrégavel do Banco do Brasil Americas

Leia mais

4 Avaliação Econômica

4 Avaliação Econômica 4 Avaliação Econômica Este capítulo tem o objetivo de descrever a segunda etapa da metodologia, correspondente a avaliação econômica das entidades de reservas. A avaliação econômica é realizada a partir

Leia mais

Secretaria de Estado da Fazenda Guia prático para emissão de Conhecimento de Transporte Eletrônico (CT-e)

Secretaria de Estado da Fazenda Guia prático para emissão de Conhecimento de Transporte Eletrônico (CT-e) Secretaria de Estado da Fazenda Guia prático para emissão de Conhecimento de Transporte Eletrônico (CT-e) Para dar mais agilidade e segurança à administração tributária, os Estados brasileiros, o Distrito

Leia mais

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Planejamento Estratégico de TI. Prof.: Fernando Ascani Planejamento Estratégico de TI Prof.: Fernando Ascani BI Business Intelligence A inteligência Empresarial, ou Business Intelligence, é um termo do Gartner Group. O conceito surgiu na década de 80 e descreve

Leia mais

APOO Análise e Projeto Orientado a Objetos. Requisitos

APOO Análise e Projeto Orientado a Objetos. Requisitos + APOO Análise e Projeto Orientado a Objetos Requisitos Requisitos 2 n Segundo Larman: n São capacidades e condições às quais o sistema e em termos mais amplos, o projeto deve atender n Não são apenas

Leia mais

PLANEJAMENTO DA MANUFATURA

PLANEJAMENTO DA MANUFATURA 58 FUNDIÇÃO e SERVIÇOS NOV. 2012 PLANEJAMENTO DA MANUFATURA Otimizando o planejamento de fundidos em uma linha de montagem de motores (II) O texto dá continuidade à análise do uso da simulação na otimização

Leia mais

Projeto Incubadora no SecondLife

Projeto Incubadora no SecondLife Projeto Incubadora no SecondLife Motivação do Projeto Ilhas de produção de conteúdo de qualidade no Second Life Um dos problemas encontrados atualmente na Internet é a enorme quantidade de conteúdos de

Leia mais

Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento a partir de bases de dados

Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento a partir de bases de dados Universidade Federal de Pernambuco Graduação em Ciência da Computação Centro de Informática 2006.2 Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento

Leia mais

Entenda agora as mudanças para as novas contratações do FIES

Entenda agora as mudanças para as novas contratações do FIES Entenda agora as mudanças para as novas contratações do FIES Em notícias divulgadas nos meios de comunicação o Ministério da Educação informou as mudanças constantes relacionadas ao FIES. Segue abaixo

Leia mais

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE Mariane Alves Gomes da Silva Eliana Zandonade 1. INTRODUÇÃO Um aspecto fundamental de um levantamento

Leia mais

Como conduzir com sucesso um projeto de melhoria da qualidade

Como conduzir com sucesso um projeto de melhoria da qualidade Como conduzir com sucesso um projeto de melhoria da qualidade Maria Luiza Guerra de Toledo Coordenar e conduzir um projeto de melhoria da qualidade, seja ele baseado no Seis Sigma, Lean, ou outra metodologia

Leia mais

Manutenção de Domicílio Bancário no Mercado de Cartões

Manutenção de Domicílio Bancário no Mercado de Cartões Manutenção de Domicílio Bancário no Mercado de Cartões Página 1 de 9 Manutenção de Domicílio Bancário no Mercado de Cartões A partir de 1º de julho de 2010, com a quebra da exclusividade, os Estabelecimentos

Leia mais

COMO USAR OS VÍDEOS ONLINE PARA ALAVANCAR O MEU E-COMMERCE

COMO USAR OS VÍDEOS ONLINE PARA ALAVANCAR O MEU E-COMMERCE COMO USAR OS VÍDEOS ONLINE PARA ALAVANCAR O MEU E-COMMERCE White Paper com dicas essenciais para quem já trabalha ou pretende trabalhar com vídeos em lojas virtuais. 1 PORQUE USAR VÍDEOS ONLINE NO E-COMMERCE?

Leia mais

Processo de Pagamento de solicitações de ingressos para o Público Geral para a Copa do Mundo da FIFA Brasil 2014

Processo de Pagamento de solicitações de ingressos para o Público Geral para a Copa do Mundo da FIFA Brasil 2014 1. Quais são os meios de pagamento aceitos? Nas Fases de Vendas nº 1 e nº 2, é possível realizar pagamentos para compra de Ingressos pelos seguintes meios: - Cartão de pagamento - VISA - Outros cartões

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

XVIII Seminário Nacional de Distribuição de Energia Elétrica. SENDI 2008-06 a 10 de outubro. Olinda - Pernambuco - Brasil

XVIII Seminário Nacional de Distribuição de Energia Elétrica. SENDI 2008-06 a 10 de outubro. Olinda - Pernambuco - Brasil XVIII Seminário Nacional de Distribuição de Energia Elétrica SENDI 2008-06 a 10 de outubro Olinda - Pernambuco - Brasil Pagamento da Conta de Energia com Cartão de débito Visa Rosimeri Xavier de Oliveira

Leia mais

Perguntas e Respostas NOVO SITE PEDIDOSONLINE HERBALIFE NO MYHERBALIFE.COM.BR BRASIL, 2013.

Perguntas e Respostas NOVO SITE PEDIDOSONLINE HERBALIFE NO MYHERBALIFE.COM.BR BRASIL, 2013. Geral Como posso pedir produtos em outros países? Como eu coloco Pedidos através do myherbalife.com.br? Como eu pago a Taxa de Processamento Anual? Esse mês tem fechamento duplo. Eu terei a possibilidade

Leia mais

Política de privacidade do Norton Community Watch

Política de privacidade do Norton Community Watch Política de privacidade do Norton Community Watch Data de início: 5 de agosto de 1999 Última atualização: 16 de abril de 2010 O que é o Norton Community Watch? O Norton Community Watch permite que os usuários

Leia mais

Módulo 4. Construindo uma solução OLAP

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

REDUZINDO AS QUEBRAS ATRAVÉS DA MANUTENÇÃO PROFISSIONAL

REDUZINDO AS QUEBRAS ATRAVÉS DA MANUTENÇÃO PROFISSIONAL REDUZINDO AS QUEBRAS ATRAVÉS DA MANUTENÇÃO PROFISSIONAL Luiz Rodrigo Carvalho de Souza (1) RESUMO O alto nível de competitividade exige que as empresas alcancem um nível de excelência na gestão de seus

Leia mais

Treinamento de. Linx Pos

Treinamento de. Linx Pos Treinamento de caixa Linx Pos Será instalados no terminal da loja, o ícone, conforme imagem abaixo: Linx POS ÍNDICE Abertura de caixa e leitura X Lançamentos Cancelamento de itens Consulta preços no ato

Leia mais

PERGUNTAS MAIS FREQÜENTES SOBRE VALOR PRESENTE LÍQUIDO (VPL)

PERGUNTAS MAIS FREQÜENTES SOBRE VALOR PRESENTE LÍQUIDO (VPL) PERGUNTAS MAIS FREQÜENTES SOBRE VALOR PRESENTE LÍQUIDO (VPL) Melhor método para avaliar investimentos 16 perguntas importantes 16 respostas que todos os executivos devem saber Francisco Cavalcante(f_c_a@uol.com.br)

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos UNIVERSIDADE PRESBITERIANA MACKENZIE Laboratório de Computação Natural LCoN I ESCOLA DE COMPUTAÇÃO NATURAL Algoritmos Genéticos Rafael Xavier e Willyan Abilhoa Outubro/2012 www.computacaonatural.com.br

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

PLANEJAMENTO OPERACIONAL: RECURSOS HUMANOS E FINANÇAS MÓDULO 16

PLANEJAMENTO OPERACIONAL: RECURSOS HUMANOS E FINANÇAS MÓDULO 16 PLANEJAMENTO OPERACIONAL: RECURSOS HUMANOS E FINANÇAS MÓDULO 16 Índice 1. Orçamento Empresarial...3 2. Conceitos gerais e elementos...3 3. Sistema de orçamentos...4 4. Horizonte de planejamento e frequência

Leia mais

2 Fundamentação Conceitual

2 Fundamentação Conceitual 2 Fundamentação Conceitual 2.1 Computação Pervasiva Mark Weiser define pela primeira vez o termo Computação Ubíqua ou Computação Pervasiva (Ubiquitous Computing) em (10). O autor inicia o trabalho com

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

ROTEIRO PARA ELABORAÇÃO DE PROJETOS APRESENTAÇÃO ROTEIRO PARA ELABORAÇÃO DE PROJETOS Breve histórico da instituição seguido de diagnóstico e indicadores sobre a temática abrangida pelo projeto, especialmente dados que permitam análise da

Leia mais

Perguntas Frequentes. Distribuidores

Perguntas Frequentes. Distribuidores Perguntas Frequentes Distribuidores O que é o site Compre Lista Escolar? É um site que possui um sistema desenvolvido, exclusivamente, para que distribuidores possam realizar vendas de livros escolares

Leia mais

Perguntas frequentes

Perguntas frequentes Perguntas frequentes 1. MEUS PEDIDOS Consigo rastrear o minha Compra? Sim. As informações mais atualizadas sobre sua Compra e a situação de entrega de sua Compra podem ser adquiridas a qualquer momento

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

CARTÃO DE CRÉDITO CARTÃO DE DÉBITO

CARTÃO DE CRÉDITO CARTÃO DE DÉBITO TIPOS DE CARTÃO CARTÃO DE CRÉDITO Instrumento de pagamento que possibilita ao portador adquirir bens e serviços nos estabelecimentos credenciados mediante um determinado limite de crédito. O cliente poderá

Leia mais

Projeto Você pede, eu registro.

Projeto Você pede, eu registro. Projeto Você pede, eu registro. 1) IDENTIFICAÇÃO 1.1) Título do Projeto: Você pede eu registro. 1.2) Equipe responsável pela coordenação do projeto: Pedro Paulo Braga Bolzani Subsecretario de TI Antonio

Leia mais

Módulo 4: Gerenciamento de Dados

Módulo 4: Gerenciamento de Dados Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não

Leia mais

Prof. Cleber Oliveira Gestão Financeira

Prof. Cleber Oliveira Gestão Financeira Aula 2 Gestão de Fluxo de Caixa Introdução Ao estudarmos este capítulo, teremos que nos transportar aos conceitos de contabilidade geral sobre as principais contas contábeis, tais como: contas do ativo

Leia mais

4 Arquitetura básica de um analisador de elementos de redes

4 Arquitetura básica de um analisador de elementos de redes 4 Arquitetura básica de um analisador de elementos de redes Neste capítulo é apresentado o desenvolvimento de um dispositivo analisador de redes e de elementos de redes, utilizando tecnologia FPGA. Conforme

Leia mais

No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o

No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o DATABASE MARKETING No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o empresário obter sucesso em seu negócio é

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

Leia mais

O Que é Data Warehouse

O Que é Data Warehouse O Que é Data Warehouse Escrito por Carlos Alberto Sowek Buscando dar uma melhor visão sobre uma proposta de arquitetura de um Data Warehouse para a Celepar, bem como para os clientes da Celepar, sentimos

Leia mais

Como Processos Criam Valor?

Como Processos Criam Valor? Como Processos Criam Valor? Eu comecei este Advisor há um mês. Li um artigo sobre processos e valor que pensei estar inadequado e decidi ver se eu poderia disponibilizar uma descrição mais clara e compreensível.

Leia mais

Extração de Requisitos

Extração de Requisitos Extração de Requisitos Extração de requisitos é o processo de transformação das idéias que estão na mente dos usuários (a entrada) em um documento formal (saída). Pode se entender também como o processo

Leia mais

Política de Gerenciamento de Risco Operacional

Política de Gerenciamento de Risco Operacional Política de Gerenciamento de Risco Operacional Departamento Controles Internos e Compliance Fevereiro/2011 Versão 4.0 Conteúdo 1. Introdução... 3 2. Definição de Risco Operacional... 3 3. Estrutura de

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

PR 2 PROCEDIMENTO. Auditoria Interna. Revisão - 2 Página: 1 de 9

PR 2 PROCEDIMENTO. Auditoria Interna. Revisão - 2 Página: 1 de 9 Página: 1 de 9 1. OBJETIVO Estabelecer sistemática de funcionamento e aplicação das Auditorias Internas da Qualidade, fornecendo diretrizes para instruir, planejar, executar e documentar as mesmas. Este

Leia mais

1 Introdução 1.1. Contextualização

1 Introdução 1.1. Contextualização 1 Introdução 1.1. Contextualização O mercado de cartões no Brasil ainda está em fase de amadurecimento. A maior estabilização da economia brasileira com o plano real após 1994 permitiu uma explosão da

Leia mais

Superando desafios em Centros de Distribuição com Voice Picking. Rodrigo Bacelar ID Logistics Paula Saldanha Vocollect

Superando desafios em Centros de Distribuição com Voice Picking. Rodrigo Bacelar ID Logistics Paula Saldanha Vocollect Superando desafios em Centros de Distribuição com Voice Picking Rodrigo Bacelar ID Logistics Paula Saldanha Vocollect Prêmio ABRALOG Índice Informações Gerais... 3 Dificuldades Encontradas...............

Leia mais

Síntese das discussões do fórum Livro-APF: Julho/2010

Síntese das discussões do fórum Livro-APF: Julho/2010 Síntese das discussões do fórum Livro-APF: Julho/2010 Assunto: Estimativa de Aumento de Produtividade Data: 01/07/2010 Link: http://br.groups.yahoo.com/group/livro-apf/message/2577 Dúvida: Existe alguma

Leia mais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de

Leia mais