Ví dụ Logistic regression ứng dụng trong ngân hàng (P.1)

Bigdatauni.com Follow Fanpage Contact

Ở bài viết trước chúng ta đã tìm hiểu qua mảng kiến thức quan trọng sau cùng trong series tổng quan về logistic regression, chính là các phương pháp kiểm định và đánh giá độ hiệu quả của mô hình hồi quy logistic. Trong bài viết ứng dụng lần này chúng ta sẽ đi vào phương pháp đánh giá cuối cùng là hệ số R2 mà bài viết lần trước chưa thể trình bày hết và sau đó là ví dụ cụ thể, ứng dụng của logistic regression trong ngân hàng bán lẻ.

Link các bài viết trước dành cho những bạn chưa tham khảo, lưu ý trong bài viết này chúng tôi không nhắc lại lý thuyết về logistic regression

Tổng quan về Logistic regression (hồi quy Logistic) (Phần 1)

Tổng quan về Logistic regression (hồi quy Logistic) (Phần 2)

Tổng quan về Logistic regression (hồi quy Logistic) (Phần 3)

Tổng quan về Logistic regression (hồi quy Logistic) (Phần 4)

Tổng quan về Logistic regression (hồi quy Logistic) (Phần 5)

Hệ số R2 trong hồi quy logistic

Trước tiên cùng tìm hiểu lại hệ số R2 trong hồi quy tuyến tính. Hệ số xác định R2 (Coefficient of Determination) được hình thành từ tỷ lệ SSR trên STT trong đó:

SST thể hiện toàn bộ phần biến thiên của các giá trị y so với trung bình của nó. SSR thể hiện phần chênh lệch giữa giá trị dự báo so với trung bình, được hiểu là sự biến thiên của y mà chúng ta có thể giải thích được bằng biến x, và SSE là thể hiện phần chênh lệch giữa giá trị thực tế và giá trị dự báo, không thể giải thích được nguyên nhân, là vì do yếu tố ngẫu nhiên gây ra.

Như vậy SSR = SST + SSE, công thức R2:

Hệ số xác định R2 thể hiền phần tỷ lệ biến thiên của y mà chúng ta có thể giải thích bởi mối quan hệ tuyến tính giữa x và y. R2 có giá trị nằm từ 0 đến 1, và là chính là bình phương của hệ số tương quan (chỉ đối với mô hình hồi quy tuyến tính đơn giản), R2 càng lớn thì mô hình hồi quy càng thích hợp để dự báo giá trị của y.

Tuy nhiên hướng tiếp cận trên không thể nào áp dụng cho hồi quy logisttic do hồi quy tuyến tính hướng đến tối thiểu sai số dự báo và thực tế để ước lượng hệ số hồi quy, còn hồi quy logistic ước lượng hệ số hồi quy bằng cách tiến hành Maximum likelihood Estimation, tối đa khả năng biến mục tiêu y đạt được một giá trị cụ thể.

Đã có nhiều nghiên cứu đến từ các chuyên gia cùng lĩnh vực về cách tính toán hệ số R2 áp dụng cho hồi quy logistic. Trong đó có 3 phương pháp tính mà có thể các bạn sẽ thường xuyên thấy trong các phần mềm phân tích dữ liệu thứ nhất là của McFadden, tiếp đó là Cox & Snell và Nagelkerke / Cragg & Uhler’s. Những phương pháp tính R2 này còn được gọi là “Pseudo R2”, nghĩa là R2 “giả”, vì chúng giống R2 trong hồi quy tuyến tính, cũng có giá trị nằm trong khoảng từ 0 đến 1 với giá trị càng tiến đến 1 chứng tỏ mô hình càng hiệu quả và ngược lại, tuy nhiên không thể giải thích bản chất của nó giống trong hồi quy logistic.

Công thức của Mc.Fadden:

R2McF = 1 – ln(LM) / ln(L0)

