Credit scoring / Rating model evaluation metrics
AUC, GINI, KS, Odds analysis, IV Analysis, PSI and CSI
Blog ตอนนี้เป็นเรื่องเกี่ยวกับการ Evaluation model สำหรับ Credit scoring หรือ Rating model เป็นขั้นตอนการวัดประสิทธิภาพการทำงานของ Model ภายหลังจากที่พัฒนาเสร็จ หรือแม้แต่ผ่านการใช้งานไประยะหนึ่งแล้ว
แม้ว่า ML ภายในของ Credit scoring หรือ Rating model จะเป็น Classification model แต่การใช้ Evaluate metrics อาจแตกต่างออกไปจาก Classification model ปกติ โดยหลักแล้วมี 3 Aspects ที่ควรพิจารณา
Model classification ability
ขึ้นชื่อว่าเป็น Classification model ไม่ว่าจะเป็น Credit scoring หรือไม่ก็ตาม คงหนีไม่พ้นการวัดประสิทธิภาพในเชิง Discriminatory หรือการแบ่งแยก Events และ Non-events ด้วยโมเดล หรือหากพูดให้เชิงของ Credit risk คือการแบ่งคนดีออกจากคนแย่
ข้อมูลที่ใช้สำหรับการวัดผลเชิง Classification ability ใน Credit scoring model อาจไม่จำเป็นต้องทำบน Account level basis แต่อาจทำบน Summary ที่แบ่งข้อมูลเป็นช่วงคะแนนเรียบร้อยแล้ว
จากข้อมูลตัวอย่างเป็น Summary จาก Scoring model ที่แบ่งออกเป็นทั้งหมด 9 Bands โดยที่มี B1 คือลูกหนี้ชั้นดี ในขณะที่ B9 เป็นลูกหนี้ที่ใกล้ Default
AUC
AUC หรือ Area Under (ROC) Curve เป็นอัตราส่วนของพื้นที่ระหว่าง Predictive model และ Random model (50%) และ Perfect model (100%) และ Random model หรือในอีกความหมายคือ Model มีความสามารถในการ Prediction มากกว่า 50% Random เป็นเท่าใด โดยสามารถใช้สูตรจากรูปด้านล่างในการคำนวณ
และสามารถหาค่า AUC ของทั้ง Model ได้จาก
ใช้ตาราง Summary จากตัวอย่างที่มี Information คือจำนวน Observation (N) และจำนวน Default (Bad) ในแต่ละ Score band ก็สามารถคำนวณ Parameters ต่าง ๆ ที่จำเป็นสำหรับการวัดผลโมเดลได้
GINI
ก่อนไปถึงการคำนวณผลลัพธ์ ควรทำความรู้จักกับอีก 1 Metric ที่มีความสัมพันธ์ใกล้เคียงกับ AUC คือ GINI Coefficient หรือบางครั้งอาจเรียกว่า Accuracy Ratio (AR) ความสัมพันธ์ของ GINI และ AUC คือ
ดังนั้นเมื่อหาค่า AUC ได้จากผลรวมของ AUC ในแต่ละ Score band ทำให้สามารถหาค่า GINI จาก AUC ที่เพิ่งคำนวณได้ทันที และสามารถแสดง ROC Curve ออกมาเป็นกราฟได้ตามรูปด้านล่าง
KS
KS หรือ Kolmogorov-Smirnov Test เป็นการหาระยะห่างที่มากที่สุดระหว่าง 2 Classes ในที่นี้คือ Good accounts และ Bad accounts บน Cumulative scale หมายความว่ายิ่งโมเดลแบ่งคนได้ดีมากเท่าใด ระยะห่างระหว่าง 2 กลุ่มประชากรยิ่งต้องมากขึ้นเท่านั้น
Others
Plot อื่น ๆ ที่สามารถบอกได้ว่า Credit scoring model มีความประสิทธิภาพมากน้อยแค่ไหน โดยไม่ต้องอิง Statistic test เหมือนอย่าง 3 Tests ก่อนหน้านี้ สามารถใช้สายตา (Visually evaluation) เพื่อบอกว่าโมเดลเป็นอย่างไร ประกอบไปด้วย
- Distribution plot เป็นการ Plot ระหว่างจำนวณประชากรทั้งหมด และ Proportion ของประชากรที่ Default โดยสิ่งที่คาดหวังจาก Plot นี้คือ Distribution ของประชากรทั้งหมดควรใกล้เคียง Normal distribution และ Proportion ของ Default ควรไปอยู่ในกลุ่ม Score band ที่แย่และลดน้อยลงเมื่อ Score band ดีขึ้น
- Odds area เป็นการ Plot ของ Cumulative bad ต่อ Cumulative good และ Cumulative good ต่อ Cumulative bad สิ่งที่คาดหวังจากกราฟคือ Area ที่ตัดกันในช่วงกลางของ Model
- Percentage plot เป็นการ Plot ระหว่าง Bad rate และ Good rate สิ่งที่คาดหวังจากกราฟคือ Percentage ของทั้ง 2 Rates ที่ไม่ตัดกันที่ Score band ใด ๆ
Model risk driver accuracy
ในการที่จะประกอบเป็น Scoring model ได้ ต้องมี Risk factor ทำหน้าที่เป็น Features ใน Classification model ใน Section นี้เป็นการ Evaluate ใน Level ที่ลึกลงไป จากเดิมที่ Classification ability เป็นการวิเคราะห์บน Score band level แต่ใน Risk driver accuracy เป็นการวัดประสิทธิภาพที่ Scoring factor แต่ละตัว
ดังนั้นข้อมูลที่จำเป็นต้องมีเพิ่มขึ้นมาคือ ข้อมูล Factor รายตัวที่ประกอบไปด้วย Information เดิมอย่างจำนวน Observation (N) และจำนวน Default (Bad) โดยมีข้อมูลในแต่ละ Factor และ Binning ใน Factor นั้น ๆ ด้วยเช่นกัน
จากตัวอย่างเช่นใน Factor A ที่เป็น 1 ในหลาย Features ในโมเดลมี Bin ทั้งหมด 3 Bins ดังนั้นไม่ว่า Factor อื่นจะประกอบไปด้วย Bins ที่มากกว่าหรือน้อยกว่านี้ แต่ผลรวมของจำนวน Observation ต้องเท่ากันทั้งหมด
Log-odds analysis
Log-odds analysis หรืออาจเรียกว่า WOE Analysis หากทำงานอยู่ในสาย Credit risk ต้องคุ้นเคยกับ WOE กันเป็นอย่างดี เพราะสมการ Weight of Evidence มักถูกใช้ในการแปลงค่า Categorical features ให้เป็นตัวเลขสำหรับใช้ใน ML Model สามารถใช้สูตร WOE ได้ตามรูปด้านล่าง
การคำนวณ WOE จะเกิดขึ้นในแต่ละ Bin ของแต่ละ Factor เมื่อได้ผลลัพธ์ออกมาแล้ว สามารถ Plot ประกับ Bad rate เพื่อทำการวัดประสิทธิภาพโมเดลได้ โดยหาก WOE และ Bad rate มีลักษณะเป็น Monotonic trend คือ WOE ควรมีค่าลดลงในขณะที่ Bad rate มีค่าเพิ่มขึ้น สิ่งนี้บ่งบอกถึงการจัด Binning ในการแบ่งลูกค้าของ Credit scoring model ได้ดี
IV
ต่อมาเป็นสิ่งที่มักคำนวณคู่กับ WOE เสมอคือ IV หรือ Information Value โดยปกติ IV Analysis เป็น Process ตั้งแต่ Model development แล้ว เพราะเป็นการคำนวณที่บอกว่า Factor สามารถแบ่งคนดีและคนแย่ออกจากกันได้ที่มากน้อยแค่ไหน โดยความสัมพันธ์ที่เกิดขึ้นต่อเนื่องจาก WOE เป็นไปตามสมการด้านล่าง
เมื่อหาผลรวมของ IV ในแต่ละ Binning จะได้เป็น IV ของ Factor นั้น ๆ โดย IV อาจใช้ Threshold กำหนดว่า Factor นั้นดีหรือแย่ ส่วนมากใช้อยู่ที่ 0.2
Model stability
วิธีการวัดประสิทธิภาพโมเดลอย่างสุดท้าย เกี่ยวข้องกับ 2 ชุดข้อมูล โดยที่ขั้นตอนปกติของ Model development ส่วนมากแล้วมีการแบ่งข้อมูลออกเป็น Training และ Validation การวัด Model stability เป็นการบอกถึงเสถียรภาพของโมเดลเมื่อนำไปใช้กับข้อมูลที่ไม่ได้เป็น Training dataset
ข้อมูลที่ใช้งานแบ่งออกเป็น 2 Levels คือ 1. Score band level และ 2. Risk factor level (Format เหมือนในช่วง Development)
PSI
PSI หรือ Population Stability Index เป็นการดูว่า Distribution ของ 2 ชุดข้อมูลมีความต่างกันอย่างไรบ้าง โดยสามารถคำนวณได้จากสูตรตามรูปด้านล่าง
ผลรวมของ PSI ในแต่ละ Score band คือค่าผลลัพธ์ PSI ของทั้ง Distribution ที่ต้องการเปรียบเทียบ
CSI
CSI หรือ Characteristic Stability Index เป็นการวัดผลในลักษณะเดียวกันกับ PSI แต่เปลี่ยนจาก Score band level เป็น Factor level แทน โดยสังเกตได้จากสูตรด้านล่างที่มีการคำนวณเหมือนเดิม
เช่นเดียวกัน ผลรวมของ CSI ในแต่ละ Binning ของแต่ละ Factor คือค่าผลลัพธ์ CSI ของทั้ง Distribution ที่ต้องการเปรียบเทียบ
Validation period
เมื่อมีข้อมูล Validation dataset แล้ว สามารถใช้ข้อมูลนั้น ๆ เพื่อวัดผล Model classification ability และ Model risk driver accuracy ทั้งนี้เพื่อเปรียบเทียบผลลัพธ์จาก Training dataset วิธีการนี้ถือเป็นการทำ Model validation ภายหลังจากที่ Model เริ่มใช้งานอีกวิธีหนึ่ง
Code และ Logic การคำนวณสามารถใช้แบบเดิมได้ เพิ่งแค่เปลี่ยน Input data เท่านั้น ดังนั้นจึงขอแสดงเฉพาะผลลัพธ์ที่เกิดขึ้นใน Validation dataset
IV Changed
สำหรับ Model risk driver accuracy สามารถวัดประสิทธิภาพโมเดลในช่วง Validation period ได้จาก IV Changed หรือค่า IV ที่เปลี่ยนไปเมื่อเทียบกับข้อมูลช่วง Development
ใช้สูตรการคำนวณค่า IV เหมือนเดิม แล้วหาผลต่างในรูปของ Percentage (+, -) สำหรับการเปรียบเทียบ
ค่า IV ที่อยู่ในช่วง Validation period มีค่าลดลงไปบ้างเมื่อเทียบกับช่วงที่ Development period ลดลงเฉลี่ยที่ 30-40% แต่เมื่อเทียบกับเกณฑ์ที่ใช้กันอยู่ปัจจุบัน ยังถือว่า Risk factor ยังคงมี Predictive power อยู่
Conclusion
เนื้อหาตอนนี้อาจยาวไปบ้าง เพราะทั้งหมดนี้คือ End-to-end process สำหรับการวัดประสิทธิภาพ Credit scoring model ทั้งในแง่ของการวัดผลก่อนเริ่มใช้งาน หรือการวัดผลหลังจากที่ผ่านการใช้งานไประยะหนึ่งแล้ว
สำหรับ Colab notebook ของเนื้อหาทั้งหมดในตอน สามารถดูได้ที่ Link ด้านบน