ยินดีต้อนรับสู่บทเรียนการทำความสะอาดข้อมูล (Data Cleaning)!

สวัสดีครับ! ยินดีต้อนรับเข้าสู่หนึ่งในบทที่สำคัญที่สุดในการเดินทางเตรียมสอบ Exam ATPA ของคุณ คุณอาจเคยได้ยินวลีที่ว่า "ขยะเข้า ขยะออก" (Garbage in, garbage out) ในงานด้านการวิเคราะห์เชิงทำนาย (Predictive Analytics) โมเดลของคุณจะดีได้เท่ากับคุณภาพของข้อมูลที่คุณป้อนเข้าไปเท่านั้น ในโลกความเป็นจริง ข้อมูลมักจะไม่เรียบร้อย—มันอาจมีรูโหว่ (ค่าที่ขาดหายไป) และมีเรื่องเซอร์ไพรส์แปลกๆ (ค่าผิดปกติ) ในบทนี้ เราจะมาเรียนรู้วิธีสังเกตปัญหาเหล่านี้ และที่สำคัญกว่านั้นคือวิธีแก้ไขเพื่อให้โมเดลของคุณเปล่งประกายได้อย่างเต็มที่!

ส่วนที่ 1: การจัดการกับค่าผิดปกติ (Outliers)

ลองจินตนาการว่าคุณกำลังดูความสูงของกลุ่มผู้ใหญ่ คนส่วนใหญ่อาจจะสูงระหว่าง 5 ถึง 6 ฟุต แต่ทันใดนั้น คุณกลับเห็นบันทึกของคนที่สูงถึง 12 ฟุต! นั่นคือ ค่าผิดปกติ (Outlier) ซึ่งก็คือจุดข้อมูลที่มีความแตกต่างจากข้อมูลส่วนใหญ่อย่างเห็นได้ชัด

ค่าผิดปกติคืออะไรกันแน่?

ค่าผิดปกติ (Outlier) คือข้อมูลที่อยู่นอกระยะห่างปกติเมื่อเทียบกับค่าอื่นๆ ในกลุ่มตัวอย่างที่สุ่มมาจากประชากร ซึ่งค่าผิดปกติอาจเกิดจาก:
1. ความผิดพลาดในการป้อนข้อมูล: มีคนพิมพ์ "120" แทนที่จะเป็น "12"
2. ความผิดพลาดในการวัดผล: อุปกรณ์เซนเซอร์ทำงานผิดพลาด
3. ความแปรปรวนตามธรรมชาติ: บางครั้งค่าสุดโต่งก็เป็นเรื่องจริง (เช่น รายได้ของมหาเศรษฐีในการศึกษาเกี่ยวกับเงินเดือนเฉลี่ย)

วิธีสังเกตค่าผิดปกติ

ไม่ต้องกังวลถ้าคุณมองหาพวกมันไม่เจอจากการจ้องมองสเปรดชีต! เรามีเครื่องมือช่วย:
Boxplots: สิ่งนี้คือเพื่อนที่ดีที่สุดของคุณ จุดใดก็ตามที่ถูกพล็อตเป็นจุดแยกออกมานอก "หนวด" (whiskers) มักจะถือเป็นค่าผิดปกติ
Scatterplots: เหมาะมากสำหรับการดูว่าจุดใดที่ไม่เข้าพวกกับความสัมพันธ์ระหว่างตัวแปรสองตัว
กฎ IQR: ในทางคณิตศาสตร์ เรามักเรียกจุดว่าเป็นค่าผิดปกติหากมันอยู่สูงกว่าควอร์ไทล์ที่สาม (Third Quartile) หรือต่ำกว่าควอร์ไทล์ที่หนึ่ง (First Quartile) เกิน \(1.5 \times IQR\)
Z-Scores: หากจุดข้อมูลมีค่า Z-score มากกว่า 3 (หรือน้อยกว่า -3) แสดงว่าจุดนั้นอยู่ห่างจากค่าเฉลี่ยมาก และมีแนวโน้มสูงที่จะเป็นค่าผิดปกติ

เราควรทำอย่างไรกับมันดี?