Với L0 là likelihood function của mô hình không có hệ số hồi quy hay còn gọi là Intercept được xem giống như là total sum of squares TSS hay SST trong hồi quy tuyến tính, còn LM là mô hình ước lượng tức mô hình vừa tìm được hay mô hình chứa biến độc lập x cần xem xét, được coi như SSE trong hồi quy tuyến tính. Công thức của McFadden hướng đến giảm sai số dự báo (do nó giống công thức R2 trong hồi quy tuyến tính nếu các bạn nhìn kỹ) và so sánh độ hiệu quả giữa 2 mô hình giống likelihood ratio test chúng tôi đề cập bài viết trước. Cụ thể khi mô hình hồi quy logisic có  likelihood cao hơn sẽ hiệu quả hơn, lúc này likelihood có giá trị cao tiến gần 1 (lưu ý giá trị likelihood nằm giữa 0 và 1) khi đưa vào hàm log tự nhiên sẽ có giá trị âm nhỏ hơn ví dụ ln(0.9) = -0.1 và ln(0.8) = – 0.2 như vậy tỷ lệ likelihood trong công thức sẽ nhỏ và giá trị R2 sẽ lớn hơn. Như vậy R2 càng cao thì model càng tối ưu.

Công thức Cox & Snell:

R2C&S = 1 – (L0 / LM)2/n

R2 trong công thức này cũng hướng đến đánh giá 2 mô hình khi tỷ lệ likelihood càng nhỏ thì model càng hiệu quả, tránh nhầm lẫn với công thức trên khi ở đây không lấy log tự nhiên, nên LM càng lớn thì tỷ lệ sẽ càng nhỏ. Nhưng LM ở đây được định nghĩa khác, nó là xác suất có điều kiện để một biến phụ thuộc y đạt giá trị cụ thể khi cho trước các biến độc lập x. Như vậy LM là likelihood thể hiện khả năng tất cả các quan sát (đối tượng nghiên cứu) đồng thời đạt được giá trị tại biến phụ thuộc y, cụ thể kết quả sẽ là tích các xác suất trên giả định các quan sát là tách biệt với nhau. Lý do tại sao lấy căn bậc là để ước lượng likelihood của từng giá trị y tại mỗi quan sát. Công thức Cox & Snell thực chất là chuyển đổi từ công thức Likelihood ratio test.

Nhưng lưu ý quan trọng, giá trị tối đa R2C&S không thể tiến gần đến 1 là vì khi mô hình ước lượng tối ưu thì LM sẽ bằng 1 lúc này R2C&S = 1 – (L0)2/n sẽ nhỏ hơn rất nhiều so với 1. Do đó, giả định pseudo R2 cho trường hợp này cần chú ý, nghĩa là R2 càng cao chưa chắc đã tốt.

Do đó để “scale” lại giá trị R2C&S để phạm vi có thể tiến gần đến 1, thì Nagelkerke / Cragg & Uhler đã đưa ra công thức khác điều chỉnh công thức Cox & Snell:

 R2NCU = [1 – (L0 / LM)2/n] / [1 – (L0)2/n]

Có nhiều tranh cãi xung quanh việc lựa chọn công thức pseudo R2 nào là hợp lý, cái này còn tùy vào góc nhìn và kinh nghiệm của các nhà phân tích, ở đây chúng tôi không tiện trình bày.

Như vậy chúng ta đã đi qua tất cả các phương pháp phổ biến đánh giá model logistic regression tính cả 2 bài viết trước. Tiếp theo chúng ta cùng đi qua phần rất quan trọng khác.

Ứng dụng của logistic regression trong lĩnh vực ngân hàng bán lẻ

Ở bài viết phần 2 về hồi quy logistic chúng tôi đã đề cập về một vài ứng dụng của nó. Logistic regression được úng dụng trong nhiều ngành và lĩnh vực khác nhau, một số ví dụ như:

  • Dự báo hay phân loại email có phải spam hay không spam
  • Dự báo khả năng rời dịch vụ của khách hàng
  • Dự báo tình trạng khối u ung thư là ác tính hay lành tính trong y học.
  • Dự báo khả năng khách hàng sẽ mua sản phẩm bất kỳ, hay đăng ký dịch vụ
  • Dự báo khả năng trả nợ của khách hàng

Logistic regression được ứng dụng phổ biến nhất có lẽ trong 2 lĩnh vực y tế (hay khoa học) và lĩnh vực tài chính ngân hàng cụ thể là ngân hàng bán lẻ.

