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

Kết hợp thu giảm số chiều và kỹ thuật lập trình đa luồng để tăng tốc gom cụm dữ liệu chuỗi thời gian với độ đo xoắn thời gian động

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

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
----------------------

TRẦN NHẬT TUẤN

KẾT HỢP THU GIẢM SỐ CHIỀU
VÀ KỸ THUẬT LẬP TRÌNH ĐA LUỒNG
ĐỂ TĂNG TỐC
GOM CỤM DỮ LIỆU CHUỖI THỜI GIAN
VỚI ĐỘ ĐO XOẮN THỜI GIAN ĐỘNG

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 07 năm 2017


ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
----------------------

TRẦN NHẬT TUẤN

KẾT HỢP THU GIẢM SỐ CHIỀU
VÀ KỸ THUẬT LẬP TRÌNH ĐA LUỒNG
ĐỂ TĂNG TỐC
GOM CỤM DỮ LIỆU CHUỖI THỜI GIAN
VỚI ĐỘ ĐO XOẮN THỜI GIAN ĐỘNG

Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60.48.01.01



LUẬN VĂN THẠC SĨ

PGS. TS. DƯƠNG TUẤN ANH

TP. HỒ CHÍ MINH, tháng 07 năm 2017


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 THÀNH PHỐ 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 : TS. PHẠM VĂN CHUNG ................................................

Cán bộ chấm nhận xét 2 : TS. LÊ VĂN QUỐC ANH ................................................

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 18 tháng 07 năm 2017.
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1. PGS. TS. QUẢN THÀNH THƠ (Chủ tịch) ...........................................................
2. TS. NGUYỄN AN KHƯƠNG (Thư ký) ................................................................
3. TS. PHẠM VĂN CHUNG (Phản biện 1)...............................................................
4. TS. LÊ VĂN QUỐC ANH (Phản biện 2) ..............................................................
5. TS. TRẦN TUẤN ANH (Ủy viên) ........................................................................
CHỦ TỊCH HỘI ĐỒNG

TRƯỞNG KHOA KH&KT MT



ĐẠI HỌC QUỐC GIA TP.HCM

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: TRẦN NHẬT TUẤN

MSHV: 1570236

Ngày, tháng, năm sinh: 02/06/1988

Nơi sinh: Nghệ An

Chuyên ngành: KHOA HỌC MÁY TÍNH

Mã số : 60480101

I. TÊN ĐỀ TÀI:
Kết hợp thu giảm số chiều và kỹ thuật lập trình đa luồng để tăng tốc gom cụm dữ liệu
chuỗi thời gian với độ đo xoắn thời gian động.
II. NHIỆM VỤ VÀ NỘI DUNG:
-

Tìm hiểu cách tính khoảng cách DTW.

-


Tìm hiểu phương pháp xấp xỉ gộp từng đoạn PAA để thu giảm số chiều và giải
thuật PDTW để tính độ đo DTW cho dữ liệu chuỗi thời gian đã thu giảm số chiều
bằng PAA.

-

Ứng dụng kỹ thuật lập trình đa luồng để tăng tốc việc tính tốn độ đo DTW.

-

Tìm hiểu giải thuật K-medoids cải tiến được dùng làm giải thuật gom cụm chính.

III. NGÀY GIAO NHIỆM VỤ: 16/01/2017
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 18/06/2017
V.

CÁN BỘ HƯỚNG DẪN: PGS. TS. DƯƠNG TUẤN ANH

CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)

Tp. HCM, ngày … tháng … năm ……
TRƯỞNG KHOA KH&KT MT
(Họ tên và chữ ký)


LỜI CÁM ƠN
Đầu tiên tôi xin được gửi lời cảm ơn tập thể các thầy cô của khoa Khoa học & Kỹ
thuật Máy tính trường Đại học Bách Khoa đã tận tình chỉ dạy và trang bị cho tơi

những kiến thức cần thiết đề làm nền tảng cho việc thực hiện luận văn cũng như
những kinh nghiệm quý báu để tôi vững tin hơn trong môi trường làm việc sau này.
Xin chân thành cảm ơn thầy Dương Tuấn Anh đã tận tình giúp đỡ, định hướng và
cung cấp ý tưởng cũng như tài liệu tham khảo trong thời gian tôi làm luận văn.
Ngồi ra, tơi xin được gửi lời cảm ơn chân thành đến gia đình và bạn bè - những
người luôn ở bên cạnh động viên tôi về vật chất lẫn tinh thần và hỗ trợ tơi hồn thành
luận văn này.


TÓM TẮT
Dữ liệu chuỗi thời gian đã trở nên rất cần thiết và phổ biến trong nhiều lĩnh vực ứng
dụng. Ý tưởng về việc thu thập và phân tích dữ liệu chuỗi thời gian đã có từ lâu. Tuy
nhiên, vẫn có những thách thức nhất định khi làm việc với dữ liệu chuỗi thời gian, cụ
thể là gom cụm dữ liệu, bài tốn đóng vai trị quan trọng trong rất nhiều ứng dụng dữ
liệu. Với nhiều trường hợp thì độ đo Euclid tỏ ra q cứng nhắc vì khơng thích nghi
được với những phép biến đổi như tịnh tiến, co giãn biên độ hay xoắn trục thời gian.
Hơn nữa, độ đo này đã được chứng minh là ít chính xác và thường cho kết quả không
mong muốn trong một số lĩnh vực ứng dụng như dữ liệu đa phương tiện. Sự ra đời
của độ đo xoắn thời gian động (DTW) đã góp phần giải quyết vấn đề trên bằng cách
cho phép ánh xạ các hình dạng tương tự nhau thậm chí khi các hình dạng đó khơng
cịn khớp về trục thời gian. Tuy độ đo DTW cho kết quả tốt hơn độ đo khoảng cách
Euclid trên gần như mọi bài tốn, nhưng lại thời gian tính tốn rất lâu. Vì vậy, một số
giải pháp được đưa ra để tăng tốc DTW.
Đề tài nghiên cứu này tập trung vào việc xây dựng chương trình gom cụm dữ liệu
dựa vào giải thuật K-medoids với độ đo xoắn thời gian động DTW, kết hợp kỹ thuật
thu giảm số chiều PAA và kỹ thuật lập trình đa luồng để tăng tốc thời gian gom cụm.
Đặc điểm nổi bật của phương pháp này là đánh đổi giữa thời gian thực thi và kết quả
đạt được. Kết quả thực nghiệm cho thấy chất lượng gom cụm vẫn tương đối chính
xác nhưng đã rút ngắn đáng kể về mặt thời gian.



