Tải bản đầy đủ (.pdf) (94 trang)

Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.69 MB, 94 trang )

Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian

Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Trường Đại Học Bách Khoa
----------

NGUYỄN QUỐC VIỆT

ỨNG DỤNG NHẬN DẠNG MOTIF HỖ TRỢ PHÂN
LỚP DỮ LIỆU CHUỖI THỜI GIAN DÙNG ĐỘ ĐO
XOẮN THỜI GIAN ĐỘNG

CHUYÊN NGÀNH : KHOA HỌC MÁY TÍNH
MÃ SỐ CHUYÊN NGÀNH : 60.48.01

LUẬN VĂN THẠC SĨ
GVHD: PGS.TS DƯƠNG TUẤN ANH

TP. HỒ CHÍ MINH, 2013

Nguyễn Quốc Việt

i


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian
ĐẠI HỌC QUỐC GIA TP. HCM CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Độc Lập - Tự Do - Hạnh Phúc
------------------oOo--Tp. HCM, ngày 19 tháng. 05 . năm 2013.
NHIỆM VỤ LUẬN VĂN THẠC SĨ


Họ và tên học viên: Nguyễn Quốc Việt……….............................Giới tính: Nam / Nữ
Ngày, tháng, năm sinh: 31/07/1987......................................................Nơi sinh: Đồng Nai
Chuyên ngành: Khoa học Máy tính…………………………………………………
Khố: 2011………………………………………………………………………….
1-TÊN ĐỀ TÀI:
ỨNG DỤNG NHẬN DẠNG MOTIF HỖ TRỢ PHÂN LỚP DỮ LIỆU CHUỖI
THỜI GIAN
DÙNG ĐỘ ĐO XOẮN THỜI GIAN ĐỘNG
2-NHIỆM VỤ LUẬN VĂN:
................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
3-NGÀY GIAO NHIỆM VỤ:
................................................................................................................................................
.....................................................................................................................................................
4-NGÀY HOÀN THÀNH NHIỆM VỤ:
………………………………………………………………………………………………
…………………………………………………………………………………………………
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
(Họ tên và chữ kí)

CHỦ NHIÊM BỘ MƠN
QUẢN LÝ CHUN NGÀNH
(Họ tên và chữ kí)

PGS.TS Dương Tuấn Anh

Nguyễn Quốc Việt


ii


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian

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 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 19/05/2013

Nguyễn Quốc Việt

Nguyễn Quốc Việt

i


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian

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 đã không quản thời gian công sức ln tận tình chỉ bảo và hướng dẫn tơi
trong suốt thời gian tôi thực hiện luận văn này
Tôi xin cám ơn các q thầy cơ, những người đã gián tiếp và trực tiếp chỉ bảo và
hướng dẫn giúp tơi có những kiến thức cần thiết để thực hiện luận văn này. Qua đây
tôi cũng xin cám ơn các anh chị và các bạn trong cùng nhóm nghiên cứu đã giúp đỡ,

góp ý cho tơi trong suốt q trình làm luận văn.
Một lần nữa tôi xin gửi lời cám ơn chân thành đến tất cả mọi người.

Nguyễn Quốc Việt

ii


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian

TĨM TẮT LUẬN VĂN
Bài tốn phân lớp dữ liệu chuỗi thời gian có vai trị quan trọng trong lĩnh vực khai
phá dữ liệu. Nó giúp cho việc phân tích dữ liệu và dự đốn tương lai, đặc biệt trong
những lĩnh vực như tài chính hay y học.
Đề tài này sẽ hiện thực bài toán phân lớp dữ liệu chuỗi thời gian sử dụng giải
thuật phân lớp có thời gian thực thi tùy chọn dựa trên motif. Giải thuật gồm có hai
giai đoạn: Giai đoạn Huấn luyện và Giai đoạn Phân lớp.
Trong giai đoạn Huấn luyện, luận văn đề xuất chiến lược sắp xếp Simple Rank
dựa trên thông tin motif của mỗi đối tượng dữ liệu chuỗi thời gian. Chiến lược này sắp
xếp tập dữ liệu dựa trên motif của mỗi chuỗi dữ liệu thay vì dựa trên từng chuỗi dữ
liệu gốc, qua đó rút ngắn thời gian huấn luyện.
Trong giai đoạn Phân lớp, giải thuật sẽ tìm kiếm trong tập huấn luyện chuỗi gần
nhất với chuỗi mục tiêu. Thứ tự tìm kiếm là thứ tự đã được sắp xếp trong giai đoạn
huấn luyện. Giải thuật có thể dừng bất kỳ lúc nào. Kết quả phân lớp là nhãn lớp của
chuỗi gần với chuỗi mục tiêu nhất đến thời điểm dừng giải thuật.
Độ tương tự của các chuỗi thời gian được sử dụng là Khoảng cách xoắn thời gian
động. Để cải thiện thời gian thực thi của giải thuật, đề tài sử dụng kỹ thuật tính chặn
dưới LowerBound Keogh vào cả hai giai đoạn huấn luyện và phân lớp.