เมื่อคุณพบค่าผิดปกติแล้ว คุณมีทางเลือกหลักๆ 3 ทาง:
1. เก็บไว้: ถ้าคุณเชื่อว่าข้อมูลนั้นถูกต้องและแสดงถึงปรากฏการณ์จริง (แม้จะพบได้ยาก)
2. ลบทิ้ง: หากคุณมั่นใจว่าเป็นข้อผิดพลาด หรือมันจะสร้างความลำเอียง (Bias) ให้กับโมเดลของคุณมากเกินไป
3. แปลงข้อมูล/จำกัดค่า (Transform/Cap): สิ่งนี้มักเรียกว่า Winsorization โดยคุณจะแทนที่ค่าที่สุดโต่งด้วยค่าที่น้อยกว่า (เช่น ค่าที่เปอร์เซ็นไทล์ที่ 99)

ทบทวนสั้นๆ: ค่าผิดปกติสามารถดึงค่าเฉลี่ยและทำให้ความแปรปรวนของคุณสูงเกินจริงได้เสมอ ดังนั้นจงตรวจสอบให้ดีก่อนกด "ลบ" ทิ้ง!

ข้อควรจำ:

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


ส่วนที่ 2: ข้อมูลที่ขาดหายไป (Missing Data) – "รูโหว่" ในชุดข้อมูลของคุณ

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

ทำไมข้อมูลที่ขาดหายไปถึงเป็นปัญหา?

โมเดลเชิงทำนายส่วนใหญ่ (เช่น GLMs แบบมาตรฐาน) ไม่สามารถจัดการกับค่าที่ขาดหายไปได้ หากแถวหนึ่งมีข้อมูลหายไป ซอฟต์แวร์อาจเลือกที่จะลบข้อมูลทั้งแถวนั้นทิ้ง ซึ่งเป็นการสูญเสียข้อมูลส่วนอื่นในคอลัมน์ที่สมบูรณ์ไปอย่างน่าเสียดาย!

ประเภทของการขาดหายไปของข้อมูล 3 แบบ

เพื่อแก้ไขปัญหานี้ เราต้องเข้าใจก่อนว่า ทำไม ข้อมูลถึงหายไป:
1. Missing Completely at Random (MCAR): ไม่มีรูปแบบการหายที่ชัดเจน เปรียบเสมือนใครบางคนทำกาแฟหกใส่สมุดบันทึกในหน้าแบบสุ่ม
2. Missing at Random (MAR): ข้อมูลที่หายไปมีความเกี่ยวข้องกับ ข้อมูลอื่นๆ ที่เราสังเกตเห็น เช่น ผู้ชายอาจมีแนวโน้มที่จะไม่ตอบคำถามเรื่องน้ำหนักในแบบสำรวจน้อยกว่าผู้หญิง
3. Missing Not at Random (MNAR): ข้อมูลที่หายไปมีความเกี่ยวข้องกับตัวมันเองที่หายไป เช่น คนที่มีรายได้สูงมากอาจปฏิเสธที่จะแจ้งรายได้ของตนในแบบฟอร์ม

คุณทราบหรือไม่? MNAR เป็นกรณีที่จัดการยากที่สุด เพราะเหตุผลของการหายไปนั้น "ซ่อนอยู่" ภายในตัวข้อมูลที่หายไปเองนั่นแหละ!

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

1. การลบทิ้ง (วิธี "ง่ายๆ")
Listwise Deletion: ลบทั้งแถวทิ้งถ้ามีค่าใดค่าหนึ่งหายไป วิธีนี้ทำง่ายแต่อาจนำไปสู่การเสียข้อมูลจำนวนมหาศาล
เมื่อไหร่ที่ควรใช้: เฉพาะเมื่อปริมาณข้อมูลที่ขาดหายมีน้อยมาก และเป็นกรณีแบบ MCAR เท่านั้น

2. การเติมข้อมูล (Imputation)
Imputation หมายถึงการเติม "รูโหว่" ด้วยค่าที่เราประมาณการขึ้นมา
Mean/Median/Mode Imputation: เติมช่องว่างด้วยค่าเฉลี่ยหรือค่ากลางของคอลัมน์นั้น คำเตือน: วิธีนี้จะลดความแปรปรวนของข้อมูลและอาจนำไปสู่โมเดลที่มั่นใจในตัวเองมากเกินไป (Overconfident)!
Predictive Imputation: ใช้โมเดลขนาดเล็ก (เช่น การวิเคราะห์การถดถอย) เพื่อทำนายว่าค่าที่ขาดไปควรเป็นเท่าใดโดยดูจากตัวแปรอื่นๆ