ABSTRACT
Time series data have become a ubiquitous, necessary data source in many
application domains. About the idea of collecting and analyzing time series data, there
are still certain challenges in working with them, namely cluster analysis – which
plays an important role in a wide variety of data applications. In most cases, using
Euclidean dissimilarity for time series data is inelastic in regards to transformation
methods, such as shifting, scaling or time warping. Moreover, its result is not good
and unexpected in some application domains, for example, multimedia data. Dynamic
Time Warping, as a dissimilarity measure, overcomes the problem by mapping
analogous shapes, even those are not matched on time axis. Although being better
than Euclidean dissimilarity at quality of results in most of clustering problems, DTW
calculation takes a very long time to finish execution. Therefore, it requires
techniques to accelerate DTW calculation.
This study focuses on building clustering system based on K-medoids algorithm and
DTW distance, combining dimensionality reduction and multithreading technique to
speed up time series clustering. The outstanding feature of this method is the tradeoff
between execution time and clustering quality. Experimental results show that
clustering quality is acceptably accurate, while taking significantly less time to
execute.


LỜI CAM ĐOAN
Tôi xin cam đoan các kết quả báo cáo trong luận văn này và chương trình là sản phẩm
do cơng sức lao động của chính tơi thực hiện, khơng có sự sao chép từ những cơng
trình nào khác, ngoại trừ những kết quả từ các cơng trình khác đã ghi rõ trong luận
văn. Tất cả các kiến thức tôi học hỏi được từ những tài liệu tham khảo đều được trích
dẫn nguồn đầy đủ. Nếu có bất cứ sai phạm nào so với lời cam đoan, tôi xin chịu các
hình thức xử lý theo quy định.



MỤC LỤC
GIỚI THIỆU ĐỀ TÀI .......................................................................... 1
1.1

Dữ liệu chuỗi thời gian và vấn đề khai phá dữ liệu chuỗi thời gian ............. 1

1.1.1

Khai phá dữ liệu .................................................................................. 1

1.1.2

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

1.1.3

Khai phá dữ liệu chuỗi thời gian .......................................................... 2

1.2

Bài toán gom cụm trong dữ liệu chuỗi thời gian ......................................... 3

1.3

Mục tiêu ..................................................................................................... 7

1.4

Phương pháp nghiên cứu ............................................................................ 8


1.5

Ý nghĩa của luận văn .................................................................................. 8

1.6

Những kết quả đạt được của luận văn ......................................................... 9

1.7

Nội dung chính của luận văn .................................................................... 10
CƠ SỞ LÝ THUYẾT ......................................................................... 11

2.1

Các độ đo khoảng cách chuỗi thời gian..................................................... 11

2.1.1

Các độ đo trong không gian Euclid .................................................... 11

2.1.2

Độ đo xoắn thời gian động ................................................................. 12

2.2

Các giải thuật gom cụm dữ liệu thường dùng ........................................... 16


2.2.1

Giải thuật K-means ............................................................................ 17

2.2.2

Giải thuật K-medoids ......................................................................... 18

2.3

Các phương pháp thu giảm số chiều dựa vào đặc trưng ............................ 20

2.3.1

Các phương pháp biến đổi sang miền tần số....................................... 20

2.3.2

Các phương pháp xấp xỉ tuyến tính từng đoạn ................................... 22

2.4

Các tiêu chí đánh giá chất lượng gom cụm ............................................... 23
CÁC CƠNG TRÌNH NGHIÊN CỨU LIÊN QUAN ......................... 26

3.1

Cách biểu diễn xấp xỉ gộp từng đoạn (PAA) ............................................. 26



3.2

Độ đo xoắn thời gian động với biểu diễn dữ liệu đã thu giảm số chiều bằng

PAA 28
3.3

Giải thuật gom cụm K-medoids cải tiến .................................................... 29

3.4

Kỹ thuật lập trình đa luồng để tăng tốc tính tốn độ đo DTW ................... 30
HỆ THỐNG GOM CỤM DỮ LIỆU CHUỖI THỜI GIAN ............. 34

4.1

Đặt vấn đề ................................................................................................ 34

4.2

Hướng giải quyết ...................................................................................... 35

4.2.1

Kỹ thuật tính khoảng cách PDTW...................................................... 35

4.2.2

Kỹ thuật khởi tạo trung tâm cụm của giải thuật K-medoids cải tiến ... 37


4.2.3

Kỹ thuật lập trình đa luồng................................................................. 39

4.3

Kiến trúc chi tiết hệ thống ........................................................................ 41

4.3.1

Module giao diện người dùng ............................................................ 42

4.3.2

Module xử lý chuỗi thời gian ............................................................. 43

4.3.3

Module gom cụm dữ liệu ................................................................... 44

4.3.4

Module đánh giá kết quả gom cụm .................................................... 45

4.3.5

Module trực quan hóa dữ liệu và kết quả ........................................... 45
THỰC NGHIỆM................................................................................ 47

5.1


Giới thiệu tập dữ liệu mẫu ........................................................................ 47

5.2

Đánh giá thời gian thực thi của kỹ thuật lập trình đa luồng ....................... 49