Thuật ngữ ngân hàng bán lẻ có thể xa lạ đối với các bạn ở đây. Ngân hàng bán lẻ hay Retail banking, theo nghĩa đen, là cung cấp sản phẩm dịch vụ ngân hàng đến tay từng cá nhân riêng lẻ bao gồm ví dụ hộ gia đình, hộ kinh doanh thông qua mạng lưới chi nhánh, hoặc là việc khách hàng có thể tiếp cận trực tiếp với sản phẩm, dịch vụ ngân hàng thông qua các phương tiện công nghệ thông tin, điện tử hay viễn thông. Ngân hàng bán lẻ, còn được gọi là ngân hàng tiêu dùng, là ngân hàng cung cấp dịch vụ cho công chúng, thay vì cho các công ty, tập đoàn hoặc ngân hàng khác, thường được mô tả là ngân hàng bán buôn. (theo Wikipedia). Ngân hàng bán lẻ hướng đến phục vụ khách hàng cá nhân, hộ gia đình, doanh nghiệp nhỏ và vừa, do đó, các dịch vụ thường đơn giản, thuận tiện và có tính thường xuyên như: sản phẩm tiền gửi, tài khoản, thẻ tín dụng, vay vốn…(nguồn bvsc.com.vn/)

Phân tích dữ liệu hay khai phá dữ liệu áp dụng trong lĩnh vực ngân hàng bán lẻ sẽ hướng đến các khía cạnh quan trọng sau:

  • Nâng cao bảo mật và phát hiện tội phạm, gian lận tài chính (Fraud detection): xác định lừa đảo, rửa tiền, gian lận thẻ tín dụng, nâng cao bảo mật của ngân hàng di động / trực tuyến / truyền thống,…
  • Quản lý rủi ro và đầu tư: credit scoring, quản lý quy trình đánh giá và cấp tín dụng,..
  • Về quản lý mối quan hệ khách hàng CRM:

+ Xây dựng hồ sơ khách hàng

+ Phân khúc khách hàng

+ Đầu tư nâng cao dịch vụ khách hàng

+ Phát triển sản phẩm dịch vụ nâng cao nhận biết thương hiệu (các hoạt động marketing, cross/ up sell)

+ Giữ chân khách hàng cũ, thu hút khách hàng mới. tiềm năng.

Ứng dụng của hồi quy logistic trong ngân hàng bán lẻ sẽ tập trung vào dự báo khả năng nợ xấu, hay rủi ro tín dụng để tối ưu lợi nhuận và giữ chân khách hàng thông qua dự báo khả năng khách hàng rời dịch vụ (churn) để đảm bảo doanh thu hay thu hút khách hàng đăng ký tham gia các dịch vụ dựa trên các hoạt động marketing hiệu quả. Phần 1 chúng ta sẽ đi vào đánh giá hiệu quả marketing.

Sự cạnh tranh khốc liệt giữa các ngân hàng thương mại hiện nay khiến xu hướng quan tâm đến cải thiện trải nghiệm, thỏa mãn khách hàng trở nên mạnh mẽ hơn bao giờ hết, đồng thời việc thiết lập nhiều kênh phân phối dịch vụ ở nhiều nền tảng khác nhau tạo điều kiện cho nhiều nhóm khách hàng có thể tiếp cận các khoản vạy do đó quá trình đánh giá rủi ro tín dụng, quyết định cấp khoản vay, tín dụng cũng trở nên quan trọng hơn.

Case study 1: Dự báo khách hàng có đăng ký chương trình gửi tiết kiệm, hay tiền gửi có kỳ hạn (thuật ngữ tiếng Anh là term deposit)

Chăm sóc khách hàng hay marketing trực tiếp sản phẩm, dịch vụ thông qua telesale hay telemarketing là hoạt động phổ biến từ trước đến nay của các ngân hàng thương mại, mục đích tiếp cận các khách hàng tiềm năng. Các công cụ phân tích dữ liệu cho phép dự báo trước hành vi của khách hàng sẽ góp phần tối ưu hơn những hoạt động này, đặc biệt là tối ưu chi phí, thời gian của nhân viên chăm sóc khách hàng. Logistic regression là một trong số đó.

