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: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động

98 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 Giới thiệu đề tài (15)
    • 1.2 Nội dung chính của đề tài (16)
    • 1.3 Tóm lược kết quả đã đạt được (17)
    • 1.4 Cấu trúc luận văn (17)
  • CHƯƠNG 2: CÁC CÔNG TRÌNH LIÊN QUAN VÀ LÝ THUYẾT NỀN TẢNG (19)
    • 2.1 Bài toán tìm kiếm tương tự (19)
      • 2.1.1 Dữ liệu chuỗi thời gian (time series data) (19)
      • 2.1.2 Bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian (19)
      • 2.1.3 Mô hình bài toán so trùng dữ liệu chuỗi thời gian (20)
    • 2.2 Độ đo tương tự DTW (dynamic time warping) (21)
      • 2.2.1 Giới thiệu DTW (21)
      • 2.2.2 Tính toán trong độ đo DTW (23)
      • 2.2.3 Chặn dưới cho khoảng cách DTW (25)
      • 2.2.4 Mở rộng chặn dưới cho khoảng cách DTW với PAA (27)
    • 2.3 Giới thiệu R*-Tree (28)
      • 2.3.1 Tổng quan R*-Tree (28)
      • 2.3.2 Thao tác trong R*-Tree (31)
      • 2.3.3 R*-tree làm việc trên độ đo DTW (35)
  • CHƯƠNG 3: PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ (37)
    • 3.1 Cấu trúc chỉ mục TS-Tree (37)
    • 3.2 Các thành phần trong cấu trúc chỉ mục TS-Tree (38)
      • 3.2.1 Các thành phần phân tách (Separators) (38)
      • 3.2.2 Sự rời rạc hóa (Quantization) (39)
      • 3.2.3 Thông tin mô tả trong cây TS-Tree (40)
    • 3.3 Cấu trúc chỉ mục dạng cây TS-Tree (0)
    • 3.4 Các thao tác trong TS-Tree (42)
      • 3.5.1 Thao tác chèn phần tử trong cây TS-Tree (42)
      • 3.5.2 Thao tác xóa phần tử trong cây TS-Tree (43)
      • 3.5.3 Thao tác tìm kiếm trong TS-Tree (43)
    • 3.6 Cấu trúc chỉ mục TS-Tree làm việc với độ đo DTW (45)
      • 3.6.1 Tính khoảng cách tới MD (metadata) – MD Mindist (46)
      • 3.6.2 Khoảng cách ngắn nhất từ Q tới thành phần trong nút (47)
  • CHƯƠNG 4: HỆ THỐNG SO TRÙNG MẪU (49)
    • 4.1 Khái quát về hệ thống so trùng mẫu (49)
    • 4.2 Kiến trúc tổng thể hệ thống (50)
    • 4.3 Thành phần lập chỉ mục (51)
      • 4.3.1 Chuẩn hóa dữ liệu (51)
      • 4.3.2 Thu giảm số chiều dữ liệu bằng phương pháp biến đổi PAA (53)
      • 4.3.3 Chuyển đổi về cận trên và cận dưới DTW (54)
      • 4.3.4 Rời rạc hóa dữ liệu với SAX (55)
      • 4.3.5 Tổ chức lưu trữ theo cấu trúc chỉ mục R*-Tree, TS-Tree (56)
    • 4.4 So trùng mẫu (56)
  • CHƯƠNG 5: THỰC NGHIỆM (58)
    • 5.1 Các tiêu chuẩn thực nghiệm (58)
    • 5.2 Đánh giá kết quả thực nghiệm (60)
      • 5.2.1 Thực nghiệm dựa trên thời gian lập chỉ mục (61)
      • 5.2.3 Thực nghiệm khả năng truy vấn (68)
      • 5.2.4 Thực nghiệm đánh giá tính hiệu quả trong quá trình tìm kiếm (87)
    • 5.3 Kết luận (90)
  • CHƯƠNG 6: TỔNG KẾT LUẬN VĂN (91)
    • 6.1 Kết quả đạt được (91)
    • 6.2 Những đóng góp của đề tài (92)
    • 6.3 Hướng phát triển (92)

Nội dung

Để khắc phục cả hai vấn đề trên trong các cấu trúc chỉ mục dữ liệu chuỗi thời gian thì cấu trúc chỉ mục TS-Tree được nghiên cứu như là một biện pháp tốt nhất để có thể tăng tốc tìm kiếm

GIỚI THIỆU ĐỀ TÀI

Giới thiệu đề tài

Trong thời đại ngày nay, khi con người đang sống trong một xã hội hiện đại với sự phát triển cao của khoa học công nghệ Đặc biệt là lĩnh vực công nghệ thông tin cùng với việc ra đời và phát triển của máy tính số, tất cả mọi thông tin mà con người dùng để phục vụ cuộc sống của mình gần như đã được số hóa toàn bộ Chúng được chuyển thể thành các đối tượng dữ liệu có nghĩa và lưu trữ trong máy tính mà con người có thể dễ dàng truy xuất và hiểu được khi cần thiết Các đối tượng dữ liệu này tồn tại trong rất nhiều ứng dụng thực tế đã được xây dựng và phát triển qua các thập kỹ gần đây như: các dữ liệu về y tế, giáo dục, địa lý, sinh học phân tử, văn bản, hình ảnh hoặc đoạn phim