5.3

Đánh giá chất lượng gom cụm và thời gian thực thi của hệ thống ............. 51

5.3.1

Tập dữ liệu Face Four ........................................................................ 52

5.3.2

Tập dữ liệu Trace ............................................................................... 53

5.3.3

Tập dữ liệu CBF ................................................................................ 55

5.3.4

Tập dữ liệu Heterogeneous ................................................................ 56

5.3.5

Tập dữ liệu CC .................................................................................. 58


5.3.6

Tập dữ liệu Inline Skate ..................................................................... 60

5.4

Kết luận .................................................................................................... 62


GIẢI THUẬT GOM CỤM DỰA VÀO CÁC ĐỈNH MẬT ĐỘ ........ 63
6.1

Giới thiệu giải thuật .................................................................................. 63

6.2

Chi tiết giải thuật ...................................................................................... 64

6.3

Hiện thực giải thuật gom cụm dựa vào các đỉnh mật độ trong hệ thống .... 66

6.3.1

Tính tốn mật độ cục bộ 𝝆 ................................................................. 66

6.3.2

Tính tốn khoảng cách 𝜹 .................................................................... 66


6.3.3

Lựa chọn trung tâm cụm .................................................................... 67

6.3.4

Gán các đối tượng vào các cụm ......................................................... 67

6.4

Thực nghiệm ............................................................................................ 67

6.4.1

So sánh thời gian thực thi của giải thuật Density Peaks với giải thuật

K-medoids cải tiến ......................................................................................... 67
6.4.2

Thực nghiệm giải thuật gom cụm Density Peaks với các tập dữ liệu .. 68

6.4.3

So sánh chất lượng gom cụm của giải thuật Density Peaks với giải

thuật K-medoids cải tiến ................................................................................. 70
6.5

Kết luận .................................................................................................... 73

KẾT LUẬN ........................................................................................ 74

7.1

Tổng kết ................................................................................................... 74

7.2

Những đóng góp của đề tài ....................................................................... 74

7.3

Hướng phát triển ...................................................................................... 75

TÀI LIỆU THAM KHẢO ................................................................................... 76


DANH SÁCH HÌNH VẼ
Hình 1.1 Minh họa đường biểu diễn dữ liệu chuỗi thời gian chứng khốn ............... 2
Hình 1.2 Minh họa quá trình gom cụm dữ liệu chuỗi thời gian ................................ 4
Hình 1.3 Minh họa gom cụm chuỗi thời gian dùng độ đo khoảng cách Euclid (trái)
và độ đo DTW (phải) ............................................................................................... 6
Hình 2.1 (a) Tính khoảng cách theo Euclid và (b) tính khoảng cách theo DTW ..... 12
Hình 2.2 Ma trận xoắn và đường xoắn tối ưu [10] ................................................. 13
Hình 2.3 Đồ thị biểu diễn hai chuỗi thời gian ........................................................ 15
Hình 2.4 Ma trận xoắn tính DTW cho hai chuỗi thời gian...................................... 16
Hình 2.5 Quá trình gom cụm dùng K-means [11] .................................................. 18
Hình 2.6 Các trường hợp thay thế của giải thuật K-medoids [11]........................... 19
Hình 2.7 Minh họa cách biến đổi dữ liệu theo các phương pháp DFT, DWT [30] .. 21
Hình 3.1 Minh họa cho kỹ thuật thu giảm số chiều dữ liệu .................................... 27

Hình 3.2 Chuỗi X và xấp xỉ PAA của nó X' ........................................................... 27
Hình 3.3 Hai chuỗi thời gian tương tự và sắp xếp khoảng cách xoắn giữa chúng.
Hình trên là sắp xếp bởi DTW. Hình dưới là sắp xếp PDTW trên biểu diễn thu giảm
số chiều PAA của chúng. ....................................................................................... 29
Hình 3.4 Minh họa kỹ thuật cải tiến tốc độ tính tốn DTW .................................... 31
Hình 4.1 Lưu đồ giải thuật cho phương thức tính PAA .......................................... 35
Hình 4.2 Lưu đồ giải thuật K-medoids cải tiến ...................................................... 37
Hình 4.3 Hệ thống gom cụm dữ liệu chuỗi thời gian .............................................. 41
Hình 4.4 Giao diện chính của chương trình............................................................ 42
Hình 4.5 Giao diện thể hiện kết quả gom cụm ....................................................... 45
Hình 4.6 Giao diện trực quan hóa dữ liệu .............................................................. 46
Hình 4.7 Giao diện trực quan hóa kết quả gom cụm .............................................. 46
Hình 5.1 Hình minh họa tập dữ liệu Heterogeneous............................................... 48
Hình 5.2 Biểu đồ so sánh thời gian thực thi gom cụm giữa việc có áp dụng và khơng
áp dụng kỹ thuật lập trình đa luồng ........................................................................ 50
Hình 5.3 Hình minh họa tập dữ liệu Face Four ...................................................... 52
Hình 5.4 Đồ thị thời gian và chất lượng gom cụm trên tập Face Four .................... 53
Hình 5.5 Hình minh họa tập dữ liệu Trace ............................................................. 53
Hình 5.6 Đồ thị thời gian và chất lượng gom cụm trên tập Trace ........................... 54


Hình 5.7 Hình minh họa tập dữ liệu CBF............................................................... 55
Hình 5.8 Đồ thị thời gian và chất lượng gom cụm trên tập CBF ............................ 56
Hình 5.9 Hình minh họa tập dữ liệu Heterogeneous............................................... 56
Hình 5.10 Đồ thị thời gian và chất lượng gom cụm trên tập Heterogeneous ........... 57
Hình 5.11 Hình minh họa tập dữ liệu CC ............................................................... 58
Hình 5.12 Đồ thị thời gian và chất lượng gom cụm trên tập CC ............................. 59
Hình 5.13 Hình minh họa tập dữ liệu Inline Skate ................................................. 60
Hình 5.14 Đồ thị thời gian và chất lượng gom cụm trên tập Inline Skate ............... 61
Hình 6.1 Giải thuật trong khơng gian hai chiều (A) Phân bố điểm (B) Đồ thị quyết

