Ngoài ra, trong quá trình so trùng chuỗi con, luận văn sử dụng độ đo xoắn thời gian động có bổ sung kỹ thuật từ bỏ sớm khi khoảng cách tính được hiện tại đã vượt quá ngưỡng tìm kiếm.. TỔ
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
VÕ ĐỨC VĨNH
KẾT CHUỖI CON TRÊN 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ố: 60.48.01
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 12 năm 2014
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG - HCM Cán bộ hướng dẫn khoa học: PGS TS Dương Tuấn Anh
Cán bộ chấm nhận xét 1: TS Võ Thị Ngọc Châu
Cán bộ chấm nhận xét 2: PGS TS Đỗ Phúc
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 05 tháng 01 năm 2015
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1 Chủ tịch: PGS TS Quản Thành Thơ
2 Phản biện 1: TS Võ Thị Ngọc Châu
3 Phản biện 2: PGS TS Đỗ Phúc
4 Ủy viên: GS TS Phan Thị Tươi
5 Thư ký: TS Lê Thanh Vân
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý
chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA
KH & KT MÁY TÍNH
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên: Võ Đức Vĩnh MSHV: 12073052
Ngày, tháng, năm sinh: 06/02/1989 Nơi sinh: An Giang
Chuyên ngành: Khoa Học Máy Tính Mã số: 60.48.01
I TÊN ĐỀ TÀI: KẾT CHUỖI CON TRÊN DỮ LIỆU CHUỖI THỜI GIAN DÙNG ĐỘ
ĐO XOẮN THỜI GIAN ĐỘNG
NHIỆM VỤ LUẬN VĂN:
II NGÀY GIAO NHIỆM VỤ: 05/07/2014
III NGÀY HOÀN THÀNH NHIỆM VỤ: 08/12/2014
IV CÁN BỘ HƯỚNG DẪN: PGS TS Dương Tuấn Anh
Tp HCM, ngày … tháng … năm 2014
CÁN BỘ HƯỚNG DẪN
PGS TS Dương Tuấn Anh
TRƯỞNG KHOA KH & KT MÁY TÍNH
Trang 4LỜI CẢM ƠN
Tôi trân trọng gửi lòng tri ân chân thành đến PGS TS Dương Tuấn Anh vì
Thầy đã hướng dẫn, động viên tôi trong quá trình học và làm việc với thái độ ân cần,
bao dung, tận tụy của một nhà giáo chân chính Không chỉ về mặt kiến thức chuyên
môn, mà Thầy còn gián tiếp truyền đạt cho tôi nhiều bài học bổ ích về cuộc sống
Tôi chân thành cảm ơn quí Thầy, quí Cô vì đã tận tình truyền đạt cho tôi
nhiều tri thức hay và quí Những tri thức này hữu ích với tôi trong suốt quá trình học
tập tại trường cũng như trong tương lai
Tôi chân thành tri ân gia đình vì đã động viên và tạo mọi điều kiện tốt nhất
để tôi có thể tiếp tục theo đuổi việc học tập, nghiên cứu Tôi trân trọng dâng tặng
thành quả của luận văn này đến Cha Mẹ Nhờ công nuôi nấng, dạy dỗ của Người mà
con mới được thừa hưởng những lợi ích như ngày hôm nay
Qua đây, tôi cũng gửi lời cảm ơn chân thành đến các anh, các chị là bạn hữu,
đồng nghiệp vì đã tư vấn, và góp ý đến tôi trong quá trình thực hiện luận văn
Trang 5cho bài toán bằng việc phân đoạn dựa vào các cực trị quan trọng
Về phân đoạn chuỗi thời gian, luận văn sử dụng kỹ thuật xác định các điểm cực trị quan trọng như đề cập trong công trình của Fink và Gandhi Độ phức tạp của thao tác này chỉ là 𝑂(𝑛), 𝑛 là chiều dài chuỗi thời gian Tuy nhiên, chúng tôi đề xuất thêm một cải tiến mới là mô hình xác định tham số 𝑅 - đại lượng quan trọng để đánh giá một điểm là cực trị hay không Các phân đoạn của chuỗi thời gian này đóng vai trò
là mẫu truy vấn 𝑄 trong quá trình tìm kiếm chuỗi con trên chuỗi thời gian còn lại
Về bài toán so trùng chuỗi con, luận văn sử dụng giải thuật cửa sổ trượt dịch
chuyển từng điểm Ưu điểm của hướng tiếp cận này là không mắc lỗi tìm sót ứng
viên Kết quả thực nghiệm cho thấy giải thuật này có thể chấp nhận được trên các bộ
dữ liệu lên đến hàng nghìn điểm với độ chính xác khá cao
Ngoài ra, trong quá trình so trùng chuỗi con, luận văn sử dụng độ đo xoắn thời gian động có bổ sung kỹ thuật từ bỏ sớm khi khoảng cách tính được hiện tại đã vượt
quá ngưỡng tìm kiếm Độ đo DTW có ưu điểm là thao tác kết được trên những chuỗi
thời gian “lệch pha” và chiều dài khác nhau mà độ đo Euclid không thể Đồng thời ứng dụng cũng sử dụng ràng buộc Sakoe-Chiba nhằm tăng tốc quá trình tính toán và loại bớt việc xác định những đường xoắn không có ý nghĩa
Trang 6ABSTRACT
Time series exist in many practical applications, from scientific and technological
to economic and financial fields Time series data play an increasingly important role
in the work of data mining In particular, the subseries matching is a very basic
problem that is much concerned and studied The subseries join is the more general
one of the subseries matching problem
Most of the studies approach the problem by segmenting the time series, then
searching for the similar subseries based on the found segments However, many
authors suggest too complicated segmentation methods with a long computation time
In this thesis, we propose an approach to the problem by the segmentation based on
the importantly extreme points
Regarding the segmentation of time series, this thesis uses the technique to
determine the extreme points as proposed in the work of Fink and Gandhi The
complexity of this operation is only 𝑂(𝑛), where 𝑛 is the length of the time series
However, we propose an improved model to define parameter 𝑅 – an important
quantity to assess whether a point is an extreme point The segments of this time
series serve as query pattern 𝑄 in the search for subseries on the remaining time series
About problem of subseries matching, the thesis uses 1-point shifting sliding
window algorithm The advantage of this approach is that it can avoid false
dismissals Experiments show that this algorithm can be accepted on the thousands
of points with high accuracy
In addition, this thesis uses the Dynamic Time Warping with added early abandon
technique DTW has the advantage that it can calculate the distance on time series that
are out of phase and different in length whereas this cannot be achieved with the
employment of Euclid distance Also, it also uses Sakoe-Chiba constraint to speed up
the calculation process and eliminate the determination of undesired warping paths
Trang 7LỜ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 08 tháng 12 năm 2014
Võ Đức Vĩnh
Trang 8MỤC LỤC
LỜI CẢM ƠN iii
TÓM TẮT LUẬN VĂN iv
ABSTRACT v
LỜI CAM ĐOAN vi
MỤC LỤC vii
DANH MỤC HÌNH x
DANH MỤC GIẢI THUẬT xii
DANH MỤC BẢNG BIỂU xiii
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1
1.1 KHAI PHÁ DỮ LIỆU CHUỖI THỜI GIAN 1
1.1.1 Dữ liệu lớn 1
1.1.2 Dữ liệu chuỗi thời gian 2
1.2 CÁC BÀI TOÁN LIÊN QUAN ĐẾN DỮ LIỆU CHUỖI THỜI GIAN 5
1.3 BÀI TOÁN KẾT CHUỖI CON TRÊN DỮ LIỆU CHUỖI THỜI GIAN 9
1.4 Ý NGHĨA BÀI TOÁN KẾT CHUỖI CON 9
1.5 MỤC TIÊU VÀ NHIỆM VỤ CỦA ĐỀ TÀI 10
1.6 CÁC KẾT QUẢ ĐẠT ĐƯỢC 10
1.7 BỐ CỤC LUẬN VĂN 11
CHƯƠNG 2 CÁC CÔNG TRÌNH LIÊN QUAN 14
2.1 CÁC CÔNG TRÌNH LIÊN QUAN ĐẾN ĐỘ ĐO TƯƠNG TỰ 14
2.1.1 Độ đo Minkowski 15
2.1.2 Phương pháp xoắn thời gian động (Dynamic Time Warping) 17
2.1.3 Phương pháp chuỗi con chung dài nhất 18
2.2 CÁC CÔNG TRÌNH LIÊN QUAN ĐẾN KẾT CHUỖI CON 19
2.2.1 Phân đoạn chuỗi thời gian nhờ các điểm cực trị quan trọng 19
Trang 92.2.2 Phương pháp kết chuỗi con trực tiếp (nested loop join) 20
2.2.3 Phương pháp kết chuỗi con trên dữ liệu đã lập chỉ mục (indexing) 20
2.2.4 Phương pháp kết chuỗi con dựa trên các phân đoạn không đồng nhất (non-uniform segment) 21
2.2.5 Phương pháp đề nghị cho bài toán kết chuỗi con 23
CHƯƠNG 3 CƠ SỞ LÝ THUYẾT 24
3.1 ĐỘ ĐO XOẮN THỜI GIAN ĐỘNG 24
3.2 RÀNG BUỘC ĐƯỜNG XOẮN ĐỘ ĐO XOẮN THỜI GIAN ĐỘNG 28
3.2.1 Ràng buộc Sakoe-Chiba 28
3.2.2 Ràng buộc hình bình hành Itakura 29
3.3 KỸ THUẬT TỪ BỎ SỚM KHI TÍNH KHOẢNG CÁCH DTW 30
3.4 CÁC ĐIỂM CỰC TRỊ QUAN TRỌNG 31
3.4.1 Điểm cực trị thông thường (extreme points) 31
3.4.2 Điểm cực trị quan trọng (important extrema) 34
CHƯƠNG 4 PHƯƠNG PHÁP ĐỀ NGHỊ 38
4.1 KHÁI QUÁT BÀI TOÁN KẾT CHUỖI CON 38
4.2 HỆ THỐNG ĐỀ NGHỊ CHO BÀI TOÁN KẾT CHUỖI CON 40
4.3 QUÁ TRÌNH CHUẨN HÓA DỮ LIỆU 40
4.4 THAM SỐ R 44
4.5 QUÁ TRÌNH PHÂN ĐOẠN CHUỖI THỜI GIAN 46
4.6 QUÁ TRÌNH KẾT CHUỖI CON 47
CHƯƠNG 5 THỰC NGHIỆM 49
5.1 MÔI TRƯỜNG THỰC NGHIỆM 49
5.2 DỮ LIỆU THỰC NGHIỆM 49
5.3 CÁC THAM SỐ ƯỚC LƯỢNG 50
5.4 PHƯƠNG PHÁP THỰC NGHIỆM 51
5.5 THỰC NGHIỆM VỀ CÁC CỰC TRỊ QUAN TRỌNG 51
5.6 THỰC NGHIỆM VỀ BÀI TOÁN SO TRÙNG CHUỖI CON 56
5.7 THỰC NGHIỆM SO SÁNH GIẢI THUẬT KẾT CHUỖI CON DÙNG CỬA SỔ TRƯỢT TỪNG ĐIỂM VỚI CỬA SỔ TRƯỢT TỪNG ĐOẠN 60
Trang 105.8 THỰC NGHIỆM KIỂM CHỨNG TÍNH CHẤT GIAO HOÁN CỦA PHÉP
KẾT TRÊN DỮ LIỆU CHUỖI THỜI GIAN 61
CHƯƠNG 6 TỔNG KẾT 64
6.1 TỔNG KẾT NỘI DUNG CỦA LUẬN VĂN 64
6.2 NHỮNG ĐÓNG GÓP CỦA ĐỀ TÀI 65
6.3 HƯỚNG PHÁT TRIỂN 66
TÀI LIỆU THAM KHẢO 67 BẢNG THUẬT NGỮ ANH - VIỆT VÀ TỪ VIẾT TẮT A TÁC VỤ KẾT DÙNG ĐỘ ĐO EUCLID VÀ DTW C
Trang 11DANH MỤC HÌNH
Hình 1.1 Dữ liệu chuỗi thời gian đơn biến ghi nhận giá chứng khoán 3
Hình 1.2 Dữ liệu chuỗi thời gian đa biến ghi nhận vị trí 3
Hình 1.3 So trùng toàn chuỗi 7
Hình 1.4 So trùng chuỗi con 7
Hình 1.5 Tìm kiếm vùng 8
Hình 1.6 Tìm kiếm k láng giềng gần nhất 8
Hình 2.1 Một số độ đo Minkowski phổ biến (nguồn [23]) 16
Hình 2.2 Cách ánh xạ cặp điểm trong độ đo Euclid và độ đo DTW (nguồn [9]) 17
Hình 2.3 Kỹ thuật từ bỏ sớm trong tính khoảng cách DTW (nguồn [28]) 18
Hình 2.4 Phương pháp chuỗi con chung dài nhất (nguồn [1]) 19
Hình 2.5 Các loại cực trị: nghiêm cách (hình bên trái), trái và phải (hình giữa), và cực trị phẳng (hình bên phải) 20
Hình 2.6 Tổng quan về công trình của Yi Lin Nhánh bên phải là mô hình kết chuỗi con dựa trên các phân đoạn không đồng nhất (nguồn [16]) 21
Hình 2.7 Cây thứ bậc của quá trình phân đoạn không đồng nhất (nguồn [16]) 22
Hình 3.1 Cách tính khoảng cách xoắn thời gian động A) Hai chuỗi thời gian 𝑄 và 𝐶 B) Ma trận tính DTW C) Kết quả ánh xạ điểm trong DTW (nguồn [7]) 25
Hình 3.2 Đồ thị biểu diễn hai chuỗi thời gian 26
Hình 3.3 Ma trận tính DTW cho hai chuỗi thời gian 27
Hình 3.4 Ràng buộc Sakoe-Chiba (nguồn [5]) 29
Hình 3.5 Ràng buộc Itakura (nguồn [8]) 29
Hình 3.6 Kỹ thuật từ bỏ sớm khi tính DTW hai chuỗi thời gian (nguồn [10]) 30
Hình 3.7 Từ bỏ sớm trong khoảng cách xoắn thời gian động (a) Tính bước đầu tiên và kiểm tra có vượt quá hay không; (b) Tính lề của ma trận; (c) Tính thân của ma trận sử dụng từ bỏ sớm; (d) So sánh kỹ thuật từ bỏ sớm với cách tính thông thường (# = Vượt quá, ## = Bỏ qua tính toán) (nguồn [10]) 31
Hình 3.8 Các loại cực trị: nghiêm cách (trái), trái và phải (giữa), và cực trị phẳng (phải) (nguồn [17][18]) 32
Hình 3.9 Các cực trị thông thường tìm được theo Mã giả 1 (nguồn [18]) 32
Hình 3.10 Khuyết điểm của điểm cực trị thông thường 34
Hình 3.11 Bốn loại cực tiểu quan trọng: nghiêm cách (hình phía trên bên trái), trái và phải (hình phía trên bên phải), phẳng (hình phía dưới) (nguồn [18]) 35
Hình 3.12: Các cực trị quan trọng được tìm thấy theo giải thuật (nguồn [18]) 37
Hình 4.1 Kiến trúc bài toán kết chuỗi con 40
Trang 12Hình 4.2 Dữ liệu chưa chuẩn hóa có đường căn bản bất kỳ 42
Hình 4.3 Dữ liệu đã chuẩn hóa có đường căn bản 𝑥 = 0 42
Hình 4.4 Sơ đồ tổng hợp quá trình chuẩn hóa dữ liệu 43
Hình 4.5 Tham số 𝑅 giúp xác định các điểm cực trị quan trọng (nguồn [18]) 44
Hình 4.6 Điểm cực trị quan trọng tìm được trên dữ liệu Chromosome 45
Hình 4.7 Điểm cực trị quan trọng tìm được trên dữ liệu Stock 45
Hình 4.8 Các điểm cực trị quan trọng (nguồn [18]) 46
Hình 4.9 Cửa sổ trượt trong giai đoạn kết chuỗi con (nguồn [12]) 47
Hình 5.1 Các cực trị được xác định trên dữ liệu Chromosome độ dài 128 52
Hình 5.2 Các cực trị được xác định trên dữ liệu Runoff độ dài 204 52
Hình 5.3 Các cực trị được xác định trên dữ liệu Chromosome độ dài 1000 53
Hình 5.4 Các điểm cực trị được xác định trên dữ liệu Eeg độ dài 15000 53
Hình 5.5 Các điểm cực trị được xác định trên dữ liệu Stock độ dài 500 54
Hình 5.6 Các cực trị tìm được trên dữ liệu Power_Demand_Italy độ dài 10000 54
Hình 5.7 Các điểm cực trị được xác định trên dữ liệu Koski độ dài 120000 55
Hình 5.8 Các điểm cực trị được xác định trên dữ liệu Power độ dài 10000 55
Hình 5.9 Kết quả so trùng chuỗi con trên dữ liệu Stock 56
Hình 5.10 Kết quả so trùng chuỗi con trên dữ liệu Runoff chiều dài 204 56
Hình 5.11 Kết quả so trùng chuỗi con trên dữ liệu Memory 57
Hình 5.12 Kết quả so trùng chuỗi con trên dữ liệu Power_Demand_Italy 57
Hình 5.13 Kết quả so trùng chuỗi con trên dữ liệu Eeg độ dài 30000 57
Hình 5.14 Kết quả so trùng chuỗi con trên dữ liệu Chormosome độ dài 10000 58
Hình 5.15 Kết quả so trùng chuỗi con trên dữ liệu Power độ dài 10000 58
Hình 5.16 Kết quả so trùng chuỗi con trên dữ liệu Chromosome_1 độ dài 128 58
Hình 5.17 Kết quả so trùng chuỗi con trên dữ liệu Koski_ecg độ dài 10000 59
Hình 5.18 Kết quả kết chuỗi con trên dữ liệu Runoff 62
Hình 5.19 Kết quả kết chuỗi con trên dữ liệu Chromosome_1 chiều dài 128 62
Hình 5.20 Kết quả kết chuỗi con trên dữ liệu Power chiều dài 5000 63
Hình 6.1 Hệ thống kết chuỗi con 65
Trang 13DANH MỤC GIẢI THUẬT
Mã giả 1 Giải thuật xác định các điểm cực trị thông thường (nguồn [18][17]) 33
Mã giả 2 Giải thuật xác định các điểm cực trị quan trọng (nguồn [18]) 37
Mã giả 3 Giải thuật xác định tham số R 44
Mã giả 5 Giải thuật so trùng chuỗi con đề xuất sử dụng độ đo DTW 48
Mã giả 4 Giải thuật kết chuỗi con được đề nghị 48
Trang 14DANH MỤC BẢNG BIỂU
Bảng 1 Các loại dữ liệu thực nghiệm 49
Bảng 2 Giá trị tham số 𝑅 cho từng bộ dữ liệu 51
Bảng 3 Tổng hợp thời gian thực thi tìm kiếm chuỗi con 59
Bảng 4 So sánh giải thuật cửa sổ trượt từng điểm và cửa sổ trượt từng đoạn 60
Bảng 5 Tổng hợp tỷ lệ sai số giao hoán của phép kết chuỗi con 61
Trang 15CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
Phần đầu của chương điểm qua một số khái niệm cơ bản liên quan đến đề tài như: dữ liệu chuỗi thời gian, các đặc điểm và các bài toán liên quan đến dữ liệu chuỗi thời gian, bài toán kết chuỗi con trên dữ liệu chuỗi thời gian
Phần thứ hai giới thiệu sơ lược về mục tiêu và nội dung của đề tài Bên cạnh
đó, phần này cũng nêu lên những nội dung chính trong nghiên cứu và các kết quả đạt được của luận văn
Phần cuối chương sẽ giới thiệu sơ lược về nội dung chính trong từng chương của toàn bộ luận văn
1.1 KHAI PHÁ DỮ LIỆU CHUỖI THỜI GIAN
1.1.1 Dữ liệu lớn
Trong thời đại ngày nay, với sự ra đời và phát triển của máy tính và các thiết
bị kỹ thuật số có hỗ trợ thu thập dữ liệu, những dữ liệu mà con người dùng để phục
vụ cuộc sống của mình gần như đã được số hóa toàn bộ Chúng được chuyển thành các đối tượng dữ liệu có nghĩa và lưu trữ trong máy tính mà con người có thể dễ dàng truy vấn khi cần thiết Tuy nhiên, các loại dữ liệu ngày càng tăng nhanh tạo nên khối
lượng dữ liệu lớn (big data) Do đó, công tác khai phá dữ liệu (data mining) càng trở
nên quan trọng và thu hút được nhiều nghiên cứu trên thế giới nhằm đáp ứng yêu cầu
truy hồi thông tin (information retrieval) đúng lúc và đầy đủ khi cần thiết.
“Lấy mẫu ngẫu nhiên 4000 bức hình từ 15 tờ báo và tạp chí trên thế giới xuất bản trong giai đoạn 1974 – 1989 cho thấy có hơn 75% là các hình biểu diễn dữ liệu chuỗi thời gian.”
Theo khảo sát của tác giả Tufte, E R [13]
Trang 16Một trong những loại kể trên là dữ liệu chuỗi thời gian (time series data) Dữ
liệu chuỗi thời gian tồn tại trong nhiều ứng dụng thuộc nhiều lĩnh vực khác nhau như: kinh tế, tài chính, y tế, giáo dục, môi trường, địa lý, và sinh học, vân vân Việc hiểu
và dẫn xuất được thông tin ẩn trong các dữ liệu chuỗi thời gian có một ý nghĩa lớn
góp phần quyết định đến sự phát triển của lĩnh vực Do đó, khai phá dữ liệu chuỗi
thời gian (time series data mining) đóng vai trò quan trọng và nhận được sự quan tâm
từ rất nhiều nhà nghiên cứu trên thế giới Các bài toán liên quan đến dữ liệu chuỗi
thời gian có thể kể đến như: phân lớp, gom cụm, dự báo, phát hiện mô-típ, phát hiện
bất thường, khai phá luật kết hợp và nhiều bài toán cơ bản khác.
Trước khi giới thiệu đặc điểm và chi tiết về các bài toán phổ biến trên dữ liệu chuỗi thời gian, một số khái niệm quan trọng cần được định nghĩa
1.1.2 Dữ liệu chuỗi thời gian
Dữ liệu chuỗi thời gian1 𝑋 là một tập hợp nhiều mẫu dữ liệu (data samples), mỗi mẫu là một bộ (𝑇, 𝑉) biểu diễn các giá trị được ghi nhận từ một tín hiệu liên tục qua thời gian Trong đó, 𝑇 là thời điểm tiến hành quan sát, 𝑉 là giá trị quan sát Ký hiệu chuỗi thời gian có dạng:
𝑋 = ((𝑇1, 𝑉1), (𝑇2, 𝑉2), … , (𝑇𝑛, 𝑉𝑛)) Với 𝑛 là số lần đo đạt lấy mẫu, 𝑇𝑖+1 > 𝑇1, ∀𝑖 Phần tử 𝑋𝑖 là một véc-tơ trong không gian 𝑘 chiều có dạng:
𝑋𝑖 = (𝑥𝑖1, 𝑥𝑖2, … , 𝑥𝑖𝑘) Nếu 𝑘 = 1 thì 𝑋 được gọi là chuỗi thời gian đơn biến (uni-variate time
series) Dữ liệu loại này có thể là các giá trị về thị trường tài chính (giá chứng khoán,
tỷ giá hối đoái, tỷ lệ lãi suất), dữ liệu về y tế (tín hiệu điện tâm đồ hoặc điện não đồ của bệnh nhân), dữ liệu về giáo dục (số lượng sinh viên tốt nghiệp có việc làm qua các năm), thời tiết (lượng mưa, độ ẩm), năng lượng (nhu cầu điện năng), âm nhạc (tầng số âm thanh được tạo nên bởi các nốt nhạc), hoặc dữ liệu ghi nhận sự chuyển
động của một đối tượng qua thời gian Hình 1.1minh họa chuỗi thời gian đơn biến
1 Trong tài liệu này dữ liệu chuỗi thời gian được gọi ngắn gọn là chuỗi thời gian
Trang 17về giá chứng khoán trên thị trường của công ty Apple Inc2 với khoảng thời gian quan sát hơn sáu năm
Hình 1.1 Dữ liệu chuỗi thời gian đơn biến ghi nhận giá chứng khoán
Nếu 𝑘 > 1 thì 𝑋 được gọi là chuỗi thời gian đa biến (multi-variate time series) Dữ liệu loại này có thể tồn tại trong các ứng dụng ghi nhận vị trí hoặc sự chuyển động
của một đối tượng trong không gian 3 chiều Hình 1.2là dữ liệu chuỗi thời gian ghi nhận vị trí sự di chuyển của một đối tượng trong không gian ba chiều
Hình 1.2 Dữ liệu chuỗi thời gian đa biến ghi nhận vị trí
đối tượng trong không gian ba chiều (nguồn [16])
2 Nguồn: http://www.google.com/finance , từ khóa: Apple Inc
Trang 18Chuỗi thời gian đồng nhất
Nếu thời điểm xác định các giá trị 𝑉 trong 𝑋 là cách đều nhau thì chuỗi thời gian 𝑋 được gọi là đồng nhất (uniform) Khi đó, ứng dụng có thể không quan tâm
đến 𝑇 và xem 𝑋 như một véc-tơ giá trị (vector-valued) trong không gian 𝑘 ∗ 𝑛 chiều
và ký hiệu:
𝑇𝑖 = 𝑖 ∗ 𝑡 + 𝑇0Với 𝑇𝑜 là thời điểm bắt đầu lấy mẫu, 𝑡 là khoảng thời gian giữa hai lần lấy mẫu liền kề nhau Trong luận văn này, chúng tôi tập trung nghiên cứu chuỗi thời gian đơn biến đồng nhất Tức là, chuỗi thời gian 𝑋 được biểu diễn dưới dạng vec-tơ giá trị 𝑛 chiều (𝑘 = 1, 𝑡 cách đều nhau)
𝑋 = (𝑥1, 𝑥2, … , 𝑥𝑛)
Chuỗi con
Cho một chuỗi thời gian bất kỳ 𝑇 = (𝑡1, 𝑡2, … , 𝑡𝑛), chuỗi thời gian 𝑆 có độ dài
𝑚 ≤ 𝑛 được gọi là chuỗi con (subseries/subsequence) của 𝑇 nếu 𝑆 chứa những giá
trị liên tiếp sao cho:
𝑆 = (𝑡𝑘, 𝑡𝑘+1, … , 𝑡𝑘+𝑚−1), 1 ≤ 𝑘 ≤ 𝑛 − 𝑚 + 1 Tập hợp tất cả chuỗi con của 𝑇 có cùng độ dài 𝑚 được ký hiệu là 𝑆𝑇𝑚
Chuỗi đại diện
Với một chuỗi thời gian 𝑇 = (𝑡1, 𝑡2, … , 𝑡𝑛), một đại diện của chuỗi thời gian
𝑇 là mô hình 𝑇̅ thu giảm số chiều của 𝑇 từ 𝑛 về 𝑑 (𝑑 << 𝑛) sao cho 𝑇̅ là một xấp xỉ khít của 𝑇 [21]
Những vấn đề cần được quan tâm khi nghiên cứu về dữ liệu chuỗi thời gian:
Dữ liệu rất lớn: dữ liệu điện tâm đồ trong một giờ có thể lên đến 1 Gigabyte, dữ
liệu ghi nhận các truy cập trên một website khoảng 5 Gigabyte/1 tuần, dữ liệu thu thập trên tàu con thoi trong không gian lên đến 158 Gigabyte Theo dự đoán của
Trang 19công ty IBM dữ liệu sẽ tăng gấp 5 lần trong khoảng thời gian từ 2010 đến 20203, con số đó tại thời điểm 2020 xấp xỉ 35 ZB4
Phụ thuộc cách đánh giá độ tương tự: việc định nghĩa độ tương tự phụ thuộc vào
người dùng, nghĩa là có rất nhiều cách tính toán độ tương tự giữa hai đối tượng dữ liệu được đề nghị Tùy từng ứng dụng cụ thể sẽ có cách đo độ tương tự phù hợp nhất Ví dụ với không gian hình ảnh thì cách đánh giá theo hàm tính độ tương tự
Hausdorff là hiệu quả, với không gian chuỗi ký tự thì độ đo tương tự Edit (Edit
distance) là hiệu quả, với không gian R n thì độ đo Euclid (Euclidean distance) hay
độ đo Manhattan (Manhattan distance) được đánh giá là hiệu quả
Dữ liệu thường không đồng nhất: điều này là do các loại dữ liệu khác nhau về định
dạng, tần suất lấy mẫu khác nhau, dữ liệu bị nhiễu, thiếu một vài giá trị, dữ liệu không sạch
1.2 CÁC BÀI TOÁN LIÊN QUAN ĐẾN DỮ LIỆU CHUỖI THỜI GIAN
Phân lớp (Classification)
Cho trước một chuỗi thời gian 𝑄 chưa gán nhãn (unlabeled) và 𝑀 lớp, mỗi lớp chứa 𝑘 chuỗi thời gian có cùng một số đặc trưng nhất định dựa trên độ đo khoảng cách đã định nghĩa trước Bài toán phân lớp tiến hành phân loại chuỗi thời gian 𝑄 vào một trong số 𝑀 lớp đó [12][21] Trong bài toán này, các ứng dụng chủ yếu sử dụng các chuỗi thời gian đã thống kê trong quá khứ để phân loại dữ liệu tương lai
3 Thông tin này tác giả thu thập trong một tài liệu tập huấn của IBM được bảo mật nên không thể trích dẫn
4 ZB là đơn vị đo dung lượng bộ nhớ trong máy tính, đọc là Zettabyte, 1 ZB = 10^9 Terabyte = 10^21 Bytes
Trang 20 Phát hiện bất thường (novelty detection)
Bài toán này xác định các chuỗi con bất thường (unusual/ abnormal/
discord/novel) là chuỗi con khác nhất so với các chuỗi con khác trong chuỗi thời gian
Phát hiện mô típ (motif detection)
Bài toán này xác định các mô típ (mẫu lặp) là chuỗi con thường lặp lại nhiều nhất trong chuỗi thời gian
Ngoài các bài toán kể trên, ứng dụng khai phá dữ liệu chuỗi thời gian còn tồn tại
một số bài toán khác như: khai phá luật kết hợp (association rules mining), truy vấn
dựa trên nội dung (query by content)
Các bài toán vừa liệt kê đa phần sử dụng kết quả của bài toán tìm kiếm tương tự
so trùng mẫu con (subseries matching) để làm đầu vào phục vụ quá trình tính toán
Chẳng hạn, bài toán phát hiện mô-típ và bất thường dựa trên việc kết chuỗi con mà
nền tảng chính là so trùng chuỗi con [19]. Bài toán kết chuỗi con (subseries join)
chính là dạng tổng quát hơn của bài toán so trùng chuỗi con
So trùng toàn chuỗi (whole series matching)
Cho một chuỗi thời gian truy vấn 𝑄, một cơ sở dữ liệu chuỗi thời gian 𝑇, một độ
đo tương tự 𝐷(𝑄, 𝑇) Tập hợp tất cả chuỗi 𝑇𝑖 trong 𝑇 có cùng độ dài với 𝑄 thỏa điều kiện 𝐷(𝑇𝑖, 𝑄) ≤ 𝜀 thì 𝑇𝑖 và 𝑄 được gọi là so khớp toàn chuỗi Với 𝜀 là ngưỡng
(threshold) mà trong đó hai đối tượng dữ liệu được gọi là tương tự
So trùng chuỗi con (subseries/subsequence matching)
Cho một chuỗi thời gian truy vấn 𝑄, cơ sở dữ liệu chuỗi thời gian 𝑇, và độ đo tương tự 𝐷(𝑄, 𝑇) Bài toán so trùng chuỗi con trả về tập hợp chứa tất cả các chuỗi
𝑇𝑖,𝑘 là chuỗi con của chuỗi 𝑇𝑘, ∀𝑇𝑘 ∈ 𝑇 thỏa điều kiện 𝐷(𝑇𝑖,𝑘, 𝑄) < 𝜀 và không tồn tại một chuỗi con 𝑇𝑖,𝑘′ nào sao cho 𝑇𝑖,𝑘 là chuỗi con của 𝑇𝑖,𝑘′ thỏa 𝐷(𝑇𝑖,𝑘′ , 𝑄) < 𝜀 Định nghĩa so trùng chuỗi con cũng đã loại bỏ các chuỗi con dư thừa 𝑇𝑖,𝑘′ là sự lặp lại dài hơn của 𝑇𝑖,𝑘 vì với một chuỗi truy vấn 𝑄 có thể tồn tại nhiều hơn một chuỗi con 𝑇𝑖,𝑘 của 𝑇𝑘 thỏa điều kiện 𝐷(𝑇𝑖,𝑘, 𝑄) < 𝜀 Hình 1.3 đến Hình 1.6 minh họa ý
tưởng của bài toán so trùng chuỗi con và tìm kiếm tương tự
Trang 21Hình 1.3 So trùng toàn chuỗi
Hình 1.4 So trùng chuỗi con
Bài toán so trùng chuỗi thời gian dẫn đến thao tác tìm kiếm tương tự hai đối tượng
dữ liệu với độ đo tương tự (similarity measure) và ngưỡng tương tự cho trước
Tìm kiếm tương tự (similarity searching)
Tìm kiếm tương tự giữa hai đối tượng dữ liệu là quá trình dò tìm và đánh giá độ sai khác của đối tượng dữ liệu này với đối tượng dữ liệu còn lại Độ sai khác này
được tính dựa trên một hàm gọi là hàm khoảng cách (distance measure) Hai dạng
tìm kiếm phổ biến là tìm kiếm vùng và tìm kiếm k láng giềng gần nhất
Tìm kiếm vùng (range retrieval)
Với chuỗi thời truy vấn 𝑄 và bán kính truy vấn 𝑟 (r nguyên dương) Tìm kiếm
vùng duyệt trong cơ sở dữ liệu và trả về kết quả truy vấn chứa các đối tượng dữ liệu
𝑇𝑖 thỏa điều kiện 𝐷(𝑄, 𝑇𝑖) ≤ 𝑟 Với 𝐷 là hàm khoảng cách được định nghĩa trước
Tìm kiếm 𝒌 láng giềng gần nhất (k-Nearest Neibor retrieval)
Với câu truy vấn Q và giá trị k bất kỳ (k là số nguyên lớn hơn hoặc bằng 1) Tìm kiếm k láng giềng gần nhất sẽ duyệt trong cơ sở dữ liệu và trả về k đối tượng dữ liệu
Trang 22𝑇𝑖 có khoảng cách so với đối tượng truy vấn là bé nhất Với 𝐷 là hàm khoảng cách được định nghĩa trước
Hình 1.5 và Hình 1.6 minh họa ý tưởng tìm kiếm vùng và tìm kiếm k láng giềng
gần nhất Hai dạng tìm kiếm này có thể được chuyển đổi qua lại bằng cách điều chỉnh bán kính tìm kiếm 𝑟 hoặc chọn lựa nhiều giá trị 𝑘 khác nhau
Hình 1.5 Tìm kiếm vùng
Hình 1.6 Tìm kiếm k láng giềng gần nhất
Bài toán kết chuỗi con (subseries/ subsequence join) chính là dạng tổng quát
hơn của bài toán so trùng chuỗi con Luận văn này sẽ tập trung giải quyết bài toán kết chuỗi con thông qua thao tác căn bản là tìm kiếm tương tự so trùng chuỗi con
Trang 231.3 BÀI TOÁN KẾT CHUỖI CON TRÊN DỮ LIỆU CHUỖI THỜI GIAN
Cho trước hai cơ sở dữ liệu chuỗi thời gian 𝑋 và 𝑌 Bài toán kết chuỗi con trên dữ
liệu chuỗi thời gian trả về tập hợp chứa tất cả các cặp (𝑋𝑖,𝑘, 𝑌𝑗,𝑙) thỏa mãn đồng thời các điều kiện sau:
- 𝑋𝑖,𝑘 là chuỗi con của chuỗi 𝑋𝑘 với 𝑋𝑘 ∈ 𝑋 𝑌𝑗,𝑙 là chuỗi con của chuỗi 𝑌𝑙 với 𝑌𝑙 ∈ 𝑌 sao cho 𝐷(𝑋𝑖,𝑘, 𝑌𝑗,𝑙) < 𝜀
- Không tồn tại một chuỗi thời gian 𝑋𝑖,𝑘′ nào sao cho 𝑋𝑖,𝑘 là chuỗi con của 𝑋𝑖,𝑘′ , không tồn tại bất kỳ một chuỗi thời gian 𝑌𝑗,𝑙′ nào sao cho 𝑌𝑗,𝑙 là chuỗi con của 𝑌𝑗,𝑙′ thỏa mãn một trong các khoảng cách sau: 𝐷(𝑋𝑖,𝑘′ , 𝑌𝑗,𝑙′) < 𝜀, 𝐷(𝑋𝑖,𝑘′ , 𝑌𝑗,𝑙) < 𝜀, 𝐷(𝑋𝑖,𝑘, 𝑌𝑗,𝑙′) < 𝜀 Bài toán kết chuỗi con trên dữ liệu chuỗi thời gian đã ghi nhận nhiều nghiên cứu trong những năm gần đây Một trong những khó khăn lớn nhất khi giải quyết bài toán này là chi phí về không gian bộ nhớ lớn, và thời gian xử lý lâu nếu tiếp cận bằng
phương pháp cửa sổ trượt (sliding window) thuần túy
Hai cách tiếp cận phổ biến là thực hiện kết chuỗi con dựa trên dữ liệu đã được lập
chỉ mục (indexing) hoặc tiến hành kết trực tiếp bằng các giải thuật lặp lồng nhau (nested loop join) Hơn nữa, đa số các công trình nghiên cứu hiện nay chỉ giải quyết
trên dữ liệu ngoại tuyến (offline/static data) [16] Bài toán trở nên phức tạp hơn nếu
ứng dụng xử lý dữ liệu luồng (streaming data)
1.4 Ý NGHĨA BÀI TOÁN KẾT CHUỖI CON
Ý ngh̃a hhaa ḥc
- Bài toán kết chuỗi con là bài toán tổng quát hơn của so trùng chuỗi con Bài toán
so trùng chuỗi con là bài toán căn bản trong khai phá dữ liệu chuỗi thời gian nên
có nhiều ứng dụng có thể kể đến như gom cụm, phân lớp
- Thông qua thực nghiệm, ta có kết luận bài toán kết chuỗi con có tính giao hoán tương đối Việc này có ý nghĩa về mặt lý thuyết rằng: 𝑇1 ⋈ 𝑇2 = 𝑇2 ⋈ 𝑇1± 𝜀
Trang 24Ý ngh̃a thực tĩn
- Phát hiện đạo nhạc: như trường hợp ứng dụng muốn kiểm tra bài hát “Chắc ai đó
sẽ sớm quay lại thôi” của Sơn Tùng MTP có đạo nhạc so với bài hát gốc từ Hàn Quốc hay không Ứng dụng có thể mô hình hai bài hát thành hai chuỗi thời gian
𝑋 và 𝑌 Ta sẽ định nghĩa một độ đo tương tự 𝑑 và ngưỡng tương tự 𝜀 Nếu ứng dụng tìm được một đoạn nhạc (hoặc toàn bộ bài hát) của Sơn Tùng tương tự với một đoạn nhạc (hoặc toàn bộ) của bài hát gốc thì có nguy cơ đạo nhạc xảy ra
- Lĩnh vực tài chính tồn tại rất nhiều ứng dụng Trong đó có một ứng dụng có thể
mô ta như sau: dựa vào tỉ giá hối đoái của hai đồng tiền bất kỳ so với đồng đô la
Mỹ người ta có thể phát hiện những thời đoạn nào đồng tiền của quốc gia đó phụ thuộc vào đồng đô la Mỹ như sau: mã hóa các ngoại tệ dạng tỉ giá hối đoái so với đồng đô la Mỹ ta thu được các chuỗi thời gian Ứng dụng tiến hành kết chuỗi con trên các dữ liệu chuỗi thời gian thì tìm được các thời đoạn mà đồng tiền đó phụ thuộc vào đô la Mỹ Từ đó, phản ánh lại thực tế các chính sách của quốc gia để
đề xuất các quyết sách phù hợp trong tương lai
1.5 MỤC TIÊU VÀ NHIỆM VỤ CỦA ĐỀ TÀI
Đề tài tập trung vào các vấn đề chính sau:
Nghiên cứu độ đo xoắn thời gian động (Dynamic Time Warping) và các vấn đề có
liên quan đến độ đo này nhằm tăng tốc quá trình tính toán
Nghiên cứu về phương pháp xác định các điểm cực trị quan trọng (important
extrema) để phân đoạn chuỗi thời gian phục vụ quá trình kết chuỗi con
Kết hợp các nghiên cứu ở trên giải quyết bài toán kết chuỗi con trên dữ liệu chuỗi
thời gian (dạng ngoại tuyến - offline) dựa vào độ đo xoắn thời gian động với một
số cải tiến được đề xuất nhằm giảm độ phức tạp tính toán đồng thời tăng độ chính xác của tập dữ liệu kết quả sau khi kết chuỗi con
1.6 CÁC KẾT QUẢ ĐẠT ĐƯỢC
Tổng thuật về các công trình liên quan, đa phần các nghiên cứu tiếp cận bài
toán bằng cách phân đoạn (segmentating) chuỗi thời gian Sau đó, các công trình dựa
vào các đoạn tìm được thực hiện thao tác tìm kiếm chuỗi con tương tự Tuy nhiên,
Trang 25nhiều tác giả đề nghị những phương pháp phân đoạn và kết chuỗi thời gian quá cầu
kỳ, phức tạp với thời gian tính toán lâu Trong đề tài này, chúng tôi đề nghị hướng
tiếp cận mới cho bài toán bằng việc phân đoạn dựa vào các cực trị quan trọng
(important extreme points)
Về vấn đề phân đoạn chuỗi thời gian, luận văn sử dụng kỹ thuật xác định các
điểm cực trị quan trọng như đề cập trong công trình của Fink và Gandhi [18] Tuy
nhiên, chúng tôi đề xuất thêm một cải tiến mới là mô hình xác định tham số 𝑅 - đại lượng quan trọng để đánh giá một điểm là cực trị hay không Tham số 𝑅 được tính bằng hai lần độ lệch chuẩn lấy mẫu trong thống kê Số lượng mẫu tùy thuộc từng loại
dữ liệu Thực nghiệm cho thấy cách xác định 𝑅 là chính xác thậm chí các điểm cực trị tìm được khá hoàn chỉnh đối với các bộ dữ liệu có biên độ dao động mạnh Kết quả của quá trình này là chuỗi thời gian được cắt thành nhiều đoạn Mỗi đoạn có hai đầu mút là hai điểm cực trị liền kề nhau Các phân đoạn của chuỗi thời gian này là mẫu truy vấn 𝑄 trong quá trình tìm kiếm chuỗi con trên chuỗi thời gian còn lại
Về bài toán tìm kiếm tương tự, luận văn sử dụng giải thuật cửa sổ trượt dịch chuyển từng đoạn Ưu điểm của hướng tiếp cận này là không mắc lỗi tìm sót ứng viên Mặc dù tốn nhiều thời gian thực thi nhưng các kết quả thực nghiệm cho thấy giải thuật này có thể chấp nhận được trên các bộ dữ liệu đến hàng nghìn điểm với độ chính xác khá cao (dữ liệu Power_Italy chiều dài 45000 điểm mất khoảng hơn 2 giờ)
Ngoài ra, trong quá trình so trùng chuỗi con, độ tương tự được sử dụng là độ
đo xoắn thời gian động có bổ sung thêm kỹ thuật từ bỏ sớm khi khoảng cách tính được hiện tại đã vượt quá ngưỡng cho phép Đồng thời, ứng dụng cũng sử dụng ràng buộc Sakoe-Chiba nhằm tăng tốc quá trình tính toán và loại bớt việc xác định những đường xoắn không có ý nghĩa
1.7 BỐ CỤC LUẬN VĂN
Luận văn được bố cục theo các nội dung chính trong từng chương như sau:
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
Trang 26Chương này giới thiệu sợ lược các định nghĩa, các vấn đề có liên quan đến đề tài như: dữ liệu chuỗi thời gian (đặc điểm, ứng dụng, và các bài toán trên chuỗi thời gian), bài toán so trùng chuỗi con, bài toán kết chuỗi con, mục tiêu và giới hạn nghiên cứu của đề tài, tóm lược các kết quả đạt được, và phần cuối giới thiệu nội dung chính trong từng chương của toàn bộ luận văn
CHƯƠNG 2: CÁC CÔNG TRÌNH LIÊN QUAN
Chương này giới thiệu sơ lược một số nghiên cứu liên quan đến bài toán kết chuỗi con như: quá trình phân đoạn chuỗi thời gian, các điểm cực trị quan trọng, và một số nghiên cứu về độ đo tương tự Phần cuối chương giới thiệu phương pháp đề nghị kết chuỗi con dựa trên các cực trị quan trọng
CHƯƠNG 3: CƠ SỞ LÝ THUYẾT
Chương này trình bày chi tiết về các cơ sở lý thuyết được áp dụng trong đề tài như: độ đo xoắn thời gian động, các kỹ thuật từ bỏ sớm và ràng buộc Sakoe-Chiba trong độ đo xoắn thời gian động, các phương pháp xác định các điểm cực trị quan trọng giúp cho quá trình phân đoạn chuỗi thời gian
CHƯƠNG 4 : PHƯƠNG PHÁP ĐỀ NGHỊ
Chương này giới thiệu hướng tiếp cận của chúng tôi trong việc giải bài toán kết chuỗi con Đồng thời, chương này cũng giới thiệu tổng quan về ứng dụng, kiến trúc và các thành phần quan trọng của ứng dụng kết chuỗi con Một số giải thuật cũng được giới thiệu dưới dạng mã giả như: giải thuật xác định các điểm cực trị quan trọng, giải thuật kết chuỗi con sử dụng cửa sổ trượt dịch chuyển từng điểm, cửa sổ trượt dịch chuyển từng đoạn và giải thuật xác định tham số 𝑅 phục vụ cho quá trình xác định các cực trị quan trọng giúp phân đoạn chuỗi thời gian
CHƯƠNG 5: THỰC NGHIỆM
Chương này tiến hành một số loại thực nghiệm như: thực nghiệm về tính chính xác của các điểm cực trị quan trọng, thực nghiệm về kết quả bài toán so trùng chuỗi con, thực nghiệm so sánh hai giải thuật kết chuỗi con dựa trên cửa sổ trượt dịch chuyển từng điểm và cửa sổ trượt dịch chuyển từng đoạn, thực nghiệm kiểm chứng
Trang 27tính chất giao hoán tương đối của thao tác kết chuỗi con Một số kết luận và đề xuất của chúng tôi sẽ được nêu lên dựa trên các kết quả thực nghiệm
Trang 28CHƯƠNG 2 CÁC CÔNG TRÌNH LIÊN QUAN
Chương này giới thiệu sơ lược một số nghiên cứu liên quan như: độ đo tương
tự, và các công trình liên quan đến kết chuỗi con
Phần đầu chương nêu lên định nghĩa dạng tổng quát và một số thể hiện cụ thể của không gian độ đo Các độ đo được đề cập là độ đo Minkowski, phương pháp xoắn thời gian động, và phương pháp chuỗi con chung dài nhất
Phần kế đến trình bày tổng lược các công trình liên quan như ý tưởng phân đoạn chuỗi thời gian nhờ các điểm cực trị quan trọng, giải thuật kết chuỗi con trực tiếp, giải thuật kết chuỗi con dựa trên các phân đoạn không đồng nhất
Phần cuối chương sẽ giới thiệu phương pháp mà chúng tôi đề nghị để giải quyết bài toán kết chuỗi con trên dữ liệu chuỗi thời gian
2.1 CÁC CÔNG TRÌNH LIÊN QUAN ĐẾN ĐỘ ĐO TƯƠNG TỰ
Độ tương tự (similarity measure) của hai đối tượng dữ liệu là mức độ sai khác của đối tượng dữ liệu này với đối tượng dữ liệu còn lại Độ sai khác này được
tính dựa trên một hàm gọi là hàm khoảng cách (distance function) Đề tài này sử dụng
một giá trị số để biểu diễn độ sai khác của hai đối tượng dữ liệu mà cụ thể là độ đo xoắn thời gian động Trong bài toán truy vấn thông tin trên dữ liệu chuỗi thời gian,
đối tượng dữ liệu trong cơ sở dữ liệu được lưu trữ có độ sai khác bé nhất so với dữ
liệu truy vấn (queried data) sẽ được trả về tương ứng theo thứ tự tăng dần tùy thuộc
vào phạm vi giới hạn của câu truy vấn Có rất nhiều tác giả đề nghị nhiều độ đo tương
tự dựa trên các hàm khoảng cách khác nhau như: khoảng cách Euclid, khoảng cách
Manhattan, khoảng cách Hausdorff, khoảng cách Edit [23].Tùy theo từng loại ứng
dụng mà một hàm khoảng cách phù hợp sẽ được sử dụng Phần này giới thiệu một số nghiên cứu liên quan đến cách đánh giá độ đo tương tự
Trang 29Vấn đề quan trọng nhất của bài toán tìm kiếm tương tự là cách tính khoảng
cách của hai đối tượng O i , O j Trường hợp hai đối tượng giống nhau thì khoảng cách này sẽ là 0 và ngược lại chúng càng khác nhau thì khoảng cách càng lớn
Hàm khoảng cách giữa cách đối tượng nên thỏa các tính chất sau:
1 Tính phản xạ: 𝐷(𝑥, 𝑦) = 0 nếu và chỉ nếu 𝑥 = 𝑦
2 Tính đối xứng: 𝐷(𝑥, 𝑦) = 𝐷(𝑦, 𝑥)
3 Tính không âm: 𝐷(𝑥, 𝑦) ≥ 0, ∀ 𝑥, 𝑦
4 Tính bất đẳng thức trong tam giác: 𝐷(𝑥, 𝑦) < 𝐷(𝑥, 𝑧) + 𝐷(𝑦, 𝑧)
Độ đo tương tự giữ vai trò quan trọng trong bài toán so trùng trên dữ liệu chuỗi thời gian, đặc biệt là trong các mô hình có dùng trích xuất đặc trưng hay thu giảm số chiều Gọi 𝑋𝑓, 𝑌𝑓 là biểu diễn của 𝑋, 𝑌 sau khi trích xuất đặc trưng hay thu giảm số chiều, độ đo khoảng cách 𝐷 phải đảm bảo: 𝐷(𝑋𝑓, 𝑌𝑓) ≤ 𝐷(𝑋, 𝑌) Nghĩa là khoảng cách trên không gian đã rút trích đặc trưng hoặc thu giảm số chiều phải bé hơn khoảng cách giữa hai đối tượng dữ liệu ban đầu
Trong luận văn này, độ đo tương tự được định nghĩa trên hai chuỗi thời gian
có chiều dài không bằng nhau 𝑋, 𝑌 và được ký ℎ𝑖ệ𝑢 𝑆𝑖𝑚(𝑋, 𝑌) [1] Sau đây là những phương pháp đánh giá độ tương tự đã được một số tác giả đề nghị
2.1.1 Độ đo Minkowski
Hầu hết các công trình đều dựa trên độ đo này Khoảng cách Minkowski được
định nghĩa như sau:
Trang 30với các giá trị 𝑝 khác nhau Mỗi hình là tập hợp tất cả những điểm có cùng khoảng
cách so với điểm trung tâm [23]
Hình 2.1 Một số độ đo Minkowski phổ biến (nguồn [23])
Một số ưu điểm và nhược điểm của phương pháp này:
Ưu điểm
- Quá trình tính toán đơn giản và dễ dàng
- Phù hợp khi sử dụng các biến đổi DFT, DWT, PAA, APCA, SAX
Nhược điểm
- Nhạy cảm với nhiễu
- Không hiệu quả với dữ liệu được đo ở nhiều thang đo khác nhau
Để khắc phục những nhược điểm trên, nhiều tác giả đã đưa ra những phương pháp sau đây:
Das, G và các cộng sự (1997) [1] đề nghị nên chuẩn hóa dữ liệu chuỗi
thời gian trước khi áp dụng các giải thuật so trùng mẫu dựa trên giá trị trung bình và độ lệch chuẩn 𝑋’ = 𝑋 − 𝑚𝑒𝑎𝑛(𝑋) hoặc 𝑋’ = (𝑋 −
𝑚𝑒𝑎𝑛(𝑋)) / 𝑣𝑎𝑟(𝑋)
Rafiei, D và Mendelzon, A O (1998) [2] đề nghị sử dụng phương pháp
trung bình di chuyển (moving average) để làm trơn các đường biểu diễn
dữ liệu chuỗi thời gian theo công thức sau:
Trang 31𝑥𝑖 = ∑ 𝑥𝑗+𝑘⁄(2𝑘 + 1)
𝑘
𝑗= −𝑘
Chan, K và Fu, A W (1999) [3] đề nghị cách tính độ tương tự có sự thay
đổi dựa trên khoảng cách Euclid như sau:
𝑆𝑖𝑚(𝑋, 𝑌) = √∑((𝑦𝑖− 𝑥𝑖) − (𝑦𝐴 − 𝑥𝐴))2
Với 𝑥𝐴 =1𝑛∑𝑛−1𝑖=0 𝑥𝑖 , 𝑦𝐴 =𝑛1∑𝑛−1𝑖=0 𝑦𝑖
2.1.2 Phương pháp xoắn thời gian động (Dynamic Time Warping)
Phương pháp xoắn thời gian động tương tự cách tính khoảng cách Minkowski
nhưng thay vì so trùng hai đường biểu diễn dữ liệu bằng cách tính khoảng cách từng cặp điểm 1 − 1 (điểm thứ 𝑖 của chuỗi thứ nhất so với điểm thứ 𝑖 của chuỗi thứ hai)
thì một điểm có thể ánh xạ với nhiều điểm và ánh xạ này không tuyến tính Hình 2.2
minh họa cách ánh xạ điểm trong độ đo xoắn thời gian động so với độ đo Euclid
Cách tính khoảng cách xoắn thời gian động sẽ được trình bày chi tiết trong phần 3.1
Hình 2.2 Cách ánh xạ cặp điểm trong độ đo Euclid và độ đo DTW (nguồn [9])
Một số ưu điểm và nhược điểm của phương pháp này:
Ưu điểm
- Phương pháp DTW cho phép nhận dạng những mẫu có hình dạng giống
nhau nhưng chiều dài hình dạng về mặt thời gian có thể khác nhau
- Phương pháp DTW hiệu quả hơn rất nhiều so với phương pháp tính khoảng cách theo Euclid, đặc biệt trong bài toán phân lớp, gom cụm hay trong các các ứng dụng nhận dạng giọng nói (voice recognition)
Trang 32 Nhược điểm
- Nhược điểm lớn nhất của DTW là thời gian thực thi rất lâu, độ phức tạp
là 𝑂(𝑤𝑛), với 𝑤 là chiều dài cửa sổ xoắn, 𝑛 là chiều dài chuỗi
Để khắc phục nhược điểm trên, một số tác giả đã đưa ra những phương pháp
làm tăng tốc quá trình tính khoảng cách DTW trong những hoàn cảnh cụ thể như sau:
Sakoe, H và Chiba, S (1978) [7] đã đưa ra ràng buộc gọi là dải Chiaba Itakura, F (1975) [8] đã đưa ra ràng buộc hình bình hành Itakura,
Sakoe-đây là những ràng buộc đường xoắn khi tính khoảng cách xoắn thời gian
động Các ràng buộc này sẽ được trình bày chi tiết trong phần 3.2
Keogh, E và các cộng sự (2002) [9] đề xuất phương pháp tính chặn dưới
gọi là chặn dưới LB_Keogh Phương pháp này nhằm giải quyết vấn đề so sánh độ tương tự trong quá trình tìm kiếm Nếu giá trị của chặn dưới lớn hơn khoảng cách tốt nhất hiện tại thì ta không cần tính khoảng cách thực
Ratanamahatana, C A và Keogh, E (2012) [28] đề xuất kỹ thuật tăng tốc
độ tính khoảng cách xoắn thời gian động gọi là từ bỏ sớm (Early
Abandon) Trong quá trình tính khoảng cách xoắn thời gian động, nếu giá
trị đang tính đã lớn hơn khoảng cách tốt nhất hiện tại thì ứng dụng không
cần phải tính tiếp khoảng cách này Hình 2.3 minh họa việc từ bỏ sớm khi
tính khoảng cách xoắn thời gian động
Hình 2.3 Kỹ thuật từ bỏ sớm trong tính khoảng cách DTW (nguồn [28])
Kỹ thuật này sẽ được đề cập chi tiết hơn trong chương cơ sở lý thuyết
2.1.3 Phương pháp chuỗi con chung dài nhất
Trong phương pháp này, độ tương tự Sim(X, Y) được tính bằng chiều dài của
chuỗi con chung dài nhất (Longest Common Subsequence - LCS) Giải thuật chi tiết
Trang 33cho việc tìm LCS có thể được tìm thấy trong [1][4] Hình 2.4 mô tả ý tưởng của phương pháp chuỗi con chung dài nhất
Hình 2.4 Phương pháp chuỗi con chung dài nhất (nguồn [1])
Một số ưu điểm và nhược điểm của phương pháp chuỗi con chung dài nhất:
Ưu điểm: cho phép bỏ qua những điểm bất thường khi so sánh
Nhược điểm: phương pháp này yêu cầu phải chuẩn hóa dữ liệu ban đầu
thông qua các phép biến đổi như: tịnh tiến (shifting) đường căn bản hay
giãn biên độ (amplitude scaling) trước khi thực hiện giải thuật
2.2 CÁC CÔNG TRÌNH LIÊN QUAN ĐẾN KẾT CHUỖI CON
2.2.1 Phân đoạn chuỗi thời gian nhờ các điểm cực trị quan trọng
Tác giả Fink và các cộng sự [18], đề xuất giải thuật phân đoạn chuỗi thời gian
dựa vào các điểm cực trị quan trọng (important extreme points) Theo đó, các tác giả
định nghĩa điểm cực trị quan trọng nhờ một hàm tính khoảng cách 𝑑 = |𝑎𝑖 − 𝑏𝑖|, giá trị 𝑅 - khoảng giới hạn mà trong phạm vi đó một điểm 𝑎𝑖 được gọi là cực trị Kết quả
của quá trình phân đoạn được các tác giả sử dụng để thực hiện thao tác nén chuỗi thời
gian (time series compressing) Luận văn này sẽ sử dụng ý tưởng các điểm cực trị
quan trọng để phân đoạn chuỗi thời gian phục vụ cho bài toán kết chuỗi con Hình
Trang 34Hình 2.5 Các loại cực trị: nghiêm cách (hình bên trái), trái và phải (hình giữa),
và cực trị phẳng (hình bên phải) 2.2.2 Phương pháp kết chuỗi con trực tiếp (nested loop join)
Trong kỹ thuật này, chuỗi thời gian được kết trực tiếp bằng giải thuật lặp lồng nhau và thực hiện so trùng tất cả các chuỗi con có thể mà không thông qua bất kỳ giai đoạn lập chỉ mục hay một kỹ thuật nào khác Cách tiếp cận này bảo đảm tính đầy đủ
và tính đúng đắn của lời giải kết quả Tuy nhiên, khuyết điểm lớn nhất là giải thuật
kết trực tiếp đưa đến trường hợp vét cạn (brute-force) trên dữ liệu chuỗi thời gian
Do đó, phương pháp này, ngay cả trên dữ liệu ngoại tuyến, cũng không hiệu quả về
mặc không gian bộ nhớ cũng như về độ phức tạp tính toán [16]
2.2.3 Phương pháp kết chuỗi con trên dữ liệu đã lập chỉ mục (indexing)
Hướng tiếp cận này có thể kể đến các công trình liên quan như các phép kết
không gian (spatial join) [23][24][25][26][27] Trong đó, các nhóm tác giả đề xuất
lập chỉ mục không gian 𝑅 − 𝑇𝑟𝑒𝑒 và thực hiện thao tác kết chuỗi con hoặc thực hiện phép kết không gian trên dữ liệu đã được lập chỉ mục Tiếp tục phát triển hướng này,
tác giả Brinkhoff và cộng sự [24] đề xuất lập chỉ mục không gian R-Tree trên cơ sở
dữ liệu, sau đó tiến hành duyệt theo chiều sâu (depth-first-search) để tính khoảng
cách và nhận được các cặp đối tượng tương tự nhau tại nút lá của cây 𝑅 Tiếp sau đó,
trong công trình của mình, nhóm tác giả Huang và cộng sự [27] cũng đề xuất và chứng
minh được giải pháp cải tiến hiệu suất của phép kết không gian dựa trên kỹ thuật
duyệt theo chiều rộng (breadth-first-search) trên cây R Tuy nhiên, tất cả các hướng
tiếp cận lập chỉ mục dựa trên cây 𝑅 đều không thích ứng được với dữ liệu chuỗi thời
gian dạng luồng (streaming time series data) bởi vì chúng yêu cầu không gian bộ nhớ
lớn cho việc duy trì và xây dựng lại cấu trúc chỉ mục 𝑅 − 𝑇𝑟𝑒𝑒 Mà việc xây dựng lại cây 𝑅 tốn nhiều tài nguyên Do đó, chi phí truy vấn tốn kém trong ngữ cảnh này
Trang 352.2.4 Phương pháp kết chuỗi con dựa trên các phân đoạn không đồng nhất (non-uniform segment)
Phương pháp này được đề cập trong luận án tiến sĩ của tác giả Yi Lin, 2010
[16] Tác giả đề xuất mô hình kết chuỗi con trên dữ liệu chuỗi thời gian với sự hỗ trợ
của cấu trúc chỉ mục 𝑅 − 𝑇𝑟𝑒𝑒 sử dụng độ đo Euclid Đồng thời, tác giả kết hợp phương pháp phân đoạn và biểu diễn xấp xỉ chuỗi thời gian trước khi lập chỉ mục
Hình 2.6 mô tả tổng quan toàn bộ công trình của của Yi Lin.
Hình 2.6 Tổng quan về công trình của Yi Lin Nhánh bên phải là mô hình kết
chuỗi con dựa trên các phân đoạn không đồng nhất (nguồn [16])
Theo đó, chuỗi thời gian ban đầu sẽ được chuyển sang dạng mà tác giả gọi là
chuỗi đặc trưng có thứ bậc (hierarchial feature sequence) Để thu được chuỗi dạng
này, trước tiên chuỗi thời gian ban đầu phải thông qua một quá trình làm trơn để loại
bỏ nhiễu theo phương pháp Gauss Sau đó, dữ liệu đã được làm trơn sẽ được phân đoạn dựa vào các điểm gián đoạn được xác định thông qua việc giải phương trình 𝑓(𝑥) = 0 Trong đó, 𝑓(𝑥) là đạo hàm bậc hai của hàm 𝑔(𝑥) thu được từ quá trình làm mịn chuỗi thời gian bằng phương pháp Gauss Kết quả của quá trình này là những
phân đoạn có thứ bậc ổn định như Hình 2.7
Trang 36Hình 2.7 Cây thứ bậc của quá trình phân đoạn không đồng nhất (nguồn [16])
Mỗi đoạn sẽ được biểu diễn xấp xỉ thông qua một đa thức bao nhỏ nhất
(minimal polynomial envelope) và có thể kèm theo một số tham số dẫn xuất được
thêm vào để phản ánh các đặc trưng của phân đoạn đó Tác giả gọi đây là đa thức đặc
trưng (featured polynomial)
Sau khi được phân đoạn, các dữ liệu sẽ được lập chỉ mục không gian 𝑅 −𝑇𝑟𝑒𝑒 Công đoạn cuối là tiến hành thao tác kết chuỗi con trên các dữ liệu đã lập chỉ mục Kết quả của thao tác kết là một tập hợp chứa tất cả các chuỗi con tương tự nhau
từ hai chuỗi thời gian ban đầu với khoảng cách nhỏ hơn một ngưỡng cho trước Trong giai đoạn tinh chỉnh kết quả để tìm được chuỗi con dài nhất, tác giả sử dụng kỹ thuật
quy hoạch động (dynamic programming) Ngoài ra, công trình còn nghiên cứu về bài
toán nén dữ liệu chuỗi thời gian nhưng việc đó ngoài phạm vi đề tài này nên sẽ không nêu lên ở đây
Trang 37Tóm lại, hướng tiếp cận của Yi Lin làm cho các quá trình tính toán cầu kỳ, phức tạp dẫn đến khó khả thi cho các ứng dụng thực tế đặc biệt là ứng dụng về dữ liệu chuỗi thời gian với khối lượng dữ liệu lớn
2.2.5 Phương pháp đề nghị cho bài toán kết chuỗi con
Điểm qua các công trình liên quan, chúng tôi đề xuất hướng tiếp cận bài toán dùng kỹ thuật kết chuỗi con trên dữ liệu chuỗi thời gian dựa vào các phân đoạn là các điểm cực trị quan trọng Độ đo tương tự được sử dụng là độ đo xoắn thời gian động Theo đó, ứng dụng kết chuỗi con mà chúng tôi xây dựng thực hiện hai công đoạn lớn: phân đoạn chuỗi thời gian và kết chuỗi con nhờ vào bài toán so trùng chuỗi con trên các phân đoạn đã được xác định
Về phân đoạn chuỗi thời gian, luận văn sử dụng kỹ thuật xác định các điểm cực trị quan trọng như đề cập trong công trình của Fink và các cộng sự [17][18] Độ
phức tạp của thao tác này chỉ tốn 𝑂(𝑛), với 𝑛 là chiều dài chuỗi thời gian cần phân
đoạn Tuy nhiên, chúng tôi sẽ xuất thêm một cải tiến mới là mô hình xác định tham
số 𝑅 - đại lượng quan trọng để đánh giá một điểm là cực trị hay không Tham số 𝑅 được tính dựa vào đại lượng độ lệch chuẩn lấy mẫu trong lĩnh vực thống kê Số lượng mẫu tùy thuộc từng loại dữ liệu Thực nghiệm cho thấy cách xác định 𝑅 là chính xác
Kết quả của quá trình này là chuỗi thời gian được cắt thành nhiều đoạn (segment)
Mỗi đoạn có hai đầu mút là hai điểm cực trị liền kề nhau Các phân đoạn của chuỗi thời gian này giữ vai trò là mẫu truy vấn 𝑄 trong quá trình tìm kiếm chuỗi con tương
tự trên chuỗi thời gian còn lại
Về thao tác kết chuỗi con, chúng tôi giải quyết thông qua bài toán so trùng
chuỗi con Luận văn sử dụng giải thuật cửa sổ trượt (sliding Window) dịch chuyển
từng đoạn Ưu điểm của hướng tiếp cận này là không mắc lỗi tìm sót (false dismissal)
ứng viên Trong chương 4 chúng tôi sẽ giới thiệu chi tiết về hướng tiếp cận này Phần tiếp theo sẽ trình bày về cơ sở lý thuyết được sử dụng làm nền tảng của luận văn
Trang 38CHƯƠNG 3 CƠ SỞ LÝ THUYẾT
Phần đầu chương giới thiệu chi tiết về độ đo xoắn thời gian động và phương pháp xác định độ đo này Những kỹ thuật tăng tốc trong việc tính độ đo xoắn thời gian động như: ràng buộc Sakoe-Chiba, ràng buộc hình bình hành Itakura, và kỹ thuật
từ bỏ sớm cũng được đề cập
Phần thứ hai giới thiệu hướng tiếp cận phân đoạn chuỗi thời gian dựa vào các cực trị quan trọng Nhiều giải thuật chi tiết cũng được đề cập đến
Phần cuối chương nên lên phương pháp đề nghị cho bài toán kết chuỗi con
3.1 ĐỘ ĐO XOẮN THỜI GIAN ĐỘNG
Độ đo xoắn thời gian động (Dynamic Time Warping – DTW) được giới thiệu
lần đầu tiên cho bài toán nhận dạng giọng nói (voice recognition) [7] Đặc điểm chính
của DTW là ánh xạ không tuyến tính khi tính khoảng cách giữa giữa hai chuỗi thời
gian có độ dài khác nhau
Giả sử có hai chuỗi thời gian 𝑄 và 𝐶 có chiều dài lần lượt là 𝑛 và 𝑚 với:
𝑄 = 𝑞1, 𝑞2, … , 𝑞𝑖, … , 𝑞𝑛
𝐶 = 𝑐1, 𝑐2, … , 𝑐𝑗, … , 𝑐𝑚
Để 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
𝐷 có kích thước 𝑚 × 𝑛 gọi là ma trận xoắn (warping matrix) Trong đó, phần tử
𝐷𝑖𝑗 = 𝑑(𝑞𝑖, 𝑐𝑗) là khoảng cách giữa hai điểm 𝑞𝑖 và 𝑐𝑗 (với khoảng cách Euclid thì
𝑑(𝑞𝑖, 𝑐𝑗) = (𝑞𝑖– 𝑐𝑗)2) Ma trận này được minh họa trong Hình 3.1 Đườ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 𝑄 và 𝐶 Phần tử thứ 𝑘 của 𝑊 được định nghĩa là 𝑤𝑘 = (𝑖, 𝑗)𝑘, vì vậy ta có:
𝑊 = 𝑤1, 𝑤2, … , 𝑤3, … , 𝑤𝑘 với 𝑚𝑎𝑥(𝑛, 𝑚) ≤ 𝐾 ≤ 𝑚 + 𝑛– 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:
Trang 39Hình 3.1 Cách tính khoảng cách xoắn thời gian động A) Hai chuỗi thời gian 𝑸
và 𝑪 B) Ma trận tính DTW C) Kết quả ánh xạ điểm trong DTW (nguồn [7])
Đườ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) Công thức truy hồi cho khoảng cách tích lũy
(cumulative distance) 𝛾(𝑖, 𝑗) được định nghĩa như sau:
𝛾(𝑖, 𝑗) = 𝑑(𝑑𝑖, 𝑐𝑗) + 𝑚𝑖𝑛 {
𝛾(𝑖 − 1, 𝑗)𝛾(𝑖, 𝑗 − 1)𝛾(𝑖 − 1, 𝑗 − 1)
Trong đó, khoảng cách tích lũy 𝛾(𝑖, 𝑗) tại ô (𝑖, 𝑗) của ma trận được tính bằng
khoảng cách 𝑑(𝑖, 𝑗) 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 𝑄 và 𝐶 là căn bậc hai của khoảng cách tích lũy tại ô có chỉ số là (𝑚, 𝑛)
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ứ 𝑘 của 𝑊 được ràng buộc sao cho 𝑤𝑘 = (𝑖, 𝑗)𝑘, 𝑖 = 𝑗 = 𝑘
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
Trang 40Trong thực tế, ta không cần phải tính tất cả đường xoắn 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ạ với toàn bộ các điểm trong một chuỗi điện tâm đồ khác
là không hợp lý) 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 hiện biên: 𝑤1 = (1, 1) và 𝑤𝑘 = (𝑚, 𝑛), 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 xoắn
Tính liên tục: cho 𝑤𝑘 = (𝑎, 𝑏), thì 𝑤𝑘−1 = (𝑎′, 𝑏′) trong đó 𝑎– 𝑎′ ≤ 1 và
𝑏 − 𝑏’ ≤ 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 𝑤𝑘 = (𝑎, 𝑏), thì 𝑤𝑘−1 = (𝑎′, 𝑏′) với 𝑎– 𝑎′ ≥ 0
và 𝑏– 𝑏′ ≥ 0 Ràng buộc này yêu cầu các điểm trong 𝑊 phải tăng đơn điệu theo thời gian
Quá trình tính khoảng cách DTW được minh họa bằng ví dụ bên dưới Giả
sử ta có hai chuỗi thời gian như sau:
Q = (2, 3, 3, 6, 7, 5, 2, 1, 1, 2)
C = (1, 3, 3, 5, 8, 5, 1, 1, 1, 3)
Hai chuỗi này được biểu diễn thông qua đồ thị ở Hình 3.2
Hình 3.2 Đồ thị biểu diễn hai chuỗi thời gian