Trong đó các ứng dụng khai phá dữ liệu chuỗi thời gian chiếm một vị trí quan trọng đã và đang thu hút sự quan tâm nghiên cứu từ các nhà khoa học

Từ đó, bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian (time series data) ngày càng đóng vai trò quan trọng trong các lĩnh vực khoa học, kinh tế hay tài chính Một thách thức ngày càng lớn là làm sao có thể tìm ra những mẫu tương tự trên dữ liệu chuỗi thời gian một cách nhanh chóng và chính xác nhất Cho đến hiện nay đã xuất hiện nhiều cấu trúc chỉ mục (index structure) nhằm làm tăng tốc quá trình truy xuất dữ liệu chuỗi thời gian như A-tree, M-tree, R*-Tree…Tuy nhiên cho đến hiện tại thì hầu hết các cấu trúc chỉ mục này chỉ làm việc được trên dữ liệu ít chiều (dưới 20 chiều) và với độ đo phổ biến là độ đo Euclid Như chúng ta đã biết dữ liệu chuỗi thời gian thường rất nhiều chiều và độ đo Euclid cũng để lộ những hạn chế trong việc tính toán khoảng cách giữa 2 mẫu dữ liệu chuỗi thời gian

Chính vì vậy, trong đề tài này, chúng tôi sẽ nghiên cứu một cấu trúc chỉ mục mới là

TS-Tree có thể làm việc tốt trên dữ liệu rất nhiều chiều và linh hoạt trong việc tính toán khoảng cách giữa 2 mẫu dữ liệu chuỗi thời gian bằng độ đo xoắn thời gian động DTW (dynamic time warping) Độ đo xoắn thời gian động là một phương pháp tính khoảng cách phù hợp với dữ liệu chuỗi thời gian khi mà nó 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

Mục đích chính của đề tài là nghiên cứu cấu trúc chỉ mục TS-Tree do Ira Assent, Ralph Krieger và cộng sự nghiên cứu vào năm 2008[1], để cho thấy cách thức cấu trúc chỉ mục này làm việc trên dữ liệu chuỗi thời gian với độ đo DTW Qua đó, nêu lên những ưu điểm tích cực của loại cấu trúc chỉ mục này so với các cấu trúc chỉ mục trước đó là R*-tree trong bài toán tìm kiếm tương tự dữ liệu chuỗi thời gian với độ đo DTW

Với mục đích rõ ràng như vậy, đề tài sẽ lần lượt tìm hiểu các lý thuyết nền tảng về bài toán tìm kiếm tương tự dữ liệu chuỗi thời gian, cấu trúc chỉ mục R*-tree, độ đo DTW, và nhất là nghiên cứu sâu về TS-Tree

Nội dung chính của đề tài

Nội dung chính của luận văn là so sánh hiệu quả của hai loại cấu trúc chỉ mục R*- Tree và TS-Tree được sử dụng như là cấu trúc chỉ mục trên dữ liệu chuỗi thời gian với độ đo xoắn thời gian động (DTW) Việc so sánh đó sẽ được thực nghiệm thông qua một hệ thống hỗ trợ bài toán so trùng chuỗi con trên dữ liệu chuỗi thời gian Khi đó, từ dữ liệu ban đầu là một chuỗi các số thực, mỗi số thực thể hiện giá trị tại một thời điểm Với dữ liệu đó, ứng dụng cho phép người dùng đặc tả một mẫu dữ liệu truy vấn (mẫu này thường rất nhỏ so với dữ liệu ban đầu) Chương trình sẽ tìm trong dữ liệu đầu những mẫu con nào tương tự với mẫu truy vấn Các mẫu con tương tự với mẫu truy vấn về hình dạng và độ sai khác là bé nhất Để đáp ứng tốt bài toán so trùng mẫu như trên, trong luận văn này, chúng tôi thực hiện tập trung giải quyết hai bài toán:

 Thứ nhất là xây dựng cấu trúc chỉ mục TS-Tree với các kỹ thuật hỗ trợ như chuẩn hóa dữ liệu (normalized data), kỹ thuật thu giảm số chiều PAA (kỹ thuật bao gộp xấp xỉ), kỹ thuật rời rạc hóa dữ liệu (SAX)

 Thứ hai là áp dụng đô đo xoắn thời gian động(DTW) vào cấu trúc chỉ mục R*- Tree và TS-Tree Qua đó so sánh khả năng tìm kiếm của 2 loại cấu trúc chỉ mục này khi áp dụng độ đo DTW

Ngoài ra, việc so sánh hiệu quả của hai loại cấu trúc chỉ mục này với độ đo xoắn thời gian động sẽ được đánh giá bằng kết quả đo đạc từ thực nghiệm Dó đó, kết quả thực nghiệm và một số nhận xét, đánh giá cũng sẽ được đề cập như một phần quan trọng trong đề tài