Nguyễn Quốc Việt


iii


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian

MỤC LỤC
Trang

LỜI CAM ĐOAN ....................................................................................................... i
LỜI CẢM ƠN ............................................................................................................ ii
TÓM TẮT LUẬN VĂN ............................................................................................ iii
MỤC LỤC ................................................................................................................ iv
DANH MỤC HÌNH ẢNH ........................................................................................ vii
DANH MỤC BẢNG BIỂU ........................................................................................ x
CHƯƠNG 1: GIỚI THIỆU ........................................................................................ 1
1.1. Phát biểu vấn đề ............................................................................................... 1
1.2. Mục tiêu và giới hạn đề tài ............................................................................... 4
1.3. Tóm lược kết quả đạt được............................................................................... 4
1.4. Cấu trúc của luận văn ....................................................................................... 5
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ........................................................................... 7
2.1. Độ đo khoảng cách trong miền dữ liệu chuỗi thời gian..................................... 7
2.1.1. Độ đo khoảng cách Minkowski ................................................................. 7
2.1.2. Độ đo xoắn thời gian động ........................................................................ 9
2.2. Kỹ thuật phân lớp k láng giềng gần nhất ........................................................ 14
CHƯƠNG 3: CÁC CƠNG TRÌNH CĨ LIÊN QUAN .............................................. 16
3.1. Ràng buộc đối với đường xoắn cho khoảng cách DTW .................................. 16
3.1.1. Ràng buộc dải Sakoe-Chiba ..................................................................... 16
3.1.2. Ràng buộc hình bình hành Itakura ........................................................... 17
3.1.3. Dải Ratanamahatana-Keogh (dải R-K) .................................................... 17

3.2. Các kỹ thuật tính chặn dưới cho khoảng cách DTW ....................................... 19
3.2.1. Ý nghĩa của chặn dưới ............................................................................. 19
3.2.2. Phương pháp tính chặn dưới LB_Keogh .................................................. 20
3.2.3. Đánh giá .................................................................................................. 23
3.3. Giải thuật phân lớp có thời gian thực thi tùy chọn .......................................... 23

Nguyễn Quốc Việt

iv


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian
3.3.1. Giải thuật phân lớp .................................................................................. 23
3.3.2. Sắp xếp tập huấn luyện ............................................................................ 25
3.4. Phát hiện motif cho dữ liệu chuỗi thời gian .................................................... 27
3.4.1. Giải thuật Brute-force để phát hiện motif................................................. 30
3.4.2. Nhận diện motif dựa vào phương pháp chiếu ngẫu nhiên (Random
Projection Algorithm) ....................................................................................... 31
3.4.3. Giải thuật MK cải tiến ............................................................................. 33
3.4.4. Giải thuật phát hiện motif dựa trên điểm cực trị quan trọng ..................... 41
3.4.4.1. Điểm cực trị quan trọng (Important Extreme Points) ............................ 41
3.4.4.2. Độ đo tương tự ..................................................................................... 44
3.4.4.3. Tìm ứng viên Motif .............................................................................. 46
3.4.4.4. Giải thuật gom cụm phân cấp theo hướng từ dưới lên (Hierarchical
Bottom-Up Algorithm) ...................................................................................... 47
3.4.4.5. Khái niệm về phép biến hình vị tự ........................................................ 48
3.4.4.6. Lấy mẫu các ứng viên motif bằng phép vị tự ........................................ 49
3.5. Kết luận ......................................................................................................... 51
CHƯƠNG 4: HIỆN THỰC VÀ THỬ NGHIỆM ...................................................... 54
4.1. Giải quyết vấn đề ........................................................................................... 54

4.1.1. Đặt vấn đề ................................................................................................... 54
4.1.2. Hướng giải quyết vấn đề ............................................................................. 54
4.1.3. Giai đoạn huấn luyện .................................................................................. 56
4.1.3.1. Giải thuật NN_LBKeogh ......................................................................... 56
4.1.3.2. Giải thuật huấn luyện ............................................................................... 58
4.1.4. Giai đoạn phân lớp ...................................................................................... 59
4.2. Thực nghiệm .................................................................................................. 61
4.2.1. Hệ thống phân lớp dữ liệu chuỗi thời gian ................................................... 61
4.2.2. Cấu hình ..................................................................................................... 64
4.2.3. Tập dữ liệu .................................................................................................. 64
4.2.4. Thực nghiệm giai đoạn huấn luyện.............................................................. 64
Nguyễn Quốc Việt

v


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian
4.2.4.1. Tập dữ liệu TwoPat .................................................................................. 65
4.2.4.2. Tập dữ liệu Clustered ............................................................................... 69
4.2.5. Thực nghiệm giai đoạn phân lớp ................................................................. 71
4.2.5.1. Tập dữ liệu TwoPat .................................................................................. 71
4.2.5.2. Tập dữ liệu Clustered ............................................................................... 73
CHƯƠNG 5: KẾT LUẬN ........................................................................................ 76
5.1. Tổng kết......................................................................................................... 76
5.2. Những đóng góp của đề tài ............................................................................ 77
5.3. Hướng phát triển ............................................................................................ 77
TÀI LIỆU THAM KHẢO ........................................................................................ 79
BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH – VIỆT.................................................... 81

