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

Nhận dạng chuỗi con bất thường nhất trong tập dữ liệu chuỗi thời gian

98 4 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 98
Dung lượng 1,18 MB

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

Nội dung

Với sự xuất hiện của dữ liệu chuỗi thời gian trong nhiều ứng dụng từ lĩnh vực tài chính cho đến lĩnh vực khoa học, đòi hỏi phải đề ra những giải pháp tìm kiếm chuỗi con bất thường trong

Trang 1

-

HUỲNH THỊ THU THỦY

NHẬN DẠNG CHUỖI CON BẤT THƯỜNG NHẤT

TRONG TẬP DỮ LIỆU CHUỖI THỜI GIAN

Chuyên ngành: Khoa học máy tính

LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH, tháng 11 năm 2009

Trang 2

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

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 Đỗ Phú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 HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC

SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 08 tháng 03 năm 2010

Trang 3

Tp HCM, ngày tháng năm 2009

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ và tên học viên : Huỳnh Thị Thu Thủy -Giới tính : Nam …/ Nữ ; -

Ngày, tháng, năm sinh : 11/12/1974 -Nơi sinh : TP HCM -

Chuyên ngành : Khoa học Máy tính -

Khoá : 2007 -

1- TÊN ĐỀ TÀI : NHẬN DẠNG CHUỖI CON BẤT THƯỜNG NHẤT TRONG TẬP DỮ LIỆU CHUỖI THỜI GIAN 2- NHIỆM VỤ LUẬN VĂN : - Tìm hiểu các công trình liên quan như: Các phương pháp thu giảm số chiều, các phương pháp rời rạc hóa dữ liệu, các phương pháp nhận dạng chuỗi con bất thường nhất. - Cải tiến giải thuật chân phương của nhóm Keogh, cải tiến giải thuật tìm chuỗi con bất đồng trên đĩa của nhóm Yankov Hiện thực các giải thuật chân phương của nhóm Keogh, giải thuật thuật tìm chuỗi con bất đồng trên đĩa của nhóm Yankov và những giải thuật đã được cải tiến 3- NGÀY GIAO NHIỆM VỤ : 05/09/2008 -

4- NGÀY HOÀN THÀNH NHIỆM VỤ : 30/11/2009 -

5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN : PGS TS Dương Tuấn Anh -

Nội dung và đề cương Luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua CÁN BỘ HƯỚNG DẪN CN BỘ MÔN (Học hàm, học vị, họ tên và chữ ký) QL CHUYÊN NGÀNH PGS TS Dương Tuấn Anh

Trang 4

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 này 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 21 tháng 11 năm 2009 Huỳnh Thị Thu Thủy

Trang 5

LỜI CẢM ƠN

Tôi xin gởi lời cảm ơn chân thành và sâu sắc nhất đế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 đã độ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 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 tất cả những người thân trong gia đình tôi Tôi xin hứa sẽ tiếp

tục cố gắng phấn đấu để vươn cao hơn nữa

Trang 6

TÓM TẮT

Bài toán tìm kiếm chuỗi dữ liệu thời gian bất thường ngày càng được nhiều nhà

nghiên cứu quan tâm Với sự xuất hiện của dữ liệu chuỗi thời gian trong nhiều ứng

dụng từ lĩnh vực tài chính cho đến lĩnh vực khoa học, đòi hỏi phải đề ra những giải

pháp tìm kiếm chuỗi con bất thường trong dữ liệu chuỗi thời gian một cách hiệu quả

và gần gũi người sử dụng để từ đó có thể đưa ra những quyết định đúng đắn

Đề tài này sẽ đề nghị các giải pháp tìm kiếm chuỗi con bất thường nhất trên dữ liệu

chuỗi thời gian có kích thước lớn hàng terabyte Có 2 loại giải pháp chính cần thiết

kế và hiện thực là cách đánh giá độ tương tự và các kỹ thuật tìm kiếm chuỗi con bất

thường nhất

Chúng tôi sử dụng khoảng cách Euclid làm độ đo tương tự giữa các chuỗi con trên

dữ liệu chuỗi thời gian và đề ra giải pháp để tìm kiếm chuỗi con bất thường nhất

trên dữ liệu chuỗi thời gian có dung lượng hàng terabyte chứa trên đĩa cứng Ngoài

ra chúng tôi còn đề nghị một giải pháp tìm chuỗi con bất thường nhất mà không cần

tạo tập cơ sở dữ liệu để chứa các chuỗi con Giải pháp này có ưu điểm là không cần

tạo tập cơ sở dữ liệu chứa chuỗi con nên không tốn nhiều dung lượng đĩa

Qua việc thực nghiệm trên nhiều bộ dữ liệu mẫu cho thấy, những kỹ thuật tìm kiếm

chuỗi con bất thường mà chúng tôi đề nghị đều hiệu quả trên dữ liệu có dung lượng

từ vài kilobyte đến dữ liệu có dung lượng lớn hàng terabyte

Trang 7

ABSTRACT

The problem of finding unusual time series has recently attracted much attention

With the increasing amount of time-series data in many application, from financial

to scientific, it is important to study methods of finding the most unusual

subsequence in Time series effciently and user friendly for business decission

making

The thesis proposes method of efficient finding the most unusual subsequence in

multi-terabyte time series Two kinds of the methods, similarity measures and

finding the most unusual subsequence techniques, are designed and implemented

We use Euclidean distance as the basis for similarity measurement on subsequences

in time-series data and design an innovative finding technique which detects the

most subsequences in multi-terabyte time series Moreover we propose a method of

finding the most unusual subsequence that do not create a file of subsequences

database The advantage of this method is the file of subsequences database must

not be created, so can save disk space

The experiments show that the finding unusual subsequence techniques we propose

are also efficient with multi-kilobyte data to multi-terabyte

Trang 8

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

TÓM TẮT iii

ABSTRACT iv

MỤC LỤC v

DANH MỤC HÌNH ix

DANH MỤC BẢNG xi

Chương 1: GIỚI THIỆU 1

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

1.2 Những yêu cầu đòi hỏi phải nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian 2

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

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

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

Chương 2: Cơ sở lý thuyết 7

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

2.2 Độ đo tương tự 8

2.2.1 Độ đo Minkowski 8

2.2.2 Phương pháp xoắn thời gian động 10

2.3 Thu giảm số chiều 11

2.4 Rời rạc hóa dữ liệu 13

2.5 Nhận dạng bất thường 14

Trang 9

Chương 3: NHỮNG CÔNG TRÌNH LIÊN QUAN 16

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

3.1.1 Phương pháp biến đổi Fourier rời rạc 16

3.1.2 Phương pháp biến đổi Wavelet rời rạc 17

3.1.3 Phương pháp phân rã giá trị riêng 18

3.1.4 Phương pháp xấp xỉ gộp từng đoạn 19

3.2 Các phương pháp rời rạc hóa dữ liệu 19

3.2.1 Phương pháp xấp xỉ gộp ký hiệu hóa 20

3.2.2 Phương pháp rời rạc hóa dựa trên góc nghiêng 21

3.2.3 Phương pháp xấp xỉ gộp ký hiệu hóa khả chỉ mục 22

3.3 Các phương pháp nhận dạng chuỗi con bất thường nhất 22

3.3.1 Phương pháp HOT SAX 23

3.3.2 Phương pháp biến đổi wavelet và sử dụng cây gia tố 25

3.3.3 Phương pháp cửa sổ thích nghi 26

3.3.4 Phương pháp phát hiện chuỗi con bất đồng trên đĩa 27

3.3.5 Các phương pháp nhận dạng bất thường khác 29

