Luận văn cũng cung cap haigiải thuật dùng để khai phá mẫu xu hướng tuần tự pho biến liên đối tượng va đượcáp dụng lên một tập dữ liệu chuỗi thời gian.. Do đó, luận văn sẽ sử dung tập dữ
Trang 1NGUYÊN THANH VŨ
KHAI PHA MAU XU HƯỚNG TUAN TỰ LIÊN DOI TƯỢNG
TỪ TAP DU LIEU CHUOI THỜI GIAN
Chuyên ngành : Khoa hoc máy tínhMã số: 604801
LUẬN VĂN THẠC SĨ
TP HO CHI MINH, thang 7 năm 2013
Trang 2Cán bộ hướng dẫn khoa học: TS Võ Thị Ngọc Châu
Cán bộ chấm nhận xét 1 : PGS.TS Lê Hoài Bắc
Cán bộ cham nhận xét 2 : TS Pham Van Chung
Luận văn thạc sĩ được bảo vệ tai Trường Dai học Bách Khoa, DHQG Tp.HCM ngày 22 tháng 7 năm 2013
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 TS Phạm Van Chung (PB1)
3 PGS.TS Lê Hoài Bắc (PB2)
4.TS Võ Thị Ngọc Châu (UV)5 TS Lê Thanh Vân (TK)
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý
chuyền ngành sau khi luận văn đã được sửa chữa (nêu có).
CHỦ TỊCH HỘI DONG TRƯỞNG KHOA
PGS.TS Dương Tuân Anh
Trang 3NHIỆM VỤ LUẬN VĂN THẠC SĨHọ tên học viên: Nguyễn Thanh Vũ MSHV:11076106
Ngày, tháng, năm sinh: 17/10/1988 Nơi sinh: TP.HCM
Chuyên ngành: Khoa học máy tính Mã số : 604801I TÊN DE TÀI: 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
Tp HCM, ngày 22 thang 7 năm 2013
CAN BO HUONG DAN CHU NHIEM BO MON DAO TAO
(Ho tên và chữ ky) (Họ tên và chữ ký)
TS Võ Thị Ngọc Châu
TRUONG KHOA
(Ho tên và chữ ky)
Trang 4Tôi xin gửi lời cám ơn chân thành và sâu sắc tới TS.Võ Thị Ngọc Chau, côđã hướng dẫn vô cùng tận tình và tạo mọi điều kiện tốt nhất để giúp tôi hoản thànhđề tài này về phương pháp lý luận và nội dung trong suốt thời gian thực hiện luận
văn.
Tôi cũng xin gửi lời cắm ơn tới ban giám hiệu trường Đại học Bach Khoa
TP.HCM, ban chủ nhiệm và các thầy cô trong khoa Khoa học và kĩ thuật máy tínhđã giúp đỡ, cung cấp môi trường học tập tốt nhất và những kiến thức quý báu giúptôi thực hiện dé tai này
Lời cuối, tôi xin cảm ơn gia đình, bạn bè đã hết lòng động viên, giúp đỡ tôiđể tôi có thể hoàn thành luận văn một cách tốt nhất
Trang 5Dữ liệu chuỗi thời gian ngày nay xuất hiện rất phô biến trong nhiều lĩnh vựcnhư tài chính, y học, địa chất, khí hau Lượng tri thức và những thông tin tiềm antrong dữ liệu chuỗi thời gian đóng vai trò rất quan trọng đối với chúng ta Từ nhữngkết quả có được trong quá trình khai phá tri thức, các nhà quản lý hay chuyên giaphân tích dit liệu sẽ có một góc nhìn sâu sắc hơn về những mối quan hệ mang yếutố thời gian giữa các đối tượng/hiện tượng xuyên suốt trong thời gian sống củachúng Chính vì vậy, luận văn đã dé xuất ra một khái niệm được gọi là “mẫu xuhướng tuần tự liên đối tượng” mang yếu tô thời gian Luận văn cũng cung cap haigiải thuật dùng để khai phá mẫu xu hướng tuần tự pho biến liên đối tượng va đượcáp dụng lên một tập dữ liệu chuỗi thời gian Khi so sánh với các mẫu tuần tự phobiến thường thay trong co sở dữ liệu tuần tự, các mẫu khai phá từ nhiều chuỗi thời
gian khác nhau trong luận văn sẽ mang lại cho chúng ta những thông tin chính xác
và tường minh hơn về thời khoảng xảy ra giữa các nhóm sự kiện (cụ thé hon han sovới dạng thông tin chi mang yếu tổ trước — sau)
Hai giải thuật được dé xuất sẽ dựa trên ý tưởng của phương pháp vét can(brute-force) và cầu trúc cây (Tree-based) Tinh thần chính của cả hai giải thuật khixây dựng các mẫu tuân tự pho biến liên đối tượng là dựa trên hướng tiếp cận lặptừng mức từ dưới lên Ngoài ra hai giải thuật này cũng có những cải tiến riêng dé xửlý van dé bùng nổ tổ hợp trong quá trình phân tích và tìm ra các mối quan hệ phdbiến giữa các đói tượng Khi phân tích kết quả thực nghiệm từ hai giải thuật, ta cũngthay được mức độ hiệu qua của giải thuật dựa trên cau trúc cây so với giải thuật
brute-force.
Thông qua kết quả thực nghiệm đạt được đối với dữ liệu tài chính thực tế,luận văn hoản toàn có thể được phát triển xa hơn nhăm hỗ trợ quá trình khai pháluật mang yếu tổ thời gian trên co sở dữ liệu chuỗi thời gian và ứng dụng trong hỗtrợ ra quyết định
Trang 6Nowadays, time series is present in many various application domains suchas finance, medicine, geology, meteorology, etc Analyzing and mining time seriesfor useful information and hidden knowledge is very significant in those domains tohelp users such as data analysts and managers get fascinating insights into importanttemporal relationships of objects/phenomena along the time Therefore, this thesisintroduced a notion of frequent temporal inter-object pattern and accordinglyproposed two frequent temporal pattern mining algorithms on a set of different timeseries As compared to frequent sequential patterns in sequential databases, frequenttemporal inter-object patterns are more informative with explicit and exact temporalinformation automatically discovered from many various time series.
The two proposed algorithms which are brute-force and tree-based areefficiently defined in a level-wise bottom-up approach dealing with thecombinatorial explosion problem in the association analysis task When analyzingexperimental results, we can see the advantage of tree-based algorithm incomparision with brute-force algorithm.
As shown in experiments on real financial time series, this thesis results canbe further used to efficiently enhance the temporal rule mining process on timeseries for decision making support.
Trang 7Tô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 nao của luận văn này được nộp để laybang cấp ở trường này hoặc trường khác
Ngày 21 tháng 06 năm 2013
Nguyễn Thanh Vũ
Trang 81.2 Mục tiêu dé tải ác vn 1111211 11111 TH ng TH ng ng ng gi 191.3 Pham Vi G6 ôn hố 191.4 Y nghĩa dé tai cccscscscscsscscscscscsscscscssssssescscscscssssssscscsssssscscssessesees 191.5 Cấu trúc luận VAN vee escececescssscscececcscccecscececeevevscscececcvacsceesevacaceceseesavacaceceeveves 20CHU ONG 2 : CƠ SO LY THUYẾTT - 5< 5< 5< s9 Eseeseeesereseresesee 22
2.1 Dir li8u ChUG: thoi QIAN 008008 .- 22
2.1.2 Chuỗi con (SubseqU€nC€) - 0000 ng ke 22
2.1.3 Trùng khớp (Math) - -c 1n ng 23
2.1.4 Trùng khớp tam thường (Trivial Match) 5-5- 2 2 5s+s+sscs+sseecs¿ 232.1.5 Trùng khớp không tam thường (Non-trivial match) - 24
2.2 Xử lý dữ liệu chuỗi thời gian 5-5-5555 SE eSextxrxrkrkrkrrrrerrrrrrrrree 24
2.2.1 Các độ đo tương tự (similarity measuremen[) -«« «+ s+<<s<«2 24
2.2.2 Chuẩn hóa dit liệu (Data Normalization) - - 5s s se £sEsxsxzezecxe 272.3 Khai phá mẫu tuần tự phố biến + 2+ 252 +E+EEE+E+E£EE£EeEererrervrrerree 27
Trang 9CHƯƠNG 3 : CAC CÔNG TRÌNH NGHIÊN CỨU LIEN QUAN 383.1 Các phương pháp tim motif trong dữ liệu chuỗi thời gian - - 383.1.1 Phương pháp tim motif đối với co sở dữ liệu chuỗi thời gian lớn 38
3.1.2 Phương pháp tìm motif dựa trên MÌDL - << 5 +5 55s ++***sseeeess 38
3.2 Một số giải thuật khai phá mẫu phổ biến - + 2 252 552£+E2££2£E£EzEz£ze: 40
3.2.1 rối 02000 - 403.2.2 Giải thuật FP-Growth ccccccccesssssnecccceesessceeeceesesseeeeceessesnaeeceeeeeseeeaeees 4]3.2.3 Giải thuật ŒSTP HH re 423.2.4 Giải thuật Prefix ŠpaIn - nọ re 42
3.3 Một số công trình liên quan khác về khai phá mẫu trên dữ liệu chuỗi thời gian
¬ 43
CHƯƠNG 4 : HƯỚNG TIẾP CAN GIẢI QUYẾT VAN ĐẼ <- 47
4.1 Giới thiỆU -5c- 5-5623 122523 15 521111511115 11115111115111111 1111111111010 111 cxe 47
4.2 Quá trình khai phá mẫu xu hướng tuân tự liên đối tượng trên cơ sở dữ liệu
ChUGI thOd QIAN 0007577 47
4.2.1 Giai đoạn chuyển đổi sang chuỗi thời gian khuynh hướng 494.2.2 Giai đoạn tìm các chuỗi con phổ biến từ chuỗi thời gian khuynh hướng 504.2.3 Giai đoạn khai phá mẫu xu hướng tuần tự phô biến liên đối tuong 524.3 Các giải thuật được dé xuất dé khai phá mẫu xu hướng tuân tự liên đối tượng
trên tập dữ liệu chuỗi thời gian - - + + 25252 S222 SE 2xx +tEeEeEekrrererrrrrrrrrrereee 54
4.3.1 Giải thuật Brute FOrce c2 0110200130101 1111111351111 11 3 ch 55
4.3.2 Giải thuật dựa trên cau trúc 2707 63
CHƯƠNG 5 : THỰC NGHIIỆM 2- 2e ©e£ES£vs£€vdeseevseecvsd 74
Trang 10(1 0 a ‹-£I 745.2 Tiền xử lý dữ liệu -.- + + <3 1151515151111 1111111111111 T111 re 75
5.3 Lưu trữ dữ liỆU ¿ - 556 SE 1E 1 321 1515151111115 1511110111101 11 11011111111 755.4 Mô tả thực nghiỆm - (000300 vớ 76
5.4.1 Thực nghiệm cố định 7?0i7i~s1jD 5-5-5252 S2 S222 2E+E2ESEEEE‡EESErErkrkrrerees 785.4.2 Thực nghiệm cố định chiều dai chuỗi thời gian - - 5-55: 825.4.3 Thực hiện kiểm tra số lượng kết hợp được yêu cầu CAO ra -.c-ec 8654.4 Thực hiện kiểm tra số ứng viên của hai giải thuật -. - 88{8 “ ::Ö1+- 89
CHƯƠNG 6 : KET LUẬN 5 5-5-5 %5 << << s9 39 ExexeseseSeEesese2 9215-7 ‹.(ttA 92
6.2 Đóng góp của luận văn - <0 HH re 92
6.3 Hướng phát triển trong tương lai - + 2 2 S+S+££2£E+E£E+EeEEErEreerersreee 93
Trang 11Mục lục hình
Hình 1.1 Minh họa dữ liệu chuỗi thời gian cỗ phiếu S&P500 - 5+: 17
Hình 2.1 Các chuỗi con trong một chuỗi thời gian [17] -5-5555s5s5s5s5s2 22Hình 2.2 M là một chuỗi con trùng khớp của chuỗi con C trong chuỗi thời gian T
[17] - - G0099 9010101 nọ 23
Hình 2.3 Các trùng khớp tầm thường bên trái và bên phải của chuỗi C [17] 23
Hình 2.4 Tìm khoảng cach Euclid [18] , << << 555513333 eeeeeessss 25Hình 2.5 Tính khoảng cách theo DTW [18] cccSS S111 1xx, 26Hình 2.6 Ma trận cho IYIW [[L] - - << E321 111111313 11111 ky 26
Hình 2.7 Biến đổi thu giảm chiều theo PAA [1Đ] - 25555552 s+cecscscsee 30
Hình 2.8 Minh hoa breakpoints cho phương pháp SAX [T7] - 31
Hình 2.9 Biểu diễn bang SAX [17-18] ccecccscsssscsessssesessssessesssescsesesseseseeseseseesesesen 32
Hình 2.10 Minh hoa cách xử lý đụng độ trong bảng băm - «5555 << 52 37
Hình 3.1 Hình minh hoa cho quá trình chuyển đối [21] - - 2 252555555: 39Hình 4.1 Minh họa các giai đoạn chính trong dé tài -¿-5- 55c cscs+sccee 46Hình 4.2 Mơ tả giai đoạn một của dé tài ¿- - 5+ + 2522223 ES SE 2E rrrkrree 49
Hình 4.3 Minh họa cho giai đoạn 2 01 1 1 1n 1111111 kg 51
Hình 4.4 Minh họa cho một mẫu tuần tự pho biến với các thành phần của một đối"0i gs:8)01518050 7257 :‹+11 53Hình 4.5 Minh họa cho một mẫu tuần tử pho biến với các thành phần của hai đốitượng CO phiêu NY và SH -:- 522212123 12 1212111211111 21111 11011111111 54
Hình 4.6 Minh họa quan hệ prec€des - - - - <5 5 6+ 1111993011 1.9 1 n1 re 57Hình 4.7 Minh họa quan hé ““i€efS”” - - - G5 G3001 9 ng re 57Hình 4.8 Minh họa quan hé ““COTIfA1TIS”” - - -G G0 rre 58Hình 4.9 Minh họa quan hệ “overlaps” eeeseccccceesssneeceeeeseenaeeeceeesesnaeeceseeseenaeaeees 58Hình 4.10 Minh hoa quan hệ ““SfATẨS”” - - - G5 G1090 SH ng re 58Hình 4.11 Minh hoa quan hệ “Finished by ”” -cc cv re, 59Hình 4.12 Minh họa quan hệ “equaÏÏ” << - G0019 99 0 ng re 59
Trang 12Hình 4.13 Mã giả giải thuật Brute Force G0 n9 ng re 63
Hình 4.14 Minh họa một node trong cau trúc CỔY TQ xế 64Hình 4.15 Mô tả cau trúc cây sau bước 1 và 2 -¿ ¿2 +++x+EsEz£E+EctsEerrsrerree 65Hình 4.16 Minh hoa cau trúc cây sau bước 3 - ¿525cc St tt rrrrreg 66
Hình 4.17 Minh họa cây sau ĐƯỚC ⁄4 - Ă Ăn rre 68Hình 4.18 Mã giả ham CreateTree «0.0 eeeesscccccceesssnceeceessesneeeeceeesesnaeeeeeeceeseeaeees 69Hình 4.19 Mã giả thủ tục BuildT ree 5G 0001011111133 1011111 1 x1 re 69Hình 4.20 Mã giả thủ tục CombineChildNodes - << c1 eess 70
Hình 4.21 Mã giả thủ tục CombineNode trong giải thuật dựa trên cầu trúc cay 71
Hình 4.22 Mã giả hàm OverallCombine trong giải thuật dựa trên cau trúc cây 72
Hình 4.23 Mã giả hàm FindPatternContentAndPosition << << «<< «<2 73Hình 5.1 Chuỗi thời gian chứng khoán cô phiếu S&P500 từ ngày 1/4/1982 76
Hình 5.2 Chuỗi thời gian chứng khoán cổ phiếu BA từ ngày 1/4/1982 77
Hình 5.3 Chuỗi thời gian chứng khoán cổ phiếu CSX từ ngày 1/4/1982 77
Hình 5.4 Chuỗi thời gian chứng khoán cổ phiếu CAT từ ngày 1/4/1982 77
Hình 5.5 Chuỗi thời gian chứng khoán cổ phiếu DE từ ngày 1/4/1982 78
Hình 5.6 Đồ thị biểu diễn thời gian chạy ứng với một chuỗi thời gian S&P500 vàMIN-SUP S 79
Hình 5.7 Đồ thị biểu diễn thời gian chạy ứng với hai chuỗi thời gian S&P500, BAVa MIN-SUP h 80
Hình 5.8 Đồ thị biểu diễn thời gian chạy ứng với ba chuỗi thời gian S&P500, BA,CAT và MIN-SUP Š G - - c0 Họ nọ 81Hình 5.9 Dé thị biéu diễn thời gian chạy ứng với bốn chuỗi thời gian S&P500, BA,CAT, CSX và min-SUD = 5 - -< c 00 81Hình 5.10 Đồ thi biểu diễn thời gian chạy ứng với năm chuỗi thời gian S&P500,BA, CAT, CSX, DE và min-SUD Š - - - - G ch rre S2Hình 5.11 Đồ thị biểu diễn thời gian chạy ứng với chuỗi thời gian S&P500 và chiềudai chuỗi thời gian = 1 ¿c2 2t 23232332 E8 E21 1111111111111 83
Hình 5.12 Đồ thị biểu diễn thời gian chạy ứng với 2 chuỗi thời gian S&P500, BAvà chiều dài chuỗi thời gian = 100 - 2-52 562952 E‡E+EEE£ESEEEEEEEEErErkrkrrkrerreee 84
Trang 13Hình 5.13 Đồ thị biểu diễn thời gian chạy ứng với 3 chuỗi thời gian S&P500, BA,CAT và chiều dài chuỗi thời gian = 10( ¿5-5-5522 £E+EeEvEekererkerrrerree 85Hình 5.14 Đồ thị biểu diễn thời gian chạy ứng với 4 chuỗi thời gian S&P500, BA,CAT, CSX và chiều dài chuỗi thời gian = 100 - 252 52+55+2s+eseecxvrereceee 85Hình 5.15 Đồ thị biểu diễn thời gian chạy ứng với 5 chuỗi thời gian S&P500, BA,CAT, CSX, DE và chiêu dài chuỗi thời gian = 100 2255552 s+s+ccscce2 86Hình 5.16 Minh hoa các mẫu xu hướng tuần tự liên đối tượng được tìm ra (ứng với5 đối tượng là SNP500, CAT, DE, CSX, Boeing) ¿5-5 +52 5< cececesesrrsred 90
Trang 14Mục lục bảng
Bang 2.1 Ví dụ về cơ sở dữ liệu chuỗi [ Ï ] ¿- 6 + + ke EsEsE#E+ESEEeEsEeEekserersesed 28
Bang 2.2 Bang độ đo khoảng cách giữa các kí tự [7-18] « -«<<<<<<<<ss2 32
Bang 2.3 Sáu loại kí tự sử dụng cho quá trình biến đối sang chuỗi kí tự dành cho dữliệu cỗ phiẾU - 5-5561 E9 E521 1515151511 11111515 111111151511 11 0115111101111 71 7001111 cv 34Bảng 2.4 Mười ba mối quan hệ cơ ban Allen [29] - << << sssssssseks 35
Bang 2.5 Các cặp quan hệ thuận nghịch [29] - 5 << kek+ssssseeeeeess 35
Bảng 5.1 Kết quả khi chạy với một chuỗi thời gian S&P500 và min-sup = 5 79Bảng 5.2 Kết quả khi chạy với hai chuỗi thời gian S&P500, BA và min-sup = 5 79Bảng 5.3 Kết quả khi chạy với ba chuỗi thời gian S&P500, BA, CAT và min-sup =
Bang 5.4 Két qua khi chay voi bốn chuỗi thời gian S&P500,BA,CAT,CSX SỈBảng 5.5 Kết quả khi chạy với năm chuỗi thời gian S&P500, BA, CAT, CSX, DE
dai chuỗi thời gian = 1 ¿c2 2t 23232332 E8 E21 1111111111111 85
Bảng 5.10 Kết quả khi chạy với 5 chuỗi thời gian S&P500, BA, CAT, CSX, DE vachiêu dài chuỗi thời gian = 100 c.ccccccccsccsssesscsssesscsesessesesessesssessesesessesessseeseseseeseeen 86Bảng 5.11 So sánh tổng số lượng kết hợp được yêu cau tạo ra từ hai giải thuật 7Bảng 5.12 So sánh tong số lượng kết hợp giữa hai giải thuật - 88Bảng 5.13 So sánh tổng SỐ ứng viên được tạo giữa hai giải thuật - 88
Trang 15CHUONG 1 : GIỚI THIỆU DE TÀI
1.1 Giới thiệu vẫn đề
Sự phát triển và ra đời của hệ thống máy vi tính đã đánh dấu một bước độtphá trong lich sử phát triển của con người Máy vi tính trở thành một công cụ khôngthé thiếu trong cuộc sống cũng như trong công việc Từ những chiếc máy tinh thôsơ ban đầu chỉ có khả năng tính toán và xử lý thông tin hạn chế, ngày nay chúng tacó thé sở hữu những siêu máy tính với tốc độ xử lý cực nhanh va khả năng lưu trữlớn Ta sử dụng máy tính trong rất nhiều lĩnh vực khác nhau: tài chính, công nghiệp,nông nghiệp, thé thao
Ngày nay, có thé nói rang con người chìm đắm trong dữ liệu nhưng lại thiếuthông tin Với sự tiễn bộ của các công nghệ lưu trữ và phần cứng máy tính hiện nay,việc thu thập và lưu trữ dữ liệu đã trở nên đơn giản Nhưng từ khối lượng dữ liệulớn như vậy, quá trình trích xuất cũng như phân tích được những thông tin quantrọng đối với người quan tâm không phải là một công việc dễ dàng Những phươngpháp trích xuất và lưu trữ như sử dụng kho dữ liệu (data warehouse) dé hỗ trợ choviệc truy xuất và ra quyết định đã được đề xuất Các kĩ thuật khám phá tri thức cũngđược phát triển nhằm giúp ching ta tim ra tri thức trong khối lượng dữ liệu khônglỗ đang có Theo Frawley và W.J (1991)[1], khám phá tri thức trong các co sở dữ
liệu là một quá trình không đơn giản (non — trivial) với mục tiêu là tìm ra được các
mẫu có tính hợp lệ, phố biến, mang ý nghĩa, có thé hiểu và diễn giải được
Ngày nay, nhiều hình thức kinh doanh mới ra đời mang lại lợi nhuận vô cùngto lớn Nếu chỉ dựa trên những dữ liệu thông thường đang có thì hoàn toàn khôngđủ để giúp nhà đầu tư đưa ra quyết định đúng đắn và kịp thời Một trong những hìnhthức dau tư pho biến hiện nay là đầu tư chứng khoán Bên cạnh kinh nghiệm và hiểubiết của các nhà đầu tư, nếu như ta áp dụng được các ki thuật khai phá dữ liệu lêndữ liệu chứng khoán thì chắc chăn sẽ hỗ trợ rất nhiều trong việc dự báo sự biến
động về giá của các cô phiêu cũng như môi liên hệ giữa các cô phiêu mà nhà đâu tư
Trang 16quan tâm Do đó, luận văn sẽ sử dung tập dữ liệu chuỗi thời gian trong lĩnh vực nayđể thực hiện các minh họa của đề tài
Hiện nay nhiều công trình liên quan tới phân tích dữ liệu chứng khoán đã
được thực hiện trong thời gian qua Trong lĩnh vực dự báo, người ta sử dụng mô
hình ARIMA (AutoRegressive Integrate Moving Average) do Box-Jenkins dé nghị(1996) dựa trên mô hình tự hồi quy AR và mô hình trung bình động MA [3-5].Ngoài ra người ta cũng sử dụng các kĩ thuật như mạng nơ-ron hay cây quyết định để
dự đoán hoặc phân lớp các dữ liệu tài chính chứng khoán Jo Ting, Tak-chung Fu,
và Fu-lai Chung [6] cũng tiến hành khai phá dữ liệu liên giao dịch (intertransaction) và nội tại trong cùng một giao dịch (intra transaction) dé tìm ra các mẫupho bién trong đó các item trong một mẫu không bị giới hạn trong một loại cô phiếumà có thé đến từ nhiều loại cổ phiếu khác nhau Nhóm tác giả C.Cho, Y.Wu [26]nghiên cứu khai phá dữ liệu liên giao dịch dựa trên đồ thị và nhóm của Lu, Han vàL.Feng dự đoán khuynh hướng dịch chuyền về giá của cô phiếu [25]
Khi nhắc đến các dữ liệu tài chính chứng khoán ta thường nhắc đến dữ liệuchuỗi thời gian (time series data) Dữ liệu chuỗi thời gian xuất hiện một cách tựnhiên ở nhiều ứng dụng thực tế trong cuộc sống như: lĩnh vực kinh tế - tài chính (dữliệu chứng khoán, giá vang ), lĩnh vực môi trường (lượng mưa hàng ngày, chấtlượng không khí ), lĩnh vực y tế (nhịp tim, sóng não ), dia chất, hóa học Mộtthống kê cho thấy trong 4000 bức ảnh của 15 tờ báo được sản xuất từ năm 1974 tới1989 thì tới 75% số ảnh là ảnh dữ liệu chuỗi thời gian [7] Rõ ràng mức độ pho biếncủa dữ liệu chuỗi thời gian là rất lớn Một chuỗi thời gian là chuỗi trị số thực, mỗitrị biểu diễn một giá tri đo tại những thời điểm cách đều nhau [18] Khi nhắc đến dữliệu chuỗi thời gian, ta cần phải lưu ý đến thứ tự của các sự kiện xảy ra trên chuỗithời gian đó vì nếu thay đổi thứ tự hoặc dịch chuyển thời điểm xảy ra các sự kiện thìdữ liệu hoàn toan bị biến đối Dữ liệu chuỗi thời gian cũng thường rất lớn vì nóđược lưu trữ liên tục trong nhiễu năm và khoảng cách giữa 2 thời điểm đo đạc liềnkể nhau có khi rất nhỏ (vài ms đối với dạng dữ liệu dia chất hoặc y tế)
Trang 17Trong quá trình xem xét và đánh giá dữ liệu chuỗi thời gian, ta thường xem
xét một số tính chất tiêu biểu: tính khuynh hướng (trend) — các giá trị đo trên chuỗithời gian có khuynh hướng tăng hoặc giảm xét về lâu dài, tính mùa — các mẫu phốbiến xuất hiện lại sau những khoảng thời gian cố định (năm này qua năm khác theomùa), tính chu kì - dữ liệu biến đổi có quy luật theo chu kì (chăng hạn từ 5 tới 7năm thì lặp lại), tính ngẫu nhiên - dữ liệu chuỗi thời gian không mang tính chấtgiống 3 tính chất vừa nêu ở trên
Chính vì mức độ pho biến, độ lớn chiều dai cũng như những tri thức tiêm Ancó thể có trong dữ liệu chuỗi thời gian, người ta bắt đầu quan tâm tới quá trình khai
phá dữ liệu chuỗi thời gian Khai phá dữ liệu chuỗi thời gian được xem là thử thách
đứng hàng thứ 3 trong số 10 thử thách lớn của khai phá dữ liệu nói chung [46] [35]đã chỉ ra rằng lĩnh vực này là một trong những lĩnh vực phát triển và nhận đượcnhiều sự quan tâm nhất gần đây Hầu hết các lĩnh vực thống kê tài chính, địa ly, ytế đều áp dụng khai phá dữ liệu chuỗi thời gian để hỗ trợ cho quá trình phân tích
và rút trích tri thức từ tập dữ liệu của họ.
Các tác vụ tiêu biểu khi nhắc đến xử lý chuỗi thời gian: thao tác đánh chỉ
mục (indexing) do Chakrabarti (2002)[8], Kahveci va Singh (2001) [9], Popivanov
(2002) [10] dé xuất va nghiên cứu; kĩ thuật gom cum (clustering) do Aach andChurch, (2001) [11], Kalpakis (2001) [12], Keogh va Pazzani (1998) [13] dé xuất:
kĩ thuật phan lớp (classification) do Geurts (2001) [14], Keogh va Pazzani (1998)
[13] đề xuất va nghiên cứu; kĩ thuật dự đoán (prediction); ki thuật tổng kết
Trang 18(summary), kĩ thuật tìm kiếm bất thường (anomaly detection) do Guralnik vàSrivastava (1999) [15], Keogh và các cộng sự (2002) [16] đề xuất; kĩ thuật tìmkiếm motif do Praval Patel, E.Keogh, J.Lin, S.Lonardi nghiên cứu [17]; kĩ thuật timmau pho bién do J.Han, H.Cheng [27] hay S.Luhr, G.West [24] va E.Keogh,
P.Smyth [23] nghiên cứu.
Một trong những bai toán khai phá dữ liệu chuỗi thời gian cơ ban là khai phá
luật kết hợp cũng như khai phá mẫu tuần tự pho biến [1] Quá trình khai phá luậtđem lại cho chúng ta nhiều thông tin có ý nghĩa nhưng đây không phải là một côngviệc dé dang [44] Quá trình nay thường gồm 2 bước là tìm ra các mẫu phổ biến roisau đó dẫn xuất ra các luật kết hợp Phạm vi của luận văn tập trung vào bước thứnhất
Lý do mà ta quan tâm tới việc khai phá mẫu xu hướng tuần tự từ tập dữ liệuchuỗi thời gian chính là bản chất tuần tự của dữ liệu chuỗi thời gian (các sự kiệnđược ghi nhận tại những thời điểm cách đều nhau và có thứ tự) Khai phá mẫu tuầntự pho biến là quá trình tìm ra các mẫu xuất hiện thường xuyên có thứ tự hoặc là cácchuỗi con xuất hiện thường xuyên trong dữ liệu chuỗi thời gian Khác với cơ sở dữliệu tuần tự thông thường khi áp dụng phương pháp khai phá mẫu tuần tự phổ biến
trên dữ liệu chuỗi thời gian ta phải quan tâm tới khoảng cách chính xác giữa các
thời điểm xảy ra sự kiện Tu những mẫu tuần tự pho bién nay, ta co thé ung dung dé
xác định các motif thường gặp trong dữ liệu chuỗi thời gian hoặc xa hon nữa là tìm
ra các môi quan hệ giữa các mẫu thường xuyên
Một ví dụ về khai phá mẫu tuần tự pho biến là dựa vào giá đóng cửa của cácloại cô phiếu, người ta có thé rút ra một kết luận như sau: “Giá cỗ phiếu công ty Xsẽ tăng 2 phiên liên tiếp rồi giảm trong 3 phiên tiếp theo” hoặc thậm chí là mối liênhệ giữa 2 loại cổ phiếu như “Giá cô phiếu X sẽ tăng liên tục trong 2 phiên rồi sau đó5 ngày giá cổ phiếu Y sẽ giảm trong 3 phiên tiếp theo” Rõ ràng những thông tin cóđược như vậy là rất có gia tri vả nếu như ta có thé tận dụng được ki thuật khai phanảy thì sẽ đem lại nhiều hỗ trợ đầu tư phù hợp trong kinh doanh
Trang 191.2 Mục tiêu đề tài
Mục tiêu dé tài là khai phá mẫu xu hướng tuân tự liên đối tượng từ tập dữliệu thời gian Tu tập dữ liệu chuỗi thời gian (nhân tạo và thực tiễn), ta sẽ tìm ra tấtcả các mẫu tuân tự phô biến liên đối tượng Từ đó dẫn ra ý nghĩa sự liên hệ giữa cácđối tượng liên quan
1.3 Phạm vi đề tài
Thông qua tập dữ liệu chứng khoán của thị trường thế giới (hoặc của ViệtNam), ta sẽ tiến hành khảo sát tính chất của chuỗi thời gian một cách tong quát(thực hiện tự động hoặc xem xét trực tiếp) Sau đó từ những chuỗi thời gian có tínhchất phù hop với yêu cau, ta sẽ tiến hành khai phá dé tìm ra tat cả các mẫu tuần tựphố biến liên đối tượng Đề tài sẽ dựa trên ý tưởng của các phương pháp khai phámẫu phố biến như Apriori và FP Growth và có một số điều chỉnh về giải thuật đểphù hợp với tính chất của dữ liệu chuỗi thời gian Cuối cùng ta tìm một phươngpháp phù hợp dé đánh giá mối liên hệ giữa các đối tượng hiện diện trong các mẫuphố biến vừa tìm được
Ngoài ra dé tài cũng sẽ tập trung đánh giá về hiệu suất để đảm bảo chương
trình thực hiện phép khai phá trong một thời gian va hao phí trong phạm vi chophép.
Trong quá trình thực hiện, dé tài sẽ sử dụng lại một số kĩ thuật phố biến trong
quá trình xử lý cũng như khai phá dữ liệu chuỗi thời gian đã có sẵn như: rút trích
đặc trưng, kĩ thuật tiền xử lý, kĩ thuật tìm motif, kĩ thuật thu giảm chiều(dimensionality reduction), kĩ thuật rời rạc hóa (data discretization), kĩ thuật biếnđổi sang chuỗi kí tự, và các kĩ thuật trong khai phá dữ liệu chuỗi tuần tự phố biến.1.4 Ý nghĩa đề tài
Ý nghĩa thực tiễn: hiện nay quá trình phân tích và xử lý dữ liệu tài chính,đặc biệt là dữ liệu chứng khoán đóng một vai trò quan trọng trong nên kinh tế thếgiới nói chung và Việt Nam nói riêng Đề tài không chỉ cung cấp cho người dùngnhững thông tin hữu ích về riêng một đối tượng cụ thể mà trên hết nó còn có khả
năng thê hiện mỗi quan hệ giữa các đôi tượng liên quan Kêt quả của đê tài có thê
Trang 20giúp ta phân tích biến động trong quá khứ và dẫn ra những xu hướng trong tương laicủa từng loại cô phiếu (tăng, giảm ) Ngoài ra ta cũng cho phép nha dau tư nhìnthay được sự liên hệ giữa các loại cổ phiếu khác nhau và ý nghĩa của những mốiquan hệ này, từ đó có thé chon lựa việc đầu tư vào nhóm cổ phiếu sao cho có hiệu
quả và giảm bớt rủi ro.
Ý nghĩa khoa bọc: Đóng góp đầu tiên của luận văn là đề xuất ra một khuônmau (template) gọi là “mẫu xu hướng tuân tự pho biến liên đối tượng” hỗ trợ giảiquyết van dé khai phá mẫu phổ biến trên tập dữ liệu chuỗi thời gian Da số các côngtrình khai phá mẫu xu hướng tuần tự đã có chi tập trung khai phá trên cơ sở dữ liệuchuỗi (sequential database) - nghĩa là bỏ qua yếu tố thời khoảng giữa các sự kiện(chỉ quan tâm sự kiện A xảy ra trước B chứ không quan tâm là trước bao lâu) Đềtài sẽ có khả năng tìm ra các mẫu phố biến tuần tự mà vẫn giữ lại đúng tính chất
thời khoảng vừa nêu Mặt khác, các công trình trước đây chỉ tập trung khai phá trên
một chuỗi cụ thể (một đối tượng nhất định), luận văn không chỉ tiễn hành khai phátrên một đối tượng cụ thể mà còn mở rộng ra khai phá trên nhiều đối tượng Mẫuđược tìm thay có thành phan đến từ nhiều đối tượng khác nhau Vì vậy kết quả củaviệc khai phá không chỉ gói gọn trong việc đánh giá một đói tượng cụ thể (mộtchuỗi thời gian) mà hơn thế, đề tài giúp cho chúng ta có thể thấy được mối quan hệcụ thé giữa các đối tượng có liên quan tới nhau (thông qua các mẫu pho biến tuân tựliên đối tượng) Từ đó khối lượng tri thức mà người sử dụng có được sẽ tăng lên, trithức rút trích sẽ mang tính tong thé hơn Cuối cùng, luận văn dé xuất ra hai giảithuật nhăm hỗ trợ cho quá trình tìm kiếm các mẫu phổ biến tuần tự liên đối tượng
vừa nêu và chạy thực nghiệm trên dữ liệu tài chính thật sự Thời gian chương trình
thực hiện khai phá phải năm trong một giới hạn cho phép.1.5 Cấu trúc luận văn
Luận văn được trình bày theo bố cục sau:Chương 1 - Giới thiệu dé tai: đưa ra nguyên nhân cũng như tính cấp thiết cho
việc nghiên cứu và phát triên đê tài.
Trang 21Chươ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 lý
thuyết có liên quan tới dé tài
Chương 4 - Hướng tiếp cận giải quyết van dé: giới thiệu các giai đoạn chínhcho quá trình khai phá mẫu xu hướng tuần tự liên đối tượng trên cơ sở dữ liệu chuỗi
Trang 22CHƯƠNG 2 : CƠ SỞ LÝ THUYET
2.1 Dữ liệu chuỗi thời gian
2.1.1 Time Series
Một chuỗi thời gian (time series) là chuỗi trị số thực, mỗi trị biểu diễn mộtgiá tri đo tại những thời điểm cách đều nhau [18] Hoặc chuỗi thời gian T = tị, ứ,-» tm là một tập có thứ tự m biến mang gia tri số thực hoặc gia tri số nguyên đượcghi nhận tại những thời điểm cách đều nhau [17]
Ngoài ra người ta cũng đưa ra định nghĩa về chuỗi thời gian đơn biến vàchuỗi thời gian đa biến Chuỗi thời gian đơn biến là một chuỗi thời gian chỉ chứamộ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 đềunhau 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
2.1.2 Chuỗi con (Subsequence)
Nếu ta có một chuỗi thời gian T có chiều dải m thì một chuỗi con C của T sẽchứa một phần gồm những giá trị ở những vị trí nối tiếp nhau trong T sao cho C cóchiều dai n (n < m) và bắt dau tại một vị trí p trong T [L7]
C =tp fprn¡ với [Sp<m—n+l
Thông thường người ta sử dụng cửa số trượt (sliding window) để trích xuấtcác chuỗi con từ chuỗi thời gian T Hình 2.1 cho thấy ví dụ về 3 chuỗi con A,B,Ctrong một chuỗi thời gian (được đánh dấu bởi mũi tên)
Trang 232.1.3 Trùng khớp (Match)
Cho một số thực dương R (thông số về phạm vi khoảng cách giúp xác định
sự trùng khớp giữa 2 chuỗi con do người dùng định nghĩa) và một chuỗi thời gian
T Biết rang T chứa một chuỗi con C bat đầ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, nghĩa là D(C, M)
< R thì ta nói rang M là một chuỗi con trùng khớp với C và ngược lại
2 \/ ÀL i + i L 1 L L
Trivial
Trivial oyM atch
L 1 C= 1 1 mm 1 —L 5= 1
0 50 100 150 700 350 300 150 An 4450 san
Hình 2.3 Các trùng khớp tầm thường bên trái và bên phải của chuỗi C [17]
Trang 242.1.5 Trùng khớp không tầm thường (Non-trivial match)Hai chuỗi con được gọi là trùng khớp không tầm thường nếu như chúngtrùng khớp nhau và được chia cắt bởi một chuỗi con khác không trùng khớp với cả
2 chuỗi trên [17]
2.1.6 Motif
Một chuỗi con (subsequence) trong chuỗi thời gian T được lặp lại ít nhất mộtlần trong T được xem là một motif Lưu ý là không cần phải trùng khớp toàn bộ(nghĩa là giỗng nhau hoàn toàn) thì mới được xem là motif [17]
1 — motif: chuỗi con có nhiều trùng khớp không tầm thường nhất (kí hiệu là
C¡)
K — motif (motif có ý nghĩa thứ K) là chuỗi con Cụ có số lượng trùng khớpkhông tầm thường nhiều nhất thỏa D(C, Cj) > 2R (với với 1 Š?< K) Định nghĩanày làm cho tập các motifš phải loại bỏ tương hỗ để đề phòng trường hợp cácmotifs có chung quá nhiều phân tử và hién nhiên trở thành một motif
2.2 Xứ lý dữ liệu chuỗi thời gian
Đối với dữ liệu chuỗi thời gian, thông thường ta phải xem xét một số kháiniệm được sử dụng để hỗ trợ cho việc so sánh và khai phá
2.2.1 Các độ đo tương tự (similarity measurement)
Đối với dạng bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian, ta dùngmột công thức dé tính độ tương tự giữa hai chuỗi thời gian
Trang 25Hinh 2.4 Tim khoang cach Euclid [18]
Ưu điểm: đơn giản, dé dàng tinh, dé mở rộng cho nhiều dang bài toán khaiphá dữ liệu chuỗi thời gian
Khuyết điểm: nhạy cảm với nhiễu, không tính được khi 2 chuỗi thời gian cóchiều dài khác nhau hoặc biên độ dao động khác nhau [18]
Độ đo xoắn thời gian động [18]
Từ 2 chuỗi thời gian X và Y, ta tính khoảng cách thông qua việc ánh xạ một
điểm từ chuỗi thời gian này sang nhiều điểm của chuỗi thời gian kia và ánh xạ nàykhông thắng hàng Phương pháp này gọi là xoắn thời gian động (Dynamic Time
Warping — DTW) do Berndt và Clifford (1996) giới thiệu
Phương pháp này cho phép mở rộng hoặc thu hẹp các tín hiệu (signals) theo
chiều thời gian Ý tưởng chính như sau:
Giả sử ta có 2 chuỗi thời gian X và Y như sau:
X =XI,X¿ Xp
Y = V1, Vos YmTa cho phép sự mở rộng của từng chuỗi thời gian bang cách lặp lại các phan
tử Sau quá trình này ta được hai chuỗi mới là X’ và Y’ Độ đo Euclid sau đó đượcáp dụng cho hai chuỗi X’ và Y’ này:
Trang 26Hinh 2.6 Ma tran cho DTW [18]
Người ta áp dung giải thuật quy hoạch động dé tính khoảng cách DWT giữa2 chuỗi thời gian Đầu tiên khoảng cách con D(i, j) được tính trước rồi sau đó tiếp
tục tính cho tới khi D(m.n) được tinh:
Dự, J) =lx;¡— y¡ Ì+ min (DG — 1, J), DỤ — 1,J— 1), DG,j-1)) (1)
Ưu điểm: kết qua tính chính xác hơn so với độ do Euclid và cho phép nhậndang mau có chiêu dài khác nhau nhưng có hình dạng giỗng nhau
Khuyết điểm: thời gian chạy lâu [18]
Độ đo chuỗi con chung dài nhất (Longest Common Subsequence)[18]Phương pháp này cho phép bỏ qua những dữ liệu nhiễu khi so sánhCó thể áp dụng quy hoạch động cho bài toán tìm chuỗi con chung dài nhất
Trang 27X =3,2,5,7,4,8, 10, 7Y=2,5,4,7,3,10,8,6LCS =2,5,7, 10
Độ tương tự của X và Y: Sim(X,Y) =|LCS| = 4 (Với 0< Sim(X,Y) < length )hoặc Sim(X,Y) = lLCSI/n (Với 0< Sữm(X,Y) <1)
Ưu điểm: trực quan và cho phép loại bỏ nhiễuKhuyết điểm: phải tìm ra một giải thuật và cau trúc dữ liệu phù hợp để giảmbớt không gian hao phí hoặc thời gian tìm kiếm (nếu giải quyết băng đệ qui hoặc
qui hoạch động) [18].
2.2.2 Chuẩn hóa dữ liệu (Data Normalization)Thông thường trước quá trình thu giảm số chiều (dimensionality reduction)hoặc rời rac hóa dữ liệu (discretization), chúng ta thường chuẩn hóa đữ liệu chuỗithời gian trước Lý do để ta chuẩn hóa dữ liệu là do dữ liệu đầu vào (ở đây là dữliệu chuỗi thời gian) thường có biên độ dao động rất khác nhau va việc so sánh trựctiếp dữ liệu gốc trở nên khó khăn Một trong những phương pháp chuẩn hóa dữ liệuthường được áp dụng là phương pháp Z-score (phương pháp chuẩn hóa dựa trên độlệch chuẩn và giá trị trung bình)
Trang 28Agrawal và Srikant dé xuất lần đầu năm 1995 [1] dựa trên chuỗi mua sản phẩm củakhách hàng Khai phá mẫu tuần tự được ứng dụng trong nhiều lĩnh vực như: phântích thị trường, phân tích mẫu truy cập web, dự đoán nhu cầu mua sắm của kháchhà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.
2.3.2 Một số khái niệm thường gap trong khai phá mẫu tuần tự pho biếnCho I= {1¡, I›, I;} là tập tất cả items
Tập phan 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)
Mỗi một chuỗi s được kí hiệu <e¡, es, ,e,> sao cho sự kiện e; xay ra trước
sự kiện ea, e2 xay ra trước es ,
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 VD: <(AB)C> là một 3 — sequence va
có kích thước là 2.
Chuỗi con: chuỗi B = <b, bạ bạụ> được gọi la chuỗi con của chuỗi ơ = <a,
a> aạ> hay ơ là chuỗi cha của B, ký hiệu B G a, nếu tôn tại những số nguyên 1< j¡
< Jo < <jo<m_sao cho bị © aj, bạ C aj, , bm C am Vi dụ chuỗi <(B)(AC)> làchuỗi con của <(AB)(E)(ACD}>; nhưng <(AB)(E)> không phải là chuỗi con củachuỗi <(ABE)>
Cơ sở dữ liệu chuỗi là một tập hợp các bộ dữ liệu có dạng (sid, s), trong đósid là mã định danh của chuỗi và s là chuỗi các itemset
Bang 2.1 Ví dụ về cơ sở dữ liệu chuỗi [1]
Sid Chuỗi (s)
10 <(AB)C(DE)>20 <ACD(E)>
30 <(AB)(DE)>
Trang 29Độ hỗ trợ (support): Cho cơ sở dir liệu chuỗi D, mỗi chuỗi có một chi sốđịnh danh duy nhất Độ hỗ trợ tuyệt đối của một mẫu tuần tự f là tong số chuỗitrong D có chứa ƒ Độ hỗ trợ tương đối của ƒ là tỉ lệ phần trăm chuỗi trong D chứaf O đâ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ự pho biến: Cho trước ngưỡng hỗ trợ tối thiểu (minSup) xác địnhbởi người dùng, minSup € (0, 1] Một mẫu tuần tự ƒ được coi là phố biến nếu độ hỗtrợ của nó lớn hơn hoặc bang minSup: sup(f) > minSup khi đó f được gọi là mẫutuần tự pho biến
2.4 Phương pháp thu giảm số chiều xấp xỉ gộp từng đoạn PAA (Piecewise
Aggregate Approximation)
Một chuỗi thời gian C có chiều dài n có thé được biểu diễn bởi một khônggian w chiều ( w << n) thông qua một vector C= CỊ y C, Trong đó phan tử thứ icủa C được tính toán dựa theo công thức sau: [17-18]
n.—l
_ Ww
j=y-=1)+1
Đề thu giảm một chuỗi dữ liệu thời gian từ không gian n chiều thành khônggian w chiều, ta có thể chia dữ liệu thành w phần bằng nhau được gọi là các frame.Giá trị trung bình của các điểm nằm trong một frame sẽ được tính toán và thông quavector gdm w giá tri đó ta đã có được một biểu diễn thu giảm về số chiều của chuỗidữ liệu thời gian gốc
Trang 30Khuyết điểm: làm mat đi một số thông tin quan trọng cho quá trình khai phá(chăng hạn các điểm cực trị, sóc ) và việc xác định được số segment cũng đóng
vai tro quan trọng.
2.5 Phương pháp biến doi chuỗi thời gian sang dang kí tự SAX (Symbolic
Aggregate Approximation)
Đây là một trong những phương pháp biểu diễn chuỗi thời gian [17-18] đãđược chứng minh là có khả năng giữ lại những thông tin có ý nghĩa từ dữ liệu gốcsau khi biến đổi và tạo ra những kết quả hữu dụng trong các van đề liên quan tớigom cụm và phân loại dữ liệu Điểm mạnh của phương pháp này là giữ lai được cáctính chất của dữ liệu gốc và có thể áp dụng các giải thuật cơ bản để so sánh chuỗi
các kí tự sau khi biên đôi.
Trang 31Ý tưởng chính của phương pháp này là biến đối dữ liệu thành một chuỗi kí tựrời rạc [rong đó số lượng kí tự dùng dé biéu hiện được kí hiệu là a (và a tương đốinhỏ) Để chuyển đối một dữ liệu chuỗi thời gian gốc ban đầu thành một chuỗi kí tựthì đầu tiên ta phải chuẩn hóa dữ liệu Sau đó, ta sẽ tiễn hành hai bước tiếp theo làthu giảm số chiều và chuyển kết quả thu giảm sang dạng kí tự (symbol).
Trong bước thu giảm số chiều, phương pháp PAA (Piecewise AggregateApproximation) được sử dung Chuỗi dữ liệu thời gian T với số chiều n được chiathành w phan băng nhau, sau đó giá trị của từng phần được xấp xi và thé hiện bằngmột hệ số duy nhất là giá trị trung bình cộng Sau đó dé chuyển hệ số vừa nêu sangcác kí tự, ta sử dụng các breakpoints (điểm ngắt) dé chia không gian phân tán thànha khu vực (region) có xác suất băng nhau
Breakpoints: là một danh sách có thứ tự các số B= Ø,, Ø,, , B, và có thểđược xác định thông qua một bang thống kê Ví dụ sau cho thấy các breakpoints
ứng với giá tri a từ 2 tới 8 [17-18]
RN, > 3 4 § 6 7 8
8; 000 | -043 | -067 | -0844 | -097| -107 | -1138; 04 | 000 | -025 | -043 | -057 | -0678, 06 | 025 | 000 | -018 | -0328, 0844| 04| 013 | 000Bs 0977| 057 | 032Be 107 | 0678, 115
Hình 2.8 Minh hoa breakpoints cho phương pháp SAX [17]
Cac breakpoints nay được xác định sao cho xác suất của các segments (cóđược từ PAA) phân bố ở trong các phần là xấp xỉ bằng nhau Trường hợp ta khôngsử dụng breakpoints thì các kí tự ta dùng sẽ có xác suất xuất hiện khác nhau và dẫnđến một số chuỗi con có khả năng xuất hiện nhiều hơn các chuỗi con khác
Một khi các breakpoints được xác định thì mỗi khu vực sẽ được gán cho mộtkí tự và phép gán này được thực hiện từ dưới lên Những khu vực thấp nhất đượcgán bằng “a”, những khu vực cao hơn được gán bằng “b” và tiếp tục cho đến hết
chuối.
Trang 32o © 60 80 100 120
Hình 2.9 Biéu diễn bang SAX [17-18]Từ một chuỗi dữ liệu thời gian, ta thu giảm số chiều bang phương phápPAA, sau đó sử dụng các breakpoints (ở đây ta dùng 2 breakpoints để chia làm 3khu vực) va cuối cùng ta có được một chuỗi thời gian là một word: baabecbe
Các độ đo cơ bản được áp dụng cho SAX:
Giả sử ta có hai chuỗi thời gian Q và C có cùng chiều dài n, nếu áp dụng độ
đo tương tự Euclid:
có được một xâp xi can dưới của công thức Euclid như sau:
Cuối cùng nếu ta chuyển dữ liệu thành dạng chuỗi kí tu, ta có thé định nghĩamột hàm MINDIST trả về khoảng cách nhỏ nhất giữa hai chuỗi thời gian
MINDIST(Q.C)= |=) ©" (dis(ậ, ê,)Ÿ
Ham dist ở trên có thé được tính dua vào một bảng tìm kiếm như sau:
Bang 2.2 Bảng độ đo khoảng cách giữa các kí tu [17-18]
a b c
a 0 0 0.86b 0 0 0
c | 0.86 0 0
Trang 33Với r: chỉ sô hàng và c: chỉ sô cột, dữ liệu cho từng ô (r,c) có thê được tínhtheo công thức sau:
Í 0, /#|r-c|<l1| Dư, H~ Primi |, otherwise
Khoảng cách giữa 2 chuôi kí tự sẽ được tính dựa vào khoảng cach của từngcặp kí tự.
2.6 Phương pháp biến đổi chuỗi thời gian sang dạng kí hiệu khuynh hướng
Phương pháp biến đổi chuỗi dữ liệu gốc sang dạng kí hiệu khuynh hướngđược dựa trên ý tưởng về đường trung bình di động của dữ liệu chứng khoán đã
từng được trình bày trong bài báo của Jong P Yoon, Yixin Luo, và Junghyun Nam[20, 33].
Ky hiệu khuynh hướng (trend indicator) bao gồm 6 cấp độ so sánh khác nhaugiữa hai chuỗi thời gian Đối với dữ liệu chứng khoán, độ dịch chuyển giá ngắn hạnđược biểu diễn bởi sự tương quan giữa giá tri hiện tại của một cô phiếu SO VỚIđường dịch chuyền trung bình 13 tuần Hay nói cách khác, ta sẽ phải tính toán mộtđường bao 3% (5% hoặc 7% tùy người sử dụng) so với đường dịch chuyền trungbình 13 tuần Đường bao này sẽ giúp lọc ra những dao động ngăn hạn Cu thé: đốivới thời giant = 0, 1, 2 ,n —1,M,,(t) là đường thăng trung bình di động m, M,(t)là đường thăng trung bình di động k (với m < k) Với dữ liệu chứng khoán ta có m =13 va k = 40 Các thông số m và k được lựa chon tùy vào người sử dụng chứ khôngbắt buộc phải cô định như trong bai báo O đây m = 13 và k = 40 là hai giá trị hayđược sử dụng nhất trong lĩnh vực chứng khoán Gia sử kích thước đường bao là e
thi 6 ký hiệu khuynh hướng sẽ được định nghĩa như sau
e A: Đường dịch chuyển trung bình ngắn hạn năm phía trên đường dichchuyển trung bình dài hạn.Trong trường hợp này, khuynh hướng lên của cổ phiếutrong ngăn hạn đã yếu dần và giá hiện tại chưa lẫn vào e% cận dưới của đường dịchchuyền trung bình ngăn hạn Khi này M,(t) < M,,(t) va s(t) < M(t) — M,,(t) * e
Trang 34e B: Đường dịch chuyển trung bình ngắn hạn nam phía trên đường dichchuyển trung bình dài hạn.Trong trường hợp này, khuynh hướng lên của cổ phiếutrong ngăn hạn vẫn còn tương đối mạnh và giá trị hiện tại đã lẫn vào e% cận dướicủa đường dịch chuyển trung bình ngăn hạn Khi này M,(t) < M,,(t) va s(t) > M,,(t)
—M,(t) * ee C: Khico sự giao nhau cua 2 đường trung bình di động, trong đó đường
trung bình di động ngăn hạn đã vượt lên trên đường dịch chuyền trung bình dai hạn(trước đó nó nam dưới): M,(t) <M,,(t)
e D: Khi có sự giao nhau cua 2 đường trung bình di động, trong đó đường
trung bình di động ngắn hạn đã đi xuống so với đường dịch chuyền trung bình dàihạn (trước đó nó năm trên): M,(t) > M(t)
e E: Đường dich chuyến trung bình ngăn han nằm phía dưới đường dichchuyển trung bình dài han.Trong trường hợp nảy, khuynh hướng xuống trong ngắnhạn của cô phiếu vẫn còn mạnh va giá cỗ phiếu chưa lan vào e% cận trên của đườngdịch chuyển trung bình ngắn hạn Khi này M,(t) > M,,(t) va s(t) < M„() + Min(t) * ee F: Đường dịch chuyển trung bình ngắn hạn nam phía dưới đường dichchuyển trung bình dài han.Trong trường hợp nảy, khuynh hướng xuống trong ngắnhan của cô phiếu đã yếu dan và giá cô phiếu đã lan vào e% cận trên của đường dịchchuyền trung bình ngăn hạn Khi này M,(t) > M,,(t) va s(t) > M(t) + M(t) * e
Bang 2.3 tom tat 6 dang kí hiệu được sử dung sau khi biến đổi từ dữ liệu thờigian gốc và ý nghĩa của chúng
Bang 2.3 Sáu loại kí tự sứ dụng cho quá trình biến đổi sangchuỗi kí tự dành cho dữ liệu cỗ phiếu
A khuynh hướng tăng yếu
khuynh hướng tăng mạnh
bat đầu có khuynh hướng tăngbat đâu có khuynh hướng giảm
khuynh hướng giảm mạnh
TH) MM) CƠ| (3| & khuynh hướng giảm yêu
Trang 352.7 Đại số quan hệ thời gian Allen
Năm 1983, James F Allen [28 - 29] đã xuất bản một bài báo trong đó ônggiới thiệu 13 mối quan hệ cơ bản giữa các thời khoảng mang tính riêng biệt và đầyđủ Mười ba mối quan hệ cơ bản của Allen được mô tả cụ thể trong bảng 2.4.Bang này định nghĩa tat cả các mối quan hệ có thể tôn tại giữa hai thời khoảng đãxác định trước đó Mỗi quan hệ được biểu diễn băng một lược đồ thé hiện mdi liênquan giữa 2 thời khoảng a và b Lưu ý khi nay ta xem thời gian đang dịch chuyển từtrái qua phải Hình đầu tiên trong bảng cho ta thấy mối quan hệ giữa a và b là mốiquan hệ đi trước “precedes” nghĩa là khi này a sẽ kết thúc trước khi b bắt đầu và cómột khoảng cách về thời gian giữa a và b
Bang 2.4 Mười ba mối quan hệ cơ bản Allen [29]
- - - _ | finished ¬ _ | started „ |0Verlap- | met | precededprecedes| meets | overlaps by contains | starts | equals by during | finishes ped by by by
ta có a đi trước b (a precedes b) thì ta cũng sẽ có một quan hệ nghịch đảo là b được
đi trước bởi a (b preceded by a) Riêng mối quan hệ “equals” thì thuận nghịch vớichính nó Từng cặp kí hiệu quan hệ thuận nghịch sẽ bao gom chữ viết thường vàchữ viết hoa của cùng một kí tự (ví dụ p và P)
Bang 2.5 Các cap quan hệ thuận nghịch [29]Relation Converse
Trang 362.8 Generic Dictionary trong C#
Đề dam bao độ phức tap cho các phép toán thêm, xóa và tìm kiếm với điều
kiện “=” là O(1), Generic Dictionary được xây dựng dựa trên một bang bam (hash
table) Bảng băm (hash table) là một cấu trúc dữ liệu bao gồm một mảng các“buckets” dùng để chứa các phan tử Cách thức bang băm xử lý quá trình chèn mộtphân tử mới được thực hiện bằng cách trích xuất ra mã băm (hash code) cho từngđối tượng Nhờ mã băm đó mà ta có thé xác định được chính xác bucket dé đặt item(thông thường thực hiện bằng những phép tính đơn giản để điều chỉnh mã băm củamột đối tượng cho phù hợp với kích thước của mảng các buckets - ở đây là hammodulo) Bảng băm sẽ tự mở rộng khi sỐ lượng phan tử vượt quá kích thước chophép (mở rộng theo số nguyên tố prime number)
Hàm băm ma Dictionary trong C# thường su dụng là một ham virtual sau:
public virtual int GetHashCode( )
Hàm nay là một trong những ham có sẵn trong System.Object
System.Object là lớp co bản mà tất cả các đối tượng trong C# đều thừa kế, do đó tahoan toàn có thé override lại hàm này cho phù hợp với yêu cau Tất cả các thao tácnhư thêm, xóa, tìm kiếm đều có liên quan tới hàm GetHashCode này Tuy nhiên mãbăm trả về bởi hàm trên không phải là vô hạn (Int32 — nghĩa là tối đa 2°” giá trị cóthể được trả về bởi hàm trên), như vậy hoàn toàn có thé xảy ra dung độ (collision).Collision nghĩa là hai phần tử khác nhau nhưng lại có cùng mã băm va như vậychúng lại năm cùng vị trí bucket Dạng băm của Dictionary là dạng băm mở (chophép khóa có cùng địa chỉ, lúc này mỗi mục địa chỉ sẽ là một danh sách liên kết cácphân tử có cùng địa chỉ)
Phương pháp giải quyết đụng độ:Dictionary xử lý đụng độ bang phương pháp “chaining”: sử dụng hai array cócùng số phần tử
- Buckets array: chứa chỉ mục mà đối tượng được lưu trữ trong mang bucket- Entries array: chứa các phan tử thật sự được lưu trữ nếu năm trong cùngmột bucket (thường lưu dưới dạng danh sách liên kết)
Trang 37Buckets Array
——— Obj1 | Obj2 |
Entries Array (Linked List)
Hình 2.10 Minh họa cách xứ lý dung độ trong bang bam
Như hình vẽ trên, ta thay nếu như 2 đối tượng Objl va Obj2 được băm vàocùng một vi trí, thì Dictionary sẽ lưu trữ 2 đối tượng đó vào một danh sách liên kết
Nếu như ta muốn tìm kiếm Objl và Obj2 thì ta cần phải tốn thêm chi phíduyệt danh sách liên kết này và so trùng hai phần tử (tham chiếu) băng hàm Equal() được cung cấp sẵn
Từ cơ sở lý thuyết trên, ta thay được chi phí trung bình khi tìm kiếm mộtphân tử là tỉ số giữa số phần tử đang có chia cho kích thước của Dictionary Tuynhiên Dictionary luôn cố gắng duy trì tỉ số giữa số phan tử nó đang chứa và kíchthước của nó là 1-1 (kích thước Dictionary không nhỏ hơn số lượng item trong đó)
Do đó chi phí trung bình xem như là O(1).
Trang 38CHƯƠNG 3 : CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN3.1 Các phương pháp tìm motif trong dữ liệu chuỗi thời gian
3.1.1 Phương pháp tim motif đối với co sở dữ liệu chuỗi thời gian lớnNhóm tác giả P.Patel, E.Keogh, J.Lin, S.Lonardi (2002) [17] đã đề xuất mộtphương pháp tìm motifs trên dữ liệu chuỗi thời gian Đầu tiên họ áp dụng phươngpháp xấp xỉ gộp từng đoạn (PAA) để thu giảm dữ liệu, sau đó công trình chuyểnchuỗi dữ liệu sang dạng kí tự băng phương pháp SAX Cuối cùng họ sử dụng giảithuật EMMA để tim ra motif có chiều dain cho trước [17]
Đặc điểm của giải thuật EMMA là áp dụng một hàm băm để đưa các chuỗicon tương tự nhau vào cùng một địa chỉ trong bucket Ta cũng lưu trữ vị trí bắt đầucủa chuỗi trong bảng băm Sau đó giải thuật sẽ tiến hành khảo sát trên vị trí cónhiều phan tử nhất (gọi là MPC — Most Promising Candidate) Giải thuật cũng ápdụng công thức tính độ tương tự của 2 chuỗi con để xây dựng tập lân cận gồmnhững phan tử trong MPC và những chuỗi con nam ở những vị trí khác nhưng có độtương tự so với phan tử trong MPC vẫn nhỏ hơn một thông số R do người dùng lựa
chọn.
Sau đó nhóm tác giả sử dụng giải thuật ADM do Shasha và Wang đề xuất[52] để tìm các motif thật sự (true-motif) từ tập ứng viên đã có Lý do ta phải dùng
giải thuật ADM là vì hàm tính khoảng cách ở trên chỉ mới áp dụng cho chuỗi dạng
kí tự nên ta phải tiến hành thêm một bước kiểm tra khoảng cách thật sự ở dữ liệusốc dé xem một ứng viên có thật sự là motif hay không Quá trình lặp lại cho tới khimotif tìm được có số lần xuất hiện lớn nhất (1 motif) Giải thuật có thé được mởrộng dé tìm k— motif
3.1.2 Phương pháp tim motif dua trên MDL
Y.Tanaka và K.Uehara [21] đề xuất phương pháp tìm motif dựa trên một giảithuật có khả năng tìm được độ dài thời khoảng tối ưu của motif Giải thuật tìm độdài thời khoảng tối ưu (optimum period length) xuất phát từ khái niệm MDL
Trang 39(Minimum Description Length) - một khái niệm được dé xuất bởi Rissanen (1989)duoc dùng dé đánh giá độ tối ưu của một mô hình ngẫu nhiên.
Công trình ra đời xuất phát từ thực tế là thông số chiều dai của motif phải dongười dùng tự định nghĩa Điều này dẫn đến việc xác định chiều dài của motif trởthành một vấn đề không đơn giản Nếu như ta áp dụng các giải thuật tìm motifthông dụng như EMMA với các chiều dài motif khác nhau có thể có thì rõ ràngphương pháp đó không khả thi và kém hiệu quả Nhóm tác giả đã đề xuất cách tìmchiều dài motif tự động thông qua khái niệm MDL
Đầu tiên công trình tiến hành chuyển đổi chuỗi thời gian gốc sang dangchuỗi kí tự bằng cách kết hợp phương pháp PAA và SAX Chiều dài của cửa sốtrượt là Tin, đây là giá tri chiều dai nhỏ nhất có thé có của motif do người dùngđịnh nghĩa Cuối cùng sau khi có được các chuỗi con dưới dạng chuỗi kí tự, nhómtác giả gan các kí tự hành vi cho từng chuỗi con đó
Việc khai phá motif được chuyền đổi từ chuỗi dữ liệu thời gian gốc sang
khai phá motif trên chuỗi kí tự hành vi
Quá trình trên được tóm tắt như hình vẽ sau:
behave symbol sequence A BR C °“.°6
Hình 3.1 Hình minh họa cho quá trình chuyển đổi [21]
Trang 40Giải thuật tìm chiêu dai mau tôi ưu được tóm tat như sau:Từ chuỗi C giải thuật sử dụng một cửa sô trượt với chiêu dai cô định trượt
trên C để có được các chuỗi con Lần lượt xem xét những mẫu có số lần xuất hiện
nhiều nhất là mẫu tốt nhất của chuỗi kí tự hiện tại Sau đó ta tính hàm MDL vàchiều dai mẫu Ly, ta cũng đồng thời lưu con trỏ P, tới vị trí bat đầu của mẫu Thaythế mẫu băng một kí tự khác Quá trình trên được lặp lại cho tới khi không còn mẫunảo xuất hiện hơn 2 lần trong chuỗi kí tự
Khi quá trình phân tích trên hoàn thành, mẫu có giá trị MDL nhỏ nhất được
xem là mẫu tốt nhất trong C Sử dụng chiêu dài mẫu là Lp chiêu dai tối ưu của
motif được tính như sau:
Topt = Tin + LpTa xem mau nay là ứng viên của motif Sau đó nhóm tác giả sử dung giải
thuật EMMA để tìm motif thật sự với tập ứng viên MPC chính là tập ứng viên tavừa tìm thấy trong quá trình phân tích ở trên
3.2 Một số giải thuật khai phá mẫu pho biến
Thông qua các giải thuật tim mẫu phô biến truyền thống như Apriori hay Growth, luận văn sẽ có được ý tưởng về hướng tiếp cận lặp từng mức trong quátrình khai phá mẫu pho biến Các giải thuật như GSP va Prefix-Span giúp ta thayđược hình dạng cũng như tính chất tuần tự của các mẫu cần khai phá
FP-3.2.1 Giải thuật Apriori
Giải thuật Apriori [1] là một trong những giải thuật nên tảng được dé xuấtbởi R Agrawal và R Srikant (1994) để khai phá tập phan tử pho biến đối với luậtkết hợp luận lý
Đặc tính của giải thuật là sử dụng tri thức có trước về tính chất của cácitemset pho biến Giải thuật triển khai một hướng tiếp cận lặp từng mức, trong đó k-itemsets được dùng dé tìm (k + 1) itemsets Đầu tiên tập 1 — itemsets phố biến đượctìm bằng cách duyệt qua toàn bộ tập dữ liệu, đếm số lần xuất hiện của từng Item,
sau đó chọn những item nao có sô lần xuât hiện thỏa ngưỡng ho trợ min-sup Ta ki