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

Tìm kiếm mô típ trên dữ liệu chuỗi thời gian với độ đo xoắn thời gian động dựa vào cấu trúc chỉ mục ts tree

85 21 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 85
Dung lượng 3,58 MB

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

Nội dung

Tuy nhiên độ đo này có một số nhược điểm như độ chính xác chưa cao khi áp dụng trên một số loại dữ liệu chuỗi thời gian và chưa hỗ trợ tốt cho các cấu trúc chỉ mục như R*-Tree, M-Tree… Đ

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

NGÔ THẢO CHƯƠNG

TÌM KIẾM MÔ TÍP TRÊN DỮ LIỆU CHUỖI THỜI

GIAN VỚI ĐỘ ĐO XOẮN THỜI GIAN ĐỘNG DỰA VÀO

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI

TRƯỜNG ĐẠI HỌC BÁCH KHOA TPHCM – Đ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: TS Võ Thị Ngọc Châu

Cán bộ chấm nhận xét 2: PGS.TS Đỗ Phúc

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 17 tháng 07 năm 2017 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 TS Trần Tuấn Anh

3 TS Võ Thị Ngọc Châu

4 PGS.TS Đỗ Phúc

5 TS Dương Ngọc Hiếu

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: Ngô Thảo Chương MSHV: 13070224

Ngày, tháng, năm sinh: 11/11/1987 Nơi sinh: TP.HCM Chuyên ngành: Khoa Học Máy Tính Mã số : 60.48.01

I TÊN ĐỀ TÀI:

TÌM KIẾM MÔ TÍP TRÊN DỮ LIỆU CHUỖI THỜI GIAN VỚI ĐỘ ĐO XOẮN THỜI GIAN ĐỘNG DỰA VÀO CẤU TRUC CHỈ MỤC TS-TREE II NHIỆM VỤ VÀ NỘI DUNG:

III NGÀY GIAO NHIỆM VỤ : (Ghi theo trong QĐ giao đề tài)

IV NGÀY HOÀN THÀNH NHIỆM VỤ: (Ghi theo trong QĐ giao đề tài)

V CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên):

PGS.TS Dương Tuấn Anh

Tp HCM, ngày tháng năm 2017 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ý) PGS.TS Dương Tuấn Anh TRƯỞNG KHOA….………

(Họ tên và chữ ký)

Trang 4

LỜI CẢM ƠN

Lời nói đầu tiên, chúng tôi xin gửi lòng tri ân sâu sắc cùng lời cảm ơn chân thành đến PGS.TS Dương Tuấn Anh, người Thầy đã hết lòng giúp đỡ và tạo điều kiện cho chúng tôi hoàn thành tốt đề tài tốt nghiệp này bằng sự hướng dẫn, định hướng hết sức tận tình, chu đáo

Kế đến, chúng con xin dành tặng thành quả lao động này đến Cha Mẹ và những người thân trong gia đình, Người đã luôn giáo dục, động viên, khuyến khích chúng con biết phấn đấu vươn lên trong cuộc sống và đã tạo mọi điều kiện bằng sự hy sinh cao cả của mình để trao cho chúng con cơ hội bước chân vào giảng đường Đại học

- môi trường mà chúng con có thể tiếp cận những chân trời kiến thức mới và tự rèn giũa để hoàn thiện bản thân mình

Kết lời, chúng con xin gửi lời kính chúc sức khỏe đến Thầy Dương Tuấn Anh cùng Đấng Sinh Thành Chúng con cam kết với Thầy và Cha Mẹ rằng sẽ tiếp tục tự

ý thức hơn nữa để trở thành những công dân sống tốt trong xã hội

Trang 5

TÓM TẮT LUẬN VĂN

Dữ liệu chuỗi thời gian hiện nay đóng vai trò quan trọng trong nhiều ứng dụng thực tế, từ các lĩnh vực khoa học kỹ thuật cho đến kinh tế, tài chính Có rất nhiều bài toán liên quan đến quá trình khai phá dữ liệu chuỗi thời gian như: gom cụm, phân lớp, dự báo v.v… Để giải quyết các bài toán đó thì chúng ta phải thực hiện công việc tìm kiếm motif trên dữ liệu chuỗi thời gian và đây cũng là một bài toán cực kỳ quan trọng và được nhiều nhà nghiên cứu quan tâm

Một trong những bài toán phải giải quyết khi tìm kiếm motif trên dữ liệu chuỗi thời gian là chúng ta phải tính toán khoảng cách giữa các chuỗi dữ liệu thời gian Độ đo khoảng cách Euclid là một trong những độ đo được sử dụng rộng rãi trong nhiều công trình nghiên cứu Tuy nhiên độ đo này có một số nhược điểm như

độ chính xác chưa cao khi áp dụng trên một số loại dữ liệu chuỗi thời gian và chưa

hỗ trợ tốt cho các cấu trúc chỉ mục như R*-Tree, M-Tree…

Để 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 và độ đo xoắn thời gian động đượ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 và cũng như đem lại độ chính xác cao hơn khi tìm kiếm motif trên dữ liệu chuỗi thời gian Đề tài này tập trung nghiên cứu công việc tìm kiếm motif trên dữ liệu chuỗi thời gian với độ đo xoắn thời gian động dựa vào cấu trúc chỉ mục TS-Tree Sự hiệu quả của nó được chứng minh qua sự so sánh với giải thuật tìm kiếm motif chân phương

Trang 6

One of the problems that must be considered in finding motifs on time series data is the distance computation between time series data Euclidean distance is one

of the measurements that is used widely used in many studies However, this measure has some disadvantages One of them is low accuracy and not suitable for some kinds of time series data, such as multimedia data

In order to overcome both of these problems, in the indexing data structures, the TS-Tree index structure and dynamic time wrapping distance were investigated

as the best way to accelerate the searching and also bring more precision in finding motifs on time series This thesis focuses on the finding motifs in time series under dynamic time wrapping distance based on the TS-Tree index structure Its efficiency and effectiveness are demonstrated by its comparison with the Brute Force algorithm

Trang 7

LỜI CAM ĐOAN

Chúng 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 này là do chính chúng 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 2017

Ngô Thảo Chương

Trang 8

Mục lục

CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI 1

1.1 Giới thiệu đề tài 1

1.2 Mục tiêu của đề tài 2

1.3 Giới hạn của đề tài 2

1.4 Tóm lược những kết quả thu được 3

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

CHƯƠNG II: CƠ SỞ LÝ THUYẾT 4

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

2.2 Độ đo xoắn thời gian động (Dynamic Time Warping - DTW) 4

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

2.2.2 Mở rộng chặn dưới cho độ đo xoắn thời gian động với PAA 9

2.2.3 Ký hiệu hóa chuỗi thời gian 10

2.3 Giới thiệu bài toán tìm kiếm tương tự 12

2.4 Phát hiện motif trên dữ liệu chuỗi thời gian 13

2.4.1 Khái niệm motif dữ liệu chuỗi thời gian 13

2.4.2 Một số khái niệm liên quan đến motif 13

CHƯƠNG III: CÁC CÔNG TRÌNH LIÊN QUAN 16

3.1 Giải thuật tìm kiếm chân phương (Brute Force) 16

3.2 Giải thuật chiếu ngẫu nhiên 17

3.3 Tổng quan về cây R*-Tree 19

3.3.1 Thao tác chèn thêm phần tử mới 20

3.3.2 Thao tác xóa phần tử 23

3.4 Cấu trúc chỉ mục TS-Tree 24

3.4.1 Các thành phần phân tách(Separators) 24

3.4.2 Sự rời rạc hóa 25

3.4.3 Thông tin mô tả trong cây TS-Tree 26

3.4.4 Các thao tác chèn phần tử trong cây TS-Tree 27

3.4.5 Thao tác xóa phần tử trong cây TS-Tree 28

3.4.6 Thao tác tìm kiếm trong TS-Tree 29

Trang 9

3.5 Cấu trúc chỉ mục TS-Tree làm việc với độ đo DTW 30

3.5.1 Tính khoảng cách tới MD (metadata) – MD Mindist 32

3.5.2 Khoảng cách ngắn nhất từ Q tới thành phần trong nút 32

CHƯƠNG IV : PHƯƠNG HƯỚNG GIẢI QUYẾT VẤN ĐỀ 34

4.1 Đề xuất giải thuật tìm kiếm Brute force trên cấu trúc chỉ mục TS-Tree 34

4.2 Mô hình thực hiện phương pháp 36

4.2.1 Tìm kiếm motif bằng phương pháp Brute Force 36

4.2.2 Tìm kiếm motif bằng phương pháp Brute Force trên cấu trúc chỉ mục TS-Tree 37

CHƯƠNG V: THỰC NGHIỆM 39