Chương 4: CẢI TIẾN PHƯƠNG PHÁP PHÁT HIỆN CHUỖI CON BẤT THƯỜNG NHẤT TRÊN ĐĨA 31

4.1 Các khái niệm dùng trong nhận dạng chuỗi bất thường 31

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

4.1.2 Chuỗi con 31

4.1.3 Cửa sổ trượt 31

4.1.4 Hàm tính khoảng cách 32

4.1.5 Sự trùng khớp 33

4.1.6 Sự trùng khớp không tầm thường 33

Trang 10

4.1.7 Chuỗi con bất đồng 33

4.1.8 K chuỗi con bất đồng nhất 34

4.2 Phương pháp cải tiến giải thuật tìm chuỗi con bất đồng 35

4.3 Phát hiện mới 47

Chương 5: KẾT QUẢ THỰC NGHIỆM 52

5.1 Bộ dữ liệu điện tâm đồ ECG- 218c3_ipnoman 53

5.1.1 Bảng tổng kết thời gian thực hiện 53

5.1.2 Biểu đồ so sánh chi phí CPU và đồ thị biểu diễn chuỗi con bất đồng 54

5.2 Bộ dữ liệu tỉ giá EURUSD 56

5.2.1 Bảng tổng kết thời gian thực hiện 56

5.2.2 Biểu đồ so sánh chi phí CPU và đồ thị biểu diễn chuỗi con bất đồng 57

5.3 Bộ dữ liệu điện năng power_data 59

5.3.1 Bảng tổng kết thời gian thực hiện 59

5.3.2 Biểu đồ so sánh chi phí CPU và đồ thị biểu diễn chuỗi con bất đồng 60

5.4 Bộ dữ liệu chứng khoán Stock 61

5.4.1 Bảng tổng kết thời gian thực hiện 61

5.4.2 Biểu đồ so sánh chi phí CPU và đồ thị biểu diễn chuỗi con bất đồng 62

5.5 So sánh giữa giải thuật DADD cải tiến và giải thuật DADD truy xuất những chuỗi con trực tiếp trên đĩa 64

5.5.1 Bộ dữ liệu tỉ giá Eurusd 64

5.5.2 Bộ dữ liệu điện năng power data 66

Chương 6: KẾT LUẬN 69

6.1 Tổng kết 69

6.2 Đóng góp của đề tài 70

6.3 Hướng phát triển 71

Trang 11

THƯ MỤC THAM KHẢO 72

PHỤ LỤC A 76

A.1 Mã giả cho giải thuật BFDD 76

A.2 Mã giả cho giải thuật HDD 77

A.3 Hai cấu trúc dữ liệu hỗ trợ cho vòng lặp Inner Loop và Outer Loop trong giải thuật HDD 78

A.4 Mã giả cho giải thuật AWDD 79

PHỤ LỤC B: CHỨNG MINH TÍNH ĐÚNG CỦA GIẢI THUẬT DADD 80

PHỤ LỤC C: BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH - VIỆT 82

Trang 12

DANH MỤC HÌNH

Hình 1.1: Minh họa đồ thị biểu diễn dữ liệu chuỗi thời gian 1

Hình 2.1: Minh họa dữ liệu chuỗi thời gian 7

Hình 2.2: Các trường hợp tính chất của hai chuỗi là giống nhau nhưng giá trị khác nhau thì khoảng cách hai chuỗi sẽ rất khác nhau 9

Hình 2.3: Hai đường biểu diễn giống nhau về hình dạng nhưng lệch nhau về thời gian10 Hình 2.4: Cách tính khoảng cách theo DTW 11

Hình 2.5: Minh họa các phương pháp thu giảm số chiều DFT, DWT, SVD và PAA.12 Hình 2.6: Minh họa cho phương pháp rời rạc hóa dữ liệu chuỗi thời gian SAX 13

Hình 3.1: Các phương pháp biểu diễn dữ liệu DFT, DWT, SVD và PAA 17

Hình 3.2: Phương pháp SAX 20

Hình 3.3: Minh họa phương pháp rời rạc hóa dữ liệu dựa trên góc nghiêng 21

Hình 3.4 Phương pháp biểu diễn dữ liệu iSAX (nguồn 29) 22

Hình 3.5: Kích thước cửa sổ trượt theo chiều dài của 1 nhịp tim 26

Hình 4.1: Các chuỗi con Ci chiều dài n được trích từ chuỗi thời gian T 32

Hình 4.2: Minh họa hình ảnh cửa sổ trượt kích thước n 32

Hình 4.3: Minh họa chuỗi con M là trùng khớp với chuỗi con C 33

Hình 4.4: Các chuỗi con M là trùng khớp không tầm thường với chuỗi con C và chuỗi con U không là một chuỗi con trùng khớp không tầm thường của C 34

Hình 4.5: Minh họa những chuỗi con bất đồng Ci 35

Hình 4.6: Chuỗi con bất đồng Ci có chiều dài n trong chuỗi thời gian T 35

Hình 4.7: Minh họa tập cơ sở dữ liệu tăng dần theo thời gian .39

Hình 4.8: Phân bố khoảng cách đến lân cận gần nhất ứng với hai tập dữ liệu gồm 103 và 104 điểm 40

Trang 13

Hình 4.9: Hình ảnh hai tập điểm gồm 1000 điểm và 10000 điểm 41

Hình 4.10: Mã giả cho giải thuật PDD .43

Hình 4.11: Minh họa ý tưởng tìm K khoảng cách của K chuỗi bất đồng nhất 44

Hình 4.12: Mã giả cho lần quét đĩa thứ 1 (phase 1) của giải thuật DADD 45

Hình 4.13: Mã giả cho lần quét đĩa thứ 2 (phase 2) của giải thuật DADD 46

Hình 5.1: Biểu đồ thời gian thực hiện của các giải thuật: DADD dùng PDD, DADD dùng BFDD chưa cải tiến và giải thuật BFDD của nhóm Keogh 54

Hình 5.2: Biểu diễn các chuỗi con bất đồng tìm được trên bộ dữ liệu điện tâm đồ ECG_218c3_ipnoman 54

Hình 5.3: Biểu đồ thực nghiệm về chi phí CPU các giải thuật trên bộ dữ liệu tỉ giá Eurusd 57

Hình 5.4: Biểu diễn kết quả chuỗi con bất đồng trên bộ dữ liệu tỉ giá Eurusd 58

Hình 5.5: Chi phí CPU của các giải thuật trên bộ dữ liệu điện năng power_data 60

Hình 5.6: Biểu diễn kết quả chuỗi con bất đồng trên bộ dữ liệu điện năng power_data 60 Hình 5.7: Chi phí CPU của giải thuật DADD dùng BFDD chưa cải tiến và DADD dùng BFDD cải tiến trên bộ dữ liệu chứng khoán Stock 62

Hình 5.8: Chi phí CPU của giải thuật BFDD của nhóm Keogh và DADD dùng BFDD cải tiến trên bộ dữ liệu chứng khoán Stock .63

Hình 5.9: Biểu diễn kết quả chuỗi con bất đồng trên bộ dữ liệu chứng khoán Stock 63 Hình 5.10: Chi phí CPU của các giải thuật trên bộ dữ liệu tỉ giá Eurusd 66

Hình 5.11: Chi phí CPU của các giải thuật trên bộ dữ liệu điện năng power_data .67

Trang 14

DANH MỤC BẢNG

Bảng 3.1: Phân phối Gauss 21

Bảng 5.1: Kết quả thực nghiệm về chi phí CPU của các giải thuật trên bộ dữ liệu điện tâm đồ ECG- 218c3_ipnoman 53

