Không. Câu hỏi đầu tiên phải là: ngoại lai này là lỗi dữ liệu hay là hiện tượng thật hiếm gặp.
age = 200,price = -1: lỗi nhập liệu hoặc lỗi đơn vị → sửa hoặc loại.- Giao dịch 5 tỷ trong tập phát hiện gian lận: đây chính là thứ cần dự đoán, loại đi là xoá mất tín hiệu.
Phát hiện:
- Một chiều: IQR (ngoài Q1 - 1.5·IQR đến Q3 + 1.5·IQR), z-score (chỉ đúng khi dữ liệu gần chuẩn), phân vị 1%/99%.
- Nhiều chiều: IsolationForest, LocalOutlierFactor — bắt được điểm mà từng chiều đều bình thường nhưng tổ hợp thì bất thường.
- Trực quan: boxplot, scatter, biểu đồ phần dư sau khi fit mô hình.
Xử lý:
| Cách | Khi nào |
|---|---|
| Sửa lại giá trị | Xác định được là lỗi nhập, có nguồn đối chiếu |
| Loại bản ghi | Chắc chắn là lỗi và số lượng nhỏ |
| Winsorize (chặn ở phân vị) | Muốn giữ bản ghi, chỉ hạn chế ảnh hưởng của đuôi |
| Biến đổi log / căn bậc hai | Phân phối lệch phải mạnh (thu nhập, doanh số) |
| Rời rạc hoá thành khoảng | Muốn mô hình chỉ dùng thứ bậc, bỏ độ lớn |
| Giữ nguyên | Mô hình dựa trên cây, hoặc ngoại lai chính là nhãn cần bắt |
Độ nhạy khác nhau theo mô hình: hồi quy tuyến tính với MSE rất nhạy vì bình phương sai số; cây quyết định gần như không quan tâm. Nếu buộc phải giữ ngoại lai trong bài toán hồi quy, dùng hàm mất mát bền vững (Huber) hoặc MAE thay cho MSE, và RobustScaler thay StandardScaler.
Quan trọng nhất: ngưỡng loại ngoại lai phải xác định trên tập train và áp lại cho tập test, không được nhìn toàn bộ dữ liệu để đặt ngưỡng.