You are on page 1of 24

Khoa học dữ liệu

Bài 7 - Phát hiện bất


thường
1
BÀI TOÁN PHÁT HIỆN
BẤT THƯỜNG
Anomaly detection

2
BÀI TOÁN PHÁT HIỆN BẤT THƯỜNG

▰ Dữ liệu bất thường


▻ Tách biệt khỏi các dữ liệu khác
▰ Nguyên nhân
▻ Lỗi nhập liệu, đo đạc
▻ Bản chất của quá trình sinh dữ liệu
▰ Ứng dụng phát hiện bất thường
▻ Phát hiện hành vi xấu
▻ Marketting
▻ Phân tích y tế / y dược 3
BÀI TOÁN PHÁT HIỆN BẤT THƯỜNG

▰ Bài toán: Cho n điểm dữ liệu, tìm k điểm Chiều cao và Cân nặng
bất thường nhất
▰ Cần định nghĩa "bất thường":
▻ VD: Phần dư trong mô hình hồi quy lớn
▰ Các hướng tiếp cận:
▻ Dựa vào thống kê
▻ Dựa vào khoảng cách
▻ Dựa vào mật độ 4
PHÁT HIỆN BẤT THƯỜNG BẰNG THỐNG KÊ

▰ Dữ liệu: Các dữ liệu (x1, x2, ..., xn)


▰ Giả sử dữ liệu theo phân bố chuẩn
▻ Tính kỳ vọng và phương sai
▻ Tính thống kê (z-score) Ti
▻ Bất thường: T < -2 hoặc T > +2
▻ Độ tin cậy: 95%
5
PHÁT HIỆN BẤT THƯỜNG BẰNG THỐNG KÊ
Chiều cao và Cân nặng

▰ Đưa dữ liệu về phân bố chuẩn


▰ Ví dụ: sử dụng mô hình hồi quy
a. Xác định (huấn luyện) mô hình hồi quy
b. Tính toán các phần dư (residuals) của dữ liệu
c. Các phần dư theo phân bố chuẩn
i. nếu mô hình hồi quy đúng
d. Tính kì vọng, phương sai của ri
e. Tính thống kê Ti của các mẫu dữ liệu ri
6
PHÁT HIỆN BẤT THƯỜNG BẰNG THỐNG KÊ
Chiều cao và Cân nặng

▰ Ưu điểm
a. Nhanh, tính toán đơn giản
b. Có cơ sở lý thuyết xác suất thống kê
▰ Nhược điểm
a. Thường chỉ kiểm tra các đặc trưng đơn lẻ (1 cột của bảng)
b. Không phải lúc nào cũng có phân bố của dữ liệu

7
PHÁT HIỆN BẤT THƯỜNG BẰNG KHOẢNG CÁCH

▰ Dữ liệu: Các dữ liệu (x1, x2, ..., xn)


▰ Cho p ∈ [0,1] và Dmin > 0
▻ xi bất thường
Có nhiều hơn p x n điểm có khoảng cách tới xi lớn hơn Dmin
▻ Hay: xi có quá ít điểm "lân cận"
Có ít hơn M = (1-p) x n điểm trong khoảng cách Dmin
8
PHÁT HIỆN BẤT THƯỜNG BẰNG KHOẢNG CÁCH

▰ Tăng tốc độ tính toán


▻ Sử dụng các cấu trúc tìm kiếm không gian
▻ Cây k-d (k-d tree), cây bóng (ball tree)
▻ Tìm các điểm gần xi (khoảng cách nhỏ hơn Dmin)
▻ Nếu có ít nhất M điểm thì "bình thường"
9
PHÁT HIỆN BẤT THƯỜNG BẰNG MẬT ĐỘ

▰ Dữ liệu: Các dữ liệu (x1, x2, ..., xn)


▰ Xây dựng mô hình xác suất của dữ liệu
▻ Ước lượng mật độ
▻ Ví dụ: mô hình Gaussian, mô hình
trộn Gaussian, 1-class SVM
▰ Bất thường: xi có mật độ thấp
10
MÔ HÌNH GAUSSIAN from sklearn.mixture
import
GaussianMixture

