Domain

การฉ้อโกงบัตรเครดิต

ผู้จัดทำ

มารีอา อูกนิช

Digital Business Transformation, College of Innovation, Thammasat University, Thailand

Abstract

สร้าง Logistic Regresssion Model ในการตรวจจับการฉ้อโกงบัตรเครดิตจากชุดข้อมูลที่ประกอบไปด้วย ธุรกรรมที่เกิดขึ้นภายใน 2 วันในเดือนกันยายน ปี 2013 ของผู้ถือครองบัตรเครดิตสัญชาติยุโรป การทำ ธุรกรรมจำนวน 284,807 ครั้ง มีการฉ้อโกงเกิดขึ้นทั้งหมด 492 ครั้ง นับเป็น 0.17% ของการทำธุรกรรม ทั้งหมดในชุดข้อมูล ทำให้ชุดข้อมูลมีความไม่สมดุลสูงมาก เราจัดการกับความไม่สมดุลนี้ด้วย SMOTE (synthetic minority oversampling technique) และสร้าง Logistic Regression Model ในการตรวจจับการ ฉ้อโกงบัตรเครดิต จากการตรวจสอบความถูกต้องของการประมวลผลของโมเดล โมเดลที่สร้างมีความถูกต้อง 92% โดยดูจากค่า accuracy, precision, recall, f1 score และ ROC Curve

Keyword

การตรวจจับการฉ้อโกงบัตรเครดิต, Logistic Regression, Supervised Machine Learning Technique

Introduction

บริษัทที่รับชำระเงินบัตรผ่านบัตรเครดิตต้องสามารถตรวจสอบได้ว่าธุรกรรมแต่ละอันนั้นเป็นธุรกรรมที่ ฉ้อโกงหรือไม่ เพื่อที่ลูกค้าจะไม่ถูกเรียกเก็บเงินสำหรับสินค้าที่พวกเขาได้ซื้อ

