NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu so sánh hiệu quả của hai phương pháp rời rạc hóa SAX và ESAX khi áp dụng vào giải thuật phát hiện motif trên dữ liệu chuỗi thời gian .... Đề tài này tìm
Trang 1-
VŨ THỊ THÁI LINH
PHÁT HIỆN MOTIF TRÊN DỮ LIỆU CHUỖI THỜI GIAN
DỰA VÀO PHÉP BIẾN ĐỔI ESAX
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ: 60.48.01
LUẬN VĂN THẠC SỸ
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA -
VŨ THỊ THÁI LINH
PHÁT HIỆN MOTIF TRÊN DỮ LIỆU CHUỖI THỜI GIAN
DỰA VÀO PHÉP BIẾN ĐỔI ESAX
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ: 60.48.01
LUẬN VĂN THẠC SĨ
HƯỚNG DẪN KHOA HỌC: PGS
Trang 3CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG TP HCM
Cán bộ hướng dẫn khoa học: PGS TS Dương Tuấn Anh
Cán bộ chấm nhận xét 1:
Cán bộ chấm nhận xét 2:
Luận văn thạc sĩ được bảo vệ tại: Trường đại học Bách Khoa – ĐHQG TP.HCM, ngày………tháng………năm………
Thành phần hội đồng đánh giá luận văn thạc sỹ gồm: 1
2
3
4
5
Xác nhận của chủ tịch hội đồng đánh giá luận văn và Trưởng khoa quản lý chuyên ngành sau khi luận văn đã được sữa chữa (nếu có)
Trang 4ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: VŨ THỊ THÁI LINH MSHV: 12070516
Ngày, tháng, năm sinh: 12/02/1982 Nơi sinh:TP.HCM
Chuyên ngành: Khoa học máy tính Mã số : 60.48.01
I TÊN ĐỀ TÀI: Phát hiện motif trên dữ liệu chuỗi thời gian dựa vào phép biến đổi ESAX
II NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu so sánh hiệu quả của hai phương pháp rời rạc hóa SAX và ESAX khi áp dụng vào giải thuật phát hiện motif trên dữ liệu chuỗi thời gian
III NGÀY GIAO NHIỆM VỤ :
IV NGÀY HOÀN THÀNH NHIỆM VỤ :
V CÁN BỘ HƯỚNG DẪN : PGS TS Dương Tuấn Anh
Tp HCM, ngày tháng năm 20
CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)
CHỦ NHIỆM BỘ MÔN ĐÀO TẠO
(Họ tên và chữ ký)
PGS TS Dương Tuấn Anh
TRƯỞNG KHOA
(Họ tên và chữ ký)
Trang 5LỜI CẢM ƠN
Trước tiên tôi xin gửi lời cảm ơn sâu sắc và chân thành đến PGS.TS Dương Tuấn Anh, người thầy đã tận tình chỉ bảo tôi trong suốt quá trình thực hiện luận văn cao học và tạo mọi điều kiện tốt nhất để tôi có thể hoàn thành luận văn này
Tôi cũng xin cảm ơn quý thầy cô đã trực tiếp và gián tiếp truyền đạt các kiến thức cần thiết trong quá trình học tập tại trường
Tôi cũng xin cảm ơn gia đình, bạn bè đã động viên và tạo mọi điều kiện thuận lợi để tôi có thể tiếp tục theo đuổi việc học tập và nghiên cứu
Một lần nữa chân thành cảm ơn tất cả mọi người
Trang 6TÓM TẮT LUẬN VĂN
Biểu diễn dữ liệu chuỗi thời gian ngày càng đóng vai trò quan trọng trong các bài toán khai phá dữ liệu chuỗi thời gian Hiện nay dữ liệu chuỗi thời gian là rất lớn, các lĩnh vực ứng dụng của nó ngày càng phát triển nên một phương pháp biểu diễn chuỗi thời gian hợp lý cho từng loại dữ liệu cũng như từng loại ứng dụng cụ thể nhằm cải thiện tốc độ cũng như độ chính xác khi hoàn thành bài toán là một đòi hỏi cần thiết
Đề tài này tìm hiểu phương pháp rời rạc hóa dữ liệu ESAX (phương pháp
xấp xỉ gộp ký hiệu hóa mở rộng), so sánh mức hiệu dụng của hai phép rời rạc hoá
dữ liệu SAX (phương pháp xấp xỉ gộp ký hiệu hoá) khi áp dụng vào bài toán phát
hiện motif và tận dụng tính tìm kiếm chính xác của phương pháp ESAX (một ưu thế
mà phương pháp SAX không có được) để rút ngắn thời gian trong việc phát hiện chuỗi con motif Sau đó đề xuất một cách ứng dụng phương pháp ESAX vào giải thuật Random Projection để phát hiện motif
Thực nghiệm so sánh, chúng tôi nhận thấy phương pháp đề xuất phát hiện
motif trên phép biến đổi ESAX chính xác giải thuật Random Projection trên phép
biến đổi SAX với thời gian thực thi tương đương
Trang 7ABSTRACT
The representation of time series plays more and more important role in time series data mining problems Since time series data have very big size, with many growing applications of time series data, it is necessary to have a suitable representation method for each kind of datasets and each kind of application which aims to improve the speed and the accuracy of the data mining solutions
This thesis studies ESAX (Extended SAX) then applies this representation to motif discovery problem After that, we compare the efficiency of ESAX and SAX
on the algorithm to discover motif We take advantage of desirable feature of ESAX (which SAX does not have) to shorten CPU time used for finding motif by using Random Projection Algorithm with ESAX representation
The experimental results show that the proposed algorithm has the accuracy than the Random Projection algorithm on SAX representation in motif discovery problem while the execution time is equivalent
Trang 8LỜI CAM ĐOAN
Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như đã ghi rõ trong luận văn, các công việc trình bày trong luận văn là do chính tôi thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy một bằng cấp ở trường này hoặc trường khác
Ngày……….tháng…………năm……
Vũ Thị Thái Linh
Trang 9MỤC LỤC
LỜI CẢM ƠN i
TÓM TẮT LUẬN VĂN ii
ABSTRACT iii
LỜI CAM ĐOAN iv
CHƯƠNG 1: PHÁT BIỂU VẤN ĐỀ 1
1.1 Dữ liệu chuỗi thời gian 1
1.2 Khai phá motif trong chuỗi dữ liệu thời gian 3
1.3 Mục tiêu và giới hạn của đề tài 5
1.4 Những kết quả đạt được 6
1.5 Cấu trúc của luận văn 7
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 8
2.1 Một số khái niệm cơ bản 8
2.1.1 Chuỗi con (Subsequence) 8
2.1.2 Cửa sổ trượt (Slide window) 9
2.1.3 Trùng khớp (Match) 9
2.1.4 Trùng khớp không tầm thường (Non-Self Match) 9
2.1.5 K-motif 9
2.2 Các công trình về độ đo tương tự 10
2.2.1 Độ đo Minkowski 10
2.2.2 Độ đo xoắn thời gian động (Dynamic Time Warping- DTW) 11
2.3 Các công trình về biểu diễn chuỗi thời gian 14
2.3.1 Phép biến đổi Fourier rời rạc DFT 14
2.3.2 Phép biến đổi Wavelet rời rạc DWT 16
2.3.3 Phép xấp xỉ gộp từng đoạn PAA 17
Trang 102.3.4 Phép xấp xỉ gộp từng đoạn mở rộng EPAA (Extended PAA) 18
2.3.5 Phép xấp xỉ gộp ký hiệu hóa SAX 20
2.3.4.1 Chuẩn hóa dữ liệu 20
2.3.4.2 Thu giảm số chiều qua PAA (xem 2.3.3) 21
2.3.4.3 Ký hiệu hóa chuỗi thời gian 21
2.3.4.4 Hàm tính độ đo tương tự 22
2.3.6 Phương pháp xấp xỉ gộp ký hiệu hoá mở rộng ESAX (Extended SAX) 24 2.4.Kết luận 27
CHƯƠNG 3: TỔNG THUẬT CÁC CÔNG TRÌNH LIÊN QUAN 28
3.1 Phát hiện 1-Motif dựa vào giải thuật Brute Force 28
3.2 Phát hiện Motif dựa vào giải thuật Random Projecttion 29
3.3 Kết luận 31
CHƯƠNG 4: PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ 33
4.1 Dùng cửa sổ trượt rút trích các chuỗi con 33
4.2 Thu giảm số chiều mỗi chuỗi con theo phép biến đổi EPAA (xem 2.3.4) 33
4.3 Rời rạc hoá dữ liệu mỗi chuỗi con theo phép biến đổi ESAX (xem 2.3.6) 34
4.4 Xây dựng giải thuật Random Projection theo phép biến đổi ESAX 34
CHƯƠNG 5: THỰC NGHIỆM 38
5.1 Thực nghiệm các giải thuật đã hiện thực trên tập dữ liệu 39
5.1.1 Dữ liệu điện tâm đồ (ECG) 7.000 điểm 42
5.1.2 Dữ liệu điện tâm đồ (ECG) 10.000 điểm 43
5.1.3 Dữ liệu điện não đồ (EEG) 12.137 điểm 44
5.1.4 Dữ liệu doanh nghiệp (ERP) 10.120 điểm 45
5.1.5 Dữ liệu MEMORY 12.000 điểm 46
5.1.6 Dữ liệu năng lượng (POWER) 12.000 điểm 47
5.1.7 Dữ liệu chứng khoán (STOCK) 5.056 điểm 48
Trang 115.2 So sánh các giải thuật dựa trên kết quả thực nghiệm 49
5.3 Nhận xét 51
CHƯƠNG 6: KẾT LUẬN 53
6.1 Tổng kết 53
6.2 Những đóng góp của luận văn 54
6.3 Hướng phát triển 54
TÀI LIỆU THAM KHẢO 56 PHỤ LỤC: BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH- VIỆT A1
LÝ LỊCH TRÍCH NGANG B
Trang 12DANH SÁCH BẢNG VÀ HÌNH ẢNH
Bảng 1.1 Cách tiếp cận chung cho các nhiệm vụ khai phá dữ liệu 3
Bảng 2.1 Trung bình kết quả tìm kiếm trên tập dữ liệu 5000, với kích thước tập ký tự alphabetsize = 6, số chiều thu giảm của SAX là 16 và số chiều thu giảm của ESAX là 48 [19] 26
Bảng 3.1 Giải thuật Brute Force phát hiện 1- Motif [9] 29
Bảng 5.1 Chú thích các chức năng trong giao diện chương trình 40
Bảng 5.2 Thông số đầu vào cho tập dữ liệu dùng trong thực nghiệm 41
Bảng 5.3 Bảng so sánh kết quả giải thuật RP_SAX và giải thuật RP_ESAX dựa trên kết quả thực nghiệm 49
Hình 1.1 Dữ liệu chuỗi thời gian về giá vàng 1
Hình 1.2 Một minh hoạ chuỗi con motif 4
Hình 1.3 Một minh hoạ chuỗi con bất thường 4
Hình 2.1 Một minh hoạ về chuỗi con 8
Hình 2.2 Chuỗi C và M khớp với nhau 9
Hình 2.3 Khoảng cách hai motif < 2R (A); Khoảng cách hai motif > 2R (B) ([9]) 10 Hình 2.4 Minh hoạ sự khác nhau giữa hai độ đo Euclide và DTW ([13]) 13
Hình 2.5 Một ví dụ đường xoắn ([2]) 13
Hình 2.6 Các dạng biểu diễn phổ biến nhất cho khai phá dữ liệu chuỗi thời gian ([4]) 15
Hình 2.7 Phương pháp biểu diễn PAA với n = 128, w=8 ([4]) 17
Hình 2.8 Vài điểm quan trọng bị mất khi chỉ biểu diễn bằng PAA [19] 18
Hình 2.9 Minh hoạ các vị trí Pmin, Pmax, Pmid [19] 19
Hình 2.10 Phương pháp chuẩn hóa trung bình zero [17] 21
Hình 2.11 Bảng thống kê dùng để tra những điểm ngắt theo phân bố Gauss 22
Hình 2.12 Minh họa về rời rạc hóa dữ liệu ([4]) 22
Trang 13Hình 2.13 Minh họa 3 dạng biểu diễn chuỗi thời gian và các hàm tính khoảng cách tương ứng A) Chuỗi thời gian ban đầu và hàm tính khoảng cách Euclid B) Dạng
biểu diễn PAA của chuỗi thời gian và hàm tính khoảng cách DR C) Dạng biểu diễn
SAX và hàm tính khoảng cách MINDIST ([4]) 24
Hình 2.14 Dữ liệu tài chính được biểu diễn bằng ESAX ([19]) 25
Hình 2.15 Minh hoạ tìm kiếm bằng phép biến đổi SAX và ESAX, (a) chuỗi cần tìm kiếm, (b) (c) các kết quả được tìm thấy bởi ESAX, (d) (e) (f) (i) (j) các kết quả được tìm thấy bởi SAX [19] 26
Hình 3.1 Bảng chứa tất cả các chuỗi con từ cửa sổ trượt 30
Hình 3.2 Minh họa việc chiếu ngẫu nhiên lên cột 1 và 2, cập nhật vào 31
Hình 3.3 Minh họa việc chiếu ngẫu nhiên lên cột 2 và 4, cập nhật vào 31
Hình 4.1 Bảng chứa tất cả các chuỗi con rút trích từ cửa sổ trượt và sau đó xử lý rời rạc hoá dữ liệu ESAX 34
Hình 4.2 Minh họa việc chiếu ngẫu nhiên lên cột 1 và 2, cập nhật vào 36
Hình 4.3 Minh họa việc chiếu ngẫu nhiên lên cột 2 và 4, cập nhật vào 36
Hình 5.1 Giao diện chương trình 39
Hình 5.2 Kết quả của giải thuật RP_SAX của dữ liệu ECG 7.000 điểm 42
Hình 5.3 Kết quả của giải thuật RP_ESAX của dữ liệu ECG 7.000 điểm 42
Hình 5.4 Kết quả của giải thuật RP_SAX của dữ liệu ECG 10.000 điểm 43
Hình 5.5 Kết quả của giải thuật RP_ESAX của dữ liệu ECG 10.000 điểm 43
Hình 5.6 Kết quả của giải thuật RP_SAX của dữ liệu EEG 12.137 điểm 44
Hình 5.7 Kết quả của giải thuật RP_ESAX của dữ liệu EEG 12.137 điểm 44
Hình 5.8 Kết quả của giải thuật RP_SAX của dữ liệu ERP 10.120 điểm 45
Hình 5.9 Kết quả của giải thuật RP_ESAX của dữ liệu ERP 10.120 điểm 45
Hình 5.10 Kết quả của giải thuật RP_ SAX của dữ liệu MEMORY 12.000 điểm 46
Hình 5.11 Kết quả của giải thuật RP_ESAX của dữ liệu MEMORY 12.000 điểm 46 Hình 5.12 Kết quả của giải thuật RP_SAX của dữ liệu POWER 12.000 điểm 47
Hình 5.13 Kết quả của giải thuật RP_ESAX của dữ liệu POWER 12.000 điểm 47
Hình 5.14 Kết quả của giải thuật RP_SAX của dữ liệu STOCK 5.056 điểm 48
Trang 14Hình 5.16 Biểu đồ so sánh thời gian chạy của giải thuật Random Projection trên ESAX và giải thuật Random Projection trên SAX 50 Hình 5.17 Biểu đồ so sánh số lần gọi hàm khoảng cách của giải thuật Random Projection trên ESAX và giải thuật Random Projection trên SAX 50 Hình 5.18 Biểu đồ so sánh khoảng cách Euclid trung bình giữa các motif tìm được của giải thuật Random Projection trên ESAX và giải thuật Random Projection trên SAX 51
Trang 15CHƯƠNG 1: PHÁT BIỂU VẤN ĐỀ
1.1 Dữ liệu chuỗi thời gian
Dữ liệu chuỗi thời gian là dữ liệu đo đạc được một cách tuần tự theo thời gian Đối tượng dữ liệu có thể có hai hay nhiều chiều nhưng trong đó phải có một chiều là thời gian Có rất nhiều dữ liệu có yếu tố thời gian như dữ liệu về giá chứng
khoán, điện tâm đồ, mực nước, lưu lượng truyền trên mạng, dữ liệu tài chính (Hình
1.1), thiên văn, thời tiết, mức độ ô nhiễm môi trường, …
Hình 1.1 Dữ liệu chuỗi thời gian về giá vàng
Dữ liệu chuỗi thời gian thường được đo đạc liên tục trong thời gian dài nên thường có kích thước rất lớn và gia tăng nhanh Các giải thuật khai phá dữ liệu chuỗi thời gian thường có chi phí rất lớn về thời gian thực thi và tài nguyên bộ nhớ
Do đó việc nghiên cứu các phương pháp hiệu quả để khai phá các dữ liệu chuỗi thời gian rất quan trọng và thu hút rất nhiều sự quan tâm Bên cạnh đó, ta có định nghĩa khác nhau về dữ liệu chuỗi thời gian:
Trang 16Định nghĩa 1: Chuỗi thời gian (Time Series) T = t 1 , t 2 … t m là tập hợp có thứ tự các quan sát đơn biến hoặc đa biến được đo sau những khoảng thời gian bằng nhau theo
thời gian (Ta chỉ xem xét với t i là các giá trị thực trong đề tài này)
Việc khai phá dữ liệu chuỗi thời gian đã và hiện thu hút rất nhiều sự nghiên cứu trên thế giới Dữ liệu chuỗi thời gian xuất hiện rất nhiều trong các lĩnh vực trong công nghệ hiện nay, cụ thể là một số lĩnh vực nghiên cứu sau:
Lập chỉ mục (Indexing): cho một chuỗi thời gian truy vấn Q, và một
hàm tính độ tương tự hoặc độ sai biệt D(Q,C), tìm những chuỗi thời gian tương tự nhất với Q trong cơ sở dữ liệu nào đó
Gom cụm (Clustering): tìm những sự phân nhóm, gom cụm dữ liệu theo
tự nhiên của những chuỗi thời gian trong cơ sở dữ liệu thông qua một
hàm tính độ tương tự D(Q,C)
Phân lớp (Classification): cho một dữ liệu chuỗi thời gian chưa gán
nhóm Q, gán nó vào một trong những nhóm dữ liệu đã được định nghĩa
trước
Tổng hợp (Summarization): cho chuỗi thời gian Q có n điểm dữ liệu
trong đó n là con số rất lớn, tạo một sự xấp xỉ của Q để vừa khít theo một
giới hạn nào đó (chẳng hạn màn hình máy tính, trang giấy…) sao cho vẫn duy trì những đặc trưng bản chất của nó
Phát hiện bất thường (Abnormaly detection): cho một chuỗi thời gian
Q, Khai phá bất thường (anomaly) là tìm một chuỗi con khác biệt nhất
với tất cả các chuỗi con khác trong dữ liệu chuỗi thời gian
Phát hiện Motif (Motif detection) cho một chuỗi thời gian Q, Motif là
chuỗi con chưa biết trước xuất hiện nhiều lần trong một chuỗi dữ liệu chuỗi thời gian dài hơn Khái niệm này được tổng quát hóa thành bài toán
tìm kiếm k-motif, với kết quả cần tìm là k nhóm motif đầu tiên Phát hiện
motif trong dữ liệu chuỗi thời gian là một công việc quan trọng trong khai
phá dữ liệu chuỗi thời gian
Trang 17Vì dữ liệu chuỗi thời gian là rất lớn, không lưu trữ đủ trong bộ nhớ chính, ta cần rất nhiều lần truy cập bộ nhớ ngoài, gây ra hiện tượng thắt cổ chai cho các nhiệm vụ khai phá dữ liệu (dù là hiện nay tốc độ truy xuất đĩa đã được cải thiện đáng kể, nhưng tốc độ gia tăng kích thước dữ liệu chuỗi thời gian là nhanh hơn rất nhiều lần) Để hạn chế tối đa số lần truy cập đĩa người ta thường xấp xỉ các chuỗi
dữ liệu sao cho vừa khớp với bộ nhớ chính Một khung chung để thực hiện các tác
vụ khai phá dữ liệu chuỗi thời gian được đề ra ở [1] Cách tiếp cận cơ bản này được
chỉ ra trong Bảng 1 như sau:
1 Tạo một sự xấp xỉ dữ liệu để nó vừa khớp với bộ nhớ chính, nhưng vẫn
duy trì các đặc trưng cần quan tâm
2 Giải quyết bài toán với dữ liệu xấp xỉ trong bộ nhớ chính
3 Truy cập dữ liệu gốc để sau đó kiểm lời giải ở bước 2, bổ sung lời giải
sao cho chính xác với dữ liệu gốc
Bảng 1.1 Cách tiếp cận chung cho các nhiệm vụ khai phá dữ liệu
Hiệu quả của khung chung này phụ thuộc nhiều vào chất lượng của phương pháp mà ta xấp xỉ ở bước 1 Nếu ta xấp xỉ càng gần với dữ liệu gốc thì lời giải mà ta
có được trong bộ nhớ chính sẽ càng gần với lời giải có được với dữ liệu gốc và dẫn đến số lần truy cập đĩa ngoài ở bước 3 là càng ít Do vậy nên đã có nhiều nghiên cứu về việc xấp xỉ và để so sánh các phương pháp xấp xỉ
1.2 Khai phá motif trong chuỗi dữ liệu thời gian
Khai phá motif là tìm ra những chuỗi con tương tự nhau xuất hiện lặp đi lặp
lại trong dữ liệu chuỗi thời gian (Hình 1.2) Khai phá bất thường (abnormaly) là tìm
một chuỗi con khác biệt nhất với tất cả các chuỗi con khác trong dữ liệu chuỗi thời
gian (Hình 1.3)
Trong khi khai phá phát hiện bất thường kết quả trả về đòi hỏi phải là kết quả
chính xác thì khai phá phát hiện motif kết quả trả về có thể là một kết quả xấp xỉ Hai hướng tiếp cận chính của các giải thuật khai phá motif là:
Trang 18 Khai phá motif chính xác (exact motif): là việc ta thực hiện trực tiếp
trên dữ liệu thô thông qua giải thuật brute-force làm nền tảng từ đó có thể cải tiến giải thuật bằng cách áp dụng một số heuristic nhằm giảm
độ phức tạp cho giải thuật cho giải thuật Hầu hết các giải thuật theo hướng này có tính đúng và tính đầy đủ cao tuy nhiên tính hiệu quả không cao và chỉ phù hợp với dữ liệu có kích thước nhỏ
Khai phá motif xấp xỉ (approximate motif): dữ liệu chuỗi thời gian sẽ
được xử lý trước khi thực hiện việc khai phá như thu giảm số chiều, rời rạc hóa dữ liệu Trong quá trình khai phá dữ liệu có thể áp dụng một số tính chất dựa trên xác suất, tính ngẫu nhiên Hướng tiếp cận này giúp tăng tính hiệu quả của giải thuật trong khi tính đúng và tính đầy đủ vẫn có thể chấp nhận được đồng thời nó phù hợp với dữ liệu
có kích thước lớn
Hình 1.2 Một minh hoạ chuỗi con motif
Hình 1.3 Một minh hoạ chuỗi con bất thường
Trang 191.3 Mục tiêu và giới hạn của đề tài
Mục tiêu chính của luận văn là tìm hiểu phương pháp rời rạc hóa chuỗi dữ
liệu thời gian ở dạng mở rộng ESAX Sau đó, đề xuất một cách ứng dụng ESAX
vào bài toán phát hiện motif Cụ thể, đề tài này so sánh tính hiệu quả của hai
phương pháp rời rạc hóa chuỗi dữ liệu ESAX (phương pháp gộp xấp xỉ ký hiệu hóa
mở rộng) và SAX (phương pháp gộp xấp xỉ ký hiệu hóa) khi áp dụng vào các giải
thuật phát hiện motif trên dữ liệu chuỗi thời gian, sau đó so sánh kết quả đạt được của giải thuật phát hiện motif Random Projection trên phép biến đổi ESAX với giải thuật phát hiện motif (Random Projection Algorithm – RP) trên phép biến đổi SAX
Giới hạn của đề tài, sau khi khảo sát các phương pháp biểu diễn, hàm tính độ
tương tự, tìm hiểu phương pháp SAX và ESAX và các đặc tính của nó, chúng tôi đề
xuất cách ứng dụng ESAX vào bài toán tìm k-motif như sau:
Thu giảm số chiều bằng phương pháp xấp xỉ gộp từng đoạn mở rộng EPAA (Extended Piecewise Aggregate Approximation) do Lkhagva và cộng sự đề
nghị [19]
Rời rạc hóa dữ liệu bằng phương pháp xấp xỉ gộp ký hiệu hóa mở rộng
(Extended SAX) do Lkhagva cộng sự đề nghị [19] trên tập dữ liệu đã được thu giảm số chiều ở trên
Chọn hàm tính độ tương tự trong không gian thu giảm là MINDIST_ESAX
do Lkhagva cộng sự đề nghị [19] trên tập dữ liệu đã được thu giảm số chiều
mở rộng và rời rạc hoá dữ liệu mở rộng
Áp dụng phép biến đổi ESAX, xây dựng giải thuật Random Projection cải
tiến để phát hiện motif trên dữ liệu chuỗi thời gian sau khi đã thu giảm số chiều mở rộng EPAA
Thử nghiệm phương pháp đề xuất trên cho nhiều tập dữ liệu khác nhau, dựa trên tiêu chí: số lần gọi hàm tính độ đo tương tự, thời gian thực thi và độ chính xác của giải thuật thông qua khoảng cách Euclid trung bình giữa các
thể hiện motif tìm được
Trang 20 So sánh kết quả đạt được từ giải thuật Random Projection cải tiến trên tập dữ liệu đã thu giảm số chiều mở rộng EPAA và rời rạc hoá dữ liệu mở rộng ESAX với giải thuật chiếu ngẫu nhiên (Random Projection Algorithm) trên tập dữ liệu đã thu giảm số chiều PAA và rời rạc hoá dữ liệu SAX
1.4 Những kết quả đạt được
Trong giới hạn thời gian làm luận văn, chúng tôi đã hiện thực hệ thống phát
hiện motif dữ liệu chuỗi thời gian, gồm 4 phần chính: phần tiền xử lý dữ liệu, phần
rời rạc hoá chuỗi dữ liệu chuỗi thời gian, phần cấu trúc dữ liệu và phần các giải
thuật phát hiện motif
Trong phần thứ nhất, dữ liệu gốc sau khi đã được chuẩn hoá và qua phép biến đổi thu giảm số chiều PAA, qua phép biến đổi thu giảm số chiều mở rộng EPAA chúng tôi trích ra các chuỗi con từ tập dữ liệu tập dữ liệu đã được thu giảm
đó và tạo thành tập dữ liệu các chuỗi con
Trong phần thứ hai, chúng tôi hiện thực hai phương pháp rời rạc hóa dữ liệu chuỗi thời gian là SAX và ESAX tử tập dữ liệu đã thu giảm số chiều PAA và thu giảm số chiều mở rộng EPAA
Phần thứ ba, chúng tôi tạo các cấu trúc dữ liệu tương ứng với từng phương pháp rời rạc hóa dữ liệu chuỗi thời gian
Phần cuối cùng là các giải thuật dùng để phát hiện motif, chúng tôi hiện thực
giải thuật Random Projection trên phép biến đổi SAX, giải thuật Random Projection
trên phép biến đổi ESAX để phát hiện motif
Hệ thống của chúng tôi chạy thực nghiệm với các thông số khác nhau cho từng loại dữ liệu khác nhau để đánh giá, so sánh độ hiệu quả giữa giải thuật chiếu ngẫu nhiên với phép biến đổi SAX và phép biến đổi ESAX để áp dụng vào bài toán
phát hiện motif Qua thực nghiệm, chúng tôi thấy giải thuật Random Projection trên
phép biến đổi ESAX cho kết quả motif chính xác hơn giải thuật Random Projection
Trang 21trên phép biến đổi SAX) với thời gian thực thi tương đương Như vậy, hệ thống của chúng tôi đã đáp ứng những yêu cầu và nhiệm vụ của đề tài
1.5 Cấu trúc của luận văn
Chương 2, trình bày tổng quan các khái niệm cơ bản về dữ liệu thời gian, các công trình liên quan về các hàm tính độ tương tự, các phương pháp thu giảm số chiều, các phương pháp rời rạc hóa dữ liệu chuỗi thời gian, các cấu trúc chỉ mục phổ biến
Chương 3, làm rõ cơ sở lý thuyết nền tảng của các phương pháp biểu diễn và các giải thuật được chọn sau khi khảo sát các công trình có liên quan ở chương 2 Cụ
thể, những giải thuật tìm kiếm chuỗi con motif được chọn như giải thuật Random
Projection trên phép biến đổi SAX và giải thuật Random Projection trên phép biến
đổi ESAX để phát hiện motif
Chương 4, giới thiệu hệ thống hiện thực hóa phương pháp giải quyết vấn đề cho đề tài
Chương 5, các kết quả thực nghiệm được công bố và so sánh và chạy thực nghiệm
hệ thống trên các tập dữ liệu khác nhau
Chương 6, một số kết luận và hướng mở rộng của đề tài
Trang 22CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Chương này sẽ giới thiệu lại một số khái niệm cơ bản đựợc sử dụng trong
việc phát hiện motif, sau đó giới thiệu một số công trình tiêu biểu về phát hiện motif
có liên quan đến luận văn này
2.1 Một số khái niệm cơ bản
Dữ liệu chuỗi thời gian là một tổ hợp tuần tự của những mẫu dữ liệu đo đạc được một cách liên tục theo thời gian Một mẫu dữ liệu chuỗi thời gian có thể là một giá trị đơn (là một con số thực), thì ta gọi là chuỗi thời gian một kênh (single-chanel time series) hoặc có thể là một véctơ các giá trị (véc tơ những con số thực), thì được gọi là chuỗi thời gian nhiều kênh (multi-chanel time series) Dữ liệu chuỗi thời gian một kênh ta có thể thấy trong dữ liệu chứng khoán, dữ liệu điện tim đồ, dữ liệu năng lượng Dữ liệu nhiều kênh ta thể thấy trong dữ liệu (motion capture) ghi nhận nhiều góc độ khác nhau của một hành động Trong luận văn này chúng tôi chỉ làm việc trên dữ liệu một kênh, đồng thời giả sử rằng tất cả những mẫu giá trị được
đo đạc liên tục tại các thời khoảng bằng nhau
2.1.1 Chuỗi con (Subsequence)
Cho một dữ liệu chuỗi thời gian T có chiều dài là n, một chuỗi con C ( Hình 2.1) trong T có chiều dài w là một mẫu của những giá trị liên tục được trích từ T
vậy C = t p ,….,t p+w-1 với 1 ≤ p ≤ n – w + 1
Hình 2.1 Một minh hoạ về chuỗi con
Trang 232.1.2 Cửa sổ trượt (Slide window)
Cho một dữ liệu chuỗi thời gian T có chiều dài n, một cửa sổ có kích thước w
do người dùng định nghĩa (thường w << n) sẽ trượt qua từng điểm giá trị trên chuỗi
T, kết quả là ta được một danh sách n-w+1 các chuỗi con có kích thước w được rút
Hình 2.2 Chuỗi C và M khớp với nhau
2.1.4 Trùng khớp không tầm thường (Non-Self Match)
Cho chuỗi thời gian T chưa một chuỗi con C có chiều dài n bắt đầu tại vị trí p và khớp với chuỗi con Mbắt đầu tại vị trí q, ta có thể nói M là một “trùng khớp không tầm thường” tại khoảng cách của Dist M C( , ) nếu |p q| n
Trang 24khớp không tầm thường với nó cao thứ k và phải thỏa mãn điều kiện D(C k , C i ) >
2R, với mọi 1 ≤ i ≤ k (Hình 2.3B là minh họa)
Định nghĩa này muốn nhấn mạnh rằng các chuỗi con trong tập các motif phải tách biệt nhau Điều này rất quan trọng vì nếu như hai motif mà có những chuỗi con chung thì nó nên được xem là một motif (Hình 2.3A là minh họa)
Hình 2.3 Khoảng cách hai motif < 2R (A); Khoảng cách hai motif > 2R (B) ([9])
2.2 Các công trình về độ đo tương tự
Trong các bài toán về dữ liệu chuỗi thời gian, việc tính mức độ tương tự giữa hai chuỗi con đóng vai trò rất quan trọng Khi so sánh hai chuỗi con có tương tự với nhau hay không ta phải dùng một phương pháp để tính mức độ tương tự giữa chúng gọi là hàm khoảng cách Nếu như khoảng cách giữa hai chuỗi con bằng không, ta nói hai chuỗi con là giống hệt nhau Nếu như khoảng cách giữa hai chuỗi con càng lớn (càng xa) thì mức độ khác biệt của hai chuỗi con càng cao Phương pháp tính
độ đo trong luận văn này chỉ đề cập những phương pháp tính độ đo trên hai chuỗi con có chiều dài bằng nhau
2.2.1 Độ đo Minkowski
Hầu hết các công trình đều dựa trên độ đo khoảng cách này Khoảng cách Minkowski được định nghĩa như sau:
Trang 25p n
i
p i
x Y)
(X, Sim
1
) ( trong đó p=1
Tuy p có thể có nhiều giá trị khác nhau nhưng trong các nghiên cứu p thường
nhận
Trong luận văn này chúng tôi sẽ sử dụng độ đo Euclid Một số ưu điểm và nhược điểm của phương pháp này:
Ưu điểm
- Quá trình tính toán đơn giản và dễ dàng
- Phù hợp khi sử dụng các biến đổi DFT, DWT, PAA, APCA, SAX (các phương pháp biến đổi này sẽ được trình bày bên dưới của chương)
Nhược điểm
- Nhạy cảm với nhiễu
- Không hiệu quả với dữ liệu được đo ở nhiều thang đo khác nhau
2.2.2 Độ đo xoắn thời gian động (Dynamic Time Warping- DTW)
Phương pháp DTW do Berndt và các cộng sự đề ra năm 1994 [2] Việc so trùng 2 đường biểu diễn dữ liệu bằng cách tính khoảng cách từng cặp điểm 1-1
(điểm thứ i của đường thứ I so với điểm thứ i của đường thứ II) như phương pháp
Minkowski là không phù hợp trong trường hợp hai đường này không hoàn toàn
giống nhau nhưng hình dạng biến đổi rất giống nhau Như trong (Hình 2.4a), hai
đường biểu diễn rất giống nhau về hình dạng nhưng lệch nhau về thời gian Trong trường hợp này, nếu tính khoảng cách bằng cách ánh xạ 1-1 giữa 2 đường thì kết quả rất khác nhau và kết quả cuối cùng có thể không như mong muốn Để khắc phục, một điểm có thể ánh xạ với nhiều điểm và ánh xạ này không thẳng hàng
(Hình 2.4b) Phương pháp này gọi là xoắn thời gian động [2]
Trang 26Để tìm DTW của S = s 1 , s 2 ,…,s n và T = t 1 , t 2 ,…,t m, ta sắp xếp 2 chuỗi thời
gian này lên mặt phẳng lưới n x m, trong đó mỗi điểm lưới (i ,j) tương ứng với một
sự ánh xạ giữa s i và t j Đường đi xoắn W, ánh xạ các thành phần của S và T, để
“khoảng cách” giữa chúng là nhỏ nhất
W = w 1 , w 2 … w k
Trong đó w k tương ứng với điểm (i, j) k như trong Hình 2.5 bên dưới
Có rất nhiều cách tính khoảng cách giữa 2 thành phần s i và t j, có thể tính theo một trong hai cách sau:
δ(i, j) = |s i – t j | δ(i, j) = (s i – t j ) 2
, như vậy DTW(S, T) = minw[ ]
Để giới hạn không gian tìm kiếm đường đi xoắn, những ràng buộc sau phải được thỏa mãn:
Tính đơn điệu (monotonicity): những điểm ánh xạ phải có thứ tự theo thời
gian, tức là i k-1 ≤ i k và j k-1 ≤ j k
Tính liên tục (continuity): những bước chuyển trên lưới chỉ giới hạn ở những
điểm lân cận, ik – i k-1 ≤ 1 và j k – j k-1 ≤ 1
Cửa sổ xoắn (warping window): những điểm cho phép ánh xạ phải nằm trong
cửa sổ xoắn cho trước, tức là |i k – j k | ≤ ω, trong đó ω là chiều rộng của cửa sổ
xoắn (số nguyên dương) (Hình 2.5)
Ngoài ra, còn một số ràng buộc khác cần thỏa mãn để việc tìm kiếm có hiệu quả và nhanh hơn ta có thể tìm kiếm đường đi xoắn theo giải thuật quy hoạch động, dựa
trên công thức truy hồi định nghĩa khoảng cách tích lũy λ(i, j), của mỗi điểm
λ(i, j) = δ(i, j) + min[λ(i-1, j), λ(i-1, j-1), λ(i, j-1)]
Ưu điểm:
Cho kết quả chính xác hơn độ đo Euclid
Trang 27 Cho phép nhận dạng mẫu có hình dạng giống nhau nhưng chiều dài hình dạng
về thời gian có thể khác nhau
Nhược điểm: Thời gian chạy lâu Một số ràng buộc được đề ra để tăng tốc độ tìm
kiếm ([2])
(a) Tính theo khoảng cách Euclid (b) Tính theo khoảng cách DTW
Hình 2.4 Minh hoạ sự khác nhau giữa hai độ đo Euclide và DTW ([13])
Hình 2.5 Một ví dụ đường xoắn ([2])
Trang 282.3 Các công trình về biểu diễn chuỗi thời gian
Vì dữ liệu chuỗi thời gian là rất lớn, không thể xử lý trong bộ nhớ chính mà phải tốn nhiều lần truy cập đĩa ngoài, chi phí truy cập đĩa ngoài là rất đáng kể so với chi phí tính toán, thường gây ra hiện tượng thắt cổ chai khi thực hiện các nhiệm vụ khai phá dữ liệu Do đó, nhiều phương pháp xấp xỉ chuỗi thời gian được đề xuất để
có thể dễ dàng xử lý trong bộ nhớ chính và giảm thiểu số lần truy cập đĩa ngoài
Những phương pháp này thường được gọi là những kỹ thuật thu giảm số chiều
(dimensionality reduction) Một số phương pháp vừa thu giảm số chiều vừa rời rạc
hóa dữ liệu chuỗi thời gian được gọi là phương pháp rời rạc hóa (discretization) và
phương pháp tổng quát để thu giảm số chiều có thể tóm tắt như sau:
Thiết lập một độ đo tương tự d (hay còn gọi là hàm tính khoảng cách, thường
dùng là hàm tính khoảng cách Euclid)
Thiết kế một kỹ thuật thu giảm số chiều để rút trích một đặc trưng có chiều dài
k (tức là một đặc trưng gồm k giá trị), với k có thể được xử lý một cách hữu
hiệu nhờ một cấu trúc chỉ mục không gian (đa chiều)
Cung cấp một độ đo tương tự d k trên không gian đặc trưng k chiều trên và
chứng tỏ rằng nó thỏa điều kiện chặn dưới sau:
d k (X’, Y’) ≤ d(X, Y)
Điều kiện chặn dưới như trên có nghĩa là hàm khoảng cách tính trên không gian đặc trưng (hay không gian thu giảm) của hai chuỗi thời gian đã được biến đổi
X’, Y’ từ hai chuỗi ban đầu X, Y phải chặn dưới khoảng cách thật của chúng trên
không gian nguyên thủy, điều này đảm bảo không xảy ra false dismissal (những đối
tượng thỏa điều kiện nhưng bị bỏ sót)
Sau đây là một số phương pháp biểu diễn cụ thể
2.3.1 Phép biến đổi Fourier rời rạc DFT
Phương pháp DFT, do Agrawal và các cộng sự đề nghị năm 1993 [6], biến đổi từ domain thời gian sang domain tần số Sau đó, lập chỉ mục trên một vài tần số
Trang 29đầu tiên, loại bỏ những tần số còn lại dựa trên nhận xét rằng năng lượng của hầu hết các chuỗi thời gian trong thực tế đều tập trung ở một vài tần số đầu tiên [6]
Chuỗi biến đổi X f (f = 0,…,n-1) của chuỗi X t (t = 0,…,n-1) được định nghĩa như sau:
X f là các số phức Hàm tính độ tương tự được đề nghị cho phương pháp này là độ đo Euclid Phương pháp lập chỉ mục đề nghị như F-Index [6], ST-index [1]
Hình 2.6 Các dạng biểu diễn phổ biến nhất cho khai phá dữ liệu chuỗi thời gian
([4])
Ưu điểm:
Thu giảm số chiều của dữ liệu gốc
Bảo toàn khoảng cách Euclid sau khi biến đổi dựa vào định lý Parseval [6] và
do đó thỏa mãn điều kiện chặn dưới của khoảng cách thực của dữ liệu gốc
Độ phức tạp tính toán O(nlogn) cho phương pháp Fast Fourier Transform (một
cải tiến của DFT)
Nhược điểm:
Chỉ áp dụng được với các loại dữ liệu có năng lượng tập trung ở một vài tần số đầu tiên (được định nghĩa là pink noise, brown noise) trong khi sẽ thiếu sót thông tin quan trọng đối với các loại dữ liệu có năng lượng phân bố đều (white noise) hoặc năng lượng tập trung ở các tần số cuối (blue noise, violet noise) [14]
Trang 30 Tính toán phức tạp vì domain thu giảm là các số phức
Không tận dụng được các giải thuật và cấu trúc dữ liệu cho dạng ký tự và bit
Khó giải quyết khi các chuỗi thời gian có chiều dài khác nhau
2.3.2 Phép biến đổi Wavelet rời rạc DWT
Phương pháp DWT, do Chan và Fu đề nghị năm 1999 [15], biểu diễn chuỗi thời gian thành các đường cơ bản khác nhau như: Haar [5], Daubechies, Coiflet, Symmlet [15] Tuy đường Haar không hiệu quả bằng các đường còn lại, nhưng nó được sử dụng khá phổ biến bởi dễ tính toán và đủ tốt cho bài toán khai phá dữ liệu chuỗi thời gian
Ví dụ cho một chuỗi X = (9 7 3 5) Biến đổi Haar Wavelet của chuỗi này như
Như vậy, chuỗi biến đổi của X là X’ = (6 2 1 -1) Để thu giảm số chiều ta
chỉ sử dụng một vài hệ số đầu Hàm tính độ tương tự đề nghị là hàm khoảng cách Euclid Cấu trúc chỉ mục là R-tree [5]
Ưu điểm:
Khoảng cách Euclid sau phép biến đổi là một chặn dưới của khoảng cách Euclid của dữ liệu gốc
Giảm số lượng false alarm (số đối tượng không thỏa điều kiện nhưng được
phân loại là thỏa) nhờ khoảng cách được tính trên các độ phân giải khác nhau (các hệ số ở các độ phân giải), không như phương pháp DFT chỉ tính trên độ phân giải duy nhất là các hệ số tần số
Độ phức tạp là O(n), nhanh hơn so với Fast Fourier Transform
Nhược điểm:
Chiều dài chuỗi thời gian phải là một số lũy thừa 2 (giống phương pháp Fast Fourier Transform)
Trang 312.3.3 Phép xấp xỉ gộp từng đoạn PAA
Phương pháp PAA, do Keogh và các cộng sự đề xuất năm 2001[3], tuần tự
xấp xỉ k giá trị liền kề nhau thành một giá trị, là giá trị trung bình cộng của k giá trị
đó Quá trình bắt đầu từ đầu chuỗi thời gian đến cuối chuỗi Kết quả của phép biến
đổi là đường thẳng có dạng bậc thang (Hình 2.7) Cho (với j =
1,…,n) là một chuỗi dữ liệu thời gian sẽ được thu giảm về một chuỗi con
( với i = 1,…,w), biết rằng w là số chiều thu giảm của nó được tính
theo công thức sau:
([4])
Hình 2.7 Phương pháp biểu diễn PAA với n = 128, w=8 ([4])
Phương pháp PAA rất trực quan và đơn giản trong tính toán nhưng nó đã được chứng minh là rất hữu hiệu, thích hợp và hỗ trợ các phương pháp tính khoảng cách khác như: khoảng cách Euclid, DTW, Minkowski Ngoài ra, một phương pháp
đo khoảng cách được đề xuất như sau trên không gian thu giảm số chiều sau khi qua
Trang 32([4]) Trong đó là hai chuỗi biến đổi xấp xỉ của hai chuỗi dữ liệu thời gian Phương pháp này không phụ thuộc vào cấu trúc chỉ mục cụ thể nào, có thể sử dụng F-index, R-tree…
Ưu điểm:
Thời gian tính toán nhanh và dễ dàng
Hỗ trợ câu truy vấn có chiều dài khác nhau
Hàm khoảng cách được đề nghị có giá trị chặn dưới chặt so với dữ liệu gốc
2.3.4 Phép xấp xỉ gộp từng đoạn mở rộng EPAA (Extended PAA)
Do phương pháp PAA chỉ giữ lại giá trị trung bình của một chuỗi dữ liệu nên
có thể làm mất đi các thông tin quan trọng trong đoạn dữ liệu đó Hình 2.8 sau đây
là một minh hoạ một số điểm quan trọng sẽ bị mất nếu chỉ biểu diễn bằng PAA
Hình 2.8 Vài điểm quan trọng bị mất khi chỉ biểu diễn bằng PAA [19]
Trang 33Phương pháp Extended PAA (EPAA) được Lkhagva và các cộng sự đề nghị vào năm 2006 [19] Phương pháp này giống như PAA nhưng mỗi đoạn được minh hoạ bằng ba giá trị nhỏ nhất, trung bình và lớn nhất thay vì chỉ lưu giá trị trung bình như phương pháp PAA Thứ tự và vị trí của ba giá trị được biểu diễn như sau:
Trong đó: Sk , E k là vị trí đầu và vị trí cuối của đoạn cần tính EPAA
Hình 2.9 Minh hoạ các vị trí Pmin, Pmax, Pmid [19]
Trang 34Ưu điểm:
Có tất cả các ưu điểm của PAA
Hàm khoảng cách được đề nghị có giá trị chặn dưới chặt hơn so với hàm tính khoảng cách DR của phương pháp PAA (do lưu trữ ba giá trị trong một đoạn chuỗi dữ liệu điểm thay vì một điểm như PAA) nên kết quả sẽ chính xác hơn
Nhược điểm:
Xây dựng lại chuỗi ban đầu khó và thường sinh lỗi lớn, trong khi các phương pháp trên có công thức để tái tạo lại chuỗi ban đầu với tỉ lệ lỗi nhỏ
Làm tăng số chiều của dữ liệu thu giảm
2.3.5 Phép xấp xỉ gộp ký hiệu hóa SAX
Phương pháp SAX, do Lin và các cộng sự đề xuất năm 2003 [4], được xây dựng dựa trên phương pháp thu giảm số chiều PAA và giả sử dữ liệu thu giảm số chiều đã được chuẩn hóa theo trung bình zero và độ lệch chuẩn một Dữ liệu ban đầu được chia thành từng đoạn dùng phương pháp PAA Sau đó, ánh xạ từng đoạn này thành các ký tự rời rạc Vì không gian thu giảm là không gian các ký tự, nên không thể sử dụng các hàm tính khoảng cách nhận đối số là các giá trị thực mà cần
có cơ chế ánh xạ sự khác biệt giữa hai ký tự thành giá trị số Phương pháp SAX sử dụng hàm tính khoảng cách MINDIST [4] trên không gian thu giảm, thỏa điều kiện chặn dưới Phương pháp lập chỉ mục được sử dụng là phương pháp tập tin xấp xỉ hóa vector (Vector Approximation File), ngoài ra có thể sử dụng R-tree và các kỹ
thuật lập chỉ mục cho chuỗi ký tự cổ điển như cây hậu tố (suffix tree) Để biến đổi
theo SAX, ta thực hiện các bước sau:
2.3.4.1 Chuẩn hóa dữ liệu
Ta chuẩn hóa dữ liệu về trung bình zero và độ lệch chuẩn một ( Hình 2.9), vì
không có ý nghĩa khi so sánh các chuỗi thời gian có độ dịch chuyển (offset) và biên
độ (amplitude) khác nhau [16] Chuẩn hóa trung bình zero (Zero-Mean
normalization) Chuỗi Q được biến đổi thành chuỗi Q’ dựa trên giá trị trung bình
mean(Q) và độ lệch chuẩn var(Q) theo công thức sau:
Trang 35) var(
/ )) ( ]
[ ( ] [ ' i Q i mean Q Q Q
Hình 2.10 Phương pháp chuẩn hóa trung bình zero [17]
2.3.4.2 Thu giảm số chiều qua PAA (xem 2.3.3)
2.3.4.3 Ký hiệu hóa chuỗi thời gian
Sau khi chuyển đổi dữ liệu chuỗi thời gian về dạng PAA, ta sẽ tiếp tục biến đổi để rời rạc hóa dữ liệu.Với dữ liệu chuỗi thời gian đã chuẩn hóa thường tuân theo
một xác suất phân bố Gauss và khi dữ liệu đã tuân theo phân bố Gauss ta cần xác định những điểm ngắt (break point), cái mà sẽ sinh ra a những vùng có diện tích
bằng nhau bên dưới đường cong Gauss Những điểm ngắt (Breakpoints) là một
danh sách có thứ tự B = β 1 ,…, β a-1 bên dưới mật độ phân bố xác suất của đường
cong Gauss, giá trị β i đến β i+1 = 1/a, β 0 = -∞ và β a = ∞ Các vùng đó sẽ được biểu
diễn thành một ký tự ta gọi là từ (word) như sau:
Khi đã xác định được tập các điểm ngắt, chuỗi thời gian sẽ được rời rạc hóa theo cách sau đây Tất cả các giá trị PAA nhỏ hơn giá trị điểm ngắt nhỏ nhất ánh xạ
thành ký tự “a”, tất cả giá trị PAA lớn hơn hoặc bằng giá trị điểm ngắt nhỏ nhất và nhỏ hơn giá trị điểm ngắt nhỏ thứ hai ánh xạ thành ký tự “b”, cứ tiếp tục như vậy
cho đến hết chuỗi Hình 2.9 minh họa ý tưởng này Chúng ta gọi chuỗi các ký tự
này (theo thứ tự rời rạc hóa) là từ (word)
và sau đó tra trong bảng Gauss
Trang 36Hình 2.11 Bảng thống kê dùng để tra những điểm ngắt theo phân bố Gauss
với số vùng phân bố từ 3 đến 10 ([4])
Rời rạc hóa về chuỗi ký tự cho một chuỗi có chiều dài n = 128, w = 8, a = 3
và ta được một tràng ký tự baabccbc mà ta gọi là một từ (word) hay một đặc trưng
Trang 37 Độ đo trên hai chuỗi dữ liệu sau khi qua phép biến đổi PAA
(Hình 2.13C) cho ta khoảng cách giữa hai hệ số PAA [4] thông qua việc tra hàm
dist() theo bảng theo qui tắc sau:
Các giá trị trong bảng tra được tính từ các điểm ngắt (break points)
Với giá trị α cho trước, bảng tra cứu chỉ được tính một lần và lưu trữ lại để tra cứu khoảng cách một cách nhanh chóng Hàm MINDIST được minh họa trực quan như hình 2.13 bên dưới
Ưu điểm:
Vì không gian được thu giảm là các ký tự và rời rạc nên có thể tận dụng được các giải thuật và cấu trúc dữ liệu xử lý trên dữ liệu chuỗi, dữ liệu rời rạc như
kỹ thuật băm, mô hình Markov, cây hậu tố
Định nghĩa được hàm tính khoảng cách trên không gian thu giảm thỏa mãn chặn dưới, điều mà nhiều phương pháp rời rạc hóa khác không có được
Bảng ánh xạ khoảng cách giữa 2 ký tự được tính toán trước một lần cho mỗi loại dữ liệu, sau đó tính toán khoảng cách rất nhanh thông qua bảng này