Úvod a motivace

Detekce podvodů v R

Bart Baesens

Professor Data Science at KU Leuven

Instruktoři

picture_Bart.png

Detekce podvodů v R

Instruktoři

picture_BartTim.png

Detekce podvodů v R

Instruktoři

picture_BartTimSebastiaan.png

Detekce podvodů v R

Co je podvod?

Podvod je vzácný, promyšlený, nepozorovaně skrytý, vyvíjející se a často pečlivě organizovaný trestný čin, který se vyskytuje v mnoha podobách.

wolf_in_sheeps_clothing

Detekce podvodů v R

Dopad podvodů

  • Podvody jsou velmi vzácné, ale náklady na jejich neodhalení mohou být obrovské!
  • Příklady:
    • Organizace přicházejí o 5 % ročních příjmů kvůli podvodům
    • Ztráty podniků způsobené podvody > 3,5 bilionu USD ročně
    • Společnosti vydávající kreditní karty ztrácejí přibližně 7 centů na každých 100 USD transakcí kvůli podvodům
    • Podvody tvoří 5–10 % vyplacených částek pohledávek v neživotním pojištění
Detekce podvodů v R

Typy podvodů

  • Praní špinavých peněz
  • Šekový podvod
  • Podvod s kreditní kartou
  • Celní podvod
  • Padělání
  • Krádež identity
  • Pojistný podvod
  • Hypoteční podvod
  • Podvod při nedodání zboží
  • Online podvod
  • Podvod se zárukou produktu
  • Daňový únik
  • Telekomunikační podvod
  • Krádež zásob
  • Podvod s lístky
  • Dopravní podvod
  • Bankovní převodní podvod
  • Podvod s odškodněním pracovníků
Detekce podvodů v R

Klíčové vlastnosti úspěšných modelů pro detekci podvodů

  • Statistická přesnost

robinhood

Detekce podvodů v R

Klíčové vlastnosti úspěšných modelů pro detekci podvodů

  • Statistická přesnost
  • Interpretovatelnost

minorityreport

Detekce podvodů v R

Klíčové vlastnosti úspěšných modelů pro detekci podvodů

  • Statistická přesnost
  • Interpretovatelnost
  • Soulad s předpisy

regulatory

Detekce podvodů v R

Klíčové vlastnosti úspěšných modelů pro detekci podvodů

  • Statistická přesnost
  • Interpretovatelnost
  • Soulad s předpisy
  • Ekonomický dopad

dagobert

Detekce podvodů v R

Klíčové vlastnosti úspěšných modelů pro detekci podvodů

  • Statistická přesnost
  • Interpretovatelnost
  • Soulad s předpisy
  • Ekonomické náklady
  • Doplnění expertních přístupů datově řízenými technikami

manmachine

Detekce podvodů v R

Výzvy modelu pro detekci podvodů

  • Nevyváženost
    • např. u podvodů s kreditními kartami typicky < 0,5 % podvodů

haystack

Detekce podvodů v R

Výzvy modelu pro detekci podvodů

  • Nevyváženost
    • např. u podvodů s kreditními kartami typicky < 0,5 % podvodů
  • Provozní efektivita
    • např. u podvodů s kreditními kartami < 8 sekund na rozhodnutí

flash

Detekce podvodů v R

Výzvy modelu pro detekci podvodů

  • Nevyváženost
    • např. u podvodů s kreditními kartami typicky < 0,5 % podvodů
  • Provozní efektivita
    • např. u podvodů s kreditními kartami < 8 sekund na rozhodnutí
  • Nezatěžovat poctivé zákazníky

goodcustomer

Detekce podvodů v R

Nevyvážená data

  • Po velké bouři pojišťovna obdržela mnoho pohledávek

    • Podvodné pohledávky jsou označeny hodnotou 1, legitimní hodnotou 0
  • Podíl podvodných případů v datech lze zjistit pomocí funkcí

    • table() a prop.table()
  • prop.table(table(...)) pro zjištění podílu podvodů

prop.table(table(fraud_label))
     0      1
0.9911 0.0089
Detekce podvodů v R

Vizualizace nevyváženosti pomocí koláčového grafu

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")

stormclaims

Detekce podvodů v R

Matice záměn

Používá se k hodnocení modelu pro detekci podvodů:

confusionmatrix

Detekce podvodů v R
  • Předpokládejme, že není použit žádný detekční model, takže všechny pohledávky jsou považovány za legitimní:
predictions <- rep.int(0, times = nrow(claims))
predictions <- factor(predictions, levels = c("no fraud", "fraud"))
  • Funkce confusionMatrix() z balíčku caret:
library(caret)
confusionMatrix(data = predictions, reference = fraud_label)
             Reference
 Prediction    0   1
            0 614  14
            1   0   0                                   
 Accuracy : 0.9777
Detekce podvodů v R

Celkové náklady při neodhalení podvodu: příklad s pohledávkami

  • Celkové náklady na podvod jsou součtem podvodných částek
  • Celkové náklady při neodhalení podvodu:
    > total_cost <- sum(claim_amount[fraud_label == "fraud"])
    > print(total_cost)
    
2301508
Detekce podvodů v R

Pojďme si to procvičit!

Detekce podvodů v R

Preparing Video For Download...