Bảng 5.2: Chi phí CPU của các giải thuật trên bộ dữ liệu tỉ giá Eurusd 56

Bảng 5.3: Chi phí CPU của các giải thuật trên bộ dữ liệu điện năng power_data 59

Bảng 5.4: Chi phí CPU của các giải thuật trên bộ dữ liệu chứng khoán Stock 61

Bảng 5.5: Chi phí CPU của giải thuật DADD dùng tập dữ liệu chứa chuỗi con và giải thuật DADD truy xuất trực tiếp đĩa trên bộ dữ liệu tỉ giá Eurusd 64

Bảng 5.6: Chi phí CPU của giải thuật DADD dùng tập dữ liệu chứa chuỗi con và giải thuật DADD truy xuất trực tiếp đĩa trên bộ dữ liệu điện năng power_data 66

Trang 15

Chương 1: GIỚI THIỆU

Chương này giới thiệu tổng quan về dữ liệu chuỗi thời gian, những yêu cầu đòi hỏi khi nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian và tóm lược những kết quả đề tài đã thực hiện được

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

Dữ liệu chuỗi thời gian (time series data) là dữ liệu về đối tượng nào đó đáng quan tâm được quan sát và ghi nhận tại những điểm đều nhau trên trục thời gian Dữ liệu này thường rất lớn, có thể lên đến hàng tỷ điểm, ví dụ các dữ liệu về tài chính, chứng khoán, y học, thiên văn, thời tiết, môi trường, địa lý, … Phân tích những dữ liệu này là điều rất cần thiết nhằm phục vụ cho việc phân tích thông tin, hỗ trợ ra các quyết định,

Tuy nhiên, do vấn đề về độ lớn của những dữ liệu này nên rất cần sự hỗ trợ của công cụ máy tính giúp cho việc phân tích được tiến hành nhanh chóng nhằm đạt được thông tin kịp thời Chính vì vậy nghiên cứu và ứng dụng dữ liệu chuỗi thời gian là một lĩnh vực được nhiều người quan tâm nghiên cứu cả trong lĩnh vực khoa học máy tính lẫn các lĩnh vực khác

Phạm vi nghiên cứu của đề tài này tập trung vào dữ liệu chuỗi thời gian có dạng là

dãy các giá trị có thứ tự theo dạng T=t 1 ,t 2 , …, t m , với t i là dữ liệu tại thời điểm thứ

i Hình 1.1 là ví dụ về đồ thị biểu diễn dữ liệu chuỗi thời gian điện tâm đồ

Hình 1.1: Minh họa đồ thị biểu diễn dữ liệu chuỗi thời gian

Trang 16

Những khó khăn và thách thức khi nghiên cứu dữ liệu chuỗi thời gian:

+ Dữ liệu quá lớn:

Ví dụ: Trong 1 giờ, dữ liệu điện tâm đồ (ECG) là 1 gigabyte

+ Phụ thuộc vào nhiều yếu tố chủ quan:

Thí dụ, việc xác định chuỗi con bất thường nhất phụ thuộc vào yếu tố chủ quan của người dùng, tập dữ liệu và tất cả những việc này đều phải thực hiện bằng tay

+ Dữ liệu thường không đồng nhất

+ Định dạng của các loại dữ liệu khác nhau

+ Tần số lấy mẫu khác nhau

1.2 Những yêu cầu đòi hỏi phải nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

Bài toán nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian là tập trung vào việc thiết kế một phương pháp tìm kiếm nhanh, chính xác và hiệu quả chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian với dung lượng lớn hàng terabyte

Bài toán tìm kiếm chuỗi con bất thường nhất gần đây đã thu hút rất nhiều sự quan tâm của giới nghiên cứu Những lĩnh vực thường quan tâm đến việc tìm kiếm chuỗi con bất thường như chẩn đoán lỗi (fault diagnostics), phát hiện việc đột nhập (intrusion detection), và làm sạch dữ liệu (data cleansing) Đặc biệt gần đây bài toán tìm kiếm chuỗi con bất thường nhất đang là nhu cầu rất cần thiết cho các nhà phân tích dữ liệu về tài chính

Một số ví dụ về nhu cầu xác định chuỗi con bất thường nhất:

Lĩnh vực tài chính:

+ Cần xác định xem thời khoảng nào thị trường chứng khoán thay đổi đột biến nhất

Trang 17

+ Tìm thời khoảng mà giá vàng tăng hay giảm đột biến nhất

Lĩnh vực y học:

+ Xác định khoảng nhịp tim nào của bệnh nhân là bất thường nhất và bất thường như thế nào

+ Tìm thời khoảng điện não đồ bất thường nhất

Về lĩnh vực khoa học như dữ liệu thu được của các bộ cảm biến về thời tiết, môi trường, địa lý…

+ Tìm tháng nào trong quá khứ mà lượng mưa nhiều nhất, thấp nhất + Tìm những năm khô hạn, mực nước các sông ở mức thấp nhất

Đối với những lĩnh vực không phải là thời gian, có thể biến đổi từ dữ liệu này sang dạng dữ liệu chuỗi thời gian Như các bài toán trong nhận dạng ảnh những chiếc cánh của côn trùng nào bị lỗi, đoạn video bị nhiễu, hay tìm thao tác thực hành sai khi huấn luyện bắn súng,

Việc tìm được giải thuật nhận dạng chuỗi bất thường nhất sẽ rất hữu ích, vì nó còn

có thể áp dụng được vào các công việc khai phá dữ liệu (data-mining): cải thiện chất lượng của việc gom cụm (clustering), làm sạch dữ liệu (data cleansing),v.v

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

Mục tiêu chính của luận văn là xác định chuỗi con bất thường nhất trên dữ liệu chuỗi thời gian có kích thước lớn hàng terabyte Dữ liệu ban đầu là một chuỗi các

số thực, mỗi số thực thể hiện giá trị tại một thời điểm Với dữ liệu đó, chương trình

sẽ tạo ra một tập tin cơ sở dữ liệu chứa tất cả các chuỗi con và tìm trong tập tin cơ

sở dữ liệu này chuỗi con nào là bất thường nhất

Chuỗi con bất thường nhất là chuỗi con có khoảng cách lớn nhất so với tất cả các

chuỗi con khác trong chuỗi dữ liệu thời gian Hình 1.1 minh họa chuỗi con bất

thường nhất là chuỗi con P

Trang 18

Bài toán xác định chuỗi con bất thường nhất là bài toán tìm kiếm, mà thông thường kích thước dữ liệu để tìm kiếm là rất lớn Vì vậy, đòi hỏi phải sử dụng phương pháp

nào nhằm nâng cao tốc độ tìm kiếm và có thể hiện thực trên dữ liệu lớn hàng

terabyte

Mặc dù việc tìm kiếm chuỗi con bất thường nhất trong dữ liệu thời gian là quan trọng, nhưng việc phát hiện chuỗi bất thường đa phần các giải thuật như HOTSAX

[16], WAT (Wavelet Augmented Trie) [5], AWDD (Adaptive window-based

Discord Discovey) [21]… chỉ nghiên cứu trong phạm vi xử lý dữ liệu nội (trong bộ

nhớ chính- main memory), hầu như không được nghiên cứu để xử lý dữ liệu bên ngoài (trên đĩa – disk), ngoại trừ giải thuật DADD (Disk Aware Discord Discovery)

Đa số các giải thuật trên đều chứng minh tính hiệu quả của việc phát hiện chuỗi con bất thường nhất với giả sử là dữ liệu chuỗi thời gian có thể được chứa trọn trong bộ nhớ chính (main memory) Tuy nhiên, với nhiều ứng dụng thì điều này là không thể

