1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng

97 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI (15)
    • 1.1 Dữ liệu chuỗi thời gian (15)
    • 1.2 Dữ liệu chuỗi thời gian dạng luồng (16)
    • 1.3 Bài toán tìm kiếm tương tự trên chuỗi thời gian (17)
    • 1.4 Mục tiêu và giới hạn của đề tài (19)
    • 1.5 Cấu trúc luận văn (19)
  • CHƯƠNG 2: TỔNG HỢP CÁC CÔNG TRÌNH LIÊN QUAN (21)
    • 2.1 Các độ đo tươ‰– ự (21)
      • 2.1.1 Độ đo Minkowski (22)
      • 2.1.2 Độ đo xoắn thời gian động (23)
      • 2.1.3 Độ đo chuỗi con chung dài nhất (24)
    • 2.2 Các phương pháp thu giảm số chiều (25)
      • 2.2.1 Các phương pháp biến đổi sang miền tần số (26)
      • 2.2.2 Các phương pháp xấp xỉ từng đoạn (28)
    • 2.3 Cấu trúc chỉ mục (31)
      • 2.3.1 Cấu trúc chỉ mục R-Tree/R*-Tree (31)
      • 2.3.2 Cấu trúc chỉ mục VA-Stream/VA+-Stream (34)
      • 2.3.3 Cấu trúc chỉ mục Skyline (35)
    • 2.4 Các công trình về tìm kiếm tương tự trên chuỗi thời gian dạng luồng (35)
    • 2.5 Kết luận (38)
  • CHƯƠNG 3: CƠ SỞ LÝ THUYẾT VÀ HƯỚNG TIẾP CẬN (39)
    • 3.1 Phương pháp biến đổi Fourier rời rạc (39)
    • 3.2 Cấu trúc chỉ mục R*-Tree (40)
      • 3.2.1 Tính chất của R*-Tree (40)
      • 3.2.2 Xây dựng R*-Tree (41)
      • 3.2.3 Tìm kiếm trên R*-Tree (42)
    • 3.3 Cấu trúc chỉ mục để tính toán DFT gia tăng (43)
      • 3.3.1 Tính toán DFT gia tăng (45)
      • 3.3.2 Chính sách cập nhật trì hoãn (48)
      • 3.3.3 Lựa chọn ngưỡng cập nhật Δ u (49)
      • 3.3.4 Xử lý truy vấn (50)
    • 3.4 Cấu trúc chỉ mục Skyline (52)
      • 3.4.1 Vùng bao đường chân trời (52)
      • 3.4.2 Tính chất của cấu trúc chỉ mục Skyline (53)
      • 3.4.3 Xây dựng cấu trúc chỉ mục Skyline (54)
      • 3.4.4 Hàm khoảng cách Skyline (55)
    • 3.5 Phương pháp xấp xỉ gộp từng đoạn (56)
    • 3.6 Kết luận (57)
  • CHƯƠNG 4: HỆ THỐNG TÌM KIẾM TƯƠNG TỰ TRÊN CHUỖI THỜI GIAN DẠNG LUỒNG (58)
    • 4.1 Đặt vấn đề (58)
    • 4.2 Hướng giải quyết (59)
    • 4.3 Kiến trúc hệ thống (60)
    • 4.4 Cập nhật chỉ mục (61)
      • 4.4.1 Rút trích đặc trưng (62)
      • 4.4.2 Tổ chức lưu trữ trên cấu trúc chỉ mục (63)
    • 4.5 Xử lý truy vấn (64)
    • 4.6 Kết luận (65)
  • CHƯƠNG 5: THỰC NGHIỆM (66)
    • 5.1 Các tiêu chuẩn thực nghiệm (66)
    • 5.2 Đánh giá các kết quả thực nghiệm (68)
      • 5.2.1 Thực nghiệm trên truy vấn vùng (68)
      • 5.2.2 Thực nghiệm trên truy vấn lân cận gần nhất (73)
      • 5.2.3 Thực nghiệm trên số đoạn thu giảm (77)
    • 5.3 Kết luận (85)
  • CHƯƠNG 6: KẾT LUẬN (86)
    • 6.1 Tổng kết (86)
    • 6.2 Những đóng góp của đề tài (86)
    • 6.3 Hướng phát triển (87)
  • TÀI LIỆU THAM KHẢO (89)

