ภาพรวม

*ครั้งสุดท้ายที่คุณให้เพื่อนยืมเงิน แต่พวกเขาไม่เคยจ่ายคืนให้คุณเลย คุณจึงตัดสินใจปล่อยให้เพื่อนยืม*

ในทางกลับกัน ธนาคารไม่สามารถให้ยืมเงินและลืมมันไปได้ ธนาคารจะรู้ได้อย่างไรว่าเงินสดที่พวกเขายืมให้กับลูกค้าจะถูกส่งกลับหรือไม่? จริงๆ แล้วพวกเขาไม่รู้ แต่พวกเขาสามารถพยายามคาดเดาผลลัพธ์โดยพิจารณาจากลักษณะพฤติกรรมในอดีตของลูกค้าได้ แต่พวกเขาควรเน้นไปที่คุณสมบัติใด?

โปรเจ็กต์นี้วิเคราะห์ปัญหาข้างต้นโดยมุ่งเน้นไปที่โมเดลและฟีเจอร์ใดที่ควรจัดลำดับความสำคัญเพื่อคาดการณ์ว่าลูกค้าบัตรเครดิตจะผิดนัดชำระ (ไม่ชำระคืน) หรือไม่ แนวทางนี้ใช้ *วิศวกรรมคุณลักษณะ* ซึ่งเกี่ยวข้องกับการประมวลผลและการแปลงข้อมูลดิบเป็นคุณลักษณะที่เกี่ยวข้อง 12 รายการ จากนั้นฟีเจอร์เหล่านี้จะถูกใช้ในรูปแบบต่างๆ เพื่อกำหนดวิธีการที่เชื่อถือได้มากที่สุดสำหรับนายธนาคารที่จะใช้

โครงการสรุปว่าวิธีทางคณิตศาสตร์ 'SHAP' เป็นแบบจำลองที่มีประสิทธิภาพในการกำหนดคุณลักษณะที่เกี่ยวข้องในชุดข้อมูลที่เลือก แม้ว่าแบบจำลองจะมีประสิทธิภาพเหนือกว่าวิธีอื่นๆ แต่ก็ไม่ได้สมบูรณ์แบบ ดังนั้นวิศวกรรมเพิ่มเติมอาจช่วยหลีกเลี่ยงการสรุปคุณสมบัติทั่วไปได้ ท้ายที่สุดแล้ว การค้นพบนี้ถือเป็นรากฐานที่ดีสำหรับนายธนาคารในการสร้างแบบจำลองที่สามารถคาดการณ์ได้ว่าลูกค้าจะผิดนัดชำระหนี้หรือไม่ และลดความเสี่ยงทางการเงินที่อาจเกิดขึ้น

ความเป็นมาของโครงการ

ชุดข้อมูลที่เลือกสำหรับโปรเจ็กต์นี้เรียกว่า “ค่าเริ่มต้นของชุดข้อมูลลูกค้าบัตรเครดิต” (DCC) ซึ่งนำเข้าจาก Kaggle

สรุปชุดข้อมูล

“ชุดข้อมูลนี้ประกอบด้วยข้อมูลเกี่ยวกับการชำระเงินผิดนัด ปัจจัยทางประชากรศาสตร์ ข้อมูลเครดิต ประวัติการชำระเงิน และใบแจ้งยอดการเรียกเก็บเงินของลูกค้าบัตรเครดิตในไต้หวันตั้งแต่เดือนเมษายน 2548 ถึงกันยายน 2548”

ความคิดเริ่มต้น

คุณลักษณะที่ให้มาคือข้อมูลประชากรและรูปแบบการชำระเงินของผู้ใช้บัตรเครดิต ดังนั้นจึงเกี่ยวข้องกับวัตถุประสงค์ของโครงการนี้ อย่างไรก็ตาม การคาดคะเนจะน่าเชื่อถือเพียงใดนั้นขึ้นอยู่กับรุ่นและฟีเจอร์ที่ใช้

แนวทางการดำเนินโครงการ

การจัดการกับข้อมูลที่ขาดหายไป