Ví dụ như dữ liệu về thiên văn, về web logs thì dung lượng dữ liệu có thể lớn đến hàng terabyte, khó có thể thu giảm đến mức vừa với bộ nhớ được Ngoài ra, theo thời gian thì dữ liệu được ghi nhận sẽ ngày càng phình to ra

Như vậy, trong tất cả những giải thuật nổi tiếng trên thế giới chỉ có giải thuật

DADD (Disk Aware Discord Discovery) là phát hiện chuỗi con bất thường nhất

trong dữ liệu chuỗi thời gian bằng cách tìm trực tiếp trên đĩa Với cách tìm trực tiếp

trên đĩa sẽ giúp giải quyết được vấn đề khó khăn khi kích thước dữ liệu chuỗi thời gian nếu có thu nhỏ mà vẫn còn lớn hơn kích thước bộ nhớ

Vấn đề còn lại là giải thuật DADD làm việc có hiệu quả không?

Theo giải thuật DADD thì chỉ cần 2 lần quét đĩa tuyến tính sẽ tìm ra được chuỗi con bất đồng (discord) trong tập cơ sở dữ liệu chứa tất cả các chuỗi con của chuỗi thời

gian ban đầu với một ngưỡng bất đồng cho trước Độ phức tạp thời gian tính toán

tuyến tính với dung lượng của dữ liệu chuỗi thời gian trên đĩa

Trang 19

Tuy nhiên giải thuật cần tham số đầu vào là ngưỡng bất đồng r (threshold), đây là

giá trị chặn dưới của khoảng cách từ chuỗi con được xem là bất đồng so với chuỗi

con lân cận gần nhất của nó Chuỗi C i được gọi là lân cận gần nhất của một chuỗi

C k nếu như với mọi chuỗi C j mà khoảng cách của C k đối với C i là lớn nhất so với

khoảng cách của C k đối với C j Theo tác giả của giải thuật DADD, giá trị r này sẽ có

thể tìm được bằng giải thuật WAT(wavelet augmented trie) [5] Nhưng giải thuật

này hiện thực khá phức tạp nên ứng cử thứ hai được chọn là giải thuật heuristic (Heuristic Discord Discovery-HDD) của nhóm Keogh [16]

Ban đầu xét thấy giải thuật HDD nhanh hơn giải thuật BFDD, nhưng sau khi hiện thực chúng tôi đã phát hiện giải thuật HDD áp dụng trên dữ liệu thô ban đầu không hữu hiệu, lý do dữ liệu cung cấp cho giải thuật HDD là dữ liệu số thực, không phải

là dữ liệu rời rạc hóa thành dạng chuỗi các kí tự nên việc áp dụng heuristic cho các vòng lặp trong (Inner Loop) và vòng lặp ngoài (Outer Loop) không dùng được cấu trúc cây gia tố (Augment Trie) như tác giả của giải thuật HDD đã đề nghị

Nên cuối cùng giải thuật chân phương (Brute Force Discord Discovery - BFDD)

của nhóm Keogh [16] đã được chọn để cải tiến lại mà không phải là HDD Nhưng giải thuật BFDD này cũng có nhược điểm là phải được thực hiện nhiều lần thì mới

xác định được thông số r cho giải thuật DADD Do vậy giải thuật BFDD sẽ cần

phải được cải tiến lại thì mới cải thiện được tốc độ tìm kiếm chuỗi con bất đồng

Nhiệm vụ của đề tài là cải tiến lại giải thuật BFDD để xác định chuỗi con bất đồng

thứ K, đó là thông số đầu vào cho giải thuật DADD nhằm tìm ra chuỗi con bất đồng

trên tập dữ liệu chuỗi thời gian có dung lượng lớn hàng terabyte

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

Với những yêu cầu của đề tài, sau thời gian nghiên cứu và hiện thực, chúng tôi đã đạt được những kết quả sau:

” Xây dựng hệ thống tách dữ liệu chuỗi thời gian ban đầu thành tập cơ sở dữ

liệu bao gồm tất cả các chuỗi con có chiều dài n bằng phương pháp cửa sổ trượt, với

Trang 20

n là chiều dài chuỗi con cần tìm Chiều dài chuỗi con là do người sử dụng nhập vào,

tùy mức độ chi tiết của người sử dụng mong muốn đối với dữ liệu chuỗi thời gian hoặc tùy theo lĩnh vực ghi nhận các giá trị dữ liệu chuỗi thời gian mà chiều dài này

có thể thay đổi khác nhau

” Tìm ra một giải thuật xác định chuỗi con bất thường nhất so với tất cả các chuỗi con khác trong dữ liệu chuỗi thời gian Giải thuật này có ưu điểm là tìm được chuỗi con bất đồng trên dữ liệu lớn hàng terabyte với thời gian tìm kiếm rất nhanh

” Thực nghiệm trên nhiều bộ dữ liệu khác nhau nhằm đo đạc kết quả thực nghiệm về những chi phí IO, CPU và Memory

Như vậy, với hệ thống đã hiện thực sẽ được trình bày chi tiết ở những chương sau đáp ứng yêu cầu và nhiệm vụ của đề tài

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

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

- Chương 2 giới thiệu cơ sở lý thuyết nền tảng liên quan đến lĩnh vực dữ liệu chuỗi thời gian

- Chương 3 là tổng quan về các công trình liên quan Những công trình này nhằm cải tiến quá trình tìm kiếm chuỗi con bất thường nhất và được tiến hành ở khía cạnh đánh giá độ tương tự giữa 2 chuỗi con bất kỳ

- Chương 4 là bài toán phát hiện chuỗi con bất thường nhất và phương pháp giải quyết bài toán Chương 4 trình bày vấn đề đặt ra khi tìm chuỗi con bất thường nhất,

phân tích vấn đề chính mà hệ thống cần phải giải quyết, đó là làm thế nào để tìm

được chuỗi con bất thường nhất trên dữ liệu lớn hàng terabyte với thời gian tìm nhanh nhất

- Chương 5 là một số kết quả thực nghiệm

- Chương 6 là một số kết luận sau khi thực hiện đề tài

Trang 21

Chương 2: CƠ SỞ LÝ THUYẾT

Chương này trình bày một số khái niệm về dữ liệu chuỗi thời gian, những giải pháp cần thực hiện trước khi giải quyết bài toán nhận dạng bất thường Ngoài ra trong chương này cũng trình bày sơ lược về các độ đo tương tự, điều này hỗ trợ rất nhiều cho bài toán nhận dạng chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

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

Có rất nhiều lĩnh vực cần phải lưu trữ dữ liệu của các đối tượng được ghi nhận theo thời gian như tài chính, chứng khoán, web blogs, y học, thiên văn, thời tiết, môi trường, địa lý, … Dữ liệu trong những lĩnh vực này thường rất lớn, dung lượng lên đến hàng terabyte Hình 2.1 minh họa hình ảnh dữ liệu chuỗi thời gian

Hình 2.1: Minh họa dữ liệu chuỗi thời gian

Việc xử lý và phân tích những dữ liệu này là điều rất cần thiết nhằm phục vụ cho việc phân tích thông tin, hỗ trợ ra các quyết định, Việc xử lý và phân tích dữ liệu chuỗi thời gian với dung lượng lớn sẽ rất cần sử dụng đến các phương pháp độ đo tương tự, thu giảm số chiều và rời rạc hóa dữ liệu Những phần còn lại trong chương 2 sẽ giúp hiểu rõ các phương pháp này