định dữ liệu trong A .............................................................................................. 65
Hình 6.2 Một số ví dụ kết quả gom cụm các đỉnh mật độ ...................................... 65
Hình 6.3 Đồ thị thời gian và chất lượng gom cụm trên tập Trace ........................... 69
Hình 6.4 Đồ thị thời gian và chất lượng gom cụm trên tập Heterogeneous............. 70
Hình 6.5 Đồ thị so sánh thời gian và chất lượng gom cụm của 2 giải thuật trên tập
Trace ..................................................................................................................... 72
Hình 6.6 Đồ thị so sánh thời gian và chất lượng gom cụm của 2 giải thuật trên tập
Heterogeneous ....................................................................................................... 73


DANH SÁCH BẢNG
Bảng 5.1 Bảng so sánh thời gian thực thi gom cụm giữa việc có áp dụng và khơng
áp dụng kỹ thuật lập trình đa luồng (đơn vị thời gian: giây) ................................... 50
Bảng 5.2 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập Face Four . 52
Bảng 5.3 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập Trace ........ 54
Bảng 5.4 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập CBF .......... 55
Bảng 5.5 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập
Heterogeneous ....................................................................................................... 57
Bảng 5.6 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập CC ............ 58
Bảng 5.7 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập Inline Skate
.............................................................................................................................. 61
Bảng 6.1 Bảng so sánh thời gian thực thi (đơn vị: ms) của hai giải thuật K-medoids
cải tiến và Density Peaks ....................................................................................... 68
Bảng 6.2 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập Trace ........ 69
Bảng 6.3 Bảng thời gian (đơn vị: ms) và chất lượng gom cụm trên tập
Heterogeneous ....................................................................................................... 70
Bảng 6.4 Bảng so sánh thời gian (đơn vị: ms) và chất lượng gom cụm của 2 giải
thuật trên tập Trace ................................................................................................ 71
Bảng 6.5 Bảng so sánh thời gian (đơn vị: ms) và chất lượng gom cụm của 2 giải
thuật trên tập Heterogeneous ................................................................................. 72



Giới thiệu đề tài

GIỚI THIỆU ĐỀ TÀI

1.1 Dữ liệu chuỗi thời gian và vấn đề khai phá dữ liệu chuỗi thời gian
1.1.1 Khai phá dữ liệu
Khai phá dữ liệu là:
-

một q trình trích xuất tri thức từ lượng lớn dữ liệu

-

một q trình khơng dễ (non-trivial) trích xuất thơng tin ẩn, hữu ích, chưa được
biết trước từ dữ liệu

Các tác vụ khai phá dữ liệu: khai phá mô tả lớp/khái niệm (đặc trưng hóa và phân
biệt hóa dữ liệu) - description, khai phá luật kết hợp/tương quan - association rule,
phân loại/lớp dữ liệu - classification, dự báo - prediction, gom cụm dữ liệu - clustering,
phân tích xu hướng - trend analysis, phân tích độ lệch và phần tử ngoại biên - outlier,
phân tích độ tương tự - similarity analysis,…
Trong số các tác vụ trên, gom cụm là quá trình gom nhóm (cụm) dữ liệu hoặc đối
tượng. Các đối tượng trong cùng một cụm tương tự với nhau hơn so với đối tượng ở
các cụm khác. Đại diện hoặc mô tả của các cụm tạo thành được sử dụng trong các bài
toán ra quyết định như classification, prediction, outlier detection.
1.1.2 Dữ liệu chuỗi thời gian
Dữ liệu chuỗi thời gian (time series) là tập hợp các quan sát tuần tự theo thời gian [1].
Dữ liệu này có thể là hai chiều hay nhiều chiều nhưng phải có một chiều là thời gian.

Chúng phổ biến rộng khắp trong đời sống. Các số liệu được đo đạc như tỷ lệ ủng hộ
ứng viên tổng thống Mỹ, đo huyết áp, lượng mưa hàng năm ở Brazil, giá trị cổ phiếu
Yahoo, lượng truy cập web mỗi giây,… thay đổi liên tục theo thời gian. Một đường
biểu diễn dữ liệu chuỗi thời gian chứng khoán được minh họa ở Hình 1.1. Do đó, có
thể nói dữ liệu chuỗi thời gian xuất hiện thực tế trong nhiều lĩnh vực như tin sinh học,
người máy, y học, hóa học, nhận dạng cử chỉ, khí tượng học, thiên văn học, sinh trắc
học, tài chính, sản xuất,… Một mẫu 4000 ảnh được lấy ngẫu nhiên từ 15 tờ báo xuất

1


Giới thiệu đề tài

bản từ 1974 tới 1989 cho thấy hơn 75% là các hình ảnh biểu diễn dữ liệu chuỗi thời
gian.
Tuy nhiên, có những thách thức nhất định khi làm việc với dữ liệu chuỗi thời gian.
Thứ nhất, làm thế nào để làm việc với những cơ sở dữ liệu rất lớn? Một số ví dụ như
dữ liệu điện tâm đồ trong 1 giờ là 1GB, weblog điển hình là 5GB mỗi tuần, cơ sở dữ
liệu tàu con thoi khơng gian là 158GB và tiếp tục tăng,… Vì hầu hết dữ liệu được lưu
trên đĩa (disk), chúng ta cần một biểu diễn dữ liệu để có thể thao tác hiệu quả. Thách
thức tiếp theo là cách đánh giá độ tương tự giữa các dữ liệu chuỗi thời gian lại tùy
thuộc vào người dùng, lĩnh vực và tác vụ nhất thời. Tính chất chủ quan này cần phải
có thể được xử lý. Cuối cùng là vấn đề xử lý dữ liệu hỗn tạp, có định dạng dữ liệu
khác nhau, tần số lấy mẫu khác nhau, bị nhiễu và thiếu giá trị,…
29