Đối với các ngân hàng thì khoản tiền gửi của khách hàng chính là một dạng vốn đầu tư quan trọng vào việc phát triển và mở rộng kinh doanh. Dự báo khách hàng nào có khả năng đăng ký tiền gửi có kỳ hạn hay tiết kiệm và triển khai các hoạt động marketing phù hợp là cần thiết.

Một khoản tiền gửi có kỳ hạn là một khoản đầu tư tiền mặt tại một tổ chức tài chính. Tiền của khách hàng được đầu tư với lãi suất thỏa thuận trong một khoảng thời gian hoặc thời hạn cố định. Giải thích cho bạn nào chưa biết.

Case study mà chúng tôi sử dụng để trình bày, là một trong các case study nổi tiếng về áp dụng logistic regression trong lĩnh vực ngân hàng, các bạn có thể tìm thấy nhiều cách áp dụng phân tích dữ liệu khác nhau cho case study này ỏ nhiều trang web, blog, diễn đàn cùng lĩnh vực ví dụ như Kaggle, BigML, Medium,…có trình bày chi tiết quy trình thực hiện từng bước từ làm sạch dữ liệu, chuẩn bị dữ liệu, khám phá dữ liệu (Exploratory data analysis), phân chia tập dữ liệu, lựa chọn biến dự báo,… Các bạn có thể tham khảo thêm. Định hướng của chúng tôi chính là làm rõ về kiến thức hồi quy logistic, cách nó có thể giúp ích trong việc dự báo, phân loại nên sẽ không tập trung vào cách thực hiện phân tích cả quy trình từ A đến Z. Những bạn nào quan tâm hơn về quy trình thực hiện có thể bỏ qua bài viết của chúng tôi nếu cảm thấy không phù hợp nhu cầu.

Case study lấy ví dụ từ một ngân hàng Bồ Đào Nha, áp dụng hoạt động marketing trực tiếp, gọi điện đến khách hàng để giới thiệu chương trình tiền gửi kỳ hạn. Dữ liệu lịch sử các cuộc gọi và dữ liệu hồ sơ khách hàng được tổng hợp để đưa vào phân tích với mục đích dự báo khả năng khách hàng đăng ký trước chương trình.

Các bạn có thể tải dữ liệu tại đây, cũng như tìm thêm một số thông tin về case study:

Chúng ta cùng tìm hiểu một chút về tập dữ liệu. Tập dữ liệu xây dựng từ nguồn dữ liệu lịch sử cuộc gọi của nhân viên ngân hàng đến khách hàng trong 17 chiến dịch marketing trực tiếp kéo dài từ năm 2008 đến năm 2010 kết hợp với dữ liệu cá nhân của khách hàng. Dữ liệu bao gồm 45211 quan sát tương ứng với 45211 khách hàng, với 16 biến độc lập x và 1 biến mục tiêu hay biến phụ thuộc y – có hay không có đăng ký chương trình tiền gửi kỳ hạn, chúng tôi gọi nhanh là term deposit.

Những biến dự báo hay biến độc lập x bao gồm:

Dữ liệu thông tin cá nhân khách hàng.

  1. Age: là độ tuổi (từ 17 dến 98 tuổi)
  2. Job: nghề nghiệp (ví dụ doanh nhân, sinh viên, kỹ thuật viên,…)
  3. Marital: tình trạng hôn nhân (độc thân, đã kết hôn, ly dị)
  4. Education: trình độ học vấn (ví dụ cấp trung học, đại học, )
  5. Default: nợ xấu thẻ tín dụng
  6. Balance: số dư tài khoản trung bình
  7. House loan: tín dụng nhà ở (vay tiền mua nhà, xây nhà)
  8. Loan: khoản vay cá nhân thông thường

Dữ liệu thông tin về chiến dịch marketing

  1. Contact: hình thức liên lạc với khách hàng (điện thoại bàn, hay di động)
  2. Day: ngày liên lạc cuối cùng trong tháng
  3. Month: Tháng liên lạc cuối cùng trong năm
  4. Duration: thời gian cuộc đối thoại giữa khách hàng và nhân viên lần liên lạc cuối
  5. Campaign: số lượng cuộc gọi với khách hàng trong chiến dịch đó