Trang 22

2.2 Độ đo tương tự

Để giải quyết các bài toán về dữ liệu chuỗi thời gian cần đo độ tương tự giữa hai chuỗi bằng cách đo khoảng cách giữa hai chuỗi này Nếu hai chuỗi hoàn toàn giống nhau thì khoảng cách bằng không Ngược lại, nếu hai chuỗi càng khác nhau thì khoảng cách càng lớn Để có thể thực hiện tính toán thì các khoảng cách này cần được biểu diễn bằng số thực

Có một tính chất rất quan trọng của khoảng cách cần được chú ý trong khi thiết kế giải thuật để giới hạn không gian tìm kiếm là:

D(x,y) < D(x,z) + D(y,z), với D(x,y) là khoảng cách giữa hai chuỗi x và y

Tính chất này tương tự định lý tổng chiều dài hai cạnh trong một tam giác luôn lớn hơn chiều dài cạnh còn lại Sau đây là một số công trình về độ đo đã có:

p i

Trong đó:

p = 1 (Manhattan)

p = 2 (Euclid)

p = ∞ (Max)

Tuy p có thể có nhiều sự lựa chọn khác nhau, nhưng trong các nghiên cứu đối với

dữ liệu chuỗi thời gian thì thường sử dụng p=2 (khoảng cách Euclid)

Ưu điểm: Độ đo Euclid tính toán dễ dàng

Trang 23

Nhược điểm: Trường hợp tính chất của hai chuỗi là giống nhau nhưng giá trị khác

nhau (có đường căn bản khác nhau hay có biên độ dao động khác nhau) thì khoảng

cách độ đo tương tự giữa hai chuỗi sẽ rất khác nhau (hình 2.2)

Hình 2.2: Các trường hợp tính chất của hai chuỗi là giống nhau nhưng giá trị khác

nhau thì khoảng cách hai chuỗi sẽ rất khác nhau

Khắc phục nhược điểm:

a/ Trước khi áp dụng các giải thuật ta cần thực hiện chuẩn hóa dữ liệu sử dụng

phương pháp giá trị trung bình và độ lệch chuẩn [23], biến đổi dữ liệu Q thành Q’

có cùng đường căn bản theo công thức:

Q’ = Q – mean(Q)

Với mean(Q) là giá trị trung bình của Q

Để dữ liệu có cùng biên độ dao động, ta dùng phép biến đổi:

Q’ = (Q- mean(Q)) / var(Q)

Với mean(Q) là giá trị trung bình của Q và var(Q) là độ chệch chuẩn của Q

b/ Dùng phương pháp trung bình di chuyển (moving average) [6] để làm trơn các đường biểu diễn dữ liệu chuỗi thời gian Với phương pháp này thì Q được biến đổi thành Q’ - trong đó điểm ở vị trí i bằng trung bình cộng giá trị tại điểm i và k điểm

lân cận

Trang 24

2.2.2 Phương pháp xoắn thời gian động

Trường hợp hai chuỗi cần so sánh có hai đường biểu diễn không hoàn toàn giống nhau nhưng hình dạng biến đổi rất giống nhau thì khi so sánh độ tương tự giữa hai

chuỗi bằng cách so sánh từng cặp điểm 1-1 (so điểm thứ i của đường thứ nhất và điểm thứ i của đường thứ hai) là không phù hợp

Hình 2.3 minh họa hai đường biểu diễn rất giống nhau về hình dạng nhưng lệch

nhau về thời gian Trong trường hợp này, nếu tính khoảng cách bằng cách ánh xạ

1-1 giữa hai đường thì kết quả rất khác nhau và có thể dẫn đến kết quả cuối cùng

không giống như mong muốn Vì vậy, để khắc phục nhược điểm này thì một điểm

có thể ánh xạ với nhiều điểm và ánh xạ này không thẳng hàng Phương pháp này là

xoắn thời gian động(Dynamic Time Warping - DTW) [3]

Hình 2.3: Hai đường biểu diễn giống nhau về hình dạng nhưng lệch nhau về thời gian

Cách tính DTW:

Cách đơn giản nhất để tính DTW của hai đường X và Y là ta xây dựng ma trận D m x n

với m = |X| và n= |Y| Khi đó, D ij = d(x i , y j )

Sau khi xây dựng ma trận D, ta tìm đường đi từ ô (0,0) đến ô (m,n) thỏa mãn những

ràng buộc sau:

- Không được đi qua trái hay đi xuống

- Đường đi phải liên tục

Trang 25

- Ô (i,j) thuộc đường đi phải thỏa |i - j| <= w

Giả sử có K ô đi từ ô (0,0) đến ô (m,n) thỏa mãn những điều kiện trên, khi đó:

Q DTW

K k

k

1

min ) , (

Hình 2.4 sẽ minh họa cách tính khoảng cách theo DTW Tuy nhiên, có thể dùng quy hoạch động để giải quyết bài toán này Với công thức truy hồi để tính D(i, j):

{ ( 1 , ), ( 1 , 1 ), ( , 1 )}min

) , (i j = xy + D ij D ijD i j

Ưu điểm: Phương pháp DTW hiệu quả hơn phương pháp Euclid

Nhược điểm: Tốn nhiều thời gian thực thi hơn

Hình 2.4: Cách tính khoảng cách theo DTW

2.3 Thu giảm số chiều

Dữ liệu chuỗi thời gian trong những lĩnh vực cần ghi nhận dữ liệu của các đối tượng theo thời gian thường có dung lượng rất lớn Ví dụ như trong lĩnh vực thiên văn học, chứng khoán, web blog, dữ liệu cần lưu trữ theo thời gian có dung lượng lớn đến hàng terabyte Việc tìm kiếm trên dữ liệu này là rất phức tạp và không hiệu quả, hơn nữa cũng không thể nào phân tích nổi dữ liệu lớn hàng terabyte Vì vậy, vấn đề

Trang 26

đặt ra là cần phải có một phương pháp nào đó để thu giảm độ lớn của dữ liệu chuỗi thời gian

Một phương pháp giải quyết được khó khăn trên đó là thu giảm số chiều

Trong phương pháp thu giảm số chiều, ta sẽ mã hóa đường biểu diễn dữ liệu chuỗi thời gian thành những đường căn bản đã được định nghĩa trước Khi đó, thay vì lưu

trữ dãy giá trị x 1 x 2 … x n , ta chỉ cần lưu trữ chuỗi y 1 y 2 ….y k là k hệ số của các đường

cơ bản Từ những đường cơ bản này ta cũng có thể phục hồi lại dữ liệu ban đầu

Nếu k càng lớn thì đường phục hồi này càng chính xác với đường ban đầu và ngược lại Như vậy, thay vì tính toán trên dữ liệu n chiều, ta chỉ cần tính toán trên dữ liệu k

chiều

Phương pháp mã hóa bằng cách biến đổi thành những đường căn bản như vậy còn

được gọi là phương pháp thu giảm số chiều (dimensionality reduction)

Trên thế giới có nhiều phương pháp thực hiện việc thu giảm số chiều đã được các công trình nghiên cứu về dữ liệu chuỗi thời gian áp dụng như phương pháp biến đổi Fourier rời rạc (Discrete Fourier Transform – DFT), phương pháp biến đổi Wavelet rời rạc (Discrete Wavelet Transform – DWT), phương pháp phân rã giá trị riêng (Singular Value Decomposition – SVD), phương pháp xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation – PAA) Hình 2.5 minh họa các phương pháp DFT, DWT, SVD và PAA

Hình 2.5: Minh họa các phương pháp thu giảm số chiều DFT, DWT, SVD và PAA

