Dữ liệu này tồn tại trong rất nhiều lĩnh vực như tài chính, chứng khoán, y học, thời tiết, môi trường, địa lý,…Nhu cầu khai phá thông tin từ những dữ liệu này rất lớn, trong đó khai phá
Trang 1Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Trường Đại Học Bách Khoa
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH Độc Lập - Tự Do - Hạnh Phúc
Tp HCM, ngày 02 tháng 07 năm 2010
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên: Trầm Thế Phiên … Phái: ……Nam…………
Ngày, tháng, năm sinh: 01/04/1984 Nơi sinh: Quảng Ngãi Chuyên ngành: Khoa học máy tính MSHV: 00708204
1- TÊN ĐỀ TÀI: MÔ HÌNH KHAI PHÁ LUẬT CHO CHUỖI THỜI GIAN
2- NHIỆM VỤ LUẬN VĂN:
- Tìm hiểu lý thuyết về cơ sở dữ liệu chuỗi thời gian và các bài toán khai phá dữ liệu chuỗi
thời gian
- Tìm hiểu bài toán khai phá luật cho dữ liệu chuỗi thời gian
- Đề xuất mô hình khai phá luật cho dữ liệu chuỗi thời gian
- Xây dựng hệ thống khai phá luật cho dữ liệu chuỗi thời gian sử dụng mô hình được đề xuất
- Phát triển ứng dụng minh họa
3- NGÀY GIAO NHIỆM VỤ :
4- NGÀY HOÀN THÀNH NHIỆM VỤ : 02/07/2010
5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN : PGS TS Dương Tuấn Anh, TS Võ Thị Ngọc
Châu
Nội dung và đề cương Luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua
(Họ tên và chữ ký) QUẢN LÝ CHUYÊN NGÀNH (Họ tên và chữ ký)
(Họ tên và chữ ký)
Trang 3CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
Cán bộ hướng dẫn khoa học: PGS TS Dương Tuấn Anh, TS Võ Thị Ngọc Châu-
Cán bộ chấm nhận xét 1: TS Quản Thành Thơ -
Cán bộ chấm nhận xét 2: PGS TS Đỗ Phúc -
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 30 tháng 8 năm 2010
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1 TS Nguyễn Văn Minh Mẫn (Chủ tịch Hội đồng)
2 PGS TS Đỗ Phúc (Cán bộ phản biện)
3 TS Quản Thành Thơ (Cán bộ phản biện)
4 TS Phạm Văn Chung (Thư ký)
5 PGS TS Dương Tuấn Anh (Ủy viên)
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Bộ môn quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
Chủ tịch Hội đồng đánh giá LV Bộ môn quản lý chuyên ngành
Trang 4LỜI CAM ĐOAN
Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như đã ghi rõ trong luận văn, các công việc trình bày trong luận văn này là do chính tôi thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy bằng cấp ở trường này hoặc trường khác
Ngày 02 tháng 07 năm 2010
Trầm Thế Phiên
Trang 5LỜI CẢM ƠN
Tôi xin gởi lời cảm ơn chân thành và sâu sắc đến PGS TS Dương Tuấn Anh, TS Võ Thị Ngọc Châu, người đã tận tình hướng dẫn, định hướng tôi từ cách đặt vấn đề, phương pháp nghiên cứu khoa học đến những công việc cụ thể trong luận văn này
Xin chân thành cảm ơn tất cả quý Thầy Cô trong Khoa Khoa học và Kỹ Thuật Máy Tính đã tận tình truyền đạt những kiến thức quý báu cho tôi trong suốt quá trình học tập
Tôi cũng xin cảm ơn gia đình, người thân, bạn bè đã động viên và tạo mọi điều kiện tốt nhất để tôi có thể hoàn thành luận văn này
Trang 6TÓM TẮT
Dữ liệu chuỗi thời gian là tập các quan sát có trình tự về thời gian Dữ liệu này tồn tại trong rất nhiều lĩnh vực như tài chính, chứng khoán, y học, thời tiết, môi trường, địa lý,…Nhu cầu khai phá thông tin từ những dữ liệu này rất lớn, trong đó khai phá luật cho dữ liệu chuỗi thời gian là một trong những công việc khó, nhưng rất có ý nghĩa Khai phá luật là quá trình tìm ra các quy luật kết hợp giữa các mẫu thức của chuỗi thời gian Trong đó, các mẫu thức liên quan mật thiết đến nhiều công trình khai phá khác trên chuỗi thời gian như khai phá motif, khai phá chuỗi con bất thường, phân đoạn chuỗi thời gian,… Việc khai phá luật trên chuỗi thời gian tuy đã có nhiều công trình, nhưng các công trình những năm gần đây chưa thực sự có được một mô hình nào thích hợp Đặc biệt là yếu tố thời gian, cũng như việc hỗ trợ người dùng chưa được khảo sát nhiều Do đó, đề tài này đề xuất việc xây dựng một mô hình khai phá luật cho chuỗi thời gian Mục đích của
mô hình này là đưa ra các định nghĩa một cách hình thức về các mẫu thức, luật, các độ đo dựa trên nền tảng luận lý toán học, đại số thời gian Allen, luận lý thời gian nhằm làm tăng yếu tố thời gian, tăng việc hỗ trợ người dùng trong quá trình khai phá Khi đó, luật được khai phá sẽ đem lại ý nghĩa hơn cho người sử dụng
Trang 7ABSTRACT
A time series is a collection of observations made sequentially in time Such data exist in many fields such as finance, stock, medicine, weather, environment,… There is a huge demand of information discovery from this type
of data where rule mining (or rule discovery) for time series is one of the tough tasks but not meaningless Rule mining is a process of discovering the associations among patterns from time series Moreover, the discovered patterns from time series are tightly related to many other researches such as motif discovery, discord discovery, segmentation,… There have been many researches on time series rule mining but have not yet had a relevant model Model-free rule discovery has recently been subject to considerable criticism Moreover, time factors and the user support were not observed much yet Therefore, the thesis will propose a model for rule mining on time series so as to propose formal definitions of patterns, rules, and measures based on predicate logic, Allen’s temporal algebra, Temporal Logic This approach will take into account the time factors and user support in the rule mining process Thus, discovered rules will be more meaningful for users
Trang 9MỤC LỤC
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1
1.1 Bài toán phân tích giỏ thị trường 2
1.1.1 Mô tả hình thức 2
1.1.1.1 Luật 3
1.1.1.2 Support 3
1.1.1.3 Confidence 3
1.1.2 Khai phá luật kết hợp 4
1.1.3 Giải thuật 4
1.2 Mục tiêu và giới hạn luận văn 5
1.2.1 Động cơ 5
1.2.2 Mục tiêu 7
1.2.3 Dự kiến giải pháp 7
1.2.4 Giới hạn đề tài 7
1.3 Cấu trúc luận văn 8
CHƯƠNG 2: TỔNG QUAN KHAI PHÁ LUẬT TRÊN CHUỖI THỜI GIAN 9
2.1 Tổng quan về chuỗi thời gian 9
2.1.1 Khái niệm chuỗi thời gian 10
2.1.2 Các công việc chủ yếu trên chuỗi thời gian 10
2.1.2.1 Tiền xử lý 11
2.1.2.2 Độ đo tương tự 12
2.1.2.2.1 Khoảng cách chuỗi thời gian dạng ký số 12
2.1.2.2.2 Khoảng cách chuỗi thời gian dạng ký hiệu 16
2.1.2.3 Biểu diễn chuỗi thời gian 16
2.1.2.4 Khai phá luật 17
2.1.2.4.1 Phân loại 18
2.1.2.5 Phân đoạn 20
Trang 102.1.2.8 Trực quan hóa 23
2.2 Khai phá luật trên chuỗi thời gian 24
2.2.1 Quá trình khai phá 24
2.2.2 Các công trình liên quan 25
2.3 LUẬN LÝ THỜI GIAN VÀ ĐẠI SỐ THỜI GIAN ALLEN 27
2.3.1 Luận lý thời gian 27
2.3.1.1 Hướng tiếp cận Modal-Logic đến luận lý thời gian 27
2.3.1.2 Hướng tiếp cận luận lý vị từ đến luận lý thời gian 28
2.3.2 Đại số thời gian của Allen 29
CHƯƠNG 3: PHÁT BIỂU VẤN ĐỀ VÀ GIẢI PHÁP 31
3.1 Phát biểu vấn đề 31
3.1.1 Định nghĩa hình thức mẫu thức và luật 31
3.1.2 Định nghĩa các độ đo 32
3.1.3 Việc hỗ trợ người dùng 32
3.2 Giải pháp 32
3.2.1 Giải pháp cho các vấn đề 32
3.2.1.1 Định nghĩa hình thức mẫu thức 32
3.2.1.2 Dạng luật 33
3.2.1.3 Độ đo 33
3.2.2 Kết quả mong muốn đạt được 33
3.2.2.1 Kết quả mong muốn 33
3.2.2.2 Ý nghĩa 34
3.2.3 Phương pháp đánh giá dự kiến 35
CHƯƠNG 4: MÔ HÌNH KHAI PHÁ LUẬT TRÊN DỮ LIỆU CHUỖI THỜI GIAN 36
4.1 Chuỗi thời gian 36
4.2 Chuỗi con 37
4.3 Mẫu thức 38
4.3.1 Mẫu thức xây dựng sẵn 38
Trang 114.3.1.1 Discord 38
4.3.1.2 Mẫu thức trạng thái 40
4.3.1.3 Mẫu thức khuynh hướng 41
4.3.2 Mẫu thức do người dùng định nghĩa 42
4.3.2.1 Instant – Period – Period Set 42
4.3.2.2 Các toán tử thời gian 42
4.3.2.3 User-defined pattern 44
4.4 Luật 46
4.5 Độ đo 48
4.5.1 Support 48
4.5.2 Confidence 49
4.5.3 Tương quan 49
4.5.3.1 Lift 49
4.5.3.2 Chi-square 50
4.5.3.3 All_confidence 50
4.5.3.4 Cosine 51
4.5.4 J-measure 51
4.6 Nhận xét 52
CHƯƠNG 5: HIỆN THỰC MÔ HÌNH 53
5.1 Hệ thống khai phá luật trên chuỗi thời gian 53
5.2 Chức năng khai phá mẫu thức 54
5.2.1 Mẫu thức xây dựng sẵn 55
5.2.1.1 Mẫu thức khuynh hướng 55
5.2.1.2 Mẫu thức trạng thái 56
5.2.1.3 Mẫu thức discord 57
5.2.1.4 Mẫu thức motif 58
5.3 Chức năng khai phá luật 59
5.4 Ứng dụng minh họa 61
Trang 12CHƯƠNG 6: KẾT LUẬN 65
6.1 Kết quả đạt được 65
6.2 Những đóng góp của đề tài 66
6.3 Hướng phát triển 66
TÀI LIỆU THAM KHẢO 67
BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH VIỆT 72
LÝ LNCH TRÍCH NGANG 73
Trang 13DANH MỤC HÌNH
Hinh 2.1 Đồ thị biểu diễn dữ liệu chuỗi thời gian 10
Hinh 2.2 a Đường cơ bản khác nhau b Biên độ giao động khác nhau (Nguồn: hình 2.1 [33]) 12
Hinh 2.3 Sự phân loại của độ đo chuỗi thời gian dạng ký số (Nguồn: Hình 5.1[3]) 13
Hinh 2.4 Khoảng cách Euclidean 14
Hinh 2.5 So sánh khoảng cách Euclidean với DTW (Nguồn: Fig 1[5]) 14
Hinh 2.6 A Hai chuỗi tương tự nhau nhưng lệch pha B Để so sánh 2 chuỗi, ta xây dựng ma trận và tìm đường đi xoắn tối ưu C Kết quả ánh xạ sau khi xây dựng đường đi xoắn (Nguồn: Fig 3 [5]) 15
Hinh 2.7 Sự phân loại khoảng cách chuỗi thời gian dạng ký hiệu (Nguồn: Figure 5.2 [3]) 16
Hinh 2.8 Cây phân cấp của tất cả các biểu diễn chuỗi thời gian được đề nghị trong khai phá dữ liệu (Nguồn: Figure 1 [6]) 17
Hinh 2.9 Một motif lặp lại bốn lần (Nguồn [9]) 21
Hinh 2.10 Quá trình khai phá luật trên chuỗi thời gian ([38]) 24
Hinh 5.1 Hệ thống khai phá luật trên chuỗi thời gian 54
Hinh 5.2 Chuỗi thời gian sau khi phân đoạn dùng cửa sổ trượt kết hợp hồi quy tuyến tính ([8]) 56
Hinh 5.3 Giải thuật cửa sổ trượt tổng quát ([8]) 56
Hinh 5.4 Giải thuật khai phá mẫu thức trạng thái 57
Hinh 5.5 Giải thuật Brute Force khai phá discord 58
Hinh 5.6 Giải thuật Brute Force khai phá motif quan trọng nhất 59
Hinh 5.7 Kết quả khai phá luật 60
Trang 15CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
Dữ liệu chuỗi thời gian là một tập các quan sát trình tự về thời gian Dữ liệu chuỗi thời gian có thể dễ dàng được tìm thấy trong rất nhiều ứng dụng trong đời sống xã hội ngày nay, chẳng hạn như giá chứng khoán, dữ liệu điện tâm đồ, bản ghi số lần truy cập trang web,… Dữ liệu chuỗi thời gian là loại dữ liệu cực kỳ lớn,
do đó nó đem lại nhiều thách thức cho việc khai phá loại dữ liệu này Hơn nữa, loại dữ liệu này được ứng dụng rộng rãi từ khoa học kỹ thuật cho đến kinh doanh Khai phá dữ liệu những năm gần đây đã gây sự chú ý trong nền công nghiệp thông tin và phát sinh nhu cầu rút trích từ đó thành tri thức và thông tin có ích cho việc
ra quyết định của những nhà quản lý Hơn nữa, việc khai phá dữ liệu trên chuỗi thời gian đóng vai trò vô cùng quan trọng Các công việc khai phá dữ liệu chuỗi thời gian cổ điển như gom cụm, phân lớp và so trùng mẫu đã phát triển mạnh mẽ với vấn đề then chốt là sự biểu diễn chuỗi thời gian và việc lựa chọn độ đo tương
tự sẽ ảnh hưởng đến việc khai phá chuỗi thời gian Tuy nhiên, gần đây các công việc quan trọng trong khai phá chuỗi thời gian như phát hiện bất thường, tìm kiếm motif, khai phá luật chỉ đạt được những kết quả hứa hẹn sơ khởi
Khai phá luật trên chuỗi thời gian là tìm ra các qui luật thể hiện mối quan
hệ kết hợp, tương quan giữa các mẫu thức trên chuỗi thời gian Đây là một vấn đề thú vị nhưng khó Các nghiên cứu gần đây cũng cho thấy việc khai phá luật trên chuỗi thời gian chỉ đạt được kết quả bước đầu Các mẫu thức, dạng luật, việc sử dụng các độ đo được định nghĩa một cách tùy tiện, không tuân theo một mô hình nào, khi đó việc khai phá luật trên chuỗi thời gian sẽ kém hiệu quả, ảnh hưởng đến những kết quả mong muốn của người dùng Vấn đề này đòi hỏi chúng ta phải đưa
ra một mô hình cho việc khai phá luật trên chuỗi thời gian Trước khi đi vào tìm hiểu bài toán khai phá luật trên chuỗi thời gian, chúng ta sẽ tìm hiểu nguồn gốc xuất phát của nó Đó chính là bài toán phân tích giỏ thị trường
Trang 161.1 Bài toán phân tích giỏ thị trường
Phân tích giỏ thị trường – Market Basket Analysis – là quá trình phân tích thói quen mua sắm của khách hàng bằng cách tìm ra những quy luật hay sự kết hợp giữa các món hàng khác nhau trong các giỏ mua hàng của họ Đó là việc tìm
ra các món hàng nào thường được mua cùng với nhau Việc khai phá những sự kết hợp này có thể giúp cho các cửa hàng bán lẻ phát triển các chiến lược tiếp thị, giúp cho các nhà kinh doanh ra quyết định như thiết kế catalog, phân tích các hành vi, thói quen mua sắm của khách hàng, Ví dụ như một khách hàng mua sữa, thì hầu như họ cũng sẽ mua bánh mì trên cùng một chuyến đi mua sắm trong siêu thị Thông tin này có thể làm tăng việc mua bán vì nó giúp cho nhà bán lẻ lựa chọn cách tiếp thị và sắp xếp các món hàng thường được mua cùng nhau một cách hợp
lý
Dạng luật cơ bản của bài toán này là X⇒Y [support, confidence], với X, Y
là tập các món hàng rời nhau Luật được diễn dịch là các tập món hàng X và Y sẽ được mua cùng nhau với độ hỗ trợ support, và độ tin cậy confidence Dạng luật cơ bản của bài toán này là luật kết hợp dạng bool, đơn mức, đơn chiều – single-dimensional single-level boolean association rule Đây là dạng luật kết hợp vì luật thể hiện sự kết hợp giữa các tập món hàng Dạng bool vì thể hiện sự có mặt hay không của tập món hàng Dạng đơn mức thể hiện ở mức độ trừu tượng của món hàng, chẳng hạn như computer có mức trừu tượng cao hơn laptop-computer Dạng đơn chiều của luật thể hiện ở chỗ luật chỉ thể hiện một chiều “mua” Một số dạng luật khác có thể thể hiện nhiều chiều Chi tiết về các dạng luật này có thể tham khảo thêm trong chương 5 của [30]
1.1.1 Mô tả hình thức
Cho I = (i1, i2, , im) là một tập hợp các món hàng Cho D là một tập hợp các giao dịch Mỗi giao dịch T ( có một con số TID duy nhất ) là một tập hợp các món hàng sao cho: T⊆I
Trang 171.1.1.1 Luật
Một luật được định nghĩa dưới dạng: X⇒Y, với X,Y ⊆ I, X∩Y=φ Khi đó,
X được gọi là vế trái hay LHS (left hand side) hay antecedence và Y được gọi là
vế phải hay RHS (right hand side) hay consequence
Support của một tập các món hàng thể hiện sự đo lường về mức độ thường xuyên (số lần hay tần số xuất hiện) của tập các món hàng đó trong các giao dịch Support thể hiện xác suất P(X ⋃ Y), nghĩa là tỷ số giữa số lượng giao dịch chứa cả
X lẫn Y trên tổng số lượng giao dịch
1.1.1.3 Confidence
Confidence của một luật được định nghĩa là:
Trang 18Confidence đo lường độ mạnh của luật Nó được diễn dịch như một sự ướt đoán về xác suất có điều kiện P(Y | X) = P(X⋃Y) / P(X), nghĩa là tỷ số giữa số lượng giao dịch có chứa X thì chứa Y so với số lượng giao dịch có chứa X
1.1.2 Khai phá luật kết hợp
Khai phá luật kết hợp là việc tìm ra mối liên hệ, tương quan giữa các tập của các món hàng Đó là việc tìm những luật dạng X⇒Y sao cho support của các tập các món hàng thường xuyên – frequent itemset - phải lớn hơn hoặc bằng support tổi thiểu do người dùng định nghĩa - minsupp, và confidence của luật phải lớn hơn hoặc bằng confidence tối thiểu do người dùng định nghĩa - minconf Từ
đó, người ta chia bài toán khai phá luật kết hợp làm 2 giai đoạn: Tìm các tập món hàng thường xuyên dựa trên minsupp; Sau đó, tìm ra các luật dựa trên minconf
1.1.3 Giải thuật
Theo [28], rất nhiều giải thuật tìm kiếm mẫu như cây quyết định, luật phân loại, kỹ thuật gom cụm Những kỹ thuật này thường xuyên được sử dụng trong khai phá dữ liệu Việc khai phá các mẫu thường xuyên và luật kết hợp là một trong
ít ngoại lệ Việc giới thiệu các kỹ thuật này đã thúc đNy sự nghiên cứu trên lĩnh vực khai phá dữ liệu và nó có ảnh hưởng rất lớn
Giải thuật Apriori là một giải thuật khá đơn giản và dễ hiện thực Đây là một trong những hướng tiếp cận khai phá dữ liệu phổ biến nhất để tìm ra tập món hàng thường xuyên từ một tập dữ liệu giao dịch và dẫn xuất ra luật kết hợp Việc tìm ra các tập món hàng thường xuyên (dựa trên số đo support do người dùng định nghĩa) là không đơn giản do sự bùng nổ tổ hợp Giải thuật tìm kiếm dựa vào tính chất “nếu một tập hàng hóa là không thường xuyên thì các tập hàng hóa chứa nó cũng không phải là tập thường xuyên” Chi tiết giải thuật có thể tham khảo tài liệu [1],[2], [28]
Giải thuật Apriori có độ phức tạp rất lớn, vì phải tạo ra 2n ứng cử rút ra từ các tập thường xuyên kích thước n Do đó, người ta cố gắng cải tiến giải thuật này
Trang 19một cách hiệu quả hơn Giải thuật đáng chú ý nhất là phương pháp mở rộng mẫu thường xuyên (FP-Growth) được giới thiệu trong [29] Giải thuật này sử dụng chiến thuật chia để trị bằng cách nén cơ sở dữ liệu biểu diễn các mẫu thường xuyên thành một cấu trúc cây mẫu thường xuyên (FP-tree) Giải thuật chỉ quét qua
cơ sở dữ liệu 2 lần Lần đầu quét qua tất cả các món hàng để tính tần số xuất hiện của các món hàng, sau đó sắp thứ tự giảm dần theo tần số xuất hiện của mỗi giao dịch Lần quét thứ hai, các món hàng trong mỗi giao dịch sẽ được trộn vào trong một cây tiền tố và đếm số các món hàng ở phần chung của các giao dịch khác nhau
1.2 Mục tiêu và giới hạn luận văn
1.2.1 Động cơ
Như chúng ta đã thấy, khai phá dữ liệu những năm gần đây đã gây sự chú ý trong nền công nghiệp thông tin do dữ liệu ngày càng lớn và phát sinh nhu cầu rút trích từ đó thành tri thức và thông tin có ích cho việc ra quyết định của những nhà quản lý Khai phá dữ liệu có tầm ứng dụng rộng lớn từ phân tích thị trường, kiểm tra gian lận, sự duy trì khách hàng, cho đến việc điều khiển sản xuất cũng như việc khám phá khoa học Việc phát triển các hệ thống cơ sở dữ liệu là một minh chứng cho thấy sự thiết yếu của sự phân tích dữ liệu ở cấp cao hơn Các thế hệ tiếp theo sau công nghệ cơ sở dữ liệu quan hệ là các mô hình cấp cao hơn như mô hình quan hệ mở rộng, mô hình hướng đối tượng, mô hình quan hệ hướng đối tượng,
mô hình suy diễn Dữ liệu lúc này được lưu trữ ở rất nhiều dạng khác nhau, tuy nhiên các công cụ để khai phá, rút trích ra các thông tin cần thiết lại chưa đủ mạnh
để đáp ứng nhu cầu của con người, hoặc là tốn kém rất nhiều thời gian và chi phí
Do đó, việc phân tích dữ liệu một cách hữu hiệu và hiệu quả trên những hệ thống này là một thách thức lớn
[31] đã có cuộc khảo sát và nêu ra mười vấn đề thách thức nhất trong các
Trang 20gian và dữ liệu tuần tự là một trong những vấn đề quan trọng Sự tiến bộ trong các lĩnh vực liên quan như gom cụm, phân lớp, tiên đoán các xu hướng dữ liệu một cách hiệu quả vẫn còn là một vấn đề mở quan trọng Hơn nữa, việc loại bỏ nhiễu trên dữ liệu chuỗi thời gian là bài toán đặc biệt quan trọng Các ứng dụng bao gồm
cả việc dự báo khuynh hướng trên chuỗi thời gian tài chính, chuỗi thời gian địa chấn,… Chúng ta nhìn lại các vấn đề khai phá dữ liệu chuỗi thời gian cổ điển (gom cụm, phân lớp, so trùng mẫu), việc lựa chọn sự biểu diễn chuỗi thời gian và việc sử dụng các độ đo tương tự là vấn đề then chốt để đi đến khai phá dữ liệu chuỗi thời gian Những công việc khai phá dữ liệu chuỗi thời gian quan trọng kế tiếp như phát hiện bất thường, tìm kiếm mô típ, khai phá luật chỉ đạt được những kết quả hứa hẹn sơ khởi, nhưng vẫn còn rất nhiều vấn đề trong tương lai chúng ta phải tiến hành ([36])
Thông qua bài toán phân tích giỏ thị trường truyền thống, việc tìm ra các mẫu thường xuyên và sinh ra tập các luật kết hợp vẫn còn là vấn đề thú vị nhưng khó Trong đó, giải thuật Apriori có tầm ảnh hưởng rất lớn vì tính đơn giản và dễ hiện thực, và thường được chọn lựa trong các thực nghiệm của các nhà khai phá
dữ liệu ([28]) Việc tìm ra các mẫu thường xuyên trong giải thuật này sẽ vượt quá khả năng của máy tính vì sự bùng nổ tổ hợp các tập món hàng Chẳng hạn, nếu số phần tử của tập món hàng là 100 thì số tổ hợp tập món hàng phải duyệt qua là 2100 Đây là một thách thức lớn cho bài toán khai phá luật trên chuỗi thời gian Hơn nữa, công trình [15] cũng như một số công trình khác lại không tìm ra luật trên dữ liệu chuỗi thời gian, vì các mẫu thức mà họ tìm thấy không tồn tại trong chuỗi thời gian (theo nhận định của [36]) Ngoài ra, [16] đã nhận định gần đây việc chưa có
mô hình trong khai phá luật đã bị phê bình đáng kể [16] cũng nhận định công trình [15] đã sử dụng việc gom cụm chuỗi con dựa trên cửa sổ trượt đã tạo ra sự trùng khớp tầm thường Tuy nhiên, [16] đã minh chứng cho việc khai phá luật trên chuỗi thời gian là khó, nhưng không phải không có ý nghĩa Do đó, đòi hỏi chúng
ta một nhu cầu thiết yếu để xây dựng một mô hình khai phá luật cho chuỗi thời gian Bởi vì, thực ra trước đây việc khai phá luật trên chuỗi thời gian vẫn chưa có
Trang 21mô hình Việc đưa ra mô hình này nhằm giúp chúng ta có cái nhìn đúng đắn hơn trong việc khai phá luật trên chuỗi thời gian Các mẫu thức và luật sẽ được định nghĩa một cách hình thức và tổng quát hơn bằng toán học Mô hình có khả năng làm tăng ý nghĩa về mặt thời gian trong mối quan hệ, kết hợp giữa các mẫu thức Cho phép lựa chọn các độ đo thích hợp Và hỗ trợ tốt hơn đối với người dùng trong việc khai phá luật trên chuỗi thời gian
1.2.2 Mục tiêu
Mục tiêu của đề tài là sẽ xây dựng mô hình cho việc khai phá luật trên chuỗi thời gian Đây cũng là bước khởi đầu cho việc xây dựng hệ thống khai phá luật cho dữ liệu chuỗi thời gian
Mô hình sẽ định nghĩa một cách hình thức cho các mẫu thức, luật và độ đo Khi đó, mô hình sẽ cho chúng ta thấy được quá trình khai phá luật trên dữ liệu chuỗi thời gian
Sau khi đã có mô hình, chúng ta sẽ xây dựng hệ thống khai phá dựa trên mô hình đó Để chứng minh tính khả thi cho mô hình, chúng ta sẽ có một ứng dụng minh họa cho việc việc hiện thực mô hình
Trang 221.3 Cấu trúc luận văn
Các phần còn lại của luận văn được tổ chức như sau:
Chương 2 là tổng quan về chuỗi thời gian, bao gồm các công việc chủ yếu trên chuỗi thời gian, quá trình khai phá luật trên chuỗi thời gian và nêu lên các công trình liên quan, và cơ sở lý thuyết về luận lý thời gian và đại số thời gian Allen
Chương 3 sẽ phát biểu vấn đề và đưa ra giải pháp Giải pháp được đưa ra, sau đó sẽ nêu lên kết quả mong muốn và phương pháp đánh giá dự kiến
Chương 4 sẽ đề xuất việc xây dựng mô hình khai phá luật trên chuỗi thời gian Trong đó, bao gồm việc định nghĩa hình thức cho các mẫu thức xây dựng sẵn, mẫu thức do người dùng định nghĩa, luật và độ đo
Chương 5 là chương hiện thực mô hình khai phá luật trên chuỗi thời gian, trong đó bao gồm việc mô tả hệ thống, các chức năng của các thành phần trong hệ thống và các giải thuật sẽ được áp dụng Bên cạnh đó là ứng dụng minh họa cho việc hiện thực mô hình
Chương 6 sẽ kết luận, tổng hợp những kết quả đã đạt được và hướng phát triển của đề tài
Trang 23CHƯƠNG 2: TỔNG QUAN KHAI PHÁ LUẬT TRÊN CHUỖI THỜI GIAN
Trong chương 2, luận văn sẽ trình bày tổng quan về chuỗi thời gian và các công việc chủ yếu trong việc khai phá dữ liệu chuỗi thời gian Sau đó, luận văn sẽ trình bày về quá trình khai phá luật, cùng với các công trình liên quan Ngoài ra, chương 2 còn bổ sung cơ sở lý thuyết nền tảng về luận lý thời gian và đại số quan
hệ của Allen sẽ được sử dụng để xây dựng mô hình khai phá luật trên chuỗi thời gian
2.1 Tổng quan về chuỗi thời gian
Theo [30], việc khai phá dữ liệu thu hút rất đông đảo sự chú ý trong nền công nghiệp thông tin và trong xã hội những năm gần đây, do sự bùng nổ về lượng
dữ liệu được lưu trữ và nhu cầu rút trích lượng dữ liệu khổng lồ đó thành những tri thức và thông tin có ích Những tri thức và thông tin kiếm được sẽ sử dụng vào trong rất nhiều ứng dụng như phân tích giỏ thị trường, kiểm tra gian lận, kiểm soát sản xuất, khám phá khoa học,…
Mặc khác, theo [31] thì việc khai phá dữ liệu chuỗi thời gian còn một vấn đề quan trọng Tuy là đã có những tiến bộ nhưng cách để phân loại, gom cụm và tiên đoán khuynh hướng dữ liệu này một cách hiệu quả vẫn còn là một chủ đề mở rất quan trọng Và một thách thức đặc biệt đó là sự tồn tại của nhiễu trong dữ liệu chuỗi thời gian Để tìm hiểu tổng quan về chuỗi thời gian, trước hết chúng ta tìm hiểu khái niệm chuỗi thời gian Sau đó sẽ nêu lên những công việc chủ yếu trong việc khai phá dữ liệu chuỗi thời gian
Trang 242.1.1 Khái niệm chuỗi thời gian
Chuỗi thời gian là một tập các quan sát trình tự về thời gian Chẳng hạn như hình 2.1 dưới đây diễn tả dữ liệu chuỗi thời gian trên một đồ thị, trong đó có một chiều là chiều thời gian (trục hoành)
Hinh 2.1 Đồ thị biểu diễn dữ liệu chuỗi thời gian
Có rất nhiều loại dữ liệu chuỗi thời gian chẳng hạn như giá chứng khoán của một công ty, dữ liệu điện tâm đồ, bản ghi số lần truy cập trang web,… Loại dữ liệu này quan tâm đến yếu tố thời gian và là loại dữ liệu cực kỳ lớn Chẳng hạn như dữ liệu điện tâm đồ trong một giờ là một GigaByte Dữ liệu chuỗi thời gian có tầm ứng dụng rộng rãi từ khoa học kỹ thuật đến kinh doanh Chẳng hạn như các ứng dụng nhận dạng giọng nói, điện tâm đồ, cho đến việc mua bán chứng khoán, kiểm soát lưu lượng trên mạng, thống kê truy cập trên web, thu thập dữ liệu cảm biến, tài liệu những bản nhạc,…
2.1.2 Các công việc chủ yếu trên chuỗi thời gian
Do tầm ứng dụng rộng rãi cũng như những thách thức của việc khai phá dữ liệu chuỗi thời gian như lượng dữ liệu quá lớn, phụ thuộc vào yếu tố chủ quan, miền ứng dụng, tập dữ liệu, người dùng cũng như sự không đồng nhất giữa các tập
Trang 25dữ liệu cho nên việc nghiên cứu khai phá dữ liệu chuỗi thời gian vẫn còn nhiều rộng mở Việc khai phá dữ liệu chuỗi thời gian bao gồm cả việc khai phá trên dữ liệu chuỗi thời gian dạng ký số (numeric) và chuỗi thời gian dạng ký hiệu (symbolic) Trong phần này chúng ta sẽ kể ra các công việc khai phá chuỗi thời gian điển hình đó là: Tiền xử lý, độ tương tự, biểu diễn chuỗi thời gian, trực quan hóa, tiên đoán, gom cụm, phân đoạn, phân loại, tìm kiếm motif, kiểm tra bất thường, so trùng mẫu, khai phá luật và một số hướng tiếp cận khác Trong giới hạn cho phép của đề tài này về việc xây dựng mô hình khai phá luật trên chuỗi thời gian, chúng ta chỉ đi vào tìm hiểu tổng quan một số công việc khai phá chuỗi thời gian có liên quan đến việc mô hình của chúng ta mà thôi Chúng ta có thể tham khảo chi tiết hơn trong chương 5 của tài liệu số [3]
2.1.2.1 Tiền xử lý
Dữ liệu chuỗi thời gian thường không sạch và không được chuNn hóa, do đó
nó có thể gây ra các kết quả sai lệch và không có ý nghĩa Dữ liệu có thể được thu thập được từ nhiều nguồn khác nhau, các tập dữ liệu này là những tập dữ liệu thô, thường không nhất quán với nhau, có thể do nhiều nguyên nhân khác nhau, chẳng hạn như tác động của môi trường bên ngoài, các thiết bị đo,… Cho nên, trước khi
sử dụng các tập dữ liệu này để áp dụng vào các công việc khai phá, dữ liệu cần phải được làm sạch Việc làm sạch là loại bỏ đi những giá trị ngoại lai, thay thế những giá trị bị mất, và loại bỏ lỗi tương ứng với tập dữ liệu
Việc chuNn hóa dữ liệu chuỗi thời gian phải được thực hiện trước khi thực hiện các phép biến đổi dữ liệu, bởi vì một số công trình về độ đo tương tự không phù hợp với loại dữ liệu thô mà chúng ta thu thập được, vì nếu áp dụng vào sẽ cho
ra kết quả sai
Chẳng hạn, trong việc đo lường sự tương tự giữa hai chuỗi thời gian có hình dạng rất giống nhau, nhưng có đường cơ bản khác nhau như trong hình 2.2.a, hình này diễn tả giá chứng khoán gồm 2 đường có hình dạng rất giống nhau Khi
Trang 26không tương tự, thậm chí là rất khác nhau mặc dù bằng trực giác chúng rất giống nhau về hành dạng Hay là trong trường hợp 2 đường có biên độ dao động khác nhau nhưng thay đổi hình dạng giống nhau như trong hình 2.2.b
Hinh 2.2 a Đường cơ bản khác nhau b Biên độ giao động khác nhau (Nguồn: hình 2.1 [33])
2.1.2.2 Độ đo tương tự
Các công trình về độ tương tự liên quan đến 2 loại chuỗi dữ liệu thời gian
đó là chuỗi thời gian dạng ký số và chuỗi thời gian dạng ký hiệu
2.1.2.2.1 Khoảng cách chuỗi thời gian dạng ký số
Ở dạng ký số, độ tương tự chia làm 4 loại: dựa trên hình dạng based), dựa trên đặc trưng (feature-based), dựa trên mô hình (model-based) và dựa trên dạng nén (compression-based) Bốn loại này được biểu diễn theo cấu trúc cây
(shape-ở hình 2.3 dưới đây Trong đó, khoảng cách dựa trên hình dạng thường áp dụng đối với các chuỗi thời gian tương đối ngắn, và có chiều dài như nhau, chẳng hạn như khoảng cách Euclidean, xoắn thời gian động (DTW) Đối với các chuỗi dài,
và có ít tri thức về cấu trúc chuỗi thời gian, ta nên áp dụng dạng nén, chẳng hạn như CDM Còn đối với các chuỗi thời gian mà ta đã có tiền tri thức về cấu trúc của
nó, chúng ta có thể áp dụng các độ tương tự dạng đặc trưng hay mô hình, chẳng hạn như phương pháp thông kê trong dạng đặc trưng, hay mô hình Markov Nn (HMM) trong dạng mô hình
Trang 27Hinh 2.3 Sự phân loại của độ đo chuỗi thời gian dạng ký số (Nguồn: Hình 5.1[3])
Trong phạm vi tìm hiểu của đề tài này, chúng ta chỉ đi vào chi tiết 2 loại khoảng cách khá phổ biến đó là khoảng cách Euclidean và xoắn thời gian động Khoảng cách Euclidean tuy có nhiều nhược điểm nhưng nó lại được sử dụng nhiều
do công thức áp dụng vô cùng đơn giản Khoảng cách dùng xoắn thời gian động ra đời để khắc phục điểm yếu của khoảng cách Euclidean Trong khi khoảng cách Euclidean dùng để đo độ tương tự của 2 chuỗi thời gian có chiều dài bằng nhau, hay số điểm bằng nhau, và bằng cách tính sự sai biệt của từng cặp điểm Việc áp dụng này không phù hợp nữa khi ta so sánh 2 chuỗi thời gian có chiều dài khác nhau, lúc đó cần phải sử dụng phương pháp xoắn thời gian động để đạt được kết quả như mong muốn
Trang 28Hinh 2.4 Khoảng cách Euclidean
Xoắn thời gian động
Việc xoắn thời gian động cho phép sự tịnh tiến co giãn trên trục thời gian
và sử dụng được cho các cặp chuỗi thời gian tương tự nhau nhưng bị lệch pha như trong hình 2.5 dưới đây Thay vì phải chiếu từng cặp điểm tương ứng đối với khoảng cách Euclidean, ở đây một điểm trên chuỗi thời gian này có thể chiếu đến nhiều điểm trên chuỗi kia
Hinh 2.5 So sánh khoảng cách Euclidean với DTW (Nguồn: Fig 1[5])
Cho 2 chuỗi Q = q1, q2,…,qi,…,qN và C = c1, c2,…,cj,…,cM Để tính khoảng cách, người ta xây dựng một ma trận NxM trong đó phần tử (i,j) có giá trị là d(qi,cj) = ( )2
j
i c
q − Sau đó, sử dụng một đường đi xoắn W cho việc chiếu giữa các điểm trong Q và C Đường đi W này bao gồm K điểm w1, w2,…, wK, với max(N,M) <= K < m+n-1 Hình 2.6B thể hiện đường đi xoắn bởi đường được tô màu đậm trong ma trận được xây dựng từ 2 chuỗi thời gian Q và C Để xây dựng đường đi xoắn này, người ta đưa ra 3 quy tắc sau:
- Điều kiện biên: w1 = (1,1), wK = (N, M) Nghĩa là điểm bắt đầu và kết thúc của đường đi xoắn nằm ở 2 ô ở góc của ma trận
Trang 29- Liên tục: Nếu wk =(a, b) thì wk-1 = (a’, b’) với a - a’ <= 1 và b – b’ <= 1 Nghĩa là từ điểm wk-1 ta đi đến điểm wk là ô kế cận của nó trong ma trận
- Đơn điệu: Nếu wk = (a, b) thì wk-1 = (a’, b’) với a – a’ >= 0 và b – b’ >= 0 Tức là đơn điệu tăng theo thời gian
Hinh 2.6 A Hai chuỗi tương tự nhau nhưng lệch pha B Để so sánh 2 chuỗi, ta xây dựng ma trận và tìm đường đi xoắn tối ưu C Kết quả ánh xạ sau khi xây dựng đường đi xoắn (Nguồn: Fig 3 [5])
Những điều kiện trên có thể tạo nhiều đường đi xoắn khác nhau, nhưng ta chỉ quan tâm đến đường đi nào có chi phí ít nhất Do đó, ta có công thức tính khoảng cách giữa 2 chuỗi thời gian Q và C như sau:
Trang 30cách này người ta sử dụng chặn dưới (lower bounding) Chặn dưới của độ đo được trình bày chi tiết hơn trong tài liệu số [5]
2.1.2.2.2 Khoảng cách chuỗi thời gian dạng ký hiệu
Ở dạng ký hiệu, khoảng cách chuỗi thời gian cũng được chia làm 4 loại dựa trên xấp xỉ (proximity-based), dựa trên đặc trưng (feature-based), dựa trên mô hình (model-based), và dựa trên dạng nén (compression-based) Các loại này được biểu diễn ở dạng cấu trúc cây trong hình 2.7 dưới đây Trong đó, loại dựa trên xấp xỉ thường sử dụng đối với chuỗi thời gian ký hiệu ngắn Loại này có thể được so sánh trực tiếp dựa vào biểu diễn ký tự, hay so trùng chuỗi (string matching) Đối với các chuỗi dài, loại dựa trên dạng nén như CDM được sử dụng trong các chuỗi khi thiếu tri thức về cấu trúc Hai loại còn lại, dựa trên đặc trưng và dựa trên mô hình, được áp dụng tùy thuộc miền ứng dụng
Hinh 2.7 Sự phân loại khoảng cách chuỗi thời gian dạng ký hiệu (Nguồn: Figure 5.2 [3])
2.1.2.3 Biểu diễn chuỗi thời gian
Do dữ liệu chuỗi thời gian quá lớn, và phức hợp, có thể làm chậm quá trình
xử lý trên máy tính Cho nên, chuỗi thời gian cần được biểu diễn lại ở dạng khác ngắn gọn và súc tích hơn Việc biểu diễn chuỗi thời gian có thể là nén, vì vậy làm tăng tốc độ xử lý cũng như loại bỏ nhiễu và nhấn mạnh vào những đặc trưng quan trọng của chuỗi thời gian Sự lựa chọn biểu diễn chuỗi thời gian thường kết hợp với một độ đo khoảng cách thích hợp nào đó Hầu hết các biểu diễn chuỗi thời gian thông thường đều hỗ trợ việc tính toán xấp xỉ khoảng cách Euclidean cho chuỗi thời gian gốc
Trang 31Người ta cũng có thể phân loại việc biểu diễn chuỗi thời gian theo 4 dạng: dựa trên mô hình (model-based), không thích nghi dữ liệu (Non data-adaptive), thích nghi dữ liệu (data-adaptive) và data dictated Hình 2.8 diễn tả sự phân loại này Chi tiết về từng loại biểu diễn có thể tham khảo thêm trong phần 5.4 tài liệu
Trang 322.1.2.4.1 Phân loại
Đối với việc khai phá luật, chúng ta có thể phân loại ra các dạng luật dựa trên điểm/thời khoảng (point/interval-based rules), dựa trên một hay nhiều giao dịch (intra/inter-transactional rules), dựa trên một hay nhiều chuỗi thời gian (single/multiple time series rules), luật kết hợp (phụ thuộc, tương quan, nhân quả, phân lớp), quá trình khai phá luật được giám sát/không giám sát (supervised/unsupervised) Ngoài ra theo [30], sự phân loại luật còn dựa trên cấp
độ trừu tượng của tập luật (single/multiple-level association rule), kiểu giá trị được kiểm soát bằng luật (boolean/quantitative association rules), số chiều dữ liệu liên quan đến luật (single/multiple dimensional association rules),
Luật dựa trên thời điểm/thời khoảng
Các thành tố của luật là vế trái, vế phải của luật, cũng là các mẫu thức liên quan đến thời điểm hoặc thời khoảng Đối với dạng luật thời điểm, chuỗi thời gian
sẽ được rời rạc hóa thành những thời điểm trên trục thời gian, và luật thời điểm thể hiện quan hệ giữa các tập mẫu thức trên những thời điểm tương ứng Chẳng hạn như dạng luật mô tả trong công trình của [15]: “Nếu giá chứng khoán của Microsoft tăng và Intel giảm, thì giá chứng khoán của IBM sẽ tăng vào ngày hôm sau” Thời điểm thể hiện trong dạng luật này là thời điểm “ngày hôm nay”, “ngày hôm sau”
Trong khi đó, dạng luật dựa trên thời khoảng thể hiện ở mối quan hệ của các thành tố của luật trên thời khoảng Mỗi thành tố đều gắn với một thời khoảng,
và luật thể hiện quan hệ giữa các thời khoảng Ví dụ như dạng luật trong công trình [22] thể hiện mối quan hệ giữa các thời khoảng trên cơ sở đại số của Allen Dạng luật dựa trên thời khoảng có sức mạnh biểu diễn tốt hơn, tổng quát hơn dạng luật dựa trên thời điểm vì dạng luật thời điểm không có khả năng biểu diễn những luật có chứa một khoảng thời gian nào đó
Luật dựa trên một hay nhiều giao dịch
Luật dựa trên một giao dịch thường được gọi là intra-transactional rules, đó
là luật kết hợp giữa các mẫu thường xuyên trên cùng một giao dịch và thường
Trang 33được xác định dựa trên một khách hàng nào đó Chẳng hạn như bài toán phân tích giỏ truyền thống, “khi một khách hàng mua bánh mì và sữa thì khách hàng đó cũng có khả năng mua bơ” Tuy nhiên, luật có thể kết hợp của các mẫu thường xuyên trên nhiều hơn một giao dịch, thường được gọi là inter-transactional rules
Có thể nói luật inter-transactional là sự mở rộng của luật intra-transactional
Luật dựa trên một hay nhiều chuỗi thời gian
Tương tự như các công việc khai phá dữ liệu khác trên chuỗi thời gian như gom cụm, phân lớp,…, việc khai phá luật có thể khai phá trên một hoặc nhiều chuỗi thời gian Khai phá luật trên một chuỗi thời gian là tìm ra mối quan hệ kết hợp giữa các mẫu thức trên cùng một chuỗi thời gian Chẳng hạn như việc khai phá luật trên chuỗi thời gian về giá chứng khoán của một công ty A nào đó Trong khi đó, khai phá luật trên nhiều chuỗi thời gian là tìm ra mối quan hệ kết hợp giữa các mẫu thức trên nhiều chuỗi thời gian khác nhau Chẳng hạn như khai phá luật trên giá chứng khoán của công ty A so với một công ty B nào khác
Luật kết hợp phụ thuộc, tương quan, nhân quả, phân lớp
Luật kết hợp là dạng luật mô tả sự kết hợp giữa vế trái và vế phải của luật dựa trên cặp thông số đó là độ hỗ trợ và độ tin cậy Tuy nhiên, quá trình khai phá luật kết hợp có thể tạo ra rất nhiều luật dư thừa và ít quan trọng khi độ hỗ trợ càng thấp Do đó, người ta có thể tiến hành khai phá luật dạng phụ thuộc, tương quan bằng cách khai phá mối tương quan, phụ thuộc giữa các thành phần (bao gồm vế trái, vế phải ) của luật Mối tương quan này có thể được xác định dựa vào các độ
đo để phân hạng luật Chẳng hạn như J-measure, all_confidence, coherent, lift,… Lợi điểm của dạng luật tương quan này là có thể cắt xén, lọc bớt những luật không cần thiết, cũng như tạo ra các luật có ý nghĩa mạnh hơn
Một dạng luật cũng đáng quan tâm là luật nhân quả (causal) Luật nhân quả thể hiện mối liên hệ chặc chẽ hơn giữa vế trái và vế phải của luật Chẳng hạn như luật có dạng X Y, đối với luật kết hợp chỉ thể hiện sự xảy ra đồng thời của X,
Y Trong khi luật nhân quả thể hiện dưới ba điều kiện ([34]): (1) Tương quan, tức
Trang 34Y về mặt thời gian; (3) Non-spuriousness, nghĩa là tương quan giữa X và Y không phải được tạo ra từ nguyên nhân của một biến khác Z (confounding variable) Luật phân lớp hướng đến việc khai phá một tập nhỏ các luật dựa trên một tập các nhãn được định nghĩa trước Một trong hai thành phần của luật, vế trái hoặc vế phải có thể thuộc tập các nhãn này, khi đó sẽ áp dụng việc khai phá để tìm ra thành phần còn lại của luật mà có mối quan hệ kết hợp với nhãn này Ngoài ra, việc khai phá luật còn theo nhiều hướng khác ([35]) như luật ngoại lai (exception rules), luật kết hợp phủ định (negative association rules), luật kết hợp định lượng (quantitative association rules),…
Luật dựa trên quá trình khai phá
Khai phá luật trên chuỗi thời gian có thể được giám sát (supervised) hoặc không giám sát (unsupervised) Khai phá luật giám sát liên quan đến luật được tìm thấy như là một tiên nghiệm (priori), ít nhất là một phần của dữ liệu Nó liên quan đến việc tiên đoán các sự kiện đã được biết trước Hướng tiếp cận không giám sát
sẽ tìm kiếm các mẫu hướng thời gian điển hình mà được mô tả bằng luật Tương
tự như luật kết hợp, các mẫu luật thường được chuyển thành dạng luật dẫn ra với tiền đề và kết luận
2.1.2.5 Phân đoạn
Theo [11], có một định nghĩa về sự phân đoạn: “Cho một chuỗi thời gian T chứa n điểm, tạo một mô hình T’ từ K phân mảnh (K rất nhỏ so với n) sao cho T’ xấp xỉ gần với T” Sự phân đoạn có 2 sử dụng chính: Nó được thực hiện để xác định khi nào mô hình cơ sở mà tạo ra chuỗi thời gian sẽ thay đổi, hoặc là phân đoạn có thể được thực hiện một cách đơn giản để tạo ra một biểu diễn ở mức cao hơn cho chuỗi thời gian để hỗ trợ cho việc đánh chỉ mục, gom cụm và phân loại
Các bài toán phân đoạn được chia làm nhiều hướng ([8]):
- Cho một chuỗi thời gian T, hãy tạo ra biểu diễn tốt nhất chỉ sử dụng K phân đoạn
Trang 35- Cho một chuỗi thời gian T, hãy tạo ra biểu diễn tốt nhất sao cho lỗi tối đa cho mỗi phân đoạn không vượt quá ngưỡng của người dùng, max_error
- Cho một chuỗi thời gian T, hãy tạo ra biểu diễn tốt nhất sao cho tổng hợp các lỗi của các phân đoạn nhỏ hơn ngưỡng do người dùng định nghĩa, total_max_error
Cũng theo [8], tuy là xuất hiện với những tên gọi khác nhau cũng như chi tiết giải thuật hơi khác nhau, nhưng hầu hết các giải thuật phân đoạn chuỗi thời gian có thể được gom nhóm thành ba loại chính:
- Cửa sổ trượt (sliding windows): Một phân đoạn sẽ lớn dần đến khi nào nó đạt ngưỡng lỗi
- Từ trên xuống (top-down): Chuỗi thời gian sẽ bị phân hoạch một cách đệ quy cho đến khi gặp tiêu chí dừng
- Từ dưới lên (bottom-up): bắt đầu từ xấp xỉ có thể tốt nhất, các phân đoạn
có thể được trộn lẫn nhau cho đến khi gặp tiêu chí dừng
Các giải thuật này thường được sử dụng do sự quan tâm đến tối ưu, tuy nhiên độ phức tạp rất cao
2.1.2.6 Tìm kiếm motif
Motif là gì? Một cách không hình thức, ta có thể hiểu motif như là mẫu (chuỗi con) lặp đi lặp lại nhiều lần Chẳng hạn như một motif lặp lại bốn lần trong một đoạn của tập dữ liệu ở hình 2.9 dưới đây Nó cũng là những chuỗi con không
bị chồng lấp (overlapped) điển hình
Trang 36Cho một chuỗi thời gian T = t1 , t2 , …, tm Một chuỗi con C = cp , cp+1 ,…,
cp+n-1 , với 1 <= p <= m-n+1
Trùng khớp - match:
Cho một miền khoảng cách R > 0 Một chuỗi con C bắt đầu ở vị trí p của chuỗi thời gian T, và một chuỗi con M bắt đầu ở vị trí q của chuỗi T Nếu khoảng cách giữa M và C là D(C, M) <= R thì M được gọi là một chuỗi con trùng khớp với C
Trùng khớp tầm thường - trivial match:
Một chuỗi con C bắt đầu ở vị trí p của chuỗi thời gian T, chuỗi con M bắt đầu ở vị trí q trên chuỗi T M là trùng khớp tầm thường với C nếu xảy ra 2 trường hợp:
Giải thuật đầu tiên phải kể đến là giải thuật tìm kiếm brute force Tuy nhiên giải thuật này rất chậm, sau này có những sự cải tiến Giải thuật dựa trên ý tưởng trong y học, đó là giải thuật dùng phép chiếu ngẫu nhiên (random projection) được trình bày trong tài liệu số [12] Một giải thuật cũng rất đáng quan tâm là giải thuật liệt kê motif qua ma trận xấp xỉ (EMMA – Enumeration motif through Matrix Approximation) được đề cập trong tài liệu số [13] Ngoài ra còn có một số giải thuật tìm motif khác như dùng VizTree ([7]), MTA – Motif Tracking Algorithm ([14])
Trang 372.1.2.7 So trùng mẫu
Theo định nghĩa của [11]: cho một chuỗi thời gian truy vấn Q, và một vài
độ đo tương tự hoặc sai biệt D(Q, C) (giữa 2 chuỗi thời gian Q và C); hãy tìm chuỗi thời gian trùng khớp nhất trong cơ sở dữ liệu Trong việc so trùng mẫu, có một kỹ thuật đáng được quan tâm đó là đánh chỉ mục (Indexing) Bởi vì dữ liệu chuỗi thời gian quá lớn, với việc so trùng dữ liệu dùng phương pháp quét tuần tự mỗi chuỗi con trên chuỗi thời gian sẽ tốn chi phí lớn Do đó chúng ta cần một phương pháp nào đó để đánh chỉ mục dữ liệu để tăng tốc độ tìm kiếm phục vụ cho việc so trùng mẫu
Quá trình so trùng mẫu có thể chia làm 2 giai đoạn: đầu tiên dữ liệu được đánh chỉ mục bằng cách rút trích đặc trưng, tổ chức dữ liệu trên một cấu trúc dữ liệu nào đó, chẳng hạn như cấu trúc cây B, cây R,cây R*,…Sau đó sẽ nhận chuỗi truy vấn để thực hiện việc so trùng Hiệu quả của việc so trùng mẫu phụ thuộc vào cấu trúc chỉ mục cũng như độ đo khoảng cách được sử dụng
Có 2 loại bài toán so trùng mẫu, đó là so trùng toàn bộ và so trùng một phần Đối với bài toán so trùng toàn bộ, chuỗi thời gian và chuỗi truy vấn có chiều dài bằng nhau, và thường ứng dụng trong các bài toán gom cụm, phân loại Chẳng hạn như bài toán tìm giá chứng khoán của những công ty nào thay đổi giống nhau Đối với bài toán so trùng một phần, chiều dài chuỗi truy vấn ngắn hơn rất nhiều so với chiều dài chuỗi gốc, và yêu cầu tìm các chuỗi con trong chuỗi gốc là tương tự với chuỗi truy vấn Bài toán so trùng mẫu con là một bài toán rất căn bản trong việc khai phá dữ liệu chuỗi thời gian Nó được ứng dụng vào các bài toán khác như phân loại, gom cụm, kiểm tra bất thường, khai phá luật,…
2.1.2.8 Trực quan hóa
Trực quan hóa là một phần quan trọng của khai phá dữ liệu bởi vì con người có khả năng phi thường trong việc nhận ra các mẫu tiềm Nn Cũng không có nhiều nghiên cứu tập trung vào việc trực quan hóa Dạng thông thường nhất được
Trang 38trong đó có một trục là trục thời gian Dạng thứ 2 phải kể đến là Viz-tree ([7]), một dạng cây biểu diễn tất cả các chuỗi con chiều dài cố định của chuỗi thời gian dạng
ký hiệu sau quá trình rời rạc hóa dùng phương pháp xấp xỉ gộp ký hiệu hóa (SAX – Symbolic Aggregate approXimation) Dạng Viz-tree cũng rất hữu ích trong việc
so trùng chuỗi con, tìm kiếm motif và kiểm tra bất thường Ngoài ra, có một số dạng khác như hình xoắn ốc, dạng bitmap,…
2.2 Khai phá luật trên chuỗi thời gian
2.2.1 Quá trình khai phá
Quá trình khai phá luật trên chuỗi thời gian bao gồm các giai đoạn: tiền xử
lý, khai phá, hậu xử lý Quá trình tiền xử lý có thể bao gồm nhiều giai đoạn trung gian, từ dữ liệu chuỗi thời gian thô để rút ra được các mẫu thức mà chúng ta quan tâm Trong đó, chúng ta có thể loại bỏ nhiễu, có thể rời rạc hóa, hay thực hiện việc rút trích các đặc trưng để cuối cùng tạo ra các mẫu thức cơ bản (basic, primitive) đáng quan tâm Giai đoạn khai phá sẽ áp dụng một giải thuật nào đó để tìm ra được các luật kết hợp giữa các mẫu thức này Và giai đoạn hậu xử lý sẽ diễn dịch, trực quan hóa cho người dùng
Hinh 2.10 Quá trình khai phá luật trên chuỗi thời gian ([38])
Time Series Patterns
Rules
Raw Data Items of
Interest
Relationships among Items (Rules)
Trang 392.2.2 Các công trình liên quan
Cũng như một công việc thú vị nhưng khó trên lĩnh vực khai phá dữ liệu chuỗi thời gian, khai phá luật trên chuỗi thời gian đã được khảo sát trên [15, 17,
20, 22, 23, 24] Phần này chúng ta sẽ khảo sát các công trình về các phương diện dạng mẫu thức, định dạng luật, các độ đo, cũng như việc hỗ trợ đối với người dùng liên quan đến quá trình khai phá luật
Đầu tiên là công trình [15] dựa trên việc gom cụm chuỗi con sử dụng cửa
sổ trượt dọc theo chuỗi thời gian để rút ra được các mẫu thức cơ bản được đánh nhãn dạng ký tự Sau đó, các luật được sinh ra dựa trên mối quan hệ giữa các mẫu thức cơ bản này Luật kết hợp có dạng A T B, với diễn dịch là nếu A xảy ra thì B xảy ra trong một khoảng thời gian T, với A, B là các mẫu thức cơ bản Một trong những hạn chế của công trình này là việc chồng lấp lẫn nhau giữa các chuỗi con được lấy ra để thực hiện việc gom cụm đã mang lại sự vô nghĩa trong các luật được khai phá mà nguyên nhân chính là do việc sử dụng cửa sổ trượt ([9]) Nhược điểm này được khắc phục trong công trình [20] với việc giảm thiểu đáng kể khả năng chồng lấn giữa các chuỗi con Thêm vào đó là loại bỏ nhiễu khi biến đổi chuỗi thời gian sang miền tần số Công trình này cũng sử dụng các độ đo tần số (độ hỗ trợ) và độ tin cậy để lọc ra các mẫu thức và luật
Công trình [23] giới thiệu quá trình khai phá luật kết hợp trên chuỗi gene Dạng luật là LHS (∆) RHS, với LHS (vế trái), RHS (vế phải) là các tập thường xuyên hướng thời gian rời nhau, ∆ là khoảng thời gian chênh lệch giữa vế trái và
vế phải Mỗi món hàng hướng thời gian tương ứng với một bộ ba gồm các giá trị rời rạc (UP, DOWN, NONE), vị trí của nó (vế trái hay vế phải) của luật, thời điểm của nó Dạng luật này được diễn dịch là RHS xảy ra sau LHS một khoảng thời gian ∆ Phương pháp của tác giả đáng được chú ý ở chỗ tác giả xây dựng thêm giai đoạn điều chỉnh thông số (parameter fitting phase) để lựa chọn được tập thông số thích hợp nhất bằng cách phân hạng luật dựa vào độ đo chính xác (precision)
Trang 40(precedes) giữa các trích yếu thời gian được dựa trên quan hệ thời gian của Allen Luật có dạng A p C, với C là trích yếu thời gian, A là tập các trích yếu thời gian không chứa C, và p là quan hệ xảy ra trước về mặt thời gian Các trích yếu thời gian bao gồm một chuỗi các thời khoảng Mỗi trích yếu thời gian cơ bản liên quan đến hành vi hoặc thuộc tính của chuỗi con, bao gồm xu hướng (tăng, giảm,…) hoặc trạng thái (cao, thấp,…) Mỗi trích yếu thời gian phức tạp được xây dựng trên các trích yếu thời gian cơ bản kết hợp với các phép toán thời gian của Allen Quan
hệ xảy ra trước p bao gồm ba thông số đi kèm để diễn tả quan hệ xảy ra trước ứng với 13 phép toán của Allen, bộ ba đó là (Left shift, gap, Right shift) Độ hỗ trợ và
độ tin cậy được sử dụng ở đây tương ứng là dựa trên khoảng thời gian giám sát và tần số của luật trên tổng số episode của vế trái
Khác với công trình miêu tả ở trên về khai phá luật kết hợp, [17, 24] hướng đến khai phá luật phân lớp Trong công trình [17], tác giả đã đề nghị một phương pháp khai phá dữ liệu để khai phá luật mờ Luật mờ được khai phá lợi dụng tập
mờ để biểu diễn các qui tắc và ngoại lệ, và có khả năng kiểm soát nhiễu tốt Luật
có dạng F ⇒C [wF,C], trong đó F là tập các tập mờ được ánh xạ từ chuỗi thời gian,
C là nhãn của lớp được định nghĩa trước, wF,C là giá trị đo lường độ quan trọng của luật mờ Diễn dịch là chuỗi thời gian thỏa mãn F sẽ thuộc vào lớp C
Trong khi đó, công trình [24], định nghĩa một mô hình luật lưu trữ vế trái của luật bằng cách tạo ra cơ sở các mẫu thường xuyên, dùng đánh chỉ mục để so trùng hiệu quả, và cho phép người dùng có thể đặc tả nhiều điều kiện trên vế phải của luật Luật có dạng H t B(s,c), nghĩa là B xảy ra sau một khoảng thời gian t từ lúc H xảy ra, với độ hỗ trợ s, độ tin cậy c Đối với dạng luật này, H (phần đầu của luật) là sự thể hiện tương ứng với một mẫu thức hay chuỗi con nằm trong miền thời gian của H; trong khi đó, B (phần thân của luật) tương ứng với các đặc tính của giá chứng khoán (INCREASE, DECREASE, UNCHANGED) nằm trong miền thời gian của B Không giống như những công trình trên, [24] không khai phá hết tất cả các luật có thể có của chuỗi thời gian Thay vào đó người sử dụng có thể đặc
tả mẫu thức truy vấn nào trùng khớp với phần đầu của luật mà được khai phá bởi