| Literature DB >> 36258679 |
Petr Hajek1, Mohammad Zoynul Abedin2, Uthayasankar Sivarajah3.
Abstract
Mobile payment systems are becoming more popular due to the increase in the number of smartphones, which, in turn, attracts the interest of fraudsters. Extant research has therefore developed various fraud detection methods using supervised machine learning. However, sufficient labeled data are rarely available and their detection performance is negatively affected by the extreme class imbalance in financial fraud data. The purpose of this study is to propose an XGBoost-based fraud detection framework while considering the financial consequences of fraud detection systems. The framework was empirically validated on a large dataset of more than 6 million mobile transactions. To demonstrate the effectiveness of the proposed framework, we conducted a comparative evaluation of existing machine learning methods designed for modeling imbalanced data and outlier detection. The results suggest that in terms of standard classification measures, the proposed semi-supervised ensemble model integrating multiple unsupervised outlier detection algorithms and an XGBoost classifier achieves the best results, while the highest cost savings can be achieved by combining random under-sampling and XGBoost methods. This study has therefore financial implications for organizations to make appropriate decisions regarding the implementation of effective fraud detection systems. © Crown 2022.Entities:
Keywords: Fraud detection; Imbalanced data; Machine learning; Mobile payment; Outlier detection
Year: 2022 PMID: 36258679 PMCID: PMC9560719 DOI: 10.1007/s10796-022-10346-6
Source DB: PubMed Journal: Inf Syst Front ISSN: 1387-3326 Impact factor: 5.261
Summary of data and methods used in previous studies
| Study | Data (# fraud / legitimate) | Method | Performance |
|---|---|---|---|
| Rieke et al. ( | synthetic logs (20/5,297) | predictive security analyser | |
| Coppolino et al. ( | synthetic logs | Dempster-Shafer theory | |
| Xenopoulos ( | PaySim (492/284,315) | ensemble of deep belief networks | |
| Choi and Lee ( | Korean payment data (2,402/274,670) | unsupervised (EM, K-means, FarthestFirst, X-means, MakeDensity), supervised (NB, SVM, LR, OneR, C4.5, RF) | |
| Mubalaike and Adali ( | PaySim (8,213/6M) | restricted Boltzman machines | |
| Du et al. ( | PaySim (8,213/6M) | SVM with LogDet regularization | |
| Zhou et al. ( | Chinese bankcard enrolment (5,753/ | GB DT, LR, RF, rule-based expert | |
| Pambudi et al. ( | PaySim (4,093/246,033) | RUS+SVM | |
| Misra et al. ( | PaySim (492/284,315) | Autoencoder+MLP | |
| Mendelson and Lerner ( | PaySim (8,213/6M) | cluster drift detection | |
| Turner et al. ( | Bitcoin blockchain transactions | DeepWalk network analysis | − |
| Schlör et al. ( | PaySim (8,213/6M) | deep MLP with ReLU and iNALU | |
| Buschjager et al. ( | PaySim (269/572K) | generalized Isolation Forest | |
| This study | PaySim (8,213/6M) | RUS+XGBoost, XGBOD |
Legend: Acc – accuracy, AUC – area under ROC curve, DT – decision tree, EM – expectation-maximization, F1 – F1-score (average of precision and recall), FNR – false negative (legitimate) rate, GB – gradient boosting, LR – logistic regression, MLP – multilayer perceptron, NB – Naïve Bayes, PNN – probabilistic neural network, RF – random forest, SVM – support vector machine, XGBOD – extreme gradient boosting outlier detection, and XGBoost – eXtreme Gradient boosting
Fig. 1Fraud detection framework
Fig. 2Flowchart of RUS-XGBoost for fraud detection
Fig. 3Flowchart of XGBOD for fraud detection
Confusion matrix for fraud detection
| Prediction/Target | Positive | Negative |
|---|---|---|
| Positive (fraudulent transaction) | ||
| Negative (legitimate transaction) |
Attributes in the PaySim dataset
| Attribute | Mean value / Range |
|---|---|
| Step | 1-743 |
| Type of transaction | cash-out (35%), cash-in (34%), transfer and debit (31%) |
| Amount of transaction | 180K |
| Customer name | 6.35M unique values |
| Initial balance | 834K |
| New balance | 855K |
| Recipient name | 2.72M unique values |
| Initial balance of the recipient | 1.1M |
| New balance of the recipient | 1.22M |
| Fraud | 0 (legitimate 6.36M) / 1 (fraud 8.2K) |
Fig. 4Visualization of amounts and counts of transactions in the PaySim dataset
Settings of machine learning methods
| Method | Parameters |
|---|---|
| ABOD | contamination = the proportion of frauds in the training dataset, neighbours |
| CBLOF | number of clusters = 8, clustering estimator = |
| HBOS | alpha = 0.1 |
| LODA | number of bins = 10, number of random cuts = 100 |
| Isolation Forest | number of estimators = {100, 200} |
| KNN | neighbours |
| MCD | contamination = the proportion of frauds in the training dataset |
| OCSVM | kernel function: {linear, polynomial, RBF with gamma = 0.01}, nu = 0.1 |
| AE | hidden activation = ReLU, optimizer = adam, epochs = 100, dropout rate = 0.2, |
| L2 regularizer = 0.2, hidden neurons = [8, 4, 4, 8] | |
| VAE | hidden activation = ReLU, optimizer = adam, epochs = 100, gamma = 1.0, |
| dropout rate = 0.2, L2 regularizer = 0.1, encoder neurons = [8, 4, 2], decoder neurons = [2, 4, 8] | |
| MO-GAAL | contamination = the proportion of frauds in the training dataset, number of |
| sub generators = 10, learning rate of the discriminator = 0.01, learning rate | |
| of the generator = 0.0001, epochs = 20 | |
| XGBOD | estimator list = {ABOD, CBLOF, HBOS, LODA, Isolation Forest, KNN, |
| MCD, OCSVM, AE, VAE}, | |
| SVM | complexity parameter |
| RF | number of trees = {100, 200} |
| XGBoost | booster = gbtree, eta = 0.3, gamma = 0, maximum depth of a tree = {3, 6, 9}, |
| sampling method = uniform, lambda = 1, alpha = 0 | |
| RUS | sampling strategy = {0.5, 0.75, 1.0} |
Fraud detection performance of supervised learning methods
| Method | ||||||
|---|---|---|---|---|---|---|
| 0.9313 | 0.1588 | 0.9881 | 0.0873 | 0.8744 | 4,581.4 | |
| SVM | 0.6543 | 0.4655 | 0.9991 | 0.3086 | 12,082.9 | |
| RF | 0.8961 | 0.8394* | 0.9996 | 0.9146 | 0.7756 | 1,196.2 |
| XGBoost | 0.9350 | 0.8794 | 0.8059 | 207.0 | ||
| RUS+ | 0.8996 | 0.0405 | 0.9475 | 0.0207 | 0.8516 | 145.3 |
| RUS+SVM | 0.8344 | 0.0321 | 0.9431 | 0.0164 | 0.7255 | 1,041.5 |
| RUS+RF | 0.9933* | 0.2305 | 0.9914 | 0.1303 | 0.9947 | 12.6 |
| RUS+XGBoost | 0.2812 | 0.9934 | 0.1637 | 2.4 |
The best results are in bold, * statistically similar at 5% as the best performer in bold. The experiments were performed on Intel® Core™ i5-8400 CPU @ 2.8GHz, 32 GB RAM with six cores on a Windows 10 oper. system in the Python libraries Scikit-Learn 0.23.0 and Imbalanced-Learn 0.6.2
Fraud detection performance of outlier detection methods
| Method | ||||||
|---|---|---|---|---|---|---|
| ABOD | 0.8353 | 0.0680 | 0.9953 | 0.0675 | 0.0685 | 2,646.5 |
| CBLOF | 0.8593 | 0.0822 | 0.9954 | 0.0829 | 0.0822 | 41.3 |
| HBOS | 0.7731 | 0.0077 | 0.9951 | 0.0078 | 0.0076 | 4.1 |
| LODA | 0.6818 | 0.1060 | 0.9954 | 0.1026 | 0.1096 | 14.8 |
| Isolation Forest | 0.8358 | 0.0189 | 0.9964 | 0.0307 | 0.0137 | 189.9 |
| KNN | 0.8618 | 0.1260 | 0.9957 | 0.1288 | 0.1233 | 1,948.5 |
| MCD | 0.7705 | 0.1084 | 0.9956 | 0.1087 | 0.1081 | 127.4 |
| OCSVM | 0.6732 | 0.0273 | 0.9951 | 0.0272 | 0.0274 | 802.9 |
| AE# | 0.8050 | 0.0869 | 0.9954 | 0.0870 | 0.0868 | 931.1 |
| VAE# | 0.8050 | 0.0869 | 0.9954 | 0.0870 | 0.0868 | 2,922.9 |
| MO-GAAL | 0.9071 | 0.6059 | 0.9980 | 0.5902 | 0.6225 | 13,184.4 |
| XGBOD | 4,256.3 |
The best results are in bold, # The experiments were performed on GPU NVIDIA GeForce GTX 1060 6GB, 1280 cores on a Windows 10 oper. system in the Python library PyOD
Financial impact of fraud detection methods
| Method | |||
|---|---|---|---|
| 3,576.4 | 120.3 | 3,456.1 | |
| SVM | −2,135.4 | 218.3 | −2,135.6 |
| RF | 2,575.1 | 923.1 | 2,574.2 |
| XGBoost | 3,630.7 | 380.5 | 3,630.3 |
| RUS+ | 3,443.3 | 519.3 | 2,924.0 |
| RUS+SVM | 2,155.9 | 561.4 | 1,594.5 |
| RUS+RF | 4,903.3 | 85.8 | 4,817.5 |
| RUS+XGBoost | 65.9 | ||
| ABOD | −4,556.9 | 23.5 | −4,580.4 |
| CBLOF | −4,418.7 | 22.6 | −4,441.3 |
| HBOS | −5,171.0 | 24.2 | −5,195.2 |
| LODA | −4,142.3 | 23.8 | −4,166.2 |
| Isolation Forest | −5,109.6 | 10.7 | −5,120.3 |
| KNN | −4,004.2 | 20.7 | −4,024.9 |
| MCD | −4,157.7 | 22.2 | −4,179.7 |
| OCSVM | −4,971.4 | 24.3 | −4,995.7 |
| AE | −4,372.6 | 22.6 | −4,395.3 |
| VAE | −4,372.6 | 22.6 | −4,395.3 |
| MO-GAAL | 1,031.6 | 10.7 | 1,020.9 |
| XGBOD | 2,612.9 | 2,612.8 |
* amounts are given in mil. units of an African currency that could not be disclosed by data providers, the best results are in bold
Comparison of fraud detection performance of the proposed XGBoost-based models with the results of previous studies
| Study | Method | AUC |
|---|---|---|
| Xenopoulos ( | ensemble of deep belief networks | 0.961 |
| Du et al. ( | SVM with LogDet regularization | 0.978 |
| Pambudi et al. ( | RUS+SVM | 0.880 |
| Mendelson and Lerner ( | cluster drift detection | 0.898 |
| Schlör et al. ( | deep MLP with ReLU and iNALU | 0.960 |
| Buschjager et al. ( | generalized Isolation Forest | 0.821 |
| This study | RUS+XGBoost | |
| XGBOD |
The best results are in bold
Fig. 5Visualization of amounts and counts of transactions in the BankSim dataset
Fraud detection performance on the BankSim dataset
| Method | |||||
|---|---|---|---|---|---|
| 0.9466 | 0.2029 | 0.9089 | 0.1131 | ||
| SVM | 0.7723 | 0.6849 | 0.9941 | 0.5451 | |
| RF | 0.8973 | 0.8145 | 0.9957 | 0.8332 | 0.7966 |
| XGBoost | 0.9112 | 0.8240 | 0.8240 | ||
| RUS+ | 0.9454 | 0.3216 | 0.9535 | 0.1941 | 0.9371 |
| RUS+SVM | 0.9433 | 0.3379 | 0.9571 | 0.2065 | 0.9291 |
| RUS+RF | 0.9746 | 0.4674 | 0.9738 | 0.3073 | 0.9754 |
| RUS+XGBoost | 0.9774 | 0.4898 | 0.9760 | 0.3266 | 0.9789 |
| ABOD | 0.9852 | 0.5039 | 0.9877 | 0.5032 | 0.4995 |
| CBLOF | 0.9688 | 0.6072 | 0.9902 | 0.6069 | 0.6074 |
| HBOS | 0.9340 | 0.1490 | 0.9787 | 0.1488 | 0.1488 |
| LODA | 0.7272 | 0.0743 | 0.9770 | 0.0736 | 0.0736 |
| Isolation Forest | 0.9647 | 0.3932 | 0.9851 | 0.3974 | 0.3867 |
| KNN | 0.9894 | 0.5957 | 0.9899 | 0.5956 | 0.5961 |
| MCD | 0.9695 | 0.6922 | 0.9923 | 0.6928 | 0.6944 |
| OCSVM | 0.4431 | 0.0077 | 0.9758 | 0.0075 | 0.0075 |
| AE | 0.9350 | 0.3861 | 0.9848 | 0.3829 | 0.3813 |
| VAE | 0.9351 | 0.3863 | 0.9848 | 0.3829 | 0.3813 |
| MO-GAAL | 0.9367 | 0.3510 | 0.9807 | 0.3029 | 0.4173 |
| XGBOD | 0.7893 | 0.9953 | 0.8018 | 0.7084 |
The best results are in bold