Luận văn này giới hạn nghiên cứu ở những khía cạnh sau:

 Dùng phép biến đổi tuyến tính PAA (tham khảo chương 2 phần cải tiến độ đo xoắn thời gian động với PAA) trong giai đoạn trích xuất đặc trưng để thu giảm số chiều của dữ liệu chuỗi thời gian

 Độ đo tương tự của hai đối tượng dữ liệu được dùng trong luận văn là độ đo DTW (tham khảo chương 2 phần độ đo xoắn thời gian động)

 Sử dụng các cấu trúc chỉ mục không gian là R*-Tree, TS-Tree (tham khảo chương

2 phần cấu trúc chỉ mục R*-Tree và chương 3 cấu trúc chỉ mục TS-Tree) trong giai đoạn lập chỉ mục

 Chương trình hỗ trợ người dùng so trùng mẫu thông qua một giao diện

 Thực hiện so sánh hiệu quả của việc truy xuất mẫu trên dữ liệu chuỗi thời gian dựa trên các cấu trúc lập chỉ mục đã xây dựng Từ đó, các nhận xét, kết luận sẽ được nêu lên

Tóm lược kết quả đã đạt được

Trong thời gian thực hiện đề tài cấu trúc chỉ mục TS-Tree trên dữ liệu chuỗi thời gian, chúng tôi đã đạt được những kết quả sau

 Tìm hiểu về dữ liệu chuỗi thời gian và đặc điểm của loại dữ liệu này Hơn nữa, là các ứng dụng trong thực tế mà loại dữ liệu này đang tồn tại

 Tìm hiểu một lĩnh vực lớn trong dữ liệu chuỗi thời gian là bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian

 Tìm hiểu các kiến thức liên quan tới dữ liệu chuỗi thời gian như : phương pháp thu giảm số chiều - biến đổi wavelet rời rạc DWT, xấp xỉ từng đoạn PAA, hay các phương pháp rời rạc hóa

 Tìm hiểu cấu trúc chỉ mục TS-Tree, R*-Tree và các đặc trưng của loại cấu trúc chỉ mục này Qua đó có thể tiếp cận với cấu trúc chỉ mục TS-Tree dễ dàng hơn

 Tìm hiểu độ đo DTW (Dynamic time warping) trong dữ liệu chuỗi thời gian Quan trọng nhất là phần tìm hiểu về việc đánh chỉ mục trên dữ liệu chuỗi thời gian với cấu trúc dạng cây TS-Tree Trong TS-Tree, chúng tôi đã tìm hiểu kỹ về các vấn đề sau:

- Các thành phần có trong một cấu trúc chỉ mục TS-Tree - Các tính chất cũng như các ưu điểm vượt trội của loại cấu trúc chỉ mục này trong bài toán tìm kiếm tương tự dữ liệu thời gian

- Các thao tác trong cấu trúc chỉ mục TS-Tree như thêm đối tượng dữ liệu mới, xóa đối tượng dữ liệu cũ, cập nhật thông tin trên cây, hay thao tác tìm kiếm đối tượng dữ liệu trên cây

- Cách thức mà cấu trúc chỉ mục TS-Tree làm việc trên độ đo DTW và ưu điểm của nó với độ đo này so với các cấu trúc chỉ mục trước đó mà cụ thể là R*- Tree

Phát triển ứng dụng thực nghiệm để kiểm tra cấu trúc chỉ mục TS-Tree làm việc trên độ đo xoắn thời gian động trong bài toán tìm kiếm tương tự

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

 Chương 1: chương này giới thiệu tổng quan về đề tài, mục đích nghiên cứu của đề tài, tại sao lại chọn đề tài này và hướng nghiên cứu của đề tài

Chuỗi con tương tự nhất Mẫu truy vấn cần tìm

 Chương 2: chương này tập trung nghiên cứu các lý thuyết liên quan cần tìm hiểu như:

- Bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian - Độ đo DTW (dynamic time warping) và những cải tiến so với độ đo Euclid - Giới thiệu cấu trúc chỉ mục R*-tree và những hạn chế khi làm việc trên độ đo DTW - Giới thiệu tổng quan về cấu trúc chỉ mục TS-Tree

 Chương 3: trong chương này tập trung nghiên cứu cấu trúc chỉ mục TS-Tree và những ưu điểm của nó trên độ đo DTW so với R*- tree - Cấu trúc của cấu trúc chỉ mục TS-Tree và các thao tác trên cây - Cấu trúc chỉ mục TS-Tree làm việc trên độ đo DTW

- So sánh những ưu điểm của cấu trúc chỉ mục TS-Tree so với R*-tree

 Chương 4: trình bày kiến trúc tổng thể và thực hiện hệ thống so trùng mẫu con

