소개 및 동기

R로 배우는 사기 탐지

Bart Baesens

Professor Data Science at KU Leuven

강사 소개

picture_Bart.png

R로 배우는 사기 탐지

강사 소개

picture_BartTim.png

R로 배우는 사기 탐지

강사 소개

picture_BartTimSebastiaan.png

R로 배우는 사기 탐지

사기란 무엇인가?

사기는 드물고, 의도적이며, 교묘하게 은폐되고, 시간에 따라 진화하며, 종종 치밀하게 조직화된 범죄로 다양한 형태로 나타납니다.

wolf_in_sheeps_clothing

R로 배우는 사기 탐지

사기의 영향

  • 사기는 매우 드물지만, 탐지 실패 시 피해는 막대합니다!
  • 사례:
    • 조직은 연간 수익의 5% 를 사기로 손실
    • 기업의 연간 사기 피해액 > 3조 5천억 달러
    • 신용카드 회사는 거래 100달러당 약 7센트 손실
    • 비생명 보험 청구 금액의 5~10% 가 사기
R로 배우는 사기 탐지

사기 유형

  • 자금 세탁 방지
  • 수표 사기
  • 신용카드 사기
  • 관세 사기
  • 위조
  • 신원 도용
  • 보험 사기
  • 모기지 사기
  • 미배송 사기
  • 온라인 사기
  • 제품 보증 사기
  • 탈세
  • 통신 사기
  • 재고 절도
  • 티켓 사기
  • 교통 사기
  • 전신 사기
  • 산재 보험 사기
R로 배우는 사기 탐지

성공적인 사기 분석 모델의 주요 특성

  • 통계적 정확도

robinhood

R로 배우는 사기 탐지

성공적인 사기 분석 모델의 주요 특성

  • 통계적 정확도
  • 해석 가능성

minorityreport

R로 배우는 사기 탐지

성공적인 사기 분석 모델의 주요 특성

  • 통계적 정확도
  • 해석 가능성
  • 규제 준수

regulatory

R로 배우는 사기 탐지

성공적인 사기 분석 모델의 주요 특성

  • 통계적 정확도
  • 해석 가능성
  • 규제 준수
  • 경제적 영향

dagobert

R로 배우는 사기 탐지

성공적인 사기 분석 모델의 주요 특성

  • 통계적 정확도
  • 해석 가능성
  • 규제 준수
  • 경제적 비용
  • 전문가 기반 접근법을 데이터 기반 기법으로 보완

manmachine

R로 배우는 사기 탐지

사기 탐지 모델의 과제

  • 불균형
    • 예: 신용카드 사기의 경우 일반적으로 사기 비율 < 0.5%

haystack

R로 배우는 사기 탐지

사기 탐지 모델의 과제

  • 불균형
    • 예: 신용카드 사기의 경우 일반적으로 사기 비율 < 0.5%
  • 운영 효율성
    • 예: 신용카드 사기의 경우 의사결정 시간 < 8초

flash

R로 배우는 사기 탐지

사기 탐지 모델의 과제

  • 불균형
    • 예: 신용카드 사기의 경우 일반적으로 사기 비율 < 0.5%
  • 운영 효율성
    • 예: 신용카드 사기의 경우 의사결정 시간 < 8초
  • 정상 고객 불편 방지

goodcustomer

R로 배우는 사기 탐지

불균형 데이터

  • 대형 폭풍 이후 보험사에 다수의 청구 접수

    • 사기 청구는 1, 정상 청구는 0으로 레이블링
  • 데이터 내 사기 비율은 다음 함수로 확인 가능

    • table()prop.table()
  • prop.table(table(...)) 으로 사기 비율 산출

prop.table(table(fraud_label))
     0      1
0.9911 0.0089
R로 배우는 사기 탐지

파이 차트로 불균형 시각화

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

R로 배우는 사기 탐지

혼동 행렬

사기 탐지 모델 평가에 사용:

confusionmatrix

R로 배우는 사기 탐지
  • 탐지 모델 없이 모든 청구를 정상으로 처리하는 경우:
predictions <- rep.int(0, times = nrow(claims))
predictions <- factor(predictions, levels = c("no fraud", "fraud"))
  • caret 패키지의 confusionMatrix() 함수:
library(caret)
confusionMatrix(data = predictions, reference = fraud_label)
             Reference
 Prediction    0   1
            0 614  14
            1   0   0                                   
 Accuracy : 0.9777
R로 배우는 사기 탐지

사기 미탐지의 총 비용: 청구 사례

  • 사기 총 비용 = 사기 청구 금액의 합계
  • 사기 미탐지 시 총 비용:
    > total_cost <- sum(claim_amount[fraud_label == "fraud"])
    > print(total_cost)
    
2301508
R로 배우는 사기 탐지

연습해 봅시다!

R로 배우는 사기 탐지

Preparing Video For Download...