การตรวจจับความผิดปกติ 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% แรกจะถูกทำเครื่องหมาย

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

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

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

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

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

ควรเลือกจำนวนเพื่อนบ้าน (k) อย่างไร

ให้เริ่มที่ k=20 ซึ่งเป็นค่าตั้งต้นที่สมเหตุสมผล ค่า k ที่น้อยกว่า (5-10) ตรวจจับความผิดปกติเฉพาะถิ่นได้ดีมากแต่ไวต่อสัญญาณรบกวน ส่วนค่า k ที่มากกว่า (50 ขึ้นไป) ให้ผลลัพธ์ที่ราบเรียบกว่าแต่อาจพลาดความผิดปกติเฉพาะจุด แนวทางที่ใช้ได้จริงคือ ทดลองค่า k หลายค่าแล้วตรวจดูว่าจุดเดิมถูกทำเครื่องหมายซ้ำอย่างสม่ำเสมอหรือไม่ ค่าผิดปกติที่ยังคงปรากฏข้ามค่า k ต่างกันมีแนวโน้มเป็นความผิดปกติจริงมากกว่า

ควรใช้ LOF แทน Isolation Forest เมื่อใด

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