▰ Dữ liệu: Các dữ liệu (x1, x2, ..., xn)


▰ Xây dựng mô hình xác suất của dữ liệu

▰ Sử dụng tập kiểm thử để xác định


ngưỡng xác suất 11
2
PHÁT HIỆN BẤT THƯỜNG
TRÊN CHUỖI THỜI GIAN
Anomaly detection in time series

12
CHUỖI THỜI GIAN

▰ Dữ liệu: Các dữ liệu (x1, x2, ..., xt, ..., xT)


▰ Tại thời điểm t, chỉ có dữ liệu (x1, x2, ..., xt)
▰ Ứng dụng
▻ Dự đoán: giá cả, thời tiết, lượng tiêu thụ
▻ Bất thường: hành vi xấu, tấn công mạng

13
PHÂN TÍCH CHUỖI THỜI GIAN: ĐỒ THỊ

▰ Sử dụng đồ thị
▻ Vẽ một hoặc nhiều chuỗi
thời gian
▻ Quan sát xu hướng
▻ Quan sát các thời điểm cần
khảo sát kỹ
14
PHÂN TÍCH CHUỖI THỜI GIAN: MÔ HÌNH DỰ ĐOÁN

▰ Xây dựng mô hình dự đoán


▻ Tín hiệu xt từ các tín hiệu
trước đó (nếu bình thường)
▻ xt = f(x1, ..., xt-1)
▻ xt = f(xt-h, ..., xt-1) (h: cửa sổ)
▰ Bất thường: xt lệch xa khỏi f(xt-h, ..., xt-1) 15
PHÂN TÍCH CHUỖI THỜI GIAN: MÔ HÌNH DỰ ĐOÁN

▰ Mô hình tuyến tính


▻ Trung bình chuyển động

▻ Hồi quy tuyến tính

16
GIÁ TRỊ TRUNG BÌNH

▰ Dự đoán tín hiệu tiếp theo bằng giá trị trung


bình của các tín hiệu trước đó

▰ Phần dư

▰ Kiểm tra

17
GIÁ TRỊ TRUNG BÌNH

▰ Lựa chọn ngưỡng quá cao


▻ Không phát hiện được bất thường
▰ Lựa chọn ngưỡng quá thấp
▻ Dễ “báo động giả”

18
GIÁ TRỊ TRUNG BÌNH

▰ Lựa chọn ngưỡng quá cao


▻ Không phát hiện được bất thường
▰ Lựa chọn ngưỡng quá thấp
▻ Dễ “báo động giả”

19
GIÁ TRỊ TRUNG BÌNH VÀ PHƯƠNG SAI

▰ Có thể tính toán “trực tuyến”


▻ Không cần lưu trữ các giá trị phía
trước

20
PHÁT HIỆN BẤT THƯỜNG BẰNG Z-Score

▰ Tính giá trị trung bình


▰ Tính giá trị phương sai
▰ Tính giá trị trung bình chuyển động

▰ Tính Z-score

21
PHÁT HIỆN BẤT THƯỜNG BẰNG Z-Score

▰ Tính Z-score

▰ Bất thường |Tt| > 2

▰ Độ tin cậy 95%

22
PHÁT HIỆN BẤT THƯỜNG QUA PHÂN CỤM

▰ Cắt các chuỗi tín hiệu bình thường thành các đoạn
▻ Cửa sổ có độ dài cố định bằng h
▰ Sử dụng k-means phân cụm
▰ Một tín hiệu bất kì
▻ Tách thành nhiều đoạn độ dài h
▻ Chuyển các đoạn thành tâm cụm gần nhất
23
PHÁT HIỆN BẤT THƯỜNG QUA PHÂN CỤM

▰ Một chuỗi tín hiệu bất kì


▻ Tách thành nhiều đoạn độ dài h
▻ Khôi phục lại bằng tâm cụm gần nhất
▰ Tính trung bình bình phương sai số giữa chuỗi tín hiệu gốc
và chuỗi tín hiệu khôi phục
▻ Bất thường: sai số lớn
24

You might also like