ลองนึกภาพว่านายธนาคารจะหงุดหงิดขนาดไหนถ้าเวลาพักกลางวันขาดจากตารางงานของพวกเขา ในทำนองเดียวกัน โดยทั่วไปแล้วเราไม่ต้องการให้ข้อมูลที่ขาดหายไปในชุดข้อมูลของเราเช่นกัน โชคดีที่ชุดข้อมูล DCC ไม่มีค่าที่ขาดหายไป

การประมวลผลข้อมูลล่วงหน้า

ลองจินตนาการดูว่านายธนาคารจะหงุดหงิดขนาดไหนถ้าคนส่งของสุ่มแจกอาหารกลางวันให้ บางคนอาจเป็นมังสวิรัติ ในขณะที่บางคนอาจมีข้อจำกัดด้านอาหารอื่นๆ นี่เป็นกรณีของชุดข้อมูลของเราซึ่งประกอบด้วยข้อมูลหลายประเภท เพื่อดำเนินการวิศวกรรมคุณลักษณะ เราต้องการจัดกลุ่มคุณลักษณะเป็นประเภทที่เกี่ยวข้องกัน เช่น "ตัวเลข" "ไบนารี" และ "หมวดหมู่"

โมเดลพื้นฐาน

เพื่อพิจารณาว่าการทำนายมีความน่าเชื่อถือเพียงใด เราจะคำนวณคะแนนการทำนายตามคุณสมบัติทั่วไปโดยเฉลี่ย ความหวังของเราคือการใช้โมเดลที่มีคะแนนสูงกว่า 0.777

การนำไปปฏิบัติ

ในการพิจารณาโมเดลที่มีประสิทธิภาพดีที่สุด เราจะรันชุดข้อมูลผ่านโมเดลต่างๆ เพื่อคำนวณและเปรียบเทียบความสำคัญของแต่ละฟีเจอร์ โมเดลเหล่านี้ได้แก่:

  1. LogisticRegression: มักใช้กับค่าไบนารี เราใช้ที่นี่เพราะคำตอบว่าลูกค้าจะผิดนัดหรือไม่คือ “ใช่” หรือ “ไม่” นอกจากนี้เรายังใช้แบบจำลองนี้เพื่อค้นหาความน่าจะเป็นของผลลัพธ์ จากนั้นทำซ้ำขั้นตอนหลายๆ ครั้งเพื่อจับค่าเฉลี่ยและค่าเบี่ยงเบนมาตรฐานของความน่าจะเป็นนั้นสำหรับลูกค้าทั้งหมด
  • รูปที่ 1 แสดงให้เห็นว่าความแม่นยำที่คาดการณ์ไว้สำหรับรุ่นนี้คือ 0.777 ดังนั้นบางทีการรันชุดข้อมูลผ่านโมเดลที่ซับซ้อนมากขึ้นสามารถปรับปรุงคะแนนได้

2. รุ่นอื่นๆ: โมเดลที่ซับซ้อนอื่นๆ บางรุ่นที่สามารถใช้ได้ ได้แก่ `RandomForestClassifier`, `Gradient Boost` และ `LightGBM` `รูปที่ 1.` เป็นการสรุปคะแนนทั้งหมดสำหรับแต่ละรุ่น

  • คะแนนการฝึกแสดงให้เห็นว่าโมเดลเหมาะสมกับชุดข้อมูลที่ได้รับการฝึกโดยโมเดลได้ดีเพียงใด ในขณะเดียวกัน คะแนนการตรวจสอบจะประเมินความน่าเชื่อถือของการคาดการณ์

เหนือสิ่งอื่นใด LightGBM มีคะแนนสูงสุด แต่อาจมี *พอดีเกินไป* เล็กน้อย ขึ้นอยู่กับว่ารถไฟและคะแนนการตรวจสอบอยู่ห่างจากกันหรือใกล้กันเพียงใด

*ตัวอย่างเช่น หากนายธนาคารคาดว่าจะรับประทานอาหารกลางวันตอนเที่ยงและอาหารถูกส่งตรงเวลา พวกเขาไม่สามารถสรุปได้ว่าอาหารจะมาถึงในช่วงเวลาที่แน่นอนเสมอไปสำหรับการสั่งซื้อครั้งถัดไป เราเรียกสถานการณ์ที่มองโลกในแง่ดีมากเกินไปว่า “การไม่เหมาะสม” ในขณะเดียวกัน หากมีการจัดส่งอาหารเร็วหรือช้ากว่าที่คาดไว้มาก เราจะถือว่าสิ่งนี้ "เกินขนาด"*