Dữ liệu khác

  1. Pdays: số ngày đã trải qua kể từ lần cuối gọi điện khách hàng
  2. Previous: số lượng cuộc gọi với khách hàng ở chiến dịch trước đó
  3. Poutcome: thành quả của chiến dịch marketing trước
  4. Term deposit: khách hàng có hay không đăng ký chương trình term deposit

Xét về loại biến:

Numeric là dạng biến định lượng, Categorical là biến định tính hay biến phân loại, tùy vào phần mềm hay công cụ phân tích mà bạn sử dụng, chúng ta sẽ phải coding giá trị định tính để phân tích hay để phần mềm tự xác định, tương tự như biến binary là biến thay phiên chỉ có 2 giá trị, coding là 0 cho “không” và 1 cho “có”.

Dữ liệu mẫu 20 quan sát:

Trước tiên chúng ta cùng xem qua bộ dữ liệu có quan sát nào có biến nào không có giá trị hay không. Thì dữ liệu của UCI cung cấp tất cả các quan sát đều có giá trị ở tất cả các biến. Tuy nhiên lại có missing values giá trị “unknown”, giá trị unknown của một biến tại một quan sát thể hiện dữ liệu đó không được thu thập hay cập nhật, giống như một thông tin chưa biết về khách hàng nguyên nhân có thể là do khách hàng từ chối cung cấp thông tin và quá trình thu thập dữ liệu gặp lỗi. Những giá trị “unknown” có thể tác động đến kết quả dự báo cho biến mục tiêu là term deposit. Vậy chúng ta sẽ xử lý như thế nào?

Chúng ta có nên loại bỏ những quan sát hay dữ liệu các khách hàng có missing value như unknown hay không? Cái này tùy vào góc nhìn nhà phân tích, tuy nhiên theo nhiều chuyên gia thì không nên loại bỏ, do chúng ta có thể sẽ bỏ sót những thông tin có giá trị, có ý nghĩa phân tích, hay có thể khiến mô hình không đưa ra dự báo chính xác nhất. Đối với dữ liệu mẫu ít số quan sát thì càng không nên. Trong bộ dữ liệu có 37369 số quan sát có tối thiểu một giá trị unknown tại một biến bất kỳ, vậy chúng ta không thể loại bỏ toàn bộ 37369 quan sát này.

Có nhiều cách xử lý missing values mà cụ thể là thay giá trị unknown ví dụ bằng giá trị mode của biến đối với trường hợp biến định tính gặp missing values, bằng giá trị mean (trung bình) của biến đối với trường hợp biến định lượng gặp missing values. Tuy nhiên để tìm hiểu cách xử lý missing values có hợp lý hay không, có tác động đến kết quả dự báo của mô hình hay không thì cần kết hợp các phương pháp khác tối ưu hơn như Imputation. Tạm thời trong bài viết này chúng ta sẽ chưa quan tâm đến xử lý missing values do trọng tâm bài viết là ứng dụng logistic regression, nên sẽ giữ lại các giá trị unknown. Hơn nữa trong 16 biến chỉ có 4 biến định tính là Job, Education, Contact và Poutcome là có giá trị unknown, tùy trường hợp chúng ta có thể xem xét xem nó là 1 giá trị riêng biệt trong biến, và tập trung phân tích các giá trị định tính còn lại mà không nhất thiết xử lý chúng nếu chưa biết cách xử lý tối ưu, và cơ sở đánh giá mức độ phù hợp.

Ví dụ số quan sát có giá trị unknown, hay số khách hàng không cung cấp thông tin trình độ học vấn là 1857 trong 45211 chiếm tỷ lệ 4% mà thôi. Tỷ lệ unknown trong biến Job là 288/45211 = 0.006 tức 0.6%, cũng rất thấp khi thay thế giá trị unknown sẽ không ảnh hưởng đáng kể đến độ chính xác mô hình. Nhưng tỷ lệ unknown trong biến Contact là 28%, và 81% trong Poutcome, nên 2 biến này chúng ta sẽ giữ lại giá trị unknown, và thực hiện thay thế giá trị unknown cho 2 biến job và education theo giá trị mode của chúng. Quy trình này sẽ đi kèm với quy trình phân nhóm lại biến định tính được trình bày ngay dưới đây.

