Tinh thần chính của hướng tiếp cận là cải tiến một số điểm trong giải thuật của công trình nghiên cứu trên và bổ sung giải pháp gia tăng theo chiều dọc cho cơ sở dữ liệu chuỗi thời gian
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA -
Trang 2Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1 PGS.TS Dương Tuấn Anh (Chủ tịch hội đồng)
2 PGS.TS Quản Thành Thơ (Phản biện 1)
3 PGS.TS Lê Hoài Bắc (Phản biện 2)
4 TS Trần Tuấn Anh (Thư ký)
5 TS Nguyễn Đức Dũng (Ủy viê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ó)
PGS.TS Dương Tuấn Anh
Trang 33
ĐẠ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Ĩ
I TÊN ĐỀ TÀI: Khai phá gia tăng mẫu phổ biến trong cơ sở dữ liệu chuỗi thời gian
II NHIỆM VỤ VÀ NỘI DUNG:
1 Tìm hiểu về dữ liệu chuỗi thời gian, những kỹ thuật khai phá gia tăng mẫu phổ biến trên cơ sở dữ liệu chuỗi thời gian và các công trình nghiên cứu liên quan
2 Tìm hiểu về cơ sở lý thuyết của đề tài, làm cơ sở khoa học cho việc đánh giá kết quả đạt được của luận văn
3 Tìm kiếm và chuẩn bị bộ dữ liệu thực nghiệm
4 Mô tả quá trình khai phá gia tăng mẫu phổ biến trên cơ sở dữ liệu chuỗi thời gian, những phương pháp tiếp cận và tiến hành thực nghiệm
5 Thực hiện đánh giá kết quả có được từ thực nghiệm và phân tích
III NGÀY GIAO NHIỆM VỤ: 06/02/2017
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 18/06/2017
Trang 44
LỜI CẢM ƠN
Tôi kính gởi lời cảm ơn vô cùng trân trọng và sâu sắc tới TS Võ Thị Ngọc Châu Cảm
ơn cô đã dành thời gian hướng dẫn vô cùng tận tình và tạo mọi cơ hội, mọi sự hỗ trợ để giúp tôi có thể hoàn thành đề tài luận văn và mục tiêu nghiên cứu của mình về nội dung, cũng như
về phương pháp trong suốt quá trình thực hiện đề tài
Tôi cũng xin được gởi lời cảm ơn tới quý thầy cô lãnh đạo trường Đại học Bách Khoa TP.HCM, quý thầy cô khoa Khoa học và kĩ thuật máy tính đã tạo những điều kiện, cung cấp môi trường nghiên cứu, học tập tốt nhất và những kiến thức quý báu giúp tôi thực hiện đề tài này
Trang 55
TÓM TẮT LUẬN VĂN
Hiện nay, dữ liệu chuỗi thời gian, cũng như các bài toán khai phá nguồn dữ liệu này, đang ngày một trở nên phổ biến, được quan tâm, nghiên cứu và xuất hiện trong nhiều ứng dụng thuộc nhiều lĩnh vực khác nhau Đặc biệt, với tính chất của một cơ sở
dữ liệu nói chung, của cơ sở dữ liệu chuỗi thời gian nói riêng, việc dữ liệu gia tăng theo thời gian là một điều tất yếu Điều này, góp phần ảnh hưởng khá lớn đến kết quả mà các
cá nhân hay tổ chức sẽ nhận được trong quá trình khai phá dữ liệu chuỗi thời gian phục
vụ cho các vấn đề khác nhau, đặc biệt là vấn đề dự báo Vì vậy, bài toán Khai phá gia
tăng mẫu phổ biến trong cơ sở dữ liệu chuỗi thời gian là một bài toán quan trọng mà
chúng tôi đặc biệt quan tâm nghiên cứu
Ý tưởng tiếp cận dựa trên nội dung của công trình nghiên cứu Incremental
Mining for Frequent Patterns in Evolving Time Series Datatabase năm 2008 Tinh thần
chính của hướng tiếp cận là cải tiến một số điểm trong giải thuật của công trình nghiên cứu trên và bổ sung giải pháp gia tăng theo chiều dọc cho cơ sở dữ liệu chuỗi thời gian
Ngoài ra, sau quá trình thực nghiệm với bài toán đã đề ra, luận văn có thêm phần thực nghiệm đối với phương pháp Brute-Force, để có sự so sánh và đánh giá về hiệu quả của giải thuật gia tăng trong hướng tiếp cận chính
Trang 66
ABSTRACT
At present, time series data, as well as data mining problems, are becoming more and more popular, researched and appearing in many applications Specially, with the nature of a database in general, the time series database in particular, the increment in data over time is inevitability This, in turn, greatly influences the result that individuals
or organizations will receive during the time series data mining process serving a variety of issues, especially forecasting Therefore, the Incremental Mining for Frequent Patterns in Time Series Datatabase is an important problem that we are particularly interested in studying in this paper
The idea of the proposed approach is based on the content of the paper
Incremental Mining for Frequent Patterns in Evolving Time Series Datatabase in year
2008 The main spirit of the approach is to improve the algorithms in that paper by adding a vertical increase solution for time series database when new time series arrive
Besides, after the experimental evaluation with the main proposed approach, the paper will work with Brute-Force algorithm too, for comparing and have more evaluation of the main incremental mining algorithm
Trang 77
LỜI CAM ĐOAN
Tôi xin 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 bằng cấp ở trường này hoặc trường khác
Ngày 18 tháng 7 năm 2017
Trần Ngọc Như Quỳnh
Trang 88
MỤC LỤC
DANH MỤC HÌNH 11
DANH MỤC BẢNG 12
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 13
1.1 Giới thiệu vấn đề 13
1.2 Mục tiêu đề tài 13
1.3 Ý nghĩa đề tài 14
1.4 Cấu trúc luận văn 15
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 16
2.1 Dữ liệu chuỗi thời gian 16
2.1.1 Chuỗi thời gian (Time Series) 16
2.1.2 Chuỗi con 16
2.1.3 Trùng khớp 17
2.2 Một số bài toán khai phá mẫu phổ biến trong cơ sở dữ liệu chuỗi thời gian 18
2.2.1 Bài toán khai phá mẫu phổ biến 18
2.2.2 Bài toán khai phá mẫu phổ biến gia tăng 18
2.3 Khai phá mẫu tuần tự phổ biến 19
2.3.1 Định nghĩa 19
2.3.2 Một số khái niệm thường gặp trong khai phá mẫu tuần tự phổ biến 19
2.4 Một số kỹ thuật khai phá mẫu phổ biến 20
2.4.1 Giải thuật Apriori 20
2.4.2 Giải thuật FP-Growth 21
CHƯƠNG 3: CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN 22
3.1 Một số kỹ thuật thu giảm số chiều dữ liệu chuỗi thời gian 22
3.1.1 Kỹ thuật PAA (Piecewise Aggregate Approximation) 22
3.1.2 Kỹ thuật PLA (Piecewise Linear Approximation) 23
3.1.3 Kỹ thuật PCA (Principal Component Analysis) 24
Trang 99
3.2 Rời rạc hóa chuỗi thời gian 24
3.2.1 Kỹ thuật SAX (Symbolic Aggregate Approximation) 24
3.2.2 Kỹ thuật ESAX 25
3.3 Tìm kiếm tương tự trên cơ sở dữ liệu chuỗi thời gian 26
3.3.1 Độ đo tương tự 26
3.3.2 So trùng toàn bộ và so trùng chuỗi con 27
3.4 Một số kỹ thuật khai phá mẫu tuần tự phổ biến 28
3.4.1 Giải thuật GSP (Generalized Sequential Patterns) 28
3.4.2 Giải thuật SPADE 28
3.4.3 Giải thuật PrefixSpan 29
3.5 Một số kỹ thuật khai phá mẫu tuần tự phổ biến gia tăng 29
3.5.1 Giải thuật ISM 29
3.5.2 Giải thuật IncSpan 30
3.5.3 Giải thuật IncSP 30
3.6 Bài toán khai phá mẫu phổ biến gia tăng trên cơ sở dữ liệu chuỗi thời gian 31
CHƯƠNG 4: HƯỚNG TIẾP CẬN GIẢI QUYẾT VẤN ĐỀ 33
4.1 Giới thiệu 33
4.2 Cách thức tiếp cận và cải tiến giải thuật Optimizied-Join 37
4.2.1 Một số điều chỉnh dựa trên giải thuật Optimizied-Join gốc 39
4.2.2 Ý tưởng cải tiến giải thuật để khai phá gia tăng theo chiều dọc 54
4.3 Môi trường giả lập cho các trường hợp gia tăng dữ liệu 56
CHƯƠNG 5: THỰC NGHIỆM 59
5.1 Tổng quan 59
5.2 Tiền xử lý dữ liệu 60
5.3 Dữ liệu thực nghiệm 61
5.4 Mô tả thực nghiệm 63
5.4.1 Thực nghiệm về gia tăng dữ liệu theo chiều ngang 64
5.4.2 Thực nghiệm về gia tăng dữ liệu theo chiều dọc 70
5.5 Đánh giá chung 71
CHƯƠNG 6: KẾT LUẬN 75
Trang 1010
6.1 Tổng kết 756.2 Vấn đề tồn tại và hướng phát triển 76
TÀI LIỆU THAM KHẢO 77
Trang 1111
DANH MỤC HÌNH
Hình 2.1 Ví dụ về chuỗi thời gian (time series) [14] 16
Hình 2.2 Ví dụ về chuỗi con C của chuỗi thời gian T [16] 17
Hình 2.3 Giải thuật Apriori [17] 21
Hình 3.1 Kỹ thuật thu giảm số chiều PAA [5] 23
Hình 3.2 Kỹ thuật thu giảm số chiều PLA [6] 23
Hình 3.3 Kỹ thuật rời rạc hóa chuỗi thời gian – SAX [5] 24
Hình 3.4 Kỹ thuật rời rạc hóa ESAX [7] 25
Hình 3.5 Tính khoảng cách Euclid [1] 26
Hình 3.6 Tính khoảng cách theo DTW [1] 27
Hình 4.1 Khai phá không gia tăng và Khai phá gia tăng [18] 34
Hình 4.2 Minh họa các trường hợp gia tăng dữ liệu của Cơ sở dữ liệu chuỗi thời gian (gia tăng theo chiều ngang và chiều dọc) 36
Hình 4.3 Mô phỏng giải pháp đầu tiên cho môi trường gia tăng dữ liệu theo chiều dọc39 Hình 4.4 Mã giả Hàm countingProcedure được điều chỉnh 44
Hình 4.5 Mã giả hàm Merge-Join được điều chỉnh 49
Hình 4.6 Bảng Compressed_CFP 50
Hình 5.1 Bộ dữ liệu 1 – Tổng số ca sinh nở ở California năm 1959 61
Hình 5.2 Bộ dữ liệu 2 – Zuerich monthly sunspot number 1750-1800 62
Hình 5.3 Bộ dữ liệu 3 – Mô hình biểu diễn 1 Time Series trong bộ dữ liệu, chiều dài 100 điểm 63
Trang 1212
DANH MỤC BẢNG
Bảng 5.1 Kết quả thực nghiệm Giải thuật 2008 – cải tiến, với bộ dữ liệu 1 64
Bảng 5.2 Kết quả thực nghiệm Giải thuật 2008 – gốc, với bộ dữ liệu 1 65
Bảng 5.3 Kết quả thực nghiệm Giải thuật 2008 – cải tiến, với bộ dữ liệu 1 65
Bảng 5.4 Kết quả thực nghiệm Giải thuật Brute-Force, với bộ dữ liệu 1 65
Bảng 5.5 Kết quả thực nghiệm Giải thuật 2008 – cải tiến, với bộ dữ liệu 2 66
Bảng 5.6 Kết quả thực nghiệm Giải thuật 2008 – gốc, với bộ dữ liệu 2 66
Bảng 5.7 Kết quả thực nghiệm Giải thuật 2008 – cải tiến, với bộ dữ liệu 2 67
Bảng 5.8 Kết quả thực nghiệm Giải thuật Brute-Force, với bộ dữ liệu 2 67
Bảng 5.9 Kết quả thực nghiệm Giải thuật 2008 – cải tiến, với bộ dữ liệu 3 69
Bảng 5.10 Kết quả thực nghiệm Giải thuật 2008 – gốc, với bộ dữ liệu 3 69
Bảng 5.11 Kết quả thực nghiệm Giải thuật 2008 – cải tiến, với bộ dữ liệu 3 70
Bảng 5.12 Kết quả thực nghiệm Giải thuật Brute-Force, với bộ dữ liệu 3 70
Bảng 5.13 Kết quả thực nghiệm gia tăng thêm mới một Time Series và gia tăng chiều dài mỗi Time Series thêm 100 điểm dữ liệu, với giải thuật 2008 – cải tiến 71
Bảng 5.14 Kết quả thực nghiệm gia tăng thêm mới một Time Series và gia tăng chiều dài mỗi Time Series thêm 100 điểm dữ liệu, với giải thuật Brute-Force 71
Trang 1313
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
1.1 Giới thiệu vấn đề
Chuỗi thời gian (time series) là chuỗi trị số thực, mỗi trị biểu diễn một giá trị đo
tại những thời điểm cách đều nhau [1]
Hiện nay, dữ liệu chuỗi thời gian, cũng như các bài toán khai phá nguồn dữ liệu này, cũng đang ngày một trở nên phổ biến, được quan tâm, nghiên cứu và xuất hiện trong nhiều ứng dụng thuộc nhiều lĩnh vực khác nhau, như: kinh tế (dữ liệu thị trường chứng khoán mỗi giờ, dữ liệu mua sắm của khách hàng mỗi ngày, v.v.), y khoa (số lượng bệnh nhân nhập viện mỗi năm, hoạt động của nhịp tim, sóng não của người bệnh mỗi giây, v.v.), môi trường (lượng mưa mỗi năm, mực nước mỗi ngày trên một con sông), v.v Có thể thấy, nhu cầu hướng đến lưu trữ và khai thác dữ liệu chuỗi thời gian
để phục vụ cho các nhu cầu phát triển của cá nhân hay tổ chức đang dần trở thành một vấn đề mang tính cấp thiết
Đặc biệt, với tính chất của một cơ sở dữ liệu nói chung, của cơ sở dữ liệu chuỗi thời gian nói riêng, việc dữ liệu gia tăng theo thời gian là điều không thể không có Điều này, góp phần ảnh hưởng khá lớn đến kết quả mà các cá nhân hay tổ chức sẽ nhận được trong quá trình khai phá dữ liệu chuỗi thời gian phục vụ cho các vấn đề khác nhau, đặc biệt là vấn đề dự báo Vì vậy, việc nghiên cứu các phương pháp khai phá dữ liệu chuỗi thời gian gia tăng nhằm thỏa nhu cầu, mục đích của người sử dụng với hiệu suất tối ưu là một trong những nội dung nghiên cứu mà nhiều nhà khoa học trên thế giới
đang hướng đến Trong đó, bài toán Khai phá mẫu phổ biến gia tăng trong cơ sở dữ
liệu chuỗi thời gian là một bài toán quan trọng mà chúng tôi đặc biệt quan tâm nghiên
cứu và trình bày trong bài luận văn này
1.2 Mục tiêu đề tài
Mục tiêu nghiên cứu của đề tài là thực hiện khai phá mẫu phổ biến gia tăng trong
cơ sở dữ liệu chuỗi thời gian Cho một cơ sở dữ liệu chuỗi thời gian D, một ngưỡng hỗ trợ tối thiểu min_supp, chúng tôi sẽ thực hiện việc khai phá dữ liệu trong D để trả về
Trang 1414
một tập gồm các mẫu, mà các mẫu này phổ biến trong D Hơn nữa, mỗi khi D được cập
nhật, tức mỗi khi cơ sở dữ liệu chuỗi thời gian D có thêm các dữ liệu mới vào, chúng tôi sẽ cập nhật lại tập mẫu phổ biến đã khai phá trước đó để trả về một tập phổ biến mới thỏa dữ liệu chuỗi thời gian D ở thời điểm mới nhất
Cụ thể hóa cho mục tiêu vừa nêu trên, trong khoảng thời gian được cho phép, luận văn tập trung vào các nội dung chính sau:
1.2.1 Xem xét các trường hợp có thể gia tăng dữ liệu cho cơ sở dữ liệu chuỗi
thời gian (dữ liệu đầu vào cho bài toán khai phá mẫu phổ biến gia tăng)
Các trường hợp gia tăng dữ liệu trong cơ sở dữ liệu chuỗi thời gian, bao gồm: gia tăng dữ liệu trên một chuỗi thời gian (gia tăng theo chiều ngang), gia tăng dữ liệu là các chuỗi thời gian (gia tăng theo chiều dọc), gia tăng đồng thời chuỗi thời gian và dữ liệu trên các chuỗi thời gian (chiều ngang lẫn chiều dọc)
Mục tiêu chính của đề tài là hướng đến thực hiện được trường hợp gia tăng
dữ liệu chuỗi thời gian theo cả chiều ngang, lẫn chiều dọc
Với mục tiêu trên, đề tài tập trung sử dụng và dựa trên nội dung của hai bài
báo Incremental Mining for Frequent Patterns in Evolving Time Series Datatabases
[2] và bài báo về giải thuật IncSP [3] Từ đó, đề xuất cách tiếp cận sau: Mở rộng và cải tiến công trình Khai phá gia tăng trên Cơ sở dữ liệu chuỗi thời gian, năm 2008
1.2.2 Tự động hóa việc xác định khoảng cách gap (dữ liệu đầu ra của bài toán
khai phá mẫu phổ biến gia tăng)
Tự động hóa việc xác định khoảng cách gap (nếu có) trong các mẫu phổ biến sau khi thực hiện xong giai đoạn khai phá mẫu phổ biến gia tăng trong cơ sở dữ liệu chuỗi thời gian, và trả về giả trị khoảng cách gap đó cho người dùng
1.3 Ý nghĩa đề tài
Ý nghĩa khoa học, hướng tiếp cận của đề tài tập trung vào vấn đề hiện vẫn còn ít được quan tâm và ít có các công trình nghiên cứu liên quan được công bố - khai phá mẫu phổ biến gia tăng đối với cơ sở dữ liệu chuỗi thời gian Hiện nay, tuy đã có khá nhiều các nghiên cứu khoa học về lãnh vực khai phá mẫu phổ biến, nhưng các công trình nghiên cứu về khai phá mẫu phổ biến gia tăng nói chung, khai phá mẫu phổ biến
Trang 1515
gia tăng trong cơ sở dữ liệu chuỗi thời gian nói riêng vẫn có khá ít ỏi Các công trình nghiên cứu mới gần đây nhất về lãnh vực này, có các giải thuật như IncSpan, IncSP
nhưng cũng chỉ áp dụng cho dữ liệu tuần tự Vì vậy, hướng tiếp cận vấn đề khai phá
mẫu phổ biến gia tăng trong cơ sở dữ liệu chuỗi thời gian của đề tài thiết nghĩ đóng
góp được phần nào vào nhu cầu của người sử dụng, mà ở thời điểm hiện tại các công trình nghiên cứu đã công bố vẫn chưa kịp thỏa mãn
Về ý nghĩa thực tiễn, sự đóng góp của đề tài giúp nâng cao hiệu suất khai phá mẫu phổ biến gia tăng trong cơ sở dữ liệu chuỗi thời gian, về thời gian xử lý và cũng có thể là về cả không gian lưu trữ, dù là gia tăng dữ liệu theo bất kì trường hợp nào trong
ba trường hợp: gia tăng dữ liệu trên các chuỗi thời gian, gia tăng chuỗi thời gian, gia tăng chuỗi thời gian và dữ liệu trên các chuỗi thời gian
1.4 Cấu trúc luận văn
Ngoài chương 1 – Giới thiệu đề tài, cấu trúc luận văn còn có các chương khác sau:
Chương 2 – Cơ sở lý thuyết: giới thiệu những cơ sở và khái niệm nền tảng cho
phương pháp luận và quá trình hiện thực của luận văn
Chương 3 – Các công trình nghiên cứu liên quan: giới thiệu các công trình nghiên
cứu liên quan đến nội dung mà đề tài đang quan tâm nghiên cứu, bao gồm các kỹ thuật
về khai phá mẫu phổ biến, khai phá mẫu phổ biến gia tăng, v.v
Chương 4 – Hướng tiếp cận giải quyết vấn đề
Chương 5 – Thực nghiệm: trình bày quá trình thực hiện thực nghiệm với những đề
xuất của luận văn
Chương 6 – Kết luận: đóng góp của luận văn và hướng nghiên cứu trong tương lai
Trang 1616
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Dữ liệu chuỗi thời gian
2.1.1 Chuỗi thời gian (Time Series)
Chuỗi thời gian (time series) là chuỗi trị số thực, mỗi trị biểu diễn một giá trị
đo tại những thời điểm cách đều nhau [1] Dữ liệu chuỗi thời gian thường có kích thước rất lớn và được ứng dụng rộng rãi trong các lãnh vực khác nhau
Hình 2.1 Ví dụ về chuỗi thời gian (time series) [14]
Ngoài ra, cũng có những định nghĩa về chuỗi thời gian đơn biến (univariate time series) và chuỗi thời gian đa biến (multivariate time series) Chuỗi thời gian đơn biến là một chuỗi thời gian chỉ chứa một quan sát được ghi nhận một cách tuần
tự tại những khoảng thời gian cách đều nhau Chuỗi thời gian đa biến là chuỗi thời gian mà trong đó tại một thời điểm ta có nhiều quan sát (biến) khác nhau [15]
2.1.2 Chuỗi con
Cho một chuỗi thời gian T có chiều dài n, một chuỗi con C của T là một dãy
có chiều dài m (với ) có vị trí liền nhau trong chuỗi thời gian T Một chuỗi con C của T cũng có thể được xem là một chuỗi thời gian với chiều dài m
Trang 17dụ về chuỗi con của một chuỗi thời gian
là một chuỗi con của chuỗi thời gian T, vì “3” và “1” là các giá trị không liên tiếp nhau trong T
Các công trình nghiên cứu thường áp dụng phương pháp cửa sổ trượt (windows sliding) để lấy các chuỗi con trong một chuỗi thời gian để phục vụ cho bài toán nghiên cứu Số lượng của các chuỗi con lấy được là bằng nhau và bằng độ dài của cửa sổ trượt
Hình 2.2 Ví dụ về chuỗi con C của chuỗi thời gian T [16]
2.1.3 Trùng khớp
Cho một số thực dương R (do người dùng định nghĩa) và một chuỗi thời gian
T Biết rằng T chứa một chuỗi con C bắt đầu tại thời điểm p và một chuỗi con M bắt đầu tại q, nếu khoảng cách D giữa 2 chuỗi nhỏ hơn hoặc bằng R, tức D(C, M) < R, thì M là một chuỗi con trùng khớp với C và ngược lại
Trang 1818
2.2 Một số bài toán khai phá mẫu phổ biến trong cơ sở dữ liệu chuỗi thời gian
2.2.1 Bài toán khai phá mẫu phổ biến
Khai phá mẫu phổ biến trong cơ sở dữ liệu chuỗi thời gian là quá trình khai phá, tìm ra các sự kiện hay các mẫu (pattern) trên các chuỗi thời gian, mà các mẫu này có tần suất xuất hiện thường xuyên trong cơ sở dữ liệu Để xác định được một mẫu (pattern) có là mẫu phổ biến hay không, người ta dựa vào một giá trị gọi là giá trị ngưỡng hỗ trợ tối thiểu (minimum support threshold) min_supp Nếu tuần suất xuất hiện của một mẫu có giá trị lớn hơn hoặc bằng giá trị của ngưỡng hỗ trợ tối thiểu, ta gọi mẫu đó là mẫu phổ biến
Ý nghĩa của bài toán khai phá mẫu phổ biến trong các cơ sở dữ liệu lớn hay trong trong cơ sở dữ liệu chuỗi thời gian đều có tác dụng lớn và được áp dụng phổ biến trong nhiều lãnh vực khác nhau, phục vụ cho nhu cầu dự báo dữ liệu trong tương lai Ví dụ trong lãnh vực chứng khoán, việc khai phá tìm ra được những mẫu phổ biến về dữ liệu hiện tại, giúp người dùng dự đoán được những diễn biến của dữ liệu chứng khoán trong tương lai
2.2.2 Bài toán khai phá mẫu phổ biến gia tăng
Với khai phá mẫu phổ biến, việc khai phá chỉ thực hiện trên tập dữ liệu hoàn toàn tĩnh, nghĩa là không có thêm bất kì biến động gì nữa về dữ liệu Tuy nhiên, trong thực tế, cơ sở dữ liệu chuỗi thời gian luôn luôn sẽ có sự gia tăng dữ liệu theo thời gian Khi đó, các mẫu phổ biến trước đó không còn phù hợp nữa với tình hình
dữ liệu hiện tại Vì vậy, để giải quyết vấn đề này, khái niệm “khai phá mẫu phổ biến gia tăng” xuất hiện và dần trở thành mối quan tâm của nhiều công trình nghiên cứu
Khai phá mấu phổ biến gia tăng là quá trình khai phá, hay cập nhật lại tập các mẫu phổ biến mỗi khi cơ sở dữ liệu được mở rộng bởi các dữ liệu mới được thêm vào, đảm bảo tập mẫu phổ biến luôn đúng trong bất kì tình trạng nào của cơ sở dữ liệu
Trang 19dự đoán nhu cầu mua sắm của khách hàng… Sau khi có được các mẫu tuần tự, ta sẽ tìm luật tuần tự: biểu hiện quan hệ có thể có giữa hai loạt sự kiện (sequential event) và trong đó có một loạt sự kiện xảy ra trước một loạt sự kiện khác [15]
2.3.2 Một số khái niệm thường gặp trong khai phá mẫu tuần tự phổ biến
- Tập phần tử (itemset): là một tập khác rỗng và không có thứ tự các items
- Một chuỗi (sequence) là một danh sách có thứ tự các sự kiện (events)
- Chiều dài của một chuỗi là số lượng item có trong chuỗi Chẳng hạn một chuỗi S
có k item được gọi là k – sequence Ví dụ: <(AB)C> là một 3 – sequence và
có kích thước là 3
Trang 2020
D có chứa f Độ hỗ trợ tương đối của f là tỉ lệ phần trăm chuỗi trong D chứa f Ở
đây mức hỗ trợ tuyệt đối hoặc tương đối sẽ được sử dụng chuyển đổi qua lại, kí
hiệu là sup(f)
- Mẫu tuần tự phổ biến: Cho trước ngưỡng hỗ trợ tối thiểu (minSup) xác định bởi người dùng, minSup ∈ (0, 1] Một mẫu tuần tự f được coi là phổ biến nếu độ hỗ trợ của nó lớn hơn hoặc bằng minSup: sup(f) ≥ minSup, khi đó f được gọi là mẫu
tuần tự phổ biến [15]
2.4 Một số kỹ thuật khai phá mẫu phổ biến
2.4.1 Giải thuật Apriori
Giải thuật Apriori là một trong những giải thuật nền tảng của bài toán khai phá mẫu phổ biến, được đề xuất bởi R Agrawal và R Srikant vào năm 1994 Ý tưởng chính của giải thuật là tiếp cận theo vòng lặp từng mức (level wise), mà k-itemsets sẽ được sử dụng để tìm kiếm (k+1) itemsets
Ở bước đầu tiên, giải thuật sẽ thực hiện duyệt hết toàn bộ cơ sở dữ liệu và đếm số lần xuất hiện của mỗi item trong tập, những item nào có số lần xuất hiện thỏa ngưỡng hỗ trợ tối thiểu min_supp (đã đề cập ở trên, phần giới thiệu bài toán khai phá mẫu phổ biến) sẽ được chọn là các mẫu phổ biến đầu tiên, gọi tập gồm các
Cứ thế tiếp tục, tìm tập 3-itemsets, ,(k-1)-itemset, k-itemset,… cho tới khi không thể tìm thêm được tập k-itemset nào nữa, giải thuật kết thúc
Trang 2121
Hình 2.3 Giải thuật Apriori [17]
2.4.2 Giải thuật FP-Growth
Giải thuật FP-Growth được đề xuất bởi Han và các cộng sự vào năm 2000 cho phép tìm ra tập itemsets phổ biến mà không cần tạo ra tập ứng viên Hướng tiếp cận chính của giải thuật là áp dụng chiến thuật chia để trị Ban đầu, dữ liệu trong cơ sở dữ liệu được biểu diễn lại dưới dạng cấu trúc cây, gọi là FP-Tree (Frequent Pattern Tree) Sau đó giải thuật chia không gian được nén thành một tập các cơ sở dữ liệu điều kiện (conditional database), đây là một dạng CSDL đã được lược bỏ thông tin và đều có liên
hệ với một frequent item Cuối cùng, thực hiện khai phá trên mỗi cơ sở dữ liệu dạng này một cách độc lập
Trang 2222
CHƯƠNG 3: CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN
Nội dung của chương này, trình bày các công trình nghiên cứu liên quan đến nội dung mà đề tài đang quan tâm nghiên cứu, bao gồm các kỹ thuật về khai phá mẫu phổ biến, khai phá mẫu phổ biến gia tăng, v.v Tuy nhiên, từ một tập dữ liệu thô ban đầu cho đến khi thu nhận được tập kết quả khai phá cuối cùng, phải đi qua một quá trình gồm nhiều giai đoạn tuần tự liên quan đến nhau Do đó, nội dung được trình bày trong chương 3 này cũng bao gồm một số công trình nghiên cứu có liên quan đến các giai đoạn thực hiện việc khai phá mẫu
3.1 Một số kỹ thuật thu giảm số chiều dữ liệu chuỗi thời gian
Thực tế cho thấy, dữ liệu chuỗi thời gian thường khá lớn, thậm chí là rất lớn Nếu giữ nguyên gốc tập dữ liệu chuỗi thời ban đầu và tiến hành khai phá trên tập dữ liệu này, việc tìm kiếm không chỉ tốn rất nhiều chi phí mà còn rất phức tạp và kém hiệu
quả Vì vậy, để khắc phục vấn đề khó khăn này, một số kỹ thuật thu giảm số chiều đã
được nghiên cứu và công bố với mục đích thu giảm độ lớn của dữ liệu
Thu giảm số chiều là phương pháp biến đổi và biểu diễn lại chuỗi thời gian n
chiều thành chuỗi thời gian có m chiều (với m < n), sao cho vẫn giữ được những đặc trưng của chuỗi thời gian ban đầu Một số phương pháp thu giảm số chiều dựa trên việc rút trích đặc trưng đã được đề xuất và áp dụng vào các ứng dụng thực tế Tuy nhiên, cũng cần phải sử dụng phương pháp thu giảm số chiều một cách đúng mức và phù hợp với bài toán khai phá, vì dữ liệu chuỗi thời gian sau khi áp dụng các kỹ thuật thu giảm
số chiều thường sẽ bị mất mát thông tin
Sau đây, là một số kỹ thuật thu giảm số chiều phổ biến, thường được áp dụng trong các ứng dụng khai phá dữ liệu chuỗi thời gian trong thực tế
3.1.1 Kỹ thuật PAA (Piecewise Aggregate Approximation)
Kỹ thuật PAA (Piecewise Aggregate Approximation), hay kỹ thuật xấp xỉ
gộp từng đoạn, là một kỹ thuật thu giảm số chiều được đề xuất bởi Keogh, E cùng
các đồng sự vào năm 2001 [4] Kỹ thuật PAA thu giảm chuỗi thời gian n chiều
Trang 2323
xuống còn N chiều bằng kỹ thuật chia chuỗi thời gian ban đầu thành N đoạn (frame)
và tính toán giá trị trung bình của các điểm dữ liệu nằm trong mỗi đoạn Tập hợp các giá trị trung bình này trở thành kết quả của việc thu giảm chuỗi thời gian với n chiều ban đầu
Hình 3.1 Kỹ thuật thu giảm số chiều PAA [5]
3.1.2 Kỹ thuật PLA (Piecewise Linear Approximation)
Kỹ thuật PLA (Piecewise Linear Approximation), hay kỹ thuật xấp xỉ tuyến
tính từng đoạn, là kỹ thuật được đề xuất vào năm 1998 bởi Keogh E, và Pazzami M
Kỹ thuật PLA biểu diễn dữ liệu chuỗi thời gian ban đầu bằng chuỗi các đoạn thẳng tuyến tính có thể rời nhau hoặc liên tục
Hình 3.2 Kỹ thuật thu giảm số chiều PLA [6]
Trang 2424
3.1.3 Kỹ thuật PCA (Principal Component Analysis)
Kỹ thuật PCA (Principal component analysis), hay kỹ thuật phân tích thành
phần cốt yếu, là một kỹ thuật phổ biến thường được sử dụng để phân tích chuỗi thời
gian trong lãnh vực tài chính Kỹ thuật PCA thường được áp dụng khi cần loại bỏ các thành phần ít đặc trưng và thu giảm số chiều dữ liệu
3.2 Rời rạc hóa chuỗi thời gian
3.2.1 Kỹ thuật SAX (Symbolic Aggregate Approximation)
Kỹ thuật SAX (Symbolic Aggregate Approximation), là kỹ thuật chuyển chuỗi thời gian sang dạng chuỗi ký tự (symbolic) rời rạc Ý tưởng chính của kỹ thuật này là chuyển kết quả từ kỹ thuật PAA (Piecewise Aggregate Approximation) sang dạng ký tự
Sau khi hoàn thành giai đoạn thu giảm số chiều dữ liệu chuỗi thời gian với
vùng/phần bằng nhau Giá trị số ở từng phần, lúc này được xấp xỉ và thể hiện bằng một hệ số duy nhất là giá trị trung bình cộng; sau đó, chuyển các hệ số vừa nêu sang các kí tự Mỗi kí tự sẽ đại diện cho một vùng/phần và mỗi đoạn sẽ được ánh xạ thành một ký tự tương ứng với vùng đang chứa nó Ở kỹ thuật này, hai giá trị cần được xác định là chiều dài của chuỗi con (chiều dài các phần bằng nhau cần được chia đều) và kích thước của bảng ký tự (số ký tự được sử dụng)
Hình 3.3 Kỹ thuật rời rạc hóa chuỗi thời gian – SAX [5]
Trang 2525
3.2.2 Kỹ thuật ESAX
Với kỹ thuật rời rạc hóa chuỗi thời gian – SAX, ta áp dụng phương pháp thu giảm số chiều PAA (Piecewise Aggregate Approximation) dựa trên giá trị trung bình cộng với ưu điểm nhanh, dễ thực hiện; nhưng mặt khác, cũng có một khuyết điểm là dễ bỏ qua những mẫu đặc biệt do bản chất trung bình cộng
Giả sử trong một đoạn bất kì, sự biến động các giá trị trong đoạn tồn tại những điểm cực trị max – min, khi đó với bản chất trung bình cộng, kỹ thuật SAX
sẽ dễ dàng bỏ qua hai giá trị max – min này và chỉ thể hiện bằng kí tự có giá trị trung bình tương ứng của đoạn đó Mà việc bỏ qua những điểm cực trị max – min này là có ảnh hưởng rất lớn đến kết quả dự báo đối với dữ liệu thuộc lãnh vực tài chánh
Để giải quyết vấn đề trên, kỹ thuật ESAX [7] đã ra đời vào năm 2006, được
đề xuất bởi Lkhagva Battuguldur cùng các cộng sự Kỹ thuật ESAX đề xuất một cách biểu diễn chuỗi dữ liệu thời gian mới Khi đó, ở mỗi đoạn, sẽ lưu trữ ba giá trị, thay vì một giá trị trung bình như kỹ thuật SAX, bao gồm các giá trị: min, max và trung bình cộng Trong đó, giá trị trung bình được tìm từ kỹ thuật PAA, y như kỹ thuật SAX Sau đó, thực hiện việc định nghĩa max và min tương ứng trên từng đoạn Bên dưới là hình ảnh minh họa về kỹ thuạt ESAX:
Hình 3.4 Kỹ thuật rời rạc hóa ESAX [7]
Trang 2626
3.3 Tìm kiếm tương tự trên cơ sở dữ liệu chuỗi thời gian
Tìm kiếm tương tự trên dữ liệu chuỗi thời gian là một trong những vấn đề được quan tâm nghiên cứu rất nhiều trong lãnh vực khai phá dữ liệu chuỗi thời gian Ứng dụng của tìm kiếm tương tự cho chuỗi thời gian rất đa dạng, được áp dụng trong nhiều lãnh vực, ngành nghề khác nhau, như trong kinh doanh, trong âm nhạc, các vấn đề về môi trường,
3.3.1 Độ đo tương tự
Sự tương tự giữa hai chuỗi thời gian được xác định thông qua các độ đo tương tự Việc xem xét và chọn lựa một độ đo tương tự phù hợp với bài toán cần thực hiện cũng là một vấn đề thách thức Sau đây là một số độ đo phổ biến thường được sử dụng trên dữ liệu chuỗi thời gian
Độ đo Euclid
Cho hai chuỗi thời gian Q = (q1, q2, …, qn) và C = (c1, c2, …,cn), độ đo khoảng cách Euclid giữa hai chuỗi thời gian này được cho bởi công thức
Hình 3.5 Tính khoảng cách Euclid [1]
Trang 2727
Độ đo khoảng cách Euclid có ưu điểm dễ hiểu, dễ tính toán và dễ mở rộng cho nhiều bài toán khai phá dữ liệu; tuy nhiên cũng có khuyết điểm là nhạy cảm với nhiễu, không thích hợp khi có đường căn bản khác nhau hay có biên độ dao động khác nhau [1]
Độ đo xoắn thời gian động (Dynamic Time Warping - DTW)
Độ đo xoắn thời gian động là độ đo được đánh giá có độ chính xác cao, khó
bị đánh bại Nếu độ đo Euclid tính khoảng cách giữa hai chuỗi thời gian bằng phương pháp ánh xạ 1-1 (điểm thứ i của chuỗi thứ I với điểm thứ i của chuỗi thứ II), thì độ đo DTW cho phép kéo dài hoặc co trục thời gian để cực tiểu hóa khoảng cách Độ đo DTW phù hợp với trường hợp hai chuỗi thời gian không hoàn toàn giống nhau nhưng hình dạng biến đổi rất giống nhau
Ưu điểm của độ đo xoắn thời gian động là cho kết quả chính xác hơn độ đo Euclid và cho phép nhận dạng mẫu có hình dạng giống nhau nhưng chiều dài hình dạng về thời gian có thể khác nhau Thay vào đó, độ đo có nhược điểm là thời gian
xử lý khá chậm
Hình 3.6 Tính khoảng cách theo DTW [1]
3.3.2 So trùng toàn bộ và so trùng chuỗi con
So trùng toàn bộ, tất cả các chuỗi thời gian trong cơ sở dữ liệu đều có chiều
dài n và chuỗi thời gian truy vấn cũng có chiều dài n Khoảng cách giữa chuỗi thời
Trang 28So trùng chuỗi con, các chuỗi thời gian trong cơ sở dữ liệu chuỗi thời gian
có chiều dài khác nhau Chiều dài của chuỗi truy vấn thường ngắn hơn rất nhiều so với chiều dài của chuỗi dữ liệu ban đầu Do đó, công việc trọng yếu là tìm kiếm những đoạn trong chuỗi dữ liệu ban đầu tương tự với chuỗi truy vấn
Một ứng dụng của bài toán này là tìm những mẫu dữ liệu quan trọng hay những thay đổi bất thường trong dữ liệu ban đầu [1]
3.4 Một số kỹ thuật khai phá mẫu tuần tự phổ biến
3.4.1 Giải thuật GSP (Generalized Sequential Patterns)
Giải thuật GSP (Generalized Sequential Patterns) [9], giải thuật được đề xuất bởi R Srikant & R Agrawal vào năm 1996, là một giải thuật khai phá mẫu tuần tự
Ý tưởng chính của giải thuật là kế thừa và sử dụng tính chất của giải thuật Apriori: cho S là một chuỗi tuần tự, nếu chuỗi S không phổ biến thì tất cả chuỗi cha S’ của S cũng không phổ biến Điểm cần lưu ý của giải thuật này là duyệt dữ liệu nhiều lần, lần duyệt đầu tiên xác định độ hỗ trợ (support) của từng item
Nhìn chung, tuy sử dụng được tính chất của Aprior để phát triển thêm lên, nhưng số lượng các tập item ứng cử viên được sinh ra từ giải thuật này là khá lớn và chi phí duyệt qua CSDL cũng khá lớn Do đó, để giải quyết những khuyết điểm còn tồn đọng trong giải thuật GSP, nhiều công trình nghiên cứu về khai phá mẫu tuần tự được công bố và được đánh giá là mang lại kết quả tốt hơn GSP
3.4.2 Giải thuật SPADE
Thuật toán Khai phá mẫu dãy sử dụng lớp tương đương – SPADE (Sequential Pattern Discovery using Equivalent Class) [10] tổ chức dữ liệu theo chiều dọc Trong đó, ứng với mỗi item sẽ lưu một danh sách chứa định danh của các
Trang 29có độ dài bằng 1, lần thứ hai duyệt tìm các mẫu có độ dài bằng 2, lần thứ ba phát triển mẫu độ dài k từ hai mẫu có độ dài (k-1) có (k-2) item đầu giống nhau, sau đó tiến hành duyệt trên từng lớp tương đương
Ưu điểm của giải thuật là chi phí tính toán và sử dụng bộ nhớ hiệu quả hơn Khuyết điểm là phải tốn khá nhiều thời gian cho việc chuyển đổi cơ sở dữ liệu theo chiều ngang sang định dạng theo chiều dọc [11]
3.4.3 Giải thuật PrefixSpan
Giải thuật PrefixSpan, được đề xuất bởi Jian Pei cùng các cộng sự vào năm
2004 [9], là một giải thuật khai phá mẫu phổ biến mà không cần sinh ra thêm các tập ứng cử viên, tiếp cận theo hướng chia nhỏ dữ liệu PrefixSpan thực hiện chiếu
cơ sở dữ liệu và duyệt cơ sở dữ liệu quy chiếu để tìm item phổ biến
Nhìn chung, do không cần thực hiện việc xem xét và tạo ra các tập item ứng
cử viên, nên chi phí chính của giải thuật là tạo ra các CSDL chiếu
3.5 Một số kỹ thuật khai phá mẫu tuần tự phổ biến gia tăng
3.5.1 Giải thuật ISM
Giải thuật ISM [11] là một giải thuật được xây dựng để giải quyết bài toán
khai phá mẫu phổ biến trên chuỗi tuần tự gia tăng, dựa trên nguyên lý của giải thuật SPADE đã đề cập ở phần trên
Giải thuật ISM thực hiện quá trình khai phá sau khi chuyển đổi cơ sở dữ liệu chiều ngang sang định dạng theo chiều dọc và duy trì hai danh sách: “các dãy phổ biến tối đa” (maximally frequent sequences) và “các dãy không thường xuyên tối thiểu” (minimally infrequent sequences) Do đó, hạn chế lớn nhất của giải thuật là tốn chi phí về không gian lưu trữ khá lớn cho việc chuyển đổi định dạng của cơ sở
dữ liệu và duy trì hai danh sách trên
Trang 3030
3.5.2 Giải thuật IncSpan
Incremental Mining of Sequential Patterns in Large Database [12], là công
trình nghiên cứu về việc khai phá gia tăng cho Mẫu tuần tự trong Cơ sở dữ liệu lớn Khi có các item data mới đến từ database denta, tùy vào các trường hợp cụ thể, bài
báo đưa về duy nhất hai dạng chính yếu là: INSERT và APPEND Trong đó:
hoặc phải phổ biến trong database delta Nếu thỏa điều kiện trên, “frequent
chính yếu cũng là Append, vì Insert đã được xem là trường hợp đặc biệt của Append Vì vậy, giải quyết được bài toán Append, ta sẽ giải quyết được các bài toán về Insert
Vấn đề chính yếu mà bài toán đặt ra là: khai phá mẫu phổ biến gia tăng là tìm
ra tập Frequent Subsequence (FS’) của Database mới (D’), dựa trên các Frequent Sequence (FS) đã có của Database gốc (D), thay vì dựa trên một tập hỗn độn, hoàn toàn chưa được xử lý
3.5.3 Giải thuật IncSP
Giải thuật IncSP (Incremental Sequence Pattern Up-date) [13], một giải thuật
giải bài toán cập nhật gia tăng mẫu tuần tự trong cơ sở dữ liệu lớn, cũng như nâng
cao hiệu quả thực hiện bài toán hơn so với những giải thuật đi trước như: giải thuật AprioriAll, giải thuật GSP, giải thuật ISM,…
Một cách cô đọng, giải thuật IncSP cập nhật gia tăng và khai phá mẫu tuần
tự phổ biến thông qua loạt các phương pháp:
- Trộn tiềm ẩn (effective implicit merging),
- Lược bỏ ứng viên sớm (early candidate pruning),
- Và đếm riêng biệt (efficient separate counting)
Kỹ thuật implicit merging trộn ngầm những “data sequence” thuộc cùng một
Customer với nhau và trì hoãn hoạt động trộn thực tế cho đến khi việc cập nhật các mẫu được hoàn tất Implicit merging đảm bảo tính chính xác cho giá trị hỗ trợ
Trang 3131
(support) của các pattern; đồng thời, cho phép tính toán lại giá trị support trong quá trình cập nhật các mẫu, một cách riêng biệt trong Cơ sở dữ liệu gốc DB và cơ sở dữ liệu mới db
Candidate pruning và separate counting, trong đó, separate counting là kỹ
thuật trọng yếu trong việc tính toán lại cái giá trị support của các mẫu trong CSDL
mới db (Support Counting I) và CSDL gốc DB (Support Counting II) Kết quả
thu được từ hai Counting Procedure này, giúp ta tìm ra được các Candidate phù hợp, cũng như không phù hợp để thu giảm được tập mẫu Ứng cử viên (Candidate pattern) trong quá trình khai phá mẫu tuần tự phổ biến
Nếu so với giải thuật GSP, để cập nhật lại giá trị support của các mẫu trong CSDL gốc “DB”, giải thuật IncSP chỉ cần thực hiện quét duy nhất CSDL mới “db” Giải thuật IncSP cũng tôn trọng việc giữ nguyên giá trị min_supp trong quá trình khai phá mẫu
3.6 Bài toán khai phá mẫu phổ biến gia tăng trên cơ sở dữ liệu chuỗi thời gian
Một công trình nghiên cứu về bài toán khai phá mẫu phổ biến trên cơ sở dữ liệu chuỗi thời gian gần đây nhất có thể kể đến là “Incremental mining for frequent patterns
in evolving time series databases” [2], một công trình có nội dung gần nhất với nội dung mà đề tài đang quan tâm nghiên cứu
Với mục đích khai phá các mẫu phổ biến gia tăng trong cơ sở dữ liệu chuỗi thời gian và nâng cao hiệu suất khai phá, ý tưởng chính của bài báo:
biến trong cơ sở dữ liệu chuỗi thời gian, sau mỗi lần gia tăng về dữ liệu;
biến, với kích thước “gap” phải ≤ kích thước ngưỡng gap theo quy định ban đầu của người dùng;
yêu cầu về không gian lưu trữ
Về cấu trúc của cơ sở dữ liệu, gồm hai kiểu chính:
Trang 3232
thời gian (time series) trong cơ sở dữ liệu LDS của mỗi một chuỗi thời gian
gian (time series) trong cơ sở dữ liệu chuỗi thời gian Cấu trúc dữ liệu GDS cũng gồm hai bảng: GDS_Q và GDS_H (xem thêm trong bài báo [2])
Về giải thuật khai phá mẫu phổ biến gia tăng, giải thuật được đề xuất sẽ cập
nhật tập mẫu phổ biến mỗi khi có một “data item” được thêm vào cơ sở dữ liệu, và quyết định các hành động nào sẽ diễn ra tùy vào một hoặc nhiều các sự kiện khác nhau
Mỗi khi có một item dữ liệu mới k được thêm vào cơ sở dữ liệu, các mẫu phổ biến được khai phá trước đó sẽ có sự thay đổi về trạng thái Ba trạng thái chính gồm:
Non-frequent, New-born và Aged
Để quyết định trạng thái của một item k mới, hay, trạng thái của các mẫu phổ
biến khi một item k được thêm vào CSDL, tùy theo từng sự kiện (event) cụ thể, thuật
toán COUNT tính toán lại độ hỗ trợ (support) của mỗi item và mỗi mẫu phổ biến
Đối với trường hợp đặc biệt: item k mới là một item phổ biến và được đưa vào một mẫu phổ biến (frequent pattern) P, khi đó mẫu có dạng (P + k), giải thuật sử dụng
Thủ tục Counting Thủ tục Counting trả về số count và item ở vị trí cuối cùng của mẫu
Trang 33Hướng tiếp cận trên hiện vẫn đang rất được quan tâm và đầu tư nghiên cứu, vì phục vụ những yêu cầu cụ thể ở các lãnh vực trong thực tế Tuy nhiên, bên cạnh hướng tiếp cận trên, những năm gần đây, nhu cầu phát triển và quản lý dữ liệu ngày càng tiếp cận với nhiều thử thách hơn Một trong những thử thách mới là việc khai phá gia tăng cho dữ liệu chuỗi thời gian Nghĩa là, việc khai phá mẫu phổ biến trên cơ sở chuỗi thời gian lúc này được thực hiện ở một mức cao hơn: việc khai phá và cập nhật lại tập các mẫu phổ biến mới phải được thực hiện ngay khi có dữ liệu mới đến (được thêm mới vào cơ sở dữ liệu) sau mỗi khoảng thời gian được quy định trước Hình bên dưới đây,
sẽ cho ta một cái nhìn trực quan hơn về sự khác biệt trong hai hướng tiếp cận vừa được trình bày:
Trang 3434
Hình 4.1 Khai phá không gia tăng và Khai phá gia tăng [18]
Như hình 4.1, dễ dàng nhận thấy rằng, đối với hướng tiếp cận mới là khai phá gia tăng, một lợi thế dễ dàng nhận thấy trong hướng tiếp cận này là để khai phá và cập nhật được tập mẫu phổ biến mới nhất, giải thuật khai phá sẽ chỉ cần làm việc dựa trên
dữ liệu mới và tập mẫu phổ biến hiện tại; mà không cần phải quét lại toàn bộ cơ sở dữ liệu Điều này cho phép chúng ta có một tương lai tươi sáng hơn về thời gian khai phá Nhưng mặt khác, đòi hỏi giải thuật khai phá phải “thông minh” hơn nhiều trong kỹ thuật xử lý
Một cách cụ thể hơn, vì các thuật toán khai khá dữ liệu thường có độ phức tạp tính toán cao, nếu sử dụng các giải pháp khai phá truyền thống cho bài toán gia tăng, mỗi khi thêm bảng ghi dữ liệu mới phải khai phá lại từ đầu, sẽ tiêu tốn một lượng thời gian rất lớn Vì vậy, ý tưởng chính cho giải thuật khai phá của bài toán gia tăng là mỗi khi thêm dữ liệu mới vào cơ sở dữ liệu thì phần dữ liệu gia tăng này được duyệt qua và kết hợp với tập các mẫu phổ biến đã được phát hiện trong lần khai phá trước, nhằm xác định các thành phần của cơ sở dữ liệu ban đầu cần duyệt lại Do vậy không cần phải duyệt lại toàn bộ cơ sở dữ liệu gốc
Trang 35Giải thuật Optimized-Join được đề xuất trong công trình nghiên cứu năm 2008, nhấn mạnh khả năng khai phá và cập nhật tập mẫu phổ biến mỗi khi có một điểm dữ liệu mới được thêm vào cở sở dữ liệu chuỗi thời gian Cụ thể hơn, giải thuật được đề xuất nhằm giải quyết bài toán gia tăng dữ liệu theo chiều ngang của một chuỗi thời gian nói riêng, toàn bộ cơ sở dữ liệu chuỗi thời gian nói chung (nhiều chuỗi thời gian) Giải thuật đảm bảo thỏa các tính chất đặc trưng của cơ sở dữ liệu chuỗi thời gian, như: tính liên tục của các điểm dữ liệu theo thời gian, thứ tự các điểm dữ liệu, chiều dài chuỗi thời gian; và đặc biệt là chấp nhận khoảng cách gap giữa các điểm dữ liệu Đây là những điểm nổi bật đáng chú ý của giải thuật so với các công trình nghiên cứu liên quan trước đó
Tuy nhiên, công trình nghiên cứu năm 2008 lại hoàn toàn không đề cập đến việc giải thuật Optimized-Join có khả năng giải quyết bài toán gia tăng dữ liệu theo chiều dọc cho cơ sở dữ liệu chuỗi thời gian Gia tăng dữ liệu theo chiều dọc là trường hợp khi
cơ sở dữ liệu chuỗi thời gian được thêm mới dữ liệu, nhưng không phải là thêm một điểm dữ liệu mới trên một chuỗi thời gian đã tồn tại, mà là một điểm dữ liệu mới cho một chuỗi thời gian hoàn toàn mới, chưa từng xuất hiện trong cơ sở dữ liệu
Trang 3636
Hình 4.2 Minh họa các trường hợp gia tăng dữ liệu của Cơ sở dữ liệu chuỗi thời gian (gia tăng
theo chiều ngang và chiều dọc)
Mục tiêu của luận văn là mở rộng và cải tiến giải thuật Optimized-Join nhằm giải quyết được bài toán còn lại này, gia tăng dữ liệu theo chiều dọc cho cơ sở dữ liệu chuỗi thời gian Đồng thời, xử lý khoảng cách ràng buộc (gap) giữa hai điểm dữ liệu thời gian trong các mẫu phổ biến kết quả
Để cụ thể hơn thế nào là sự gia tăng dữ liệu theo chiều ngang và gia tăng dữ liệu theo chiều dọc của một cơ sở dữ liệu chuỗi thời gian, dẫn đến sự gia tăng mẫu phổ biến trên toàn cơ sở dữ liệu, luận văn thể hiện qua hai ví dụ sau đây:
Trang 3737
Gia tăng dữ liệu trên một chuỗi thời gian bất kỳ (gia tăng chiều ngang)
Gia tăng thêm đối tượng chuỗi thời gian mới (gia tăng chiều dọc)
Khi đó, ta có:
Mẫu (10, 20), trở thành mẫu phổ biến mới (chiều dài > 1)
(Vì thỏa, min_supp ≥ 3, g ≤ 1)
4.2 Cách thức tiếp cận và cải tiến giải thuật Optimizied-Join
Với mục tiêu khai phá gia tăng mẫu phổ biến trên cơ sở dữ liệu chuỗi thời gian,
mà nền tảng dựa trên giải thuật Optimizied-Join của công trình nghiên cứu năm 2008, giải thuật cải tiến bắt đầu được khai triển với cấu trúc lưu trữ hoàn toàn dựa trên cấu
CFP (Compress-CFP) Về trọng tâm giải thuật, hàm xử lý Counting Procedure được giữ nguyên về cơ bản đường hướng
Tuy nhiên, vì hướng đến mục tiên cải tiến giải thuật sao cho phù hợp với việc khai phá gia tăng mẫu phổ biến theo chiều dọc; cũng như để giải quyết một số những vấn đề phát sinh và những trường hợp đặc biệt trong giải thuật mà công trình nghiên
Trang 3838
cứu 2008 không đề cập đến, luận văn đã thay đổi và cải tiến một vài phần trong các bước xử lý của giải thuật Optimizied-Join Giai đoạn này chiếm lượng thời gian lớn nhất trong quá trình hiện thực và cải tiến giải thuật của luận văn, cũng là giai đoạn quan trọng và cốt lõi, giúp xác định tính đúng đắn của giá trị đầu ra là tập các mẫu phổ biến của cơ sở dữ liệu chuỗi thời gian, khi gia tăng dữ liệu về cả chiều ngang lẫn chiều dọc Hai trong những phần được cải tiến nhiều nhất là cách thức khai triển và xây dựng cơ chế lưu trữ, làm việc của bảng Compress-CFP và cách tính hệ sống F – hệ số góp phần vào việc tính toán và xác định trạng thái của các entry trong bảng Compress-CFP
Sau giai đoạn trên, một bài toán mới được đặt ra, đó là làm sao để thể hiện được trường hợp cơ sở dữ liệu được gia tăng theo chiều dọc, để chạy thực nghiệm giải thuật vừa cải tiến, ghi nhận kết quả và kiểm nghiệm tính đúng đắn của giải thuật? Điều này dẫn đến yêu cầu xây dựng một môi trường giả lập các trường hợp gia tăng của cơ sở dữ liệu chuỗi thời gian, bao gồm 2 trường hợp chính: gia tăng theo chiều ngang và gia tăng theo chiều dọc, tuân theo những tính chất đặc trưng của một cơ sở dữ liệu chuỗi thời gian
Chúng ta biết rằng, chuỗi thời gian (time series) là chuỗi các trị số thực, mỗi trị
biểu diễn một giá trị đo tại những thời điểm cách đều nhau [1] Điều này nghĩa là, ta cần một môi trường thể hiện được hai trường hợp sau:
gian nhất định, cách đều điểm thời gian trước, các chuỗi thời gian đồng thời
được thêm vào một điểm dữ liệu mới, tương ứng của từng chuỗi thời gian
nhất định, cách đều điểm thời gian trước, các chuỗi thời gian đồng thời được
thêm vào một điểm dữ liệu mới, tương ứng của từng chuỗi thời gian hiện có trong cơ sở dữ liệu; và tương ứng với một hoặc nhiều chuỗi thời gian mới Giải pháp đầu tiên được nghĩ đến khá đơn giản, đó là: tại cùng một điểm thời gian, sử dụng nhiều máy tính tách biệt nhau; mỗi máy thực hiện nhiệm vụ thêm mới dữ liệu cho một chuỗi thời gian được quy định trước Mỗi khi một điểm dữ liệu mới của một chuỗi thời gian bất kỳ được thêm vào cơ sở dữ liệu, giải thuật Optimizied-Join cải tiến được chạy trên một máy tính khác sẽ tiến hành khai phá gia tăng mẫu phổ biến
Trang 3939
Hình 4.3 Mô phỏng giải pháp đầu tiên cho môi trường gia tăng dữ liệu theo chiều dọc
Ban đầu, giải pháp trên đơn giản và có vẻ hợp lí, nhưng lại đòi hỏi về chi phí triển khai Do đó, để giải quyết bài toán mới nhưng đóng vai trò thiết yếu này, luận văn cũng đề xuất một môi trường đáp ứng và thể hiện được hai trường hợp gia tăng (như đề cập ở đoạn trên) của cơ sở dữ liệu chuỗi thời gian Môi trường này sẽ được mô tả chi tiết và cụ thể hơn trong phần 4.3 bên dưới
Như vậy, tổng quát lại, cách tiếp cận của luận văn để giải quyết mục tiêu đã đặt
ra ở mục 4.1 bao gồm hai phần quan trọng sau:
khai phá gia tăng mẫu phổ biến trong cơ sở dữ liệu chuỗi thời gian, cho cả hai trường hợp gia tăng dữ liệu (theo chiều ngang và chiều dọc)
lẫn chiều dọc
4.2.1 Một số điều chỉnh dựa trên giải thuật Optimizied-Join gốc
Một trong những thách thức và khó khăn lớn nhất trong quá trình nghiên cứu ý tưởng khai phá gia tăng mẫu phổ biến trên cơ sở dữ liệu chuỗi thời gian của bài báo