การตรวจจับค่าผิดปกติ
ตรวจจับความผิดปกติในข้อมูลตัวเลขด้วย Isolation Forest. ระบุค่าผิดปกติด้วยอัลกอริทึม Isolation Forest…
ระบุค่าผิดปกติด้วยอัลกอริทึม Isolation Forest จุดข้อมูลที่มีคะแนนความผิดปกติสูงจะถูกระบุเป็นความผิดปกติที่อาจเกิดขึ้นตามเกณฑ์การปนเปื้อน
การตรวจจับค่าผิดปกติ Isolation Forest คืออะไร?
Isolation Forest คืออัลกอริทึมการเรียนรู้ของเครื่องแบบไม่มีผู้สอนสำหรับการตรวจจับความผิดปกติ โดยอาศัยหลักการที่ว่าค่าผิดปกติมีลักษณะ 'จำนวนน้อยและแตกต่าง' จึงแยกออกมาได้ง่ายกว่าจุดข้อมูลปกติ ต่างจากวิธีที่อิงระยะทาง อัลกอริทึมนี้ไม่คำนวณระยะทางหรือความหนาแน่น จึงมีประสิทธิภาพสูงมากกับชุดข้อมูลขนาดใหญ่
อัลกอริทึมสร้างกลุ่มต้นไม้แยกส่วนแบบสุ่มจำนวนมาก ต้นไม้แต่ละต้นแบ่งข้อมูลซ้ำแล้วซ้ำเล่าด้วยการสุ่มเลือกตัวแปรหนึ่งตัวและค่าจุดแบ่งหนึ่งค่า จุดผิดปกติซึ่งพบได้น้อยและมีลักษณะเด่นชัดจะต้องใช้การแบ่งน้อยครั้งกว่าจึงจะถูกแยกออกมา นั่นคือความยาวเส้นทางจากรากถึงใบสั้นกว่า ส่วนจุดปกติที่เกาะกลุ่มกันอยู่จะต้องใช้การแบ่งมากครั้งกว่า
คะแนนความผิดปกติได้มาจากความยาวเส้นทางเฉลี่ยของทุกต้นไม้ แล้วปรับมาตรฐานด้วยความยาวเส้นทางที่คาดหวังตามขนาดของชุดข้อมูล คะแนนที่เข้าใกล้ 1 บ่งชี้ว่าเป็นจุดผิดปกติ ส่วนคะแนนที่เข้าใกล้ 0.5 บ่งชี้ว่าเป็นจุดปกติ พารามิเตอร์สัดส่วนการปนเปื้อน (contamination) กำหนดสัดส่วนของจุดผิดปกติที่คาดว่าจะพบ ซึ่งเป็นตัวกำหนดเกณฑ์คะแนนสำหรับการจำแนกประเภท
Formula: Anomaly Score s(x, n) = 2^(-E(h(x)) / c(n)) c(n) = 2H(n-1) - 2(n-1)/n where h(x) = path length, c(n) = average path length in BST, H(i) = harmonic number ≈ ln(i) + 0.5772
ตัวอย่างการคำนวณ
ข้อมูล 100 จุด โดยตั้ง contamination = 0.05 (คาดว่าจะพบค่าผิดปกติราว 5 จุด) สร้างต้นไม้แยกส่วน 100 ต้น จุด A มีความยาวเส้นทางเฉลี่ย 3.2 (แยกออกได้เร็ว → คะแนนความผิดปกติ 0.82 → ถูกทำเครื่องหมาย) จุด B มีความยาวเส้นทางเฉลี่ย 8.7 (แยกออกได้ยาก → คะแนนความผิดปกติ 0.45 → ปกติ) มี 4 จุดที่เกินเกณฑ์ จึงถูกทำเครื่องหมายว่าเป็นจุดผิดปกติ
เมื่อใดควรใช้เครื่องคำนวณนี้
- ระหว่างการทบทวนข้อมูลตรวจสอบขาเข้าเพื่อตั้งค่าสถานะการวัดที่ผิดปกติซึ่งอาจบ่งชี้ปัญหาคุณภาพซัพพลายเออร์หรือข้อผิดพลาดการวัด
- เมื่อทำความสะอาดชุดข้อมูลก่อนการวิเคราะห์ทางสถิติ — outlier ที่ตรวจไม่พบสามารถบิดเบือนค่าเฉลี่ย ค่าเบี่ยงเบนมาตรฐาน และดัชนีความสามารถอย่างรุนแรง
- ใน SPC การผลิตปริมาณมากเพื่อตรวจจับรูปแบบการผลิตที่ผิดปกติซึ่งแผนภูมิควบคุมมาตรฐานอาจพลาดในข้อมูลหลายตัวแปร
- เมื่อวิเคราะห์ข้อมูลเซ็นเซอร์หรือ IoT จากการเฝ้าติดตามอุปกรณ์เพื่อระบุสัญญาณเริ่มต้นของการเสื่อมสภาพเครื่องจักรหรือ drift กระบวนการ
- ระหว่างการตรวจสอบคุณภาพเพื่อหาข้อมูลที่ผิดปกติซึ่งอาจบ่งชี้ข้อผิดพลาดการบันทึก อุปกรณ์ทดสอบขัดข้อง หรือกระบวนการหยุดชะงัก
ข้อผิดพลาดที่พบบ่อยที่ควรหลีกเลี่ยง
- ลบข้อมูลที่ถูกตั้งค่าสถานะทั้งหมดโดยอัตโนมัติโดยไม่ตรวจสอบ — outlier อาจแสดงถึงเหตุการณ์กระบวนการจริงที่สำคัญซึ่งต้องการการแก้ไข ไม่ใช่แค่การทำความสะอาดข้อมูล
- ตั้งค่า contamination สูงเกินไปทำให้ตั้งค่าสถานะความแปรผันปกติเป็นผิดปกติ — เริ่มแบบอนุรักษ์นิยม (0.01-0.05) และเพิ่มเมื่อความรู้เฉพาะทางแนะนำอัตราผิดปกติที่สูงกว่า
- ใช้ Isolation Forest กับชุดข้อมูลขนาดเล็กมาก (ต่ำกว่า 50 จุด) — อัลกอริทึมต้องการข้อมูลเพียงพอเพื่อสร้าง isolation trees ที่มีความหมาย ใช้วิธีที่ง่ายกว่า (Z-score, IQR) สำหรับตัวอย่างเล็ก
- ละเลยการกระจายคะแนนผิดปกติ — แทนที่จะพึ่งเฉพาะการจำแนกแบบ binary ตรวจสอบการกระจายคะแนนเพื่อเข้าใจระดับความรุนแรงของข้อมูลผิดปกติที่ตรวจพบ
วิธีตีความผลลัพธ์
- คะแนนผิดปกติใกล้ 1.0 — จุดถูกแยกอย่างรุนแรงและน่าจะเป็นข้อมูลผิดปกติจริง ตรวจสอบทันที
- คะแนนผิดปกติ 0.6-0.8 — จุดผิดปกติปานกลาง ทบทวนในบริบทของโดเมนเพื่อกำหนดว่าต้องดำเนินการหรือไม่
- คะแนนผิดปกติประมาณ 0.5 — จุดเป็นปกติ ฝังตัวอยู่ภายในการกระจายข้อมูลหลัก
- สัดส่วนผิดปกติสูงกว่าที่คาดอย่างมาก — อาจตั้งค่าพารามิเตอร์ contamination สูงเกินไปหรือกระบวนการมีปัญหามากกว่าที่สมมติ
- กลุ่มข้อมูลผิดปกติที่ค่า feature คล้ายกัน — อาจแสดงถึงกลุ่มประชากรย่อยที่แตกต่างมากกว่า outlier สุ่ม ตรวจสอบหาสาเหตุเชิงระบบ
มาตรฐานและเอกสารอ้างอิงที่เกี่ยวข้อง
- Liu, Ting & Zhou (2008), "Isolation Forest", IEEE ICDM — บทความต้นฉบับที่นิยามอัลกอริทึมและคะแนนความผิดปกติที่ใช้งานที่นี่
- ISO 16269-4 — การตีความข้อมูลเชิงสถิติ: การตรวจจับและการจัดการค่าผิดปกติ มาตรฐานสากลที่วางกรอบการตัดสินใจจัดการค่าผิดปกติ
- ASTM E178 — แนวปฏิบัติมาตรฐานสำหรับการจัดการค่าสังเกตที่ผิดปกติ ครอบคลุมว่าเมื่อใดการลบจุดที่ถูกทำเครื่องหมายจึงสมเหตุสมผล
- NIST/SEMATECH e-Handbook §1.3.5.17 — การทดสอบค่าผิดปกติตัวแปรเดียวแบบคลาสสิก (Grubbs) มีประโยชน์ในการตรวจสอบไขว้กับข้อมูลคุณลักษณะเดียว
คำถามที่พบบ่อย
ควรตั้งค่าพารามิเตอร์สัดส่วนการปนเปื้อน (contamination) อย่างไร
สัดส่วนการปนเปื้อนคือสัดส่วนของความผิดปกติที่คาดว่ามีอยู่ในข้อมูลของคุณ หากทราบอัตราความผิดปกติในอดีต (เช่น อัตราของเสีย 2%) ให้ใช้ค่านั้น หากไม่ทราบ ให้เริ่มที่ 0.05-0.10 แล้วปรับตามความเชี่ยวชาญในสายงาน ค่าต่ำเกินไปจะทำให้พลาดความผิดปกติที่เกิดขึ้นจริง ค่าสูงเกินไปจะทำให้จุดปกติถูกทำเครื่องหมายว่าผิดปกติ การตรวจสอบจุดที่ถูกทำเครื่องหมายด้วยสายตาช่วยปรับเทียบค่านี้ได้
ควรใช้ Isolation Forest แทนวิธีตรวจจับค่าผิดปกติแบบอื่นเมื่อใด
Isolation Forest ทำงานได้ดีเยี่ยมกับข้อมูลที่มีมิติสูง ชุดข้อมูลขนาดใหญ่ และกรณีที่ค่าผิดปกติแตกต่างจากภาพรวมอย่างชัดเจน ให้ใช้ LOF เมื่อความหนาแน่นเฉพาะถิ่นมีความสำคัญ คือค่าผิดปกติเมื่อเทียบกับย่านเพื่อนบ้านของตัวเอง ใช้วิธีทางสถิติ (Z-score, IQR) กับข้อมูลตัวแปรเดียวอย่างง่าย และใช้ DBSCAN เมื่อต้องการการแบ่งกลุ่มควบคู่ไปด้วย ความซับซ้อนระดับ O(n log n) ของ Isolation Forest ทำให้เป็นตัวเลือกที่ขยายขนาดได้ดีที่สุด