Chương này sẽ phân tích những vấn đề chính mà hệ thống cần phải giải quyết và một số chi tiết hiện thực của các thành phần quan trọng Các nội dung được trình bày bao gồm cách thức lưu trữ dữ liệu, truy vấn chuỗi con dựa trên các cấu trúc chỉ mục

 Chương 5: nêu một số kết quả và nhận xét dựa trên các thực nghiệm Có bốn bộ dữ liệu được thu thập từ thực tế làm dữ liệu mẫu bao gồm dữ liệu chứng khoán, dữ liệu năng lượng, dữ liệu điện não đồ và dữ liệu nhu cầu điện năng của Italia

 Chương 6: điểm qua toàn bộ luận văn và nêu một số kết luận sau khi thực hiện đề tài bao gồm các công việc đã hoàn thành, đánh giá luận văn và hướng phát triển

 Phần tài liệu tham khảo, bảng phụ lục một số khái niệm liên quan và bảng thuật ngữ Anh-Việt đối chiếu

CÁC CÔNG TRÌNH LIÊN QUAN VÀ LÝ THUYẾT NỀN TẢNG

Bài toán tìm kiếm tương tự

Chuỗi thời gian (time series) là một chuỗi trị số thực được ghi nhận tại những khoảng thời gian 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à một thời điểm xác định T= (t 1 ,t 2 ….) với t i thuộc R, còn X là giá trị quan sát được tại thời điểm T đó Lúc này nếu chúng ta xem xét các giá trị quan sát đó trong những khoảng thời gian bằng nhau với n giá trị quan sát trong khoảng thời gian đó thì chuỗi thời gian có thể được xem là dữ liệu trong không gian n chiều Mỗi lần quan sát trong một khoảng thời gian như vậy sẽ phát sinh ra một điểm trong không gian n chiều Tập hợp các điểm X= (x 1 , x 2 ,…x n ) được xem như tập hợp các đối tượng trong không gian n chiều ([2][4][12])

Trong khá nhiều các ứng dụng hiện nay 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 Chính vì vậy, thông thường dữ liệu chuỗi thời gian là rất dài tuy nhiên giá trị giao động thì lại không cao và thường xấp xỉ trong một khoảng nào đó Ví dụ, một hệ thống lưu lại các giá trị về nhiệt độ khí hậu thì thường nằm trong khoảng -20 tới 20 độ Hơn nữa có khi thông tin lưu trữ trong nhiều ngày lại không cách xa nhau khoảng 10 độ

2.1.2 Bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian

Trong việc khai thác thông tin trên dữ liệu chuỗi thời gian, chúng ta có rất nhiều bài toán khác nhau như gom cụm, phân lớp, tìm mô típ, phát hiện mẫu bất thường, khám phá luật kết hợp và trực quan hóa dữ liệu Trong số đó thì tìm kiếm tương tự (similarity search) là một trong những bài toán đó Với mục đích là tìm ra các mô hình giống nhau trên tập dữ liệu ghi nhận được trong một khoảng thời gian nào đó chúng ta có thể dự đoán được xu hướng dữ liệu trong tương lai Sau đây là một số ví dụ trong thực tế

- Nhận dạng các công ty có mô hình tăng trưởng giống nhau - Xác định những thời điểm mà các chỉ số chứng khoán có sự biến đông tương tự nhau

- Tìm xem 1 giai điệu nhạc có tương tự với 1 bản nhạc nào trước đó hay không…

Bài toán tìm kiếm tương tự hay còn gọi là so trùng mẫu (pattern matching) trên dữ liệu chuỗi thời gian là việc thiết kế một phương pháp tìm kiếm nhanh chóng và chính xác trong cơ sở dữ liệu chuỗi thời gian những mẫu con trùng hay sấp xỉ với mẫu yêu cầu

Chúng ta có 2 kiểu so trùng mẫu

 So trùng toàn chuỗi (whole matching) là loại so trùng chiều dài của dữ liệu truy vấn và chiều dài dữ liệu tham khảo bằng nhau và xem xét 2 đường biểu diễn dữ liệu có tương tự nhau không theo định nghĩa về độ tương tự cho trước Bài toán này ta thường được dùng trong việc gom cụm, hay phân loại dữ liệu thời gian Ví dụ cho loại so trùng này là “Tìm mức nước ở 2 dòng sông có thay đổi giống nhau trong 1 năm?”

 So trùng chuỗi con (subsequence matching) là loại so trùng 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 tham khảo Mục đích là tìm những đoạn trong dữ liệu tham khảo tương tự với dữ liệu truy vấn 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 Ví dụ: “Tìm các tháng mà giá chứng khoán của công ty có sự thay đổi giống với tháng hiện tại?”, hay “những thời điểm nào mà giá chứng khoán thay đổi theo dạng hình răng cưa”…

2.1.3 Mô hình bài toán so trùng dữ liệu chuỗi thời gian

Một trong những thử thách lớn nhất trong bài toán so trùng mẫu trên dữ liệu chuỗi thời gian là tập trung vào việc thiết kế một phương pháp lưu trữ hiệu quả và tìm kiếm nhanh để tìm trong cơ sở dữ liệu chuỗi thời gian những mẫu con trùng hoặc xấp xỉ với mẫu yêu cầu Trong hầu hết các nghiên cứu về bài toán so trùng trên dữ liệu chuỗi thời gian, mô hình chủ yếu được áp dụng là mô hình rút trích thông tin (information retrieval) Hình 2.1 mô tả mô hình rút trích thông tin phổ biến được sử dụng trong bài toán so trùng dữ liệu chuỗi thời gian

