Giới thiệu dự án

Trong bối cảnh chuyển đổi số và tối ưu hóa quản trị rủi ro tại các tổ chức tài chính hiện đại, việc kiểm soát tỷ lệ nợ xấu (NPL - Non-Performing Loan) đóng vai trò sống còn đối với an toàn vốn theo tiêu chuẩn Basel II và Basel III. Bên cạnh lĩnh vực ngân hàng, bài toán phân loại nhị phân (Binary Classification) còn mở rộng sang chẩn đoán u lành tính/ác tính trong y sinh học và dự báo tỷ lệ rời bỏ dịch vụ (Customer Churn) trong ngành viễn thông.

Mặc dù mô hình hồi quy Logistic (Logistic Regression) là công cụ kinh điển và giữ vị trí trung tâm trong xây dựng hệ thống chấm điểm tín dụng (Scorecard) nhờ khả năng diễn giải cao, mô hình này đối mặt với các rào cản kỹ thuật nghiêm trọng khi xử lý dữ liệu thô:

  • Biến rời rạc đa phân loại (High-cardinality Categorical Variables): Sử dụng biến giả (Dummy Variables) làm tăng số lượng chiều dữ liệu, suy giảm bậc tự do và gây bất ổn định ước lượng khi kích thước mẫu hạn chế.
  • Giá trị khuyết thiếu (Missing Values) và Giá trị ngoại lai (Outliers): Phương pháp ước lượng hợp lý cực đại (MLE) truyền thống loại bỏ quan sát khuyết thiếu, làm méo mó phân phối xác suất và giảm hiệu quả thống kê.
  • Mối quan hệ phi tuyến tính: Hồi quy Logistic giả định mối liên hệ tuyến tính giữa logit và biến độc lập, làm mất mát thông tin đối với các biến có tác động phi tuyến phức tạp.

Đề tài "Hiệu quả của kỹ thuật phân nhóm dữ liệu theo WOE (Weight of Evidence) trong bài toán phân loại sử dụng mô hình Logistic và thuật toán học máy" do sinh viên Nguyễn Thị Thu Hà thực hiện dưới sự hướng dẫn của ThS. Nguyễn Thị Liên (Khoa Toán Kinh tế, Đại học Kinh tế Quốc dân) tập trung giải quyết triệt để các hạn chế trên.

Mục tiêu nghiên cứu

  1. Hệ thống hóa cơ sở lý thuyết về kỹ thuật phân nhóm dữ liệu WOE và chỉ số giá trị thông tin IV (Information Value).
  2. Xây dựng quy trình chuẩn hóa biến độc lập, xử lý giá trị ngoại lai và dữ liệu khuyết thiếu bằng thuật toán phân nhóm (Binning) trên hệ thống SAS.
  3. So sánh thực nghiệm hiệu quả dự báo của mô hình Logistic trên tập dữ liệu gốc ($G$) và tập dữ liệu đã chuyển đổi WOE ($W$) trên 3 bài toán: Đánh giá nợ xấu ngân hàng, Chẩn đoán ung thư vú, Dự báo khách hàng viễn thông rời mạng.
  4. Đối sánh hiệu năng giữa mô hình hồi quy WOE - Logistic và các thuật toán học máy hiện đại (Random Forest, LightGBM, XGBoost) trên môi trường R.
  5. Thiết lập công thức quy đổi điểm tín dụng (Credit Scorecard Scaling) ứng dụng trực tiếp trong vận hành thực tế.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Phương pháp Khả năng giải thích (Interpretability) Xử lý Outlier / Missing Data Xử lý biến định tính Rủi ro Overfitting
Linear Probability Model (LPM) Cao Kém (ảnh hưởng trực tiếp đến OLS) Yêu cầu tạo Dummy biến Thấp (nhưng phương sai sai số thay đổi)
Standard Logistic Regression Rất cao (Odds Ratio) Kém (phải loại bỏ hoặc nội suy) Dummy biến gây mất bậc tự do Trung bình
WOE - Logistic Regression Rất cao (Thẻ điểm trực quan) Tuyệt vời (gom nhóm riêng biệt) Rời rạc hóa tối ưu hóa đơn điệu Thấp (nếu kiểm soát số lượng bin)
Pure Ensemble ML (XGBoost/RF) Thấp (Black-box) Tự động xử lý Cần Target / One-Hot Encoding Cao nếu không tinh chỉnh tham số