Nội dung

ĐẠ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: Nguyễn Trường Mạnh Hùng MSH

GIỚI THIỆU ĐỀ TÀI

Dữ liệu chuỗi thời gian

Chu ỗ i th ờ i gian (time series) là dữ liệu có yếu tố thời gian được quan sát tuần tự theo thời gian Dữ liệu này có thể có nhiều hơn hai chiều nhưng trong đó bắt buộc phải có một chiều là thời gian Có rất nhiều loại dữ liệu khác nhau có yếu tố thời gian và thông thường đây là những dữ liệu rất lớn Những tập dữ liệu chuỗi thời gian rất lớn xuất hiện trong nhiều lãnh vực khác nhau như y khoa, kỹ thuật, kinh tế, tài chính, …

Hình 1-1: Ví dụ về dữ liệu chuỗi thời gian (dữ liệu chứng khoán) (Nguồn [19])

E Keogh đã nêu lên những khó khăn và thách thức khi nghiên cứu dữ liệu chuỗi thời gian [11] như sau:

• Dữ liệu quá lớn o Dữ liệu điện tâm đồ khoảng 1 Gigabyte/giờ, dữ liệu ghi nhận các lần truy cập của một website khoảng 5 Gigabytes/tuần

• Phụ thuộc nhiều vào cách đánh giá độ tương tự o Độ tương tự được định nghĩa tùy thuộc vào người dùng, tập dữ liệu, miền bài toán …

• Dữ liệu thường không đồng nhất o Định dạng dữ liệu khác nhau, tần số lấy mẫu khác nhau, bị nhiễu, thiếu giá trị, dữ liệu không sạch …

Dữ liệu chuỗi thời gian dạng luồng

M Kontaki và các cộng sự đã phân loại chuỗi thời gian thành 2 loại là chu ỗ i th ờ i gian t ĩ nh (static time series) và chu ỗ i th ờ i gian d ạ ng lu ồ ng (streaming time series) [19]

Chu ỗ i th ờ i gian t ĩ nh là chuỗi thời gian bao gồm một số lượng hữu hạn các giá trị mẫu Còn đối với chu ỗ i th ờ i gian d ạ ng lu ồ ng kích thước bài toán tăng lên rất nhiều vì giá trị mới được cập nhật liên tục Tùy theo nhu cầu mà chúng ta có thể tiếp cận một chuỗi thời gian như là chuỗi thời gian tĩnh hay chuỗi thời gian dạng luồng Trong ví dụ Hình 1-1 (a), nếu dữ liệu tương ứng với giá cổ phiếu trong năm

2004, thì chúng ta có thể xem đây là chuỗi thời gian tĩnh Nhưng nếu chúng ta có nhu cầu theo dõi giá chứng khoán liên tục theo thời gian thì đây chính là chuỗi thời gian dạng luồng

Chu ỗ i th ờ i gian d ạ ng lu ồ ng là một trường hợp đặc biệt của d ữ li ệ u d ạ ng lu ồ ng

(stream data) Ngày nay, một số lượng lớn ứng dụng đòi hỏi phải thao tác với dữ liệu dạng luồng [2], [6], [7], [25], [26], [27], [31] Đặc trưng của dữ liệu dạng luồng là khối lượng dữ liệu lớn thậm chí có thể là vô tận, thay đổi nhanh chóng đòi hỏi đáp ứng nhanh, thời gian thực và truy xuất ngẫu nhiên là rất tốn kém J Han và M Kamber đã tổng hợp các phương pháp xử lý dữ liệu dạng luồng như sau [9]: L ấ y m ẫ u ng ẫ u nhiên (Random sampling), Bi ể u đồ t ầ n s ố (Histograms), C ử a s ổ tr ượ t (Sliding windows), Mô hình đ a phân gi ả i (Multi-resolution model), B ả n tóm t ắ t (Sketches), Thu ậ t toán ng ẫ u nhiên (Randomized algorithms) Một loạt các giải thuật xử lý chuỗi thời gian dạng luồng tập trung vào quá khứ gần nhất của chuỗi thời gian dạng luồng bằng cách áp dụng c ử a s ổ tr ượ t (sliding windows) đã được đề xuất [7], [17], [26], [27], [31].

