Phát hiện ngoại lai
Phát hiện bất thường trong dữ liệu số bằng Isolation Forest. Xác định các giá trị ngoại lai bằng thuật toán Isolation Forest. Các điểm dữ liệu có điểm bất…
Xác định các giá trị ngoại lai bằng thuật toán Isolation Forest. Các điểm dữ liệu có điểm bất thường cao được đánh dấu là bất thường tiềm năng dựa trên ngưỡng nhiễm.
Phát hiện ngoại lệ Isolation Forest là gì?
Isolation Forest là thuật toán học máy không giám sát dùng để phát hiện bất thường, dựa trên nguyên lý rằng các điểm ngoại lai luôn 'hiếm và khác biệt' — chúng dễ bị cô lập hơn so với các điểm bình thường. Khác với các phương pháp dựa trên khoảng cách, thuật toán này không tính khoảng cách hay mật độ, nhờ vậy rất hiệu quả với những tập dữ liệu lớn.
Thuật toán xây dựng một tổ hợp (ensemble) các cây cô lập ngẫu nhiên. Mỗi cây phân hoạch dữ liệu một cách đệ quy bằng cách chọn ngẫu nhiên một biến và một giá trị chia tách. Do hiếm gặp và khác biệt, các điểm bất thường chỉ cần ít lần chia tách để bị cô lập (độ dài đường đi từ gốc đến lá ngắn hơn). Các điểm bình thường, vốn tụ lại thành cụm, cần nhiều lần chia tách hơn.
Điểm bất thường được suy ra từ độ dài đường đi trung bình trên toàn bộ các cây, chuẩn hóa theo độ dài đường đi kỳ vọng ứng với kích thước tập dữ liệu. Giá trị gần 1 cho thấy điểm bất thường; giá trị gần 0.5 cho thấy điểm bình thường. Tham số contamination (tỷ lệ nhiễm bẩn kỳ vọng) ấn định tỷ lệ bất thường dự kiến, qua đó xác định ngưỡng điểm dùng để phân loại.
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
Ví dụ tính toán
100 điểm dữ liệu với contamination = 0.05 (kỳ vọng khoảng 5 điểm ngoại lai). Xây dựng 100 cây cô lập. Điểm A có độ dài đường đi trung bình 3.2 (bị cô lập nhanh → điểm bất thường 0.82 → bị đánh dấu). Điểm B có độ dài đường đi trung bình 8.7 (khó cô lập → điểm bất thường 0.45 → bình thường). 4 điểm vượt ngưỡng — được đánh dấu là bất thường.
Khi nào sử dụng máy tính này
- Trong đánh giá dữ liệu kiểm tra nhập hàng để gắn cờ phép đo bất thường có thể chỉ ra vấn đề chất lượng nhà cung cấp hoặc lỗi đo
- Khi làm sạch bộ dữ liệu trước phân tích thống kê — giá trị ngoại lai không phát hiện có thể nghiêm trọng làm méo trung bình, độ lệch chuẩn và chỉ số năng lực
- Trong SPC sản xuất lớn để phát hiện mẫu sản xuất bất thường mà biểu đồ kiểm soát tiêu chuẩn có thể bỏ sót trong dữ liệu đa biến
- Khi phân tích dữ liệu cảm biến hoặc IoT từ giám sát thiết bị để xác định dấu hiệu sớm xuống cấp máy hoặc trôi quy trình
- Trong kiểm toán chất lượng để tìm bất thường dữ liệu có thể chỉ ra lỗi ghi chép, trục trặc thiết bị kiểm tra hoặc sự cố quy trình
Những sai lầm thường gặp
- Tự động xóa tất cả bất thường được gắn cờ mà không điều tra — giá trị ngoại lai có thể đại diện sự kiện quy trình thực và quan trọng cần hành động khắc phục, không chỉ dọn dẹp dữ liệu
- Đặt tỷ lệ ô nhiễm quá cao, gắn cờ biến động bình thường là bất thường — bắt đầu bảo thủ (0.01-0.05) và chỉ tăng khi kiến thức chuyên môn gợi ý tỷ lệ bất thường cao hơn
- Sử dụng Isolation Forest trên bộ dữ liệu rất nhỏ (dưới 50 điểm) — thuật toán cần đủ dữ liệu để xây dựng cây cô lập có ý nghĩa; sử dụng phương pháp đơn giản hơn (Z-score, IQR) cho mẫu nhỏ
- Bỏ qua phân phối điểm bất thường — thay vì chỉ dựa vào phân loại nhị phân, kiểm tra phân phối điểm để hiểu gradient mức độ nghiêm trọng của bất thường phát hiện
Cách diễn giải kết quả
- Điểm bất thường gần 1.0 — điểm bị cô lập mạnh và rất có thể là bất thường thực; điều tra ngay
- Điểm bất thường 0.6-0.8 — điểm bất thường vừa phải; xem xét trong bối cảnh lĩnh vực để xác định có cần hành động
- Điểm bất thường khoảng 0.5 — điểm bình thường; nằm trong phân phối dữ liệu chính
- Tỷ lệ bất thường cao hơn đáng kể so với dự kiến — tham số ô nhiễm đặt quá cao hoặc quy trình có nhiều vấn đề hơn giả định
- Cụm bất thường tại giá trị đặc trưng tương tự — có thể đại diện tiểu quần thể riêng biệt thay vì giá trị ngoại lai ngẫu nhiên; điều tra nguyên nhân hệ thống
Tiêu chuẩn & Tài liệu tham khảo liên quan
- Liu, Ting & Zhou (2008), "Isolation Forest", IEEE ICDM — Bài báo gốc định nghĩa thuật toán và điểm bất thường được triển khai tại đây
- ISO 16269-4 — Diễn giải thống kê dữ liệu: phát hiện và xử lý ngoại lệ, tiêu chuẩn quốc tế định khung các quyết định xử lý ngoại lệ
- ASTM E178 — Thực hành chuẩn về xử lý các quan sát ngoại lai, bao gồm khi nào việc loại bỏ các điểm bị gắn cờ là hợp lý
- NIST/SEMATECH e-Handbook §1.3.5.17 — Các kiểm định ngoại lệ đơn biến cổ điển (Grubbs) hữu ích để kiểm tra chéo trên dữ liệu một đặc trưng
Câu hỏi thường gặp
Tôi nên đặt tham số contamination như thế nào?
Contamination là tỷ lệ bất thường kỳ vọng trong dữ liệu của bạn. Nếu đã biết tỷ lệ bất thường trong quá khứ (ví dụ tỷ lệ lỗi 2%), hãy dùng chính giá trị đó. Nếu chưa biết, hãy bắt đầu với 0.05-0.10 rồi điều chỉnh theo kinh nghiệm chuyên môn. Đặt quá thấp → bỏ sót bất thường thật; đặt quá cao → đánh dấu nhầm điểm bình thường thành bất thường. Việc xem xét trực quan các điểm bị đánh dấu giúp hiệu chỉnh giá trị này.
Khi nào nên dùng Isolation Forest thay vì các phương pháp phát hiện ngoại lai khác?
Isolation Forest phát huy hiệu quả với dữ liệu nhiều chiều, tập dữ liệu lớn và khi các điểm ngoại lai khác biệt trên phạm vi toàn cục. Hãy dùng LOF khi mật độ cục bộ mới là yếu tố quyết định (ngoại lai so với chính vùng lân cận của nó). Dùng các phương pháp thống kê (điểm Z, IQR) cho dữ liệu một biến đơn giản. Dùng DBSCAN khi bạn còn cần phân cụm. Độ phức tạp O(n log n) khiến Isolation Forest trở thành lựa chọn có khả năng mở rộng tốt nhất.