Phần lập chỉ mục (Indexing): trong giai đoạn này chuỗi dữ liệu thời gian sẽ được lưu trữ theo dạng chỉ mục nhằm giúp cho quá trình tìm kiếm được tăng tốc Do dữ liệu chuỗi thời gian thường rất lớn nên trước khi lập chỉ mục chúng ta thường thu giảm số chiều (reduce dimension) của chuỗi dữ liệu ban đầu Một số phương pháp thu giảm số chiều được biết cho đến nay như: phép biến đổi Fourier rời rạc (Discrete Fourier Transform - DFT), phép biến đổi Wavelet rời rạc (Discrete Wavelet Transform - DWT), xấp xỉ tuyến tính từng đoạn (Piecewise Linear Approximation - PLA), xấp xỉ hằng số từng đoạn thích nghi (Adaptive Piecewise Constant Approximation- APCA), xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate approXimation - SAX)…

Các cấu trúc lập chỉ mục quen thuộc là R-Tree, R*-Tree, M-tree…trong đó R*-Tree là cấu trúc chỉ mục nền tảng cho việc phát triển cấu trúc TS-Tree Xuất hiện sau

7 này, hầu hết các phương thức thao tác trên cây TS-Tree đều giống với R*-Tree Chúng ta sẽ tìm hiểu kỹ hơn về vấn đề này trong các mục sau

So trùng mẫu: sau khi thiết lập chỉ mục cho dữ liệu chuỗi thời gian, quá trình so trùng mẫu là quá trình tìm kiếm các chuỗi thời gian con thỏa mãn điều kiện truy vấn

Việc truy vấn thông thường sẽ bị ảnh hưởng bởi 2 yếu tố: một là cấu trúc chỉ mục chúng ta vừa thiết lập, hai là độ đo mà chúng ta áp dụng trong quá trình tìm kiếm Việc lập chỉ mục không hẳn lúc nào cũng đem lại kết quả truy vấn nhanh mà có khi lại đem lại kết quả ngược lại Với độ đo trước giờ chúng ta vẫn quen thuộc là độ đo Euclid, tuy nhiên trong đề tài này sẽ không dùng độ đo này mà chúng ta sẽ thay thế hoàn toàn bằng độ đo DTW để xem TS-Tree có làm việc tốt trên độ đo này hay không

Hình 2.1 Kiến trúc tổng thể của hệ thống so trùng mẫu

Độ đo tương tự DTW (dynamic time warping)

Vấn đề trong các cấu trúc chỉ mục chuỗi dữ liệu thời gian hiện là một vấn đề rất được nhiều nhà khoa học nghiên cứu Hầu hết các cấu trúc chỉ mục đang vận đụng độ đo Euclid trong việc tính toán khoảng cách giữa hai đối tượng trong dữ liệu chuỗi thời gian Mặc dù vậy qua các trường hợp cho thấy rằng độ đo này lại chưa chính xác và linh hoạt trong các chuỗi dữ liệu có hình dáng giống nhau nhưng có sự xê dịch về mặt thời gian do quá trình tính toán dựa trên cùng một thời điểm Chính vì vậy độ đo xoắn thời gian động được nghiên cứu như là một độ đo mang tính linh hoạt hơn trong việc khắc phục điểm yếu trên của độ đo Euclid Chính vì tính linh hoạt cho kết quả chính xác hơn nên độ đo xoắn thời gian động bắt đầu đóng vai trò quan trọng trong nhiều lĩnh vực như khoa học, y khoa, công nghiệp, hay tài chính nơi mà các dữ liệu yêu cầu tính toán với độ chính xác cao hơn

TS-Tree) Chuỗi thời gian

So trùng mẫu Chuỗi thời gian truy vấn

Kết quả truy vấn Lập chỉ mục

8 Đã có rất nhiều công trình nghiên cứu về độ đo này như vào năm 1994 thì Berndt và Clifford đã giới thiệu chính thức độ đo này trong công trình nghiên cứu về độ đo xoắn thời gian động trong cơ sở dữ liệu Hay các nghiên cứu trước đó của các nhà nghiên cứu như: Itakura 1975; Kruskall và Liberman 1983; Myers et al 1980; Rabiner và Juang 1993; Rabiner et al 1978; Sakoe và Chiba 1978; Tappert and Das 1978 Tuy chỉ có một vài nghiên cứu chính thức nhưng ngay sau đó thì độ đo này ngay lập tức góp phần không thể thay thế trong nhiều lĩnh vực Trong năm 2001 thì Aach và Church đã áp dụng thành công việc DTW vào quá trình RNA dữ liệu hồi quy trong ngành sinh học Năm 1995, Gollmer và Posten đã áp dụng DTW thành công vào việc đồng bộ hóa và lưu vết các gói tiến trình trong chất liệu polymer ngành hóa học Và còn rất nhiều các công trình nghiên cứu thành công DTW 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…Mặc dù có nhiều thành công trong các lĩnh vực như vậy nhưng DTW lại có một điểm yếu là tốc độ giải thuật chưa được nhanh Trong phần tiếp theo sau đây chúng tôi sẽ trình bày nghiên cứu của Keogh về các giải pháp tăng hiệu suất của DTW ([7])