Trang 27

Chương 3 trong luận văn này sẽ trình bày chi tiết cách hiện thực của các phương pháp DFT, DWT, SVD và PAA

2.4 Rời rạc hóa dữ liệu

Đã tồn tại nhiều cấu trúc dữ liệu và giải thuật hữu hiệu hỗ trợ việc so trùng các chuỗi kí tự Với dữ liệu chuỗi thời gian thì dữ liệu được ghi nhận là những giá trị thực Chính vì vậy, ta không thể áp dụng những cấu trúc dữ liệu và giải thuật đã tồn tại đó để hỗ trợ cho các bài toán về dữ liệu chuỗi gian được Đây chính là điều bất lợi cho những giải thuật phân tích dữ liệu chuỗi thời gian

Vậy, phải có một phương pháp nào đấy để có thể áp dụng được những cấu trúc dữ liệu và giải thuật nói trên cho dữ liệu chuỗi thời gian nhằm tăng tính hữu hiệu của các phương pháp khi khai phá dữ liệu chuỗi thời gian

Rời rạc hóa dữ liệu (discretization) là một phương pháp giúp cho những giải thuật khai phá dữ liệu chuỗi thời gian có thể dùng được các cấu trúc dữ liệu và giải thuật

so trùng chuỗi kí tự SAX (Symbolic Aggregate approXimation) là một trong những phương pháp rời rạc hóa dữ liệu chuỗi thời gian Với dữ liệu chuỗi thời gian ban đầu, qua phương pháp rời rạc hóa SAX, chuỗi dữ liệu thời gian gồm toàn những số thực sẽ được biến đổi thành tràng các kí tự a, b, c…Hình 2.6 minh họa phương pháp rời rạc hóa dữ liệu chuỗi thời gian SAX

Hình 2.6: Minh họa cho phương pháp rời rạc hóa dữ liệu chuỗi thời gian SAX

Trang 28

Sau khi dữ liệu chuỗi thời gian được rời rạc hóa thành tràng các kí tự, những phương pháp phân tích dữ liệu chuỗi thời gian có thể áp dụng được các cấu trúc dữ liệu và giải thuật của lĩnh vực so trùng chuỗi kí tự

Ngoài SAX, trên thế giới còn nhiều phương pháp rời rạc hóa dữ liệu chuỗi thời gian khác đã được đề nghị như phương pháp rời rạc hóa dữ liệu dựa trên góc nghiêng, phương pháp SAX mở rộng (Extended SAX),…Các phương pháp này sẽ được trình bày chi tiết ở chương 3

2.5 Nhận dạng bất thường

Trong dữ liệu chuỗi thời gian có nhiều bài toán như so trùng chuỗi, nhận dạng bất thường, tìm các motif, gom cụm hay phân lớp dữ liệu,…Nhận dạng bất thường

(anormally detection) là bài toán tìm kiếm chuỗi con bất thường nhất trong dữ liệu

chuỗi thời gian và nhiệm vụ của đề tài là giải quyết bài toán nhận dạng chuỗi con bất thường này

Chuỗi con bất thường nhất là chuỗi con có khoảng cách xa nhất đến các lân cận gần

nhất của nó trong chuỗi dữ liệu thời gian Nghĩa là ứng với mỗi chuỗi con C i ta sẽ tính được khoảng cách đến tất cả các chuỗi con khác bằng một độ đo, ở đây độ đo được chọn là độ đo Euclid Sau đó, trong những khoảng cách đã tính được sẽ xác

định ra khoảng cách nhỏ nhất là d i

Trong tất cả những khoảng cách d i tìm được ta chọn ra khoảng cách lớn nhất, giả sử

là d j Khi đó C j chính là chuỗi con bất thường nhất trong chuỗi dữ liệu thời gian

Hình 1.1 minh họa chuỗi con P là bất thường nhất

Hiện nay có nhiều phương pháp giải được bài toán nhận dạng bất thường đã được

áp dụng trên thế giới như phương pháp HOT SAX, WAT, DADD, … Mỗi phương pháp đều có ưu nhược điểm riêng nhưng tất cả các phương pháp trên đều không hữu hiệu lắm, vẫn còn tốn mất nhiều thời gian trong việc phát hiện chuỗi con bất thường nhất Vì vậy, bài toán nhận dạng bất thường vẫn rất cần những giải pháp hữu hiệu

Trang 29

hơn nữa Đó chính là lý do mà đề tài này được chọn – “phát hiện chuỗi con bất

thường nhất trong dữ liệu chuỗi thời gian”

Chương sau sẽ trình bày chi tiết các phương pháp trên và phân tích ưu nhược điểm của từng phương pháp

Trang 30

Chương 3: NHỮNG CÔNG TRÌNH LIÊN QUAN

Chương này trình bày một số phương pháp thu giảm số chiều, rời rạc hóa dữ liệu chuỗi thời gian, những công trình nhằm cải tiến quá trình tìm kiếm chuỗi con bất thường nhất và được tiến hành với cách đánh giá độ tương tự giữa hai chuỗi con bất

kỳ dùng độ đo Euclid

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

Phương pháp thu giảm số chiều (dimensionalily reduction) là cách thức biểu diễn lại

chuỗi dữ liệu thời gian X={x 1 , x 2 , ,x n } thành chuỗi dữ liệu Y={y 1 , y 2 , , y k }, k nhỏ

hơn n, k gọi là hệ số biến đổi, nếu k càng nhỏ thì đặc tính của chuỗi dữ liệu X khi chuyển thành chuỗi dữ liệu Y càng nhiều và ngược lại

Hệ số k được dùng để phục hồi lại chuỗi dữ liệu X từ chuỗi dữ liệu Y, k càng lớn thì

dữ liệu được phục hồi càng chính xác và ngược lại Do đó, đối với các phương pháp

này ta cần chọn hệ số k phù hợp, nếu chọn k quá lớn thì hiệu suất bị giảm, nếu chọn

k quá nhỏ thì thông tin khi chuyển đổi bị mất quá nhiều nên kết quả tìm được sẽ

không chính xác Sau đây là một số phương pháp thu giảm số chiều hiện có:

3.1.1 Phương pháp biến đổi Fourier rời rạc

Phương pháp biến đổi Fourier rời rạc (Discrete Fourier Transform - DFT) do R.Agrawal và các cộng sự đề nghị năm 1993 [2] Theo phương pháp này, đường dữ liệu ban đầu được biểu diễn bởi các đường cơ bản, nhưng đường cơ bản trong

trường hợp này là đường sin và cosin (hình 3.1)

Trang 31

- Cho phép so sánh gián tiếp 2 chuỗi X, Y thông qua khoảng cách của hai chuỗi

X f , Y f đã được biến đổi do: D X Y( , ) ≥αD X Y( f, )f (trong đó α là hằng số)

Nhược điểm

- Khó giải quyết khi các đường biểu diễn có chiều dài khác nhau

Hình 3.1: Các phương pháp biểu diễn dữ liệu DFT, DWT, SVD và PAA

3.1.2 Phương pháp biến đổi Wavelet rời rạc

Phương pháp biến đổi Wavelet rời rạc (Discrete Wavelet Transform - DWT) do K.Chan và cộng sự đề xuất năm 1999 [6] Phương pháp DWT biểu diễn chuỗi thời

gian thành các đường Haar cơ bản (hình 3.1) Đường Haar được định nghĩa theo

công thức như sau:

1 2 , , 0 )

1 5 0 1

5 0 0 1

)

t t

i j

ψ

0 2 4 6 8 10 12 0 2 4 6 8 10 12 0 2 4 6 8 10 12