5.1 Thông tin về các bộ dữ liệu thực nghiệm 39

5.2 Thực nghiệm với các bộ dữ liệu nhỏ hơn 10.000 điểm 40

5.2.1 Dữ liệu Small Power Italia 40

5.2.2 Dữ liệu Small ECG (Điện tâm đồ) 42

5.2.3 Dữ liệu Small Power 45

5.2.4 Dữ liệu Small EEG (Điện não đồ) 47

5.2.5 Dữ liệu Memory 50

5.2.6 Dữ liệu TEK17 52

5.3 Thực nghiệm với các bộ dữ liệu lớn hơn 10.000 điểm 54

5.3.1 Dữ liệu Power 54

5.3.2 Dữ liệu ECG 57

5.3.3 Dữ liệu Power Italia 59

5.4 Bảng tổng kết và nhận xét các kết quả thực nghiệm 62

CHƯƠNG VI: KẾT LUẬN 66

6.1 Tổng kết 66

6.2 Những đóng góp của đề tài 66

6.3 Hướng phát triển của đề tài 67

DANH MỤC TÀI LIỆU THAM KHẢO 68

Trang 10

DANH MỤC HÌNH ẢNH Hình 2-1 Độ đo Euclid và độ đo xoắn thời gian động (Nguồn [3]) 5

Hình 2-2: Hai mẫu dữ liệu chuỗi thời gian Q và C (Nguồn [3]) 5 Hình 2-3: Độ đo xoắn thời gian động giữa hai mẫu dữ liệu chuỗi thời gian Q và C

(Nguồn [3]) 6

Hình 2-4: Ma trận xoắn ( nguồn [3] ) 6 Hình 2-5: Hai ràng buộc toàn cục của dải Sakoe-Chiba và hình bình hành Itakura

11

Hình 2-12 Bảng tra cứu cho hàm dist() 12

Hình 2-13 Hình ảnh dữ liệu chuỗi thời gian về thiên văn học có chứa đựng 3 chuỗi

con tương đồng nhau (Trên) Phóng to về 3 mẫu A B C tương đồng nhau (Dưới) (Nguồn [1]) 13

Hình 2-14 Một chuỗi con M trùng khớp với chuỗi con C trên chuỗi thời gian T

Hình 3-1: Minh họa việc xây dựng ma trận 𝑺 với a=3, w=4 và n=16 17

Hình 3-2: Trái) {1,2} được chọn ngẫu nhiên Phải) tăng giá trị của các ô tương ứng

1 đơn vị 18

Hình 3-3: Trái) Cột {2,4} được chọn Phải) Tăng giá trị của vị trí tương ứng [2] 19 Hình 3-5 Các hình chữ nhật bao phủ nhỏ nhất (Nguồn [7]) 19

Trang 11

Hình 3-6 Cấu trúc chỉ mục R-Tree (Nguồn [7]) 20

Hình 3-7 Quá trình Chèn thêm phần tử mới vào cây R*-Tree (Nguồn [4]) 21

Hình 3-8a Các đối tượng dữ liệu trong không gian (Nguồn [4]) 21

Hình 3-8b Cây R*- Tree được xây dựng dựa trên dữ liệu ở hình 1.4a (Nguồn [4]) 22

Hình 3-9 Hai phương thức tách nút (Nguồn [4]) 22

Hình 3-10 Quá trình xóa nút ra khỏi cây R*-Tree (Nguồn [4]) 23

Hình 3-11 Cho ta thấy hình ảnh các thành phần phân tách của một nút trong cây (Nguồn [9]) 25

Hình 3-12 Sự rời rạc hóa trong nút cây TS-Tree (Nguồn [4]) 26

Hình 3-13 Thông tin mô tả trong một nút cây (Nguồn [4]) 26

Hình 3-14 Cấu trúc một nút trong cây TS-Tree (Nguồn [9]) 27

Hình 3-15 Miêu các bước trong quá trình thêm nút mới (Nguồn [4]) 28

Hình 3-16 Xóa phần tử S trên cây (Nguồn [4]) 28

Hình 3-17 Quá trình tìm kiếm phần tử trong cây (Nguồn 4) 29

Hình 3-18 Tính toán S l-Mindist, Sr-Mindist, MD-Mindist từ đối tượng Q tới phần tử trong nút (Nguồn [4]) 31

Hình 3-19 MD-Mindist Khoảng cách ngắn nhất từ Q tới thông tin mô tả 32

Hình 3-20 Khoảng cách ngắn nhất từ Q tới thành phần phân tách trái và phải (nguồn [9]) 32

Hình 4-1: Mô tả quá trình tìm kiếm trong cây TS-Tree 35

Hình 4-2: Mô hình phương pháp tìm kiếm Brute Force 36

Hình 4-3 : Mô hình tìm kiếm motif trên cấu trúc chỉ mục TS-Tree 37

Hình 4-4: Nút R1, R2, R3, R4, R5, R6 thỏa mãn điều kiện tìm kiếm 38

Hình 4-5: Nút R1, R3, R4 thỏa mãn điều kiện tìm kiếm 38

Hình 5-1: Dữ liệu Small Power Italia có kích thước 7.000 điểm 40

Hình 5-2: Motif tìm thấy bởi giải thuật BF_DTW với bộ dữ liệu Small Power Italia 41

Hình 5-4: Dữ liệu Small ECG có kích thước 7.900 điểm 43

Hình 5-5: Motif tìm thấy bởi giải thuật BF_DTW trong bộ dữ liệu Small ECG46 43

Trang 12

Hình 5-6: Motif tìm thấy bởi giải thuật BF_DTW trong bộ dữ liệu Small ECG 44

Hình 5-7: Dữ liệu Small Power có kích thước 7.000 điểm 45 Hình 5-8: Motif tìm thấy bởi giải thuật BF_DTW trong bộ dữ liệu Small Power 46 Hình 5-9: Motif tìm thấy với giải thuật BF_DTW_TStree trong bộ dữ liệu Small

Power 47

Hình 5-10: Dữ liệu EEG có kích thước 7.000 điểm 48 Hình 5-11: Motif tìm thấy bởi giải thuật BF_DTW trong bộ dữ liệu Small EEG 48 Hình 5-12: Motif tìm thấy với giải thuật BF_DTW_TStree trong bộ dữ liệu Small

EEG 49

Hình 5-13: Dữ liệu Memory có kích thước 6.872 điểm 50 Hình 5-14: Motif tìm thấy với giải thuật BF_DTW trong bộ dữ liệu Memory 51 Hình 5-15: Motif tìm thấy với giải thuật BF_DTW_TStree trong bộ dữ liệu Memory

52

Hình 5-16: Dữ liệu TEK17 có kích thước 5.000 điểm 52 Hình 5-17: Motif tìm thấy với giải thuật BF_DTW trong bộ dữ liệu TEK17 53 Hình 5-18: Motif tìm thấy với giải thuật BF_DTW_TStree trong bộ dữ liệu TEK17

54

Hình 5-19: Dữ liệu Power có kích thước 25.000 điểm 55 Hình 5-20: Motif tìm thấy với giải thuật BF_DTW trong bộ dữ liệu Power 55 Hình 5-21: Motif tìm thấy với giải thuật BF_DTW_TStree trong bộ dữ liệu Power

56

Hình 5-22: Dữ liệu ECG có kích thước 25.000 điểm 57 Hình 5-23: Motif tìm thấy với giải thuật BF_DTW trong bộ dữ liệu ECG 58 Hình 5-24: Motif tìm thấy với giải thuật BF_DTW_TStree trong bộ dữ liệu ECG

Trang 13

DANH MỤC BẢNG

Bảng 3.1 Bảng mô tả về các bước hiện thực giải thuật find 1-motif brute force 16 Bảng 4.1: Giải thuật Find 1-motif brute force_TStree 34 Bảng 5.1: Bảng tổng kết về số thể hiện motif và thời gian thực thi trên các tập dữ

liệu nhỏ hơn 10.000 điểm 62

Bảng 5.2: So sánh thời gian thực hiện trên các tập dữ liệu 63 Bảng 5.3: Bảng tổng kết về số thể hiện motif và thời gian thực thi trên các tập dữ

liệu lớn hơn 10.000 điểm 64

Bảng 5.4: Bảng so sánh thời gian chạy của hai giải thuật trên các tập dữ liệu đã thực

nghiệm 65

Trang 14

CHƯƠNG I:

GIỚI THIỆU ĐỀ TÀI

1.1 Giới thiệu đề tài

Trong thời đại ngày nay việc phát triển khoa học và công nghệ đang diễn ra một cách mạnh mẽ, trong đó lĩnh vực công nghệ thông tin là một trong những lĩnh vực phát triển nhất của xã hội Con người ngày càng muốn số hóa mọi thứ xung quanh mình để