Trước khi tìm hiểu về độ đo DTW chúng ta cùng nhìn lại độ đo Eucid Ví dụ chúng ta có 2 chuỗi thời gian Q= Q 1 , Q 2 ,… Q n và C= C 1 , C 2 , C n Độ đo khoảng cách Eucid được tính như sau:

Công thức 2.1 – Tính độ đo Euclid Độ đo Eucid trước giờ có ưu điểm là dễ hiểu, dễ tính toán và có thể áp dụng cho nhiều bài toán trong khai phá dữ liệu chuỗi thời gian như gom cụm, phân lớp, mô típ…Tuy nhiên độ đo này lại không làm việc tốt trên dữ liệu có nhiễu, hay các đường căn bản khác nhau Chúng ta cùng xem xét hình 2.2 để thấy sự khác nhau giữa 2 độ đo Euclid và xoắn thời gian động DTW

Hình 2.2 Độ đo Euclid (a) và độ đo DTW (b) (nguồn [7])

Trong hình 2.2(a) là tính toán với độ đo Euclid, còn trong hình 2.2(b) là tính toán với độ đo DTW Như chúng ta thấy theo tính toán hình 2.2(a) thì Euclid sẽ xét theo 2

9 điểm cùng nằm trên một trục dọc tức là 2 giá trị quan sát tại cùng 1 thời điểm, ta tạm gọi đó là ánh xạ 1-1 Nếu theo kiểu tính toán này thì khoảng cách tại điểm thứ I trong đường 1 và điểm thứ I trong đường 2 là rất khác nhau mặc dù chúng ta thấy hình dạng 2 đường này là giống nhau, chỉ có điều là bị xê dịch về mặt thời gian Chính vì vậy, nếu tính toán theo phương pháp này thì kết quả sẽ không chính xác nhất là nếu chúng ta đang tìm Mindist (khoảng cách ngắn nhất giữa 2 mẫu dữ liệu) Vì lý do đó mà vào năm 1994 thì Bernt và Clifford đã phát triển ra độ đo DTW nhằm khắc phục nhược điểm kể trên của Euclid Chúng ta có thể hình dung DTW trong hình 2.2(b) và tìm hiểu kỹ hơn về DTW trong phần tiếp sau đây ([7])

Một vấn đề của các cấu trúc chỉ mục hiện nay là làm sao có thể tăng tốc trên dữ liệu thời gian đồng thời phải có được độ chính xác tốt Hầu hết các giải thuật chỉ mục hiện nay đang dùng độ đo tương tự hay một vài lý thuyết độ đo khác để tính toán khoảng cách giữa 2 đối tượng dữ liệu trong không gian đa chiều Như chúng ta tìm hiểu ở phần trên thì lý do độ đo Euclid phổ biến chính là dễ tính toán và dễ hiểu Tuy nhiên điều đó là chưa đủ với các bài toán càng ngày càng phức tạp hiện nay Có rất nhiều mẫu dữ liệu có hình dạng giống nhau nhưng nếu dùng Euclid thì lại cho kết quả cách xa nhau Vào năm 1994 thì Bernt và Clifford đã phát triển ra một độ đo có tên gọi là DTW (dynamic time warping) Về mặt chứng minh lý thuyết và thực nghiệm thì các nhà khoa học thấy rằng với DTW thì việc tính toán mang lại sức mạnh lớn hơn khi tính toán các đối tượng dữ liệu trong không gian đa chiều Tại sao lại có được khẳng định đó, chúng ta sẽ đi vào phần sau để có thêm cơ sở tin tưởng là độ đo DTW tốt hơn độ đo Euclid trên dữ liệu chuỗi thời gian ([7][27])

Ký hiệu trong phần này

C Một chuỗi thời gian có chiều dài n: C = c 1 , c 2 , …, c j , …, c n

[c i: c j ] Một chuỗi con của C, bắt đầu tại điểm c i và kết thúc tại c j

C Một xấp xỉ gộp từng đoạn của một chuỗi thời gian

DTW Độ đo khoảng cách xoắn thời gian động

LB_Kim Hàm chặn dưới được giới thiệu bởi Kim (2001)

LB_Yi Hàm chặn dưới được giới thiệu bởi Yi (1998)

LB_Keogh Hàm chặn dưới được giới thiệu trong bài báo

2.2.2 Tính toán trong độ đo DTW

Giả sử có hai chuỗi thời gian Q và C có chiều dài lần lượt là n và m, với

Hình 2.3 và 2.4 là minh họa cho 2 mẫu dữ liệu chuỗi thời gian Q và C và khoảng cách giữa chúng theo độ đo xoắn thời gian động