28

27


26

25

24

23

0

50

100

150

200

250

300

350

400

450

500


Hình 1.1 Minh họa đường biểu diễn dữ liệu chuỗi thời gian
chứng khoán

1.1.3 Khai phá dữ liệu chuỗi thời gian
Gần tương tự như khai phá dữ liệu trong trường hợp tổng quát, các tác vụ chính trong
khai phá dữ liệu chuỗi thời gian [2] bao gồm:

2


Giới thiệu đề tài

-

So trùng (indexing): Tên gọi khác là truy vấn bằng nội dung (query by content).
Cho trước một chuỗi thời gian Q, và độ đo tương tự/sai biệt D(Q,C) nào đó, tìm
chuỗi thời gian tương tự nhất trong cơ sở dữ liệu DB.

-

Gom cụm (clustering): Tìm các phân nhóm tự nhiên của những chuỗi thời gian
trong cơ sở dữ liệu DB dựa vào độ đo tương tự/sai biệt D(Q,C) nào đó.

-

Phân lớp (classification): Cho trước một chuỗi thời gian Q chưa đánh nhãn, gán
nó vào một trong hai hoặc nhiều lớp đã được định nghĩa trước.

-


Dự báo (prediction hay forecasting): Cho trước một chuỗi thời gian Q chứa n điểm
dữ liệu, dự đoán giá trị tại thời điểm n + 1.

-

Tổng kết (summarization): Cho trước một chuỗi thời gian Q chứa n điểm dữ liệu
với n là một số rất lớn, tạo một xấp xỉ (có thể minh họa bằng đồ thị) của Q mà có
thể giữ lại những đặc trưng chủ yếu của nó, nhưng vừa một trang đơn, màn hình
máy tính, v.v…

-

Phát hiện bất thường (anomaly detection): Tên gọi khác là dị tìm điểm đáng chú
ý (interestingness detection). Cho trước một chuỗi thời gian bình thường Q, và
một chuỗi thời gian khơng chú thích R, tìm tất cả các phần của R có chứa các mẫu
bất thường (xuất hiện mà không được mong đợi).

-

Phân đoạn (segmentation): Tên gọi khác là phát hiện thay đổi (change detection).
(a) Cho trước một chuỗi thời gian Q chứa n điểm dữ liệu, xây dựng một mẫu Q’,
từ K phân đoạn (K << n), sao cho Q’ gần xấp xỉ với Q. (b) Cho trước một chuỗi
thời gian Q, phân hoạch nó thành K phần đồng đều.

-

Phát hiện mơ típ (motif discovery): Phát hiện mơ típ về cốt lõi là việc tìm tất cả
mọi chuỗi con (gọi là mơ típ) mà xuất hiện lặp lại trong một chuỗi thời gian dài
hơn [3].


1.2 Bài toán gom cụm trong dữ liệu chuỗi thời gian
Gom cụm dữ liệu chuỗi thời gian là một tiến trình rất quan trọng trong q trình cơ
đọng và tổng quát hóa dữ liệu. Gom cụm tương tự như phân lớp ở chỗ phân loại dữ
liệu vào các nhóm. Tuy nhiên, các nhóm này khơng được định nghĩa trước, mà được

3


Giới thiệu đề tài

định nghĩa bằng bản thân dữ liệu, dựa trên sự tương tự giữa các chuỗi thời gian. Gom
cụm thường được xem như việc học không giám sát, dựa trên việc quyết định sự
tương tự giữa các dữ liệu ở một số thuộc tính định nghĩa trước. Những dữ liệu tương
tự nhau nhất được nhóm vào các cụm, nhưng các cụm đó phải rất khác biệt nhau.
Hai phương pháp tổng quát cho gom cụm dữ liệu chuỗi thời gian là gom cụm phân
hoạch và gom cụm phân cấp. Gom cụm phân cấp tính khoảng cách theo cặp, và sau
đó trộn các cụm tương tự từ dưới lên, khơng cần biết trước số lượng cụm. Đây là một
trong những công cụ tốt nhất để đánh giá dữ liệu, bằng cách tạo một biểu đồ nhánh
của vài chuỗi thời gian từ miền được quan tâm. Tuy nhiên, ứng dụng của nó chỉ giới
hạn ở các tập dữ liệu nhỏ do độ phức tạp tính tốn bậc hai. Hình 1.2 minh họa một ví
dụ cho phương pháp gom cụm này.

Hình 1.2 Minh họa quá trình gom cụm dữ liệu chuỗi thời gian

Các phương pháp phân hoạch đặt lại vị trí cho đối tượng bằng cách di chuyển chúng
từ cụm này tới cụm khác, bắt đầu từ một phân hoạch khởi tạo. Các giải thuật tối thiểu
hóa sai số là một trong số các phương pháp phân hoạch. Các giải thuật này được sử
dụng thường xuyên nhất, có xu hướng làm việc tốt với các cụm đặc và cô lập. Ý
tưởng cơ bản của chúng là tìm các cấu trúc gom cụm mà tối thiểu hóa một tiêu chuẩn
sai số (đo khoảng cách giữa đối tượng và giá trị thể hiện của cụm) nào đó. Tiêu chuẩn

nổi tiếng nhất là tổng bình phương sai số (Sum of Squared Error), đo tổng bình
phương khoảng cách Euclid giữa các đối tượng tới các giá trị thể hiện của chúng. Giải

4


Giới thiệu đề tài

