Phát hiện bất thường LOF

Phát hiện bất thường bằng Local Outlier Factor. Sử dụng Local Outlier Factor (LOF) để đo độ lệch mật độ cục bộ của các điểm dữ liệu so với các lân cận. Các…

Sử dụng Local Outlier Factor (LOF) để đo độ lệch mật độ cục bộ của các điểm dữ liệu so với các lân cận. Các điểm có mật độ thấp hơn đáng kể được phân loại là bất thường.

LOF (Hệ số ngoại lệ cục bộ) là gì?

Local Outlier Factor (LOF) là thuật toán phát hiện bất thường dựa trên mật độ, nhận diện điểm ngoại lai bằng cách so sánh mật độ cục bộ của một điểm với mật độ của các điểm lân cận. Khác với các phương pháp toàn cục, LOF có thể phát hiện ngoại lai trong tập dữ liệu gồm nhiều cụm có mật độ khác nhau — một điểm có thể là bình thường trong cụm thưa nhưng lại bất thường khi nằm cạnh cụm dày đặc.

Thuật toán tính khoảng cách khả đạt và mật độ khả đạt cục bộ (LRD) cho từng điểm dựa trên k điểm lân cận gần nhất. Điểm LOF là tỷ số giữa LRD của một điểm và LRD trung bình của các điểm lân cận. LOF ≈ 1 nghĩa là mật độ tương đương với lân cận (bình thường); LOF >> 1 nghĩa là mật độ thấp hơn nhiều (bất thường).

Số điểm lân cận (k) chi phối tính cục bộ: k nhỏ tập trung vào cấu trúc rất cục bộ, k lớn làm mượt kết quả trên vùng lân cận rộng hơn. Tỷ lệ contamination quyết định phần số điểm được phân loại là bất thường dựa trên thứ hạng của điểm 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

Ví dụ tính toán

Với k=5 điểm lân cận: Điểm P₁ nằm trong cụm dày đặc có LRD=10, còn 5 điểm lân cận của nó có LRD trung bình 9.5. LOF = 9.5/10 = 0.95 (bình thường). Điểm P₂ nằm gần rìa cụm có LRD=2, các điểm lân cận có LRD trung bình 8. LOF = 8/2 = 4.0 (ngoại lai rõ rệt). Với contamination=0.05, 5% số điểm có điểm LOF cao nhất sẽ bị đánh dấu.

Khi nào sử dụng máy tính này

Những sai lầm thường gặp

Cách diễn giải kết quả

Tiêu chuẩn & Tài liệu tham khảo liên quan

Câu hỏi thường gặp

Tôi nên chọn số điểm lân cận (k) như thế nào?

Hãy bắt đầu với k=20 như một giá trị mặc định hợp lý. k nhỏ (5-10) phát hiện được các bất thường rất cục bộ nhưng nhạy với nhiễu. k lớn (từ 50 trở lên) cho kết quả mượt hơn nhưng có thể bỏ sót các bất thường mang tính cục bộ. Cách làm thực tế: thử nhiều giá trị k và kiểm tra xem cùng những điểm đó có bị đánh dấu một cách nhất quán hay không — điểm ngoại lai bền vững qua nhiều giá trị k nhiều khả năng là bất thường thật.

Khi nào nên dùng LOF thay cho Isolation Forest?

Hãy dùng LOF khi dữ liệu của bạn có các cụm với mật độ khác nhau, vì LOF đánh giá từng điểm trong tương quan với vùng lân cận cục bộ của nó. Một điểm nằm xa cụm dày đặc nhưng lại gần một cụm thưa vẫn có thể là bình thường — LOF xử lý đúng tình huống này, trong khi các phương pháp toàn cục có thể đánh dấu nhầm. Hãy dùng Isolation Forest cho dữ liệu nhiều chiều hoặc tập dữ liệu rất lớn, nơi độ phức tạp O(n²) của LOF trở nên quá tốn kém.