Hình 2.3 Hai mẫu dữ liệu thời gian Q và C (nguồn [7])

Hình 2.4 Khoảng cách giữa 2 mẫu dữ liệu Q và C theo DTW (nguồn [7]) Để tính toán khoảng cách DTW giữa hai chuỗi trên, ta xây dựng một ma trận có kích thước n × m, trong đó phần tử (i th ,j th ) của ma trận chứa khoảng cách d(q i ,c i ) giữa hai điểm q i và c j trên 2 chuỗi dữ liệu Q và C

Trong đó d(q i ,c i ) được tính toán như sau:

Công thức 2.2 – tính khoảng cách

Ta tạm gọi ma trận chứa khoảng cách d(q i ,c i ) là ma trận xoắn (warping matrix)

Một đường xoắn (warping path) W là một tập các phần tử liên tục của ma trận định nghĩa một ánh xạ giữa Q và C

Hình ảnh ma trận xoắn của 2 mẫu dữ liệu Q và C và đường xoắn mô tả trong hình vẽ sau

Hình 2.5 Ma trận chứa khoảng cách d(q i ,c i ) và đường xoắn W (nguồn [7]) Đối với việc tính toán DTW chúng ta có một số ràng buộc sau: o Điều kiện biên: w 1 = (1,1) và w K = (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 o Tính liên tục: cho w k = (a,b) thì w k-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) o Tính đơn điệu tăng: cho w k = (a,b) thì w k-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 W phải có tính đơn điệu tăng theo thời gian

Có rất nhiều đường xoắn thỏa mãn các điều kiện trên Tuy nhiên chúng ta chỉ quan tâm đến đường tối thiểu hóa chi phí xoắn:

Công thức 2.3 – Tính độ đo DTW theo đường xoắn Độ phức tạp của giải thuật khi tính toán theo DTW là O(m*n) Chính vì vậy nhằm cải thiện tốc độ tính toán cho DTW thì Keogh đã đề xuất một khái niệm mới cho việc tính toán độ đo này là độ đo chặn dưới (lower bound) Chúng ta cùng tìm hiểu kỹ thuật chặn dưới trong việc tính khoảng cách với độ đo DTW ngay sau đây

2.2.3 Chặn dưới cho khoảng cách DTW

Như chúng ta đã biết trong tìm kiếm tương tự chuỗi thời gian nếu chúng ta dùng độ đo Eclid thì sẽ tốn chi phí cho việc truy xuất I/O, còn với phương pháp tính toán DTW mặc dù cho kết quả chính xác nhưng nó lại gây ra chi phí cho việc tính toán CPU Đường xoắn

12 Để giải quyết vấn đề này thì Keogh đã đề xuất chỉ tính toán khoảng cách chặn dưới Qua đó giảm thiểu chi phí tính toán đáng kể ([7])

Chúng ta định nghĩa chặn dưới (L) và chặn trên (U) của chuỗi dữ liệu thời gian như sau:

Trong đó thì chỉ số r được định nghĩa tùy theo mô hình hoặc nó được xem như là khoảng trong DTW Với W k = (i,j) ta có j-r

Ngày đăng: 09/09/2024, 15:34

HÌNH ẢNH LIÊN QUAN