thuật đơn giản và thường dùng nhất, sử dụng tiêu chuẩn bình phương sai số là giải
thuật K-means. Giải thuật này phân hoạch dữ liệu vào K cụm (C1,C2,...,CK), thể hiện
bằng các trung tâm cụm. Trung tâm của mỗi cụm được tính bằng giá trị trung bình
(mean) tất cả các đối tượng thuộc về cụm đó. Độ phức tạp tuyến tính là một trong các
nguyên nhân dẫn tới sự phổ biến của các giải thuật K-means. Dù cho số lượng đối
tượng rất lớn, kết quả tính tốn của giải thuật này là rất ấn tượng. Do đó, K-means có
lợi thế khi so sánh với các giải thuật gom cụm khác (ví dụ như gom cụm phân cấp)
có độ phức tạp phi tuyến. Các lý do khác cho sự phổ biến của giải thuật này là tính
dễ hiểu, hiện thực đơn giản, tốc độ hội tụ nhanh và khả năng đáp ứng với dữ liệu thưa
thớt. Một giải thuật phân hoạch khác cũng sử dụng ý tưởng tối thiểu hóa SSE là giải
thuật K-medoids. Giải thuật này rất giống K-means, chỉ khác là mỗi cụm của Kmedoids được thể hiện bằng đối tượng gần trung tâm nhất (medoid) trong cụm, thay
vì một giá trị trung bình ngầm định có thể khơng thuộc về cụm đó như của K-means.
Phương pháp K-medoids trội hơn giải thuật K-means khi dữ liệu có sự tồn tại của
nhiễu và các phần tử biên vì một medoid ít bị ảnh hưởng bởi các phần tử biên hay các
giá trị cực trị so với một mean. Tuy nhiên, q trình của K-medoids địi hỏi chi phí
cao hơn phương pháp K-means.
Tìm kiếm tương tự (similarity search) là công tác căn bản nhất để khai thác những cơ
sở dữ liệu chuỗi thời gian. Bài tốn tìm kiếm tương tự là thành phần căn bản trong
nhiều công tác khai phá dữ liệu chuỗi thời gian cao cấp hơn như gom cụm, phân lớp,
tìm mơ típ, phát hiện mẫu bất thường, khám phá luật kết hợp và trực quan hóa dữ liệu.
Đã có nhiều độ đo tương tự đã được sử dụng. Việc chọn một độ đo tương tự là tùy
thuộc rất nhiều vào miền ứng dụng và trong nhiều trường hợp thì một độ đo thuộc

chuẩn Lp đơn giản như độ đo Euclid là đủ tốt để dùng. Tuy nhiên trong nhiều trường
hợp thì độ đo Euclid tỏ ra q cứng nhắc vì khơng thích nghi được với những phép
biến đổi như tịnh tiến (shifting), co giãn biên độ (scaling) hay xoắn trục thời gian
(time warping). Hơn nữa, độ đo này đã được chứng minh là ít chính xác và thường
cho kết quả không mong muốn trong một số lĩnh vực ứng dụng như dữ liệu đa phương
tiện. Nhiều phương pháp tìm kiếm tương tự mới hơn dựa vào những độ đo tương tự

5


Giới thiệu đề tài

mềm dẻo và vững chắc hơn như độ đo xoắn thời gian động (Dynamic Time Warping
- DTW), độ đo chuỗi con chung dài nhất (Longest Common Subsequence - LCS). Sự
ra đời của DTW đã góp phần giải quyết vấn đề trên bằng cách cho phép ánh xạ các
hình dạng tương tự nhau thậm chí khi các hình dạng đó khơng cịn khớp về trục thời
gian. Hình 1.3 minh họa cho sự khác nhau giữa gom cụm chuỗi thời gian dùng độ đo
Euclid và gom cụm chuỗi thời gian dùng độ đo DTW.

Hình 1.3 Minh họa gom cụm chuỗi thời gian dùng độ đo khoảng cách Euclid (trái) và
độ đo DTW (phải)

Tuy độ đo DTW cho kết quả tốt hơn độ đo khoảng cách Euclid trên gần như mọi bài
tốn, nhưng lại thời gian tính tốn rất lâu. Vì vậy, một số giải pháp được đưa ra để
tăng tốc DTW, bao gồm:
-

Sử dụng các ràng buộc (constraint): giới hạn số các ô được đánh giá trong ma trận
chi phí, qua đó DTW tìm thấy đường xoắn tối ưu qua cửa sổ ràng buộc.


-

Rút trích đặc trưng: tăng tốc giải thuật DTW bằng cách thao tác trên biểu diễn dữ
liệu đã thu giảm độ lớn sau khi áp dụng một số phương pháp biến đổi, gọi là những
kỹ thuật thu giảm số chiều (dimensionality reduction).

Nhu cầu sử dụng kỹ thuật thu giảm số chiều xuất phát từ việc dữ liệu chuỗi thời gian
thường cực kỳ lớn và do đó tìm kiếm trực tiếp trên những dữ liệu này sẽ rất phức tạp

6


Giới thiệu đề tài

và không hữu hiệu. Việc thu giảm số chiều của dữ liệu dẫn tới biểu diễn dữ liệu chuỗi
thời gian thành các dạng khác. Sau đó, ta sẽ xây dựng các giải thuật tính tốn, phân
tích trên các dạng biểu diễn này.
Có ba nhóm phương pháp chính để thu giảm số chiều là:
-

Các phương pháp biến đổi sang miền tần số: gồm có biến đổi Fourier rời rạc
(discrete Fourier transform - DFT), biến đổi wavelet rời rạc (discrete wavelet
transform - DWT).

-

Các phương pháp xấp xỉ tuyến tính từng đoạn: gồm có xấp xỉ tuyến tính từng đoạn
(piecewise linear approximation - PLA), xấp xỉ gộp từng đoạn (piecewise
aggregate approximation - PAA), xấp xỉ hằng số từng đoạn thích nghi (adaptive
piecewise constant approximation - APCA).


-

Các phương pháp điểm quan trọng: gồm có điểm mốc (landmark), điểm cực trị
(extrema), điểm PIP (perceptually important points).

PAA được chọn lựa làm phương pháp thu giảm số chiều cho luận văn này, và theo
đó là việc xây dựng giải thuật tính tốn DTW trên biểu diễn dữ liệu đã được thu giảm
số chiều (Piecewise Dynamic Time Warping - PDTW) [5]. Kỹ thuật này tận dụng
việc chúng ta có thể xấp xỉ một cách hiệu quả hầu hết chuỗi thời gian bằng phương
pháp PAA. Kỹ thuật này giúp tăng tốc DTW một hằng số lớn. Giá trị hằng số phụ
thuộc vào dữ liệu nhưng điển hình là từ hàng chục đến hàng trăm lần.
Để giúp tăng tốc độ tính tốn ma trận xoắn DTW, qua đó tăng tốc giải thuật DTW về
tổng thể, kỹ thuật lập trình đa luồng (multithreading) cũng được sử dụng, dựa trên ý
tưởng mỗi ô trong ma trận xoắn của hai chuỗi bất kỳ là một tác vụ tính tốn và phụ
thuộc vào kết quả tính tốn của ơ phía trên và ơ phía bên trái của tác vụ này. Việc áp
dụng kỹ thuật này vẫn có thể đảm bảo tính tốn được khoảng cách DTW chính xác
như cách tính DTW cổ điển, với thời gian tính tốn được rút ngắn lại.
1.3 Mục tiêu
Mục tiêu nghiên cứu của đề tài này trên cơ sở dữ liệu chuỗi thời gian là xây dựng hệ
thống gom cụm dữ liệu dựa vào giải thuật gom cụm K-medoids cải tiến với độ đo

7


Giới thiệu đề tài

xoắn thời gian động DTW, kết hợp kỹ thuật thu giảm số chiều PAA và kỹ thuật lập
trình đa luồng, với các vấn đề chính sau:
-


Tìm hiểu cách tính khoảng cách DTW: ưu điểm của DTW đó là độ chính xác cao
so với các độ đo Euclid, nhưng cách tính tốn phức tạp và chậm. Do đó, đề tài sẽ
tìm hiểu các phương pháp tính khoảng cách DTW.

-

Tìm hiểu phương pháp xấp xỉ gộp từng đoạn PAA để thu giảm số chiều và giải
thuật PDTW để tính độ đo DTW cho dữ liệu chuỗi thời gian đã thu giảm số chiều
bằng PAA.

-

Ứng dụng kỹ thuật lập trình đa luồng để tăng tốc việc tính tốn độ đo DTW.

-

Tìm hiểu giải thuật K-medoids cải tiến [24] sẽ được dùng làm giải thuật gom cụm
chính trong đề tài.

-

Tìm hiểu giải thuật gom cụm dựa vào các điểm cực đại mật độ (density peaks) và
so sánh hiệu quả của giải thuật này với giải thuật K-medoids cải tiến nói trên.

1.4 Phương pháp nghiên cứu
Các phương pháp sẽ được sử dụng trong q trình nghiên cứu:
-

Phương pháp phân tích và tổng hợp lý thuyết

o Tìm hiểu về dữ liệu chuỗi thời gian và gom cụm dữ liệu chuỗi thời gian
o Tìm hiểu các vấn đề liên quan tới tăng tốc gom cụm dữ liệu chuỗi thời
gian
o Tìm hiểu độ đo xoắn thời gian động DTW
o Tìm hiểu kỹ thuật thu giảm số chiều và kỹ thuật lập trình đa luồng

-

Phương pháp hiện thực hóa áp dụng những kiến thức đã tìm hiểu

-

Phương pháp thu thập dữ liệu để tìm kiếm một số tập dữ liệu mẫu

-

Phương pháp thực nghiệm và đánh giá để kiểm tra độ hiệu quả của giải pháp đề
xuất trên một số tập dữ liệu mẫu

1.5 Ý nghĩa của luận văn
Hiện nay có một số giải pháp để tăng tốc gom cụm dữ liệu với độ đo DTW, ví dụ như
sử dụng các ràng buộc. Tuy nhiên, có một số bất lợi trong việc sử dụng ràng buộc là

8


Giới thiệu đề tài

khơng thể tìm thấy đường xoắn nếu nó khơng hồn tồn nằm trong cửa sổ hay chỉ
làm việc tốt trong những lĩnh vực mà chuỗi thời gian có sự thay đổi nhỏ về mặt thời

gian.
Luận văn đi theo một cách tiếp cận khác. Dựa trên ý tưởng của Keogh và Pazzani [5]
về việc tăng tốc DTW cho các ứng dụng khai phá dữ liệu chuỗi thời gian, thực hiện
gom cụm dữ liệu bằng K-medoids cải tiến với độ đo DTW trên biểu diễn dữ liệu đã
được thu giảm số chiều, chúng tôi đề xuất hiện thực giải thuật này, kết hợp với kỹ
thuật lập trình đa luồng để tăng tốc độ tính tốn.
1.6 Những kết quả đạt được của luận văn
Sau một thời gian nghiên cứu và hiện thực, chúng tôi đã đạt được các kết quả tích
cực, đó là:
-

Xây dựng được hệ thống gom cụm dữ liệu chuỗi thời gian với độ đo xoắn thời
gian động sử dụng kết hợp kỹ thuật lập trình đa luồng và kỹ thuật thu giảm số
chiều PAA, rút ngắn nhiều lần thời gian thực thi gom cụm mà ít gây ảnh hưởng
tới chất lượng gom cụm.

-

Vận dụng và hiện thực một kỹ thuật khởi tạo trung tâm cụm, nòng cốt của giải
thuật gom cụm K-medoids cải tiến đề xuất bởi Park và Jun [24], nhằm rút ngắn
thời gian tính tốn so với các giải thuật K-medoids thông thường.

-

Vận dụng được kỹ thuật lập trình đa luồng và xử lý song song tác vụ để giảm thời
gian tính tốn khoảng cách DTW nhưng vẫn cho kết quả tuyệt đối chính xác như
phương pháp cổ điển.

-


Đề xuất áp dụng giải thuật gom cụm dựa vào các đỉnh mật độ như một giải pháp
thay thế cho các giải thuật K-medoids trong một số trường hợp.

-

Cho phép người dùng tùy biến nhiều thông số chương trình: có áp dụng kỹ thuật
đa luồng hay khơng, chuẩn hóa dữ liệu, các tùy chọn liên quan tới PAA, chọn lựa
giải thuật gom cụm, số cụm dữ liệu.

9


Giới thiệu đề tài

-

Kết quả thực nghiệm trên các bộ dữ liệu mẫu cho thấy hệ thống đã đáp ứng được
tiêu chí rút ngắn đáng kể thời gian thực thi mà vẫn đảm bảo chất lượng gom cụm
chuỗi thời gian với độ đo xoắn thời gian động.

Như vậy, hệ thống này về cơ bản đã đáp ứng được các yêu cầu của bài tốn đặt ra.
Chúng tơi sẽ trình bày chi tiết về hệ thống ở các phần sau.
1.7 Nội dung chính của luận văn
Chương 1, giới thiệu vấn đề.
Chương 2, các cơ sở lý thuyết sử dụng trong nghiên cứu này, bao gồm các lý thuyết
về độ đo khoảng cách của chuỗi thời gian, các kỹ thuật về gom cụm dữ liệu thường
và dữ liệu chuỗi thời gian, cùng với các phương pháp thu giảm số chiều.
Chương 3, các cơng trình nghiên cứu liên quan.
Chương 4, nội dung chi tiết thiết kế và hiện thực hệ thống gom cụm kết hợp kỹ thuật
thu giảm số chiều và lập trình đa luồng.

Chương 5, các kết quả thực nghiệm đạt được, đánh giá chất lượng gom cụm của hệ
thống và thời gian chạy của giải thuật.
Chương 6, bổ sung phần lý thuyết, hiện thực và thực nghiệm cho giải thuật gom cụm
dựa vào các đỉnh mật độ.
Chương 7, kết luận, đóng góp của đề tài và hướng phát triển trong tương lai.

10


Cơ sở lý thuyết

CƠ SỞ LÝ THUYẾT
Trong chương này chúng tơi sẽ trình bày các khái niệm được sử dụng trong đề tài này
như là giải thuật tính độ đo xoắn thời gian động, các giải thuật gom cụm dữ liệu thông
thường và dữ liệu chuỗi thời gian cũng như giới thiệu về cách xác định số cụm k tối
ưu nhất trong giải thuật gom cụm K-medoids và các phương pháp đánh giá chất lượng
gom cụm dữ liệu, cùng với các phương pháp thu giảm số chiều.
2.1 Các độ đo khoảng cách chuỗi thời gian
Các bài tốn tìm kiếm mẫu, phân loại hay gom cụm dữ liệu chuỗi thời gian đều sử
dụng kiểu dữ liệu mà ở đó được biểu diễn thành một chuỗi các số thực. Vì vậy, để
giải quyết các bài toán này ta phải sử dụng các độ đo khoảng cách giữa các cặp chuỗi
thời gian với nhau. Giả sử ta có hai chuỗi thời gian 𝑄 và 𝐶 với các độ dài n và m
tương ứng là 𝑄 = 𝑞1 , 𝑞2 , … , 𝑞𝑖 , … , 𝑞𝑛 và 𝐶 = 𝑐1 , 𝑐2 , … , 𝑐𝑗 , … , 𝑐𝑚. Ta cần phải xác định
độ đo khoảng cách 𝐷𝑖𝑠𝑡 (𝑄, 𝐶 ) của hai chuỗi thời gian này.
2.1.1 Các độ đo trong khơng gian Euclid
Hiện nay, có rất nhiều độ đo khoảng cách đã được sử dụng cho gom cụm dữ liệu
chuỗi thời gian tùy thuộc vào từng miền ứng dụng và trong đó các độ đo trong khơng
gian Euclid là đủ khả năng để giải quyết bài toán này. Tuy nhiên, vì sự thiếu linh hoạt
để áp dụng trong các kỹ thuật biến đổi như tịnh tiến (shifting), kéo dãn (stretching)
hay co lại (contracting) trên trục thời gian nên các độ đo này ngày càng trở nên thiếu

chính xác [6]. Sau đây, chúng tôi sẽ giới thiệu một vài độ đo trong không gian Euclid.
Độ đo Euclid: 𝐷𝑖𝑠𝑡 (𝑄, 𝐶 ) = 2√∑𝑛𝑖=1(|𝑞𝑖 − 𝑐𝑖 |)2
Độ đo Manhattan: 𝐷𝑖𝑠𝑡(𝑄, 𝐶 ) = ∑𝑛𝑖=1(|𝑞𝑖 − 𝑐𝑖 |)
𝑝

Độ đo Minkowski: 𝐷𝑖𝑠𝑡 (𝑄, 𝐶 ) = √∑𝑛𝑖=1(|𝑞𝑖 − 𝑐𝑖 |)𝑝 𝑣ớ𝑖 𝑝 ≥ 1
𝑝

𝑛
|𝑞𝑖 − 𝑐𝑖 |
Độ đo Chebyshev: 𝐷𝑖𝑠𝑡 (𝑄, 𝐶 ) = lim √∑𝑛𝑖=1(|𝑞𝑖 − 𝑐𝑖 |)𝑝 = 𝑚𝑎𝑥𝑖=1
𝑝→∞

11


×