Giới thiệu & Động lực

Phát hiện gian lận với R

Bart Baesens

Professor Data Science at KU Leuven

Giảng viên

picture_Bart.png

Phát hiện gian lận với R

Giảng viên

picture_BartTim.png

Phát hiện gian lận với R

Giảng viên

picture_BartTimSebastiaan.png

Phát hiện gian lận với R

Gian lận là gì?

Gian lận là tội phạm hiếm gặp, có tính toán kỹ, che giấu tinh vi, biến đổi theo thời gian và thường được tổ chức cẩn thận, xuất hiện dưới nhiều dạng.

sói đội lốt cừu

Phát hiện gian lận với R

Tác động của gian lận

  • Gian lận rất hiếm, nhưng chi phí không phát hiện được có thể cực lớn!
  • Ví dụ:
    • Tổ chức mất 5% doanh thu hằng năm vì gian lận
    • Tiền doanh nghiệp mất do gian lận > $3.5 nghìn tỷ mỗi năm
    • Công ty thẻ tín dụng mất khoảng 7 xu trên mỗi $100 giao dịch do gian lận
    • Gian lận chiếm 5–10% số tiền bồi thường trả cho bảo hiểm phi nhân thọ
Phát hiện gian lận với R

Các loại gian lận

  • Chống rửa tiền
  • Séc giả mạo
  • Gian lận thẻ tín dụng
  • Gian lận hải quan
  • Hàng giả
  • Đánh cắp danh tính
  • Gian lận bảo hiểm
  • Gian lận thế chấp
  • Gian lận không giao hàng
  • Gian lận trực tuyến
  • Gian lận bảo hành sản phẩm
  • Trốn thuế
  • Gian lận viễn thông
  • Trộm hàng tồn kho
  • Gian lận vé
  • Gian lận vận tải công cộng
  • Lừa đảo chuyển tiền (wire fraud)
  • Gian lận bồi thường lao động
Phát hiện gian lận với R

Đặc điểm then chốt của mô hình phân tích gian lận hiệu quả

  • Độ chính xác thống kê

robinhood

Phát hiện gian lận với R

Đặc điểm then chốt của mô hình phân tích gian lận hiệu quả

  • Độ chính xác thống kê
  • Khả năng diễn giải

minorityreport

Phát hiện gian lận với R

Đặc điểm then chốt của mô hình phân tích gian lận hiệu quả

  • Độ chính xác thống kê
  • Khả năng diễn giải
  • Tuân thủ quy định

regulatory

Phát hiện gian lận với R

Đặc điểm then chốt của mô hình phân tích gian lận hiệu quả

  • Độ chính xác thống kê
  • Khả năng diễn giải
  • Tuân thủ quy định
  • Tác động kinh tế

dagobert

Phát hiện gian lận với R

Đặc điểm then chốt của mô hình phân tích gian lận hiệu quả

  • Độ chính xác thống kê
  • Khả năng diễn giải
  • Tuân thủ quy định
  • Chi phí kinh tế
  • Bổ trợ phương pháp chuyên gia bằng kỹ thuật dựa trên dữ liệu

manmachine

Phát hiện gian lận với R

Thách thức của mô hình phát hiện gian lận

  • Mất cân bằng
    • ví dụ: gian lận thẻ tín dụng thường < 0.5%

đống rơm

Phát hiện gian lận với R

Thách thức của mô hình phát hiện gian lận

  • Mất cân bằng
    • ví dụ: gian lận thẻ tín dụng thường < 0.5%
  • Hiệu quả vận hành
    • ví dụ: thẻ tín dụng yêu cầu quyết định < 8 giây

tia chớp

Phát hiện gian lận với R

Thách thức của mô hình phát hiện gian lận

  • Mất cân bằng
    • ví dụ: gian lận thẻ tín dụng thường < 0.5%
  • Hiệu quả vận hành
    • ví dụ: thẻ tín dụng yêu cầu quyết định < 8 giây
  • Tránh làm phiền khách hàng tốt

khách hàng tốt

Phát hiện gian lận với R

Dữ liệu mất cân bằng

  • Sau một cơn bão lớn, công ty bảo hiểm nhận nhiều yêu cầu bồi thường

    • Hồ sơ gian lận được gán nhãn 1, hợp lệ là 0
  • Tỷ lệ gian lận trong dữ liệu có thể tính bằng

    • table() và prop.table()
  • Dùng prop.table(table(...)) để xác định tỷ lệ gian lận

prop.table(table(fraud_label))
     0      1
0.9911 0.0089
Phát hiện gian lận với R

Trực quan mất cân bằng với biểu đồ tròn

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

yêu cầu bồi thường sau bão

Phát hiện gian lận với R

Ma trận nhầm lẫn

Dùng để đánh giá mô hình phát hiện gian lận:

ma trận nhầm lẫn

Phát hiện gian lận với R
  • Giả sử không dùng mô hình phát hiện, nên tất cả yêu cầu đều coi là hợp lệ:
predictions <- rep.int(0, times = nrow(claims))
predictions <- factor(predictions, levels = c("no fraud", "fraud"))
  • Hàm confusionMatrix() từ gói caret:
library(caret)
confusionMatrix(data = predictions, reference = fraud_label)
             Reference
 Prediction    0   1
            0 614  14
            1   0   0                                   
 Accuracy : 0.9777
Phát hiện gian lận với R

Tổng chi phí khi không phát hiện gian lận: ví dụ bồi thường

  • Tổng chi phí gian lận là tổng số tiền gian lận
  • Tổng chi phí nếu không phát hiện gian lận:
    > total_cost <- sum(claim_amount[fraud_label == "fraud"])
    > print(total_cost)
    
2301508
Phát hiện gian lận với R

Cùng luyện tập nào!

Phát hiện gian lận với R

Preparing Video For Download...