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

Phân tích 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

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.41 MB, 96 trang )

ĐẠ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ệc giải quyết bài tốn tìm kiếm tƣơng tự và các bài toán phức tạp hơn dựa trên
bài toán tìm kiếm tƣơng tự (trong đó có bài tốn phân lớp) ln cần phải có một độ đo
tƣơng tự giữa các mẫu dữ liệu. Độ đo tƣơng tự này chính là độ đo khoảng cách giữa
chúng. Nếu hai mẫu hoàn tồn giống nhau thì khoảng cách bằng 0. Ngƣợc lại hai mẫu
càng khác nhau thì khoảng cách giữa chúng càng lớn. Để có thể tính tốn đƣợc thì

khoảng cách này phải đƣợc tính bằng giá trị số. Gọi X, Y là hai mẫu dữ liệu. Trong đề
tài này, khoảng cách giữa X và Y đƣợc ký hiệu bằng D(X, Y).
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 Mahattan
p = 2: Khoảng cách Euclid

Nguyễn Công Thƣơng


6


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
p = : Max
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:[22])
Ƣ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 Công Thƣơng

7


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 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: [30])

2.1.2. Độ đo xoắn thời gian động
Độ đo xoắn thời gian động (Dynamic Time Warping) xuất hiện đầu tiên trong
lĩnh vực xử lý giọng nói (speech processing). Kỹ thuật này đƣợc giới thiệu vào lĩnh
vực khai phá dữ liệu chuỗi thời gian bởi Berndt và Clifford (1994) [3].
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 tố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 Công Thƣơng

8


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
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: [17])
Đƣờ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 Công Thƣơng

9


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
𝜸 𝒊 − 𝟏, 𝒋
𝜸 𝒊, 𝒋 − 𝟏
𝜸 𝒊, 𝒋 = 𝒅 𝒒𝒊 , 𝒄𝒋 + 𝐦𝐢𝐧
𝜸 𝒊 − 𝟏, 𝒋 − 𝟏

(𝟐. 𝟑)

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)
C = (4, 6, 7, 6, 5, 4, 2, 3, 5, 6)
Nguyễn Công Thƣơng

10


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

Q

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

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

C
Hình 2.5: Ma trận tính DTW cho hai chuỗi thời gian.

Nguyễn Cơng Thƣơng

11


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
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 Công Thƣơng

12


×