Dựa trên mô hình đã được huấn luyện trong quá trình nghiên cứu, đưa ra được dự báo và phân tích các số liệu cũng như tỉ lệ bị nợ xấu hoặc không dính nợ xấu của các tài khoản ngân hàng..
Giới thiệu
Lý do ch n đọ ề tài
Phân tích tình trạng tài kho n và d báo tình tr ng tín d ng cả ự ạ ụ ủa tài khoản là mối quan tâm sâu sắc đối với các ngân hàng trên thế giới và khách hàng toàn cầu Việc phân tích chính xác tình tr ng tài kho n cũng như kh năng thanh toán kho n nạ ả ả ả ợ của người dùng sẽ giúp các ngân hàng đưa ra các quyế ịnh tín d ng chính xác và hi u t đ ụ ệ quả hơn Đi u này sề ẽ giúp ngân hàng giảm thiểu rủi ro tín dụng và nâng cao hi u quệ ả hoạt động Đ ng thồ ời còn là tiền đề giúp người dùng cân nhắc đư c các khoợ ản vay phù hợp với nhu cầu, phù h p vợ ới khả năng tài chính của mình Tránh đư c tình trợ ạng nợ xấu và đảm bảo sự ổn đ nh tài chính Không nh ng v y, nghiên c u này còn có thị ữ ậ ứ ể sử dụng đ phát ể triển các mô hình phân tích và d báo tình tr ng tài kho n và tình tr ng ự ạ ả ạ tín dụng của các tài khoản, hỗ trợ cải thiện chất lượng dịch vụ tại các ngân hàng Trong suốt m t thậộ p k qua, nỷ ền kinh t nói chung và lĩnh vế ực ngân hàng c a nư c Đủ ớ ức có những bi n chuy n l n, đánh d u nh ng cế ể ớ ấ ữ ột mốc quan trọng trong ngành tài chính ngân hàng của nư c này khi ngân hàng lớ ớn nhất nước Đ c trứ ở thành mối lo m i cho đớ ất nước này Nhận th y các tài kho n khách hàng có nh hư ng trấ ả ả ở ực tiếp tới "v n m nh" ậ ệ của một ngân hàng
Do đó, "Phân tích tình trạng tài kho n cả ủa người dùng từ bộ dữ liệu các tài kho n ả ngân hàng của nư c Đ c Dớ ứ ự báo tình tr ng tín d ng cạ ụ ủa tài khoản" là một đề tài nghiên cứu có tính c p thiấ ết, thực tiễn và thách thức cao Nghiên cứu này có thể mang lại nhiều lợi ích cho các ngân hàng, ngư i dùng nói riêng và kh i ngành ngân hàng nói chung.ờ ố Đối tượng nghiên cứu
Các tài khoản ngân hàng Đức bao gồm các thông tin về tình hình tài khoản, thông tin người dùng cũng như các thông tin xác thực
Nghiên cứu về các phương pháp phân lớp, phân cụm dữ liệu, và từ đó sẽ chọn ra một phương pháp tối ưu và đảm bảo nhất cho quá trình dự báo dữ liệu
Dựa trên mô hình đã được huấn luyện trong quá trình nghiên cứu, đưa ra được dự báo và phân tích các số liệu cũng như tỉ lệ bị nợ xấu hoặc không dính nợ xấu của các tài khoản ngân hàng
Phương pháp phân tích – tổng hợp lý thuyết: từ nguồn tài liệu, sách báo có được, sau đó đọc và tổng hợp để rút ra, chắt lọc những nội dung cần thiết cho luận điểm của bài nghiên cứu
Phương pháp mô hình hóa: xây dựng mô hình nghiên cứu dựa trên lý thuyết và ứng dụng mô hình để dự báo nhằm kiểm định tính chính xác của mô hình.
Cơ sở lý lu 2 ận 1 Khai phá dữ liệu
Khai phá dữ liệu là gì?
“Khai phá dữ liệu (Data Mining) là khai phá dữ liệu là quá trình phân loại, sắp xếp các tập hợp dữ liệu lớn nhằm xác định các mẫu, thiết lập mối liên hệ để giải quyết vấn đề nhờ phân tích dữ liệu.
Các tính năng chính của khai phá dữ liệu
Có nhiều tham số quan trọng khác nhau trong Data Mining, chẳng hạn như quy tắc kết hợp, phân loại, phân cụm và dự báo
Một số tính năng chính của Data Mining:
• Dự đoán các mẫu dựa trên xu hướng trong dữ liệu
• Tính toán dự đoán kết quả
• Tạo thông tin phản hồi để phân tích
• Tập trung vào cơ sở dữ liệu lớn hơn
• Phân cụm dữ liệu trực quan.
Phương pháp khai phá dữ liệu
“Một số phương pháp khai phá d liệu phữ ổ biến như:
Phân lớp (Classification): Phương pháp sử dụng để dự báo dữ liệu thông qua bộ dữ liệu huấn luyện, phân loại đối tượng Nhóm sẽ sử dụng phương pháp này trong bài để dự báo số liệu
Dự báo (Prediction): Phương pháp dùng để dự báo bộ dữ liệu dựa trên bộ dữ liệu có sẵn
Hồi quy (Regression): Mục đích chính của phương pháp hồi quy này là dùng để ánh xạ và khám phá dữ liệu
Phân cụm (Clustering): Phương pháp phân cụm giúp việc mô tả dữ liệu trở nên đơn giản hơn bằng các xác định tập hợp hữu hạn các cụm với nhau h Nhóm sẽ sử dụng phương pháp này trong bài để dự báo số liệu.”
Công cụ khai phá dữ liệu Orange
Phần mềm Orange biết đến bởi việc tích hợp các công cụ khai phá dữ liệu mã nguồn mở và học máy thông minh, đơn giản, được lập trình bằng Python với giao diện trực quan và tương tác dễ dàng
Các công cụ (widgets) cung cấp các chức năng cơ bản như đọc dữ liệu, hiển thị dữ liệu dạng bảng, lựa chọn thuộc tính đặc điểm của dữ liệu, huấn luyện dữ liệu để dự đoán, so sánh các thuật toán máy học, trực quan hóa các phần tử dữ liệu, … Vì vậy, nhóm quyết định chọn phần mềm Orange để phục vụ cho bài nghiên cứu.”
Phân lớp dữ liệu
2.1 Khái niệm phân lớp dữ liệu
“Phân lớp dữ liệu chính là một trong những hướng nghiên cứu chính của khai phá dữ liệu uá trình phân lớp dữ liệu là quá trình phân các đối tượng vào một hay Q nhiều lớp đã cho trước dựa vào một mô hình phân lớp Mô hình này được xây dựng dựa trên một tập dữ liệu đã được gán nhãn trước đó
Phân lớp và dự đoán là một trong hai dạng của phân tích dữ liệu để rút ra một mô hình mô tả những lớp dữ liệu quan trọng hoặc dự đoán xu thế của dữ liệu trong tương lai
Quá trình phân lớp dữ liệu gồm 2 bước chính:
Bước 1: Xây dựng mô hình phân lớp
Dữ liệu đầu vào: là dữ liệu mẫu đã được gán nhãn và tiền xử lý
Các thuật toán phân lớp: cây quyết định, hàm số toán học, tập luật…
Kết quả của bước này là mô hình phân lớp đã được huấn luyện (trình phân lớp)
Bước 2.1: Đánh giá mô hình
Dữ liệu đầu vào: là một tập dữ liệu mẫu khác đã được gán nhãn và tiền xử lý Tuy nhiên lúc đưa vào mô hình phân lớp, ta “lờ” đi thuộc tính đã được gán nhãn Tính đúng đắn của mô hình sẽ được xác định bằng cách so sánh thuộc tính gán nhãn của dữ liệu đầu vào và kết quả phân lớp của mô hình
Bước 2.2: Phân lớp dữ liệu mới
Dữ liệu đầu vào: là dữ liệu “khuyết” thuộc tính cần dự đoán lớp (nhãn)
Mô hình sẽ tự động phân lớp (gán nhãn) cho các đối tượng dữ liệu này dựa vào những gì được huấn luyện ở bước 1
Nhiệm vụ của bài toán phân lớp là phân các đối tượng dữ liệu vào n lớp cho trước Nếu: n = 2: Phân lớp nhị phân n > 2: Phân lớp đa lớp
Mỗi đối tượng dữ liệu chỉ thuộc vào 1 lớp duy nhất: Phân lớp đơn nhãn Một đối tượng dữ liệu có thể cùng lúc thuộc về nhiều lớp khác nhau: Phân lớp đa nhãn
Một số phương pháp phân lớp
2.2 Các phương pháp đánh giá mô hình phân lớp
Ma trận nhầm lẫn (Confusion Matrix) và độ chính xác (Accuracy) ; ROC , AUC , Precision/Recall, F1 -score
Ma trận nhầm lẫn (Confusion Matrix)
Ma trận nhầm lẫn là ma trận chỉ ra trong một lớp cụ thể, dự đoán có bao nhiêu điểm dữ liệu thực sự thuộc về nó và rơi vào lớp nào Phương pháp này là có kích thước k x k với k là số lượng lớp của dữ liệu Đây là một trong những kỹ thuật đo lường hiệu suất được sử dụng rộng rãi, đặc biệt là cho các mô hình phân loại
TP - True Positive : Dự đoán lớp tích cực là tích cực
FP-False Positive - Type 1 Error : Dự đoán lớp phủ định là tích cực
FN - False Negative Type 2 Error: Dự đoán lớp tích cực là tiêu cực -
TN - True Negative : Dự đoán lớp phủ định là tiêu cực Độ chính xác (Accuracy)
Accuracy có thể hiểu là là tỉ lệ giữa số mẫu dự đoán đúng với tổng số mẫu trong tập dữ liệu được tính ra mà không chỉ ra được chính xác mỗi loại được phân lớp như thế nào, phân loại đúng nhiều nhất thuộc về lớp nào và dữ liệu thường bị phân loại nhầm vào lớp khác đang nằm ở lớp nào Tuy nhiên, nó vẫn có thể giúp chúng ta ta đánh giá hiệu quả dự báo của mô hình trên một bộ dữ liệu Độ chính xác càng cao thì mô hình càng chuẩn xác
Precision (độ chính xác) cho biết tỉ lệ số điểm true positive (TP) trong số những điểm được phân loại là positive (TP + FP)
Recall (độ phủ) hay độ nhạy (sensitivity) hay TPR (True Positive Rate) là tỉ lệ giữa số điểm true positive (TP) và những điểm thực sự là positive (TP + FN)
F1- score là giá trị trung bình điều hòa của hai độ đo Precision và Recall F1 có giá trị gần với giá trị nhỏ hơn giữa 2 giá trị Precision và Recall và F1 càng lớn nếu cả 2 giá trị Precision và Recall đều lớn cho thấy độ tin cậy của mô hình cao hơn
ROC (Receiver Operating Characteristic) và AUC (Area Under the Curve)
ROC là một đồ thị được sử dụng khá phổ biến trong đánh giá các mô hình phân loại nhị phân Đường cong này được tạo ra bằng cách biểu diễn tỷ lệ dự báo true positive rate (TPR) dựa trên tỷ lệ dự báo false positive rate (FPR) tại các ngưỡng khác nhau Một mô hình hiệu quả khi có ROC càng tiệm cận với điểm (0;1) hay có TPR cao và FPR thấp thì mô hình càng phù hợp.”
Phân cụm dữ liệu
“Là quá trình gom cụm/nhóm các đối tượng/dữ liệu có đặc điểm tương đồng vào các cụm/nhóm tương ứng Trong đó: các đối tượng trong cùng một cụm sẽ có những tính chất tương tự nhau; các đối tượng thuộc cụm/nhóm khác nhau sẽ có các tính chất khác nhau.”
Nhiệm vụ chính là tìm ra và đo đạc sự khác biệt giữa các đối tượng dữ liệu Phân cụm thuộc nhóm phương pháp học không giám sát (unsupervised learning) vì không biết trước được số nhóm (khác với bài toán phân lớp)
Một phương pháp phân cụm tốt là phương pháp tạo ra các cụm có chất lượng cao: Độ tương đồng bên trong cụm cao; Độ tương tự giữa các cụm thấp (khác biệt cao) Các ứng dụng điển hình: Công cụ phân cụm dữ liệu độc lập; Là giai đoạn tiền xử lý cho các thuật toán khác
Loại Đặc điểm Các phương pháp điển hình
Phân cấp các đối tượng dựa trên một số tiêu chí
Xây dựng các phân hoạch khác nhau và đánh giá chúng Sau đó, tìm cách tối thiểu hóa tổng bình phương độ lỗi
Dựa trên các kết nối giữa các đối tượng hàm và mật độ
Dựa trên cấu trúc độ chi tiết nhiều cấp
Giả định mỗi cụm có một mô hình và tìm cách fit mô hình đó vào mỗi cụm
Thuật toán dựa trên độ đo khoảng cách của các đối tượng dữ liệu trong cụm Nó đo khoảng cách tới giá trị trung bình của các dữ liệu trong cụm
Cụ thể về tư tưởng của thuật toán K-means: Ta xem mỗi đối tượng trong tập dữ liệu là một điểm trong không gian chiều (với d d là số lượng thuộc tính của đối tượng)
B1: Chọn k điểm bất kỳ làm các trung tâm ban đầu của k cụm
B2: Phân mỗi điểm vào cụm có trung tâm gần nó nhất Nếu các điểm ở từng cụm vừa được phân không thay đổi so với kết quả của lần phân chia trước đó thì dừng thuật toán
B3: Cập nhật lại trung tâm cho từng cụm bằng cách lấy trung bình cộng của tất cả các điểm đã được gắn vào cụm đó sau khi phân chia ở bước 2 B4: Quay lại bước 2
- Do K means phân tích cụm đơn giản nên có thể áp dụng đối với tập dữ liệu lớn -
- Nhược điểm của K means là chỉ áp dụng với dữ liệu có thuộc tính số và khám - phá ra các cụm có dạng hình cầu Do đó thuật toàn này không phù hợp với phân bố dữ liệu dạng không lồi Ngoài ra, nó còn rất nhạy cảm với nhiễu và phần tử ngoại lai trong dữ liệu và cần biết trước số lượng cụm k
3.5 Silhouette index Đây là phương pháp tính toán kết hợp đánh giá Cohesion (qua ai) và Separation (bi) bi – ai càng cao càng tốt, đạt max = bikhi ai= 0
Nếu một cluster được đánh giá chất lượng, là các điểm trong cluster sẽ có Silhouette tiến về 1 và ngược lại
Nếu không phải K-means clustering thì: bi là khoảng cách trung bình từ điểm i trong cluster A đến tất cả các điểm trong cluster B với cluster B là cluster láng giềng gần nhất ai là khoảng cách trung bình từ điểm i trong cluster A đến tất cả các điểm còn lại trong A
Ngoài ra, theo kinh nghiệm của các tác giả trong tài liệu “Data mining and Predictive analytics” của nhà xuất bản Wiley:
Silhouette Score ≥ 0.5 → cluster này sát với thực tế
Silhouette Score [0.25, 0.5) cần đánh giá lại cluster,
Silhouette Score < 0.25, không đáng tin cậy và cần đi tìm thêm nhiều bằng chứng khác.
Tiến hành xử lý d li 8 ữ ệu 1 Xử lý, khái quát dữ liệu
Phân cụm dữ ệu li
Sau khi xử lý dữ liệu, ta tiến hành phân cụm dữ liệu dựa trên 2 phương pháp sau:
Tiến hành chọn lựa các phương pháp tính khoảng cách theo 5 phương pháp dựa vào các chỉ số SI:
Tiến hành phân tích dựa trên hình ảnh kết quả nhận được:
* Kết luận: Ta thấy, Single-link là phương pháp kém hiệu quả nhất so với các phương pháp còn lại vì chỉ số ở phương pháp này thấp nhất, trong khi đó Ward là phương pháp tốt nhất, có chỉ số cao hơn so với những phương pháp còn lại Do đó, chọn Ward làm phương pháp tính khoảng cách
Lập bảng so sánh C1 và C2 của 3 phương pháp
Ta có miền giá trị của Silhouette index [-1,1]
Tỉ lệ của Euclidean và Manhattan đều có C1 dưới ngưỡng 0.5 (cụ thể lần lượt là 0.232 và 0.233) và C2 trên ngưỡng 0.5 => Cho thấy kết quả C1 cần được đánh giá lại và C2 cho ra mức tin cậy cao hơn (Tỉ lệ của Euclidean và Manhattan có C1 lần lượt là 0.232 và 0.233; trong khi đó tỉ lệ của 2 phương pháp này có C2 là 0.652 và 0.650)
Tỉ lệ của Cosine đều có C1 rất tiệm cận với 1 nhưng ngược lại C2 lại có giá trị âm lên đến -0.419, điều này chứng tỏ phương pháp này không đáng tin cậy so với 2 phương pháp còn lại Từ đó ta thấy Euclidean và Manhattan là phương pháp cho ra độ chính xác cao hơn so với phương pháp còn lại cho , thấy chỉ số ở cụm C2 đáng tin cậy hơn so với cụm C1 ở 2 phương pháp.
Sử dụng thuật toán K-means, đánh giá Silhouette Scores thông qua việc phân ra làm 2 - 8 cụm rồi so sánh Silhouette Scores Việc phân dữ liệu thành 2 cụm có Silhouette Scores lớn hơn so với các dữ liệu còn lại (0.144 > 0.094 > 0.078 > 0.073 > 0.076 > 0.074 > 0.071) Vì vậy, dữ liệu trên chỉ cần phân làm 2 cụm
Sau khi phân cụm xong, ta tiến hành đánh giá thông qua Silhouette Plot
Ta có kết quả Silhouette Plot của 3 phương pháp như sau:
Euclidean có C1 trong khoảng [0.25, 0.5] (0.298) và C2 nằm ngoài ngưỡng 0.5 (0.729)
Thấp hơn không quá nhiều so với Euclidean là Manhattan với tỉ lệ C1 là 0.297 và C2 là 0.726
Riêng phương pháp Cosine cho ra kết quả C1 tiệm cận với 1 (0.935) nhưng C2 lại nhỏ hơn 0 (-0.394)
* Kết luận: Từ cả hai phương pháp trên, ta rút ra được kết luận rằng cụm C2 cho ra chỉ số cao hơn so với cụm C1, chứng tỏ cụm C2 là cụm tốt nhất trong hai cụm trên Ta tiến hành phân lớp và dự báo dữ liệu trên cụm C2 này
Sử dụng Quick select widget chọn ra C2 Thu được 373 mẫu từ cụm C2
Tiếp theo ử dụng s Data Table widget để xem toàn bộ dữ liệu của C2
Sau khi có kết quả, lưu file dưới dạng Excel để xuất dữ liệu phân cụm Tiến hành phân lớp dữ liệu dựa trên file Excel vừa xuất của cụm C2
Phân lớp dữ liệu (Test & Score)
Sử dụng Test & core widget để đánh giá 3 S phương pháp bao gồm:
Tiến hành đánh giá thông qua bảng kết quả, với k = ta được kết quả sau: 5
* Kết luận: Ta thấy chỉ số AUC tăng dần từ Logistic Regression đến SVM SVM có AUC khá cao với giá trị 0.758 lớn hơn so với hai giá trị còn lại là 0.750 và 0.744, đường AUC càng tiến về 1 thì độ chính xác càng cao, đây phương pháp đáng được chọn lựa để phân lớp dữ liệu Ngoài ra SVM còn có tỉ lệ Precision(dự báo) khá cao lên đến 0.759 > 0.755 > 0.754 và các chỉ số khác như CA, Recall đều lớn hơn so với 2 phương pháp còn lại
Tiếp tục sử dụng ma trận nhầm lẫn để đánh giá và chọn ra phương pháp tốt nhất Chọn Number of instances cho ra kết quả cụ thể ở 3 phương pháp như sau ở phần 2.5
2.5.1 Neural Network Ở cột nợ xấu(bad), tỉ lệ dự đoán chính xác là 54.4% tài khoản nợ xấu (bad) và 45.6% tài khoản không bị nợ xấu(good) nhưng dự đoán sai, còn tỉ lệ tài khoản tốt (good) nhưng dự đoán dính nợ xấu (bad) khoảng 17.3% và tỉ lệ dự đoán đúng good là 82.7% Tỉ lệ dự báo sai khác chiếm gần 1 nửa ở cột bad
Tỉ lệ dự đoán chính xác là 72.2% ở phần nợ xấu (cột bad) và 77.2% ở phần tốt, còn lại tỉ lệ dự đoán sai nợ xấu là 27.8% và 22.8% ở cột good Kết quả này cho ra độ chính xác cao và tỉ lệ sai khác cũng không quá cao
Tỉ lệ dự đoán chính xác là 54.5% ở phần nợ xấu (cột bad) và 82.4% ở phần tốt, còn lại tỉ lệ dự đoán sai nợ xấu là 45.5%(cột bad) và 17.6% ở cột good Kết quả này cho ra độ chính xác cao và tỉ lệ sai khác thấp ở cột good nhưng lại có tỉ lệ dự báo sai rất cao ở cột bad lên đến 45.5%, gần 1 nửa số liệu
* Kết luận: SVM cho ra tỷ lệ dự báo rất chính xác với số lượng dự báo sai khác thấp và cao hơn ở 2 phương pháp còn lại, hai phương pháp còn cũng cho ra kết quả cao nhưng số lượng sai khác lại cao hơn so với SVM, điều này ảnh hưởng kết quả dự báo tín dụng nợ xấu hay tốt để từ đó đưa ra được quyết định đúng đắn hơn trong việc cho phép tài khoản đó có được hưởng ưu đãi hay cho vay tiền hay không
2.6 ROC Analysis Để tìm ra được phương pháp phân lớp tốt nhất, ta tiến hành kiểm tra các tỉ lệ dựa vào ROC Analysis
Sau khi phân tích ta thấy như sau:
* Kết luận: Phương pháp SVM có ROC kéo dài từ đáy lên đỉnh tiệm cận với điểm (0,1) cao hơn so với 2 phương pháp còn lại, chỉ số AUC của SVM cũng cao nhất là 0.821 lớn hơn hẳn so với 2 phương pháp còn lại là Logistic Regression và Neural Network (0.509 > 0.501> 0.500) Như vậy SVM là phương pháp tốt nhất để phân lớp và dự báo dữ liệu.
Sau khi đã phân lớp dữ liệu xong, ta tiến hành biểu diễn dữ liệu thông qua data table widget
Tiến hành trích 10% bộ dữ liệu đã phân lớp và xem như 10% bộ dữ liệu trên chưa có nhãn, sau đó tiến hành dự báo Ở file dữ liệu đã xử lý, biến Credit good có role là target
Bộ dữ liệu huấn luyện bao gồm 373 mẫu, còn bộ dữ liệu dự báo bao gồm 38 mẫu Ở file dự báo, biến Credit good sẽ được đổi từ target thành feature