Thiết kế hệ thống và Cơ sở toán học

Kỹ thuật Weight of Evidence (WOE) đo lường mức độ phân tách giữa nhóm "Good" ($G$) và nhóm "Bad" ($B$) tại từng phân khoảng dữ liệu thứ $i$:

$$WOE_i = \ln\left( \frac{%Good_i}{%Bad_i} \right) = \ln\left( \frac{Good_i / Total_Good}{Bad_i / Total_Bad} \right)$$

Để khắc phục hiện tượng chia cho 0 khi một nhóm không chứa quan sát $Good$ hoặc $Bad$, công thức hiệu chỉnh Laplace smoothing được áp dụng:

$$WOE_i = \ln\left( \frac{(Good_i + 0.5) / Total_Good}{(Bad_i + 0.5) / Total_Bad} \right)$$

Chỉ số Information Value ($IV$) được sử dụng để sàng lọc biến có lực phân loại mạnh:

$$IV = \sum_{i=1}^n \left( %Good_i - %Bad_i \right) \cdot WOE_i$$

  • $IV < 0.02$: Biến không có sức mạnh dự báo (Loại bỏ).
  • $0.02 \le IV < 0.1$: Biến dự báo yếu.
  • $0.1 \le IV \le 0.3$: Biến dự báo trung bình.
  • $IV > 0.3$: Biến dự báo mạnh (Ưu tiên lựa chọn).

Mô hình hồi quy WOE - Logistic có dạng:

$$\ln\left(\frac{p}{1-p}\right) = \ln(odds) = \beta_0 + \sum_{j=1}^k \beta_j \cdot WOE_{X_j}$$

Hệ thống chấm điểm tín dụng chuyển đổi Logit sang thang điểm cơ bản (Base Score) thông qua tham số Points to Double Odds ($PDO$):

$$Factor = \frac{PDO}{\ln(2)}, \quad Offset = BaseScore - Factor \cdot \ln(odds_0)$$

$$Score = Offset + Factor \cdot \ln(odds) = \sum_{j=1}^k \left( \frac{Offset}{k} + Factor \cdot \left(\frac{\beta_0}{k} + \beta_j \cdot WOE_{ij}\right) \right)$$

Technology Stack

  • Data Engineering & Econometric Modeling: SAS Base 9.4 (Quy trình PROC FORMAT, PROC MEANS, PROC FREQ, PROC CORR, PROC LOGISTIC).
  • Machine Learning Benchmarking: R Programming Language (Các thư viện: randomForest, gbm, xgboost, dplyr).
  • Validation Engine: AUROC, Gini Coefficient ($Gini = 2 \cdot AUROC - 1$), Population Stability Index ($PSI$), Ma trận nhầm lẫn (Confusion Matrix).

Implementation và kết quả

Development Process & Source Code

Quy trình tiền xử lý, phân nhóm tối ưu 20 quantiles và chuyển đổi biến WOE được chuẩn hóa qua hệ thống SAS Macro:

/* 1. Khởi tạo nhãn Good - Bad */
DATA DATAH.IMPORT;
    SET DATAH.IMPORT;
    IF isDefault = 0 THEN DO; GB = 'G'; GOOD = 1; BAD = 0; END;
    ELSE IF isDefault = 1 THEN DO; GB = 'B'; GOOD = 0; BAD = 1; END;
RUN;

/* 2. Phân chia tập dữ liệu Train / Validation tỷ lệ 70:30 */
%POP_SPLIT(DATAH.IMPORT, BAD);

/* 3. Phân nhóm tối ưu biến liên tục interest và total_loan thành 20 bins */
%CONT2(DATAH.TRAIN, interest, 20);
%CONT2(DATAH.TRAIN, total_loan, 20);

/* 4. Gán trọng số WOE cho từng nhóm phân loại */
PROC FORMAT;
    VALUE $GRP_interestW
        '[01] LOW<-8.414' = 0.652
        '[02] 8.414<-12.800' = 0.125
        '[03] 12.800<-15.500' = -0.218
        '[04] 15.500<-HIGH' = -0.742;
    VALUE $GRP_work_yearW
        '[01] Unemployed' = -0.487
        '[02] <1 year -> 3 years' = -0.148
        '[03] 4 years -> 5 years' = 0.112
        '[04] 6 years -> 9 years' = 0.235
        '[05] 10+ years' = 0.412;