có thể mang lại nhiều tiện ích phục vụ cho cuộc sống Tất cả các dữ liệu từ các lĩnh vực khác nhau như tài chính, sinh học, âm nhạc, phim ảnh, y khoa, hóa học, vật lý, v.v…

đều được số hóa và lưu trữ trên các hệ thống máy tính Dữ liệu chuỗi thời gian (time

series data) ngày càng đóng một vai trò quan trọng trong đời sống của con người nên được sự quan tâm của các nhà khoa học đầu trên thế giới

Cùng với sự bùng nổ của dữ liệu hiện nay, việc khai phá dữ liệu đã và đang là mối quan tâm rất lớn của các nhà khoa học máy tính Rất nhiều giải thuật khai phá dữ liệu

đã được ứng dụng vào các chương trình máy tính phục vụ nhu cầu của con người Bên cạnh đó nhiều giải thuật khai phá dữ liệu cũng đã được ứng dụng trên dữ liệu chuỗi thời

gian để giải quyết nhiều bài toán khác nhau, trong đó bài toán tìm kiếm mô típ (motif)

trên chuỗi thời gian với thời gian ngắn và chính xác là một trong thách thức mà các nhà khoa học đang phải giải quyết

Hiện nay có rất nhiều cấu trúc chỉ mục (index structure) được các nhà khoa học đề

xuất để lưu trữ dữ liệu chuỗi thời gian như A-tree, M-tree, R*-tree, TS-tree… nhằm tăng tốc quá trình truy xuất dữ liệu Các cấu trúc chỉ mục A-tree, M-tree, R*-tree hoạt động với dữ liệu ít chiều (dưới 20 chiều) và hỗ trợ độ đo phổ biến Euclid Dữ liệu chuỗi thời gian là dữ liệu nhiều chiều và độ đo Euclid cũng bộc lộ nhiều khuyến điểm khi tính toán khoảng cách giữa 2 mẫu dữ liệu chuỗi thời gian Hiện tại đã có nghiên cứu áp dụng

việc lưu trữ dữ liệu chuỗi thời gian bằng cấu trúc chỉ mục TS-Tree kết hợp với độ đo xoắn thời gian động (Dynamic Time Warping - DTW) và cũng đã đạt được một số kết

quả cho thấy sự hiệu quả nhất định

Để giải quyết bài toán tìm motif trên dữ liệu chuỗi thời gian không chỉ đòi hỏi một cấu trúc chỉ mục hỗ trợ tốt quá trình tìm kiếm mà còn đòi hỏi phải có các giải thuật tìm kiếm hiệu quả để cho ra kết quả chính xác trong thời gian ngắn nhất Với một số kết quả khả quan từ đề tài nghiên cứu lưu trữ dữ liệu chuỗi thời gian dựa trên cấu trúc chỉ mục

Trang 15

TS-Tree với độ đo DTW thì đề tài này tiếp tục nghiên cứu vấn đề phát hiện motif trên

dữ liệu chuỗi thời gian với độ đo xoắn thời gian động dựa vào cấu trúc chỉ mục TS-Tree

1.2 Mục tiêu của đề tài

Như đã nói ở trên mục tiêu chính của đề tài là giải quyết bài toán tìm kiếm motif trên dữ liệu chuỗi thời gian với độ đo xoắn thời gian động dựa vào sự hỗ trợ của cấu trúc chỉ mục TS-Tree Để thực hiện mục tiêu tổng quát đã đề ra, cần thực hiện từng bước những mục tiêu nhỏ như sau:

 Khảo sát độ đo xoắn thời gian động và cấu trúc chỉ mục TS-tree

 Khảo sát một số nghiên cứu cải tiến độ đo xoắn thời gian động

 Nghiên cứu một số giải thuật phát hiện trên dữ liệu chuỗi thời gian

 Đề xuất giải thuật phát hiện motif trên dữ liệu chuỗi thời gian với độ đo xoắn thời gian động dựa vào cấu trúc chỉ mục TS-Tree

 Kiểm tra độ hữu hiệu của giải thuật đề xuất bằng cách thử nghiệm một số bộ

dữ liệu chuỗi thời gian mẫu

 Đánh giá, báo cáo kết quả

Phương pháp nghiên cứu của đề tài là dựa trên kết quả thực nghiệm Trước tiên sẽ khảo sát về cấu trúc chỉ mục TS-tree và độ đo xoắn thời gian động để tìm hiểu về những điểm mạnh cũng như những hạn chế của cấu trúc chỉ mục này Sau đó đề xuất và hiện thực một giải thuật tìm kiếm motif trên dữ liệu chuỗi thời gian với độ đo xoắn thời gian đông dựa vào sự hỗ trợ của cấu trúc chỉ mục TS-Tree Để kiểm tra độ hiểu quả của giải thuật đề xuất chúng tôi đưa dữ liệu vào chạy thực tế và so sánh kết quả với phương pháp

tìm kiếm motif bằng giải thuật tìm kiếm chân phương (Brute Force)

Bên cạnh mục tiêu trước mắt là dùng giải thuật đã nêu trên để giải quyết bài toán tìm motif đề tài còn là tiền đề để một số nghiên cứu kế tiếp tìm ra một số giải thuật mới hiệu quả hơn nhằm giải quyết bài toán tìm motif một cách hiệu quả nhất Đây là một mục tiêu cần thiết cho nhu cầu khai phá dữ liệu chuỗi thời gian nhưng sẽ đòi hỏi một thời gian nghiên cứu lâu dài hơn

1.3 Giới hạn của đề tài

Do thời gian có hạn, nên phạm vi nghiên cứu của đề tài trước mắt tập trung vào việc quyết bài toán tìm kiếm motif trên dữ liệu chuỗi thời gian với độ đo xoắn thời gian động dựa vào cấu trúc chỉ mục TS-tree

Trang 16

Do hạn chế về thời gian và vấn đề khó khăn trong việc tiếp cận dữ liệu chuỗi thời gian trong thực tế Ở đây, dữ liệu được sử dụng là các bộ dữ liệu mẫu được dùng trong cộng đồng các nhà nghiên cứu về dữ liệu chuỗi thời gian Dữ liệu chuỗi thời gian được ứng dụng trong nhiều lĩnh vực khác nhau, do đó chúng có sự khác nhau về hình dáng cũng như kích thước Công việc kiểm tra độ hiệu quả của giải thuật tìm kiếm motif chỉ được thể hiện thông qua các bộ dữ liệu mẫu đại diện cho một số lãnh vực khác nhau

1.4 Tóm lược những kết quả thu được

Với việc tập trung vào mục đích chính của luận văn trong suốt quá trình thực hiện và qua thử nghiệm trên một số tập dữ liệu mẫu chúng tôi thấy được ưu điểm của phương pháp tìm kiếm motif dựa vào cấu trúc chỉ mục TS-Tree với độ đo xoắn thời gian động

có những ưu điểm như sau:

+ Thời gian đáp ứng nhanh hơn so với phương pháp tìm kiếm Brute Force

+ Thích nghi được với các chuỗi dữ liệu lớn

+ Thời gian tìm kiếm không phụ thuộc vào sự thay đổi kích thước của chuỗi con

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

Chương I: chương này giới thiệu tổng quan và tại sao lại chọn đề tài, mục tiêu, giới

hạn và tóm lược các kết quả thu được

Chương II: trình bày cơ sở lý thuyết liên quan cần tìm hiểu bao gồm độ đo xoắn

thời gian động, các phương pháp thu giảm kích thước của dữ liệu chuỗi thời gian, bài toán tìm kiếm tương tự, khái niệm motif trên dữ liệu chuỗi thời gian

Chương III: trong chương này tập trung khảo sát các công trình liên quan đến luận

văn bao gồm: phương pháp tìm kiếm motif dựa vào giải thuật tìm kiếm chân phương

(Brute Force), phương pháp tìm kiếm motif dựa vào giải thuật chiếu ngẫu nhiên, cấu trúc chỉ mục R*-Tree, cấu trúc chỉ mục TS-Tree

Chương IV: Trình bày cấu trúc chỉ mục TS-Tree làm việc với độ đo xoắn thời gian

động Đề xuất giải thuật tìm kiếm motif trên dữ liệu chuỗi thời gian với độ đo xoắn thời gian động dựa vào cấu trúc chỉ mục TS-Tree

Chương V: tiến hành đưa dữ liệu vào thực nghiệm trên giải thuật đề xuất và giải

thuật tìm kiếm chân phương sau đó so sánh kết quả và đưa ra một số nhận xét về kết quả thu được

Chương VI: Chúng tôi đưa ra một số kết luận sau khi thực hiện đề tài

Trang 17

CHƯƠNG II:

CƠ SỞ LÝ THUYẾT

