การตรวจจับค่าผิดปกติ

ตรวจจับความผิดปกติในข้อมูลตัวเลขด้วย 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 จุดที่เกินเกณฑ์ จึงถูกทำเครื่องหมายว่าเป็นจุดผิดปกติ

เมื่อใดควรใช้เครื่องคำนวณนี้

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

วิธีตีความผลลัพธ์

มาตรฐานและเอกสารอ้างอิงที่เกี่ยวข้อง

คำถามที่พบบ่อย

ควรตั้งค่าพารามิเตอร์สัดส่วนการปนเปื้อน (contamination) อย่างไร

สัดส่วนการปนเปื้อนคือสัดส่วนของความผิดปกติที่คาดว่ามีอยู่ในข้อมูลของคุณ หากทราบอัตราความผิดปกติในอดีต (เช่น อัตราของเสีย 2%) ให้ใช้ค่านั้น หากไม่ทราบ ให้เริ่มที่ 0.05-0.10 แล้วปรับตามความเชี่ยวชาญในสายงาน ค่าต่ำเกินไปจะทำให้พลาดความผิดปกติที่เกิดขึ้นจริง ค่าสูงเกินไปจะทำให้จุดปกติถูกทำเครื่องหมายว่าผิดปกติ การตรวจสอบจุดที่ถูกทำเครื่องหมายด้วยสายตาช่วยปรับเทียบค่านี้ได้

ควรใช้ Isolation Forest แทนวิธีตรวจจับค่าผิดปกติแบบอื่นเมื่อใด

Isolation Forest ทำงานได้ดีเยี่ยมกับข้อมูลที่มีมิติสูง ชุดข้อมูลขนาดใหญ่ และกรณีที่ค่าผิดปกติแตกต่างจากภาพรวมอย่างชัดเจน ให้ใช้ LOF เมื่อความหนาแน่นเฉพาะถิ่นมีความสำคัญ คือค่าผิดปกติเมื่อเทียบกับย่านเพื่อนบ้านของตัวเอง ใช้วิธีทางสถิติ (Z-score, IQR) กับข้อมูลตัวแปรเดียวอย่างง่าย และใช้ DBSCAN เมื่อต้องการการแบ่งกลุ่มควบคู่ไปด้วย ความซับซ้อนระดับ O(n log n) ของ Isolation Forest ทำให้เป็นตัวเลือกที่ขยายขนาดได้ดีที่สุด