Introdução e motivação

Detecção de Fraudes em R

Bart Baesens

Professor Data Science at KU Leuven

Instrutores

picture_Bart.png

Detecção de Fraudes em R

Instrutores

picture_BartTim.png

Detecção de Fraudes em R

Instrutores

picture_BartTimSebastiaan.png

Detecção de Fraudes em R

O que é fraude?

Fraude é um crime incomum, bem planejado, imperceptivelmente oculto, que evolui no tempo e muitas vezes é cuidadosamente organizado, aparecendo em muitos tipos e formas.

lobo_em_pele_de_cordeiro

Detecção de Fraudes em R

Impacto da fraude

  • Fraude é muito rara, mas o custo de não detectá-la pode ser enorme!
  • Exemplos:
    • Organizações perdem 5% da receita anual com fraudes
    • Dinheiro perdido por empresas com fraude > US$ 3,5 trilhões por ano
    • Empresas de cartão de crédito perdem cerca de 7 centavos a cada US$ 100 em transações por fraude
    • Fraude consome 5–10% dos valores de sinistros pagos em seguros não vida
Detecção de Fraudes em R

Tipos de fraude

  • Anti-lavagem de dinheiro
  • Cheque fraudulento
  • Fraude em cartão de crédito
  • Fraude aduaneira
  • Falsificação
  • Roubo de identidade
  • Fraude em seguros
  • Fraude hipotecária
  • Fraude por não entrega
  • Fraude online
  • Fraude em garantia de produto
  • Evasão fiscal
  • Fraude em telecomunicações
  • Furto de estoque
  • Fraude em ingressos
  • Fraude em transporte
  • Fraude via transferência
  • Fraude em indenização trabalhista
Detecção de Fraudes em R

Características-chave de modelos bem-sucedidos de analytics de fraude

  • Precisão estatística

robinhood

Detecção de Fraudes em R

Características-chave de modelos bem-sucedidos de analytics de fraude

  • Precisão estatística
  • Interpretabilidade

minorityreport

Detecção de Fraudes em R

Características-chave de modelos bem-sucedidos de analytics de fraude

  • Precisão estatística
  • Interpretabilidade
  • Conformidade regulatória

regulatory

Detecção de Fraudes em R

Características-chave de modelos bem-sucedidos de analytics de fraude

  • Precisão estatística
  • Interpretabilidade
  • Conformidade regulatória
  • Impacto econômico

dagobert

Detecção de Fraudes em R

Características-chave de modelos bem-sucedidos de analytics de fraude

  • Precisão estatística
  • Interpretabilidade
  • Conformidade regulatória
  • Custo econômico
  • Complementar abordagens de especialistas com técnicas orientadas por dados

manmachine

Detecção de Fraudes em R

Desafios do modelo de detecção de fraude

  • Desbalanceamento
    • ex.: em fraude de cartão de crédito < 0,5% de fraudes, tipicamente

montedeFeno

Detecção de Fraudes em R

Desafios do modelo de detecção de fraude

  • Desbalanceamento
    • ex.: em fraude de cartão de crédito < 0,5% de fraudes, tipicamente
  • Eficiência operacional
    • ex.: em cartão de crédito < 8 segundos de tempo de decisão

flash

Detecção de Fraudes em R

Desafios do modelo de detecção de fraude

  • Desbalanceamento
    • ex.: em fraude de cartão de crédito < 0,5% de fraudes, tipicamente
  • Eficiência operacional
    • ex.: em cartão de crédito < 8 segundos de tempo de decisão
  • Evitar importunar bons clientes

bomcliente

Detecção de Fraudes em R

Dados desbalanceados

  • Após uma grande tempestade, uma seguradora recebeu muitos sinistros

    • Sinistros fraudulentos são rotulados com 1 e legítimos com 0
  • A porcentagem de casos de fraude nos dados pode ser obtida com

    • table() e prop.table()
  • prop.table(table(...)) para determinar a proporção de fraudes

prop.table(table(fraud_label))
     0      1
0.9911 0.0089
Detecção de Fraudes em R

Visualizar desbalanceamento com gráfico de pizza

labels <- c("no fraud", "fraud")
labels <- paste(labels, round(100 * prop.table(table(fraud_label)), 2), "%")
pie(table(fraud_label), labels, col = c("blue", "red"),
      main = "Pie chart of storm claims")

sinistros_tempestade

Detecção de Fraudes em R

Matriz de confusão

Usado para avaliar o modelo de detecção de fraude:

matriz_de_confusão

Detecção de Fraudes em R
  • Suponha que nenhum modelo de detecção seja usado, então todos os sinistros são tratados como legítimos:
predictions <- rep.int(0, times = nrow(claims))
predictions <- factor(predictions, levels = c("no fraud", "fraud"))
  • Função confusionMatrix() do pacote caret:
library(caret)
confusionMatrix(data = predictions, reference = fraud_label)
             Reference
 Prediction    0   1
            0 614  14
            1   0   0                                   
 Accuracy : 0.9777
Detecção de Fraudes em R

Custo total de não detectar fraude: exemplo de sinistros

  • Custo total da fraude definido como a soma dos valores fraudulentos
  • Custo total se nenhuma fraude for detectada:
    > total_cost <- sum(claim_amount[fraud_label == "fraud"])
    > print(total_cost)
    
2301508
Detecção de Fraudes em R

Vamos praticar!

Detecção de Fraudes em R

Preparing Video For Download...