ทำนาย ระยะเวลาอีกนานเท่าไรที่ลูกค้าจะยังอยู่กับบริษัท ด้วย Survival Analysis

Survival Analysis นั้นเริ่มต้นมาจากวงการแพทย์และงานวิจัยสาขาชีววิทยา โดยใช้ในการศึกษาการอยู่รอดของเชื้อหรือการมีชีวิตต่อ หรือวิเคราะห์ treatment ที่แตกต่างกันว่ามีส่งผลต่อผู้ป่วยอย่างไรบ้าง เช่นการให้ยารักษาชนิดใหม่ จะส่งผลให้หายเร็วขึ้นหรือไม่เมื่อเทียบกับผู้ป่วยที่ไม่ได้รับยารักษา ซึ่งจากที่กล่าวมา ทำให้เห็นว่า terminology ของ survival analysis จะเป็น survive, failure, และ death เป็นต้น ดังตัวอย่างของ บทความ วิเคราะห์การรอดชีพ Survival Time โดย STATA (https://www.gotoknow.org/posts/487453) กล่าวไว้ว่า

“Survival Time Analysis มีจุดเด่นคือนับเวลารอดชีพ แบบ Person-Years มีข้อมูลเวลา ก่อนที่จะขาดหายไปจากการศึกษา (Loss follow-up) ไว้ด้วยการศึกษาบางแบบนับจำนวนเฉพาะ ตอนต้นและตอนท้ายการศึกษาซึ่งผู้ที่ขาดหายไปจากการศึกษาจะไม่ได้นับรวมไว้”

ถ้าใช้วิธี Logistic Regression โดยไม่ใช้ข้อมูล เวลาหรือวิธี Compare means ของเวลา โดยไม่ใช้ ข้อมูลหยุดการติดตาม Censored จะได้ผลที่ทำให้เข้าใจผิดได้ (Mis-Leading results) เพราะ Censored มีความหมายได้หลายแบบ เช่น ขาดหายไปจากการศึกษา ยังคงไม่เสียชีวิตเมื่อครบเวลาศึกษา หรือเสียชีวิตจากโรคอื่น

กำหนดให้

Survival time คือเวลา ที่ยังคงไม่เสียชีวิตในการศึกษา หน่วยเป็น เดือน หรือ ปี
died = 1 คือเสียชีวิตจากโรคนั้นๆ
died = 0 (Censored) คือ ยังคงรอดอยู่เมื่อสิ้นสุดการศึกษา หรือขาดหายไปจากการบันทึก หรือเสียชีวิตจากโรคอื่นๆ

อีกทั้ง จากเหตุผลการกระจายตัวของ ข้อมูลของ Telco-Customer-Churn ก็เป็นกราฟมีลักษณะเบ้ขวา (right skew) ของ ระยะเวลาของคนที่ย้ายค่ายมาดูการกระจายตัว

ด้วยสาเหตุ ของ censored data และ skew distribution ทำให้เราไม่สามารถใช้ regression แบบปกติได้เนื่องจาก regression ไม่สามารถรับมือกับ censored data ได้ และ assumption ของ linear regression คือกราฟเป็นมีการกระจายตัวแบบปกติ (normal distribution) ซึ่งถ้าฝืนทำไป อาจจะทำให้ model ขาดความแม่นยำไปอย่างมาก

การวิเคราะห์ Survival Analysis จึงเป็น วิธีการใหม่ที่สามารถวิเคราะห์กรณีแบบนี้ซึ่งเป็น Non Parametric statistic โดยวีธีใหม่นี้ เพื่อทำการวิเคราะห์ ข้อมูลแบบนี้ Survival Analysis เป็นเครื่องมือทางสถิติในหมวดของ time-to-event analysis ที่ช่วยในการวิเคราะห์และอธิบายว่า เป็นระยะเวลานานเท่าไหร่ เหตุการณ์นั้น ๆ จึงจะเกิดขึ้น เช่น ระยะเวลาเท่าไหร่ที่ลูกค้าคนนั้นจะมีโอกาสกลับมาใช้บริการเราอีก หรือระยะเวลาเท่าไหร่ที่ลูกค้าจะมีโอกาสในการยกเลิกบริการกับเรา หรือหาปัจจัยที่ส่งผลต่อระยะเวลาที่เหตุการณ์นั้น ๆ จะเกิดขึ้น เช่นการเพิ่ม/ลดราคาสินค้า จะส่งผลต่อความนิยมของสินค้าในตลาดนานขึ้นหรือไม่

กรณีศึกษา Telco-Customer-Churn [https://www.kaggle.com/blastchar/telco-customer-churn]

ข้อมูลที่นำมาใช้เป็นตัวอย่างในบทความนี้เป็นข้อมูลของ Telco-Customer-Churn ซึ่งเป็นข้อมูลของบริษัทโทรคมนาคมต่างประเทศ

Figure 1 ตัวอย่างชุดข้อมูล Telco Customer Churn

โดยข้อมูลที่จำเป็นสำหรับการทำ Survival Analysis นั้นต้องมี

1. ระยะเวลา เช่น ลูกค้าคนนี้เป็นลูกค้ามาเป็นระยะเวลา 10 ปี หรือเขาเข้ามาหาเราครั้งสุดท้ายเมื่อเดือน 5 และกลับเข้ามาใช้บริการอีกครั้งตอนเดือน 8 แสดงว่าเขามีระยะเวลาเป็น 3 เดือน

2. ชุดข้อมูลที่ระบุว่าเหตุการณ์นั้น เกิดขึ้นหรือไม่ เช่นลูกค้ากลับมาใช้บริการหรือไม่ หรือลูกค้ายกเลิกบริการของเราหรือไม่

3. Factors อื่น ๆ ที่จะใช้ในการวิเคราะห์ เพื่อดูว่า factor นั้น ๆ มีผลต่อระยะเวลาหรือไม่เช่น package ที่ลูกค้าใช้ หรือประเภทของบัตรสมาชิก เป็นต้น

ทั้งนี้ จากเรื่องของระยะเวลาที่กล่าวไปนั้น ในกรณีที่ลูกค้าเข้ามาใช้บริการครั้งสุดท้ายเมื่อเดือน 5 แต่ไม่กลับมาใช้บริการอีกเลยนั้น จนถึงตอนนี้ (สมมุติว่าเป็นเดือน 1 ของปีถัดไป) แสดงว่าลูกค้าคนนั้นมีระยะเวลาทั้งหมดประมาณ 8 เดือน และเนื่องจากเขาไม่ได้กลับมาใช้บริการเราอีก เราจึงไม่มีข้อมูลในส่วนนี้ เช่นเราเก็บข้อมูลการซื้อซ้ำใน attribute Last Purchase ถ้าหากเขาไม่ได้กลับมาซื้อของจากเราอีก ข้อมูลส่วนนี้ก็จะว่างไป ข้อมูลว่างนี้เรียกว่า Censored data

ตัวอย่าง Censored data

Censored data เป็นชุดข้อมูลว่าง ที่เรารู้ว่ามันคืออะไร เพียงแค่ไม่มีข้อมูลในฐานข้อมูลของเรา เช่น ในกรณีของข้อมูลการย้ายค่ายบริการ ถ้าเราไม่มีข้อมูลว่าลูกค้าย้ายค่ายเมื่อไหร่ ซึ่งจะทำให้ attribute ของการย้ายค่ายเป็นช่องว่าง แต่เรารู้ว่าลูกค้าคนนั้นยังไม่ย้ายค่ายแน่ๆซึ่งแตกต่างจาก NA (Not available/missing value) ซึ่งเป็นข้อมูลว่าง และเราก็ไม่รู้ว่าข้อมูลมันคืออะไร

Censored data สามารถแบ่งออกได้เป็นหลาย Type โดยในส่วนของ Survival Analysis นั้นจะเป็น Right-Censored หมายถึงว่า เรารู้จุดเริ่มต้นของข้อมูลแต่ไม่รู้ว่าเหตุการณ์ต่อไปจะเกิดเมื่อไหร่ หรือในช่วงที่ทำการวิเคราะห์ข้อมูลนั้น เหตุการณ์ของลูกค้ากลุ่มที่ศึกษาอยู่ ยังไม่เกิดขึ้น หรือเพราะเราขาดการ follow up ของลูกค้าคนนั้น ๆ ไป ทำให้ตั้งแต่จุดนั้นเป็นต้นมา ไม่มีข้อมูลของลูกค้าคนนี้อีกเลยเป็นต้น

ส่วนข้อมูลที่มีเหตุการณ์เกิดขึ้นนั้น ใน survival analysis จะเรียกการเกิดขึ้นของเหตุการณ์ว่า failure ในขณะที่ข้อมูลที่ยังอยู่รอดในช่วงเวลานั้นจะเรียกว่า survive

ถ้าหากถึงช่วง study end แล้ว หรือหมายถึงช่วงที่เราเริ่มนำข้อมูลมาวิเคราะห์ ถ้าหากข้อมูลไหนที่เรายัง follow up อยู่แต่เหตุการณ์ยังไม่เกิด เราจะเรียกข้อมูลชุดนี้ว่า truncated data หรือการตัดจบ ซึ่งในแง่การคำนวณแล้ว เราจะมองกลุ่มนี้เหมือนกับ censored data นั้นเอง

Survival Analysis ด้วย Kaplan-Meier Method

ในความเป็นจริงแล้ว เราไม่สามารถรอเก็บผลจากกลุ่มศึกษา (study group) จนครบทุกคนแล้วค่อยนำมาวิเคราะห์ผลได้ เช่นงานวิจัยทางการแพทย์ เราคงไม่สามารถรอให้คนไข้หายจากโรคทั้งหมดก่อน เพื่อดู effect ของ treatment ได้ โดยอาจจะใช้เวลามากกว่าครึ่งปีจนไปถึงหนึ่งปี ซึ่งกว่าจะถึงตอนนั้น treatment อาจจะไม่จำเป็นอีกต่อไปแล้วก็ได้ ดังนั้นเราเลยต้องหาวิธีในการประมาณค่า (inference) ของ survival curve แบบอื่นแทน โดยแบบที่นิยมมากที่สุดและง่ายที่สุดคือ Kaplan-Meier Metho

สรุปได้ว่า

จากกราฟที่ได้มา เป็นกราฟของความน่าจะเป็นที่จะอยู่รอด (survive) เทียบกับเวลา (time) ที่เส้นสีดำแสดงว่า จะมี โอกาสที่จะเกิดหตุการณ์ เช่น ย้ายค่ายหรือยกเลิกบริการประมาณ 20% เมื่อช่วงเวลาผ่านไปประมาณ 22 วัน

--

--

รศ. ดร. เชฏฐเนติ ศรีสอ้าน
รศ. ดร. เชฏฐเนติ ศรีสอ้าน

Written by รศ. ดร. เชฏฐเนติ ศรีสอ้าน

รองอธิการบดีฝ่ายเทคโนโลยี มหาวิทยาลัยรังสิต

No responses yet