RUN;

/* 5. Chuyển đổi dữ liệu và chạy Hồi quy Logistic Stepwise */
DATA DATAH.TRAIN_WOE;
    SET DATAH.TRAIN_GROUP;
    WOE_interest = INPUT(PUT(GRP_interest, $GRP_interestW.), BEST12.);
    WOE_work_year = INPUT(PUT(GRP_work_year, $GRP_work_yearW.), BEST12.);
    WOE_house_exist = INPUT(PUT(GRP_house_exist, $GRP_house_existW.), BEST12.);
RUN;

PROC LOGISTIC DATA=DATAH.TRAIN_WOE DESCENDING NAMELEN=30 OUTEST=DATAH.TRAIN_PARAM;
    MODEL GOOD = WOE_interest WOE_debt_loan_ratio WOE_house_exist 
                 WOE_work_year WOE_year_of_loan WOE_early_return_amount_3mon
                 / SELECTION=STEPWISE SLENTRY=0.05;
    OUTPUT OUT=DATAH.TRAIN_OUTPUT PREDICTED=SCORE;
RUN;

Quy trình huấn luyện các thuật toán học máy đối chuẩn trên R:

# Nạp thư viện học máy
library(randomForest)
library(gbm)
library(xgboost)
library(dplyr)

# 1. Random Forest Classifier
set.seed(123)
rf_model <- randomForest(
  as.factor(GOOD) ~ ., 
  data = train_data_woe, 
  mtry = 3, 
  ntree = 2000, 
  importance = TRUE
)
rf_pred <- predict(rf_model, newdata = test_data_woe, type = "prob")[, 2]

# 2. Extreme Gradient Boosting (XGBoost)
dtrain <- xgb.DMatrix(
  data = as.matrix(train_data_woe %>% select(-GOOD, -isDefault)), 
  label = train_data_woe$GOOD
)
dtest <- xgb.DMatrix(
  data = as.matrix(test_data_woe %>% select(-GOOD, -isDefault))
)

xgb_params <- list(
  objective = "binary:logistic",
  eval_metric = "auc",
  max_depth = 3,
  eta = 0.05
)

xgb_model <- xgb.train(
  params = xgb_params, 
  data = dtrain, 
  nrounds = 1000, 
  verbose = 0
)
xgb_pred <- predict(xgb_model, dtest)

Testing và validation

Hiệu năng mô hình được kiểm định qua 3 khía cạnh: Độ phân biệt (Gini/AUROC), Độ chính xác (Ma trận nhầm lẫn) và Độ ổn định tổng thể (PSI).

                        Ma trận nhầm lẫn (Confusion Matrix)
  • $\text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN}$
  • $\text{Precision} = \frac{TP}{TP + FP}$
  • $\text{Sensitivity (Recall)} = \frac{TP}{TP + FN}$
  • $\text{Specificity} = \frac{TN}{TN + FP}$
  • $\text{Population Stability Index (PSI)} = \sum_{i=1}^k \left( %Rec_i - %Dev_i \right) \cdot \ln\left( \frac{%Rec_i}{%Dev_i} \right)$ ($PSI < 0.1$: Mô hình ổn định tuyệt đối).

Kết quả thực nghiệm

So sánh độ chính xác ($\text{Accuracy}$) giữa mô hình Logistic và các thuật toán học máy trên tập dữ liệu gốc ($G$) và tập dữ liệu đã chuẩn hóa WOE ($W$):