Trong chương này sẽ trình bày những kiến thức liên quan đến bài toán tìm kiếm motif trên dữ liệu chuỗi thời gian Chúng tôi sẽ trình bày khái niệm về dữ liệu chuỗi thời gian, độ đo xoắn thời gian động, khái niệm về bài toán tìm kiếm tương tự trên dữ liệu

chuỗi thời gian và khái niệm về motif

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

Chuỗi thời gian là một chuỗi trị số thực, mỗi trị biểu diễn một giá trị một giá trị đo tại những thời điểm cách đều nhau Có thể xem chuỗi thời gian là một tập hợp chuỗi dữ

liệu 2 chiều (T,X) Trong đó T là tập thời điểm xác định T= (t1, t2… ) với ti thuộc R, còn

X là tập hợp giá trị quan sát được tại từng thời điểm thuộc tập T đó Với những giá trị quan sát thu nhận được tại những khoảng thời gian bằng nhau thì ta có được n giá trị

quan sát trong khoảng thời gian đó thì chuỗi có thể được xem là dữ liệu trong không

2.2 Độ đo xoắn thời gian động (Dynamic Time Warping - DTW)

Độ đo xoắn thời gian động được Berndt và Clifford giới thiệu vào năm 1994 [10] trong công trình nghiên cứu về độ đo DTW(xoắn thời gian động) trong cơ sở dữ liệu

Độ đo DTW hiệu quả hơn độ đo Euclid trong việc tính toán khoảng cách giữa 2 mẫu dữ liệu chuỗi thời gian Trên thực tế có những mẫu dữ liệu chuỗi thời gian giống nhau nhưng khi tính toán bằng độ đo Euclid thì lại cho kết quả khác xa nhau Chính vì thế nên độ đo Euclid thường cho ra kết quả tính toán kém chính xác hơn so với độ đo xoắn thời gian động đối với các dữ liệu nhiều chiều

Bên cạnh đó có rất nhiều công trình nghiên cứu ứng dụng độ đo xoắn thời gian động vào trong các thực tế như: công trình nghiên cứu của Gavrila và Davis năm 1995 trong ngành sinh trắc học, Munich và Perona năm 1999 trong ngành chữ ký điện tử, Kovacs

và Vajna năm 2000 trong dữ liệu vân tay Tuy nhiên độ đo xoắn thời gian động có một nhược điểm là thời gian tính toán không được nhanh

Trang 18

Trước khi tìm hiểu về độ đo khoảng cách DTW chúng ta sẽ nói sơ qua về độ đo

khoảng cách Euclid Giả sử chúng ta có 2 chuỗi thời gian Q = Q1, Q2,…., Qn và C = C1, C2, …, Cn Độ đo khoảng cách Euclid được xác định bằng công thức sau:

Độ do Euclid có ưu điểm là dễ hiểu, dễ tính toán nhưng độ đo này không làm việc

tốt trên dữ liệu nhiễu, dữ liệu chuỗi thời gian liên quan đến lĩnh vực đa phương tiện

(multimedia) Hình 2-1 dưới đây mô tả sự khác nhau giữa hai độ đo Euclid và độ đo DTW

Hình 2-1 Độ đo Euclid và độ đo xoắn thời gian động (Nguồn [3]) 1

Giả sử ta có 2 chuỗi thời gian Q và C có chiều dài lần lượt là n và m với Q = Q1, Q2, Q3, … , Qn và C = C1, C2, C3, … , Cm theo hình 2-2 và độ đo xoắn thời gian động

Trang 19

Hình 2-3: Độ đo xoắn thời gian động giữa hai mẫu dữ liệu chuỗi thời gian Q và C

(Nguồn [3])3

Để tính toán độ đo xoắn thời gian động giữa hai chuỗi trên, ta xây dựng một ma trận

có kích thước n*m với n là số hàng của ma trận và m là số cột của ma trận Trong đó phần tử (i th ,j th ) của ma trận chứa khoảng cách d(qi,cj) giữa hai điểm qi, cj trên 2 chuỗi dữ liệu Q và C

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

Trang 20

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

Độ phức tạp của giải thuật khi tính toán độ đo khoảng cách DTW là O(m*n) Do

phải tính toán trên toàn bộ tập ma trận nên thời gian tính toán của độ đo DTW là khá cao

Đối với việc tính toán độ đo xoắn thời gian động chúng ta có một số ràng buộc sau:

- Điều kiện biên: w1 = (1,1) và wk = (m,n) ràng buộc này yêu cầu đường xoắn

phải bắt đầu và kết thúc ở hai góc đối diện của ma trận

- Tính liên tục: wk = (a,b) thì wk-1 = (a',b') trong đó a-a' ≤ 1 và b-b' ≤ 1 Ràng

buộc này yêu cầu đường xoắn phải di chuyển giữa những ô liền kề (kể cả những ô liền kề theo đường chéo)

- Tính đơn điệu tăng: wk = (a,b) thì wk-1 = (a',b'), với a-a' ≥ 0 và

b-b' ≥ 0 Ràng buộc này yêu cầu các điểm trong đường xoắn W phải có tính

đơn điệu tăng theo thời gian

Như đã đề cập ở trên việc tính toán trên toàn bộ ma trận nhằm tìm ra đường xoắn có chi phí tối thiểu tốn thời gian khá cao Nhằm giảm thiểu chi phí tính toán cũng như hạn chế việc tìm ra những đường xoắn không phù hợp, công trình nghiên cứu của nhóm tác

giả Sakoe-Chiba, tác giả Itakura [11] đã đề xuất ra những ràng buộc toàn cục (global

constraints) để tăng tốc thời gian tính toán của độ đo xoắn thời gian động như hình 2-5

Hình 2-5: Hai ràng buộc toàn cục của dải Sakoe-Chiba và hình bình hành Itakura

(Nguồn[3])

Trang 21

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

Mặc dù độ đo xoắn thời gian động cho kết quả tính toán chính xác nhưng lại gây ra chi phí tính toán cao Để giải quyết vấn đề trên Keogh [3] đã đề xuất chỉ tính toán khoảng cách chặn dưới để giảm thiểu chi phí tính toán

Ta định nghĩa chặn dưới (L) và chặn trên (U) của chuỗi dữ liệu chuỗi thời gian như sau: Ui = max (qi-r : qi+r), Li = min (qi-r: qi+r)

Trong đó chỉ số r được định nghĩa tùy theo mô hình hoặc xem như là khoảng trong của độ đo xoắn thời gian động Với Wk = (i,j) ta có j-r ≤ i ≤ j+r

Ta có mô hình chặn trên và chặn dưới theo Sakoe-Chiba, Itakura như hình 2-6

Đối với dải Sakoe-Chiba, r không phụ

0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

𝑛

Theo hình 2-7 ta có tổng bình phương khoảng cách từ mỗi phần của chuỗi thời gian

C không nằm trong lớp bao giữa U và L tới các cạnh trực giao gần nhất của lớp bao để

thu được khoảng cách chặn dưới Keogh

Hình 2-7 Khoảng cách LB_Keogh trong 2 mô hình Sakoe-Chiba(A) và Itakura(B)

(Nguồn [3])7

Trang 22

2.2.2 Mở rộng chặn dưới cho độ đo xoắn thời gian động với PAA

Để giảm thiểu chi phí tính toán của độ đo xoắn thời gian động ta đã có cải tiến bằng cách tính toán theo cận trên và cận dưới Ngoài ra chúng ta có thể tiếp tục cải tiến giải thuật xoắn thời gian động bằng việc thu giảm chiều trong chuỗi dữ liệu thời gian cần tính toán bằng một số phương pháp như Fourier Transforms [14], Wavelets [15],

Piecewise Aggregate Approximation (PAA)[16] Trong đó Phương pháp xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation - PAA) được Keogh và các đồng sự đề

nghị năm 2000 Phương pháp được lựa chọn vì cách tính toán rất đơn giản, chúng ta có

thể tuần tự xấp xỉ k giá trị liền kề nhau thành cùng một giá trị trung bình bình cộng của

k điểm đó

Giả sử chúng ta có một chuỗi thời gian có chiều dài n được biến đổi thành về chuỗi

thời gian khác có số chiều ít hơn N ( với 1 ≤ N ≤ n) có dạng 𝐶̅ = 𝑐̅1, 𝑐̅2, , 𝑐̅N Phần tử thứ i được tính toán theo công thức 2.4:

Hình 2-8 Phương pháp xấp xỉ gộp từng đoạn PAA (Nguồn [3]) 8

Từ phương pháp PAA thì chúng ta sẽ có cận trên (𝑈 ̂) và cận dưới (𝐿̂) mới như

hình 2-9:

Trang 23

Hình 2-9 Cận trên và cận dưới sau khi xấp xỉ gộp từng đoạn PAA (Nguồn [3]) 9

