Chuc1803@gmail.com
Trong quá trình thu thập,
phân tích dữ liệu, ta thường gặp các quan sát mà giá trị của nó rất khác biệt
so với giá trị của các quan sát khác, đây gọi là các bất thường (hay ngoại lai
– Outlier).
Outlier
là gì?
Outlier là các giá trị cực
(extreme values) so với các giá trị khác được quan sát trong cùng một điều kiện.
Outlier có thể là một giá trị đơn lẻ, nhưng cũng có thể là giá trị từ hai hay
nhiều biến số. (Outliers are observations that have extreme values relative to
other observations observed under the same conditions. Observations may be
outliers because of a single large or small value of one variable or because of
an unusual combination of values of two or more variables)
Vấn đề ở đây là thế nào
là “giá trị cực” hay outlier? Đây là câu hỏi khó trả lời và thường phụ thuộc
vào yêu cầu phân tích của bài toán đặt ra.
Phát hiện outlier có rất nhiều ý
nghĩa và ứng dụng trong rất nhiều lĩnh vực như phát hiện gian lận trong giao dịch
tài chính, viễn thông…; phân tích hành vi khách hàng, người tiêu dùng; phát hiện
bệnh tật (các bất thường thường được quan tâm trong y học vì có khả năng bị bệnh
cao);…
Một
số cách phát hiện bất thường
Có rất nhiều cách để phát
hiện bất thường trong dữ liệu tùy thuộc vào dữ liệu nguồn, yêu cầu phân tích của
bài toán đặt ra hay kinh nghiệm của người phân tích.
Dựa
vào phân phối chuẩn (nếu dữ liệu tuân theo luật phân phối chuẩn):
Ta biết rằng nếu biến số
X tuân theo luật phân phối chuẩn với trung bình m và độ lệch chuẩn s thì 99%
các giá trị của X phải nằm trong khoảng m – 3*s đến m + 3*s. Do đó, nếu có xi
nào có giá trị nằm ngoài khoảng này thì có thể nghi ngờ là outlier
Dựa
vào đồ thị (histogram, scatter, Plot box…)
Dựa
vào các kỹ thuật phân cụm (clustering technique)
Dựa
vào phương pháp mật độ (Density-based Approaches)
Khi
phát hiện các outlier trong dữ liệu thì
xử lý như thế nào?
Có rất nhiều cách để xử
lý outlier khi phát hiện, mỗi cách có ưu và nhược điểm riêng. Việc chọn cách
nào tùy thuộc vào yêu cầu phân tích dữ liệu của bài toán đặt ra.
Sau đây là một số cách xử
lý outliers:
·
Delete
rows containing outlier: Xóa dòng dữ liệu chứa outlier ra khỏi
dữ liệu phân tích. Việc này sẽ làm mất một số thông tin trên các cột khác nếu
các cột này cần cho phân tích.
·
Change
value to mean: Các giá trị outlier sẽ được thay bằng giá
trị trung bình
·
Change
value to null: Xóa giá trị oulier đặt lại là null
(empty)
·
Change value to specific value: Đổi
outlier thành một giá trị cụ thể (do người phân tích, chuyên gia đề xuất)
Giới
thiệu công cụ xử lý outlier
Phần này giới thiếu công
cụ Data mining của Microsoft add-ins trong Excel để phát hiện và xử lý outlier
rất nhanh chóng và thuận tiện.
Chọn
vùng dữ liệu, và chọn cột cần phát hiện outlier
Trong
ví dụ này chọn cột thu nhập hằng tháng (Yearly Income) cần phân tích
Chọn cách thức xử lý khi
phát hiện outlier. Ở đây chọn là thay thế outlier bằng giá trị trung bình
Trong ví dụ này tất cả những
người có thu nhập hằng tháng trên 150000 được xem là các outliers và được thay
thế bằng giá trị trung bình thu nhập của các quan sát khác.
Chọn thêm cột mới vào dữ
liệu nguồn (worksheet đang làm việc), copy dữ liệu đã xử lý outlier ra sheet
khác hoặc thay thế trực tiếp lên dữ liệu đang thao tác (không nên chọn vì sẽ mất
dữ liệu gốc). Trong ví dụ này chọn thêm cột mới
Kết
quả sau khi xử lý outlier