Ngoài ra có một cách nhanh hơn và đánh giá ảnh hưởng của unknown lên kết quả dự báo đó là tạo các biến binary mới giống như biến dummy (biến giả) ví dụ biến Job_Unk, với 0: không có thông tin về job, với 1: có thông tin về job, và xem biến mới này như một biến x khác. Cụ thể thì chúng tôi sẽ trình bày trong bài viết về xử lý missing values sắp tới

Biến định tính có nhiều giá trị ví dụ như: biến job gồm 12 giá trị định danh khác nhau.

Cụ thể: ‘admin.’,’unknown’,’unemployed’,’management’,’housemaid’,’entrepreneur’,’student’,’blue collar’,’self-employed’,’retired’,’technician’,’services’.

Chúng ta sẽ phân nhóm cho dễ xây dựng mô hình. Ngoài biến Month, các biến định tính khác thì đã phân class (phân nhóm) đơn giản hơn như Marital status chỉ có 3 giá trị ứng với 3 class là: ‘married’, ‘divorced’, ‘single’ – đã kết hôn, ly hôn, độc thân.

Ở biến job các giá trị không nói rõ cấp độ cao thấp trong nghề nghiệp như nhân viên, cấp quản lý, cấp lãnh đạo. Nên chúng ta có thể nhóm đơn giản là “Employed” – “đang có việc làm”, “Unemployed” – đang không có việc làm bao gồm sinh viên và đã nghỉ hưu, và sau cùng là “unknown”, còn biến month có 12 giá trị ứng 12 tháng chúng ta nhóm lại và đánh giá theo 4 quý với Q1 ứng với quý 1 (tháng 1 đến tháng 3). Trước khi xử lý lại các biến định tính chúng ta nhìn qua chi tiết giá trị của các biến:

Chi tiết theo tỷ lệ số quan sát:

Sau khi phân nhóm lại cho biến định tính job và month chúng ta sẽ có, lấy mẫu 20 quan sát:

Ở đây chúng tôi triển khai thay giá trị unknown bằng giá trị mode của biến education là Secondary do có nhiều nhất số khách hàng có trình độ học vấn là Secondary, như vậy số quan sát có giá trị Secondary tại biến Education sẽ tăng từ 23202 đến 25059, thêm từ 1857 giá trị unknown. Đối với biến job, chúng ta như đã nói sẽ thay thế giá trị unknown chiếm tỷ lệ 0.06% bằng giá trị mode của job là Employed, có đến hơn 40000 khách hàng có việc làm, cao nhất chiếm 88%. Như vậy biến job cũng còn 2 giá trị là Employed và Unemployed.

Đối với các biến định tính chúng ta phải coding với giá trị số và đưa vào phân tích. Các phần mềm phân tích thông thường sẽ hỗ trợ chúng ta tự động giữ nguyên biến định danh sau đó chuyển sang biến định tính đã coding rồi đưa vào mô hình hồi quy nếu chúng ta cho phép chúng xác định biến định danh nào là biến định tính hay còn gọi biến phân loại Categorical. Lưu ý đa phần các phần mềm phân tích khi đọc dữ liệu định tính như văn bản sẽ gán chúng là loại dữ liệu định danh “ Nominal” chứ chưa thể xác định biến đó là biến định tính hay chưa. Ví dụ như SPSS, Minitab, chúng ta phải set up categorical nếu chúng chưa được coding.

Nói một chút về biến dummy, thực chất không khác gì binary, biến nhị phân khi dummy cũng chỉ có 2 giá trị 0 và 1, chỉ khác tên gọi vì đây là một biến giả mà bộ dữ liệu không có, chúng ta thêm vô mô hình để miêu tả hay giải thích các giá trị định tính.