Bài toán tìm kiếm tương tự trên chuỗi thời gian

Khác với cơ sở dữ liệu truyền thống, cơ sở dữ liệu chuỗi thời gian có thể chứa dữ liệu bị nhiễu và sai Do đó khả năng tồn tại hai chuỗi thời gian có cùng giá trị trong cùng thời điểm là rất nhỏ Vì vậy, tìm ki ế m t ươ ng t ự (similarity search) là thích hợp hơn so với tìm ki ế m chính xác (exact search)

Tìm ki ế m t ươ ng t ự (similarity search) trong cơ sở dữ liệu chuỗi thời gian là một hướng nghiên cứu quan trọng Một số phương pháp đã được đề xuất để cung cấp những giải thuật xử lý truy vấn hiệu quả trong trường hợp của chuỗi thời gian tĩnh và chuỗi thời gian dạng luồng

Các yêu cầu truy vấn trên dữ liệu chuỗi thời gian có thể chia làm 2 loại:

• So trùng toàn b ộ (whole matching): Chiều dài của chuỗi dữ liệu truy vấn và chiều dài chuỗi dữ liệu ban đầu là bằng nhau Minh họa truy vấn so trùng toàn bộ được thể hiện trong Hình 1-2 Bài toán này thường được dùng trong việc gom cụm, hay phân loại dữ liệu chuỗi thời gian Ví dụ, tìm giá chứng khoán của những công ty thay đổi giống nhau

Hình 1-2 Truy vấn so trùng toàn bộ

• So trùng chu ỗ i con (subsequence matching): Chiều dài của dữ liệu truy vấn ngắn hơn rất nhiều so với chiều dài của dữ liệu ban đầu Vì vậy, nhiệm vụ chính là tìm những đoạn trong dữ liệu ban đầu tương tự với dữ liệu truy vấn Minh họa truy vấn so trùng toàn bộ được thể hiện trong Hình 1-3 Một số ứng dụng của bài toán này là tìm những mẫu dữ liệu quan trọng hay những thay đổi bất thường trong dữ liệu ban đầu

Hình 1-3 Truy vấn so trùng chuỗi con

M Kontaki và các cộng sự đã tổng kết được 3 loại truy vấn tương tự được sử dụng trong các công trình nghiên cứu [17], được định nghĩa như sau:

• Truy v ấ n t ươ ng t ự vùng (similarity range query): cho đối tượng truy vấn

Q, tập các đối tượng A và khoảng cách e, lấy tất cả các đối tượng a ∈ A sao cho dist(q, a) ≤ e

• Truy v ấ n t ươ ng t ự k-lân-c ậ n-g ầ n-nh ấ t (similarity k-nearest neighbors query): cho đối tượng truy vấn Q, tập các đối tượng A và giá trị nguyên k, lấy k đối tượng cơ sở dữ liệu a i ∈ A (1 ≤ i ≤ |A|) sao cho với bất kỳ a j ∈ A

• Truy v ấ n t ươ ng t ự ghép n ố i (similarity join query): cho 2 tập các đối tượng A và B và khoảng cách e lấy các cặp (a, b) với a∈A và b∈B sao cho dist(a,b) ≤ e

Rõ ràng từ 3 loại truy vấn tương tự nêu trên, để thể hiện sự tương tự giữa 2 chuỗi thời gian, cần phải dựa trên độ đo khoảng cách Bài toán tìm kiếm tương tự có thể được áp dụng so trùng toàn bộ cũng như so trùng chuỗi con và có thể áp dụng trên chuỗi thời gian tĩnh hoặc chuỗi thời gian dạng luồng.

Mục tiêu và giới hạn của đề tài

Đề tài này dựa vào phương pháp tìm kiếm tương tự thích nghi trên chuỗi thời gian dạng luồng do M Kontaki và các cộng sự đề xuất năm 2007 [17] Mục tiêu chính của đề tài là mở rộng framework tìm kiếm tương tự trên dữ liệu chuỗi thời gian dạng luồng mà M Kontaki đã đề xuất bằng cách thay thế phương pháp thu giảm số chiều và cấu trúc chỉ mục Đề tài sẽ tiếp cận với phương pháp xấp xỉ gộp từng đoạn PAA và tận dụng các ưu điểm của cấu trúc chỉ mục Skyline giới thiệu bởi

