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

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

79 17 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 1,56 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 2

CÔ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 4

LỜ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 5

TÓ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 7

LỜ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 8

MỤ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 9

2.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 10

DANH 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 11

Hì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 12

DANH 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 13

Chươ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 14

1.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 15

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ụ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 16

Mộ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 19

Chươ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 20

Mặ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 23

Có 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 24

2.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 25

Hì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 26

Ngoà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 27

Bả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 28

là 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 29

lớ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 30

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])

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 31

trong 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 32

Chú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 33

Hà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 34

diễ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 35

Chỉ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 36

Chú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 37

L 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 38

tượ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 39

giả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

Ngày đăng: 28/01/2021, 15:21

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. A. Guttman (1984). R-tree: A dynamic index structure for spatial searching. In SIGMOD '84, Proceedings of 20th International Conference on Very Large Data Bases. Morgan Kaufmann Sách, tạp chí
Tiêu đề: In SIGMOD '84, Proceedings of 20th International Conference on Very Large Data Bases
Tác giả: A. Guttman
Năm: 1984
[4]. C. Faloutsos, A.M. Ranganathan, and Y. Manolopoulos (1994). Fast Subsequence Matching in Time-Series Databases. Proc. ACM-SIGMOD Conf., pp. 419-429, May 1994 Sách, tạp chí
Tiêu đề: Proc. ACM-SIGMOD Conf
Tác giả: C. Faloutsos, A.M. Ranganathan, and Y. Manolopoulos
Năm: 1994
[5]. C. Shahabi, X. Tian, and W. Zhao (2000). Tsa-tree: A wavelet-based approach to improve the efficiency of multi-level surprise and trend queries. In Proc.12 th International Conference on Scientific and Statistical Database Management Sách, tạp chí
Tiêu đề: In Proc. "12"th
Tác giả: C. Shahabi, X. Tian, and W. Zhao
Năm: 2000
[6]. D. Berndt and J. Clifford (1994). Using dynamic time warping to find patterns in time series. In proceedings of AAAI Workshop on Knowledge Discovery in Databases, KDD-94, Seattle, Washington, USA, pp. 359-370 Sách, tạp chí
Tiêu đề: In proceedings of AAAI Workshop on Knowledge Discovery in Databases, KDD-94
Tác giả: D. Berndt and J. Clifford
Năm: 1994
[9]. E. Keogh, J. Lin and A. Fu (2005). HOT SAX: Efficiently Finding the Most Unusual Time Series Subsequence. In Proc. of the 5th IEEE International Conference on Data Mining (ICDM 2005), pp. 226 - 233, Houston, Texas, Nov 27-30, 2005 Sách, tạp chí
Tiêu đề: In Proc. of the 5th IEEE International Conference on Data Mining (ICDM 2005)
Tác giả: E. Keogh, J. Lin and A. Fu
Năm: 2005
[10]. E. Keogh, K. Chakrabarti, M. Pazzani and S. Mehrotra (2001). Dimensionality reduction for fast similarity search in large time series databases, Journal of Knowledge and Information Systems, Vol. 3, No. 3, 2000, pp. 263-286 Sách, tạp chí
Tiêu đề: Journal of Knowledge and Information Systems
Tác giả: E. Keogh, K. Chakrabarti, M. Pazzani and S. Mehrotra
Năm: 2001
[11]. E. Keogh, K. Chakrabarti, M. Pazzani and S. Mehrotra (2001). Locally adaptive dimensionality reduction for indexing large time series databases. In proceedings of the 2001 ACM SIGMOD Conference on Management of Data, May 21-24, 2001, pp. 151-162 Sách, tạp chí
Tiêu đề: In proceedings of the 2001 ACM SIGMOD Conference on Management of Data
Tác giả: E. Keogh, K. Chakrabarti, M. Pazzani and S. Mehrotra
Năm: 2001
[12]. E. Keogh, K. Chakrabarti, M.J. Pazzani and S. Mehrotra (2001). Dimensionality Reduction for Fast Similarity Search in Large Time Series Databases. KAIS 3(3), 263–286 Sách, tạp chí
Tiêu đề: KAIS 3(3)
Tác giả: E. Keogh, K. Chakrabarti, M.J. Pazzani and S. Mehrotra
Năm: 2001
[13]. E. Keogh, S. Lonardi, and W. Chiu (2002). Finding Surprising Patterns in a Time Series Database In Linear Time and Space. In the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. July 23 - 26, 2002. Edmonton, Alberta, Canada. pp 550-556 Sách, tạp chí
Tiêu đề: In the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining
Tác giả: E. Keogh, S. Lonardi, and W. Chiu
Năm: 2002
[15]. E. Keogh (2007). Mining shape and time series databases with symbolic representations. Tutorial of the 13rd ACM Interantional Conference on Knowledge Discovery and Data Mining, August 12-15, 2007 Sách, tạp chí
Tiêu đề: Tutorial of the 13rd ACM Interantional Conference on Knowledge Discovery and Data Mining
Tác giả: E. Keogh
Năm: 2007
[16]. E. Ouatik, A. Elkharraz, I. Daoudi, D. Aboutajdine (2007). Vector Approximation based Indexing for High-Dimensional Multimedia Databases. Information and Communication Technologies International Symposium, ICTIS’07, Fes, Morocco, 2007 Sách, tạp chí
Tiêu đề: Information and Communication Technologies International Symposium, ICTIS’07
Tác giả: E. Ouatik, A. Elkharraz, I. Daoudi, D. Aboutajdine
Năm: 2007
[19]. J. An, H. Chen, K. Furuse, M. Ishikawa, and N. Ohbo. The convex polyhedra technique: An index strucrture for high-dimensional space. In Proc. of the 13 th Australasian Database Conference, pages 33–40, 2002 Sách, tạp chí
Tiêu đề: In Proc. of the 13"th
[23]. K. Chan &amp; A. W. Fu (1999). Efficient Time Series Matching by Wavelets. In proceedings of the 15 th IEEE Int'l Conference on Data Engineering. Sydney, Australia, Mar 23-26. pp 126-133 Sách, tạp chí
Tiêu đề: In proceedings of the 15"th" IEEE Int'l Conference on Data Engineering
Tác giả: K. Chan &amp; A. W. Fu
Năm: 1999
[27]. Mai Thai Son, Duong Tuan Anh (2010). Some Novel Heuristics for Finding the Most Unusual Time Series Subsequences. In Advances in Intelligent Information and Database Systems, Ngoc Thanh Nguyen, R. Katarzyniak, S.M.Chen (Eds.), Studies in Computational Intelligence, No. 283, Springer-Verlag, pp. 229-240 Sách, tạp chí
Tiêu đề: In Advances in Intelligent Information and Database Systems", Ngoc Thanh Nguyen, R. Katarzyniak, S.M. Chen (Eds.), "Studies in Computational Intelligence
Tác giả: Mai Thai Son, Duong Tuan Anh
Năm: 2010
[2]. B. K. Yi, and C. Faloutsos: Fast time sequence indexing for arbitrary lp norms. Proceedings of 26th International Conference on Very Large Data Bases (2000) 385-394 Khác
[3]. B. K. Yi, H. V. Jagadish, and C. Faloutsos: Efficient retrieval of similar time sequences under time warping. ICDE2000 201-208 Khác
[7]. E. Keogh, and C. Ratanamahatana (2005). Exact indexing of dynamic time warping. Proceedings of 28th International Conference on Very Large Data Bases (2002) 406-417 Khác
[8]. E. Keogh and M. J. Pazzani: A simple dimensionality reduction technique for fast similarity search in large time series databases. Proceedings of the Khác
[17]. H. Chen, J. An, K. Furuse, and N. Ohbo. C2VA:trim high dimensional indexes. In Proc. WAIM2002, pages 303–315, 2002 Khác
[18]. J. An, H. Chen, K. Furuse, N. Ohbo. and E. Keogh: Grid-Based Indexing for Large Time Series Databases. Intelligent Data Engineering and Automated Learning, 4th International Conference (2003) 614-621 Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w