Ví dụ ở đây, từ biến Marital Status chúng ta sẽ có biến dummy: biến Martial_Married đã kết hôn với 0: khách hàng chưa kết hôn, va 1 là khách hàng đã kết hôn, tương tự biến Marital_divorced với 0 chưa ly hôn, 1đã li hôn, và Martital_Single cũng vậy. Các biến định tính có 2 giá trị trở lên như Month_reclassified cũng sẽ tương tự. Education giả sử sau khi coding theo 0, 1, 2 cũng sẽ thành các biến dummy Education_0, Education_1, Education_2 như 3 biến x mới trong mô hình. Chúng ta sẽ thấy kết quả phân tích có các biến dummy như trên nếu chúng ta không coding mà chỉ set up categorical cho các biến định tính chứa dữ liệu text. Ở ví dụ này chúng tôi sẽ coding các biến định tính, chỉ giữ lại

Trước tiên chúng ta tiếp tục thay giá trị unknown bằng mode ở biến job và education như đã nói. Mẫu 20 quan sát sau khi chuyển đổi:

Sau khi thay thế giá trị unknown, bạn nào dùng phần mềm phân tích thì lưu ý set up categorical cho các biến này.

Thực tế chúng ta còn phải quan tâm đến các giá trị ngoại lệ hay outliers, mặc dù tập dữ liệu hiện tại có các giá trị ngoại lệ nhưng tạm thời chúng ta sẽ chưa tập trung vào vấn đề này.

Tiếp theo chúng ta phân chia tập dữ liệu thành training và testing để đánh giá mô hình, tỷ lệ 70% và 30%. Như vậy dữ liệu training sẽ còn 31589 quan sát, và số còn lại cho dữ liệu testing.

Trước khi xây dựng mô hình chúng ta cùng khám phá một chút về tập dữ liệu:

  • Trong tập dữ liệu có 39922 khách hàng không đăng ký Term deposit, và 5289 khách hàng có đăng ký.

  • Tỷ lệ đăng ký term deposit trong số khách hàng cung cấp thông tin chưa có việc làm cao hơn có việc làm.

  • Tỷ lệ đăng ký term deposit trong nhóm có độ tuổi từ 18 đến 35 tuổi gần ngang bằng với nhóm độ tuổi trên 50.

  • Tỷ lệ khách hàng độc thân đăng ký term deposit là cao nhất

  • Tỷ lệ khách hàng có bằng đại học đăng ký term deposit là cao nhất

 

Các bạn tiếp tục làm cho các biến còn lại nhé, bài viết có giới hạn nên chúng tôi chưa thể explore sâu hơn. Chúng ta tiếp theo sẽ xây dựng phương trình hồi quy logistic với dữ liệu training là 31589. Dưới đây là kết quả coding của phần mềm sau khi chúng ta set up categorical values.

Phía dưới là kết quả coding của phần mềm SPSS. Các bạn chú ý các hệ số 1, 2, 3 ứng với từng biến để hiểu các biến dummy và phương trình hồi quy logistic đồng thời các kết quả khác như score test.

Score test là phương pháp kiểm định để xác định ý nghĩa của một biến độc lập x có thích hợp đưa vào phân tích hay không mà không cần phải ước lượng hay tính toán ban đầu hệ số hồi quy. Các bạn xem lại bài viết phần 5 của chúng tôi để hiểu hơn về Score test. Lưu ý đây là phương pháp kiểm định ban đầu để đánh giá ý nghĩa riêng biệt của từng biến độc lập x chưa đưa vô mô hình. Xem cột sig là p-value thì chỉ có 3 biến là có p-value lớn hơn 0.05, tức theo score test, các biến này không phù hợp để phân tích, đó là biến Month_Q3 (coding (2)), biến poutcome_failer (coding (1)) và Marital_ divorced (coding (2))

Kết quả model:

Kết quả kiểm định Hosmer & Lemeshow test cho thấy P-value < 0.05 tức mô hình chưa phù hợp để dự báo hay phân loại chính xác giá trị Positive tức dự báo chính xác khả năng khách hàng đăng ký term deposit. Các bạn xem lại bài viết phần 5 nếu chưa biết về phương pháp kiểm định này. Một trong những điểm yếu của Hosmer & Lemeshow Test là giá trị p-value có thể thay đổi nếu số group để xét thay đổi, do Spss mặc định số group là 10, bậc tự do df = 10 – 2 = 8, nên p-value tại cột sig rất nhỏ, giá trị p-value có thể tăng, giảm nếu chúng ta thay số group là 11 hay giảm xuống là 9. Do đó Hosmer & lemeshow test thường chỉ mang tính tham khảo chứ chưa thể quyết định chắc chắn về độ hiệu quả của mô hình. Chúng ta cần nhiều phương pháp đánh giá khác.