3. การใช้ตัวบ่งชี้การขาดหาย (The "Missingness" Indicator)
แทนที่จะเดา คุณสามารถสร้าง ตัวแปรเชิงกลุ่ม/ตัวบ่งชี้ (Binary/Indicator Variable) ใหม่ขึ้นมาได้ (เช่น \(Is\_Missing = 1\)) ส่วนตัวแปรต้นฉบับให้คุณเติมค่าคงที่ลงไป (เช่น 0) วิธีนี้จะช่วยให้โมเดลเรียนรู้ได้ว่า ความจริงที่ว่าข้อมูลขาดหายไป นั้นเป็นตัวทำนาย (Predictor) ชนิดหนึ่งได้หรือไม่!

ข้อควรจำ:

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


ส่วนที่ 3: กับดักทั่วไปและเคล็ดลับ

ข้อผิดพลาดที่ควรหลีกเลี่ยง

อย่าลบสุ่มสี่สุ่มห้า: หากคอลัมน์หนึ่งมีข้อมูลหายไป 40% การลบแถวเหล่านั้นทิ้งจะทำลายชุดข้อมูลของคุณ ลองพิจารณาลบคอลัมน์นั้นออกแทนการลบแถวดูสิ
ระวังข้อมูลที่ขาดหายแบบ "ซ่อนอยู่": บางครั้งข้อมูลที่หายไปไม่ได้เป็นช่องว่าง แต่อาจถูกบันทึกเป็น "999", "Unknown", หรือ "0" ให้ตรวจสอบ สถิติสรุป (Summary Statistics) ของคุณเสมอเพื่อดูว่ามีค่าใดที่ดูน่าสงสัยหรือไม่
การเติมค่าในตัวแปรเป้าหมาย (Target): โดยทั่วไปแล้ว คุณ ไม่ควร เติมค่าให้ตัวแปรเป้าหมาย (สิ่งที่คุณกำลังพยายามทำนาย) ให้ลบแถวเหล่านั้นออกไปเลยจะดีกว่า

การเปรียบเทียบง่ายๆ

ลองนึกภาพการทำความสะอาดข้อมูลเหมือนกับการเตรียมอาหาร ค่าผิดปกติ (Outliers) ก็เหมือนพริกเม็ดเดียวที่เผ็ดกว่าปกติ 100 เท่า—ถ้าคุณใส่มันลงไป มันอาจทำลายรสชาติอาหารทั้งจานได้ ส่วน ข้อมูลที่ขาดหายไป (Missing data) ก็เหมือนวัตถุดิบที่ขาดไปในสูตรอาหาร—คุณอาจเลือกข้ามเมนูนั้นไป (Deletion), หาอย่างอื่นมาใส่แทน (Imputation), หรือตระหนักว่าการที่วัตถุดิบขาดหายไปเป็นสัญญาณบอกว่าเชฟลืมซื้อของ (Indicator variable)

เช็คลิสต์สรุปสำหรับการสอบ

ระบุ (Identify): ใช้กราฟ (Boxplots/Scatterplots) และค่าสถิติ (IQR/Z-score) สำหรับค่าผิดปกติ
วินิจฉัย (Diagnose): ข้อมูลที่ขาดหายไปเป็น MCAR, MAR หรือ MNAR?
จัดการ (Treat): เลือกวิธีระหว่างการลบ การเติมค่า หรือการใช้ตัวบ่งชี้ตามความเหมาะสม
อธิบาย (Document): ในการสอบ ATPA จงอธิบายเสมอว่า ทำไม คุณถึงเลือกวิธีทำความสะอาดแบบนั้น เพราะคำว่า "ทำไม" สำคัญพอๆ กับ "อย่างไร" เลยล่ะ!

ลุยต่อไปครับ! คุณทำได้ดีมากแล้ว การเชี่ยวชาญด้านการทำความสะอาดข้อมูลคือรากฐานสำคัญของการเป็นนักวิเคราะห์เชิงทำนายระดับแนวหน้า เมื่อข้อมูลของคุณสะอาดแล้ว ส่วนของการทำโมเดลที่ "สนุก" จะกลายเป็นเรื่องง่ายขึ้นเยอะเลย!