Ta tiếp tục định nghĩa hàm chặn dưới LB_PAA để tính khoảng cách giữa 2 dữ liệu chuỗi thời gian theo công thức 2.5:

𝐿𝐵_𝑃𝐴𝐴(𝑄, 𝐶̅) = √∑𝑛

𝑁{

(𝑐̅𝑖− 𝑈̂𝑖)2𝑖𝑓 𝑐̅ > 𝑈̂𝑖(𝑐̅𝑖− 𝐿̂𝑖)2𝑖𝑓 𝑐𝑖 < 𝐿̂𝑖

MINDIST(Q,R)= √∑ 𝑛

𝑁{

(𝑙𝑖 − 𝑈̂𝑖)2𝑖𝑓 𝑙 > 𝑈̂𝑖(ℎ𝑖− 𝐿̂𝑖)2𝑖𝑓 ℎ𝑖 < 𝐿̂𝑖

0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

𝑛

Trong công thức trên R mang ý nghĩa là hình chữ nhật bao phủ nhỏ nhất của chuỗi

dữ liệu thời gian sau khi biến đổi PAA

2.2.3 Ký hiệu hóa chuỗi thời gian

Trong một công trình nghiên cứu năm 2003 của mình Lin, Keogh và các cộng sự đã

đề xuất một phương pháp rời rạc hóa có tên là xấp xỉ gộp ký hiệu hóa (symbolic aggregate approximation - SAX) dựa trên phương pháp thu giảm số chiều PAA và giả

sử dữ liệu thu giảm số chiều đã được chuẩn hóa SAX là quá trình ánh xạ biểu diễn PAA

của chuỗi thời gian thành một chuỗi ký tự rời rạc Gọi a là kích thước của bộ ký hiệu

mà được dùng để rời rạc hóa chuỗi thời gian Để ký hiệu hóa chuỗi thời gian ta phải tìm thấy các trị (điểm ngắt ) sau đây: 𝛽1, 𝛽2, , 𝛽a-1 với 𝛽1< 𝛽2< < 𝛽a-1 [19][5]

Trang 24

Điểm ngắt (Breakpoints): các điểm ngắt là một danh sách các con số được sắp xếp

𝛽 = 𝛽1, , 𝛽a-1 Danh sách các điểm ngắt này chịu ảnh hưởng của bảng phân bố Gauss N(0,1) và từ 𝛽1 đến 𝛽a-1 = 1/a

Hình 2-10 dưới đây mô tả các điểm ngắt cho các giá trị của a từ 3 đến 6

Hình 2-10 Bảng danh sách các điểm ngắt cho các giá trị10

Sau khi đã áp dụng phương pháp PAA để tạo chuỗi thời gian rời rạc hóa thì ta dùng các điểm ngắt để ánh xạ các hệ số PAA vào các ký tự theo công thức 2.7

Công thức mã hóa chuỗi thời gian 𝑇̅ = 𝑡̅1,𝑡̅2, 𝑡̅n thành ký hiệu ci

Hình vẽ 2-11 mô tả việc ánh xạ các hệ số PAA vào các ký tự 'a', 'b', 'c'

Hình 2-11 Mô tả ánh xạ chuỗi thời gian thành chuỗi ký tự cbccbaab (Nguồn [2])11

Từ (word): Một chuỗi con C có chiều dài n có thể được viết lại như một từ 𝐶̂ =

𝑐̂1, ,𝑐̂w Với ai đại diện cho phần tử thứ i của một bảng ký tự, ví dụ

a1 = a và a2 = b Sau đó chiếu từ một chuỗi 𝐶̅ tới một từ 𝐶̂ như sau:

𝑐̂i = ai , iff 𝛽j-1 ≤ 𝑐̅𝑖 < 𝛽j

Tuy nhiên khi ta chuyển đổi dữ liệu về dạng ký tự, ta cần định nghĩa hàm MINDIST

để trả về khỏang cách tối thiểu giữa 2 chữ theo dữ liệu ban đầu theo công thức sau

Trang 25

𝑀𝐼𝑁𝐷𝐼𝑆𝑇 (𝑄̂, 𝐶̂) = √𝑛

𝑤√∑𝑤 (𝑑𝑖𝑠𝑡(𝑞̂𝑖, 𝑐̂𝑖))2 𝑖=1 (2.8)

Công thức tính toán khỏang cách tối thiểu giữa 2 từ

Hàm dist() được xây dựng bằng một bảng tra cứu như hình 2-12

Hình 2-12 Bảng tra cứu cho hàm dist() 12

Giá trị trong các ô được tính toán theo công thức

(2.9)

2.3 Giới thiệu bài toán tìm kiếm tương tự

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 motif, phát hiện mẫu bất thường, khai phá luật kết hợp và trực quan hóa dữ liệu Trong đó thì tìm kiếm motif là một trong những bài toán cơ bản của việc khai thác thông tin trên chuỗi dữ liệu thời gian Với mục đích

là tìm kiếm những chuỗi con giống nhau trên mẫu dữ liệu chuỗi thời gian để từ đó chúng

ta có thể dự đoán 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 những công ty có kiểu mẫu tăng trưởng giống nhau

- Xác định những chứng khoán có giá biến động theo một kiểu cách giống nhau

- Tìm xem một giai điệu nhạc có tương tự với một đoạn nhạc nào trong tập hợp những bản nhạc có bản quyền

- Tìm những tháng trong quá khứ mà lượng mưa giống như tháng vừa rồi 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) Đối với những truy vấn so trùng toàn bộ thì

chiều dài của chuỗi dữ liệu truy vấn và chiều dai chuỗi dữ liệu ban đầu là bằng nhau

Trang 26

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 chuỗi thời gian

So trùng chuỗi con: (subsequence matching) Trong trường hợp so trùng chuỗi

con thì 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

2.4 Phát hiện motif trên dữ liệu chuỗi thời gian

2.4.1 Khái niệm motif dữ liệu chuỗi thời gian

Trên một chuỗi thời gian việc tìm kiếm các mẫu định nghĩa trước là một trong

những bài toán cơ bản cả khai phá dữ liệu chuỗi thời gian Bên cạnh đó việc tìm kiếm những mẫu chưa biết trước và xuất hiện một cách thường xuyên trong chuỗi thời gian cũng là một bài toán được quan tâm rất nhiều và người ta gọi những mẫu đó là motif Hình 2-13 sẽ minh họa chuỗi thời gian có chứa motif

Hình 2-13 Hình ảnh dữ liệu chuỗi thời gian về thiên văn học có chứa đựng 3 chuỗi

con tương đồng nhau (Trên) Phóng to về 3 mẫu A B C tương đồng nhau (Dưới)

(Nguồn [1])13

2.4.2 Một số khái niệm liên quan đến motif

Chuỗi con (Subsequence): Cho một chuỗi thời gian T có chiều dài m, một chuỗi

con C của T có chiều dài n ( n≤m) là một mẫu tiếp nối từ T C = tp, …, tp+n-1 for 1≤ p

≤m –n+1

Trang 27

Vì tất cả các chuỗi con có thể một motif tiềm ẩn, bất kỳ thuật toán khai phá motif nào cũng phải tìm ra tất cả chuỗi con, điều này có thể đạt được bằng cách sử dụng cửa

sổ trượt

Cửa sổ trượt (Sliding Window): Một chuỗi thời gian T có chiều dài m, và một

định nghĩa của người dùng về chiều dài của một chuỗi con là n, một ma trận S của tất cả

các chuỗi con có thể được xây dựng bằng cách trượt một cửa sổ có kích thước là n dọc

theo T và đưa chuỗi con Cp vào trong hàng thứ p th của S Kích thước của ma trận S là (m – n+1) theo n

Trùng khớp (Match): Cho một số thực R được gọi là khoảng cách và một chuỗi thời gian T chứa đựng một chuỗi con C bắt đầu từ vị trí p và một chuỗi con M bắt đầu

từ vị trí q D là độ đo khoảng cách giữa C và M Nếu D(C,M) ≤R , thì M được gọi là

trùng khớp với chuỗi con C theo hình 2-14

Hình 2-14 Một chuỗi con M trùng khớp với chuỗi con C trên chuỗi thời gian T

(Nguồn [2])14

Trùng khớp tầm thường (Trivial Match): Cho một chuỗi thời gian T trong đó có

chứa một chuỗi con C bắt đầu từ vị trí p và một chuỗi con trùng khớp M bắt đầu từ vị trí

q Ta gọi chuỗi con M là trùng khớp tầm thường với chuỗi con C nếu như p = q và không tồn tại một chuỗi con M’ nào bắt đầu từ vị trí q’ để mà D(C,M’) > R, cũng như q<q’<p hoặc p<q’<q Hình 2-15 mô tả sự trùng khớp tầm thường của chuỗi con tìm

kiếm được với chuỗi con C trên chuỗi thời gian

Trang 28

Hình 2-15 Chuỗi con tìm kiếm trùng khớp hoàn toàn với chuỗi con C (Nguồn [2])15

Motif bậc K (K-Motif(n,R)): Cho một chuỗi thời gian T, một chuỗi con có chiều

dài n và khoảng R Motif bậc một (1-Motif(n,R)) quan trọng nhất trong T là một chuỗi

con C1 có số lần trùng khớp không tầm thường (non-trivial matches) cao nhất Motif bậc

K (K-Motif(n,R)) có ý nghĩa nhất trong T là các chuỗi con Ck có số lần trùng khớp không

tầm thường cao nhất, và thỏa mãn điều kiện D(Ck,Ci) >2R cho cả 1≤i<K Hình 2-16 mô

tả khoảng cách giữa 2 motif trong chuỗi thời gian

Hình 2-16 Mô tả các motif trong K-motif phải khác nhau 1 khoảng ít nhất là 2R

(Nguồn [1])16

Các chuỗi con thuộc về cùng một motif bậc K được gọi là các thể hiện (instance)

của motif bậc K đó

Trong chương này chúng tôi đã khảo sát cơ sở lý thuyết về dữ liệu chuỗi thời gian,

độ đo xoắn thời gian động, khái niệm bài toàn tìm kiếm tương tự , tìm kiếm motif trên

dữ liệu chuỗi thời gian Tất cả những cơ sở lý thuyết trên sẽ đã được sử dụng trong các

công trình liên quan đến vấn đề mà luận văn đang thực hiện là tìm kiếm motif trên dữ

liệu chuỗi thời gian với độ đo xoắn thời gian động dựa vào cấu trúc chỉ mục Trong

chương tiếp chúng tôi sẽ khảo sát các công trình liên quan đến bài toán tìm kiếm motif

Trang 29

CHƯƠNG III:

CÁC CÔNG TRÌNH LIÊN QUAN

Trong chương này sẽ khảo sát một số giải thuật tìm kiếm motif đã và đang được sử dụng nhiều trong các nghiên cứu về bài toán tìm kiếm motif trên dữ liệu chuỗi thời gian đồng thời cũng sẽ khảo sát cấu trúc chỉ mục TS-Tree với độ đo khoảng cách DTW để

áp dụng vào bài toán tìm kiếm motif nhằm tăng tốc quá trình tìm kiếm những vẫn đảm bảo được độ chính xác

3.1 Giải thuật tìm kiếm chân phương (Brute Force)

Trong công trình nghiên cứu của J Lin, E Keogh và các đồng sự [1] có đề xuất giải

thuật tìm kiếm motif bậc nhất chân phương (find 1-motif brute force) Các bước thực

hiện của giải thuật sẽ được miêu tả trong bảng 1

Bảng 3-1 - Bảng mô tả về các bước hiện thực giải thuật find 1-motif brute force 1

(với T là chiều dài của chuỗi thời gian, n là chiều dài chuỗi con, R là ngưỡng khoảng

cách giữa 2 chuỗi con) Giải thuật tìm kiếm chân phương có ưu điểm là dễ hiện thực cho ra kết quả tìm kiếm motif chính xác nhưng thời gian tìm kiếm lâu và độ phức tạp cao Độ phức tạp

hàm bậc hai

Trang 30

Tuy giải thuật tìm kiếm chân phương có nhược điểm là độ phức tạp cao nhưng theo khảo sát của chúng tôi trong các công trình nghiên cứu gần đây vẫn áp dụng giải thuật này Công trình của hai tác giả Cao Duy Trường và Dương Tuấn Anh năm 2015[17] đưa ra một phương pháp phát hiện motif trên cơ sở dữ liệu chuỗi thời gian với

độ đo xoắn thời gian động Phương pháp phát hiện motif của Trường và Anh sử dụng

bộ kỹ thuật(suite of technique) tăng tốc việc tính khoảng cách xoắn thời gian động được

đưa ra năm 2012 của tác giả Rakthamanon và các cộng sự [18] với hai cải tiến là sử dụng độ đo Euclid làm cận trên của độ đo xoắn thời gian động và sử dụng cấu trúc chỉ mục Wedge Tree để hỗ trợ quá trình so trùng Tuy nhiên mục tiêu của phương pháp này

là tìm kiếm motif trong một cơ sở dữ liệu chuỗi thời gian, trong đó motif là một chuỗi thời gian riêng biệt khác với mục tiêu của luận văn là tìm kiếm motif trên dữ liệu chuỗi thời gian trong đó motif là một chuỗi con trên dữ liệu chuỗi thời gian dài

3.2 Giải thuật chiếu ngẫu nhiên

Năm 2001, Buhler và Tompa cộng sự đã đề xuất phương pháp chiếu ngẫu nhiên

để tìm kiếm motif [12] và sau đó được sử dụng trong các công trình sau này [2][19] Đầu tiên tác giả sử dụng phương pháp PAA để thu giảm số chiều Sau đó, tác giả tiếp tục sử dụng phương pháp SAX để rời rạc hóa chuỗi dữ liệu đã được thu giảm

Giả sử chúng ta có chuỗi thời gian T gồm 1000 điểm, chứa hai chuỗi con chiều dài

16 là T1 và T58 giống nhau , nhưng vì lý do nào đó xảy ra nhiễu ở vị trí 8 đến 12 Đầu tiên chúng ta sẽ chọn ra các chuỗi con bằng cách sử dụng cửa sổ trượt n Tiếp

theo chúng ta sẽ dùng phương pháp PAA và SAX để biến đổi các chuỗi con thành các

kí tự để thành lập ma trận 𝑆̂ Chú ý rằng các chỉ số hàng của 𝑆̂ cho chúng ta vị trí các

chuỗi con tương ứng trong T Hình 2.12 minh họa quá trình này

Hình 3-1: Minh họa việc xây dựng ma trận 𝑺̂ với a=3, w=4 và n=1617

Trang 31

Tiếp theo, chúng ta sẽ khởi tạo một ma trận đụng độ [985,985] có giá trị khởi đầu bằng 0

Sau khi xây dựng ma trận 𝑆̂ chúng ta bắt đầu thực hiện phép chiếu ngẫu nhiên như sau:

 Chọn ngẫu nhiên hai cột của 𝑆̂ (Ví dụ trong hình 2.13, hai cột {1,2} được chọn, hình 2.14 – hai cột {2,4} được chọn) Nếu giá trị của hai cột 1 và 2 của

hai hàng i, j của chuỗi S giống nhau thì chúng ta vị trí [i,j] của ma trận va

chạm sẽ được tăng lên một đơn vị

 Lặp lại bước trên với một số lần nhất định, chúng ta sẽ có một ma trận đụng

độ Số bước lặp này lớn hay nhỏ tùy thuộc vào số kí tự được mã hóa và cửa

sổ trượt trong giải thuật SAX Nếu tất cả các giá trị trong ma trận S là giống nhau thì không có motif nào được tìm thấy Ngược lại rất có thể là [58,1] là rất lớn so với các giá trị khác Từ ma trận đụng độ này, chúng ta sẽ dễ dàng tìm được 1-motif của T

Hình 3-2 và 3-3 mô tả quá trình chọn ngẫu nhiên hai cột và thay đổi giá trị của ma trận đụng độ ở các vị trí tương ứng

Nhược điểm của phương pháp này là ta phải chọn các thông số để thu giảm số chiều

của PAA, số lượng các kí tự mã hóa trong SAX và chiều dài cửa sổ trượt w cho giải

thuật chiếu ngẫu nhiên hợp lý Nếu các thông số này không được chọn hợp lý thì chương trình chạy rất lâu, đồng thời có thể không tìm được motif

Hình 3-2: Trái) {1,2} được chọn ngẫu nhiên Phải) tăng giá trị của các ô tương ứng 1