Tiếp theo là kết quả R2

Hệ số R2C&S 0.201 tức chỉ có 20.1% trong số các biến độc lập có thể giải thích được sự thay đổi trong xác suất dự báo khả năng khách hàng có hay không có đăng ký. Hệ số còn cho thấy mô hình chỉ ở mức tương đối, chúng ta có thể cải thiện hệ số R2 bằng cách điều chỉnh xây dựng mô hình khác, nếu mô hình mới có hệ số R2 lớn hơn sẽ hiệu quả hơn.

Tương tự likelihood ratio test sẽ được sử dụng để đánh giá 2 mô hình. Bài viết sắp tới chúng ta sẽ đề cập do đó giá trị -2log likelihood sẽ chưa dùng đến.

Hơn nữa nhìn qua Wald test cho từng biến tại cột sig, chúng ta thấy có nhiều biến p-value lớn hơn 0.05, chứng tỏ các biến này có thể không phù hợp đưa vào mô hình.

Cùng nhìn qua kết quả dự báo của mô hình trên 2 tập dữ liệu training và testing:

Mặc dù các kết quả kiểm định và R2 không đánh giá mô hình hiệu quả trong việc dự báo hay phân loại chính xác khách hàng đăng ký term deposit, như ở dữ liệu testing tỷ lệ dự báo chính xác tăng so với dự báo trên dữ liệu training. Tương tự hệ số AUC cũng cao gần 0.9.

Ở bài viết tới chúng ta sẽ tìm hiểu kỹ hơn về kết quả phương trình hồi quy logistic.

Bây giờ chúng ta thử dự báo 1 khách hàng có độ tuổi 25, có nghề nghiệp, độc thân, đã tốt nghiệp đại học, không có nợ ngân hàng, chưa từng vay vốn, số dư tài khoản là 2500 euro, ngày liên lạc cuối cùng với người khách này là 20 trong tháng 5, thời lượng trao đổi qua telephone với vị khách này là 600 giây, số lần liên hệ với khách hàng chiến dịch này là 3 lần, khách hàng này là khách hàng mới trước đây chưa từng được tiếp cận.

Chúng ta có age = 25, marital (1) = 0, marital (2) = 0, default (1) = housing (1) = loan (1) = 0, balance = 2500, day = 20, month_(1) = 1, month (2) = month (3) = 0; job (1) = 1, education (2) =1, education (1) = 0, duration =600, campagin =3, contact (1) = 1, contact (2) = 0, pdays= -1, previous = 0, poutcome = 0. Áp dụng công thức tổng quát với constant = -3.724

Các bạn thay các hệ số hồi quy tương ứng, kết quả ở cột B, lưu ý hệ số hồi quy ở balance là 0.000013, pdays là 0.000014. Xác suất tìm được là 45.7% chưa qua ngưỡng cut-off 0.5 nên chúng ta chưa thể kết luận khách hàng này có khả năng đăng ký term deposit hay không.

Giải pháp đề ra sau khi có được kết quả phân tích áp dụng cho ngân hàng để tăng số khách hàng đăng ký sẽ được chúng tôi trình bày ở bài viết tới, mời các bạn theo dõi.

Mong các bạn sẽ tiếp tục ủng hộ BigDataUni.

 

Về chúng tôi, công ty BigDataUni với chuyên môn và kinh nghiệm trong lĩnh vực khai thác dữ liệu sẵn sàng hỗ trợ các công ty đối tác trong việc xây dựng và quản lý hệ thống dữ liệu một cách hợp lý, tối ưu nhất để hỗ trợ cho việc phân tích, khai thác dữ liệu và đưa ra các giải pháp. Các dịch vụ của chúng tôi bao gồm “Tư vấn và xây dựng hệ thống dữ liệu”, “Khai thác dữ liệu dựa trên các mô hình thuật toán”, “Xây dựng các chiến lược phát triển thị trường, chiến lược cạnh tranh”.

error: Content is protected !!