DFT DWT SVD PAA

Các trường hợp còn lại

Trang 32

Ngoài sử dụng đường Haar, phương pháp Wavelet có thể sử dụng các đường cơ bản khác như đường Daubechies, Coiflet, Symmlet [27]…Tuy nhiên, Haar Wavelet đã được dùng rất nhiều trong khai phá dữ liệu chuỗi thời gian và lập chỉ mục [6], [7]

Ưu điểm

- Độ phức tạp phép biến đổi O(n)

- Có khả năng khử nhiễu rất cao, thích hợp với những dữ liệu tĩnh ít thay đổi

do đường Haar cũng không thay đổi liên tục

- Hỗ trợ xấp xỉ khoảng cách DTW [7]

Nhược điểm

- Chiều dài chuỗi dữ liệu phải là một số lũy thừa của hai

3.1.3 Phương pháp phân rã giá trị riêng

Phương pháp phân rã giá trị riêng (Singular Value Decomposition - SVD) do F.Korn và các cộng sự đề xuất năm 1997 [13] Phương pháp SVD biểu diễn chuỗi

thời gian thành các đường eigenwave (hình 3.1) Việc xác định đường eigenwave dựa vào giá trị riêng và vector riêng của ma trận D mxn với m là tập các chuỗi thời gian, n là số chiều Mỗi tập dữ liệu khác nhau có các đường eigenwave khác nhau

Ưu điểm

- Cho phép thấy được hình dạng dữ liệu

- Hỗ trợ các kiểu truy vấn ngẫu nhiên (ad-hoc query)

Nhược điểm

- Độ phức tạp rất cao

- Phải thực thi lại giải thuật khi chỉnh sửa tập dữ liệu

Trang 33

3.1.4 Phương pháp xấp xỉ gộp từng đoạn

Phương pháp xấp xỉ gộp từng đoạn (Piecewise Aggregate Approximation - PAA)

do E Keogh và các cộng sự đề xuất năm 2000 [17] Phương pháp PAA tuần tự xấp

xỉ k giá trị liền kề nhau thành cùng một giá trị bằng trung bình cộng của k điểm đó

Công thức tính giá trị trung bình cộng như sau:

∑+

N n

n

N i

X

1)1(

Với n là chiều dài dữ liệu chuỗi thời gian ban đầu, N là chiều dài dữ liệu chuỗi thời

gian trong không gian thu giảm

Quá trình cứ tiếp tục như vậy từ trái sang phải và kết quả cuối cùng là đường thẳng

có dạng bậc thang (hình 3.1)

Ưu điểm

-Thời gian tính toán rất nhanh

-Hỗ trợ nhiều phương pháp tính khoảng cách (khoảng cách Euclid, DTW, khoảng cách Minkowski…)

Nhược điểm

- Xây dựng lại chuỗi ban đầu rất khó và thường sinh lỗi lớn

- Không quan tâm đến những điểm đặc biệt (điểm giá trị nhỏ nhất, lớn nhất…) trong từng đoạn xấp xỉ

3.2 Các phương pháp rời rạc hóa dữ liệu

Dữ liệu chuỗi thời gian thường là những dữ liệu liên tục và lớn nên ta cần chia dữ liệu thành những đoạn rời rạc nhỏ hơn và mã hóa các đoạn này dựa vào đặc trưng của nó, từ đó giúp cho việc phân tích và tính toán dễ dàng hơn, quá trình này gọi là

Trang 34

quá trình rời rạc hóa Sau đây là một số phương pháp rời rạc hóa đã được áp dụng trên thế giới:

3.2.1 Phương pháp xấp xỉ gộp ký hiệu hóa

Phương pháp biểu diễn bằng chuỗi bit (bitstring) chỉ dùng 2 ký tự 0 và 1 để biểu

diễn nên không thể hiện được hết đặc tính của dữ liệu Do đó, J Lin và các cộng sự

đã đề xuất phương pháp xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate approXimation - SAX) vào năm 2003 [24] để thực hiện rời rạc hóa dữ liệu chuỗi thời gian

Dữ liệu ban đầu được chia thành từng đoạn bằng phương pháp PAA Sau đó, dựa trên giá trị trung bình cộng của từng đoạn, ta sẽ biểu diễn đặc trưng của đoạn thành các ký tự Khi đó, chuỗi dữ liệu ban đầu sẽ được mã hóa rời rạc thành một chuỗi các

Gần đây đã có nhiều công trình nghiên cứu theo hướng này [22], [24], [23], [11], [10], [16], [14], [20], [26], [31], [34]

Hình 3.2: Phương pháp SAX

Trang 35

Phương pháp SAX có thể tương tác được các dữ liệu lớn [29], khai phá được các kỹ thuật xử lý trên dữ liệu chuỗi để thực hiện xử lý và phân tích dữ liệu Ngoài ra còn

có một số phương pháp cải tiến như SAX mở rộng (Extended SAX) [19] hay SAX khả chỉ mục (Indexable SAX – iSAX) [29] được đề nghị nhằm tăng độ chính xác và

giảm chi phí tính toán

Tuy nhiên các điểm rời rạc lại được xác định dựa trên phân phối Gauss, không cụ thể cho từng loại dữ liệu Phân phối Gauss sẽ được trình bày trong bảng 3.1 Do đó, cần phải huấn luyện dữ liệu nhằm tìm ra những điểm rời rạc thích hợp nhất tương ứng với mỗi loại dữ liệu

Bảng 3.1: Phân phối Gauss

3.2.2 Phương pháp rời rạc hóa dựa trên góc nghiêng

Phương pháp rời rạc hóa dữ liệu dựa trên góc nghiêng do B Xia đề xuất năm 1997 [32] Trong phương pháp này, dữ liệu ban đầu sẽ được tuyến tính hóa thành những đoạn thẳng Dựa trên hệ số góc của những đoạn thẳng này ta sẽ mã hóa thành các ký

tự (hình 3.3)

Hình 3.3: Minh họa phương pháp rời rạc hóa dữ liệu dựa trên góc nghiêng

Trang 36

3.2.3 Phương pháp xấp xỉ gộp ký hiệu hóa khả chỉ mục

Phương pháp xấp xỉ gộp ký hiệu hóa khả chỉ mục (Indexable SAX - iSAX) được đề

nghị bởi J Shieh và cộng sự năm 2008 [29] Phương pháp iSAX thu giảm số chiều

và xác định các điểm ngắt tương tự như SAX, tuy nhiên chúng ta không sử dụng

chuỗi ký tự để mã hóa, mà thay vào đó là chuỗi các bit 0, 1 (hình 3.4)

Ưu điểm

- Chúng ta có thể thao tác các kỹ thuật trên SAX [14]

- Thực hiện đa phân giải nhằm khai phá tốt các dữ liệu lớn

- Có cấu trúc chỉ mục hỗ trợ

Nhược điểm

- Mang tất cả các nhược điểm của SAX do quá trình thu giảm chiều và tính toán điểm ngắt giống như SAX

Hình 3.4 Phương pháp biểu diễn dữ liệu iSAX (nguồn 29)

3.3 Các phương pháp nhận dạng chuỗi con bất thường nhất

Trên thế giới có nhiều giải thuật tìm kiếm chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian đã được đề nghị và sử dụng Sau đây là một số giải thuật nổi tiếng cho phép tìm kiếm chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian:

Trang 37

3.3.1 Phương pháp HOT SAX

Phương pháp này dùng giải thuật chân phương (Brute Force Discord Discovery -

BFDD) hoặc giải thuật có heuristic (Heuristic Discord Discovery - HDD) do