อ้างอิงจาก Javelin Strategy & Research (https://www.javelinstrategy.com/sites/default/files/ 17-1001J-2017-LL-Identity-Fraud-Hits-Record-Highs-Javelin.pdf) สถาบันการเงินใช้เวลา กว่า 40 วัน ในการตรวจจับการฉ้อโกง และการฉ้อโกงยังส่งผลกระทบต่อธนาคารที่ให้บริการชำระเงินออนไลน์ด้วย ตัวอย่างผลกระทบเช่น ลูกค้า 20 เปอร์เซ็นต์เปลี่ยนธนาคารผู้ให้บริการหลังจากพบปัญหาการฉ้อโกง

เว็บไซต์ altexsoft.com ให้ข้อมูลว่าการตรวจจับการฉ้อโกงด้วย Machine Learning (ML) ได้รับ ความสนใจเป็นอย่างมากในช่วงไม่กี่ปีที่ผ่านมา และอุตสาหกรรมได้เปลี่ยนความสนใจจากระบบตรวจจับการ ฉ้อโกงแบบ rule-based fraud detection systems ไปเป็นการแก้ปัญหาแบบใช้ Machine Learning แทน

ยิ่งไปกว่านั้น Eric Knorr (https://www.infoworld.com/article/2907877/how-paypal-reduces- fraud-with-machine-learning.html) สัมภาษณ์ Dr. Hui Wang ผู้อำนวยการอาวุโสด้านวิทยาศาสตร์ความ เสี่ยงของ PayPal โดย PayPal ใช้ machine learning algorithms ทั้งหมด 3 ประเภท สำหรับการจัดการ

ความเสี่ยง ได้แก่ linear, neural network และ deep learning ผลลัพธ์แสดงให้เห็นว่า การจัดการความเสี่ยง ในหลายๆเคส มีประสิทธิภาพที่สุดเมื่อใช้ทั้งสามวิธีพร้อมกัน

Logistic regression เป็นวิธีการทางสถิติที่ได้รับการยอมรับอย่างดี เป็น Machine Learning technique แบบ supervised learning algorithm ซึ่งใช้สำหรับปัญหาแบบ classification โดย Algorithm นี้ สามารถทำนายผลลัพธ์แบบ binomial หรือ multinomial ได้ ซึ่งหมายความว่าสามารถทำนายได้ว่าธุรกรรมนั้น เป็นการฉ้อโกงหรือไม่

Objective

Data Mining Technique ที่ใช้ในรายงานนี้คือ Logistic Regression ซึ่งเป็น algorithm แบบ classification โดยปัญหาที่กล่าวไปข้างต้นในบทนำ คือปัญหาประเภท Binary Classification problems และ ชุดข้อมูลมี output เป็น binary (0,1 – โดย 0 ไม่ใช่การฉ้อโกง และ 1 เป็นการฉ้อโกง) ดังนั้น Logistic Regression จึงใช้ในกรณีนี้ได้

Literature review

การตรวจจับธุรกรรมการฉ้อโกงมีความสำคัญอย่างยิ่งสำหรับบริษัทบัตรเครดิตใดๆ โดยปัญหาเกี่ยว กับการฉ้อโกงคือปัญหาที่สามารถตรวจจับได้โดยใช้ Logistic Regression ซึ่งเป็นเทคนิคทั่วไปที่รู้จักกันดีใน การแก้ปัญหาแบบ Binary Classification problems

อย่างไรก็ตามแนวทางปฏิบัติที่ดีที่สุดคือการใช้ร่วมกับ Supervised Machine Learning methods อื่นๆ เช่น Random Forest, Support vector machine, K-Nearest Neighbours, Neural Networks และ Deep Neural Networks เป็นต้น เพื่อให้สามารถนำไปประยุกต์ใช้กับปัญหาที่ซับซ้อนได้

งานศึกษาหลายชิ้นแสดงให้เห็นว่าความแม่นยำของการตรวจจับการฉ้อโกงนั้นมีประสิทธิภาพมากยิ่ง ขึ้นหากใช้เทคนิคอย่างน้อย 2 เทคนิคร่วมกัน

• การตรวจจับการฉ้อโกงบัตรเครดิตโดยใช้ Logistic Regression และ Bayesian Network (Bala and Garg, 2019) ใช้ Logistic Regression ในการประเมินรูปแบบความเสี่ยงตามกฎที่กำหนดและส่งต่อข้อมูลที่เกี่ยวข้อง ไปยัง Bayesian network เพื่อจำแนกประเภทและตรวจจับระดับการฉ้อโกง จากนั้นประเมินประสิทธิภาพ ขั้นตอนการทำงานที่กล่าวของ model เพื่อดูว่าสามารถตรวจจับการฉ้อโกงบัตรเครดิตได้อย่างมี ประสิทธิภาพหรือไม่

• การตรวจจับการฉ้อโกงบัตรเครดิตโดย ANN และ Logistic Regression (Sahin and Duman, 2011) ความถูกต้องในการตรวจับการฉ้อโกง โดยผลปรากฏว่าการใช้วิธีการทั้ง 2 วิธีร่วมกัน ช่วยเพิ่ม ประสิทธิภาพให้แก่โมเดลมากขึ้น แต่หากแยกกันแล้ว วิธี ANN มีประสิทธิภาพดีกว่า วิธีแบบ Logistic Regression

• การสร้างแบบจำลองเชิงคาดการณ์สำหรับการตรวจจับการฉ้อโกงบัตรเครดิตโดยใช้การวิเคราะห์ข้อมูล (Patil, Nemade และ Soni, 2018)
 การใช้แบบจำลองการวิเคราะห์ใช้เพื่อตรวจสอบว่าธุรกรรมขาเข้าเป็นธุรกรรมที่ถูกต้องตามกฎหมายหรือ ไม่ Logistic Regression และ Decision Tree ถูกนำมาใช้เพื่อตรวจจับการฉ้อโกง ผลที่ได้จากการตรวจ จับการฉ้อโกง แบบ real time ปรากฏว่าช่วย ลดความเสี่ยงของการฉ้อโกงและเพิ่มความพึงพอใจให้ลูก ลูกค้าของสถาบัน

อย่างไรก็ตามในชุดข้อมูลที่ไม่มีความซับซ้อน Logistic Regression เพียงอย่างเดียวก็สามารถช่วยทำนาย และให้ผลลัพธ์ที่น่าพึงพอใจได้

Data Pre-Processing

ในขั้นตอน data pre-processing เราต้องนำเข้าข้อมูลและทำความเข้าใจข้อมูล เพื่อดูว่าเราจะนำข้อมูลนี้มาใช้

อย่างไร และโมเดลใดที่เหมาะสมกับข้อมูลนี้
ขั้นตอนการทำ Data Pre-Processing แสดงขั้นตอนตาม flowchart ด้านล่างนี้

เนื่องจาก dataset ที่เรานำมาใช้ไม่มี missing value หมายความว่า dataset นี้ค่อนข้าง clean พอสมควร หลัง จากนั้นเราได้ทำ data visualisation เพื่อดูความสัมพันธ์ของค่าในคอลัมน์ต่างๆ และดูว่า target ที่เราต้องหา คือตัวไหน
จากขั้นตอน data exploration เราพบว่า target ของเราอยู่ในคอลัมน์ชื่อ Class ซึ่งแสดงผลแบบ Binary (0,1) เมื่อ 0 คือ ธุรกรรมปกติ และ 1 คือ ธุรกรรมที่เป็นการฉ้อโกง

เมื่อทำความเข้าใจข้อมูลได้เพียงพอแล้ว เราจะข้ามไปขั้นตอนของ Data Processing เพื่อจัดเตรียมข้อมูลให้ พร้อมต่อการทำโมเดล

Data Processing

ขั้นตอนนี้จะเป็นขั้นตอนการจัดการข้อมูลให้พร้อมต่อการนำมาทำโมเดล
ขั้นตอนการทำ Data Processing ในรายงานนี้ แสดงขั้นตอนตาม flowchart ด้านล่างนี้

เรื่มแรกเราจะ copy original dataset ไว้ก่อน เนื่องจากเราต้องการคำนวณหลังจาก processing เสร็จแล้วว่า ก่อนและหลัง processing เราเหลือข้อมูลที่จะนำมาทำเท่าไหร่

ขั้นตอนต่อมาคือดูว่าคอลัมน์ไหนที่ไม่จำเป็นต้องใช้ ให้ drop ออกจากนั้นเราทำการ scale คอลัมน์ ‘Amount’ เพื่อให้อยู่ใน range 0-1 แทน เพราะ range เดิมนั้นสูงมาก

จากนั้นเราต้องทำการกำจัด outlier เนื่องจาก outlier จะส่งผลต่อการทำนายผลของโมเดลของเรา ทำให้โมเดลของเราไม่มีความแม่นยำ

ขั้นตอนสุดท้ายก่อนสร้างโมเดล คือ การทำให้ข้อมูลใน target คอลัมน์มีความสมดุลเสียก่อน เนื่องจาก row ข้อมูลมีความไม่สมดุลอย่างมาก (99.83% ต่อ 0.17%)

ประเภทของปัญหาที่เราต้องการ Predict เป็นปัญหาประเภท Binary Classification คือ การค้นหาคำ ตอบว่าคำตอบจะเป็น 0 หรือ 1 (ใช่ หรือ ไม่ใช่)

โมเดลที่ได้รับความนิยมในการแก้ปัญหาประเภทนี้ มีดังนี้

  1. Logistic Regression
  2. k-Nearest Neighbors
  3. Decision Trees
  4. Support Vector Machine
  5. Naive Bayes

ในรายงานนี้ เราเลือกโมเดล Logistic Regression ในการแก้ปัญหา หลังจากเลือกโมเดลที่เหมาะสมกับปัญหาแล้ว เราได้สร้างโมเดล และทำการทำนายผลบนชุดข้อมูล test set

Model Evaluation

ต่อมาเราต้องคำนวณว่าโมเดลที่เราสร้างมีความถูกต้องมากน้อยแค่ไหน เราจะใช้ classification_report จาก sklearn ค่าที่ได้จะมีค่า 0-1 โดย 1 แปลว่ามีความแม่นยำมาก

ค่า Accuracy ที่ได้คือ 0.92 แปลว่าความแม่นยำที่ได้คือ 92%
ค่า precision, recall และ f1_score ก็ใช้ในการรายงานผลความแม่นยำด้วยเช่นกัน

ดูค่า f1_score

ดูค่า AUC

ตรวจสอบความแม่นยำของโมเดลด้วย confusion matrix

เราสามารถอ่านผลที่ได้ได้ดังนี้

TP = True Positive = 38908
FP = False Positive = 5060
FN =False Negative = 2209
TN = True Negative = 4161

หมายความว่าโมเดลของเราทำนายผลถูกต้อง 38908 + 41615 = 80523 ครั้ง และทำนายผลผิดพลาด 5060 + 2209 = 7269 ครั้ง

สุดท้ายนี้เราจะ plot Receiver Operating Characteristic (ROC) curve

ROC Curve เป็นอีกเครื่องมือหนึ่งที่ใช้สำหรับตรวจสอบความแม่นยำของโมเดลที่มีข้อมูลแบบ binary classifiers โมเดลที่มีความแม่นยำสูง เส้น Logistic Regression จะอยู่ห่างจากเส้น ROC curve ให้มากที่สุด (อยู่มุมซ้ายบนของ chart)

Conclusion

เราได้ทำโมเดล Logistic Regression เพื่อทำนายว่าธุรกรรมนั้นเป็นธุรกรรมที่เป็นการฉ้อโกงหรือไม่ โมเดลที่สร้างมีความแม่นยำค่อนข้างสูง เราสามารถใช้โมเดลอื่นๆในการทำนายได้ เช่น k-Nearest Neighbors (KNN) , Decision Trees ,Support Vector Machine(SVM) และ Naive Bayes เป็นต้น ในอนาคต เราสนใจที่จะนำเอาโมเดลอื่นๆมาสร้างบนชุดข้อมูลนี้ เพื่อดูว่าโมเดลไหนให้ผลทำนายที่ แม่นยำมากกว่ากัน

โมเดลนี้สามารถนำไปใช้แก้ปัญหาอื่นๆอีกได้ เช่น การทำนายว่าลูกค้าจะกลับมาซื้ออีกหรือไม่, การ ทำนายว่าธนาคารควรให้สินเชื่อกับผู้ขอสินเชื่อหรือไม่ เป็นต้น

Reference

Jordan, J. (2017). Evaluating a machine learning model. https://www.jeremyjordan.me/ evaluating-a-machine-learning-model/

Brownlee, J. (2019). 14 Different Types of Learning in Machine Learning. https:// machinelearningmastery.com/types-of-learning-in-machine-learning/

Lutkevich, B. (2020). association rules. https://searchbusinessanalytics.techtarget.com/ definition/association-rules-in-data-mining

Patil, S., Nemade, V., Soni, P. (2018). Predictive Modelling For Credit Card Fraud Detection Using Data Analytics. https://pdf.sciencedirectassets.com/280203/1-s2.0- S1877050918X00088/1-s2.0-S1877050918309347/main.pdf

Sahin, Y., Duman, E. (2011). https://www.researchgate.net/publication/ 252016456_Detecting_credit_card_fraud_by_ANN_and_logistic_regression

Bala, R., Garg, D. (2019). Credit Card Fraud Detection using Logistic Regression and Bayesian Network https://www.ijirset.com/upload/2019/june/119_Credit.pdf

altexsoft (2020). Fraud Detection: How Machine Learning Systems Help Reveal Scams in Fintech, Healthcare, and eCommerce. https://www.altexsoft.com/whitepapers/fraud- detection-how-machine-learning-systems-help-reveal-scams-in-fintech-healthcare-and- ecommerce/

Knorr, E. (2015). How PayPal beats the bad guys with machine learning https:// http://www.infoworld.com/article/2907877/how-paypal-reduces-fraud-with-machine- learning.html

Python Code

Source code ของการวิจัยนี้อยู่ที่ https://github.com/maria0911/thammasart-university

ตัวอย่าง dataset

ดาวน์โหลดงานวิจัยชิ้นนี้