Mô hình thực nghiệm

Một phần của tài liệu Phương pháp phân cụm tích lũy và áp dụng tại Ngân hàng Thương mại cổ phần Quân đội (Trang 59)

4.2.1. Dữ liệu thực nghiệm

 Nguồn dữ liệu

Dữ liệu được lấy từ cơ sở dữ liệu của Ngân hàng Quân đội, bao gồm các bảng dữ liệu liên quan đến thông tin khách hàng và các bảng dữ liệu liên quan đến dịch vụ của Ngân hàng Quân đội. Các dịch vụ sử dụng trong việc xây dựng ứng dụng ở phần này gồm có 3 dịch vụ là dịch vụ Mobile banking, dịch vụ Cho vay và dịch vụ thẻ.

- Dịch vụ mobile banking: Dịch vụ mobile banking là dịch vụ dựa trên các ứng dụng mobile do Ngân hàng cung cấp cho khách hàng. Với việc sử dụng dịch vụ này, các Ngân hàng có thể sử dụng để thực hiện các giao dịch được định nghĩa sẵn như: Vấn tin tài khoản, mua hàng, lấy biến động số dư, in sao kê v.v…Các thao tác hoàn toàn được thực hiên trên thiết bị di động của khách hàng. Hiện tại các Ngân hàng đang tích cực phát triển dịch vụ này và Ngân hàng Quân đội cũng không phải là ngoại lệ.

1.Dịch vụ Cho vay: Đây là dịch vụ truyền thống của Ngân hàng. Khi khách hàng có nhu cầu cần vay vốn để đầu tư thì sẽ làm thủ tục vay vốn của Ngân hàng. Ngân hàng

sẽ làm công việc xác thực khách hàng, đánh giá rủi ro cũng như đánh giá khả năng trả nợ, tài sản cầm cố của khách hàng trước khi cho vay.

- Dịch vụ thẻ: Trong vài năm trở lại đây, dịch vụ thẻ đã phát triển một cách nhanh chóng, cho phép khách hàng có thể sử dụng một thẻ (debit, credit) để thanh toán mua bán, rút tiền, vấn tin số dư v.v…trên các thiết bị được Ngân hàng cung cấp (ATM, POS). Thông tin về mỗi dịch vụ trên đều đươc lưu trong cơ sở dữ liệu của Ngân hàng thành một bảng riêng biệt, kèm theo thông tin về mã của khách hàng sử dụng dịch vụ này. Thông tin khách hàng được lưu thành một bảng riêng chi tiết, bao gồm mã khách hàng để liên kết đến các bảng dịch vụ khác. Hình dưới đây cho ta cái nhìn khái quát về cách thức tổ chức dữ liệu trong cơ sở dữ liệu Ngân hàng Quân đội:

Bảng4.1: Thông tin khách hàng

STT Tên trường Mô tả

1 CustomerID Mã khách hàng 2 CustomerName Tên khách hàng

3 CustomerType Loại khách hàng (cá nhân, doanh nghiệp) 4 JobType Ngành nghề công việc

5 Nation Quốc tịch 6 DateOfBirth Ngày sinh

7 Sex Giới tính

8 Status Tình trạng hôn nhân 9 Identification CMTND

10 savg_acc Số tiền trong tài khoản saving account 11 curr_acc Số tiền trong tài khoản current account 12 cust_inc Thu nhập của khách hàng

Bảng 4.2: Dịch vụ mobile banking

STT Tên trường Mô tả

1 CustomerID Mã khách hàng

2 Account Tài khoản

3 Mobile Số điện thoại

… … …

Bảng 4.3: Dịch vụ vay

STT Tên trường Mô tả

1 CustomerID Mã khách hàng

2 CurrencyType Loại tiền

3 Amount Số tiền vay

4 Startdate Ngày bắt đầu vay

5 Enddate Ngày đáo hạn

6 ServiceType Nhóm sản phẩm vay

7 RateType Loại lãi xuất