đơn vị 18

Trang 32

Hình 3-3: Trái) Cột {2,4} được chọn Phải) Tăng giá trị của vị trí tương ứng [2]19

3.3 Tổng quan về cây R*-Tree

Cấu trúc chỉ mục R*-Tree là một cây cân bằng giống như B-Tree với những nút

lá chứa con trỏ tới đối tượng dữ liệu thật (data object) Cấu trúc chỉ mục R*-Tree chủ yếu làm việc trên dữ liệu không gian, nó gắn liền với khái niệm hình chữ nhật bao phủ nhỏ nhất (minimum bouding rectangles - MBR) Những hình chữ nhật bao nhỏ nhất này

là vùng không gian bao quanh đối tượng dữ liệu hay bao quanh các MBR trong nó sao cho diện tích bao phủ là nhỏ nhất R*-Tree là một cải tiến của R-Tree trong quá trình chèn nút trong R-Tree nhằm làm tăng tốc quá trình truy xuất và thao tác trên cây.[7][8]

Hình 3-5 Thể hiện các hình chữ nhật bao phủ nhỏ nhất các đội tượng hoặc bao lấy một hình chữ nhật bao phủ khác

Hình 3-5 Các hình chữ nhật bao phủ nhỏ nhất (Nguồn [7])20