Thuật toán / Mô hình Tập Ngân hàng (G) Tập Ngân hàng (W) Tập Y sinh (G) Tập Y sinh (W) Tập Viễn thông (G) Tập Viễn thông (W)
Logistic Regression 75.02% 83.15% 92.40% 95.32% 76.80% 80.45%
Random Forest 81.20% 83.40% 94.15% 94.74% 79.12% 80.60%
LightGBM 82.50% 83.85% 94.74% 95.10% 80.05% 81.15%
XGBoost 83.10% 84.20% 94.74% 95.91% 80.40% 81.70%
So sánh Accuracy: Logistic Dữ liệu gốc (G) vs. Logistic WOE (W) vs. XGBoost (W)
  Ngân hàng:
    Logistic (G) : [75.02%] ■■■■■■■■■■■■■■■
    Logistic (W) : [83.15%] ■■■■■■■■■■■■■■■■■ (+8.13%)
    XGBoost (W)  : [84.20%] ■■■■■■■■■■■■■■■■■■
  Y sinh:
    Logistic (G) : [92.40%] ■■■■■■■■■■■■■■■■■■
    Logistic (W) : [95.32%] ■■■■■■■■■■■■■■■■■■■ (+2.92%)
    XGBoost (W)  : [95.91%] ■■■■■■■■■■■■■■■■■■■
  Viễn thông:
    Logistic (G) : [76.80%] ■■■■■■■■■■■■■■■
    Logistic (W) : [80.45%] ■■■■■■■■■■■■■■■■ (+3.65%)
    XGBoost (W)  : [81.70%] ■■■■■■■■■■■■■■■■

Đổi mới và đóng góp

  1. Chuẩn hóa quy trình thiết kế Thẻ điểm tín dụng (Scorecard): Cung cấp giải pháp trọn vẹn từ bước phân chia 20 nhóm quantile tự động, tinh chỉnh đơn điệu (Monotonicity Tuning) đến công thức chuyển đổi hệ số ước lượng thành điểm số Scorecard có thang đo PDO cụ thể.
  2. Cải thiện rõ rệt hiệu năng của mô hình tham số: Tăng độ chính xác của hồi quy Logistic trên tập dữ liệu ngân hàng thêm 8.13% (từ 75.02% lên 83.15%), thu hẹp khoảng cách với các thuật toán học máy phức tạp.
  3. Chứng minh tính ưu việt của mô hình đơn giản khi có dữ liệu sạch: Kết quả trên tập dữ liệu y sinh chỉ ra rằng khi dữ liệu được chuẩn hóa WOE tối ưu, mô hình Logistic ($95.32%$) đạt hiệu năng tương đương XGBoost ($95.91%$) nhưng vượt trội về tính minh bạch y khoa.
  4. Giải quyết triệt để rào cản dữ liệu phi tuyến và giá trị khuyết thiếu: Tạo ra một cơ chế mã hóa dữ liệu đồng nhất, biến mọi loại dữ liệu (liên tục, danh mục, thứ bậc) thành thước đo xác suất log-odds chuẩn tắc.

Ứng dụng thực tế và triển khai

Tích hợp hệ thống thẩm định tín dụng tự động (Loan Origination System)

Mô hình WOE - Logistic được đóng gói thành bảng tra cứu điểm số trực tiếp (Lookup Scorecard Table), tích hợp trực tiếp vào Core Banking hoặc LOS thông qua REST API:

                          Quy trình chấm điểm thời gian thực (LOS)
  • Lợi ích tài chính (ROI): Tự động hóa 60-70% quy trình phê duyệt sơ bộ, cắt giảm thời gian xử lý hồ sơ từ 48 giờ xuống dưới 15 phút, đồng thời hạ thấp tỷ lệ trích lập dự phòng rủi ro nợ xấu từ 0.5% - 1.2% danh mục cho vay.
  • Hệ thống giám sát độ trôi dữ liệu (Model Governance): Tự động tính toán chỉ số $PSI$ hàng quý. Nếu $PSI > 0.25$, hệ thống kích hoạt quy trình tái phân nhóm WOE và hiệu chỉnh lại hệ số hồi quy.

Hạn chế và hướng phát triển

  • Hạn chế:
    • Quy trình gộp nhóm phân loại (Binning) tại một số biến vẫn phụ thuộc một phần vào kinh nghiệm chuyên gia để đảm bảo tính đơn điệu, có thể tạo ra rủi ro chủ quan.
    • Dữ liệu thực nghiệm từ Kaggle và DataFountain có kích thước giới hạn, chưa phản ánh đầy đủ tác động của các cú sốc vĩ mô toàn chu kỳ kinh tế (Through-the-Cycle).
  • Hướng phát triển:
    • Phát triển thuật toán tự động hóa phân nhóm tối ưu dựa trên cây quyết định kết hợp ràng buộc đơn điệu (Monotonic Optimal Binning Algorithms).
    • Tích hợp các kỹ thuật giải thích mô hình học máy hiện đại (SHAP, LIME) để kết hợp sức mạnh phân loại của XGBoost với tính minh bạch của Thẻ điểm Basel.