การตีความข้อมูล

หลังจากเลือกรุ่น LightGBM แล้ว เราจะพิจารณาคุณสมบัติที่เกี่ยวข้องกับการคาดการณ์มากที่สุด ในการดำเนินการนี้ เราใช้โครงเรื่องบังคับที่เรียกว่า SHAP เพื่อช่วยให้เห็นภาพความสำคัญของคุณลักษณะ `รูปที่ 2.` แสดงให้เห็นว่าจุดสีแดงกำลังขับเคลื่อนการทำนายไปที่ 1 (ค่าเริ่มต้น = ใช่) ในขณะที่จุดสีน้ำเงินทำให้การทำนายอยู่ห่างจาก 1

โดยสรุป จำนวนเงินในใบแจ้งยอดการเรียกเก็บเงิน (ในเดือนสิงหาคม พ.ศ. 2548) และจำนวนในใบแจ้งยอดก่อนหน้านี้มีแนวโน้มที่จะนำไปสู่การคาดการณ์ที่สูงสำหรับคำว่า "ใช่" ในขณะเดียวกัน ยอดคงเหลือที่จำกัดและจำนวนเงินที่เรียกเก็บบางส่วนอาจทำให้การคาดการณ์ลดลง

ข้อจำกัดและข้อเสีย

โปรดจำไว้ว่าโมเดลที่เลือกนั้นไม่สมบูรณ์แบบ คุณลักษณะที่ 3. เป็นเมทริกซ์ที่แสดงจำนวนการทำนายที่ถูกต้อง (6702 และ 428) เทียบกับการทำนายเท็จ (350 และ 1520) การคาดการณ์ที่ผิดพลาดจำนวนมากบ่งชี้ว่าแบบจำลองของเรายังคงสามารถปรับปรุงได้

แม้ว่าโมเดลปัจจุบันจะสร้างรากฐานที่ดี แต่การปรับปรุงสามารถทำได้หากได้รับเวลาและทรัพยากร เช่น เครื่องจักรที่ดีกว่าในการรันโค้ด วิธีการวิศวกรรมคุณลักษณะที่ซับซ้อนสามารถช่วยให้เราสำรวจการผสมผสานคุณลักษณะต่างๆ ได้ ตัวอย่างเช่น เราอาจพิจารณามี "การหย่าร้างหญิง" แทนที่จะเป็น "เพศ" และ "การแต่งงาน" วิธีการนี้จะช่วยให้เรากระจายความสำคัญของฟีเจอร์ตามคุณลักษณะ แทนที่จะรวมทั้งหมดเป็นหนึ่งเดียวและถือว่าน้ำหนักเท่ากัน จึงช่วยลดการทำนายผิดๆ

ประเด็นสุดท้าย

โครงการสรุปว่าวิธีการ `SHAP` และ LightBGM เป็นแบบจำลองที่มีประสิทธิภาพในการกำหนดคุณลักษณะที่เกี่ยวข้องสำหรับชุดข้อมูลที่เลือก โดยแนะนำว่าจำนวนเงินในใบเรียกเก็บเงินและใบแจ้งยอดก่อนหน้านี้มีแนวโน้มที่จะช่วยพิจารณาว่าลูกค้าจะผิดนัดชำระหรือไม่

เนื่องจากสร้างขึ้นจากเทคนิควิศวกรรมคุณลักษณะที่ค่อนข้างง่าย การประมวลผลเพิ่มเติมจึงสามารถช่วยจำแนกลูกค้าออกเป็นประเภทย่อย เช่น `ผู้หญิงที่แต่งงานแล้ว` หรือ `มหาวิทยาลัย_ชาย` ท้ายที่สุดแล้ว SHAP เป็นโมเดลที่สามารถตีความได้มาก เนื่องจากทำให้การเปรียบเทียบความสำคัญของแต่ละฟีเจอร์ง่ายขึ้นมาก