Hình 3-6 Cấu trúc R-Tree được xây dựng từ các hình chữ nhật bao phủ trong hình 3-5

Trang 33

Hình 3-6 Cấu trúc chỉ mục R-Tree (Nguồn [7])21

Một số tính chất trên cây R*-Tree:

- Mọi nút lá bao gồm từ m tới M phần tử ( nếu đó không phải là nút gốc)

- Cấu trúc phần tử trong R*-Tree là (I, MBR) Trong đó I là con trỏ tới con MBR là hình chữ nhật tối thiểu bao lấy các đối tượng n chiều

- Nút gốc phải có tối thiểu 2 nút con trừ khi nút đó là nút lá

- Tất cả nút lá phải cùng cấp ( tính chất này chứng minh R*-Tree luôn là cây cân bằng khi các nút lá luôn có cùng chiều cao)

Khi làm việc với cấu trúc chỉ mục R*-Tree, chúng ta sẽ thường xuyên bắt gặp các định nghĩa sau:

- Diện tích chồng lên nhau (overlap area) của 2 hình chữ nhật là diện tích chung

- Ei rectangle là hình chữ nhật bao nhỏ nhất của phần tử Ei

3.3.1 Thao tác chèn thêm phần tử mới

Quá trình thao tác chèn thêm phần tử mới vào cây sẽ được thực theo mô tả của hình vẽ 3-7[4][6]

Trang 34

Hình 3-7 Quá trình Chèn thêm phần tử mới vào cây R*-Tree (Nguồn [4])22

Giải thích:

- Thao tác chèn một phần tử vào trong R*-Tree là sau khi phần tử được chèn vào trong R*-Tree không được vi phạm bất kỳ luật nào đối với R*-Tree Khi bắt đầu giải thuật, ta sẽ phải tìm kiếm những nút lá phù hợp nhất trên tiêu chí

là nút lá đó sau khi chèn thêm phần tử vào thì có độ mở rộng hình chữ nhất bao phủ là nhỏ nhất và đồng thời diện tích chống lên nhau của các thành phần trong nút đó cũng là nhỏ nhất

- Sau khi chọn được nút lá phù hợp thì ta chèn phần tử vào trong nút lá đó Nếu

sau khi chèn mà các nút lá bị đầy ( số phần tử lớn hơn M) thì chúng ta phải

tiến hành công việc phân chia lại thành 2 nút con Sau đó sẽ chúng ta sẽ tiến hành kiểm tra lại tình trạng nút cha, nếu nút cha vi phạm thì ta sẽ tiếp tục phân chia Đến khi từ nút lá đang xét tới nút gốc là hoàn toàn hợp lệ

Hình 3-8a Các đối tượng dữ liệu trong không gian (Nguồn [4])23

Trang 35

Hình 3-8b Cây R*- Tree được xây dựng dựa trên dữ liệu ở hình 1.4a (Nguồn [4])24

Giả sử ta muốn thêm giá trị X vào trong cây R*-Tree, giá trị X được thể hiện bằng

vị trí hình chữ nhật theo hình 3-8a Các phương thức tiến hành như sau:

- Tại nút gốc có 2 thành phần R1 và R2 để lựa chọn Vì 2 thành phần này không

chỉ đến nút lá nên việc lựa chọn sẽ dựa trên tiêu chí mở rộng diện tích hình

chữ nhật bao nhỏ nhất là tối thiểu Nếu chọn R2 thì phải mở rộng R2 trong khi R1 thì không cần mở rộng Ta chọn nhánh R1

- Tại nút con có chứa (R3 và R4) là nút chỉ thẳng đến nút lá nên việc lựa chọn

sự mở rộng diện tích chồng lên nhau của một nút thành phần là ít nhất Trường

hợp này nếu chọn R4 thì phải mở rộng diện tích R4 lúc này diện tích chồng lên nhau của R3 và R4 sẽ lớn hơn nếu chọn nhánh R3 Vì thế ta chọn nhánh R3 để điền giá trị X vào theo hình 3-8b

Hình 3-9 Hai phương thức tách nút (Nguồn [4])25

- Giả sử trường hợp ta chèn giá trị X vào một nút đầy ( số lượng thành phần là M) Lúc này sẽ xảy ra quá trình phân chia nút Quá trình tách nút sẽ dựa trên 3

giá trị liên quan đến 2 nhóm thành phần diện tích bao phủ, chu vi, diện tích chồng lên nhau Theo hình 3-9 cách phân chia nút sẽ được diễn ra theo cách a)

Trang 36

hơn là theo cách b) Quá trình tách nút có thể lan truyền lên đến nút gốc nếu nút tách gây đầy nút cha của nó

3.3.2 Thao tác xóa phần tử

Quá trình xóa một nút trong cây sẽ tìm nút lá có chứa thành phần tương ứng và xóa đi Tuy nhiên, sau khi xóa một thành phần trong nút, có thể gây ra tình trạng số

lượng thành phần quá thấp (nhỏ hơn m) Nếu điều này xảy ra thì quá trình chỉnh lại cây

sẽ đươc thực hiện như sau:[4][6]

- Xóa đệ qui các nút khỏi các nút cha của nó cho đến khi nút bị xóa thành phần vẫn vẫn còn hợp lệ Đồng thời giữ lại các cây con bị xóa

- Chèn tất cả các thành phần trong các cây con bị xóa trong quá trình trước

Hình sẽ minh họa các quá trình xóa phần tử ra khỏi cây với m = 2 và M = 5

Hình 3-10 Quá trình xóa nút ra khỏi cây R*-Tree (Nguồn [4])26

Trang 37

3.4 Cấu trúc chỉ mục TS-Tree

Cấu trúc chỉ mục TS-Tree được đề xuất bởi Assent và các cộng sự năm 2008[9] Mục đích thiết kế cấu trúc chỉ mục TS-Tree là tạo ra một cấu trúc chỉ mục mang thông tin nén trong dữ liệu thời gian Nén ở đây có nghĩa là các dữ liệu thời gian tương tự nhau

sẽ được đặt trong cùng cây con qua đó giảm thiểu việc lưu trữ cấu trúc chỉ mục này.Và

hơn nữa, nó đảm bảo không có sự phủ lấp (overlap) các dữ liệu con trong các nhánh

cây Trong các nút của cây có lưu thông tin mô tả chi tiết nhằm giúp cho quá trình tỉa nhánh hiệu quả trong lúc duyệt cây[9]

Các thành phần trong cấu trúc chỉ mục TS-Tree