8 FormulaType Công thức tính lãi (adsbygoogle = window.adsbygoogle || []).push({});

… … …

Bảng 4.4: Dịch vụ thẻ

STT Tên trường Mô tả

1 CustomerID Mã khách hàng 2 Branch Chi nhánh 3 ClassOfCard Hạng thẻ 4 CustomerType Loại khách hàng 5 PublicType Loại phát hành 6 StartValid Ngày phát hành 7 FirstName Tên 8 LastName Họ … … …  Chuẩn bị dữ liệu

- Phân tích các trường liên quan đến quá trình phân loại trong bảng dữ liệu khách hàng: Trên bảng thông tin khách hàng, những trường không liên quan đến quá trình phân loại bao gồm: thông tin ngày bắt đầu sử dụng dịch vụ, ngày hết hạn dịch vụ, thông tin chi nhánh đưa ra dịch vụ cho khách hàng, số CMTND, quốc tịch v.v… Đây là những thông tin khó có khả năng định lượng hóa và do đó khó có thể sử dụng trong thuật toán k- neareast neighbor của chúng ta, cần phải được loại bỏ. Qúa trình này được thực hiện thủ công. Sau khi loại bỏ bớt những trường không cần thiết của bảng khách hàng sẽ được bảng rút gọn chỉ còn một số trường sau:

Bảng 4.5: Bảng các trường sau khi thực hiện phân tích trường

STT Tên trường Mô tả

1 CustomerID Mã khách hàng 2 CustomerName Tên khách hàng

3 CustomerType Loại khách hàng (cá nhân, doanh nghiệp) 4 DateOfBirth Ngày sinh

5 Sex Giới tính

6 Status Tình trạng hôn nhân

7 savg_acc Số tiền trong tài khoản saving account 8 curr_acc Số tiền trong tài khoản current account 9 cust_inc Thu nhập của khách hàng

- Sàng lọc bảng dữ liệu khách hàng: Duyệt qua tất các dữ liệu của bảng dữ liệu khách hàng đã được rút gọn, những trường dữ liệu nào thiếu sẽ được điền vào theo nguyên tắc sau: Tìm giá trị có tần suất mà xuất hiện nhiều nhất trong dữ liệu của trường này và điền vào vị trí trường còn thiếu. Sau quá trình này sẽ đảm bảo tất cả dữ liệu trong trường này là đầy đủ không bị thiếu. Qúa trình này được thực hiện bằng một ứng dụng nhỏ viết ngay trong Oracle.

- Chuyển đổi dữ liệu phù hợp với quá trình phân loại: Thực hiện liên kết 4 bảng dữ liệu lại ta có thông tin khách hàng nào sử dụng dịch vụ nào. Tuy nhiên, vấn đề quan trọng ở đây là chỉ quan tâm đến những thông tin của khách hàng cùng với những thông tin dịch vụ khách hàng sử dụng, do mỗi một trong ba bảng dịch vụ sẽ được mô hình hóa thành một cột thông tin ghép thêm vào bảng khách hàng, để chỉ ra rằng khách hàng sử dụng dịch vụ nào. Sau quá trình này, ta có bảng thông tin khách hàng như sau:

Bảng 4.6: Bảng sau khi thực hiện ghép bảng dữ liệu

STT Tên trường Mô tả

1 CustomerID Mã khách hàng

2 CustomerName Tên khách hàng

3 CustomerType Loại khách hàng (cá nhân, doanh nghiệp)

4 DateOfBirth Ngày sinh

5 Sex Giới tính

6 Status Tình trạng hôn nhân

7 savg_acc Số tiền trong tài khoản saving account 8 curr_acc Số tiền trong tài khoản current account

9 cust_inc Thu nhập của khách hàng

10 Use_mobile_banking

Cho biết khách hàng có sử dụng dịch vụ mobile banking không (giá trị 0 cho biết là không, giá trị 1 cho biết là có dùng)

11 Use_loan

Giá trị 0 cho biết khách hàng không dùng dịch vụ vay, giá trị 1 cho biết khách hàng có dùng dịch vụ vay.