Nguyễn Quốc Việt


vi


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian

DANH MỤC HÌNH ẢNH
Hình 1-1 Đường biễu diễn dữ liệu chuỗi thời gian. ........................................... 1
Hình 1-2 Bài tốn phân lớp dữ liệu chuỗi thời gian. .......................................... 3
Hình 2-1 Hình ảnh trực giác của khoảng cách Euclid. (nguồn: [3]) ................... 8
Hình 2-2 Hai mẫu dữ liệu có hình dạng giống nhau nhưng lệch nhau về thời
gian. (nguồn:[4]) ........................................................................................................ 9
Hình 2-3 Cách tính khoảng cách xoắn thời gian động: A) Cho hai chuỗi mục
tiêu Q và C, B) Ma trận tính DTW, C) Kết quả tính DTW. (nguồn:[2]) .................... 10
Hình 2-4 Đồ thị biểu diễn hai chuỗi thời gian.................................................. 12
Hình 2-5 Ma trận tính DTW cho hai chuỗi thời gian. ...................................... 12
Hình 2-6 Giải thuật phân lớp k-Nearest-Neighbor. .......................................... 15
Hình 3-1 Hai loại ràng buộc đối với đường xoắn: a) Dải Sakoe-Chiba và b)
Hình bình hành Itakura. (nguồn: [5]) ........................................................................ 17
Hình 3-2 Hình dạng của các loại ràng buộc cửa sổ xoắn: A) Dải R-K,B) Dải
Sakoe-Chiba, C) Hình bình hành Itakura. (nguồn: [4]) ............................................. 18
Hình 3-3 Minh họa giải thuật tìm kiếm tiến sử dụng độ chính xác. (nguồn:[4])19
Hình 3-4 Giải thuật tìm kiếm tuần tự sử dụng chặn dưới. (nguồn:[5]) ............. 20
Hình 3-5 Đường bao ứng với hai loại ràng buộc: A) Dải Sakoe-Chiba và B)
Hình bình hành Itakura. (nguồn:[2]) ......................................................................... 21
Hình 3-6 Hình ảnh trực quan của chặn dưới LB_Keogh. (nguồn:[2]) .............. 22
Hình 3-7 Giải thuật phân lớp có thời gian thực thi tùy chọn. (nguồn:[7]) ........ 24
Hình 3-8 Giải thuật sắp xếp tập huấn luyện. .................................................... 25
Hình 3-9 Mơ phỏng phát hiện motif dữ liêu chuỗi thời gian. 3 chuỗi dữ liệu con
bên dưới thường xuất hiện trong chuỗi dữ liệu ban đầu ở phía trên........................... 28

Nguyễn Quốc Việt

vii


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian
Hình 3-10 Mơ phỏng chuỗi con trùng khớp (matching) giữa hai chuỗi con C và
M. Chuỗi thời gian T là đường màu đen nhỏ, chuỗi con C có hình màu đen in đậm và
chuỗi M có hình màu xám. ....................................................................................... 28
Hình 3-11 Trong hầu hết các chuỗi con C, sẽ có hai chuỗi con khớp (match) tốt
nhất nằm ở phía bên trái và bên phải chuỗi này. ....................................................... 29
Hình 3-12 Minh họa định nghĩa Motif-bậc-K. ................................................. 29
Hình 3-13 Giải thuật Motif-Brute-Force (Nguồn [1]). ..................................... 31
Hình 3-14 Minh họa việc xây dựng ma trận

với a=3, w=4 và n=16 ............ 32

Hình 3-15: 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ị [11]............................................................................................ 33
Hình 3-16: Trái) Cột {2,4} được chọn
ứng [11]

Phải) Tăng giá trị của vị trí tương
33

Hình 3-17 Khoảng cách chuỗi con tham chiếu Q nằm giữa Ca và Cb ............... 36
Hình 3-18 Khoảng cách chuỗi con tham chiếu Q nằm ngoài Ca và Cb ............. 37

Hình 3-19 Dịch chuyển trục tọa độ dữ liệu chuỗi thời gian. ............................ 38
Hình 3-20 Cải tiến giải thuật phát hiện motif .................................................. 40
Hình 3-21 Điểm quan trọng với hệ số nén lần lượt là 91% và 94% ................. 41
Hình 3-22 Điểm cực đại và cực tiểu quan trọng .............................................. 42
Hình 3-23 Giải thuật lấy mẫu lại ứng viên Motif T với nội suy spline bậc I..... 45
Hình 3-24 Giải thuật gom cụm phân cấp theo hướng từ dưới lên .................... 47
Hình 3-25 Giải thuật gom cụm phân cấp từ dưới lên và trên xuống HAC ........ 48
Hình 3-26 Minh họa phép vị tự tâm O, hệ số vị tự k =1/2 ............................... 49
Hình 3-27: Chuỗi dữ liệu sau khi lấy mẫu có chiều dài 150 điểm dùng phương
pháp vị tự ................................................................................................................. 51