E.Keogh và các cộng sự đề nghị năm 2005 [16] để tìm chuỗi con bất thường nhất trong dữ liệu chuỗi thời gian

Sau khi thu giảm số chiều bằng phương pháp xấp xỉ gộp tuyến tính PAA, dữ liệu được rời rạc hóa thành chuỗi kí tự bằng phương pháp xấp xỉ gộp ký hiệu hóa SAX, sau đó áp dụng giải thuật BFDD hoặc HDD để khám phá chuỗi con bất đồng nhất (discord) Hình A1 trong phụ lục A mô tả mã giả cho giải thuật BFDD và hình A2 trong phụ lục A mô tả mã giả cho giải thuật HDD

Ưu điểm của BFDD

- Đơn giản, dễ hiểu, dễ hiện thực, chỉ có một tham số đầu vào là kích thước chuỗi con bất thường cần tìm

Nhược điểm của BFDD

- Mất nhiều thời gian, độ phức tạp thời gian lên đến O(n 2 ), với n là kích thước

của dữ liệu chuỗi thời gian

- Chỉ thực hiện tìm kiếm trên bộ nhớ

- Không khả thi nếu dữ liệu thu gộp và xấp xỉ vẫn còn lớn hơn kích thước bộ nhớ

Giải thuật HDD được cải tiến từ giải thuật BFDD bằng cách đưa vào hai heuristic ở vòng lặp ngoài (Outer Loop) và vòng lặp trong (Inner Loop)

Heuristic trong Outer Loop: Từ chuỗi dữ liệu thời gian ban đầu có chiều dài m, dùng cửa sổ trượt có kích thước n trích ra các chuỗi con có chiều dài n (n là tham số của giải thuật và n <<m) Ngoài tham số n, tác giả còn chọn hai tham số nữa đó là

Trang 38

số kí tự a cần dùng để biến đổi từ dữ liệu số thực sang chuỗi kí tự (SAX) và kích thước w của chuỗi kí tự sau khi đổi

Trong phần đề nghị giải thuật tác giả đã chọn a=3, w=3 Sau khi trích được các chuỗi con chiều dài n từ chuỗi dữ liệu ban đầu, chuỗi con được đưa vào một mảng

Những chuỗi con được đưa vào mảng theo thứ tự giảm dần của khoảng cách độ đo tương tự giữa các chuỗi con so với lân cận gần nhất của nó (các chuỗi con lân cận

của chuỗi con đang xét phải thỏa điều kiện không chồng lắp (non-overlapping) lên

chuỗi con đó) Hai cấu trúc dữ liệu hỗ trợ cho vòng lặp trong và ngoài của giải thuật HDD được minh họa trong hình A3 (phụ lục A) Như vậy, khả năng chuỗi con bất đồng (discord) sẽ là chuỗi con được xét đầu tiên trong vòng lặp Outer Loop Số

chuỗi trong mảng là (m-n+1)

Heuristic trong Inner Loop: Những chuỗi con được sắp thứ tự tăng dần theo khoảng

cách từ chuỗi đó đến chuỗi đang xét (candidate) ở vòng lặp bên ngoài (Outer Loop) Giả sử theo hình A2 (phụ lục A), giải thuật đang kiểm tra đến chuỗi C 731 trong vòng

lặp ngoài (Outer Loop), tức là trong mảng đang xét đến phần tử tại vị trí 731, qua đó

có được chuỗi caa, từ chuỗi này và thông qua cây augmented trie sẽ biết được chuỗi

xuất hiện tại các vị trí 1, 3, 731 Và đây là 3 chuỗi được viếng thăm đầu tiên trong vòng lặp trong (Inner Loop) nhưng chuỗi tại vị trí 731 sẽ không được xét vì có điều

kiện ràng buộc ở dòng lệnh thứ 8 trong hình A2 (phụ lục A) Sau đó các chuỗi còn lại được viếng thăm ngẫu nhiên ở vòng lặp trong

Ưu điểm của HDD

- Đơn giản, dễ hiểu, dễ hiện thực và chỉ có một tham số đầu vào là kích thước chuỗi con bất thường cần tìm

Nhược điểm của HDD

- Mất khá nhiều thời gian, độ phức tạp thời gian là O(mn), với n là kích thước của dữ liệu chuỗi thời gian, m là kích thước của chuỗi con

- Chỉ thực hiện tìm kiếm trên bộ nhớ

Trang 39

- Không áp dụng được nếu kích thước dữ liệu sau khi thu gọn và xấp xỉ vẫn còn lớn hơn kích thước bộ nhớ

3.3.2 Phương pháp biến đổi wavelet và sử dụng cây gia tố

Phương pháp biến đổi wavelet và cây gia tố (Wavelet and Augmented Trie - WAT)

do Y Bu và các cộng sự khác đề nghị năm 2007 [5] Phương pháp được áp dụng để

tìm K chuỗi bất đồng nhất trong cơ sở dữ liệu chuỗi thời gian Phương pháp này

cũng dùng giải thuật HDD nhưng sử dụng phép biến đổi Haar wavelet để thu giảm

số chiều thay vì dùng PAA

Sau khi xấp xỉ các chuỗi con trong dữ liệu chuỗi thời gian, chuỗi con xấp xỉ được rời rạc hóa thành chuỗi các kí tự xác định Cách rời rạc hóa dựa vào các hệ số Haar wavelet (Haar wavelet coefficients) Các tác giả đã giả sử rằng những hệ số này là theo phân bố Gauss (Gaussian distribution) (bảng 3.1) Họ sử dụng những điểm cắt (cutpoints) để ánh xạ tất cả các hệ số Haar thành những kí tự khác nhau

Ví dụ: nếu hệ số thứ i từ Haar wavelet là nằm trong khoảng từ β0 đến β1, nó sẽ được

ánh xạ thành kí tự a Nếu hệ số thứ i là giữa của βj-1 và βj thì nó sẽ được ánh xạ

thành kí tự thứ j… Bằng cách này mỗi chuỗi con sẽ được ánh xạ thành một từ

Sau khi các chuỗi con được ánh xạ thành các từ, tất cả các từ được đặt trong mảng

có con trỏ tham khảo đến chuỗi con ban đầu Sử dụng mảng này để xây dựng cây gia tố (augmented trie) bằng phương pháp lặp Cuối cùng cũng sử dụng giải thuật

nhận dạng chuỗi con bất đồng có heuristic HDD K lần để xác định K chuỗi con bất

Trang 40

Nhược điểm

- Chỉ diễn ra trên bộ nhớ nên nếu dữ liệu dung lượng lớn hơn kích thước bộ nhớ thì không hiệu quả

3.3.3 Phương pháp cửa sổ thích nghi

Phương pháp cửa sổ thích nghi (Adaptive window-based Discord Discovey - AWDD) do M Chuah và cộng sự đề nghị năm 2007 [8] Phương pháp này dựa vào

ý tưởng của phương pháp HOT SAX, nhưng cải tiến giải thuật bằng cách quét qua

dữ liệu ban đầu trước để tìm ra kích thước cửa sổ trượt, sau đó mới tìm khoảng cách giữa chuỗi con có kích thước là kích thước cửa sổ trượt với lân cận gần nhất của nó Chuỗi bất đồng tìm được là chuỗi có khoảng cách xa nhất tới lân cận gần nhất của

sổ trượt chính là chiều dài của một nhịp tim (hình 3.5)

Hình 3.5: Kích thước cửa sổ trượt theo chiều dài của 1 nhịp tim

Ngày đăng: 08/03/2021, 23:44

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