การตรวจจับความผิดปกติ LOF
ตรวจจับความผิดปกติด้วย Local Outlier Factor. ใช้ Local Outlier Factor (LOF) วัดค่าเบี่ยงเบนความหนาแน่นเฉพาะที่ของจุดข้อมูลเทียบกับเพื่อนบ้าน…
ใช้ Local Outlier Factor (LOF) วัดค่าเบี่ยงเบนความหนาแน่นเฉพาะที่ของจุดข้อมูลเทียบกับเพื่อนบ้าน จุดที่มีความหนาแน่นต่ำกว่าอย่างมีนัยสำคัญจะถูกจัดเป็นความผิดปกติ
Local Outlier Factor (LOF) คืออะไร?
Local Outlier Factor (LOF) คืออัลกอริทึมตรวจจับความผิดปกติที่อิงความหนาแน่น โดยระบุค่าผิดปกติจากการเปรียบเทียบความหนาแน่นเฉพาะถิ่นของจุดหนึ่งกับความหนาแน่นของจุดเพื่อนบ้าน ต่างจากวิธีที่มองภาพรวมทั้งชุดข้อมูล LOF สามารถตรวจจับค่าผิดปกติในชุดข้อมูลที่มีกลุ่มความหนาแน่นแตกต่างกันได้ จุดหนึ่งอาจเป็นจุดปกติเมื่ออยู่ในกลุ่มที่กระจายตัวห่าง แต่กลับผิดปกติเมื่ออยู่ใกล้กลุ่มที่หนาแน่น
อัลกอริทึมคำนวณระยะทางเข้าถึงได้และความหนาแน่นเข้าถึงได้เฉพาะถิ่น (LRD) ของแต่ละจุดจากเพื่อนบ้านใกล้สุด k ตัว คะแนน LOF คืออัตราส่วนระหว่าง LRD ของจุดนั้นกับค่าเฉลี่ย LRD ของเพื่อนบ้าน หาก LOF ≈ 1 หมายความว่ามีความหนาแน่นใกล้เคียงกับเพื่อนบ้าน คือเป็นจุดปกติ หาก LOF >> 1 หมายความว่ามีความหนาแน่นต่ำกว่ามาก คือเป็นจุดผิดปกติ
จำนวนเพื่อนบ้าน (k) ควบคุมขอบเขตความเป็นเฉพาะถิ่น ค่า k น้อยจะเน้นโครงสร้างเฉพาะถิ่นอย่างมาก ส่วนค่า k มากจะเกลี่ยภาพรวมของย่านที่กว้างขึ้น ส่วนอัตราส่วนสัดส่วนการปนเปื้อนกำหนดสัดส่วนของจุดที่จะถูกจำแนกว่าผิดปกติตามลำดับคะแนน LOF
Formula: reach-dist(A,B) = max(k-dist(B), dist(A,B)) LRD(A) = 1 / (Σ reach-dist(A,Oᵢ) / k) LOF(A) = (Σ LRD(Oᵢ) / LRD(A)) / k LOF ≈ 1: normal, LOF >> 1: outlier
ตัวอย่างการคำนวณ
กรณีใช้เพื่อนบ้าน k=5 จุด P₁ ที่อยู่ในกลุ่มหนาแน่นมี LRD=10 ขณะที่เพื่อนบ้าน 5 ตัวมีค่าเฉลี่ย LRD=9.5 ได้ LOF = 9.5/10 = 0.95 (ปกติ) ส่วนจุด P₂ ที่อยู่ใกล้ขอบกลุ่มมี LRD=2 และเพื่อนบ้านมีค่าเฉลี่ย LRD=8 ได้ LOF = 8/2 = 4.0 (เป็นค่าผิดปกติอย่างชัดเจน) เมื่อตั้ง contamination=0.05 จุดที่มีคะแนน LOF สูงสุด 5% แรกจะถูกทำเครื่องหมาย
เมื่อใดควรใช้เครื่องคำนวณนี้
- เมื่อข้อมูลมีกลุ่มที่มีความหนาแน่นแตกต่างกัน — LOF ตรวจจับข้อมูลผิดปกติเฉพาะที่ซึ่งวิธีทั่วไปเช่น Z-score หรือ Isolation Forest จะพลาด
- ระหว่างการตรวจสอบคุณภาพหลายตัวแปรเมื่อการวัดจากสถานีทดสอบต่างๆ ก่อกลุ่มธรรมชาติที่มีการกระจายต่างกัน
- เมื่อวิเคราะห์ข้อมูลการสั่นสะเทือนหรือเซ็นเซอร์ของอุปกรณ์ที่โหมดการทำงานปกติมีรูปแบบและความหนาแน่นลักษณะต่างกัน
- เมื่อผลลัพธ์ตรวจจับ outlier จาก Isolation Forest ดูเหมือนพลาดข้อมูลผิดปกติใกล้กลุ่มหนาแน่น — วิธีตามความหนาแน่นของ LOF จัดการกรณีนี้
- ระหว่างการแก้ไขปัญหากระบวนการเพื่อระบุจุดข้อมูลที่ผิดปกติเมื่อเทียบกับเพื่อนบ้านในพื้นที่ แม้จะอยู่ในช่วงทั่วไป
ข้อผิดพลาดที่พบบ่อยที่ควรหลีกเลี่ยง
- ตั้งค่า k (เพื่อนบ้าน) น้อยเกินไปทำให้ไวต่อ noise — ค่า k น้อยมากทำให้อัลกอริทึมไม่เสถียร เริ่มด้วย k=20 และปรับตามผลลัพธ์
- ใช้ LOF กับข้อมูลหลายมิติสูงมาก — LOF อาศัยตัวชี้วัดระยะทางที่มีความหมายน้อยลงในมิติสูง (curse of dimensionality) พิจารณาลดมิติก่อน
- ถือว่าจุดทุกจุดที่มี LOF > 1 เป็นข้อมูลผิดปกติ — LOF > 1 หมายถึงความหนาแน่นต่ำกว่าเพื่อนบ้านเล็กน้อย ใช้เกณฑ์ contamination หรือ LOF cutoff ที่มีความหมาย (เช่น LOF > 2)
- ไม่ปรับขนาด feature ก่อนใช้ LOF — feature ที่มีช่วงตัวเลขใหญ่กว่าครอบงำการคำนวณระยะทาง ทำให้ feature ทั้งหมดเป็นมาตรฐานเป็นค่าเฉลี่ยศูนย์และความแปรผันหน่วย
วิธีตีความผลลัพธ์
- LOF ≈ 1.0 — จุดมีความหนาแน่นคล้ายกับเพื่อนบ้าน เป็นสมาชิกปกติของกลุ่มในพื้นที่
- LOF 1.5-3.0 — จุดอยู่ในพื้นที่ที่มีความหนาแน่นน้อยกว่าเมื่อเทียบกับเพื่อนบ้าน อาจอยู่ที่ขอบกลุ่มหรือเป็น outlier เล็กน้อย
- LOF > 3.0 — จุดมีความหนาแน่นต่ำกว่าเพื่อนบ้านมาก เป็น outlier เฉพาะที่ที่แข็งแกร่งและควรตรวจสอบ
- LOF < 1.0 — จุดอยู่ในพื้นที่ที่มีความหนาแน่นมากกว่าเพื่อนบ้าน เป็นเรื่องปกติสำหรับจุดที่อยู่ศูนย์กลางของกลุ่มที่แน่น
- หากหลายจุดมีคะแนน LOF สูง ข้อมูลอาจไม่มีกลุ่มที่กำหนดชัดเจน — พิจารณาว่า LOF เป็นวิธีที่เหมาะสมสำหรับชุดข้อมูลนี้หรือไม่
มาตรฐานและเอกสารอ้างอิงที่เกี่ยวข้อง
- Breunig, Kriegel, Ng & Sander (2000), "LOF: Identifying Density-Based Local Outliers", ACM SIGMOD — บทความต้นฉบับที่นิยามคะแนน LOF ที่คำนวณที่นี่
- ISO 16269-4 — การตีความข้อมูลเชิงสถิติ: การตรวจจับและการจัดการค่าผิดปกติ มาตรฐานที่กำกับวิธีจัดการค่าสังเกตที่ถูกทำเครื่องหมาย
- ASTM E178 — แนวปฏิบัติมาตรฐานสำหรับการจัดการค่าสังเกตที่ผิดปกติ ส่วนเสริมคลาสสิกสำหรับการตัดสินใจค่าผิดปกติตัวแปรเดียว
- Aggarwal, Outlier Analysis (Springer) — เอกสารอ้างอิงที่ครอบคลุม เปรียบเทียบวิธีอิงความหนาแน่นอย่าง LOF กับทางเลือกแบบอิงการแยกและอิงระยะทาง
คำถามที่พบบ่อย
ควรเลือกจำนวนเพื่อนบ้าน (k) อย่างไร
ให้เริ่มที่ k=20 ซึ่งเป็นค่าตั้งต้นที่สมเหตุสมผล ค่า k ที่น้อยกว่า (5-10) ตรวจจับความผิดปกติเฉพาะถิ่นได้ดีมากแต่ไวต่อสัญญาณรบกวน ส่วนค่า k ที่มากกว่า (50 ขึ้นไป) ให้ผลลัพธ์ที่ราบเรียบกว่าแต่อาจพลาดความผิดปกติเฉพาะจุด แนวทางที่ใช้ได้จริงคือ ทดลองค่า k หลายค่าแล้วตรวจดูว่าจุดเดิมถูกทำเครื่องหมายซ้ำอย่างสม่ำเสมอหรือไม่ ค่าผิดปกติที่ยังคงปรากฏข้ามค่า k ต่างกันมีแนวโน้มเป็นความผิดปกติจริงมากกว่า
ควรใช้ LOF แทน Isolation Forest เมื่อใด
ให้ใช้ LOF เมื่อข้อมูลของคุณมีกลุ่มที่มีความหนาแน่นแตกต่างกัน เพราะ LOF ประเมินแต่ละจุดโดยเทียบกับย่านเพื่อนบ้านเฉพาะถิ่นของจุดนั้น จุดที่อยู่ห่างจากกลุ่มหนาแน่นแต่อยู่ใกล้กลุ่มที่กระจายตัวห่างอาจเป็นจุดปกติ ซึ่ง LOF จัดการกรณีนี้ได้ถูกต้อง ขณะที่วิธีที่มองภาพรวมอาจทำเครื่องหมายว่าผิดปกติ ให้ใช้ Isolation Forest กับข้อมูลมิติสูงหรือชุดข้อมูลขนาดใหญ่มาก ซึ่งความซับซ้อนระดับ O(n²) ของ LOF จะกลายเป็นภาระที่รับไม่ไหว