Nguyễn Quốc Việt

viii


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian
Hình 4-1 Ví dụ tập huấn luyện được sắp xếp bởi chiến lược SimpleRank. ...... 55
Hình 4-2: Giải thuật NN_LBKeogh. ............................................................... 57
Hình 4-3 Giải thuật huấn luyện ....................................................................... 59
Hình 4-4: Giải thuật phân lớp.......................................................................... 60
Hình 4-5 Mơ hình thực hiện giải thuật phân lớp có thời gian thực thi tuỳ chọn
khơng sử dụng motif ................................................................................................ 62
Hình 4-6 Mơ hình thực hiện giải thuật phân lớp có thời gian thực thi tuỳ chọn
sử dụng motif ........................................................................................................... 63
Hình 4-7 Biểu đồ thời gian thực thi giai đoạn huấn luyện không sử dụng kỹ
thuật chặn dưới trên tập dữ liệu TwoPat ................................................................... 66
Hình 4-8 Biểu đồ thời gian thực thi giai đoạn huấn luyện dùng kỹ thuật chặn
dưới LB_Keogh trên tập dữ liệu TwoPat .................................................................. 68
Hình 4-9 Biểu đồ thời gian thực thi giai đoạn huấn luyện sử dụng kỹ thuật chặn

dưới LB_Keogh trên tập dữ liệu Clustered ............................................................... 70
Hình 4-10 kết quả số mẫu phân lớp trên tập dữ liệu TwoPat ........................... 73
Hình 4-11 kết quả số mẫu phân lớp trên tập dữ liệu Clustered......................... 74

Nguyễn Quốc Việt

ix


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian

DANH MỤC BẢNG BIỂU
Bảng 4-1 Thời gian thực hiện giai đoạn huấn luyện không dùng kỹ thuật chặn
dưới trên tập dữ liệu TwoPat .................................................................................... 65
Bảng 4-2 Thời gian thực hiện giai đoạn huấn luyện của hai giải thuật dùng kỹ
thuật chặn dưới LB_Keogh trên tập dữ liệu TwoPat ................................................. 67
Bảng 4-3 Thời gian thực hiện giai đoạn huấn luyện của hai giải thuật dùng kỹ
thuật chặn dưới LB_Keogh trên tập dữ liệu Clustered .............................................. 69
Bảng 4-4 Số lượng mẫu phân lớp chính xác trên tập dữ liệu TwoPat .............. 72
Bảng 4-5 Độ chính xác phân lớp của giải thuật phân lớp có sử dụng thơng tin
motif và không sử dụng thông tin motif trên tập dữ liệu TwoPat .............................. 72
Bảng 4-6 Số lượng mẫu phân lớp chính xác trên tập dữ liệu Clustered ............ 73
Bảng 4-7 Độ chính xác phân lớp của giải thuật phân lớp có sử dụng thông tin
motif và không sử dụng thông tin motif trên tập dữ liệu Clustered ........................... 74

Nguyễn Quốc Việt

x



Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian

CHƯƠNG 1: GIỚI THIỆU
1.1. Phát biểu vấn đề
Chuỗi dữ liệu thời gian hay chuỗi thời gian là sự quan sát các dữ liệu theo
thời gian tuần tự. Đối với loại dữ liệu này, cấu trúc dữ liệu có thể là hai hay nhiều
chiều trong đó có chiều thời gian, tức là dữ liệu được theo dõi và ghi lại tại một thời
điểm nhất định. Tuy nhiên trong hầu hết các ứng dụng thực tế, dữ liệu được đo cách
nhau trong một khoảng thời gian cố định nên để đơn giản hóa q trình lưu trữ cũng
như độ phức tạp của dữ liệu, người ta chỉ lưu lại thứ tự các giá trị dữ liệu theo một
trình tự thời gian nhất định có dạng X=<x1, x2, …xn> trong đó xi là dữ liệu được đo ở
thời điểm thứ i.

Hình 1-1 Đường biễu diễn dữ liệu chuỗi thời gian.
Trong các ứng dụng thực tế, có rất nhiều loại dữ liệu chuỗi thời gian như sự
theo dõi biến đổi giá của chứng khoán, dữ liệu đo điện tâm đồ, dữ liệu theo dõi mực
nước sông hay là sự ghi lại việc truy cập các trang web của người dùng. Thông
thường, các loại dữ liệu chuỗi thời gian này là rất lớn, được đo và lưu trữ lại trong
một khoảng thời gian dài cho nên việc lưu trữ và khai phá dữ liệu này thường tốn kém
chi phí thời gian. Do đó việc sử dụng các cơng cụ khai phá dữ liệu này được áp dụng
trên nền máy tính đã thu hút sự quan tâm, nghiên cứu và ứng dụng trong rất nhiều các

Nguyễn Quốc Việt

1


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian
lĩnh vực trong những năm gần đây.
Một số vấn đề khi nghiên cứu chuỗi thời gian:

 Khối lượng dữ liệu
Một trong những đặc trưng của chuỗi thời gian là dữ liệu rất lớn. Ví dụ khi đo
đạc dữ liệu điện tâm đồ trong 1 giờ khoảng 1 Gigabyte. Đây là một trong những vấn
đề thách thức trong q trình phân tích, tính tốn và xử lý dữ liệu chuỗi thời gian
trong việc tạo ra kết quả được chính xác trong thời gian hợp lý.
 Phụ thuộc yếu tố chủ quan
Trong thực tế, các kết quả dữ liệu chuỗi thời gian thu được chịu ảnh hưởng yếu
tố chủ quan của người đo dữ liệu, điều kiện và các cơng cụ đo…
 Dữ liệu khơng đồng nhất
Q trình thu thập dữ liệu chuỗi thời gian được đo trên những định dạng khác
nhau, số lượng và tần số lấy mẫu khơng đồng nhất cũng ảnh hưởng đến tính tồn vẹn
của dữ liệu. Thêm vào đó q trình đo đạc khơng chính xác do nhiễu, thiếu một vài
giá trị hay dữ liệu không sạch.
Tập hợp dữ liệu chuỗi thời gian liên quan đến một lĩnh vực hoặc một bài toán ứng
dụng thường có kích thước rất lớn. Tuy nhiên, tập hợp dữ liệu này thường có mối liên
hệ chặt chẽ với nhau. Dựa trên những mối liên hệ đó, người ta thường thống kê và
phân loại dữ liệu thành một số lớp với một số đặc trưng nhất định. Ví dụ, dữ liệu giá
chứng khốn có thể phân loại thành các lớp: ổn định, tăng trưởng đều, không ổn định,
… Nhu cầu đặt ra là dùng dữ liệu thống kê trong quá khứ để phân loại dữ liệu hiện tại
hoặc tương lai. Việc phân loại này có ý nghĩa rất lớn trong nhiều lĩnh vực như: dự
đốn tình trạng giá một chứng khốn, dự đốn kiểu thời tiết, … Hình 1-2 minh họa cơ

Nguyễn Quốc Việt

2


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian
sở dữ liệu thống kê có hai lớp dữ liệu và yêu cầu phân loại mẫu dữ liệu O thuộc lớp
nào trong hai lớp đó.


Mẫu dữ liệu O

Hình 1-2 Bài tốn phân lớp dữ liệu chuỗi thời gian.
Bài toán phân lớp (classification) dữ liệu chuỗi thời gian được đặt ra để giải quyết
vấn đề trên. Phân lớp là q trình học có giám sát bao gồm hai giai đoạn: huấn luyện
và kiểm tra. Giai đoạn huấn luyện sẽ thực hiện việc học dựa trên tập huấn luyện. Giai
đoạn kiểm tra sẽ thực hiện kiểm tra kết quả phân lớp cho một tập kiểm thử.
Ngồi ra, có nhiều bài tốn trên thực tế địi hỏi chúng ta phải phân lớp khác nhau
dựa trên tài ngun tính tốn được cấp phát. Ví dụ, bài tốn u cầu phải phân lớp tín
hiệu trên đường truyền internet để xác định xem đó có phải là tín hiệu bất thường hay
khơng, và chỉ có giới hạn trong khoảng thời gian nhất định để ta đua ra đáp án phân
lớp. Như vậy ta sẽ khơng thể đợi giải thuật chạy xong hồn tồn để kết luận, mà sẽ
phải đưa ra kết luận trong khoảng thời gian tùy chọn với một mức độ chính xác có thể
chấp nhận được, khi đó một giải thuật phân lớp có thời gian thực thi tùy chọn là rất
cần thiết.
Tuy nhiên, khi áp dụng phân lớp trên chuỗi thời gian ta thường gặp phải nhược
điểm sau: dữ liệu chuỗi thời gian có đặc điểm là rất lớn nên việc phân lớp sẽ rất tốn
chi phí thời gian và tài nguyên. Để khắc phục nhược điểm trên, chúng ta có thể vận
dụng nhận dạng motif trên dữ liệu chuỗi thời gian để cải tiến giải thuật phân lớp dữ
Nguyễn Quốc Việt

3


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian
liệu chuỗi thời gian có thời gian thực thi tùy chọn giúp giải thuật thực thi hữu hiệu
hơn.

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

Mục tiêu nghiên cứu đề tài trên cơ sở dữ liệu chuỗi thời gian tập trung vào hai vấn
đề chính:
 Nghiên cứu các giải thuật nhận dạng motif trên dữ liệu chuỗi thời gian
Trong cơ sở dữ liệu chuỗi thời gian, dữ liệu thường rất lớn. Vì vậy, việc nhận
dạng các motif đặc trưng cho dữ liệu chuỗi thời gian và phân lớp dựa trên các motif
đại diện này sẽ giúp quá trình phân lớp nhanh hơn.
 Ứng dụng việc nhận dạng motif để cải tiến giải thuật phân lớp dữ liệu chuỗi thời
gian có thời gian thực thi tùy chọn để làm cho giải thuật này trở nên hữu hiệu hơn.
Sau khi nhận dạng motif đại diện chuỗi thời gian, ta xác định thứ hạng (rank)
của các dữ liệu chuỗi thời gian dựa trên motíp đại diện. Sau đó chúng ta áp dụng giải
thuật phân lớp có thời gian thực thi tùy chọn (anytime classification algorithm) để
phân lớp tập dữ liệu chuỗi thời gian này dựa vào thứ hạng (rank) các dữ liệu chuỗi
thời gian đã tính trước đó.

1.3. 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 đã
xây dựng hệ thống phân lớp dữ liệu chuỗi thời gian. Hệ thống này gồm hai thành phần
chính: Huấn luyện và Phân lớp. Thành phần Huấn luyện cho phép người dùng nhập
vào một tập huấn luyện gồm m chuỗi thời gian có chiều dài bằng nhau. Thành phần
Huấn luyện sẽ thực hiện việc sắp xếp tập huấn luyện. Thành phần phân lớp sẽ cho
phép người dùng nhập vào một chuỗi thời gian O, hệ thống sẽ sử dụng tập huấn luyện
đã được sắp xếp để cho biết kết quả dự đoán lớp của O.

Nguyễn Quốc Việt

4


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian
Thành phần huấn luyện làm nhiệm vụ sắp xếp tập huấn luyện. Việc sắp xếp này

chia làm hai giai đoạn: giai đoạn tìm kiếm motif cho mỗi thể hiện trong tập huấn
luyện và giai đoạn sắp xếp tập huấn luyện dựa trên motif của mỗi thể hiện trong tập
huấn luyện. Để phát hiện motif chương trình sử dụng giải thuật nhận diện motif trên
dữ liệu chuỗi thời gian dựa vào điểm cực trị quan trọng. Để tính khoảng cách xoắn
thời gian động của tất cả các cặp chuỗi, chương trình áp dụng kỹ thuật tính chặn dưới
LB_Keogh để cải thiện thời gian thực thi.
Thành phần phân lớp tìm chuỗi gần nhất của chuỗi mục tiêu O trong tập huấn
luyện. Chương trình cũng áp dụng kỹ thuật tính chặn dưới trên để cải thiện thời gian
thực thi.
Dựa trên chương trình đã hiện thực, đề tài tiến hành thực nghiệm trên hai tập dữ liệu
mẫu và so sánh kết quả khi phân lớp không sử dụng thông tin motif và khi có sử dụng
thơng tin motif của các thể hiện trong tập huấn luyện trên cả hai giai đoạn huấn luyện
và phân lớp:
-

Giai đoạn huấn luyện, đề tài so sánh thời gian thực thi quá trình sắp xếp tập
huấn luyện khi không sử dụng thông tin motif và khi có sử dụng thơng tin
motif.

-

Giai đoạn phân lớp, đề tài so sánh độ chính xác của giải thuật phân lớp khi
sử dụng motif và khi không sử dụng motif.

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

1.4. Cấu trúc của luận văn
Đề cương được chia làm 3 phần chính:
Chương 2 : Cơ sở lý thuyết


Nguyễn Quốc Việt

5


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian
Giới thiệu một số lý thuyết nền tảng được sử dụng trong đề tài bao gồm hai độ đo
khoảng cách được sử dụng trong việc tìm khoảng cách trong miền dữ liệu chuỗi thời
gian là khoảng cách Euclid và khoảng cách xoắn thời gian động (dynamic time
warping). Chương này cũng sẽ giới thiệu giải thuật phân lớp được sử dụng chính
trong đề tài là giải thuật phân lớp k Láng giềng gần nhất (k-Nearest-Neighbor).
Chương 3 : Các cơng trình nghiên cứu liên quan
Chương này sẽ trình bày các cơng trình có liên quan đến đề tài. Các cơng trình
này được trình bày trong bốn mục liên quan đến bốn chủ đề chính: ràng buộc đối với
đường xoắn cho khoảng cách dynamic time warping (DTW), các kỹ thuật tăng tốc
trong việc tính DTW, giải thuật phân lớp có thời gian thực thi tùy chọn và giải thuật
tìm kiếm Motif trên dữ liệu chuỗi thời gian.
Chương 4 : Giải quyết vấn đề và thực nghiệm
Chương này tập trung vào cải thiện thời gian thực thi của giải thuật phân lớp có
thời gian thực thi tùy chọn bằng cách sử dụng thơng tin motif của chuỗi thời gian. Kế
tiếp trình bày kết quả thực nghiệm trên hai tập dữ liệu TwoPat và Clustered.
Chương 5 : Kết luận
Trình bày một số kết luận sau khi thực hiện đề tài.

Nguyễn Quốc Việt

6



Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Để giải quyết bài toán phân lớp dữ liệu chuỗi thời gian, đề tài này sử dụng một số
lý thuyết từ các lĩnh vực khác nhau. Do đó, chương này sẽ trình bày những điểm cơ
bản của các lý thuyết đó. Độ đo khoảng cách Euclid và độ đo khoảng cách xoắn thời
gian động, cách tính độ đo khoảng cách xoắn thời gian động. Kỹ thuật phân lớp k
láng giềng gần nhất.

2.1. Độ đo khoảng cách trong miền dữ liệu chuỗi thời gian
Trong lĩnh vực dữ liệu chuỗi thời gian, có nhiều độ đo khoảng cách đã được đề
xuất. Tuy nhiên, hai độ đo được quan tâm nhất là độ đo Minkowski và độ đo Xoắn
thời gian động (Dynamic Time Warping).

2.1.1. Độ đo khoảng cách Minkowski
Giả sử có hai chuỗi thời gian Q và C có chiều dài n có dạng:
Q = q1, q2, …, qi, …, qn.
C = c1, c2, …, cj, …, cn.
Trong phương pháp này thì khoảng cách giữa Q và C được định nghĩa như sau:

( , )=

Trong đó:

(



) ( . )


p = 1: Khoảng cách Manhattan
p = 2: Khoảng cách Euclid
p = : Max

Nguyễn Quốc Việt

7


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian
Tuy p có thể có nhiều lựa chọn khác nhau, nhưng trong các nghiên cứu về dữ liệu
chuỗi thời gian, p=2 (khoảng cách Euclid) thường được sử dụng. Hình 2-1 minh họa
hình ảnh trực giác của khoảng cách Euclid.

Hình 2-1 Hình ảnh trực giác của khoảng cách Euclid. (nguồn: [3])
Ưu điểm:
-

Tính tốn dễ dàng.

-

Có khả năng sử dụng trong tất cả các bài tốn tìm kiếm tương tự như phân
lớp, gom cụm, so trung chuỗi con, … Đặc biệt độ đo này thích hợp khi sử
dụng các phép biến đổi thu giảm số chiều.

Nhược điểm:
-

Nhạy cảm với nhiễu.


-

Khơng thích hợp đối với dữ liệu cho hình dạng gần giống nhau nhưng lệch
nhau về mặt thời gian. Hình 2-2 minh họa hai chuỗi thời gian có hình dạng
giống nhau nhưng lệch nhau về mặt thời gian.

-

Chỉ tính được đối với hai chuỗi có chiều dài bằng nhau. Trong các trường
hợp cần tính khoảng cách giữa hai chuỗi có chiều dài khơng bằng nhau thì
khơng thể sử dụng khoảng cách Euclid.

Nhằm khắc phục những nhược điểm này, độ đo khoảng cách xoắn thời gian động
đã được đề nghị.
Nguyễn Quốc Việt

8


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian

Hình 2-2 Hai mẫu dữ liệu có hình dạng giống nhau
nhưng lệch nhau về thời gian. (nguồn:[4])

2.1.2. Độ đo xoắn thời gian động
Giả sử có hai chuỗi thời gian Q và C có chiều dài lần lượt là n và m, với:
Q = q1, q2, …, qi, …, qn.
C = c1, c2, …, cj, …, cm.
Để tính toán khoảng cách DTW giữa hai chuỗi trên, ta xây dựng một ma trận D

kích thước m  n. Trong đó, phần tử Dij = d(qi , cj) là khoảng cách giữa hai điểm qi và
cj (với khoảng cách Euclid thì d(qi , cj) = (qi - cj)2). Ma trận này được minh họa trong
Hình 2-3. Đường xoắn (warping path) W là một tập các phần tử liên tục của ma trận
định nghĩa một ánh xạ giữa Q và C. Phần tử thứ k của W được định nghĩa là wk=(i, j)k,
vì vậy ta có:
W = w1, w2, …, wk, …, wK

max(n, m)  K  m + n + 1

Theo định nghĩa, đường xoắn tối ưu là đường xoắn cho giá trị chi phí xoắn
(khoảng cách xoắn) nhỏ nhất:

Nguyễn Quốc Việt

9


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian

( , )=

(2. 1)

Trong đó chi phí xoắn của một đường xoắn là tổng khoảng cách của các cặp điểm
tương ứng với các ô nằm trên đường xoắn đó.

Hình 2-3 Cách tính khoảng cách xoắn thời gian động: A) Cho hai chuỗi
mục tiêu Q và C, B) Ma trận tính DTW, C) Kết quả tính DTW. (nguồn:[2])
Đường xoắn tối ưu này có thể tìm được bằng cách sử dụng phương pháp quy
hoạch động (dynamic programming) để tính cơng thức truy hồi định nghĩa khoảng

cách tích lũy (cumulative distance) (i, j) như sau:

( , )=

Nguyễn Quốc Việt

,

+

( − , )
( , − ) (2. 2)
( − , − )

10


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian
Trong đó, khoảng cách tích lũy (i, j) tại ơ (i, j) của ma trận được tính bằng
khoảng cách d(i, j) của ô tương ứng cộng với giá trị nhỏ nhất của khoảng cách tích lũy
của các ô liền kề trước ô đó. Khoảng cách xoắn thời gian động của hai chuỗi thời gian
Q và C là căn bậc hai của khoảng cách tích lũy tại ơ (m, n).
Khoảng cách Euclid có thể được xem là trường hợp đặc biệt của khoảng cách
DTW, trong đó phần tử thứ k của W được ràng buộc sao cho wk = (i, j)k, i = j = k. Lưu
ý rằng trường hợp đặc biệt này chỉ đúng khi hai chuỗi có chiều dài bằng nhau vì
khoảng cách Euclid khơng thể tính được đối với hai chuỗi có chiều dài khác nhau.
Trong thực tế, ta khơng cần phải tính tất cả đường xoắn có thể, vì nhiều đường
xoắn trong số đó tương ứng với những đường xoắn khơng hợp lý (ví dụ, một điểm
trong một chuỗi điện tâm đồ ánh xạ tới toàn bộ nhịp tim trong một chuỗi điện tâm đồ
khác). Thay vào đó, ta xem xét những ràng buộc sau để làm giảm số lượng đường

xoắn cần phải xét trong quá trình so trùng.
-

Đ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: cho 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: cho 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 W phải tăng đơn điệu theo
thời gian.

Q trình tính khoảng cách DTW được minh họa bằng ví dụ sau: Giả sử ta có hai
chuỗi thời gian:
Q = (5, 6, 6, 9, 10, 8, 5, 4, 4, 5)

Nguyễn Quốc Việt

11


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian
C = (4, 6, 7, 6, 5, 4, 2, 3, 5, 6)
Hai chuỗi này được biểu diễn bằng đồ thị ở Hình 2-4.

11
10
9
8
7
6
5
4
3
2
1
-

Q
C

1

2

3

4

5

6

7


8

9

10

Hình 2-4 Đồ thị biểu diễn hai chuỗi thời gian.
Để tính khoảng cách DTW giữa hai chuỗi trên, ta xây dựng ma trận tính khoảng cách
tích lũy như trong Hình 2-5. Mỗi ơ trong ma trận này chứa khoảng cách tích lũy của
cặp điểm tương ứng.
10

88

40

41

25

18

17

25

24

21


22

9

87

39

37

24

18

16

20

21

22

26

8

87

35


28

20

17

16

20

21

22

26

7

87

31

19

16

16

17


26

30

30

31

Q 6

86

30

15

18

27

43

79

104 73

50

5


70

26

14

21 36

54

92

105 64

46

4

34

10

5

11

18

28


56

59

39

30

3

9

1

2

2

3

7

23

39

23

21


2

5

1

2

2

3

7

23

26

22

21

1

1

2

6


7

7

8

17

21

21

22

1

2

3

4

5

6

7

8


9

10

Hình 2-5 Ma trận tính DTW cho hai chuỗi thời gian.

Nguyễn Quốc Việt

12


Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian
Trong ma trận ở Hình 2-5, giá trị của các ơ được tính như sau:
-

(1, 1) = (Q1 – C1)2

-

(1, i) = (1, i-1) + (Q1 – Ci)2

-

(i, 1) = (i-1, 1) + (Qi – C1)2

-

Các ô còn lại: (i, j) = min{(i-1, j), (j-1, i), (i-1, j-1)} + (Qi – Cj)2

Sau khi tính được giá trị cho tất cả các ơ, ta có đường xoắn bao gồm các ơ tham gia

tích lũy giá trị cho ơ (10, 10). Trong ví dụ trên, đường xoắn là các ô được tô xám.
Vậy, khoảng cách DTW của hai chuỗi Q và C như trên là √22 ≈ 4.7 , trong khi
khoảng cách Euclid là 8.
Một số ưu điểm và nhược điểm của khoảng cách DTW được tóm tắt như sau:
Ưu điểm:
-

Khoảng cách DTW cho kết quả so trùng chính xác hơn so với khoảng cách
Euclid, đặc biệt trong trường hợp tập dữ liệu nhỏ.

-

Khoảng cách DTW cho phép nhận dạng các mẫu có hình dạng giống nhau
nhưng lệch nhau về mặt thời gian.

-

Khoảng cách DTW cho phép tính khoảng cách trong trường hợp hai chuỗi
có chiều dài khơng bằng nhau.

Nhược điểm:
-

Nhược điểm lớn nhất của khoảng cách DTW là độ phức tạp tính tốn lớn.
Với hai chuỗi Q và C có chiều dài lần lượt là m và n, để tính khoảng cách
DTW của hai chuỗi này, ta phải xây dựng ma trận D có kích thước m  n và
tính khoảng cách tích lũy tương ứng với hàm  (cơng thức 2.3) cho mọi ơ
trong ma trận đó. Như vậy, độ phức tạp tính tốn của giải thuật tính DTW sử
dụng phương pháp quy hoạch động là O(mn).


Nguyễn Quốc Việt

13


×