12 Use_card

Giá trị 0 cho biết khách hàng không dùng dịch vụ thẻ, giá trị 1 cho biết khách hàng có dùng dịch vụ thẻ. (adsbygoogle = window.adsbygoogle || []).push({});

Đối với những thuộc tính không có khả năng định lượng, cần phải chuyển đổi thành giá trị tương ứng có khả năng định lượng. Trong bảng dữ liệu khách hàng, có các cột sau sẽ được chuyển đổi thành giá trị tương ứng:

Bảng 4.7: Danh sách các trường thực hiện chuyển đổi dữ liệu

Tên trường Giá trị tổng tương ứng

CustomerType 0: khách hàng cá nhân; 1: khách hàng doanh nghiệp

DateOfBirth Chuyển đổi thành tuổi, bằng cách lấy năm hiện tại – năm sinh

Sex 0: nữ; 1: nam

Như vậy sau quá trình làm mịn dữ liệu đã cho ra đầu ra là tập dữ liệu mẫu là một bảng, gọi là bảng Thông tin mẫu, mô tả khá đầy đủ về thông tin có khả năng định lượng của khách hàng như bên dưới đây (trừ hai trường là customerid và customername để cho biết rõ hơn thông tin khách hàng):

Bảng 4.8: Bảng các trường sau khi thực hiện chuyển đổi dữ liệu

STT Tên trường Mô tả

1 CustomerID Mã khách hàng

2 CustomerName Tên khách hàng

3 CustomerType 0: khách hàng cá nhân; 1: khách hàng doanh nghiệp

4 Age Số tuổi

5 Sex 0: nữ; 1: nam

6 Status 0: chưa lập gia đình; 1: đã lập gia đình 7 savg_acc Số tiền trong tài khoản saving account 8 curr_acc Số tiền trong tài khoản current account

9 cust_inc Thu nhập của khách hàng

10 use_mobile_banking

Cho biết khách hàng có sử dụng dịch vụ mobile banking không (giá trị 0 cho biết là không, giá trị 1 cho biết là có dùng)

11 use_loan

Gía trị 0 cho biết khách hàng không dùng dịch vụ vay, giá trị 1 cho biết khách hàng có dùng dịch vụ vay.

12 use_card

Gía trị 0 cho biết khách hàng không dùng dịch vụ thẻ, giá trị 1 cho biết khách hàng có dùng dịch vụ thẻ.

Dung lượng dữ liệu

Tập dữ liệu mẫu sử dụng ở đây sau khi trích rút có 300 bản ghi tập dữ liệu này sẽ được đưa vào để thực hiện quá trình phân cụm. Thuật toán thực hiện phân cụm được sử dụng cài đặt là thuật toán phân cụm tích lũy. Dữ liệu dự đoán sẽ được gộp vào tập dữ liệu có từ trước để thực hiện quá trình phân cụm, và dựa vào kết quả phân cụm sẽ dự đoán được hướng sử dụng dịch vụ của dữ liệu thông tin khách hàng được đưa vào.

4.2.2 Công cụ thực nghiệm

Để đánh giá việc tìm hiểu phương pháp phân cụm tích lũy bằng chứng, cần phải có một công cụ cho phép chạy thuật toán cài đặt phân cụm tích lũy để lấy kết quả đầu ra,

đem so sánh với mong muốn kết quả thực tế nhằm xem xét độ chính xác của việc dự đoán khi sử dụng phương pháp này. Hiện nay phương pháp phân cụm tích lũy là phương pháp tương đối mới trên thế giới nên các ứng dụng mã nguồn mở chưa hỗ trợ việc cài đặt thuật toán này. Với mong muốn có thể đánh giá được tính đúng đắn của phương pháp, trong phạm vi luận văn này sẽ xây dựng một công cụ ở mức độ đơn giản để hỗ trợ cho việc cài đặt thuật toán phân cụm tích lũy k-means.