Đối tượng hưởng lợi

  • Sinh viên & Học viên ngành Kinh tế lượng / Toán Tài chính: Nắm vững phương pháp luận xây dựng Scorecard chuẩn công nghiệp, liên kết giữa lý thuyết hồi quy và bài toán kinh doanh.
  • Data Scientist & Chuyên viên Phân tích rủi ro (Risk Quants): Khung tham chiếu chi tiết về script SAS và R để triển khai hệ thống phân nhóm dữ liệu thực tế tại ngân hàng và fintech.
  • Tổ chức tín dụng & Doanh nghiệp: Tiết kiệm hàng tỷ đồng chi phí mua thẻ điểm thương mại nhờ năng lực tự phát triển mô hình chấm điểm nội bộ.

Câu hỏi thường gặp

  1. Yêu cầu kỹ thuật để triển khai Scorecard WOE - Logistic?
    Hệ thống yêu cầu môi trường SAS Base/STAT 9.4 hoặc các thư viện tương đương trên Python (optbinning, scikit-learn) / R (woeBinning, scorecard). Khi đưa vào vận hành thực tế, thẻ điểm có thể triển khai dưới dạng bảng tra cứu SQL đơn giản với chi phí phần cứng tối thiểu.

  2. Xử lý thế nào nếu hệ số hồi quy $\beta$ của biến WOE mang giá trị âm?
    Về mặt lý thuyết toán học, WOE đồng biến với tỷ lệ Good/Bad. Do đó, hệ số $\beta$ trong mô hình Logistic bắt buộc phải mang dấu dương. Nếu $\beta < 0$, hiện tượng đa cộng tuyến (Multicollinearity) đang xảy ra hoặc việc phân nhóm vi phạm tính đơn điệu; biến đó bắt buộc phải được chia lại nhóm hoặc loại bỏ khỏi mô hình.

  3. Khi nào nên sử dụng WOE - Logistic thay vì XGBoost?
    Nên sử dụng WOE - Logistic trong các hệ thống đòi hỏi tính minh bạch, tuân thủ pháp lý nghiêm ngặt (như chấm điểm tín dụng Basel II, chẩn đoán y khoa) và môi trường tính toán thời gian thực với độ trễ siêu thấp. Sử dụng XGBoost khi ưu tiên tuyệt đối độ chính xác và không bị ràng buộc bởi yêu cầu giải trình lý do từ chối.

  4. Kỹ thuật WOE xử lý giá trị khuyết thiếu (Missing Value) như thế nào?
    WOE không loại bỏ Missing Value mà coi Missing là một phân nhóm độc lập. Nếu nhóm Missing có tỷ lệ Bad khác biệt so với các nhóm khác, giá trị WOE đại diện sẽ được tính toán riêng biệt, giúp tận dụng 100% dung lượng mẫu ban đầu.

  5. Chi phí và thời gian hoàn vốn (ROI) khi tự phát triển hệ thống Thẻ điểm?
    Thay vì chi trả 100,000 - 300,000 USD mua giải pháp Scorecard từ các nhà cung cấp bên ngoài (Experian, FICO), việc tự xây dựng giúp ngân hàng làm chủ công nghệ, tùy biến linh hoạt theo từng phân khúc sản phẩm với thời gian hoàn vốn dưới 6 tháng.


Kết luận

Đề tài chuyên đề thực tập tốt nghiệp của tác giả Nguyễn Thị Thu Hà đã giải quyết xuất sắc bài toán tối ưu hóa dữ liệu trong mô hình phân loại nhị phân. Thông qua việc kết hợp kỹ thuật phân nhóm Weight of Evidence (WOE) với mô hình hồi quy Logistic trên nền tảng SAS và đối chuẩn với các thuật toán học máy tiên tiến trên R, nghiên cứu chứng minh rằng việc nâng cao chất lượng dữ liệu thông qua tiền xử lý chuẩn mực mang lại giá trị tương đương hoặc vượt trội so với việc áp dụng các thuật toán hộp đen phức tạp. Kết quả này mang tính ứng dụng thực tiễn cao, đóng góp nền tảng vững chắc cho công tác quản trị rủi ro tín dụng tại các ngân hàng thương mại Việt Nam.