1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khai phá gia tăng mẫu phổ biến trong cơ sở dữ liệu chuỗi thời gian

79 19 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 2,29 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

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

Trang 2

Thà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 3

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Ĩ

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 4

4

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 5

5

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 6

6

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 7

7

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 8

8

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 9

9

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 10

10

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 11

11

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 12

12

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 13

13

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 14

14

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 15

15

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 16

16

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 17

dụ 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 18

18

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 19

dự đ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 20

20

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 21

21

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 22

22

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 23

23

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 24

24

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 25

25

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 26

26

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 27

27

Độ đ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 28

So 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 29

có độ 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 30

30

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 31

31

(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 32

32

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 33

Hướ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 34

34

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 35

Giả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 36

36

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 37

37

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 38

38

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 39

39

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

Ngày đăng: 27/01/2021, 17:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Duong Tuan Anh (2009), “An Overview of Similarity Search in Time Series Data”, in Proceedings of the 11th Conference on Science and Technology - Section of Computer Science and Engineering, Ho Chi Minh City University of Technology, 21- 23 October, 2009, pp. 86-95 Sách, tạp chí
Tiêu đề: An Overview of Similarity Search in Time Series Data”, in "Proceedings of the 11th Conference on Science and Technology - Section of Computer Science and Engineering
Tác giả: Duong Tuan Anh
Năm: 2009
[2] M. Y. Eltabakh, M. Ouzzani, M. A. Khalil, W. G. Aref and A. K. Elmagarmid (2008), “Incremental mining for frequent patterns in evolving time series databases”, in Technical Report of Purdue University, CSD TR#08-02, 2008 Sách, tạp chí
Tiêu đề: Incremental mining for frequent patterns in evolving time series databases”, in "Technical Report of Purdue University
Tác giả: M. Y. Eltabakh, M. Ouzzani, M. A. Khalil, W. G. Aref and A. K. Elmagarmid
Năm: 2008
[3] M. Y. Lin and S. Y. Lee (2004), “Incremental update on sequential patterns in large databases by implicit merging and efficient counting”, in Information Systems, 29(5):385–404, 2004 Sách, tạp chí
Tiêu đề: Incremental update on sequential patterns in large databases by implicit merging and efficient counting”, in "Information Systems
Tác giả: M. Y. Lin and S. Y. Lee
Năm: 2004
[4] Keogh, E., Chakrabarti, K., Pazzani,M. and Mehrotra, S. (2001), “Dimensionality reduction for fast similarity search in large time series databases”, in Journal of Knowledge and Information Systems, August 2001, Springer-Verlag, Vol. 3, Issue 3, pp. 263-286 Sách, tạp chí
Tiêu đề: Dimensionality reduction for fast similarity search in large time series databases”, in "Journal of Knowledge and Information Systems
Tác giả: Keogh, E., Chakrabarti, K., Pazzani,M. and Mehrotra, S
Năm: 2001
[5] C. Cassisi, P. Montalto, M. Aliotta, A. Cannata, and A. Pulvirenti (2012), “Similarity Measures and Dimensionality Reduction Techniques for Time Series Data Mining”, in A. Karahoca, editor, Advances in Data Mining Knowledge Discovery and Applications, chapter 3. InTech, Sept. 2012 Sách, tạp chí
Tiêu đề: Similarity Measures and Dimensionality Reduction Techniques for Time Series Data Mining”, in "A. Karahoca, editor, Advances in Data Mining Knowledge Discovery and Applications
Tác giả: C. Cassisi, P. Montalto, M. Aliotta, A. Cannata, and A. Pulvirenti
Năm: 2012
[7] Lkhagva Battuguldur, Suzuki Yu, Kawagoe Kyoji (2006), “Extended SAX: Extension of symbolic aggregate approximation for financial time series data representation”, in DEWS2006 4A-i8. 2006 Sách, tạp chí
Tiêu đề: Extended SAX: Extension of symbolic aggregate approximation for financial time series data representation
Tác giả: Lkhagva Battuguldur, Suzuki Yu, Kawagoe Kyoji
Năm: 2006
[8] Tăng Thị Thúy Duyên (2012), Luận văn Thạc sĩ “Khai phá luật trên chuỗi thời gian dựa trên tỉ số thay đổi và giải thuật FP-Growth”, Đại học Bách Khoa TP. Hồ Chí Minh, 2012 Sách, tạp chí
Tiêu đề: Khai phá luật trên chuỗi thời gian dựa trên tỉ số thay đổi và giải thuật FP-Growth
Tác giả: Tăng Thị Thúy Duyên
Năm: 2012
[9] R. Srikant and R. Agrawal (1996), “Mining sequential patterns: Generalizations and performance improvements”, in International Conference on Extending Database Technology, pages 3-17, 1996 Sách, tạp chí
Tiêu đề: Mining sequential patterns: Generalizations and performance improvements”, in "International Conference on Extending Database Technology
Tác giả: R. Srikant and R. Agrawal
Năm: 1996
[10] Zaki, M.J. (2000), “SPADE: An Efficient Algorithm for Mining Frequent Sequences”, Machine Learning Journal, 42(1/2), pp. 31–60 Sách, tạp chí
Tiêu đề: SPADE: An Efficient Algorithm for Mining Frequent Sequences”, "Machine Learning Journal
Tác giả: Zaki, M.J
Năm: 2000
[11] Quách Xuân Trưởng, Nguyễn Văn Sự và Đinh Đức Hoàng (2014), “Nghiên cứu các kỹ thuật khai phá mẫu dãy cho dữ liệu dãy”, Tạp chí KHOA HỌC &amp; CÔNG NGHỆ, 118(04): 125 – 131, 2014 Sách, tạp chí
Tiêu đề: Nghiên cứu các kỹ thuật khai phá mẫu dãy cho dữ liệu dãy”, "Tạp chí KHOA HỌC & CÔNG NGHỆ
Tác giả: Quách Xuân Trưởng, Nguyễn Văn Sự và Đinh Đức Hoàng
Năm: 2014
[12] H. Cheng, X. Yan, and J. Han (2004), “Incspan: incremental mining of sequential patterns in large database”, in Knowledge Discovery and Data Mining, pages 527–532, 2004 Sách, tạp chí
Tiêu đề: Incspan: incremental mining of sequential patterns in large database”, in "Knowledge Discovery and Data Mining
Tác giả: H. Cheng, X. Yan, and J. Han
Năm: 2004
[13] M. Y. Lin and S. Y. Lee (2004), “Incremental update on sequential patterns in large databases by implicit merging and efficient counting”, in Information Systems, 29(5):385–404, 2004 Sách, tạp chí
Tiêu đề: Incremental update on sequential patterns in large databases by implicit merging and efficient counting”, in "Information Systems
Tác giả: M. Y. Lin and S. Y. Lee
Năm: 2004
[15] Nguyễn Thanh Vũ (2013), Luận văn Thạc sĩ “Khai phá mẫu xu hướng tuần tự liên đối tượng từ tập dữ liệu chuỗi thời gian”, Đại học Bách Khoa TP. Hồ Chí Minh, 2013 Sách, tạp chí
Tiêu đề: Khai phá mẫu xu hướng tuần tự liên đối tượng từ tập dữ liệu chuỗi thời gian
Tác giả: Nguyễn Thanh Vũ
Năm: 2013
[16] J. Lin, E. Keogh, S. Lonardi, and B. Chiu (2003), “A symbolic representation of time series, with implications for streaming algorithms”, in SIGMOD’03, 2003 Sách, tạp chí
Tiêu đề: A symbolic representation of time series, with implications for streaming algorithms”, in "SIGMOD’03
Tác giả: J. Lin, E. Keogh, S. Lonardi, and B. Chiu
Năm: 2003
[18] Krzysztof J. Cios, Witold Pedrycz, Roman W. Swiniarski and Lukasz Kurgan (2007), in Data Mining: A Knowledge Discovery Approach, Chapter 3 – page 41 Sách, tạp chí
Tiêu đề: Data Mining: A Knowledge Discovery Approach
Tác giả: Krzysztof J. Cios, Witold Pedrycz, Roman W. Swiniarski and Lukasz Kurgan
Năm: 2007
[14] Lesson 14 - Time Series and Auto correlation on Website: https://onlinecourses.science.psu.edu/stat501/node/358 Link
[17] Lesson 13 – Association Rules https://www.slideshare.net/aorriols/lecture13-association-rules Link
[6] Keogh, E.: A Tutorial on Indexing and Mining Time Series Data , The 2001 IEEE International Conference on Data Mining, San Jose (2001) Khác

🧩 Sản phẩm bạn có thể quan tâm

w