Hình 4.1: Giao diện ứng dụng cài đặt thuật toán phân cụm tích lũy dựa trên phương pháp k-means

Việc xây dựng công cụ phân tích này mới chỉ ở mức độ đơn giản. Nó bao gồm phần mềm cài đặt thuật toán phân cụm tích lũy k-means có kết nối đến cơ sở dữ liệu Oracle (dữ liệu đã được chuẩn bị sẵn như mô tả ở phần trên nhằm đảm bảo ứng dụng có thể hoạt động tốt). (adsbygoogle = window.adsbygoogle || []).push({});

Như mô tả trên hình, giao diện sẽ hiển thị số dòng dữ liệu đầu vào, các thông số tham số cần thiết cho quá trình phân cụm. Một cải tiến đáng kể là việc sử dụng giá trị k nhỏ nhất và lớn nhất. Thuật toán sẽ lựa chọn ngẫu nhiên một giá trị k trong khoảng trên, sau đó sẽ chạy thuật toán k-means. Tùy theo số lần lặp lại mà ta sẽ xây dựng lên được ma trận kết hợp A, sau đó bắt đầu xây dựng lại các cụm theo thuật toán SL(Single Link). Theo cách này, số lượng cụm sau quá trình chạy thuật toán sẽ không còn phụ thuộc vào tham số là số cụm đưa vào ban đầu.

Để phục vụ cho mục đích dự đoán kết quả như đã đặt ra, giao diện chương trình còn cho phép nhập các thông tin liên quan đến bản ghi của khách hàng mới. Khách hàng này có thể ở hai dạng: đã tham gia một dịch vụ, hoặc chưa tham gia dịch vụ này. Ứng dụng sẽ tiến hành phân cụm cả bản ghi của khách hàng này để đưa khách hàng vào một nhóm (cụm) các khách hàng cụ thể. Sau đó dựa trên tính chất của nhóm này sẽ đưa ra dự đoán cho hành vi của khách hàng này trong tương lai.

Các kết quả được liệt kê ở phía bên dưới sẽ cho biết kết quả tính toán dự đoán hành vi của khách hàng là gì. Dựa trên kết quả này, phía Ngân hàng Quân đội sẽ có những chính sách tương ứng để khuyến khích khách hàng sử dụng những dịch vụ mà có khả năng cao là họ sẽ dùng.

4.3 Thực nghiệm và đánh giá 4.3.1 Môi trường thực nghiệm 4.3.1 Môi trường thực nghiệm

Phần cứng

Trong phạm vi luận văn này, việc xây dựng ứng dụng ở mức cơ bản đáp ứng được những yêu cầu đề ra: có khả năng thực hiện việc cài đặt thuật toán phân cụm tích lũy, và dựa trên đó để dự đoán hành vi của khách hàng. Thuật toán được cài đặt ở mức giản lược những yếu tố quá phức tạp, giữ lại những yếu tố cơ bản đáp ứng được yêu cầu. Lượng dữ liệu được đưa vào mới mang tính chất tham khảo (300 dòng), mặc dù trong thực tế số dữ liệu này lên tới hàng trăm ngàn. Những yếu tố trên cũng một phần xuất phát từ những khó khăn trong thực tế do hạn chế về phần cứng không có được những thiết bị có khả năng xử lý cao. Để thực hiện quá trình thực nghiệm ứng dụng được cài đặt trên thiết bị phần cứng PC có cấu hình như bên dưới đây:

- Bộ xử lý: Intel Dual Core 2.4 GHz

- RAM 1G

- Ổ cứng dung lượng tối thiểu 2G

Để đáp ứng được nhu cầu xử lý trên PC như ở trên, phần mềm cài đặt cũng góp phần tạo ra hiệu quả của ứng dụng. Ứng dụng đòi hỏi giao diện rõ ràng dễ nhìn để đáp ứng được nhu cầu phân tích kết quả dữ liệu. Phần mềm cài đặt phải hỗ trợ tối đa đảm bảo cho ứng dụng có thể chạy được. Các thành phần sau phải được cài đặt để hỗ trợ ứng dụng chạy:

- Hệ điều hành Windows XP

- Framework .NET 2005 - Oracle 10g

Ứng dụng cài đặt thuật toán phân cụm tích lũy

Ứng dụng này được xây dựng bằng công nghệ VS 2005, đảm bảo hỗ trợ tối đa khả năng lập trình và thể hiện giao diện dễ nhìn có người dùng. Ứng dụng sẽ kết nối đến CSDL Oracle 10g, đảm bảo tính linh hoạt và tốc độ xử lý truy cập cao. Các kết quả phân tích sẽ được lưu trữ lại trong CSDL này sử dụng cho các hoạt động về sau.

Trong phạm vi luận văn này mục đích chính của việc cài đặt xây dựng ứng dụng là:

- Cài đặt thuật toán phân cụm tích lũy dựa trên phương pháp k-means

- Áp dụng để thực nghiệm với các trường hợp đánh giá: đánh giá độ chính xác của việc cài đặt thuật toán và đánh giá độ chính xác của cách thức dự đoán đối với một bản ghi khách hàng mới của Ngân hàng.

Mô hình ứng dụng thực hiện việc cài đặt thuật toán được chỉ ra như hình bên dưới:

CSDL

File dữ liệu Ứng dụng

phân cụm

Hình 4.2: Mô hình ứng dụng cài đặt

4.3.2. Mô tả quy trình thực nghiệm

Quy trình thực nghiệm đảm bảo rằng việc tiến hành thực nghiệm vừa tuân theo các bước của quy trình thực nghiệm chung cho việc phân cụm, lại phù hợp với phương pháp phân cụm tích lũy. Các phương án thực nghiệm gồm:

Phương án 1: Thực nghiệm tính chính xác của việc phân cụm theo phương pháp tích lũy

Đối với phương án này, việc thực nghiệm được tiến hành như sau: Chuẩn bị sẵn mẫu gồm 300 bản ghi dữ liệu khách hàng, sao cho đảm bảo (một cách tương đối) rằng chúng thuộc hai cụm khác nhau. Sau đó, thực hiện các bước chuẩn hóa dữ liệu để có được những thuộc tính phù hợp với việc chạy thuật toán phân cụm.

Thực hiện việc chạy thuật toán phân cụm tích lũy cho 301 bản ghi dữ liệu khách hàng này và xem xét kết quả của đầu ra của quá trình phân cụm. Nếu:

- Kết quả đầu ra là 2 cụm với số lượng bản ghi khách hàng thuộc mỗi cụm là xấp xỉ giống như kết quả đã biết trước, có thể khẳng định tính đúng đắn của thuật toán phân cụm tích lũy.

- Kết quả đầu ra là số cụm khác 2 hoặc số lượng bản ghi khách hàng của mỗi cụm là khác nhiều so với kết quả đã biết trước, dễ thấy việc cài đặt thuật toán phân cụm chưa đạt yêu cầu.

Phương án 2: Thực nghiệm so sánh độ chính xác của Phương pháp Phân cụm tích lũy dựa trên k-means với phương pháp k-means. (adsbygoogle = window.adsbygoogle || []).push({});

Để so sánh việc cài đặt thực nghiệm phương pháp Phân cụm tích lũy dựa trên k- trung bình với phương pháp k-trung bình, trong nội dung luận văn này đã thực hiện cài đặt thêm thuật toán k-trung bình để chạy nhằm so sánh kết quả của hai phương pháp. Theo lý thuyết đã trình bày ở trên thì phương pháp Phân cụm tích lũy dựa trên k-trung bình tốt hơn phương pháp k-trung bình ở những điểm sau:

- Khả năng lựa chọn tham số đầu vào k (số lượng cụm) của Phương pháp Phân

Một phần của tài liệu Phương pháp phân cụm tích lũy và áp dụng tại Ngân hàng Thương mại cổ phần Quân đội (Trang 59)