CẤU TRÚC CHỈ MỤC CHO DỮ LIỆU CHUỖI THỜI GIAN VỚI ĐỘ ĐO KHOẢNG CÁCH XOẮN THỜI GIAN ĐỘNG .... 1.2 Cấu trúc chỉ mục cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động Cấu trúc chỉ mụ
Trang 1Đại Học Quốc Gia Tp Hồ Chí Minh
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA - ĐHQG - 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 : PGS TS Lê Hoài Bắc
Cán bộ chấm nhận xét 2 : TS Võ Thị Ngọc Châu
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 18 tháng 07 năm 2012
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: \ 1 TS Bùi Hoài Thắng
2 PGS TS Lê Hoài Bắc
3 TS Võ Thị Ngọc Châu
4 PGS TS Dương Tuấn Anh
5 TS Lê Thanh Vân
Xác nhận của Chủ tịch Hội đồng đánh giá LV 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ó) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA…………
Trang 3ĐẠ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Õ TUỆ LINH MSHV: 00708198
Ngày, tháng, năm sinh: 05/09/1984 Nơi sinh: Tiền Giang
Chuyên ngành: Khoa học máy tính Mã số :
I TÊN ĐỀ TÀI:
CẤU TRÚC CHỈ MỤC CHO DỮ LIỆU CHUỖI THỜI GIAN VỚI ĐỘ ĐO KHOẢNG CÁCH XOẮN THỜI GIAN ĐỘNG
II NHIỆM VỤ VÀ NỘI DUNG:
Nghiên cứu so sánh hiệu quả của hai cấu trúc chỉ mục: cấu trúc chỉ mục R-Tree và cấu trúc chỉ mục dựa trên lưới khi áp dụng vào giải thuật tìm kiếm chuỗi con tương đồng nhất 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ý) TRƯỞNG KHOA….………
(Họ tên và chữ ký)
Trang 4LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành và sâu sắc đến PGS TS Dương Tuấn Anh, người thầy đã tận tình hướng dẫn tôi trong suốt quá trình học Cao học và tạo mọi điều kiện để tôi có thể hoàn thành luận văn này
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 tốt nhất để tôi có thể tiếp tục theo đuổi việc học tập và nghiên cứu Tôi trân trọng dành tặng thành quả của luận văn này cho chồng của tôi Nhờ sự động viên của anh, mà tôi có thể vượt qua mọi khó khăn để có được thành quả như ngày hôm nay
Trang 5TÓ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 Một trong các bài toán khai phá dữ liệu chuỗi thời gian là bài toán tìm kiếm tương tự Bài toán tìm kiếm tương tự trong cơ
sở dữ liệu chuỗi thời gian là một bài toán thú vị và đầy thử thách Bởi vì bản chất số chiều cao của dữ liệu, hầu hết những lời giải được đưa ra là thu giảm số chiều, và xây dựng cấu trúc chỉ mục nhiều chiều cho dữ liệu thu giảm
Hầu hết những giải thuật đã được sử dụng để đánh chỉ mục cho chuỗi thời gian
sử dụng độ đo khoảng cách Euclid, nhưng độ đo Euclid thì rất thô và không chính xác Điều chúng tôi cần là một phép đo cho phép một phép dịch mềm dẻo trên hệ trục tọa độ Đó chính là độ đo khoảng cách xoắn thời gian động Bởi vì sự mềm dẻo của độ đo xoắn thời gian động, nó được sử dụng rộng rãi trong khoa học, y khoa, công nghiệp và tài chính
Đề tài này tìm hiểu về các cấu trúc chỉ mục cho dữ liệu chuỗi thời gian với độ
đo xoắn thời gian động(DTW) Thông qua hai cấu trúc chỉ mục R-Tree và cấu trúc chỉ mục dựa trên lưới, chúng tôi so sánh hiệu quả của hai cấu trúc chỉ mục này khi giải quyết bài toán tìm K láng giềng gần nhất với độ đo xoắn thời gian động
Trang 6
ABSTRACT
The representation of time series plays more and more important role in time series data mining problems One of problems relating to time series data mining is Similarity Search Similarity search in large time series databases is an interesting and challenging problem Because of the high dimensional nature of the data, the difficulties associated with dimensionality curse arise The most promising solution
is to use dimensionality reduction, and construct a multi-dimensional index structure for the reduced data
Most algorithms used to index time series utilize the Euclidean distance or some variation thereof However, it has been forcefully shown that the Euclidean distance is a very brittle distance measure What is needed is a method that allows
an elastic shifting of the time axis It is Dynamic Time Warping(DTW) Because of this flexiblility, DTW is widely used in science, medicine, industry and finance This thesis researchs about indexing for time series using Dynamic Time Warping (DTW) With R-Tree and grid-based indexing, we compare the efficiency
of these methods in KNN Search using dynamic time warping
Trang 7LỜ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õ Tuệ Linh
Trang 8MỤC LỤC
LỜI CẢM ƠN i
TÓM TẮT LUẬN VĂN ii
ABSTRACT iii
MỤC LỤC v
DANH MỤC HÌNH vii
DANH MỤC BẢNG ix
Chương 1: Giới thiệu 1
1.1 Dữ liệu chuỗi thời gian 2
1.2 Cấu trúc chỉ mục cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động 3
1.3 Mục tiêu nghiên cứu 4
1.4 Kết quả đạt được 5
1.5 Cấu trúc của đề cương luận văn 6
Chương 2: Tổng thuật về các công trình liên quan 7
2.1 Các công trình về độ đo tương tự 7
2.1.1 Độ đo Minkowski 7
2.1.2 Phương pháp chuỗi con chung dài nhất (Longest Common Subsequence – LCS) 9
2.1.3 Độ đo khoảng cách xoắn thời gian động 10
2.2 Các cấu trúc chỉ mục cho dữ liệu chuỗi thời gian 12
2.2.1 Cấu trúc chỉ mục cây hậu tố 12
2.2.2 Cấu trúc chỉ mục R-tree 13
2.2.3 Khung thức GEMINI (GEneric Multimedia INdexIng) 13
2.3 Đánh chỉ mục chính xác cho độ đo khoảng cách xoắn thời gian động 14
2.3.1 Chặn dưới cho DTW 15
Trang 92.3.2 Đánh chỉ mục cho DTW sử dụng LB_Keogh 21
Chương 3: Cơ sở lý thuyết 30
3.1 Cấu trúc chỉ mục R-Tree 30
3.1.1 Giới thiệu về R-Tree 30
3.1.2 Cấu trúc chỉ mục R-Tree 31
3.1.3 Tìm kiếm và cập nhật 32
3.2 Cấu trúc chỉ mục dựa trên lưới 38
3.2.1 Tổng quát về cách tiếp cận 38
3.2.2 Biểu diễn dữ liệu 40
3.3 Tìm kiếm K láng giềng gần nhất của DTW 48
Chương 4: Hiện thực và thử nghiệm 51
4.1 Hiện thực 51
4.1.1 Giao diện người dùng 51
4.1.2 Kiến trúc của chương trình 53
4.2 Thử nghiệm 54
Chương 5: Kết luận và hướng phát triển 59
5.1 Kết luận 59
5.2 Hướng phát triển 59
Tài liệu tham khảo 60 PHỤ LỤC A: BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH-VIỆT……….A1 PHỤ LỤC B: LÝ LỊCH TRÍCH NGANG……….A3
Trang 10DANH MỤC HÌNH
Hình 1.1: Chuỗi thời gian giá trị cổ phiểu của Microsoft từ 29/11/2001 tới
29/11/2002 1
Hình 1.2: Một sự so sánh trực quan giữa khoảng cách Euclid và DTW ([21]) 3
Hình 1.3: Biểu đồ 2 tập dữ liệu thực tế: Shuttle và Koski_ecg ( [21]) 4
Hình 2.1: Trường hợp 2 chuỗi có đường cơ bản lệch nhau và biên độ dao động khác nhau ([15]) 9
Hình 2.2: A) Hai chuỗi thời gian tương đồng Q và C nhưng lệch pha B) Để đo khoảng cách chuỗi thời gian, chúng tôi xây dựng ma trận xoắn thời gian động và tìm kiếm cho đường xoắn thời gian động tối ưu nhất, được trình bày bằng những hình vuông đậm C) Kết quả của phép đo ( [7]) 11
Hình 2.3: Cây hậu tố cho các chuỗi S1=babab, S2=aab, S3=baa ([32]) 13
Hình 2.4: Minh họa cấu trúc R-tree cho dữ liệu không gian([1]) 14
Hình 2.5: Phương pháp đo chặn dưới được đưa ra bởi Kim ([7]) 17
Hình 2.6: Chặn dưới được đưa ra bởi Yi ([7]) 17
Hình 2.7: Ràng buộc toàn cục hạn chế phạm vụ của đường xoắn, hạn chế chúng ra khỏi khu vực màu xám Hai ràng buộc phổ biến nhất: Sakoe-Chiba và Itakura ([7]) 18
Hình 2.8: Ví dụ về ràng buộc cục bộ (nguồn [11]) 19
Hình 2.9: Một minh họa cho chuỗi U và L được tạo ra cho chuỗi Q A được tạo ra sử dụng dải Sakoe-Chiba và B sử dụng dải Itakura (nguồn [7]) 20
Hình 2.10: Một minh họa của hàm tính chặn dưới LB_Keogh(Q,C) ([7]) 21
Hình 2.11: Biểu diễn PAA cho một chuỗi chiều dài 256 thu giảm tới 16 chiều ([7]) 23
Hình 2.12: Chúng tôi minh họa U^ và ^ L như là những hàm hằng số, mà không có giao giữa U và L([7]) 24
Hình 2.13: A)Một biểu diễn của MBR B) Một tập con của truy vấn C) Một minh họa của hàm MINDIST ([7]) 25
Hình 3.1a: Cấu trúc cây R Tree ([1]) 32
Hình 3.1b: Quan hệ che phủ giữa các hình chữ nhật ([1]) 33
Hình 3.2: Minh họa việc tách nút ([1]) 37
Trang 11Hình 3.3: Thu giảm số chiều dựa trên lưới, đường dày là đường xấp xỉ chuỗi thời
gian ([21]) 39
Hình 3.4: Chuỗi thời gian thực tế: (A) trường hợp rất hiếm, (B) trường hợp phổ biến ([22]) 39
Hình 3.5: Xác định những phân đoạn của chuỗi thời gian được lượng tử hóa ([18]) 42
Hình 3.6: Thu giảm điểm dữ liệu của v với kĩ thuật DDR Bốn hình chữ nhật màu xám biểu diễn những vùng chịu đựng lỗi ([18]) 42
Hình 3.7: Biểu diễn của một chuỗi thời gian, n bit nhị phân biểu thị dữ liệu nào trong v bị bỏ qua Những ô vuông xác định giá trị lượng tử hóa (i) của điểm dữ liệu (v i)([18]) 43
Hình 3.8: Chặn trên và chặn dưới (A) q i lớn hơn giá trị chặn trên của giá trị được lượng tử hóa i của v i (B) q i nhỏ hơn giá trị được lượng tử hóa i của v i (C) q i có giá trị được lượng tử hóa giống như i của v i (nguồn [26]) 44
Hình 3.9: Chặn trên và chặn dưới (A) q i lớn hơn giá trị chặn trên của giá trị được lượng tử hóa i của v i cộng với một hệ số chịu đựng lỗi (B) q i nhỏ hơn giá trị được lượng tử hóa i của v i trừ đi hệ số chịu đựng lỗi (C) q i có giá trị được lượng tử hóa giống như i của v i trong hệ số chịu đựng lỗi ([18]) 45
Hình 4.1: Phần nhập liệu của form giao diện 51
Hình 4.2: Phần xuất kết quả của form giao diện 52
Hình 4.3: Kiến trúc của chương trình 53
Hình 5.1: Độ chặt chặn dưới 57
Hình 5.2:Số lần truy xuất đĩa 58
Trang 12DANH MỤC BẢNG
Bảng 2.1: Mã giả giải thuật xây dựng chỉ mục GEMINI ([4]) 15
Bảng 2.2: Một giải thuật mà sử dụng phương pháp đo chặn dưới để tăng tốc việc quét tuần tự cho một chuỗi truy vấn Q ([7]) 16
Bảng 2.3: Giải thuật K-NN để tính toán chính xác K láng giềng gần nhất của một chuỗi thời gian truy vấn Q sử dụng cấu trúc chỉ mục đa chiều(nguồn [7]) 28
Bảng 2.4: Giải thuật tìm kiếm phạm vi để truy xuất tất cả những chuỗi thời gian trong một phạm vi của từ chuỗi thời gian truy vấn Q Hàm này được gọi như là RangeSearch(Q, ε, root_node_of_index)([7]) 29
Bảng 3.1: Giải thuật xây dựng file chỉ mục DDR ([22]) 46
Bảng 3.2: Giai đoạn tinh lọc sử dụng DDR([22]) 47
Bảng 3.3: Giai đoạn tinh chế ([22]) 48
Bảng 3.4: Giải thuật k-NN để tìm ra k láng giềng gần nhất của truy vấn Q([21]) 50
Bảng 5.1: Kết quả thực nghiệm trên 4 tập dữ liệu: Income, GDP, Inflation và Power Data 56
Trang 13Chương 1: Giới thiệu
Dữ liệu chuỗi thời gian đang phát triển mạnh mẽ trong nhiều ứng dụng cơ sở
dữ liệu mới như là kho dữ liệu và khai phá dữ liệu Một chuỗi thời gian là một chuỗi của những số thực, mỗi số đại diện cho một giá trị ở một thời điểm Những ví dụ tiêu biểu về chuỗi thời gian bao gồm giá chứng khoán, hoặc tỉ lệ trao đổi tiền tệ, những đo lường trong y khoa, hay dữ liệu thời tiết…mà những dữ liệu này được thu thập suốt thời gian
Phân tích chuỗi thời gian bao gồm những phương pháp cho việc phân tích dữ tiệu chuỗi thời gian để rút trích ra những thống kê có nghĩa và những đặc tính khác của dữ liệu Dự báo chuỗi thời gian là sử dụng một mô hình để dự đoán về những sự kiện tương lai dựa trên những sự kiện quá khứ để tiên đoán những điểm dữ liệu trước khi chúng được xác định Một ví dụ về dự báo chuỗi thời gian trong kinh tế là tiên đoán giá khởi điểm của chứng khoán dựa trên kết quả trong quá khứ Hình 1.1
là biểu diễn của chuỗi thời gian Nó là chuỗi thời gian giá trị cổ phiếu của Microsoft
từ 29/11/2001 tới 29/11/2002
Hình 1.1: Chuỗi thời gian giá trị cổ phiểu của Microsoft từ 29/11/2001 tới 29/11/2002
Trang 141.1 Dữ liệu chuỗi thời gian
Định nghĩa 1.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 Trong đề tài này, chúng tôi chỉ xem xét với t i là các giá trị thực
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… Việc khai phá
dữ liệu chuỗi thời gian đã thu hút rất nhiều sự nghiên cứu trên thế giới Cụ thể là một số lĩnh vực nghiên cứu sau:
Tìm kiếm tương tự (Similarity Search): 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 DB nào đó
Gom cụm (clustering): tìm những sự phân nhóm theo tự nhiên của những
chuỗi thời gian trong cơ sở dữ liệu DB theo một hàm tính độ tương tự D(Q,C)
Phân lớp (Classification): cho một chuỗi thời gian chưa gán nhóm Q, gán
nó vào một trong những nhóm đã được định nghĩa trước
Tóm tắt (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 (Anomaly detection): cho một chuỗi thời gian Q, và
một vài mô hình hành vi bình thường (normal behavior), tìm tất cả những phần thuộc Q có chứa bất thường Ngoài ra còn có nhiều tên gọi khác cho lĩnh vực này như phát hiện những hành vi gây ngạc nhiên (surprising behavior), hành vi quan
tâm (interesting behavior), hành vi không mong đợi (unexpected behavior), hành vi
lạ thường (novel behavior) Đồng thời có rất nhiều định nghĩa như thế nào gọi là bất
thường
Trang 151.2 Cấu trúc chỉ mục cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Cấu trúc chỉ mục cho cơ sở dữ liệu chuỗi thời gian đã thu hút sự quan tâm của cộng đồng cơ sở dữ liệu trong những năm gần đây Hầu hết những nghiên cứu trong lĩnh vực này tập trung vào việc cấu trúc chỉ mục dưới độ đo khoảng cách Euclid Tuy nhiên khoảng cách Euclid là độ đo khoảng cách rất thô Điều chúng tôi cần là một phương pháp mà cho phép một phép chuyển dịch mềm dẻo trên hệ trục tọa độ,
để xác định những chuỗi con tương đồng D Berndt and J Clifford vào đã giới thiệu độ đo tương tự mới, xoắn thời gian động (dynamic time warping – DTW) vào năm 1994 [9] Khoảng cách DTW phản ánh sự tương đồng chính xác của chuỗi thời gian hơn là khoảng cách Euclid Hình 1.1 đưa ra hai chuỗi con có thể có khoảng cách Euclid lớn, nhưng với DTW bằng việc canh từ đỉnh tới đỉnh, đáy tới đáy, có thể phát hiện ra sự tương đồng thật sự của hai chuỗi thời gian này
Hình 1.2: Một sự so sánh trực quan giữa khoảng cách Euclid và DTW ([21])
Để đánh chỉ mục cho chuỗi thời gian với độ đo xoắn thời gian động với cấu trúc chỉ mục đa chiều, mỗi điểm dữ liệu trên chuỗi thời gian tương ứng với một tọa
độ của không gian hai chiều Do đó mỗi chuỗi thời gian trở thành một điểm trong không gian có chiều và những chuỗi thời gian tương đồng sẽ có khoảng cách rất nhỏ trong không gian này.Tuy nhiên không gian thường có số chiều rất cao, khoảng hàng trăm hoặc hàng ngàn chiều Với dữ liệu đa chiều, cấu trúc chỉ mục R-tree không thể tỉa bớt nhiều đối tượng và tất cả những nút trong cấu trúc cây sẽ được kiểm tra Điều này làm giảm đi tính hiệu quả của R-tree tệ hơn dò tìm tuần tự bởi vì truy xuất ngẫu nhiên của R-tree thì không hiệu quả so với truy xuất tuần tự
Trang 16Một phương pháp cấu trúc chỉ mục khác cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động được đưa ra bởi Jiyuan An và các cộng sự vào năm 2004 [21],
gọi là cấu trúc chỉ mục dựa trên lưới(grid based index) Mỗi chuỗi thời gian có đặc
tính riêng của nó; một điểm dữ liệu trong chuỗi thời gian có một vài quan hệ với những láng giềng của nó Chúng tôi có thể minh họa sự khác biệt của những điểm
dữ liệu kế cận trên một chuỗi thời gian như sau Đầu tiên, chúng tôi chuẩn hóa tất cả những điểm dữ liệu trong chuỗi thời gian vào khoảng [0,1], và sau đó tính toán sự khác biệt với những điểm dữ liệu trước đó của nó Hình 1.2 trình bày biểu đồ về sự khác biệt của hai tập dữ liệu thực tế, Shuttle và Koski-ecg[21] Từ hình vẽ này chúng tôi thấy rằng hơn 90% của dữ liệu có sự khác biệt ít hơn 0.01 với những điểm
dữ liệu trước đó của nó Như vậy hầu hết những điểm dữ liệu có giá trị tương tự với những điểm dữ liệu kế cận của nó Jiyuan An và các cộng sự đưa ra một phương pháp thu giảm số chiều mới mà sẽ bỏ qua những điểm dữ liệu mà có giá trị tương tự với giá trị dữ liệu trước [21] Phương pháp thu giảm số chiều này được gọi là Lưới (Grid)
Hình 1.3: Biểu đồ 2 tập dữ liệu thực tế: Shuttle và Koski_ecg ( [21])
1.3 Mục tiêu nghiên cứu
Trong đề tài này chúng tôi tập trung đi tìm hiểu về các cấu trúc chỉ mục cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động: cấu trúc chỉ mục R-Tree và cấu trúc chỉ mục dựa trên lưới Sau đó chúng tôi sẽ đi tìm chuỗi con tương đồng nhất dựa vào hai cấu trúc chỉ mục này, và so sánh các kết quả Cụ thể chúng tôi có bốn mục tiêu như sau:
Trang 17 Tìm hiểu về cấu trúc chỉ mục R-Tree với độ đo xoắn thời gian động và
độ chặt chặn dưới Keogh_PAA Để đơn giản sau này chúng tôi sẽ gọi phương pháp này là Keogh_PAA
Tìm hiểu cấu trúc chỉ mục dựa vào lưới cho độ đo khoảng cách xoắn thời gian động Để đơn giản sau này chúng tôi sẽ gọi phương pháp này
Hiểu về cấu trúc chỉ mục R-Tree
Hiểu về chặn dưới theo phương pháp Keogh_PAA
Hiểu về giải thuật tìm kiếm K chuỗi con tương tự nhất sử dụng cấu trúc chỉ mục R-Tree và chặn dưới Keogh_PAA
Hiểu về một cách thu giảm số chiều mới do Jiyuan và các cộng sự đề nghị năm 2003 [18], đó là cách thu giảm số chiều theo dữ liệu (gọi là biểu diễn DDR)
Hiểu về cấu trúc chỉ mục dựa trên lưới, và tạo file chỉ mục cho dữ liệu chuỗi thời gian như Jiyuan và các cộng sự đề nghị [18]
Hiểu về chặn dưới theo lưới như được đưa ra bởi Jiyuan và các cộng sự [18]
Hiện thực giải thuật tìm kiếm K chuỗi con tương đồng nhất theo cả hai phương pháp Keogh_PAA và Grid
Trang 18 Thông qua thử nghiệm chúng tôi vẫn chưa thể kết luận được Grid hay Keogh_PAA tốt hơn về phương diện độ chặt của chặn dưới và số lần truy xuất đĩa
1.5 Cấu trúc của đề cương luận văn
Phần còn lại của đề cương luận văn cáo được tổ chức như sau:
Trong chương hai, chúng tôi sẽ tóm tắt ngắn gọn về các công trình liên quan, bao gồm các công trình liên quan về độ đo tương tự, các công trình về cấu trúc chỉ mục, các phương pháp xác định chặn trên và chặn dưới, cũng như các công trình liên quan tới tìm chuỗi con bất thường nhất
Trong chương ba, sẽ trình bày về các cơ sở lí thuyết cho đề tài như cấu trúc chỉ mục R-Tree và cấu trúc chỉ mục dựa trên lưới với độ đo xoắn thời gian động
Hiện thực và thử nghiệm sẽ được trình bày trong chương 4
Kết luận và hướng phát triển sẽ được trình bày trong chương 5
Trang 19Chương 2: Tổng thuật về các công trình liên quan
Chương 2 sẽ tổng thuật các công trình liên quân về độ đo tương tự, các phương pháp lập chỉ mục không gian, kỹ thuật đánh chỉ mục chính xác cho độ đo khoảng cách xoắn thời gian động
2.1 Các công trình về độ đo tương tự
Trong mọi bài toán về chuỗi thời gian nói chung hay bài toán tìm kiếm chuỗi con bất đồng nói riêng, việc tính toán độ tương tự (khoảng cách) của hai đối tượng
O 1 , O 2 là vấn đề cơ bản và rất quan trọng Hai đối tượng được xem là giống nhau khi khoảng cách của chúng bằng 0, là tương tự nhau khi khoảng cách của chúng nhỏ
hơn một giá trị ngưỡng nào đó Và với một hàm tính độ tương tự D(x, y), các tính
i i i
Trang 20Mặc dù có nhiều sự lựa chọn khác nhau cho p, nhưng người ta thường chọn p = 2 vì
những ưu điểm sau:
Ưu điểm:
Tính toán dễ dàng
Có thể áp dụng trong nhiều bài toán như phân loại, gom cụm, tìm kiếm tương
tự Thích hợp cho nhiều phép biến biểu diễn xấp xỉ như DFT, DWT, PAA, hay APCA …
Nhược điểm:
Nhạy cảm với nhiễu
Không thể áp dụng cho các chuỗi thời gian có đường cơ bản (base line) biến đổi giống nhau nhưng lệch nhau về thời gian hoặc biên độ (amplitude) khác
nhau (xem hình 2.1)
Để khắc phục nhược điểm này, trước khi tính khoảng cách, ta cần chuẩn hóa các
chuỗi thời gian Một cách chuẩn hóa được sử dụng phổ biến là đưa về dạng trung
bình zero (zero-mean) và độ lệch chuẩn (deviation) là 1
Trang 21(1) Đường cơ bản khác nhau (2)Biên độ dao động khác nhau Hình 2.1: Trường hợp 2 chuỗi có đường cơ bản lệch nhau và biên độ dao động khác
nhau ([15])
Ví dụ, cho Q có giá trị trung bình là mean(Q) và độ lệch chuẩn là var(Q), Q’ là chuỗi chuẩn hóa của Q được tính như sau:
Q’[i] = (Q[i] – mean(Q))/var(Q)
2.1.2 Phương pháp chuỗi con chung dài nhất (Longest Common Subsequence – LCS)
Phương pháp LCS do Vlachos và các cộng sự đề ra năm 2004[25] Điểm nổi bật của phương pháp này là nó cho phép bỏ qua những điểm bất thường khi so sánh
Ý tưởng chính của phương pháp này là tìm những chuỗi con chung Hai chuỗi có
chuỗi con chung càng dài thì càng giống nhau Ví dụ, cho 2 chuỗi X, Y:
X = 3, 2, 5, 7, 4, 8, 10, 7
Y = 2, 5, 4, 7, 3, 10, 8, 6
LCS = 2, 5, 7, 10 => Dist(X,Y) = |LCS| = 4
Ưu điểm:
Trang 22 Thể hiện tính trực quan của dữ liệu và cho phép bỏ qua những điểm bất thường
Nhược điểm:
Cũng giống phương pháp Euclid, dữ liệu nên được chuẩn hóa trước khi áp
dụng phương pháp này, nhằm tránh hiện tượng tịnh tiến (shifting) đường cơ bản hay co giãn (scaling) biên độ
2.1.3 Độ đo khoảng cách xoắn thời gian động
Giả sử chúng tôi có 2 chuỗi thời gian Q và C, chiều dài n và m, sao cho:
Q = q 1 ,q 2 ,… ,q i ,….q n
C = c 1 ,c 2 ,……,c i ,….c n
Để đo khoảng cách hai chuỗi thời gian sử dụng DTW, chúng tôi xây dựng một
ma trận n x m mà ở đó phần tử (i,j) của ma trận chứa khoảng cách d(q i ,c j ) giữa hai
điểm q i , và c j (ví dụ d(q i ,c j ) = (q i – c j ) 2 ) Mỗi phần tử ma trận (i,j) tương ứng với khoảng cách giữa hai điểm q i , và c j Điều này được minh họa trong hình 2.2 Một
đường xoắn W là liên tục của những phần tử ma trận xác định một ánh xạ giữa Q và
C Phần tử thứ k của W được định nghĩa như là w k = (i,j) k
Vì thế chúng tôi có W = w 1 ,w 2 ,…….w k ,……w K max(m,n) ≤ K < m + n -1
Đường xoắn thời gian động có vài ràng buộc:
Ràng buộc biên: w 1 = (1,1) và w K = (m,n) Điều này đòi hỏi đường
xoắn thời gian động bắt đầu và hoàn tất trong những ô góc đối diện của ma trận
Liên tục: Cho w k = (a,b), thì w k-1 = (a’, b’), mà ở đó a – a’≤ 1 và b – b’ ≤ 1 Điều này hạn chế những bước được phép trong đường xoắn
thời gian động đến những ô kế cận
Đơn điệu: Cho w k = (a,b), thì w k-1 = (a’, b’), mà ở đó a – a’ ≥ 0 và b – b’ ≥ 0 Điều này ép buộc những điểm trong W là đơn điệu
Trang 23Có rất nhiều đường xoắn động thõa mãn điều kiện trên Tuy nhiên chúng tôi chỉ quan tâm đến đường mà cực tiểu chi phí đường xoắn động:
1( , ) min
K k k
Hình 2.2: A) Hai chuỗi thời gian tương đồng Q và C nhưng lệch pha B) Để đo khoảng
cách chuỗi thời gian, chúng tôi xây dựng ma trận xoắn thời gian động và tìm kiếm cho đường xoắn thời gian động tối ưu nhất, được trình bày bằng những hình vuông
đậm C) Kết quả của phép đo ( [7])
Đường này có thể được tìm thấy bằng việc sử dụng lập trình động để đánh giá
sự truy toán dưới đây, xác định khoảng cách tích lũy γ(i,j) như khoảng cách d(i,j)
được tìm thấy trong ô hiện tại, và cực tiểu của khoảng cách tích lũy của những phần
tử kế cận
( , )i j d q c( ,i j) min{ (i 1, j 1), (i 1, ), ( ,j i j 1)
Khoảng cách Euclid giữa hai chuỗi có thể được thấy như là một trường hợp
đặc biệt của DTW mà ở đó phần tử thứ k của W là w k = (i,j) k , i = j = k Chú ý rằng
nó chỉ được xác định trong trường hợp đặc biệt mà ở đó hai chuỗi có chiều dài
giống nhau Độ phức tạp thời gian và không gian của DTW là O(nm) Hình 2.2 minh họa cách tính độ đo xoắn thời gian động giữa hai chuỗi thời gian Q và C
Trang 242.2 Các cấu trúc chỉ mục cho dữ liệu chuỗi thời gian
Chuỗi dữ liệu thời gian chiều dài n có thể được xem là một điểm trong không gian n chiều Sau khi thu giảm vào không gian m chiều (m << n), chuỗi thời gian trở thành một điểm trong không gian m chiều Cho nên nhiều cấu trúc chỉ mục trong
cơ sở dữ liệu không gian (R-tree, R+-tree, R*-tree, K-D-tree…) được sử dụng sau khi áp dụng phương pháp thu giảm chiều Tuy nhiên, các cấu trúc chỉ mục này chỉ hiệu quả hơn phương pháp tìm kiếm tuần tự nếu số chiều nhỏ hơn 20 (ngược lại sẽ suy giảm về phương pháp tuần tự, thậm chí còn tệ hơn) Do đó mà nhiều phương pháp đã tự đề xuất cấu trúc chỉ mục cho riêng mình Tuy vậy, R-tree vẫn được đa số các phương pháp sử dụng và được sử dụng nhiều trong các thí nghiệm đánh giá khác nhau Nếu dữ liệu là các ký tự hoặc các bit rời rạc, ta có thể sử dụng cây hậu tố
để lập chỉ mục Nhưng cây hậu tố có nhược điểm là sẽ bùng nổ số nút khi số lượng phân lớp tăng và không thích hợp với các tập dữ liệu lớn Sau đây chúng tôi sẽ giới thiệu cấu trúc chỉ mục cây hậu tố, R-tree và tổng quát lên là một framework chung
để lập chỉ mục với các cấu trúc chỉ mục không gian
2.2.1 Cấu trúc chỉ mục cây hậu tố
Cấu trúc chỉ mục cây hậu tố [32], do S Park và các cộng sự đề xuất năm 2000 (xem hình 2.3), có cạnh được gán nhãn là các ký tự trong chuỗi và một nút cha có
thể có nhiều nút con (xem hình 2.3) Nút lá là nút chứa số thứ tự i (đối với trường
hợp lập chỉ mục cho một chuỗi duy nhất) Các nhãn được gán trên đường đi từ nút
gốc đến nút lá là một hậu tố từ vị trí thứ i đến vị trí cuối của chuỗi được lập chỉ mục Trong trường hợp lập chỉ mục cho nhiều chuỗi, nút lá chứa số thứ tự i và một định danh S xác định chuỗi đang được lập chỉ mục Như vậy, đường đi từ nút gốc tới nút lá (S, i) xác định một hậu tố từ vị trí thứ i trong chuỗi S đến vị trí cuối cùng của S [32] Độ phức tạp để xây dựng cây hậu tố là tuyến tính theo chiều dài của
chuỗi
Trang 25Hình 2.3: Cây hậu tố cho các chuỗi S1=babab, S2=aab, S3=baa ([32])
2.2.2 Cấu trúc chỉ mục R-tree
Cấu trúc R-tree [1] do A Guttman đề nghị năm 1984 là cấu trúc cây cân bằng
dựa trên cây B-tree (xem hình 2.4) Mỗi nút trong cây chứa từ m đến M dữ liệu (hai
thông số này được xác định trong quá trình xây dựng cây R-tree) Mỗi điểm dữ liệu
trong không gian được chứa bởi một hình chữ nhật bao nhỏ nhất (minimum
bounding rectangle – MBR) Các MBR này có thể giao nhau (đây cũng là một nhược điểm của R-tree vì nó làm chậm quá trình tìm kiếm, do đó yêu cầu là các MBR này càng ít giao nhau càng tốt) Mỗi nút lá chứa con trỏ tới dữ liệu thật sự
2.2.3 Khung thức GEMINI (GEneric Multimedia INdexIng)
Phương pháp GEMINI [4], do C Faloutsos và các cộng sự đề xuất năm 1994, tổng quát hóa cách lập chỉ mục cho dữ liệu chuỗi thời gian, kết hợp sử dụng bất kỳ phương pháp thu giảm số chiều nào và bất kỳ phương pháp lập chỉ mục không gian nào Kỹ thuật này được giới thiệu đầu tiên cho dữ liệu chuỗi thời gian, nhưng đã được mở rộng thành công cho nhiều loại dữ liệu khác
Trang 26Ngoài ra, framework GEMINI còn định nghĩa các giải thuật tổng quát cho bài
toán truy vấn phạm vi (range query) và tìm k lân cận gần nhất (k-nearest neighbor)
[4]
Hình 2.4: Minh họa cấu trúc R-tree cho dữ liệu không gian([1])
2.3 Đánh chỉ mục chính xác cho độ đo khoảng cách xoắn thời gian động
Hầu hết những cấu trúc chỉ mục được trình bày trong phần 2.2 làm việc với độ
đo khoảng cách Euclid Trong phần này sẽ trình bày về một số phương pháp đánh chỉ mục mà sử dụng khoảng cách DTW Như đã đề cập ở trên, khoảng cách DTW thi chính xác và mềm dẻo hơn so với khoảng cách Euclid Trước hết chúng tôi sẽ đi trình bày về tầm quan trọng của chặn dưới và sau đó giới thiệu một số phương pháp đánh chỉ mục cho độ đo khoảng cách xoắn thời gian động
Trang 27Bảng 2.1: Mã giả giải thuật xây dựng chỉ mục GEMINI ([4])
Algorithm BuildIndex(Y,n); //Y là tập dữ liệu, n là kích thước cửa sổ
for i = 1 to K //Duyệt các chuỗi được lập chỉ mục
Yi Yi – mean(Yi); //Tùy chọn: loại bỏ giá trị trung bình của Y i
Yi’ Phương pháp biến đổi (Yi); //Bất kỳ kỹ thuật thu giảm chiều nào Thêm Y i ’ vào phương pháp truy cập không gian với 1 pointer tới Y i
trên đĩa
end;
2.3.1 Chặn dưới cho DTW
Tầm quan trọng của chặn dưới
Tìm kiếm tương tự cho chuỗi thời gian với khoảng cách Euclid thì bị hạn chế nặng nề bởi I/O, tuy nhiên tìm kiếm tương tự với khoảng cách Euclid thì cũng tốn nhiều thời gian CPU Một cách để giải quyết vấn đề này là sử dụng hàm đo chặn dưới để giúp loại bỏ những chuỗi con mà không phải là trùng khớp tốn nhất nhanh chóng Bảng 2.2 trình bày mã giải cho giải thuật như vậy:
Có hai tính chất mong muốn cho chặn dưới:
Nó phải nhanh để tính toán Rõ ràng một độ đo mà mất nhiều thời gian để tính toán như độ đo ban đầu thì ít được sử dụng Trong trường hợp của chúng tôi, chúng tôi mong muốn độ phức tạp thời gian tuyến tính với chiều dài của chuỗi
Nó phải là ràng buộc tương đối chặt Một hàm có thể đạt được một chặn dưới tầm thường bằng việc luôn trả về 0 Tuy nhiên để cho giải thuật ở Bảng 2.2 hiệu quả, chúng tôi cần một phương pháp mà xấp xỉ gần đúng với khoảng cách Euclid
Chặn dưới được đưa ra bởi Kim
Hàm tính chặn dưới được đưa ra bởi Kim vào năm 2001 [7] làm việc bằng việc trích ra một vector đặc tính có 4 phần tử từ mỗi chuỗi con Những đặc tính này
Trang 28là phần tử đầu tiên và cuối cùng của chuỗi cùng với những giá trị lớn nhất và nhỏ nhất Những sự khác biệt bình phương lớn nhất của những đặc tính tương ứng chính
là chặn dưới Hình 2.5 minh họa ý tưởng này Hiệu số lớn nhất của hai chuỗi con
first(A), last(D), minimum(B) và maximum(C) chính là chặn dưới
Bảng 2.2: Một giải thuật mà sử dụng phương pháp đo chặn dưới để tăng tốc việc quét
tuần tự cho một chuỗi truy vấn Q ([7]) Algorithm Lower_Bounding_Sequential_Scan(Q)
Chặn dưới được đưa ra bởi Yi
Hàm tính chặn dưới được đưa ra bởi Yi vào năm 1998 [7] quan sát tất cả những điểm trong một chuỗi mà lớn hơn (nhỏ hơn) giá trị lớn nhất (nhỏ nhất) của chuỗi khác phải đóng góp ít nhất sự khác biệt bình phương của giá trị của chúng và giá trị
Trang 29lớn nhất (nhỏ nhất) của chuỗi con khác với khoảng cách DTW Hình 2.6 minh họa ý tưởng này Tổng của chiều dài bình phương của những đường màu xám biểu diễn giá trị nhỏ nhất của những điểm tương ứng đóng góp vào khoảng cách DTW toàn cục, do vậy nó là chặn dưới
Hình 2.5: Phương pháp đo chặn dưới được đưa ra bởi Kim ([7])
Hình 2.6: Chặn dưới được đưa ra bởi Yi ([7])
Chặn dưới được đưa ra bởi Keogh và các cộng sự
Những ràng buộc toàn cục trên xoắn thời gian
Ràng buộc toàn cục (global constraint) nhằm mục đích hạn chế việc được
xoắn có thể nằm rải rác bao xa từ gốc Tập con của ma trận mà đường xoắn được
phép viếng thăm được gọi là cửa sổ xoắn(warping window) Hình 2.7 minh họa hai
ràng buộc toàn cục được sử dụng thường xuyên nhất: dải Sakoe-Chiba (1978) và dải Itakura (1975) [7]
Trang 30Hình 2.7: Ràng buộc toàn cục hạn chế phạm vụ của đường xoắn, hạn chế chúng ra khỏi khu vực màu xám Hai ràng buộc phổ biến nhất: Sakoe-Chiba và Itakura ([7])
Có vài lý do cho việc sử dụng ràng buộc toàn cục, một trong những lý do đó là chúng là tăng tốc độ tính toán khoảng cách DTW Tuy nhiên lý do quan trọng nhất
là ngăn ngừa những đường xoắn không đúng, mà ở đó một phần nhỏ tương đối của một ánh xạ chuỗi vào một phần lớn của chuỗi khác Sự quan trọng của ràng buộc toàn cục được trình bày bởi người sáng lập giải thuật DTW – Sakoe and Chiba
1978
Những ràng buộc cục bộ trên xoắn thời gian
Ngoài ràng buộc toàn cục được trình bày ở trên, có những nghiên cứu tích cực
trên ràng buộc cục bộ(local constraint) Ý tưởng cơ bản là hạn chế những được
xoắn được phép, bằng việc cung cấp hạn chế cục bộ trên tập của những bước lựa chọn được xem xét Chúng tôi có thể minh họa sơ đồ của những bước có thể chấp nhận như trong hình 2.8a Đường này mình họa những bước được phép mà đường xoắn có thể lấy ở mỗi giai đoạn Chúng tôi có thể thay thế phương trình (2.1) với
γ(i, j) = d(i, j)+ min {γ(i −1, j −1), γ(i −1, j −2), γ(i −2, j −1)}, mà cái này tương ứng
với những bước đuợc trình bày trong hình 2.8c Sử dụng phương trình này, đường xoắn thời gian bị ràng buộc di chuyển tới một bước chéo cho mỗi bước song song
với một trục tọa độ Độ mạnh hiệu quả của ràng buộc dốc có thể được đo bằng P = n/m Hình 2.8a tới 2.8d minh họa 4 ràng buộc ban đầu được đưa ra bởi Sakoe và
Chiba (1978) [7] Ngụ ý quan trọng của ràng buộc cục bộ cho công việc của chúng tôi là chúng có thể được diễn giải lại như là ràng buộc toàn cục Chúng tôi thấy
Trang 31trong hình 2.7 bên dưới, từ a tới d là 4 ràng buộc cục bộ trên xoắn thời gian động, được đưa ra bởi Sakoe và Chiba (a) trường hợp tầm thường không có ràng buộc tương ứng với phương trình (2.1) γ(i, j) = d(i, j) + min {γ(i−1, j−1), γ(i−1, j), γ(i, j−1)} (c) tương ứng với γ(i, j) = d(i, j)+min {γ(i−1, j−1),γ(i − 1, j − 2), γ(i − 2, j − 1)} Những ràng buộc cục bộ có thể được diễn giải lại như là ràng buộc toàn cục, ví
dụ như (d) có thể được diễn giải lại như là ràng buộc toàn cục được trình bày trong (e)
Để diễn giải lại một ràng buộc cục bộ như là ràng buộc toàn cục, chúng tôi có
thể làm như sau Tạo một ma trận bóng(shadow matrix), mà giống về kích thước
với ma trận DTW Khởi tạo tất cả những phần tử của ma trận bóng là không thể đạt tới được Gọi hàm DTW, sử dụng ràng buộc liên quan, mỗi khi đệ qui viếng thăm
một ô (i,j) trong ma trận DTW ban đầu, ô (i, j) của ma trận bóng có thể được đánh
nhãnh là có thể đạt đến được Thân lồi của tất cả những ô có thể đạt đến được hình thành một dãy mà có thể được diễn giải lại như là ràng buộc toàn cục
Hình 2.8: Ví dụ về ràng buộc cục bộ (nguồn [11])
Phương pháp đo chặn dưới được đưa ra bởi Keogh và các cộng sự
Keogh và các cộng sự đã đưa ra một phương pháp đo chặn dưới mới vào năm
2002 [7] Chúng tôi có thể xem ràng buộc toàn cục và cục bộ như là ràng buộc trên những chỉ mục cho đường xoắn w k = (i, j) k sao cho j − r ≤ i ≤ j + r, mà ở đó r là
một thuật ngữ xác tầm(reach) hoặc là những giới hạn được phép của đường xoắn
Trong trường hợp của Sakoe-Chiba, r độc lập với i, nhưng đối với Itakura, ra là một hàm theo i
Trang 32Chúng tôi sẽ sử dụng thuật ngữ r để định nghĩa hai chuỗi mới U và L:
U i = max(q i-r : q i+r )
L i = min(q i-r : q i+r )
U và L thay thế cho chặn trên (Upper) và chặn dưới (Lower) Chúng tôi có thể hiểu tại sao chúng tôi sắp xếp chúng cùng với chuỗi ban đầu Q như trong hình 2.9 Chúng hình thành một biên mà bao đóng Q giữa phía trên và phía dưới Chú ý rằng
mặc dù dải Sakoe-Chiba có độ rộng hằng số, nhưng biên tương ứng không có một
độ dài đồng nhất Cụ thể biên thì rộng hơn khi chuỗi truy vấn nằm bên dưới đang thay đổi một cách nhanh chóng và hẹp hơn khi chuỗi truy vấn bằng
Hình 2.9: Một minh họa cho chuỗi U và L được tạo ra cho chuỗi Q A được tạo ra sử
dụng dải Sakoe-Chiba và B sử dụng dải Itakura (nguồn [7])
Một tính chất hiển nhiên nhưng quan trọng của U và L là như dưới đây:
∀i U i ≥ q i ≥ L i
Đã định nghĩa U và L, bây giờ chúng tôi sử dụng chúng để định nghĩa cách đo chặn
dưới cho DTW như dưới đây:
2
2 1
Trang 33Hàm này có thể được thấy một cách dễ dàng như là khoảng cách Euclid giữa bất kì phần nào của chuỗi trùng khớp ứng cử viên không rơi vào trong giới hạn và phần tương ứng gần nhất của giới hạn Hình 2.10 mình họa ý tưởng này Chuỗi ban đầu Q
được bao đóng trong giới hạn U và L Tổng bình phương của khoảng cách từ mỗi phần của chuỗi dự tuyển C không rơi vào trong giới hạn và cạnh trực giao gần nhất
của giới hạn được trả về như là chặn dưới Giới hạn A được tạo sử dụng dải Chiba Và giới hạn B được tạo sử dụng dải Itakura
Sakoe-Hình 2.10: Một minh họa của hàm tính chặn dưới LB_Keogh(Q,C) ([7])
Bởi vì tính chặt chẽ của giới hạn tỉ lệ với số và chiều dài của đường màu xám như trong ví dụ, Itakura đưa ra giới hạn chặt chẽ hơn Sakoe-Chiba và cả hai thì chặt chẽ hơn LB_Kim hay LB_Yi vừa được trình bày bên trên
2.3.2 Đánh chỉ mục cho DTW sử dụng LB_Keogh
Như đã trình bày trong phần 2.2.3, cấu trúc chỉ mục cho chuỗi thời gian với khoảng cách Euclid sử dụng khung thức GEMINI bảo đảm rằng không có sự loại bỏ sai Bằng việc sử dụng framework GEMINI, chúng tôi phải làm là chọn ra một biểu
Trang 34diễn cấp cao của dữ liệu và xác định độ đo chặn dưới cho nó Nhiều sự biểu diễn đã được đưa ra bao gồm biến đổi Fourier được đưa ra bởi Faloutsos năm 1994, Wavelets được đưa ra bởi Chan năm 2003….và một kĩ thuật độc lập được đưa ra bởi Keogh và Yi năm 2000 [7] gọi là phương pháp xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation - PAA) Kỹ thuật này thì đơn giản, trực quan Trong phần này chúng tôi sẽ trình bày PAA có thể được sử dụng với khoảng cách DTW như thế nào Chúng tôi bắt đầu với việc mô tả ngắn gọn về PAA
Phương pháp xấp xỉ gộp từng đoạn PAA
Chúng tôi có một chuỗi thời gian trong không gian n chiều, chúng tôi muốn thu giảm vào không gian N chiều Phương pháp PAA, do Keogh và các cộng sự đề xuất năm 2001[7], tuần tự xấp xỉ n/N giá trị liền kề nhau thành một giá trị, là giá trị trung bình cộng của n/N giá trị đó Quá trính bắt đầu từ đầu chuỗi thời gian đến cuối
n
j i N
Để thu giảm số chiều từ n chiều tới N, dữ liệu được phân chia thành N khung
kích thước bằng nhau Giá trị đại diện của dữ liệu rơi vào trong một khung được tính toán, và một vector của những giá trị đó trở thành biểu diễn được thu giảm của
dữ liệu Hình 2.11 là một sự minh họa cho việc biểu diễn này
Cho hai chuỗi Q và C, chúng tôi có thể biến đổi chúng thành Q
Trang 35Chỉnh sửa PAA để đánh chỉ mục cho khoảng cách xoắn thời gian động
Trong phần 2.3.1, chúng tôi đã giới thiệu hàm tính chặn dưới LB_Keogh Tuy nhiên chính toán hàm này đòi hỏi n giá trị Bởi vì n có thể là hàng trăm tới hàng
ngàn và cấu trúc chỉ mục đa chiều bắt đầu giảm nhanh chóng xuống 16 chiều, chúng
tôi cần một cách để tạo ra một phiên bản N chiều thấp hơn Chúng tôi cần phiên bản
N chiều thấp hơn này cho chặn dưới LB_Keogh
Hình 2.11: Biểu diễn PAA cho một chuỗi chiều dài 256 thu giảm tới 16 chiều ([7])
Chúng tôi bắt đầu bằng việc tạo ra xấp xỉ gộp từng đoạn cho U và L, mà chúng
Trang 36Chúng tôi có thể trực quan hóa
và một chuỗi truy vấn Q với hàm PAA U^ và
Bước cuối cùng cần thiết là cho phép cấu trúc chỉ mục xác định một hàm
MINDIST(Q,R) mà trả về một độ đo chặn dưới giữa Q và R mà ở đó R là hình chữ nhật bao nhỏ nhất (Minimum Bounding Rectangle – MBR)
Giả sử cấu trúc chỉ mục của chúng tôi chứa một nút lá U Cho R = (L,H) là MBR được kết hợp với U mà ở đó L = {l 1 , l 2 ,…,l N } và H = {h 1 , h 2 ,….,h N } là những
điểm cuối bên dưới thấp hơn và cao hơn của đường chéo chính của R Bởi định nghĩa, R là hình chữ nhật bao nhỏ nhất mà chứa mỗi điểm PAA C c1, ,c n
giữ trong U MINDIST(Q,R) được định nghĩa như sau:
Trang 37L như trong hình 2.13B Hình 2.13C minh họa của hàm MINDIST Chiều dài
của những đường mũi tên, được bình phương, được tỉ lệ với n/N, được tính tổng và lấy căn bậc 2 trả về khoảng cách nhỏ nhất giữa Q và bất kì chuỗi con nào chứa trong R
Hình 2.13: A)Một biểu diễn của MBR B) Một tập con của truy vấn C) Một minh họa
của hàm MINDIST ([7])
Một truy vấn KNNSearch(Q,K) với chuỗi truy vấn Q và số láng giềng được mong muốn K truy xuất vào một tập C của K chuỗi thời gian để với bất kì hai chuỗi nào, C C, E C, và DTW (Q,C) DTW(Q,E) Giống như giải thuật KNN cổ điển,
giải thuật trong bảng 2.3 sử dụng hàng đợi ưu tiên để viếng thăm những nút/đối
Trang 38tượng trong chỉ mục theo thứ tự tăng dần của khoảng cách của chúng từ Q trong không gian được đánh chỉ mục Khoảng cách của một đối tượng C từ Q được định nghĩa bởi LB_PAA(Q, C
) trong khi khoảng cách của một nút U từ Q được định
nghĩa như là khoảng cách nhỏ nhất MINDIST(Q,R) của hình chữ nhật biên nhỏ nhất
DTW(Q,C) từ truy vấn và sau đó chèn nó vào một danh sách tạm temp (dòng 9 –
11) Trái lại nếu phần tử được lấy ra là một nút trong cấu trúc chỉ mục, chúng tôi
tính toán khoảng cách của mỗi phần tử với các con của nó từ Q và sau đó đẩy chúng
vào hàng đợi (dòng 12 – 17)
Chúng tôi chỉ chuyển một chuỗi C từ temp vào result khi chúng tôi chắc chắn rằng nó là một trong những K láng giềng gần nhất của Q Nghĩa là không tồn tại đối tượng E result để mà DTW(Q,E) < DTW(Q,C) và |result| < K Điều kiện thứ hai
được bảo đảm bằng điều kiện thoát trong dòng 7 Điều kiện đầu tiên có thể được
đảm bảo như sau Để I là tập của những điểm PAA được truy xuất (I = temp
result) Nếu chúng tôi có thể bảo đảm ∀ C ∈ I, ∀ E ∈ I, LB_PAA(Q, C
) ≤ DTW(Q,E), thì điều kiện “DTW(Q,C) ≤ top.dist” trong dòng 4 sẽ bảo đảm rằng không tồn tại chuỗi E không được phát hiện để mà DTW(Q,E) < DTW(Q,C)
Bằng việc chèn chuỗi thời gian trong temp vào kết quả theo thứ tự tăng dần của khoảng cách DTW(Q,C), chúng tôi chắc chắn rằng không tồn tại đối tượng E để
DTW(Q,E) < DTW(Q,C)
Định nghĩa của LB_Keogh, LB_PAA và MINDIST được đưa ra trong công việc
này cũng được cần thiết cho việc trả lời những câu query phạm vi sử dụng cấu trúc chỉ mục đa chiều Chúng tôi có thể sử dụng giải thuật tìm kiếm đệ qui kiểu R-tree
cổ điển Bởi vì cả MINDIST(Q,R) và LB_PAA(Q, C
) cho chặn dưới DTW(Q,C),
Trang 39giải thuật được đưa ra trong bảng 2.4 bởi Faloutsos và Lin vào năm 1995 [35] thì đúng
Chương này đã trình bày một cách ngắn gọn về các công trình nghiên cứu khác có liên quan đến đề tài Một số độ đo tương tự và cấu trúc chỉ mục được giới thiệu Đặc biệt chương này đề cập tới phương pháp đo chặn dưới được đưa ra bởi Keogh Chặn dưới này sẽ được sử dụng trong giải thuật KNN Search với cấu trúc chỉ mục R-Tree Giải thuật này sẽ được dùng để so sánh với phương pháp Grid mà phương pháp này sắp sửa được trình bày ở chương sau Trong chương kế, cấu trúc chỉ mục R-Tree cũng sẽ được nói rõ hơn cũng như các giải thuật để xây dựng cây R-Tree