Cấu trúc TS-Tree là giống với cây R*-Tree [7][8, tuy nhiên cấu trúc nút trong cây

và thông tin lưu trong mỗi phần tử của nút là hoàn toàn khác với R*-Tree Trong Tree chúng ta lưu thông tin mô tả về cận trên và cận dưới của các chiều trong dữ liệu thời gian sau khi đã được rời rạc hóa bằng giải thuật rời rạc và phân tách các phần tử

TS-trong nút bằng thành phần phân tách (separators)

3.4.1 Các thành phần phân tách(Separators)

Một thành phần phân tách S giữa 2 dữ liệu thời gian T1 và T2 là một dữ liệu chuỗi

thời gian thỏa mãn các điều kiện sau đây:

- T1 ≤ S (S có thông tin lớn hơn hoặc bằng các phần tử bên trái nó)

- S ≤ T2 ( S có thông tin nhỏ hơn hoặc bằng phần tử bên phải nó)

- Chiều dài S là nhỏ nhất nếu có thể Tức là sẽ không tồn tại S’ nào nằm giữa T1

và T2 và chiều dài nhỏ hơn S

Trong đó một dữ liệu a được xem là nhỏ hơn dữ liệu b khi và chỉ khi:

(∃𝑗< min{|𝑎|, |𝑏|} ∀𝑖 ∈ {1, … , 𝑗 − 1}: 𝑎𝑖 = 𝑏𝑖 ∧ 𝑎𝑗 < 𝑏𝑗)

∨ (|𝑎| ≤ |𝑏| ∧ ∀𝑖∈ {1, … , |𝑎|}: 𝑎𝑖 = 𝑏𝑖)

Trang 38

Hình 3-11 Cho ta thấy hình ảnh các thành phần phân tách của một nút trong cây

(Nguồn [9])27

Trong hình 3-11 các thành phần phân tách là các trị số nằm giữa các phần tử chứa thông tin của cây TS-Tree Các thành phần phân tách lần lượt là {5.09; 8,9; 10.05; 11.9} Với các phần tử nằm giữa các thành phần phân tách thì tất cả các đối tượng trong nhánh con trái có giá trị tại chiều đang xét nhỏ hơn hoặc bằng giá trị tại các thành phần phân tách Ngược lại nhánh con phải có giả trị tại chiều đang xét lớn hơn hoặc bằng các thành phần phân tách

Theo hình 5.1 chúng ta có các thông tin các thành phần phân tách và thông tin các cây con nằm giữa như sau:

Các luật trong việc chuyển đổi rời rạc hóa

Giả sử chúng ta có Q = {q1…qn} là một sự rời rạc hóa của dữ liệu chuỗi thời gian T={t1…tn} trong giới hạn tập ký hiệu {s1….sn} nếu thỏa mãn các yêu cầu sau đây:

- Mỗi ký hiệu trong Q thì được biểu diễn như là 1 ký hiệu si trong {s1…sn}

Trang 39

- Mỗi dữ liệu thời gian sau khi được biểu diễn luôn nằm trong giá trị lớn nhất

Hình 3-12 Sự rời rạc hóa trong nút cây TS-Tree (Nguồn [4])28

3.4.3 Thông tin mô tả trong cây TS-Tree

Mỗi phần tử trong nút của cây TS-Tree chứa những thông tin của cận trên và cận dưới của cây con mà phần tử đó trỏ tới Những thông tin cận trên và cận dưới này rất phù hợp cho quá trình duyệt cây cũng như quá trình tỉa nhánh cây qua đó làm cho quá trình truy vấn được tăng tốc Việc sử dụng thông tin cận trên cận dưới giúp cho việc áp dụng độ đo xoắn thời gian động được tốt hơn.Theo hình 3-13 là sự mô tả thông của một nút trong cây gồm có các thành phần phân tách, cây con, và cận trên cận dưới

Hình 3-13 Thông tin mô tả trong một nút cây (Nguồn [4])29

Trang 40

Cấu trúc chỉ mục dạng cây TS-Tree

phần phân tách và k thông tin mô tả

- Mỗi nút lá trong TS- Tree có i phần

tử với n≤i≤2n

- Trong khi đó một nút gốc có

1≤i≤2n phần tử Các phần tử trong

này thì đã được rời rạc hóa từ một

dữ liệu thời gian sang f ký tự

Trong cấu trúc cây TS-tree thì các nút trong được dùng sự rời rạc hóa thô ( rough

quantization) cho các thành phần phân tách, trong khi đó thì ở các nút lá có thông tin

mô tả sau khi dùng sự rời rạc hóa tinh (fine quantization) Hình 3-14 mô tả chi tiết về

sự rời rạc hóa thô và rời rạc hóa tinh của các nút trong cây TS-Tree

Hình 3-14 Cấu trúc một nút trong cây TS-Tree (Nguồn [9])30

3.4.4 Các thao tác chèn phần tử trong cây TS-Tree.

Quá trình chèn phần tử mới trong cây có thể được tóm tắt trong sơ đồ sau Hình 3-15 trình bày các bước trong quá trình thêm một nút mới trong cây TS-Tree

Ngày đăng: 28/01/2021, 19:12

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] J. Lin, E. Keogh, S. Lonardi, P. Patel. (2002), "Finding Motifs in Time Series", SIGKDD ’02 , Edmonton, Alberta, Canada, July 23-26 Sách, tạp chí
Tiêu đề: Finding Motifs in Time Series
Tác giả: J. Lin, E. Keogh, S. Lonardi, P. Patel
Năm: 2002
[2] B. Chiu, E. Keogh, S. Lonardi. (2003), "Probabilistic Discovery of Time Series Motifs" SIGKDD ’03, Washington, DC, USA, August 24-27 Sách, tạp chí
Tiêu đề: Probabilistic Discovery of Time Series Motifs
Tác giả: B. Chiu, E. Keogh, S. Lonardi
Năm: 2003
[3] E. Keogh, (2002), "Exact indexing of dynamic time warping". In Proc.VLDB, Proceedings of the 28th VLDB Conference, Hong Kong, China Sách, tạp chí
Tiêu đề: Exact indexing of dynamic time warping
Tác giả: E. Keogh
Năm: 2002
[4] Nguyễn Minh Hiếu, (2013), Luận văn thạc sĩ khoa khoa học và kỹ thuật 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". Đại học Bách Khoa Tp. Hồ Chí Minh Sách, tạp chí
Tiêu đề: 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
Tác giả: Nguyễn Minh Hiếu
Năm: 2013
[5] Dương Tuấn Anh, (2011), "Tổng quan về tìm kiếm tương tự trên dữ liệu chuỗi thời gian"(An overview of similarity search in time series data), tạp chí Phát Triển Khoa Học Và Công Nghệ, Đại Học Quốc Gia TPHCM, Tập 14, số K2-2011, 71- 79 Sách, tạp chí
Tiêu đề: Tổng quan về tìm kiếm tương tự trên dữ liệu chuỗi thời gian
Tác giả: Dương Tuấn Anh
Năm: 2011
[6] Dương Tuấn Anh, (2009), "Tutorial on Index Structures for Time Series Similarity Search", Khoa Khoa Học Và Kỹ Thuật Máy Tính, Đại Học Bách Khoa TPHCM Sách, tạp chí
Tiêu đề: Tutorial on Index Structures for Time Series Similarity Search
Tác giả: Dương Tuấn Anh
Năm: 2009
[7] A. Guttman, (1984), "R*-Trees: A dynamic index structure for spatial searching", In Proceedings of the ACM SIGMOD International Conference on Management of Data, SIGMOD84, Boston, Massachusetts, USA, pp. 47-54 Sách, tạp chí
Tiêu đề: R*-Trees: A dynamic index structure for spatial searching
Tác giả: A. Guttman
Năm: 1984
[8] N. Bechmann, H.P. Kriegel, R. Schneider, and B. Seeger, (1990) "The R*-tree: an Efficient and Robust Access Method for point and Rectangles", Proc. of ACM SIGMOD, pp. 322-331, Atlantic City, NJ Sách, tạp chí
Tiêu đề: The R*-tree: an Efficient and Robust Access Method for point and Rectangles
[9] I. Assent, R. Krieger, F. Afschari, T. Seidl. (2008), "The TS-Tree: Efficient Time Series Search and Retrieval", Proc of EDBT’08 , Nantes, France, March 25-30 Sách, tạp chí
Tiêu đề: The TS-Tree: Efficient Time Series Search and Retrieval
Tác giả: I. Assent, R. Krieger, F. Afschari, T. Seidl
Năm: 2008
[10] D. J. Berndt and J. Clifford, (1994), "Using dynamic time warping to find patterns in time series". In AAAI KDD Workshop, Seattle, Washington, USA, pages 229–248 Sách, tạp chí
Tiêu đề: Using dynamic time warping to find patterns in time series
Tác giả: D. J. Berndt and J. Clifford
Năm: 1994
[11] H. Sakoe, S. Chiba, (1978), "Dynamic Programming Algorithm Optimization for Spoken Word Recognition". IEEE Trans. Acoustics, Speech, and Signal Proc., Vol. ASSP-26 Sách, tạp chí
Tiêu đề: Dynamic Programming Algorithm Optimization for Spoken Word Recognition
Tác giả: H. Sakoe, S. Chiba
Năm: 1978
[12] J. Buhler and M. Tompa, (2001) "Finding motifs using random projections". In proceedings of the 5th Int’l Conference on Computational Molecular Biology.Montreal, Canada, Apr 22-25. pp 67-74 Sách, tạp chí
Tiêu đề: Finding motifs using random projections
[15] K. Chan, A. W. Fu, (1999) "Efficient time series matching by wavelets". In proceedings of the 15th IEEE Int'l Conference on Data Engineering. Sydney, Australia, Mar 23-26. pp 126-133 Sách, tạp chí
Tiêu đề: Efficient time series matching by wavelets
[16] 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 đề: Dimensionality reduction for fast similarity search in large time series databases
Tác giả: E. Keogh, K. Chakrabarti, M. Pazzani and S. Mehrotra
Năm: 2001
[17] C. D. Truong, D. T. Anh, (2015) " A Fast Method for Motif Discovery in Large Time Series Database under Dynamic Time Warping", Proc.of 6 th Int. Conf. on Knowledge and System Engineering, 9-11 October, 2014, Hanoi, Vietnam, pp.155-156 Springer International Publishing Switzerland 2015 Sách, tạp chí
Tiêu đề: A Fast Method for Motif Discovery in Large Time Series Database under Dynamic Time Warping

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