Hình 2.1. Kiến trúc tổng thể của hệ thống so trùng mẫu - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 2.1. Kiến trúc tổng thể của hệ thống so trùng mẫu (Trang 21)
Hình 2.5 Ma trận chứa khoảng cách d(q i ,c i ) và đường xoắn W (nguồn [7]) - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 2.5 Ma trận chứa khoảng cách d(q i ,c i ) và đường xoắn W (nguồn [7]) (Trang 25)
Hình 2.12 Cây R*-Tree xây dựng từ các hình chữ nhật bao phủ trong hình - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 2.12 Cây R*-Tree xây dựng từ các hình chữ nhật bao phủ trong hình (Trang 30)
Hình 2.14 b – Cây R*-Tree được xây dựng trên các đối tượng dữ liệu trên - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 2.14 b – Cây R*-Tree được xây dựng trên các đối tượng dữ liệu trên (Trang 32)
Hình 2.15 Thêm một phần tử vào trong nút làm nút đầy - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 2.15 Thêm một phần tử vào trong nút làm nút đầy (Trang 33)
Hình 2.17 Xóa nút trong cây R*-Tree (nguồn [9])  Chú ý: - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 2.17 Xóa nút trong cây R*-Tree (nguồn [9]) Chú ý: (Trang 34)
Hình 3.5 Cấu trúc một nút trong cây TS-Tree (nguồn [9])  3.4 Các thao tác trong TS-Tree - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 3.5 Cấu trúc một nút trong cây TS-Tree (nguồn [9]) 3.4 Các thao tác trong TS-Tree (Trang 42)
Hình 3.9 Tính toán S l -Mindist, S r -Mindist, MD-Mindist từ đối tượng Q tới phần tử - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 3.9 Tính toán S l -Mindist, S r -Mindist, MD-Mindist từ đối tượng Q tới phần tử (Trang 46)
Hình 4.1. Mô hình kiến trúc hệ thống - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 4.1. Mô hình kiến trúc hệ thống (Trang 50)
Hình 4.4 Dữ liệu sau khi thu giảm số chiều với PAA - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 4.4 Dữ liệu sau khi thu giảm số chiều với PAA (Trang 54)
Hình 5.2. Dữ liệu năng lượng - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.2. Dữ liệu năng lượng (Trang 59)
Hình 5.4. Dữ liệu nhu cầu năng lượng điện của Italia - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.4. Dữ liệu nhu cầu năng lượng điện của Italia (Trang 60)
Hình 5.10. Thời gian lập chỉ mục trên bộ dữ liệu năng lượng - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.10. Thời gian lập chỉ mục trên bộ dữ liệu năng lượng (Trang 64)
Hình 5.12. Thời gian lập chỉ mục trên bộ dữ liệu nhu cầu năng lượng điện italia - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.12. Thời gian lập chỉ mục trên bộ dữ liệu nhu cầu năng lượng điện italia (Trang 65)
Hình 5.21 Số lần truy xuất nút trên dữ liệu năng lượng theo số chiều - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.21 Số lần truy xuất nút trên dữ liệu năng lượng theo số chiều (Trang 70)
Hình 5.22 Thời gian đáp ứng trên dữ liệu năng lượng theo số chiều - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.22 Thời gian đáp ứng trên dữ liệu năng lượng theo số chiều (Trang 71)
Hình 5.26 Số lần truy xuất nút nhu cầu điện năng của Italia - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.26 Số lần truy xuất nút nhu cầu điện năng của Italia (Trang 73)
Hình 5.35 Số lần truy xuất nút trên dữ liệu điện não đồ theo kích thước dữ liệu - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.35 Số lần truy xuất nút trên dữ liệu điện não đồ theo kích thước dữ liệu (Trang 78)
Hình 5.36 Thời gian đáp ứng trên dữ liệu điện não đồ theo kích thước dữ liệu - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.36 Thời gian đáp ứng trên dữ liệu điện não đồ theo kích thước dữ liệu (Trang 78)
Hình 5.37 Số lần truy xuất nút chỉ mục và nút dữ liệu trên dữ liệu nhu cầu điện - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.37 Số lần truy xuất nút chỉ mục và nút dữ liệu trên dữ liệu nhu cầu điện (Trang 79)
Hình 5.38 Số lần truy xuất nút trên dữ liệu nhu cầu điện năng của Italia theo kích - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.38 Số lần truy xuất nút trên dữ liệu nhu cầu điện năng của Italia theo kích (Trang 79)
Hình 5.39 Thời gian đáp ứng trên dữ liệu nhu cầu điện năng của Italia theo kích - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.39 Thời gian đáp ứng trên dữ liệu nhu cầu điện năng của Italia theo kích (Trang 80)
Hình 5.41 Số lần truy xuất nút trên dữ liệu chứng khoán theo bán kính truy vấn - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.41 Số lần truy xuất nút trên dữ liệu chứng khoán theo bán kính truy vấn (Trang 81)
Hình 5.42 Thời gian đáp ứng trên dữ liệu chứng khoán theo bán kính truy vấn - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.42 Thời gian đáp ứng trên dữ liệu chứng khoán theo bán kính truy vấn (Trang 81)
Hình 5.45 Thời gian đáp ứng trên dữ liệu năng lượng theo bán kính truy vấn - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.45 Thời gian đáp ứng trên dữ liệu năng lượng theo bán kính truy vấn (Trang 83)
Hình 5.49 Số lần truy xuất nút chỉ mục và nút dữ liệu trên dữ liệu nhu cầu điện - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.49 Số lần truy xuất nút chỉ mục và nút dữ liệu trên dữ liệu nhu cầu điện (Trang 85)
Hình 5.50 Số lần truy xuất nút trên dữ liệu nhu cầu điện năng của Italia theo bán - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.50 Số lần truy xuất nút trên dữ liệu nhu cầu điện năng của Italia theo bán (Trang 85)
Hình 5.51 Thời gian đáp ứng trên dữ liệu nhu cầu điện năng của Italia theo bán - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.51 Thời gian đáp ứng trên dữ liệu nhu cầu điện năng của Italia theo bán (Trang 86)
Hình 5.53 Số lượng trung bình các ứng viên phải loại bỏ sau giai đoạn hậu kiểm - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.53 Số lượng trung bình các ứng viên phải loại bỏ sau giai đoạn hậu kiểm (Trang 88)
Hình 5.55 Số lượng trung bình các ứng viên phải loại bỏ sau giai đoạn hậu kiểm - Luận văn thạc sĩ Khoa học máy tính: Cấu trúc chỉ mục TS-Tree cho dữ liệu chuỗi thời gian với độ đo xoắn thời gian động
Hình 5.55 Số lượng trung bình các ứng viên phải loại bỏ sau giai đoạn hậu kiểm (Trang 89)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN