ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƢỜNG ĐẠI HỌC BÁCH KHOA
NGUYỄN CÔNG THƢƠNG
PHÂN LỚP DỮ LIỆU CHUỖI THỜI GIAN
SỬ DỤNG GIẢI THUẬT CÓ
THỜI GIAN THỰC THI TÙY CHỌN
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
CƠNG TRÌNH ĐƢỢC HỒN THÀNH TẠI
TRƢỜNG ĐẠI HỌC BÁCH KHOA
ĐẠ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 03 tháng 03 năm 2010
ĐẠ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 … tháng … năm 2009.
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên: Nguyễn Cơng Thƣơng
Giới tính: Nam / Nữ
Ngày, tháng, năm sinh: 17/02/1983
Nơi sinh: Hà Tĩnh
Chuyên ngành: Khoa học Máy tính
Khố: 2007
1- TÊN ĐỀ TÀI: PHÂN LỚP DỮ LIỆU CHUỖI THỜI GIAN SỬ DỤNG GIẢI
THUẬT CÓ THỜI GIAN THỰC THI TÙY CHỌN
2- NHIỆM VỤ LUẬN VĂ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
CHỦ NHIỆM BỘ MÔN
(Họ tên và chữ ký)
QUẢN LÝ CHUYÊN NGÀNH
(Họ tên và chữ ký)
PGS. TS. Dƣơng Tuấn Anh
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
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 28 tháng 11 năm 2009
Nguyễn Công Thƣơng
Nguyễn Công Thƣơng
i
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
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 thực hiện và hồn thành luận văn này.
Tôi cũng xin gửi lời cảm ơn Quý Thầy Cơ Khoa Khoa học và Kỹ thuật Máy tính,
Trƣờng Đại học Bách Khoa TP. HCM đã tận tình giảng dạy tơi trong q trình học đại
học cũng nhƣ cao học.
Cuối cùng và trên hết, con cảm ơn gia đình đã động viên và tạo điều kiện tốt nhất
để con có thể tiếp tục con đƣờng học tập và nghiên cứu. Con trân trọng dành tặng
thành quả của luận văn này cho Cha Mẹ và cả gia đình.
Nguyễn Cơng Thƣơng
Nguyễn Cơng Thƣơng
ii
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
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ự đoá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. 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 Luân phiên
(Round Robin). Chiến lƣợc Luân phiên sắp xếp tập huấn luyện sao cho các chuỗi
thuộc các lớp khác nhau xuất hiện luân phiên với nhau.
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 các kỹ thuật tính
chặn dƣới vào cả hai giai đoạn huấn luyện và phân lớp. Các kỹ thuật tính chặn dƣới
đƣợc sử dụng gồm có LB_Keogh, FTW và LB_Improved. Qua thực nghiệm cho thấy,
LB_Keogh và LB_Improved phù hợp cho kích thƣớc cửa sổ xoắn nhỏ, trong khi FTW
tốt hơn trong trƣờng hợp cửa sổ xoắn lớn.
Nguyễn Công Thƣơng
iii
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
MỤC LỤC
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 VẤN ĐỀ .................................................................. 1
1.1. Dữ liệu chuỗi thời gian .............................................................................. 1
1.2. Bài toán phân lớp dữ liệu chuỗi thời gian .................................................. 2
1.3. Mục tiêu và giới hạn đề tài ........................................................................ 3
1.4. Tóm lƣợc những kết quả đạt đƣợc ............................................................. 3
1.5. Cấu trúc của luận văn ................................................................................ 4
CHƢƠNG 2: CƠ SỞ LÝ THUYẾT .................................................................... 6
2.1. Độ đo khoảng cách trong miền dữ liệu chuỗi thời gian .............................. 6
2.1.1. Độ đo khoảng cách Minkowski .......................................................... 6
2.1.2. Độ đo xoắn thời gian động ................................................................. 8
2.2. Bài toán phân lớp dữ liệu ........................................................................ 13
2.3. 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. Các phƣơng pháp thu giảm số chiều ........................................................ 16
3.1.1. Phƣơng pháp khơng thích nghi dữ liệu ............................................. 16
3.1.2. Phƣơng pháp thích nghi dữ liệu........................................................ 19
3.2. Ràng buộc đối với đƣờng xoắn cho khoảng cách DTW ........................... 21
Nguyễn Công Thƣơng
iv
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
3.2.1. Ràng buộc dải Sakoe-Chiba ............................................................. 21
3.2.2. Ràng buộc hình bình hành Itakura .................................................... 21
3.2.3. Dải Ratanamahatana-Keogh (dải R-K) ............................................. 22
3.3. Các kỹ thuật tính chặn dƣới cho khoảng cách DTW ................................ 25
3.3.1. Ý nghĩa của chặn dƣới ..................................................................... 25
3.3.2. Phƣơng pháp tính chặn dƣới LB_Keogh .......................................... 26
3.3.3. Kỹ thuật chặn dƣới FTW ................................................................. 28
3.3.4. Kỹ thuật chặn dƣới LB_Improved .................................................... 31
3.3.5. Đánh giá .......................................................................................... 34
3.4. Một số giải thuật phân lớp cho dữ liệu chuỗi thời gian ............................ 34
3.4.1. Các giải thuật phân lớp có sử dụng chỉ mục ..................................... 34
3.4.2. Các giải thuật học “hăm hở” hơn...................................................... 35
3.5. Giải thuật phân lớp có thời gian thực thi tùy chọn ................................... 35
3.5.1. Giải thuật phân lớp........................................................................... 36
3.5.2. Sắp xếp tập huấn luyện .................................................................... 37
3.6. Kết luận................................................................................................... 40
CHƢƠNG 4: HỆ THỐNG PHÂN LỚP CÓ THỜI GIAN THỰC THI TÙY
CHỌN ........................................................................................ 42
4.1. Đặt vấn đề ............................................................................................... 42
4.2. Hƣớng giải quyết vấn đề ......................................................................... 42
4.3. Giai đoạn huấn luyện............................................................................... 45
4.3.1. Giải thuật NN_LBKeogh ................................................................. 45
4.3.2. Giải thuật NN_FTW ........................................................................ 47
4.3.3. Giải thuật NN_LBImproved ............................................................. 48
4.3.4. Giải thuật huấn luyện ....................................................................... 50
Nguyễn Công Thƣơng
v
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
4.4. Giai đoạn Phân lớp .................................................................................. 51
CHƢƠNG 5: THỰC NGHIỆM ......................................................................... 54
5.1. Tập dữ liệu .............................................................................................. 54
5.2. Thực nghiệm giai đoạn huấn luyện .......................................................... 55
5.2.1. Tập dữ liệu TwoPat.......................................................................... 55
5.2.2. Tập dữ liệu Clustered ....................................................................... 60
5.2.3. Nhận xét .......................................................................................... 63
5.3. Thực nghiệm giai đoạn phân lớp ............................................................. 64
5.3.1. Tập dữ liệu TwoPat.......................................................................... 64
5.3.2. Tập dữ liệu Clustered ....................................................................... 68
5.3.3. Độ chính xác của giải thuật phân lớp ............................................... 70
5.3.4. Nhận xét .......................................................................................... 72
CHƢƠNG 6: KẾT LUẬN ................................................................................. 73
6.1. Tổng kết .................................................................................................. 73
6.2. Những đóng góp của đề tài ...................................................................... 74
6.3. Hƣớng phát triển ..................................................................................... 74
DANH MỤC TÀI LIỆU THAM KHẢO ........................................................... 76
BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH – VIỆT............................................. 81
Nguyễn Công Thƣơng
vi
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
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. .................................................... 2
Hình 2.1: Hình ảnh trực giác của khoảng cách Euclid .................................................. 7
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 ...... 8
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........................................ 9
Hình 2.4: Đồ thị biểu diễn hai chuỗi thời gian. ........................................................... 11
Hình 2.5: Ma trận tính DTW cho hai chuỗi thời gian. ................................................ 11
Hình 2.6: Giải thuật phân lớp k-Nearest-Neighbor. .................................................... 15
Hình 3.1: Cách biến đổi chuỗi dữ liệu ban đầu theo các phƣơng pháp DFT, DWT và
PAA. ....................................................................................................... 17
Hình 3.2: Cách biến đổi chuỗi ban đầu theo các phƣơng pháp SVD, PACA và PLA. . 19
Hình 3.3: 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. ........................................................................................... 22
Hình 3.4: 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 SakoeChiba, C) Hình bình hành Itakura. .......................................................... 22
Hình 3.5: Minh họa giải thuật tìm kiếm tiến sử dụng độ chính xác. ............................ 23
Hình 3.6: Giải thuật tìm kiếm tuần tự sử dụng chặn dƣới. .......................................... 25
Hình 3.7: Đƣờ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. .................................................................................. 27
Hình 3.8: Hình ảnh trực quan của chặn dƣới LB_Keogh. ........................................... 28
Hình 3.9: Quá trình xấp xỉ hóa phân đoạn. ................................................................. 29
Hình 3.10: Q trình tính chặn dƣới FTW.................................................................. 30
Hình 3.11: Hình ảnh trực quan của chặn dƣới LB_Improved. .................................... 32
Nguyễn Công Thƣơng
vii
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
Hình 3.12: Q trình tính chặn dƣới LB_Improved. ................................................... 33
Hình 3.13: Giải thuật phân lớp có thời gian thực thi tùy chọn. ................................... 36
Hình 3.14: Giải thuật sắp xếp tập huấn luyện. ............................................................ 38
Hình 3.15: Ví dụ tập huấn luyện đƣợc sắp xếp bởi chiến lƣợc SimpleRank................ 41
Hình 4.1: Giải thuật sắp xếp RoundRobin. ................................................................. 43
Hình 4.2: Ví dụ tập huấn luyện đƣợc sắp xếp bởi chiến lƣợc SimpleRank. ................ 44
Hình 4.3: Ví dụ tập huấn luyện đƣợc sắp xếp bởi chiến lƣợc Luân phiên. .................. 44
Hình 4.4: Giải thuật NN_LBKeogh. ........................................................................... 46
Hình 4.5: Giải thuật NN_FTW. .................................................................................. 47
Hình 4.6: Giải thuật NN_LBImproved. ...................................................................... 49
Hình 4.7: Giải thuật huấn luyện. ................................................................................ 50
Hình 4.8: Giải thuật phân lớp. .................................................................................... 52
Hình 5.1: Biểu đồ thời gian thực thi giai đoạn huấn luyện trên tập dữ liệu TwoPat. ... 56
Hình 5.2: Biểu đồ tỷ lệ thời gian thực thi giai đoạn huấn luyện trên tập dữ liệu TwoPat.
............................................................................................................... 57
Hình 5.3: Biểu đồ tỷ lệ thu giảm khoảng cách DTW giai đoạn huấn luyện trên tập dữ
liệu TwoPat. ............................................................................................ 59
Hình 5.4: Biểu đồ thời gian thực thi giai đoạn huấn luyện trên tập dữ liệu Clustered. 61
Hình 5.5: Biểu đồ tỷ lệ thời gian giai đoạn huấn luyện trên tập dữ liệu Clustered....... 62
Hình 5.6: Biểu đồ tỷ lệ thu giảm số lƣợng khoảng cách DTW trong giai đoạn huấn
luyện trên tập dữ liệu Clustered. .............................................................. 63
Hình 5.7: Biểu đồ tỷ lệ thời gian thực thi giai đoạn phân lớp trên tập dữ liệu TwoPat.
............................................................................................................... 66
Hình 5.8: Biểu đồ tỷ lệ thu giảm trong giai đoạn phân lớp ứng với cửa sổ xoắn 10%
trên tập dữ liệu TwoPat. .......................................................................... 68
Nguyễn Công Thƣơng
viii
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
Hình 5.9: Biểu đồ tỷ lệ thời gian thực thi giai đoạn huấn luyện của giải thuật có sử
dụng chặn dƣới so với giải thuật khơng sử dụng chặn dƣới. .................... 69
Hình 5.10: Biểu đồ tỷ lệ thu giảm số lƣợng khoảng cách DTW trong giai đoạn phân
lớp trên tập dữ liệu Clustered. ................................................................. 70
Hình 5.11: Độ chính xác của giải thuật phân lớp trên tập dữ liệu TwoPat. ................. 71
Hình 5.12: Độ chính xác của giải thuật phân lớp trên tập dữ liệu Clustered................ 71
Nguyễn Công Thƣơng
ix
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
DANH MỤC BẢNG BIỂU
Bảng 5-1: Thời gian thực thi giai đoạn huấn luyện trên tập dữ liệu TwoPat. .............. 55
Bảng 5-2: Tỷ lệ thời gian thực thi giai đoạn huấn luyện của giải thuật có sử dụng chặn
dƣới với giải thuật khơng sử dụng chặn dƣới. ........................................... 57
Bảng 5-3: Số lƣợng khoảng cách DTW cần tính trong giai đoạn huấn luyện trên tập dữ
liệu TwoPat. ............................................................................................. 58
Bảng 5-4: Tỷ lệ số khoảng cách DTW thu giảm đƣợc trong giai đoạn phân lớp. ........ 59
Bảng 5-5: Kết quả đo thời gian chạy giai đoạn huấn luyện của tập dữ liệu Clustered. 60
Bảng 5-6: Tỷ lệ thời gian chạy của giải thuật có sử dụng chặn dƣới với giải thuật
không sử dụng chặn dƣới.......................................................................... 61
Bảng 5-7: Tỷ lệ thu giảm số lƣợng khoảng cách DTW trong giai đoạn huấn luyện trên
tập dữ liệu Clustered................................................................................. 62
Bảng 5-8: Thời gian thực thi giai đoạn phân lớp. ....................................................... 64
Bảng 5-9: Tỷ lệ về thời gian thực thi giai đoạn phân lớp của giải thuật có sử dụng chặn
dƣới với giải thuật không sử dụng chặn dƣới. ........................................... 65
Bảng 5-10: Số lƣợng khoảng cách DTW cần tính trong giai đoạn phân lớp trên tập dữ
liệu TwoPat. ............................................................................................. 67
Bảng 5-11: Tỷ lệ thu giảm về số lƣợng khoảng cách DTW trong giai đoạn phân lớp
trên tập dữ liệu TwoPat. ........................................................................... 67
Bảng 5-12: Thời gian thực thi giai đoạn phân lớp trên tập dữ liệu Clustered ứng với
cửa sổ xoắn 10%. ..................................................................................... 68
Bảng 5-13: Tỷ lệ thời gian thực thi giai đoạn phân lớp của giải thuật có sử dụng chặn
dƣới so với giải thuật không sử dụng chặn dƣới. ...................................... 69
Bảng 5-14: Tỷ lệ thu giảm số lƣợng khoảng cách DTW trong giai đoạn phân lớp trên
tập dữ liệu Clustered ứng với kích thƣớc cửa sổ xoắn 10%. ...................... 70
Nguyễn Công Thƣơng
x
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
CHƢƠNG 1: GIỚI THIỆU VẤN ĐỀ
Chƣơng này sẽ trình bày yêu cầu, mục tiêu và nội dung sơ lƣợc của đề tài, cùng
với động cơ để thực hiện đề tài này. Chƣơng này cũng trình bày những kết quả đã đạt
đƣợc của đề tài.
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 đƣợc quan sát và ghi nhận
theo thời gian xuất hiện. Ví dụ: giá chứng khốn, tỷ giá ngoại tệ, thơng tin thời tiết …
Dữ liệu này thƣờng rất lớn, có thể lên đến hàng tỷ điểm. Việc phân tích dữ liệu này rất
có ý nghĩa nhằm rút ra những đặc trƣng cơ bản của dữ liệu, dự đoán dữ liệu trong
tƣơng lai, hỗ trợ ra quyết định, … Tuy nhiên, dữ liệu này có kích thƣớc rất lớn nên
việc phân tích cần phải đƣợc thực hiện với sự hỗ trợ của các công cụ máy tính để
thơng tin đƣợc đáp ứng 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 đƣợc quan tâm nghiên cứu nhiều trong lĩnh vực khoa học máy tính và 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 các dữ liệu thời gian có dạng
các dãy giá trị có thứ tự theo dạng T=t1, t2,…, tm với ti là dữ liệu tại thời điểm thứ i.
Hình 1.1 là ví dụ đồ thị biểu diễn dữ liệu chuỗi thời gian.
Hình 1.1: Đƣờng biểu diễn dữ liệu chuỗi thời gian.
Nguyễn Công Thƣơng
1
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
1.2. Bài tốn phân lớp dữ liệu chuỗi thời gian
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 tố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ự
đoá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ơ
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 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ử.
Nguyễn Công Thƣơng
2
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
1.3. Mục tiêu và giới hạn đề tài
Mục tiêu của đề tài là phân lớp cho một tập dữ liệu chuỗi thời gian do ngƣời
dùng nhập vào (tập dữ liệu mục tiêu) dựa trên một tập huấn luyện (Training Set) cho
trƣớc. Đề tài này giới hạn nghiên cứu ở những khía cạnh sau đây:
-
Toàn bộ dữ liệu trong tập huấn luyện và dữ liệu trong tập mục tiêu đều có
chiều dài bằng nhau.
-
Sử dụng độ đo khoảng cách xoắn thời gian động (Dynamic Time Warping)
để tính khoảng cách giữa hai chuỗi thời gian. Khoảng cách Euclid đƣợc xem
nhƣ là một trƣờng hợp đặc biệt của khoảng cách xoắn thời gian động.
-
Sử dụng giải thuật phân lớp 1 láng giềng gần nhất (1-Nearest-Neighbor) có
thời gian thực thi tùy chọn.
-
Áp dụng kỹ thuật tính chặn dƣới cho khoảng cách xoắn thời gian động để
cải thiện thời gian thực thi giai đoạn huấn luyện (training) và giai đoạn phân
lớp (classifying).
-
Hiện thực và kiểm nghiệm bài toán về các tiêu chí: Thời gian thực thi, độ
chính xác của giải thuật phân lớp.
-
Giao diện tƣơng tác của chƣơng trình thân thiện với ngƣời dùng.
1.4. Tóm lƣợc những 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.
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
phải tính khoảng cách xoắn thời gian động của tất cả các cặp chuỗi. Hệ thống áp dụng
Nguyễn Công Thƣơng
3
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
ba kỹ thuật tính chặn dƣới LB_Keogh, FTW và LB_Improved để 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. Hệ thống cũng áp dụng ba 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 hệ thống đã 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 sử dụng ba kỹ thuật tính chặn dƣới vào giải thuật phân lớp
có thời gian thực thi tùy chọn. Việc so sánh đƣợc thực hiện trong hai giai đoạn:
-
Giai đoạn huấn luyện, đề tài so sánh ba kỹ thuật tính chặn dƣới về thời gian
thực thi và tỉ lệ thu giảm số lần tính DTW.
-
Giai đoạn phân lớp, đề tài so sánh ba kỹ thuật tính chặn dƣới về thời gian
thực thi, tỉ lệ thu giảm số lần tính DTW và độ chính xác của giải thuật phân
lớp.
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.5. Cấu trúc của luận văn
Phần còn lại của luận văn đƣợc tổ chức theo cấu trúc sau:
Chƣơng 2 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. 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 giới thiệu một số cơng trình nghiên cứu có liên quan đến đề tài này.
Các cơng trình đƣợc giới thiệu tập trung vào hai lĩnh vực chính là tăng tốc việc tính
tốn khoảng cách xoắn thời gian động và rút ngắn thời gian phân lớp dữ liệu chuỗi
thời gian.
Chƣơng 4 trình bày những vấn đề gặp phải khi giải quyết bài toán phân lớp dữ
liệu chuỗi thời gian. Chƣơng này sẽ phân tích những vấn đề chính mà hệ thống cần
Nguyễn Công Thƣơng
4
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
giải quyết. Đề tài 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 áp dụng kỹ thuật tính chặn dƣới vào cả hai giai
đoạn huấn luyện và phân lớp. Sau đó sẽ là các bƣớc giải quyết vấn đề.
Chƣơng 5 trình bày kết quả thực nghiệm trên hai tập dữ liệu.
Chƣơng 6 trình bày một số kết luận sau khi thực hiện đề tài.
Nguyễn Công Thƣơng
5
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
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 đó. Đầu tiên là độ đo khoảng cách Euclid và độ đo khoảng cách
xoắn thời gian động (Dynamic Time Warping), cách tính độ đo khoảng cách xoắn thời
gian động. Sau đó là phần giới thiệu ý tƣởng chính của kỹ thuật phân lớp k láng giềng
gần nhất (k-Nearest Neighbors).
2.1. Độ đo khoảng cách trong miền dữ liệu chuỗi thời gian
Vi dựa trên kết quả thời gian thực thi trong Bảng 5-8. Tỷ lệ này đƣợc
trình bày trong Bảng 5-9.
TestSize
LBKeogh
FTW
LBImproved
4
94.53%
99.49%
72.97%
40
43.37%
79.17%
24.72%
80
40.16%
91.26%
18.93%
160
32.43%
94.05%
12.68%
240
23.20%
93.70%
11.13%
320
20.47%
92.49%
10.02%
400
18.99%
93.86%
9.50%
Bảng 5-9: Tỷ lệ về thời gian thực thi giai đoạn phân lớp của giải thuật có sử dụng
chặn dƣới với giải thuật không sử dụng chặn dƣới.
Tỷ lệ thời gian thực thi đƣợc trình bày bằng biểu đồ trong Hình 5.7.
Vì cửa sổ xoắn đƣợc chọn thực nghiệm trong giai đoạn phân lớp có kích thƣớc
10%, nên qua biểu đồ cho thấy, thời gian thực thi của giải thuật có áp dụng chặn dƣới
LB_Keogh và LB_Improved tốt hơn giải thuật áp dụng chặn dƣới FTW.
Ngồi tiêu chí thời gian chạy, đề tài cũng đánh giá các giải thuật về tỷ lệ thu
giảm số lƣợng khoảng cách DTW. Với một chuỗi mục tiêu, số lần phải kiểm tra
khoảng cách chính là TestSize. Với 4000 chuỗi trong tập kiểm tra, số lần kiểm tra
khoảng cách là 4000*TestSize.
Nguyễn Công Thƣơng
65
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
TestSize LBKeogh
LBImproved
FTW
Raw DTW
4
14730
9009
15735
64000
40
90246
27621
148279
640000
80
137518
38792
287890
1280000
160
187636
54446
566370
2560000
240
223210
68513
845760
3840000
320
260919
83906
1122560 5120000
400
292367
97655
1398141 6400000
Bảng 5-10 trình bày kết quả thống kế số lƣợng khoảng cách DTW cần tính ứng
với từng giải thuật.
120.00%
100.00%
80.00%
LBKeogh
60.00%
FTW
LBImproved
40.00%
20.00%
0.00%
4
40
80
160
240
320
400
Hình 5.7: Biểu đồ tỷ lệ thời gian thực thi giai đoạn phân lớp
trên tập dữ liệu TwoPat.
Nguyễn Công Thƣơng
66
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
TestSize LBKeogh
LBImproved
FTW
Raw DTW
4
14730
9009
15735
64000
40
90246
27621
148279
640000
80
137518
38792
287890
1280000
160
187636
54446
566370
2560000
240
223210
68513
845760
3840000
320
260919
83906
1122560 5120000
400
292367
97655
1398141 6400000
Bảng 5-10: Số lƣợng khoảng cách DTW cần tính trong giai đoạn
phân lớp trên tập dữ liệu TwoPat.
Tỷ lệ thu giảm đƣợc tính bằng tỷ lệ giữa số lƣợng DTW cần phải tính khi sử
dụng chặn dƣới so với số lƣợng khoảng cách DTW cần phải tính nếu khơng sử dụng
chặn dƣới. Tỷ lệ thu giảm đƣợc trình bày trong Bảng 5-11.
TestSize
LBKeogh FTW
LBImproved
4
23.02%
14.08%
24.59%
40
14.10%
4.32%
23.17%
80
10.74%
3.03%
22.49%
160
7.33%
2.13%
22.12%
240
5.81%
1.78%
22.03%
320
5.10%
1.64%
21.93%
400
4.57%
1.53%
21.85%
Bảng 5-11: Tỷ lệ thu giảm về số lƣợng khoảng cách DTW trong giai đoạn
phân lớp trên tập dữ liệu TwoPat.
Tỷ lệ thu giảm số lƣợng khoảng cách DTW trong giai đoạn phân lớp trên tập dữ
liệu TwoPat đƣợc trình bày bằng biểu đồ ở Hình 5.8.
Nguyễn Công Thƣơng
67
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
30.00%
25.00%
20.00%
LBKeogh
15.00%
FTW
LBImproved
10.00%
5.00%
0.00%
4
40
80
160
240
320
400
Hình 5.8: Biểu đồ tỷ lệ thu giảm trong giai đoạn phân lớp
ứng với cửa sổ xoắn 10% trên tập dữ liệu TwoPat.
5.3.2. Tập dữ liệu Clustered
Tập dữ liệu Clustered gồm có 1000 chuỗi, trong đó tập huấn luyện gồm có 500
chuỗi và tập kiểm tra có 500 chuỗi. Việc thực nghiệm giai đoạn phân lớp chỉ thực hiện
ứng với kích thƣớc cửa sổ xoắn 10%. Dƣới đây là kết quả thực nghiệm giai đoạn phân
lớp trên tập dữ liệu này.
TestSize LBKeogh FTW
LBImproved Raw DTW
4
12.51
7.94
13.10
16.48
40
18.98
40.16
16.49
105.57
80
23.18
63.87
21.48
221.17
160
31.17
119.80
28.11
434.75
240
41.00
161.28
28.73
648.57
320
43.96
194.71
31.95
865.65
400
49.69
223.95
36.04
1,105.52
Bảng 5-12: Thời gian thực thi giai đoạn phân lớp trên tập dữ liệu
Clustered ứng với cửa sổ xoắn 10%.
Nguyễn Công Thƣơng
68
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
Thời gian thực thi giai đoạn phân lớp trên tập dữ liệu Clustered đƣợc trình bày
trong Bảng 5-12. Thời gian thực thi này đƣợc tính bằng giây.
Tỷ lệ thời gian thực thi của giải thuật có sử dụng chặn dƣới so với giải thuật
khơng sử dụng chặn dƣới đƣợc trình bày trong Bảng 5-13.
TestSize LBKeogh FTW
LBImproved
4
75.94%
48.19% 79.47%
40
17.98%
38.04% 15.62%
80
10.48%
28.88% 9.71%
160
7.17%
27.56% 6.47%
240
6.32%
24.87% 4.43%
320
5.08%
22.49% 3.69%
400
4.49%
20.26% 3.26%
Bảng 5-13: Tỷ lệ thời gian thực thi giai đoạn phân lớp của giải thuật có sử dụng
chặn dƣới so với giải thuật không sử dụng chặn dƣới.
Tỷ lệ thời gian này đƣợc trình bày bằng biểu đồ trong Hình 5.9.
90.00%
80.00%
70.00%
60.00%
50.00%
LBKeogh
40.00%
FTW
30.00%
LBImproved
20.00%
10.00%
0.00%
4
40
80
160
240
320
400
Hình 5.9: Biểu đồ tỷ lệ thời gian thực thi giai đoạn huấn luyện của giải thuật
có sử dụng chặn dƣới so với giải thuật không sử dụng chặn dƣới.
Tỷ lệ thu giảm số lƣợng khoảng cách DTW trong giai đoạn phân lớp của các giải
thuật đƣợc trình bày trong Bảng 5-14.
Nguyễn Công Thƣơng
69
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
TestSize LBKeogh FTW
LBImproved
4
55.80%
70.90% 53.75%
40
14.04%
34.20% 10.18%
80
9.09%
28.28% 5.81%
160
5.79%
23.94% 3.32%
240
4.48%
21.58% 2.39%
320
3.72%
19.89% 1.88%
400
3.25%
18.66% 1.55%
Bảng 5-14: Tỷ lệ thu giảm số lƣợng khoảng cách DTW trong giai đoạn phân lớp
trên tập dữ liệu Clustered ứng với kích thƣớc cửa sổ xoắn 10%.
Tỷ lệ thu giảm số lƣợng khoảng cách DTW đƣợc trình bày trong Hình 5.10.
80.00%
70.00%
60.00%
50.00%
LBKeogh
40.00%
FTW
30.00%
LBImproved
20.00%
10.00%
0.00%
4
40
80
160
240
320
400
Hình 5.10: Biểu đồ tỷ lệ thu giảm số lƣợng khoảng cách DTW trong giai
đoạn phân lớp trên tập dữ liệu Clustered.
5.3.3. Độ chính xác của giải thuật phân lớp
Độ chính xác của giải thuật phân lớp trên tập dữ liệu TwoPat đƣợc trình bày
trong Hình 5.11. Biểu đồ này cho thấy ở những bƣớc đầu của giai đoạn phân lớp. Giải
thuật sử dụng chiến lƣợc sắp xếp Luân phiên cho độ chính xác cao hơn giải thuật sử
dụng chiến lƣợc SimpleRank.
Nguyễn Công Thƣơng
70
Phân lớp dữ liệu chuỗi thời gian sử dụng giải thuật có thời gian thực thi tùy chọn
100.00%
90.00%
80.00%
70.00%
60.00%
RoundRobin
SimpleRank
50.00%
40.00%
30.00%
20.00%
4
20
40
60
80
100 120 140 160 180 200
Hình 5.11: Độ chính xác của giải thuật phân lớp trên tập dữ liệu TwoPat.
Độ chính xác của giải thuật phân lớp trên tập dữ liệu Clustered đƣợc trình bày
trong Hình 5.12. Với tập dữ liệu này, độ chính xác khơng biến thiên nhiều. Tuy nhiên,
trong những bƣớc đầu của giai đoạn phân lớp thì giải thuật sử dụng chiến lƣợc Luân
phiên cũng cho kết quả độ chính xác cao hơn giải thuật sử dụng chiến lƣợc
SimpleRank.
100.00%
95.00%
90.00%
85.00%
80.00%
75.00%
RoundRobin
70.00%
SimpleRank
65.00%
60.00%
55.00%
50.00%
4
20
40
60
80 100 120 140 160 180 200
Hình 5.12: Độ chính xác của giải thuật phân lớp trên tập dữ liệu Clustered.
Nguyễn Công Thƣơng
71