Q Li và các cộng sự năm 2004 [23] Cũng giống như công trình [17], đề tài chỉ khảo sát trên 2 dạng truy vấn tương tự là truy vấn tương tự vùng và truy vấn tương tự lân cận gần nhất Các thông số đánh giá hiệu suất có thể được khảo sát bao gồm: th ờ i gian CPU (CPU time), s ố truy c ậ p đĩ a (disk access), th ờ i gian t ạ o c ấ u trúc ch ỉ m ụ c (index building time), th ờ i gian đ áp ứ ng truy v ấ n (query response time), s ố l ượ ng đ o ạ n thu gi ả m (number of segments).

Cấu trúc luận văn

Tổ chức của phần còn lại của luận văn theo cấu trúc như sau:

• Chương 2 trình bày tổng quan về các công trình liên quan đến bài toán tìm kiếm tương tự trên chuỗi dữ liệu thời gian Những công trình này nhằm cải tiến quá trình tìm kiếm tương tự và các công trình nghiên cứu này có thể chia làm 4 nhóm sau: nhóm các công trình nghiên cứu về độ tương tự, nhóm các công trình về thu giảm số chiều, nhóm các công trình về xây dựng cấu trúc chỉ mục và nhóm các công trình về tìm kiếm tương tự trên chuỗi thời gian dạng luồng

• Chương 3 giới thiệu những lý thuyết mà sẽ được sử dụng để thực hiện đề tài, đồng thời xác định rõ hướng tiếp cận của đề tài Trong phần này chúng tôi sẽ trình bày kỹ về framework đã được để xuất bao gồm phép biến đổi Fourier rời rạc cùng với cách tính toán gia tăng cho phép biến đổi này và cấu trúc chỉ mục IDC-Index dựa trên R*-Tree Sau đó cấu trúc chỉ mục Skyline và phương pháp xấp xỉ gộp từng đoạn sẽ được trình bày

• Chương 4 trình bày nội dung nghiên cứu

• Chương 5 trình bày về một số kết quả thực nghiệm

• Chương 6 trình bày kết luận và hướng mở rộng của đề tài

TỔNG HỢP CÁC CÔNG TRÌNH LIÊN QUAN

Các độ đo tươ‰– ự

Vấn đề quan trọng nhất của bài toán tìm kiếm tương tự là cách tính khoảng cách của 2 đối tượng x, y bất kỳ trong tập dữ liệu Trong trường hợp hai đối tượng này giống nhau thì khoảng cách này sẽ là 0 và ngược lại càng khác nhau thì khoảng cách càng lớn Để có thể tính toán và so sánh thì cách khoảng cách này được biểu diễn thành các số thực Độ đo khoảng cách giữa các đối tượng nên thỏa các tính chất sau:

Trong các tính chất về độ đo tương tự, tính chất 1, 2 và 3 là trực quan dễ thấy Tính chất 4 không phải là tính chất mang tính bắt buộc nhưng cần thiết cho kỹ thuật lập chỉ mục

Trong bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian, dữ liệu được biểu diễn thành các dãy số thực, như một vector đa chiều

Chúng ta cần phải tính độ tương tự Sim(X,Y) của 2 vector đa chiều này Những phương pháp đánh giá mức độ tương tự đã được đề xuất sẽ được trình bày như sau

Hầu hết các công trình nghiên cứu đều dựa trên độ đo khoảng cách này Khoảng cách Minkowski được định nghĩa như sau: p n i p i i y x Y

Trong đó p có thể có nhiều giá trị khác nhau nhưng trong các công trình nghiên cứu p thường nhận các giá trị 1 (khoảng cách Manhattan), 2 (Euclid), ∞ (Max) Giá trị p = 2 được dùng phổ biến nhất trong các công trình nghiên cứu Cách tính độ đo Euclid (độ đo khoảng cách Minkowski khi p = 2) được minh họa trong Hình 2-1

Hình 2-1: Cách tính độ đo Euclid (Nguồn [16])

Một số ưu điểm và nhược điểm của phương pháp này:

• Ưu điểm o Dễ tính toán o Phù hợp với các phương pháp thu giảm số chiều DFT, DWT, PAA, APCA

• Nhược điểm: o Nhạy cảm với nhiễu o Không thích hợp khi dữ liệu có đường cơ bản (base line) khác nhau Trường hợp này được minh họa trong Hình 2-2(a) o Không thích hợp khi dữ liệu có biên độ dao động khác nhau Trường hợp này được minh họa trong Hình 2-2(b)

(a) Dữ liệu có đường cơ bản khác nhau

(b) Dữ liệu có biên độ giao động khác nhau

Hình 2-2: Nhược điểm của độ đo Minkowski (Nguồn [16])

2.1.2 Độ đo xoắn thời gian động Độ đ o xo ắ n th ờ i gian độ ng (Dynamic Time Warping – DTW) tương tự như độ đo Minkowski nhưng thay vì 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 chuỗi thứ nhất so với điểm thứ i của chuỗi thứ hai) thì 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 Cách tính độ đo xoắn thời gian động được minh họa trong Hình 2-3 Chi tiết về cách tính độ đo xoắn thời gian động được trình bày trong [4]

Hình 2-3 Cách tính độ đo xoắn thời gian động (Nguồn [16])

Một số ưu điểm và nhược điểm của phương pháp này:

• Ưu điểm: o Cho phép nhận dạng những mẫu có hình dạng giống nhau nhưng chiều dài hình dạng về mặt thời gian có thể khác nhau o Hiệu quả hơn rất nhiều so với phương pháp tính khoảng cách theo Euclid Đặc biệt trong các bài toán phân loại, gom cụm

• Nhược điểm: o Thời gian chạy rất lâu, độ phức tạp là O(wn), trong đó w là chiều dài cửa sổ xoắn, n là chiều dài chuỗi

2.1.3 Độ đo chuỗi con chung dài nhất Độ đo chu ỗ i con chung dài nh ấ t ( Longest Common Subsequence – LCS) do

Vlachos và các cộng sự đề xuất năm 2004 [29] Ý tưởng chính của phương pháp tính độ đo này là tìm những chuỗi con chung giữa hai chuỗi, độ đo được tính trên chiều dài của chuỗi con chung dài nhất Hai chuỗi có chuỗi con chung càng dài thì càng giống nhau Cách tính độ đo chuỗi con chung dài nhất được minh họa trong

Hình 2-4 Để hiểu rõ cách tính độ đo chuỗi con chung dài nhất, chúng ta xét ví dụ sau:

Cho 2 chuỗi thời gian X = 5, 7, 2, 8, 1, 8, 6, 7 và Y = 7, 2, 4, 8, 2, 6, 8, 6 ⇒ LCS

Hình 2-4 Cách tính độ đo chuỗi con chung dài nhất (Nguồn [29])

Một số ưu điểm và nhược điểm của phương pháp này:

• Ưu điểm: o Cho phép bỏ qua những điểm bất thường khi so sánh o Thể hiện tính trực quan của dữ liệu

• Nhươc điểm: o Dữ liệu ban đầu phải được chuẩn hóa.

Các phương pháp thu giảm số chiều

Do đặc thù của chuỗi thời gian là khối lượng dữ liệu rất lớn dẫn đến chi phí cao trong việc truy xuất và tính toán trên dữ liệu thô Trong phương pháp thu giảm số chiều, chúng ta sẽ biểu diễn dữ liệu chuỗi thời gian thành những đường cơ bản đã được định nghĩa trước Khi đó, thay vì lưu trữ chuỗi các giá trị x 1 , x 2 , …, x n , chúng ta chỉ cần lưu trữ chuỗi y 1 , y 2 , ….,y k là k hệ số của các đường cơ bản Từ những đường cơ bản này chúng ta cũng có thể phục hồi lại dữ liệu ban đầu Giá trị k càng lớn thì đường phục hồi này càng chính xác với đường ban đầu và ngược lại Thay vì tính toán trên dữ liệu n chiều, chúng ta chỉ cần tính toán trên dữ liệu k chiều (k

Ngày đăng: 25/09/2024, 01:07