Chương I: chương này giới thiệu tổng quan và tại sao lại chọn đề tài, mục tiêu, giới hạn và tóm lược các kết quả thu được. Chương II: trình bày cơ sở lý thuyết liên quan cần tìm hiểu bao gồm độ đo xoắn thời gian động, các phương pháp thu giảm kích thước của dữ liệu chuỗi thời gian, bài toán tìm kiếm tương tự, khái niệm motif trên dữ liệu chuỗi thời gian Chương III: trong chương này tập trung khảo sát các công trình liên quan đến luận văn bao gồm: phương pháp tìm kiếm motif dựa vào giải thuật tìm kiếm chân phương (Brute Force), phương pháp tìm kiếm motif dựa vào giải thuật chiếu ngẫu nhiên, cấu trúc chỉ mục R*-Tree, cấu trúc chỉ mục TS-Tree. Chương IV: Trình bày cấu trúc chỉ mục TS-Tree làm việc với độ đo xoắn thời gian động. Đề xuất giải thuật tìm kiếm motif trên dữ liệu chuỗi thời gian với độ đo xoắn thời gian động dựa vào cấu trúc chỉ mục TS-Tree.
Chương V: tiến hành đưa dữ liệu vào thực nghiệm trên giải thuật đề xuất và giải thuật tìm kiếm chân phương sau đó so sánh kết quả và đưa ra một số nhận xét về kết quả thu được. Chương VI: Chúng tôi đưa ra một số kết luận sau khi thực hiện đề tài. 3 Tìm kiếm motif trên dữ liệu chuỗi thời gian với độ đo DTW dựa vào cấu trúc chỉ mục TS-Tree CHƯƠNG II: CƠ SỞ LÝ THUYẾT Trong chương này sẽ trình bày những kiến thức liên quan đến bài toán tìm kiếm motif trên dữ liệu chuỗi thời gian. Chúng tôi sẽ trình bày khái niệm về dữ liệu chuỗi thời gian, độ đo xoắn thời gian động, khái niệm về bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian và khái niệm về motif.1 Dữ liệu chuỗi thời gian Chuỗi thời gian là một chuỗi trị số thực, mỗi trị biểu diễn một giá trị một giá trị đo tại những thời điểm cách đều nhau.
Có thể xem chuỗi thời gian là một tập hợp chuỗi dữ liệu 2 chiều (T,X). Trong đó T là tập thời điểm xác định T= (t1, t2… ) với ti thuộc R, còn X là tập hợp giá trị quan sát được tại từng thời điểm thuộc tập T đó. Với những giá trị quan sát thu nhận được tại những khoảng thời gian bằng nhau thì ta có được n giá trị quan sát trong khoảng thời gian đó thì chuỗi có thể được xem là dữ liệu trong không gian n chiều. Dữ liệu chuỗi thời gian được sử dụng trong rất nhiều lĩnh vực khác nhau, chính vì thế có thể xem dữ liệu thời gian như những thông tin ghi lại trên từng phút, từng giây.
Do đó dữ liệu chuỗi thời gian thường rất dài tuy nhiên giá trị giao động không cao và thường giao động trong khoảng xấp xỉ nào đó. Ví dụ, hệ thống thu thập thông tin về nhiệt độ khí hậu tại một khu vực cụ thể nào đó thường nằm trong khoảng 20 đến 30 độ.2 Độ đo xoắn thời gian động (Dynamic Time Warping - DTW) Độ đo xoắn thời gian động được Berndt và Clifford giới thiệu vào năm 1994 [10] trong công trình nghiên cứu về độ đo DTW(xoắn thời gian động) trong cơ sở dữ liệu. Độ đo DTW hiệu quả hơn độ đo Euclid trong việc tính toán khoảng cách giữa 2 mẫu dữ liệu chuỗi thời gian. Trên thực tế có những mẫu dữ liệu chuỗi thời gian giống nhau nhưng khi tính toán bằng độ đo Euclid thì lại cho kết quả khác xa nhau.
Chính vì thế nên độ đo Euclid thường cho ra kết quả tính toán kém chính xác hơn so với độ đo xoắn thời gian động đối với các dữ liệu nhiều chiều. Bên cạnh đó có rất nhiều công trình nghiên cứu ứng dụng độ đo xoắn thời gian động vào trong các thực tế như: công trình nghiên cứu của Gavrila và Davis năm 1995 trong ngành sinh trắc học, Munich và Perona năm 1999 trong ngành chữ ký điện tử, Kovacs và Vajna năm 2000 trong dữ liệu vân tay. Tuy nhiên độ đo xoắn thời gian động có một nhược điểm là thời gian tính toán không được nhanh. 4 Tìm kiếm motif trên dữ liệu chuỗi thời gian với độ đo DTW dựa vào cấu trúc chỉ mục TS-Tree Trước khi tìm hiểu về độ đo khoảng cách DTW chúng ta sẽ nói sơ qua về độ đo khoảng cách Euclid.
Giả sử chúng ta có 2 chuỗi thời gian Q = Q1, Q2,…., Qn và C = C1, C2, …, Cn. Độ đo khoảng cách Euclid được xác định bằng công thức sau: 𝑛 𝐷 (𝑄, 𝐶 ) = √∑(𝑞𝑖 − 𝑐𝑖 ) (2.1) 𝑖=1 Độ do Euclid có ưu điểm là dễ hiểu, dễ tính toán nhưng độ đo này không làm việc tốt trên dữ liệu nhiễu, dữ liệu chuỗi thời gian liên quan đến lĩnh vực đa phương tiện (multimedia). Hình 2-1 dưới đây mô tả sự khác nhau giữa hai độ đo Euclid và độ đo DTW. Hình 2-1 Độ đo Euclid và độ đo xoắn thời gian động (Nguồn [3])1 Giả sử ta có 2 chuỗi thời gian Q và C có chiều dài lần lượt là n và m với Q = Q1, Q2, Q3, …., Cm theo hình 2-2 và độ đo xoắn thời gian động giữa Q và C theo hình 2.3 Hình 2-2: Hai mẫu dữ liệu chuỗi thời gian Q và C (Nguồn [3])2 5 Tìm kiếm motif trên dữ liệu chuỗi thời gian với độ đo DTW dựa vào cấu trúc chỉ mục TS-Tree Hình 2-3: Độ đo xoắn thời gian động giữa hai mẫu dữ liệu chuỗi thời gian Q và C (Nguồn [3])3 Để tính toán độ đo xoắn thời gian động giữa hai chuỗi trên, ta xây dựng một ma trận có kích thước n*m với n là số hàng của ma trận và m là số cột của ma trận.
Trong đó phần tử (ith,jth) của ma trận chứa khoảng cách d(qi,cj) giữa hai điểm qi, cj trên 2 chuỗi dữ liệu Q và C Trong đó d(qi, cj) được tính toán như sau: d(qi, cj) = (qi - cj)2 Ma trận chứa khoảng cách d(qi,cj) là ma trận xoắn. Một đường xoắn ( warping path ) là một tập các phần tử liên tục của ma trận định nghĩa một đường ánh xạ giữa Q và C W = w1, w2, …., wk với max(m,n) ≤ K ≤m+ n -1 d(qi, cj) đường xoắn W Hình 2-4 Ma trận xoắn ( nguồn [3] ) 4 6 Tìm kiếm motif trên dữ liệu chuỗi thời gian với độ đo DTW dựa vào cấu trúc chỉ mục TS-Tree Có rất nhiều đường xoắn thỏa mãn các điều kiện trên nhưng chúng ta chỉ quan tâm đến đường xoắn có chi phí tối thiểu: 𝐾 𝐷𝑇𝑊 (𝑄, 𝐶 ) = 𝑚𝑖𝑛 √∑ 𝑊𝑘 (2.2) 𝑘=1 { Độ phức tạp của giải thuật khi tính toán độ đo khoảng cách DTW là O(m*n). Do phải tính toán trên toàn bộ tập ma trận nên thời gian tính toán của độ đo DTW là khá cao. Đối với việc tính toán độ đo xoắn thời gian động chúng ta có một số ràng buộc sau: - Điều kiện biên: w1 = (1,1) và wk = (m,n) ràng buộc này yêu cầu đường xoắn phải bắt đầu và kết thúc ở hai góc đối diện của ma trận.
- Tính liên tục: wk = (a,b) thì wk-1 = (a',b') trong đó a-a' ≤ 1 và b-b' ≤ 1. Ràng buộc này yêu cầu đường xoắn phải di chuyển giữa những ô liền kề (kể cả những ô liền kề theo đường chéo). - Tính đơn điệu tăng: wk = (a,b) thì wk-1 = (a',b'), với a-a' ≥ 0 và b-b' ≥ 0. Ràng buộc này yêu cầu các điểm trong đường xoắn W phải có tính đơn điệu tăng theo thời gian.
Như đã đề cập ở trên việc tính toán trên toàn bộ ma trận nhằm tìm ra đường xoắn có chi phí tối thiểu tốn thời gian khá cao. Nhằm giảm thiểu chi phí tính toán cũng như hạn chế việc tìm ra những đường xoắn không phù hợp, công trình nghiên cứu của nhóm tác giả Sakoe-Chiba, tác giả Itakura [11] đã đề xuất ra những ràng buộc toàn cục (global constraints) để tăng tốc thời gian tính toán của độ đo xoắn thời gian động như hình 2-5. Hình 2-5: Hai ràng buộc toàn cục của dải Sakoe-Chiba và hình bình hành Itakura (Nguồn[3]) 5 7 Tìm kiếm motif trên dữ liệu chuỗi thời gian với độ đo DTW dựa vào cấu trúc chỉ mục TS-Tree 2.1 Chặn dưới cho khoảng cách DTW Mặc dù độ đo xoắn thời gian động cho kết quả tính toán chính xác nhưng lại gây ra chi phí tính toán cao. Để giải quyết vấn đề trên Keogh [3] đã đề xuất chỉ tính toán khoảng cách chặn dưới để giảm thiểu chi phí tính toán.
Ta định nghĩa chặn dưới (L) và chặn trên (U) của chuỗi dữ liệu chuỗi thời gian như sau: Ui = max (qi-r : qi+r), Li = min (qi-r: qi+r). Trong đó chỉ số r được định nghĩa tùy theo mô hình hoặc xem như là khoảng trong của độ đo xoắn thời gian động. Với Wk = (i,j) ta có j-r ≤ i ≤ j+r. Ta có mô hình chặn trên và chặn dưới theo Sakoe-Chiba, Itakura như hình 2-6 Đối với dải Sakoe-Chiba, r không phụ Đối với hình bình hành Itakura, r là một thuộc vào i hàm theo i Hình 2-6 Cận trên và cận dưới trong 2 mô hình Sakoe-Chiba(A) và Itakura(B) (Nguồn 3)6 Ta có chặn dưới LB_Keogh được định nghĩa bằng công thức 2.3) 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Theo hình 2-7 ta có tổng bình phương khoảng cách từ mỗi phần của chuỗi thời gian C không nằm trong lớp bao giữa U và L tới các cạnh trực giao gần nhất của lớp bao để thu được khoảng cách chặn dưới Keogh.
Hình 2-7 Khoảng cách LB_Keogh trong 2 mô hình Sakoe-Chiba(A) và Itakura(B) (Nguồn [3])7 8 Tìm kiếm motif trên dữ liệu chuỗi thời gian với độ đo DTW dựa vào cấu trúc chỉ mục TS-Tree 2.2 Mở rộng chặn dưới cho độ đo xoắn thời gian động với PAA Để giảm thiểu chi phí tính toán của độ đo xoắn thời gian động ta đã có cải tiến bằng cách tính toán theo cận trên và cận dưới. Ngoài ra chúng ta có thể tiếp tục cải tiến giải thuật xoắn thời gian động bằng việc thu giảm chiều trong chuỗi dữ liệu thời gian cần tính toán bằng một số phương pháp như Fourier Transforms [14], Wavelets [15], Piecewise Aggregate Approximation (PAA)[16]. Trong đó Phương pháp xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation - PAA) được Keogh và các đồng sự đề nghị năm 2000. Phương pháp được lựa chọn vì cách tính toán rất đơn giản, chúng ta có thể tuần tự xấp xỉ k giá trị liền kề nhau thành cùng một giá trị trung bình bình cộng của k điểm đó.
Giả sử chúng ta có một chuỗi thời gian có chiều dài n được biến đổi thành về chuỗi thời gian khác có số chiều ít hơn N ( với 1 ≤ N ≤ n) có dạng 𝐶̅ = 𝑐̅1, 𝑐̅2,. Phần tử thứ i được tính toán theo công thức 2.