BỘ GIÁO DỤC VÀ ĐÀO TẠO
VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM
HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ -----------------------------
TRƢƠNG ĐỨC PHƢƠNG
PHÁT HIỆN LUẬT KẾT HỢP VÀ LUẬT CHUỖI MỜ TRONG CƠ SỞ DỮ LIỆU ĐỊNH LƢỢNG CÓ YẾU TỐ THỜI GIAN
LUẬN ÁN TIẾN SĨ MÁY TÍNH
HÀ NỘI – 2021
VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ ……..….***…………
TRƢƠNG ĐỨC PHƢƠNG PHÁT HIỆN LUẬT KẾT HỢP VÀ LUẬT CHUỖI MỜ TRONG CƠ SỞ DỮ LIỆU ĐỊNH LƯỢNG CÓ YẾU TỐ THỜI GIAN
LUẬN ÁN TIẾN SĨ MÁY TÍNH
Chuyên ngành : Hệ thống thông tin
Mã số: 9 48 01 04
Ngƣời hƣớng dẫn khoa học:
1. PGS.TS. Đỗ Văn Thành 2. PGS.TS. Nguyễn Đức Dũng
Hà Nội – 2021
i
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các kết
quả được viết chung với các tác giả khác đều được sự đồng ý của các đồng tác
giả trước khi đưa vào luận án. Các kết quả nêu trong luận án là trung thực và
chưa từng được công bố trong các công trình nào khác.
Luận án được hoàn thành trong thời gian tôi làm Nghiên cứu sinh tại
Học viện Khoa học và Công nghệ, Viện Hàn lâm Khoa học và Công nghệ
Việt Nam.
Tác giả luận án
NCS. Trƣơng Đức Phƣơng
ii
LỜI CẢM ƠN
Luận án Tiến sỹ “Phát hiện luật kết hợp và luật chuỗi mờ trong cơ sở
dữ liệu định lượng có yếu tố thời gian” được thực hiện dưới sự hướng dẫn
khoa học của PGS.TS. Đỗ Văn Thành và PGS.TS. Nguyễn Đức Dũng.
Trước tiên tôi xin được bày tỏ lòng biết ơn sâu sắc tới các thầy hướng
dẫn PGS. TS. Đỗ Văn Thành và PGS.TS. Nguyễn Đức Dũng. Trong quá trình
thực hiện luận án, nghiên cứu sinh đã nhận được nhiều định hướng khoa học,
những bài học quý báu, sự hướng dẫn nhiệt tình từ các thầy hướng dẫn. Các
thầy cũng đã luôn tận tâm động viên, khuyến khích và chỉ dẫn giúp đỡ nghiên
cứu sinh hoàn thành được bản luận án này.
Tôi xin chân thành cảm ơn các thầy cô Học viện Khoa học và Công
nghệ đã tạo điều kiện thuận lợi cho tôi trong suốt quá trình nghiên cứu và
thực hiện luận án.
Tôi xin cảm ơn Ban Giám hiệu, tập thể cán bộ, giảng viên khoa Khoa
học Tự nhiên và Công nghệ, trường Đại học Thủ đô Hà Nội đã tạo điều kiện
giúp đỡ tôi trong suốt thời gian học tập và nghiên cứu.
Nhân dịp này, tôi cũng xin bày tỏ lòng biết ơn sâu sắc tới gia đình và
bạn bè đã cho tôi điểm tựa vững chắc, tạo động lực để tôi hoàn thành luận án
này.
Tác giả
NCS. Trương Đức Phương
1
MỤC LỤC
DANH MỤC HÌNH VẼ .................................................................................. 4
DANH MỤC BẢNG BIỂU ............................................................................. 6
DANH MỤC CÁC TỪ VIẾT TẮT ................................................................ 8
MỞ ĐẦU .......................................................................................................... 9
CHƯƠNG 1. TỔNG QUAN VỀ LUẬT KẾT HỢP VÀ MẪU CHUỖI, LUẬT CHUỖI CHUNG ................................................................................. 18
1.1. Luật kết hợp ........................................................................................ 18
1.1.1. Phát hiện luật kết hợp trong các CSDL giao dịch .............................. 18
1.1.2. Phát hiện luật kết hợp trong các CSDL định lượng ........................... 21
1.1.3. Phát hiện luật kết hợp tính đến khoảng cách thời gian xảy ra của các giao dịch trong các CSDL có yếu tố thời gian ................................................ 23
1.2. Mẫu chuỗi ........................................................................................... 25
1.2.1. Phát hiện mẫu chuỗi trong các CSDL chuỗi giao dịch ...................... 25
1.2.2. Phát hiện mẫu chuỗi trong các CSDL chuỗi định lượng .................... 29
1.2.3. Phát hiện mẫu chuỗi tính đến khoảng cách thời gian xảy ra của các giao dịch trong các CSDL chuỗi có yếu tố thời gian ..................................... 31
1.3. Luật chuỗi chung ................................................................................ 34
1.3.1. Khái niệm luật chuỗi chung ................................................................ 34
1.3.2. Phát hiện luật chuỗi chung ................................................................. 34
Kết luận Chương 1 .......................................................................................... 38
CHƯƠNG 2. PHÁT HIỆN LUẬT KẾT HỢP CÓ TÍNH ĐẾN KHOẢNG CÁCH THỜI GIAN TRONG CÁC CSDL ĐỊNH LƯỢNG CÓ YẾU TỐ ............................................................................................... 42 THỜI GIAN
2.1. Giới thiệu ............................................................................................ 42
2.2. Một số khái niệm cơ bản .................................................................... 44
2.3. Thuật toán phát hiện luật kết hợp mờ với khoảng cách thời gian mờ 52
2.3.1. Bài toán đặt ra ..................................................................................... 52
2.3.2. Ý tưởng thuật toán .............................................................................. 53
2.3.3. Thuật toán FTQ .................................................................................. 54
2.3.4. Tính đúng đắn và tính đầy đủ của thuật toán ..................................... 58
2.3.5. Độ phức tạp thuật toán........................................................................ 60
2
2.3.6. Trường hợp suy biến của luật kết hợp mờ với khoảng cách thời gian ............................................................................................................ 62 mờ
2.4. Thử nghiệm thuật toán ........................................................................ 63
2.4.1. Dữ liệu thử nghiệm ............................................................................. 63
2.4.2. Kết quả thử nghiệm ............................................................................ 66
Kết luận Chương 2 .......................................................................................... 72
CHƯƠNG 3. PHÁT HIỆN MẪU CHUỖI CÓ TÍNH ĐẾN KHOẢNG CÁCH THỜI GIAN TRONG CÁC CSDL CHUỖI ĐỊNH LƯỢNG CÓ YẾU TỐ THỜI GIAN .............................................................................................. 74
3.1. Giới thiệu ............................................................................................ 74
3.2. Một số khái niệm cơ bản .................................................................... 76
3.3. Thuật toán phát hiện mẫu chuỗi mờ với khoảng cách thời gian mờ .. 84
3.3.1. Bài toán đặt ra ..................................................................................... 84
3.3.2. Ý tưởng thuật toán .............................................................................. 84
3.3.3. Thuật toán FSPFTIM .......................................................................... 85
3.3.4. Tính đúng đắn và tính đầy đủ của thuật toán ..................................... 88
3.3.5. Độ phức tạp thuật toán........................................................................ 90
3.3.6. Trường hợp suy biến của mẫu chuỗi mờ với khoảng cách thời gian ............................................................................................................ 91 mờ
3.3.7. Minh họa thuật toán ............................................................................ 92
3.4. Thử nghiệm thuật toán ........................................................................ 93
3.4.1. Dữ liệu thử nghiệm ............................................................................. 93
3.4.2. Kết quả thử nghiệm ............................................................................ 95
Kết luận Chương 3 ........................................................................................ 100
CHƯƠNG 4. PHÁT HIỆN LUẬT CHUỖI CHUNG CÓ TÍNH ĐẾN KHOẢNG CÁCH THỜI GIAN TRONG CÁC CSDL CHUỖI ĐỊNH LƯỢNG CÓ YẾU TỐ THỜI GIAN. ............................................................ 101
4.1. Giới thiệu .......................................................................................... 101
4.2. Một số khái niệm cơ bản .................................................................. 103
4.3. mờ Thuật toán phát hiện luật chuỗi chung mờ với khoảng cách thời gian .......................................................................................................... 108
4.3.1. Bài toán đặt ra ................................................................................... 108
4.3.2. Thuật toán IFERMiner ..................................................................... 108
4.3.3. Tính đúng đắn và đầy đủ .................................................................. 112
3
4.3.4. Độ phức tạp của thuật toán IFERMiner ........................................... 114
4.3.5. Trường hợp suy biến của luật chuỗi chung mờ với khoảng cách thời gian mờ .......................................................................................................... 120
4.4. Thử nghiệm thuật toán ...................................................................... 121
4.4.1. Dữ liệu thử nghiệm ........................................................................... 121
4.4.2. Kết quả thử nghiệm .......................................................................... 123
Kết luận Chương 4 ........................................................................................ 129
KẾT LUẬN VÀ KIẾN NGHỊ ...................................................................... 130
DANH MỤC CÔNG TRÌNH ĐÃ CÔNG BỐ .............................................. 132
TÀI LIỆU THAM KHẢO ............................................................................. 133
4
DANH MỤC HÌNH VẼ
Hình 1.1. Các vấn đề liên quan đến nghiên cứu của luận án .......................... 41
Hình 2.1. Các hàm thành viên của các tập mờ ứng với tỉ lệ tăng/giảm của các
mã chứng khoán .............................................................................................. 65
Hình 2.2. Các hàm thành viên của các tập mờ của Tỉ lệ thay đổi chỉ số VN30
......................................................................................................................... 65
Hình 2.3. Các hàm thành viên của các tập mờ thời gian ................................ 65
Hình 2.4. Mối quan hệ giữa số lượng luật tìm được từ thuật toán FTQ và độ
tin cậy cực tiểu min_conf trong các trường hợp khác nhau về độ hỗ trợ cực
tiểu min_sup .................................................................................................... 66
Hình 2.5. Mối quan hệ giữa số lượng luật tìm được và min_sup với min_conf
khác nhau. ........................................................................................................ 67
Hình 2.6. Chi phí thời gian thực hiện khi min_conf=70% ............................. 67
Hình 2.7. So sánh số luật của phương pháp mờ hóa (A) và phương pháp chia
khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán FTQ ...... 68
Hình 2.8. So sánh thời gian chạy của phương pháp mờ hóa (A) và phương
pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán
FTQ ................................................................................................................. 68
Hình 3.1. Các hàm thành viên của các tập mờ thuộc LT ................................ 81
Hình 3.2. Mối quan hệ giữa số lượng mẫu chuỗi mờ với khoảng cách thời
gian mờ với min_sup (a) và giữa thời gian chạy của thuật toán với min_sup
(b) trong trường hợp số phân hoạch thuộc tính định lượng khác nhau khi thực
hiện trên tập dữ liệu S100I1000T3D341K. ..................................................... 95
Hình 3.3. Mối quan hệ giữa số lượng mẫu chuỗi mờ với khoảng cách thời
gian mờ với min_sup (a) và giữa thời gian chạy của thuật toán với min_sup
(b) trong trường hợp số phân hoạch thuộc tính định lượng khác nhau khi thực
hiện trên tập dữ liệu Online Retail_France ..................................................... 96
5
Hình 3.4. Mối quan hệ giữa số lượng mẫu chuỗi mờ với khoảng cách thời
gian mờ với min_sup (a) và giữa thời gian chạy của thuật toán với min_sup
(b) trong trường hợp số phân hoạch khoảng cách thời gian (Kt) khác nhau đối
với tập dữ liệu S100I1000T3D341K ............................................................... 97
Hình 3.5. Mối quan hệ giữa số lượng mẫu chuỗi mờ với khoảng cách thời
gian mờ với min_sup (a) và giữa thời gian chạy của thuật toán với min_sup
(b) trong trường hợp số phân hoạch khoảng cách thời gian (Kt) khác nhau đối
với tập dữ liệu Online Retail_France .............................................................. 97
Hình 3.6. So sánh số mẫu chuỗi của phương pháp mờ hóa (A) và phương
pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán
FSPFTIM ......................................................................................................... 98
Hình 3.7. So sánh thời gian chạy của phương pháp mờ hóa (A) và phương
pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán
FSPFTIM ......................................................................................................... 98
Hình 4.1. Mối quan hệ giữa số lượng các luật FCSI valid với min_sup và
min_conf ........................................................................................................ 124
Hình 4.2. Mối quan hệ giữa thời gian thực hiện thuật toán với min_sup và
min_conf ........................................................................................................ 125
Hình 4.3. So sánh số luật của phương pháp mờ hóa (A) và phương pháp chia
khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán IFERMiner
....................................................................................................................... 126
Hình 4.4. So sánh thời gian chạy của phương pháp mờ hóa (A) và phương
pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán
IFERMiner .................................................................................................... 127
6
DANH MỤC BẢNG BIỂU
Bảng 1.1. Ví dụ về CSDL giao dịch ............................................................... 18
Bảng 1.2. Ví dụ về CSDL định lượng ............................................................. 22
Bảng 1.3. Ví dụ về CSDL giao dịch mua hàng có yếu tố thời gian ................ 24
Bảng 1.4. Một số nghiên cứu về phát hiện luật kết hợp có tính đến khoảng
cách thời gian .................................................................................................. 24
Bảng 1.5. Ví dụ về CSDL chuỗi giao dịch ..................................................... 25
Bảng 1.6. Ví dụ CSDL chuỗi định lượng ........................................................ 29
Bảng 1.7. Ví dụ CSDL chuỗi giao dịch có yếu tố thời gian ........................... 31
Bảng 1.8. Một số nghiên cứu về phát hiện mẫu chuỗi có tính đến khoảng cách
thời gian ........................................................................................................... 32
Bảng 1.9. Một số nghiên cứu về phát hiện luật chuỗi chung .......................... 34
Bảng 2.1. Ví dụ về CSDL định lượng có yếu tố thời gian .............................. 44
Bảng 2.2. CSDL mờ có yếu tố thời gian DF .................................................. 46
Bảng 2.3. Dữ liệu thử nghiệm ISTANBUL STOCK EXCHANGE ............... 63
Bảng 2.4. Kết quả thử nghiệm thuật toán FTQ với min_sup=7% và
min_con=70% ................................................................................................. 69
Bảng 2.5. Ý nghĩa các luật thu được đối với CSDL VNINDEX .................... 70
Bảng 3.1. Ví dụ về CSDL chuỗi định lượng có yếu tố thời gian QSD .......... 77
Bảng 3.2. CSDL chuỗi mờ có yếu tố thời gian FSD ...................................... 78
Bảng 3.3. Dữ liệu thử nghiệm S100I1000T3D341K và Online Retail_France
......................................................................................................................... 94
Bảng 3.4. Các mẫu chuỗi mờ với khoảng cách thời gian mờ tìm được từ
Online Retail_France ...................................................................................... 99
Bảng 4.1. Dữ liệu thử nghiệm thuật toán IFERMiner .................................. 122
7
Bảng 4.2. Các luật FCSI valid có độ hỗ trợ cao nhất tương ứng với min_sup
= 3% và min_conf = 75% ............................................................................. 128
8
DANH MỤC CÁC TỪ VIẾT TẮT
Nội dung Từ viết tắt
NCS CSDL FITARM FTITS FTQ FSPFTIM FGBSPMA FQSP-MMS
Nghiên cứu sinh Cơ sở dữ liệu Fuzzy Inter-Transaction Asociation Rules Mining Fuzzy Time-Interval in Time Series Fuzzy Time-interval in temporal Quantitative database algorithm Fuzzy Sequential Patterns with Fuzzy Time-Intervals Mining Fuzzy Grids Based Sequential Patterns Mining Algorithm Fuzzy Quantitative Sequential Pattern with Multiple Minimum Supports Generalized Sequential Pattern Incremental mining of Quantitative Sequential Pattern Fuzzy Sequential Patterns with Fixed Time-Intervals Breadth First Search
GSP IQSP FSPFTI BFS
Depth First Search Fuzzy Common Sequence with time – Interval Temporally-Annotated Sequences
DFS FCSI TAS
9
MỞ ĐẦU
1. Tính cấp thiết của luận án và động lực nghiên cứu
Phát hiện luật kết hợp và mẫu chuỗi, luật chuỗi nằm trong số những vấn
đề quan trọng trong lĩnh vực khai phá dữ liệu. Đến nay, rất nhiều công trình
nghiên cứu liên quan đến các lĩnh vực này. Các luật kết hợp và mẫu chuỗi,
luật chuỗi được đề xuất là rất đa dạng, chúng có thể là các luật, mẫu chuỗi
giao dịch/định lượng; có trọng số/không trọng số; có yếu tố thời gian/không
có yếu tố thời gian;.v.v..
Vấn đề phát hiện luật kết hợp trong các CSDL giao địch được đề xuất lần
đầu vào năm 1993 [1] và đến nay đã có nhiều thuật toán được xây dựng theo
rất nhiều cách tiếp cận khác nhau để phát hiện các luật này trong các CSDL
giao dịch: APRIORI [2], PARTITION [3], A-CLOSE [4], A-CLOSE+ [5],
CLOSE [6], CLOSET [7], CLOSET+ [8], CHARM [9], MAFIA [10],
GENMAX [11], ECLAT [12], DIC [13], FP-GROWTH [14], CFPMINE [15],
ETARM [16], LRM [17], PARM [18], NEGFIN [19].
Tuy nhiên các CSDL trong thực tế thường có các thuộc tính nhận giá trị
số hoặc giá trị phân loại. Những CSDL như vậy được gọi là CSDL định
lượng. Việc phát hiện các luật kết hợp trong CSDL định lượng thường sử
dụng một trong 2 cách đó là: rời rạc hóa [20]–[23] và mờ hóa các thuộc tính
định lượng [24]–[29]. Bản chất của cách tiếp cận thứ nhất là đưa CSDL định
lượng về CSDL giao dịch bằng cách chuyển các thuộc tính định lượng thành
một số mục (item) tương ứng và sau đó áp dụng một trong các thuật toán phát
hiện các luật kết hợp trong các CSDL giao dịch đã biết. Ví dụ: xét thuộc tính
Tuổi, nếu chia độ tuổi thành 3 loại: “Trẻ” (dưới 30 tuổi), “Trung niên” (30
đến 59 tuổi), “Già” (từ 60 tuổi) thì người ở độ tuổi 15 tương ứng với “Trẻ”,
tuổi 59 tương ứng với “Trung niên” trong CSDL giao dịch. Cách tiếp cận này
có nhược điểm là không tự nhiên, gây ra hiện tượng “sắc nét” tại giáp ranh
những điểm chia các thuộc tính định lượng. Cách tiếp cận thứ hai nhằm khắc
10
phục nhược điểm của cách tiếp cận thứ nhất, nhưng khi đó các thuật toán phát
hiện các luật kết hợp trong các CSDL cần được cải tiến và phát triển tiếp.
CSDL có yếu tố thời gian (temporal database) là CSDL có lưu trữ thông
tin về thời điểm xảy ra của các giao dịch [30] [31]. Năm 1998, Lu và các cộng
sự [32] đã đề xuất luật kết hợp có tính đến độ chênh lệch về thời điểm (gọi là
khoảng cách thời gian) xảy ra giữa các giao dịch trong các CSDL giao dịch có
→ với a, b là các tập mục dữ liệu. Trong
yếu tố thời gian, luật có dạng
[32], hai thuật toán E-Apriori và EH-Apriori được đề xuất để phát hiện các
luật dạng này. Về ý tưởng chính, hai thuật toán E-Apriori, EH-Apriori dựa
trên ý tưởng thuật toán Apriori và sử dụng cửa sổ trượt đối với khoảng cách
thời gian. Để phát hiện các luật kết hợp có tính đến khoảng cách thời gian
trong các CSDL giao dịch có yếu tố thời gian, nhiều thuật toán tiếp tục được
đề xuất như: FITI [33], ITARM [34], ITP-Miner [35], IAR Miner [36], CITP-
Miner [37], NCITPS-MINER [38]. Việc phát hiện luật kết hợp có tính đến
khoảng cách thời gian mới chỉ dừng lại đối với CSDL giao dịch có yếu tố thời
gian mà chưa được thực hiện đối với các CSDL định lượng có yếu tố thời
gian. Đây là khoảng trống nghiên cứu mà luận án mong muốn giải quyết.
Luật chuỗi, mẫu chuỗi như được hiểu từ trước đến nay còn được gọi là
luật chuỗi, mẫu chuỗi cổ điển để phân biệt với một loại luật chuỗi, mẫu chuỗi
mới được đề xuất trong những năm gần đây. Các mẫu chuỗi cổ điển (được gọi
ngắn gọn là mẫu chuỗi) là các chuỗi cổ điển (nói gọn là chuỗi) phổ biến trong
các CSDL chuỗi giao dịch. Các mẫu chuỗi này biểu diễn mối quan hệ có trình
tự thời gian xảy ra giữa các giao dịch trong chuỗi. Phát hiện mẫu chuỗi trong
các CSDL chuỗi giao dịch được giới thiệu lần đầu năm 1995 [39] và đến nay
đã nhận được rất nhiều sự quan tâm. Hiện đã có nhiều thuật toán phát hiện các
mẫu chuỗi trong các CSDL chuỗi giao dịch như GSP [40], SPIRIT [41],
SPADE [42], SPAM [43], FAST [44], CM-SPADE [45], MAXSP [46],
GENMINER [47], FREESPAN [48], PREFIXSPAN [49], CLOSPAN [50],
MSPIC-DBV [51], HSPREC [52],...
11
Các CSDL chuỗi trong đó các thuộc tính có thể nhận các giá trị số hoặc
phân loại và khi đó, chúng được gọi là CSDL chuỗi định lượng. Để phát hiện
các mẫu chuỗi trong các CSDL chuỗi định lượng, phương pháp mờ hóa các
thuộc tính định lượng được sử dụng và mẫu chuỗi được phát hiện được gọi là
mẫu chuỗi mờ. Các thuật toán phát hiện mẫu chuỗi mờ điển hình là
SPEEDYFUZZY [53], MINIFUZZY [53], FGBSPMA [54], MST [55] FQSP-
MMS [56], FUZZY APRIORISOME [57], IQSP [58], FSP [59],..
Các CSDL chuỗi giao dịch có yếu tố thời gian là CSDL có lưu trữ thông
tin về thời điểm xảy ra của các giao dịch. Năm 2000, Yoshida và các cộng sự
[60] đã đề xuất mẫu chuỗi có tính đến khoảng cách thời gian trong CSDL
chuỗi giao dịch có yếu tố thời gian, mẫu chuỗi này có dạng
〈 〉 với a, b, c là các tập mục, [1−4] và [5−9] là khoảng
thời gian có thể xảy ra lần lượt giữa a, b và giữa b, c. Để phát hiện mẫu chuỗi
có tính đến khoảng cách thời gian, thuật toán Delta-Pattern đã được đề xuất
trong [60]. Phát hiện mẫu chuỗi có tính đến khoảng cách thời gian như trong
[60] tiếp tục được giải quyết bởi các thuật toán I-Apriori và I-PrefixSpan [61],
TAS [62]. Năm 2005, để khắc phục hiện tượng “sắc nét” tại các điểm giáp
danh của các khoảng chia đối với khoảng cách thời gian, Chen và Huang [63]
đã đề xuất mẫu chuỗi có tính đến khoảng cách thời gian mà ở đó khoảng cách
thời gian là các tập mờ, mẫu chuỗi khi đó có dạng 〈 〉 với
Short, Long là các tập mờ, mỗi tập mờ có hàm thành viên tương ứng. Trong
[63], hai thuật toán FTI-Apriori và FTI-PrefixSpan được đề xuất để phát hiện
các mẫu chuỗi này. Mẫu chuỗi này tiếp tục được phát hiện bởi thuật toán
FP Growth- PrefixSpan [64]. Năm 2009, Chang và các cộng sự [65] [66] đề
xuất mẫu chuỗi 〈 〉 trong đó là các số mờ lần lượt
thể hiện khoảng cách thời gian xảy ra giữa a với b và b với c. Khác với đề
xuất trong [63] với các tập mờ (cùng hàm thành viên) ứng với các khoảng
cách thời gian là cho trước, các số mờ trong [65] [66] được xác định dựa trên
dữ liệu trong CSDL ban đầu. Các thuật toán SPFTI [65] và ISPFTI [66] được
12
đề xuất để phát hiện các mẫu chuỗi này. Tuy nhiên, đến năm 2018 các nghiên
cứu về phát hiện mẫu chuỗi có tính đến khoảng cách thời gian chỉ áp dụng đối
với các CSDL chuỗi giao dịch có yếu tố thời gian mà chưa áp dụng đối với
CSDL chuỗi định lượng có yếu tố thời gian. Đây là khoảng trống thứ 2 trong
việc xác định vấn đề nghiên cứu của luận án. Năm 2019, Dương và các cộng
sự [67] đề xuất mẫu chuỗi có lợi ích cao tính đến khoảng cách thời gian trong
các CSDL chuỗi định lượng có yếu tố thời gian và thuật toán UIPrefixSpan để
phát hiện mẫu chuỗi lợi ích cao này. Mẫu chuỗi có lợi ích cao tính đến
khoảng cách thời gian tiếp tục được phát hiện bởi thuật toán HUISP [68].
Khái niệm luật chuỗi chung mới được xuất hiện trong vài năm gần đây
[69], [70] do Fournier-Viger và các cộng sự đề xuất. Luật chuỗi chung được
phát hiện trong các CSDL chuỗi giao dịch biểu diễn mối quan hệ của 2 tập
mục, ở đó các mục ở các phần tiền đề (bên trái) và hệ quả (bên phải) của luật
không cần sắp thứ tự mà chỉ cần thỏa mãn điều kiện các mục ở phần tiền đề
phải được xảy ra trước các mục ở phần hệ quả. Thuật toán phát hiện các luật
chuỗi chung đầu tiên là CMRules [69] sau đó tiếp tục được phát triển bởi
Rule Growth [71], ERMiner [72]. Các luật chuỗi chung thực sự là có ích và
đã được ứng dụng trong thực tế [73]. Luật chuỗi chung đến nay mới chỉ được
phát hiện trong các CSDL chuỗi giao dịch mà chưa được áp dụng đối với
CSDL chuỗi định lượng có yếu tố thời gian. Đây là khoảng trống thứ 3 được
xác định trong vấn đề nghiên cứu của luận án.
Luận án này nhằm giải quyết 3 khoảng trống được xác định ở trên. Việc
nghiên cứu giải quyết những vấn đề đó là thực sự cần thiết không chỉ ở
phương diện phát triển lý thuyết mà cả ở phương diện ứng dụng thực tế. Đó là
động lực để tác giả luận án thực hiện nghiên cứu đề tài “Phát hiện luật kết
hợp và luật chuỗi mờ trong cơ sở dữ liệu định lượng có yếu tố thời gian”. Cụ
thể luận án đề xuất và giải quyết các vấn đề về phát hiện các luật kết hợp và
mẫu chuỗi, luật chuỗi chung có tính đến khoảng cách thời gian xảy ra giữa
13
các giao dịch tương ứng trong các CSDL định lượng có yếu tố thời gian và
CSDL chuỗi định lượng có yếu tố thời gian.
Luận án thực sự có đóng góp mới về mặt lý thuyết, cung cấp các giải pháp
cho những vấn đề chưa được giải quyết trong hướng nghiên cứu về phát hiện
các luật kết hợp và các mẫu chuỗi, luật chuỗi chung tương ứng trong CSDL
định lượng và CSDL chuỗi định lượng cùng có yếu tố thời gian.
2. Mục tiêu, đối tƣợng và phạm vi nghiên cứu của luận án
2.1. Mục tiêu của luận án
Mục tiêu của luận án là đề xuất giải pháp phát hiện các luật kết hợp và các
mẫu chuỗi, luật chuỗi chung có tính đến khoảng cách thời gian xảy ra giữa
các giao dịch tương ứng trong các CSDL định lượng và các CSDL chuỗi định
lượng cùng có yếu tố thời gian.
Các giải pháp như vậy cần quan tâm khắc phục hiện tượng không tự
nhiên, “sắc nét” khi phân chia các giá trị định lượng, cũng như các khoảng
cách thời gian xảy ra giữa các giao dịch thành các khoảng.
Cụ thể luận án tập trung đề xuất các giải pháp nhằm:
Phát hiện các luật kết hợp có tính đến khoảng cách thời gian xảy ra giữa
các giao dịch trong các CSDL định lượng có yếu tố thời gian. Các luật tìm
được khi đó được gọi là các luật kết hợp mờ với khoảng cách thời gian
mờ.
Phát hiện các mẫu chuỗi có tính đến khoảng cách thời gian xảy ra giữa các
giao dịch trong các CSDL chuỗi định lượng có yếu tố thời gian. Các mẫu
chuỗi tìm được khi đó được gọi là mẫu chuỗi mờ với khoảng cách thời
gian mờ.
Phát hiện các luật chuỗi chung (là luật chuỗi ở dạng tổng quát và chung
hơn so với các luật chuỗi (cổ điển) như được biết từ trước đến nay) có tính
đến khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL chuỗi
14
định lượng có yếu tố thời gian. Các luật tìm được được gọi là các luật
chuỗi chung mờ với khoảng cách thời gian mờ.
Trong luận án, NCS tập trung vào nghiên cứu đề xuất các thuật toán mới
để phát hiện các luật kết hợp và các mẫu chuỗi, luật chuỗi chung; đánh giá
tính đúng đắn và tính đầy đủ, tính độ phức tạp tính toán của thuật toán; thử
nghiệm và phân tích ý nghĩa của các luật kết hợp, các mẫu chuỗi và luật chuỗi
chung phát hiện được; so sánh kết quả thử nghiệm với phương pháp chia
khoảng.
Vấn đề đặt ra trong luận án là mới, chưa có nghiên cứu tương tự trước đó
nên việc đánh giá và so sánh với các nghiên cứu trước đó sẽ được thực hiện
bằng cách chỉ ra rằng các luật kết hợp và mẫu chuỗi, luật chuỗi chung tìm
được trong các nghiên cứu trước đó chỉ là dạng riêng tương ứng của luật kết
hợp và mẫu chuỗi, luật chuỗi chung được phát hiện bởi các thuật toán được đề
xuất trong luận án này.
2.2. Đối tượng nghiên cứu: là các thuật toán phát hiện các luật kết hợp,
và các mẫu chuỗi, luật chuỗi chung có tính đến khoảng cách thời gian trong
các CSDL định lượng và CSDL chuỗi định lượng cùng có yếu tố thời gian.
2.3. Phạm vi nghiên cứu:
Luận án nghiên cứu các luật kết hợp, các mẫu chuỗi, các luật chuỗi
chung, các CSDL định lượng và CSDL chuỗi định lượng cùng có yếu tố
thời gian.
Các tập mờ được sử dụng như các tham số cho trước làm đầu vào cho các
thuật toán đề xuất, luận án không tập trung nghiên cứu sâu về lý thuyết
mờ.
Do các luật kết hợp, mẫu chuỗi, luật chuỗi chung được đề xuất trong luận
án là mới, nên các phần thực nghiệm của luận án không so sánh kết quả
với các thuật toán khác.
3. Phƣơng pháp nghiên cứu
Luận án đã sử dụng các phương pháp nghiên cứu sau:
15
Phương pháp tổng hợp, phân tích: được sử dụng để tổng hợp và phân tích
các nghiên cứu về những vấn đề liên quan để phát hiện các khoảng trống
nghiên cứu và xác định vấn đề nghiên cứu mà luận án cần giải quyết.
Phương pháp phân tích cũng thường được sử dụng khi đề xuất các khái
niệm mới liên quan đến vấn đề nghiên cứu của luận án sao cho những khái
niệm mới được phát triển dựa trên nhiều nhất có thể các khái niệm đã có
liên quan.
Phương pháp so sánh: được sử dụng để so sánh các kỹ thuật, thuật toán đã
được đề xuất để giải quyết những vấn đề nghiên cứu liên quan, từ đó hình
thành ý tưởng cho thuật toán mới cho vấn đề nghiên cứu.
Phương pháp thiết kế và đánh giá độ phức tạp thuật toán: được sử dụng
để thiết kế thuật toán giải quyết bài toán cụ thể được đặt ra trong luận án
và ước lượng độ phức tạp tính toán của các thuật toán này.
Phương pháp thực nghiệm: Các thuật toán được đề xuất đều được thực
nghiệm trên các tập dữ liệu thực để đánh giá sự đúng đắn và tính khả thi
của thuật toán.
4. Các đóng góp chính của luận án
Những đóng góp chính của luận án là đề xuất và giải quyết các vấn đề
sau:
Đề xuất vấn đề và thuật toán phát hiện luật kết hợp có tính đến khoảng
cách thời gian xảy ra giữa các giao dịch trong các CSDL định lượng có
yếu tố thời gian, ở đó các thuộc tính định lượng và khoảng cách thời gian
xảy ra giữa các giao dịch được chuyển thành các thuộc tính mờ và khoảng
cách thời gian mờ [CT4].
Đề xuất vấn đề và thuật toán phát hiện mẫu chuỗi (cổ điển) có tính đến
khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL chuỗi
định lượng có yếu tố thời gian, ở đó các thuộc tính định lượng và khoảng
cách thời gian xảy ra giữa các giao dịch cũng được chuyển thành các thuộc
tính mờ và khoảng cách thời gian mờ [CT5].
16
Đề xuất vấn đề và thuật toán phát hiện luật chuỗi chung có tính đến
khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL chuỗi
định lượng có yếu tố thời gian, ở đó các thuộc tính định lượng và khoảng
cách thời gian cũng được chuyển thành các thuộc tính mờ và khoảng cách
thời gian mờ [CT9].
5. Bố cục luận án
Luận án gồm phần mở đầu, 04 chương nội dung và phần kết luận:
Phần mở đầu: Trình bày sự cần thiết và động lực nghiên cứu của đề tài;
mục tiêu, đối tượng, phạm vi nghiên cứu; phương pháp nghiên cứu; những
đóng góp chính và cấu trúc của luận án.
Chương 1: Tổng quan về luật kết hợp và mẫu chuỗi, luật chuỗi chung.
Chương này trình bày các khái niệm, phương pháp phát hiện các luật kết
hợp, mẫu chuỗi, luật chuỗi chung của các nghiên cứu trước đó. Từ đó xác
định những các khoảng trống nghiên cứu và xác định vấn đề cụ thể trong
luận án.
Chương 2: Phát hiện luật kết hợp có tính đến khoảng cách thời gian trong
các CSDL định lượng có yếu tố thời gian. Chương này đề xuất vấn đề và
thuật toán phát hiện các luật kết hợp có tính đến khoảng cách thời gian xảy
ra giữa các giao dịch trong các CSDL định lượng có yếu tố thời gian. Tính
đúng đắn và đầy đủ của thuật toán, việc thực nghiệm thuật toán trên tập dữ
liệu thực, ý nghĩa của các luật kết hợp phát hiện được và so sánh với
những nghiên cứu trước đó cũng được trình bày trong Chương.
Chương 3: Phát hiện mẫu chuỗi có tính đến khoảng cách thời gian trong
các CSDL chuỗi định lượng có yếu tố thời gian. Chương này đề xuất vấn
đề và thuật toán phát hiện mẫu chuỗi có tính đến khoảng cách thời gian
xảy ra giữa các giao dịch trong các CSDL chuỗi định lượng có yếu tố thời
gian. Tính đúng đắn và tính đầy đủ, độ phức tạp tính toán của thuật toán
được đề xuất, việc thực nghiệm thuật toán trên tập dữ liệu thực, ý nghĩa
17
của các mẫu chuỗi phát hiện được và so sánh với những nghiên cứu liên
quan trước đó cũng được trình bày trong Chương.
Chương 4: Phát hiện luật chuỗi chung có tính đến khoảng cách thời gian
trong các CSDL chuỗi định lượng có yếu tố thời gian. Chương này đề xuất
vấn đề và thuật toán phát hiện luật chuỗi chung có tính đến khoảng cách
thời gian xảy ra giữa các giao dịch trong các CSDL chuỗi định lượng có
yếu tố thời gian. Tính đúng đắn và tính đầy đủ, độ phức tạp tính toán của
thuật toán, việc thực nghiệm thuật toán trên tập dữ liệu thực, ý nghĩa của
các luật chuỗi chung phát hiện được và so sánh với luật chuỗi chung được
phát hiện bởi các thuật toán trước đó cũng được trình bày trong Chương.
Phần kết luận: Trình bày một số kết luận về ý nghĩa, đóng góp của luận án
và định hướng nghiên cứu trong tương lai.
18
CHƯƠNG 1. TỔNG QUAN VỀ LUẬT KẾT HỢP VÀ MẪU CHUỖI, LUẬT CHUỖI CHUNG
Chương này trình bày tổng quan những vấn đề liên quan đến phát hiện
các luật kết hợp và các mẫu chuỗi, luật chuỗi chung trong các CSDL giao
dịch/định lượng không có hoặc có yếu tố thời gian. Chương này cũng chỉ ra
các khoảng trống chưa được giải quyết để từ đó xác định vấn đề nghiên cứu
của luận án.
1.1. Luật kết hợp
1.1.1. Phát hiện luật kết hợp trong các CSDL giao dịch
Định nghĩa 1.1 CSDL giao dịch [2]: Giả sử I = { } là tập các
mục, D = { } là tập các giao dịch, (1jm) là tập các mục thỏa
mãn I, biểu diễn mục xuất hiện trong giao dịch (hay tương
ứng nhận giá trị 1 nếu xuất hiện trong giao dịch này), nói cách. Khi đó, D
được gọi là CSDL giao dịch.
Ví dụ về CSDL giao dịch được mô tả như Bảng 1.1
Bảng 1.1. Ví dụ về CSDL giao dịch
TID
Mặt hàng đƣợc mua
1
a b
2
b c
3
d e
4
a b c
5
b
Bảng 1.1 biểu diễn CSDL giao dịch, trong đó I={a, b, c, d, e} là tập tên
các mặt hàng (hay là mục) và 5 giao dịch. Mỗi giao dịch biểu diễn danh sách
các mặt hàng được mua. Chẳng hạn, giao dịch đầu tiên có các mặt hàng a và b
được mua.
19
Định nghĩa 1.2 Luật kết hợp [1]: Giả sử X là tập mục, giao dịch T được
gọi là chứa X khi và chỉ khi XT. Luật kết hợp là luật có dạng X Y với
XI, YI và XY=. Trong đó X được gọi là tiền đề, Y là hệ quả của luật.
Định nghĩa 1.3 Độ hỗ trợ và độ tin cậy của luật kết hợp [1]
Độ hỗ trợ (support) của tập mục X là tỉ lệ số giao dịch trong D chứa X, kí
hiệu là sup(X)
(1.1) |{ | }| | |
Độ hỗ trợ của luật là tỉ lệ số giao dịch trong D chứa XY, kí hiệu
là
(1.2) | |
Độ tin cậy (confidence) của luật là tỉ lệ số giao dịch trong D chứa X
cũng chứa Y, kí hiệu là
(1.3)
Ví dụ: Xét CSDL trong Bảng 1.1, luật kết hợp {b, c} → {a} có nghĩa
“Trong cùng một giao dịch, nếu mặt hàng b và c được mua thì mặt hàng a
cũng sẽ được mua”. Luật này có độ hỗ trợ là 1/5=20% (tức là có 1 giao dịch
chứa luật trong tổng số 5 giao dịch của CSDL) và độ tin cậy của luật là
1/2=50% (có 1 giao dịch cả b, c, a được mua và 2 giao dịch cả b và c được
mua)
Việc phát hiện các luật kết hợp thường được chia làm 2 giai đoạn [1],
[74]:
Giai đoạn 1: Tìm tất cả các tập phổ biến trong CSDL, ở đó các tập phổ
biến là các tập có độ hỗ trợ không nhỏ hơn độ hỗ trợ cực tiểu (hay
ngưỡng hỗ trợ) cho trước;
20
Giai đoạn 2: Sinh ra các luật kết hợp có độ tin cậy không nhỏ hơn độ tin
cậy cực tiểu (hay ngưỡng tin cậy) cho trước từ các tập phổ biến đã tìm
được ở giai đoạn 1.
Trong hai giai đoạn trên thì giai đoạn 1 là phức tạp, đòi hỏi nhiều chi phí
về thời gian và tính toán. Ở giai đoạn 2, các luật kết hợp được sinh ra từ các
tập phổ biến tìm được là khá đơn giản nên đa phần các thuật toán phát hiện
luật kết hợp chỉ tập trung vào giải quyết giai đoạn 1, tức là tập trung vào việc
tìm các tập phổ biến.
Các thuật toán phát hiện luật kết hợp được chia thành hai nhóm dựa vào
phương pháp duyệt không gian tìm kiếm, đó là các phương pháp duyệt theo
chiều rộng (Breadth First Search - BFS) và duyệt theo chiều sâu (Depth First
Search - DFS). Duyệt theo chiều rộng là phương pháp duyệt tất cả các tập ứng
cử viên có k-1 mục trước khi xét đến các tập ứng cử viên có k mục. Các thuật
toán thực hiện theo cách tiếp cận này gồm: APRIORI [2], PARTITION [3],
A-CLOSE [4], A-CLOSE+ [5], DIC [13],... Duyệt theo chiều sâu là phương
pháp duyệt xong các tập ứng cử viên liên quan với một tập mục phổ biến rồi
mới chuyển sang xem xét đối với tập phổ biến cùng kích thước khác. Các
thuật toán thực hiện theo cách tiếp cận này là: CLOSE [6], CLOSET [7],
CLOSET+ [8], CHARM [9], FP-GROWTH [14], ECLAT [12], CFPMINE
[15].
APRIORI [2] là thuật toán đầu tiên phát hiện luật kết hợp trong CSDL
giao dịch. Thuật toán này được phát triển theo cách tiếp cận duyệt theo chiều
rộng với việc sinh ra các tập ứng cử viên độ dài k bằng cách kết hợp hai tập
phổ biến độ dài k-1. Thuật toán APRIORI được xếp vào tốp 10 thuật toán
khai phá dữ liệu điển hình nhất [75], thuật toán được mô tả cơ bản như trong
Thuật toán 1.1:
21
Thuật toán 1.1. Thuật toán Apriori input: T: Tập các giao dịch
: Độ hỗ trợ cực tiểu
output: Tập các tập phổ biến
{c | c t}; //mọi ứng viên chứa trong t for each c do c.count++;
Apriori-gen( ); //Sinh tập ứng cử viên độ dài k, for transactions t T do { } {c | c.count ≥ }; k k+1;
; {large 1-itemsets}; //các tập phổ biến độ dài 1 k 2; while ≠ do{ } return ⋃ Apriori{ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. }
Trong Thuật toán 1.1, T là tập các giao dịch, kết quả trả lại là các tập phổ
biến có độ hỗ trợ thỏa mãn độ hỗ trợ cực tiểu
Đến nay, đã có nhiều nghiên cứu phát hiện các luật kết hợp trong CSDL
giao dịch và được ứng dụng trong thực tiễn như trong thị trường bán lẻ [76],
[77], thị trường chứng khoán [78]–[80], y tế [81], [82], ...
1.1.2. Phát hiện luật kết hợp trong các CSDL định lượng
Định nghĩa 1.4 CSDL định lượng [24]: Giả sử I = { } là tập các
thuộc tính, D = { } là tập các giao dịch, (1jm) là tập các
thuộc tính thỏa mãn I, các giá trị tương ứng với thuộc tính
(1kn) trong giao dịch (1jm) nhận giá trị là số hoặc phân loại. Khi đó,
D được gọi là CSDL định lượng.
Ví dụ: Bảng 1.2 mô tả ví dụ về một CSDL định lượng.
22
Bảng 1.2. Ví dụ về CSDL định lượng
TID
Mặt hàng đƣợc mua (kèm số lƣợng)
(a,10) (b,2)
1
(b,1) (c,1)
2
(d,4) (e,6)
3
(a,1) (b,4) (c,5)
4
(b,3)
5
Trong ví dụ này, các mục trở thành các thuộc tính nhận giá trị số biểu
diễn số lượng các mặt hàng được mua. Chẳng hạn, tại giao dịch đầu tiên
(TID=1), mặt hàng a được mua với số lượng là 10, b được mua với số lượng
là 2.
Để phát hiện các luật kết hợp trong các CSDL định lượng người ta thường
sử dụng hai cách tiếp cận giải quyết như sau:
Thứ nhất: Rời rạc hóa các thuộc tính định lượng để chuyển CSDL định
lượng ban đầu thành CSDL giao dịch rồi sử dụng các thuật toán đã có về
phát hiện luật kết hợp trong các CSDL giao dịch để phát hiện luật kết hợp
trong CSDL đã chuyển đổi [20]–[23]. Chẳng hạn, trong nghiên cứu [20],
mỗi thuộc tính định lượng được phân hoạch thành các đoạn khác nhau sau
đó ánh xạ các giá trị của thuộc tính đó vào các đoạn tương ứng, các đoạn
này được đánh thứ tự bằng các số nguyên liên tiếp. Sau đó phát hiện các
tập phổ biến dựa trên các đoạn thu được. Cuối cùng các luật kết hợp được
phát hiện dựa trên các tập phổ biến. Cách tiếp cận này có nhược điểm là
xảy ra hiện tượng không tự nhiên, “sắc nét” tại các điểm giáp ranh giữa
các khoảng chia [83] dẫn đến không phản ánh đúng tính chất của dữ liệu.
Chẳng hạn, xét thuộc tính tuổi, nếu chia độ tuổi thành 3 loại: “Trẻ” (dưới
30 tuổi), “Trung niên” (30 đến 59 tuổi), “Già” (từ 60 tuổi) thì một người
ở độ tuổi 59 sẽ được gọi là “Trung niên” nhưng người ở độ tuổi 60 lại
thuộc nhóm “Già” mặc dù khoảng chênh lệch tuổi chỉ là 1 tuổi trong khi
23
người 30 tuổi và người 59 tuổi đều cùng là “Trung niên” với khoảng
chênh lệch về tuổi là 29.
Thứ hai: Sử dụng lý thuyết tập mờ [84], [85] để chuyển các thuộc tính
định lượng thành các thuật ngữ ngôn ngữ (linguistic terms) nhận giá trị
tập mờ (gọi tắt là thuộc tính mờ). CSDL được chuyển đổi khi đó được gọi
là CSDL mờ. Sau đó phát hiện các luật kết hợp trong CSDL mờ và các
luật được phát hiện khi đó được gọi là luật kết hợp mờ [24]–[29]. Về cơ
bản, các thuật toán phát hiện luật kết hợp mờ đều sử dụng các hàm thành
viên để chuyển đổi các giá trị định lượng thành các giá trị tập mờ tương
ứng và sau đó tính toán độ hỗ trợ và độ tin cậy dựa trên các giá trị tập mờ
thu được. Cách tiếp cận thứ hai đã khắc phục được nhược điểm của cách
tiếp cận thứ nhất là khắc phục được hiện tượng không tự nhiên, “sắc nét”
tại điểm giáp ranh của các khoảng chia [83]. Đến nay, vẫn chưa có cách
tiếp cận nào ưu điểm hơn cách tiếp cận thứ 2 này trong việc phát hiện các
luật kết hợp trong các CSDL định lượng. Cách tiếp cận này cũng đã tiếp
tục được áp dụng trong [86]–[88]. Trong cách tiếp cận này, một luật kết
hợp mờ nói chung có dạng { } { } ở đó là các tập mờ nhận được từ các thuộc tính định lượng b, c, a tương ứng trong
CSDL định lượng bằng cách chuyển chúng thành các thuộc tính mờ
(được gọi là mờ hóa các thuộc tính). Luật này có thể được diễn giải như
“Nếu mặt hàng b được mua với số lượng Ít và mặt hàng c được mua với
số lượng Nhiều thì mặt hàng a sẽ được mua với số lượng Ít trong cùng
một giao dịch”
1.1.3. Phát hiện luật kết hợp tính đến khoảng cách thời gian xảy ra của các
giao dịch trong các CSDL có yếu tố thời gian
Định nghĩa 1.5 CSDL có yếu tố thời gian là CSDL (giao dịch hoặc định
lượng) ở đó có thuộc tính thời gian nhận giá trị là thời điểm (hay timestamp)
xảy ra của mỗi giao dịch.
Bảng 1.3 là minh họa một CSDL giao dịch có yếu tố thời gian:
24
Bảng 1.3. Ví dụ về CSDL giao dịch mua hàng có yếu tố thời gian
TID
Thời gian
Mặt hàng đƣợc mua
1
1/1/2014
a b
2
5/1/2014
b c
3
6/1/2014
d e
4
7/1/2014
a b c
5
9/1/2014
b
Trong Bảng 1.3, cột Thời gian biểu diễn thời điểm xảy ra của các giao
dịch. Tập I={a, b, c, d, e} là tập mặt hàng được mua.
Bảng 1.4 giới thiệu một số nghiên cứu về phát hiện luật kết hợp có tính
đến khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL có yếu
tố thời gian.
Bảng 1.4. Một số nghiên cứu về phát hiện luật kết hợp có tính đến khoảng cách thời gian
Tập phổ biến/luật
→
Tập dữ liệu CSDL giao dịch có yếu tố thời gian
Ý nghĩa Nếu mặt hàng a được mua thì mặt hàng b cũng sẽ được mua sau 2 ngày tiếp theo
Thuật toán EH-Apriori [32], FITI [33], ITARM [34], ITP-Miner [35], IAR Miner [36], NCITPS-Miner [38] FITARM [89]
→
CSDL định lượng có yếu tố thời gian
Nếu mặt hàng a được mua một lượng Nhiều thì mặt hàng b sẽ được mua một lượng Ít sau 2 ngày tiếp theo
Bảng 1.4. giới thiệu những công trình nghiên cứu về điển hình về phát
hiện các luật kết hợp có tính đến khoảng cách thời gian xảy ra giữa các giao
dịch trong các CSDL giao dịch có yếu tố thời gian. Các luật kết hợp tìm được
khi đó cũng chỉ là các luật tìm được trong các CSDL giao dịch và với khoảng
cách thời gian rõ. Cách tiếp cận của các nghiên cứu sử dụng cửa sổ trượt
(slide window) trong [32], [33], [34], [35], [36], [38] bị hạn chế là số lượng
25
các mục sinh ra rất lớn khi kích thước cửa sổ trượt tăng và chỉ tìm được các
luật kết hợp giới hạn với khoảng cách thời gian cho phép trong kích thước cửa
sổ trượt mà không thể thấy được đầy đủ các quan hệ giữa các tập mục theo
mọi khoảng cách thời gian thực tế xảy ra giữa các giao dịch trong CSDL có
yếu tố thời gian. Nghiên cứu [89] đã đề xuất giải pháp phát hiện các luật kết
hợp có tính đến khoảng cách thời gian trong các CSDL định lượng có yếu tố
thời gian, theo cách tiếp cận mờ hóa các thuộc tính định lượng, khoảng cách
thời gian là các số. Các luật kết hợp tìm được khi đó được gọi là luật kết hợp
với khoảng cách thời gian rõ. Vì thế vấn đề phát hiện các luật kết hợp có tính
đến khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL định
lượng có yếu tố thời gian theo cách tiếp cận mờ hóa cả các thuộc tính định
lượng lẫn khoảng cách thời gian xảy ra giữa các giao dịch cần được tiếp tục
nghiên cứu giải quyết.
1.2. Mẫu chuỗi
1.2.1. Phát hiện mẫu chuỗi trong các CSDL chuỗi giao dịch
Định nghĩa 1.6 CSDL chuỗi giao dịch [39]: Giả sử I ={ } là tập các mục. Một chuỗi s =〈 〉 là danh sách có thứ tự các tập mục với
I (1km).
Một CSDL chuỗi giao dịch SD là tập các chuỗi giao dịch
SD = { }.
Ví dụ: CSDL chuỗi giao dịch được mô tả như trong Bảng 1.5
Bảng 1.5. Ví dụ về CSDL chuỗi giao dịch
SID
Chuỗi giao dịch
1
{b, c}, {a}, {f, g}, {g}, {e}
2
{b, d}, {a}, {c}, {b, c, e, f}
3
{b}, {c}, {f, g}, {e}
4
{c}, {f, g}
26
Bảng 1.5 thể hiện một CSDL chuỗi giao dịch của khách hàng trong dữ
liệu bán hàng của một cửa hàng bán lẻ. Trong đó, tập các mục chính là tập tên
của các mặt hàng I ={a, b, c, d, e, f, g}, ở đây mỗi chuỗi thể hiện tất cả các
giao dịch mà một khách hàng thực hiện. Khách hàng thứ nhất thực hiện 5 giao
dịch mua hàng lần lượt theo thứ tự {b, c}, {a}, {f, g}, {g}, {e}; khách hàng
thứ 2 thực hiện 4 giao dịch là {b, d}, {a}, {c}, {b, c, e, f};.... Các giao dịch có
thể bao gồm 1 mặt hàng (giao dịch mua c {c} của khách hàng 4) hoặc nhiều
mặt hàng (giao dịch mua f và g {f, g} cũng của khách hàng này).
Nếu xem mỗi mục trong chuỗi CSDL chuỗi giao dịch là một thuộc tính
(mục xuất hiện/không xuất hiện trong CSDL này tương ứng với thuộc tính
tương ứng nhận giá trị 1 hoặc 0), khi đó CSDL chuỗi nhận được được gọi là
CSDL chuỗi nhị phân. Nói cách khác CSDL chuỗi nhị phân và CSDL chuỗi
giao dịch được xem là tương đương nhau. Nên việc sử dụng 2 thuật ngữ này
cũng không gây ra bất kỳ sự nhầm lẫn nào.
Định nghĩa 1.7 Độ dài chuỗi [39]: Độ dài của chuỗi 〈 〉 là tổng số các tập mục của chuỗi. Một chuỗi có độ dài k được gọi là k-chuỗi.
Ví dụ: chuỗi 〈{ } { } { } { }〉 có độ dài 4, nó bao gồm 4 tập mục
hay 4 giao dịch là {b, d}, {a}, {c}, {b, c, e, f}.
Định nghĩa 1.8 Chuỗi con [39]: Chuỗi 〈 〉 được gọi là chuỗi con của chuỗi 〈 〉 khi và chỉ khi tồn tại k số nguyên sao cho và được kí hiệu là . Nói cách khác, chuỗi là chuỗi con của chuỗi nếu có
thể nhận được từ sau khi bỏ đi một số giao dịch hoặc một số mục trong các
giao dịch của . Khi đó ta có thể gọi là chuỗi chứa chuỗi .
Ví dụ: Chuỗi là chuỗi con của chuỗi 〈{ } { }〉
〈{ } { } { } { }〉 nhưng chuỗi 〈{ } { }〉 không phải là chuỗi con
của chuỗi 〈{ } { } { } { }〉
27
Định nghĩa 1.9 Độ hỗ trợ của chuỗi [39]: Độ hỗ trợ của chuỗi trong
CSDL chuỗi SDB, kí hiệu là sup( ), là tỷ số của số chuỗi trong SDB chứa
và tổng số chuỗi trong CSDL này. Độ hỗ trợ của chuỗi được tính theo công
thức:
(1.4) |{ | }|/|SDB|
Chuỗi được gọi là phổ biến hay là mẫu chuỗi khi và chỉ khi độ hỗ trợ
của chuỗi s không nhỏ hơn độ hộ trợ cực tiểu min_sup cho trước, tức là
sup( ) min_sup.
Trong Bảng 1.5, độ hỗ trợ của chuỗi s =〈{ } { }〉 là 2/4=50% vì có 2
chuỗi giao dịch trong CSDL hỗ trợ nó, đó là chuỗi giao dịch thứ 2 và thứ 3
(SID=2 và SID=3), chuỗi giao dịch đầu tiên không hỗ trợ chuỗi s vì b và c
xuất hiện tại cùng 1 thời điểm của chuỗi giao dịch này, tức là b và c xuất hiện
trong cùng một giao dịch và thời điểm xảy ra của giao dịch mua b và mua c là
như nhau). Trong trường hợp này, chuỗi s sẽ là mẫu chuỗi nếu min_sup cho
trước không vượt quá 50%.
Một mẫu chuỗi thể hiện mối quan hệ giữa các giao dịch xảy ra theo chuỗi
thời gian được thực hiện bởi cùng một đối tượng. Chẳng hạn như mẫu chuỗi
〈{ } { } { }〉 có thể được diễn giải như sau “Nếu một khách hàng mua mặt
hàng a và sau đó mua mặt hàng b thì khách hàng đó sẽ mua mặt hàng c”.
Các thuật toán phát hiện mẫu chuỗi trong các CSDL chuỗi giao dịch có
thể được phân chia thành 3 nhóm chính:
Nhóm thứ nhất: Thực hiện sinh chuỗi ứng cử viên bằng phương pháp
tìm kiếm theo bề rộng (breath-first search): Bắt đầu từ việc quét CSDL để
tìm các chuỗi phổ biến độ dài 1. Tiếp đến, các chuỗi độ dài 2 được sinh ra dựa
trên kết hợp các chuỗi phổ biến độ dài 1 (thông qua việc mở rộng tập và mở
rộng chuỗi). Sau đó, các chuỗi độ dài 3 được sinh ra bằng cách kết hợp các
chuỗi phổ biến độ dài 2. Tương tự, các chuỗi độ dài n được sinh ra bằng cách
kết hợp các chuỗi phổ biến độ dài n-1. Quá trình này dừng lại khi không còn
28
chuỗi mới được sinh ra. Các thuật toán điển hình nhất được phát triển theo
cách tiếp cận này gồm APRIORI ALL và APRIORI SOME [39], GSP [40],
SPIRIT [41], APRIORIADJUST [90].
Nhóm thứ 2: Thực hiện sinh chuỗi ứng viên bằng phương pháp tìm
kiếm theo chiều sâu (depth-first search): Bắt đầu từ từng chuỗi độ dài 1, thuật
toán gọi đệ quy thực hiện mở rộng tập và mở rộng chuỗi để sinh ra các chuỗi
có độ dài lớn hơn. Thuật toán quay lui khi không thể tạo ra chuỗi tiếp theo.
Các thuật toán được phát triển theo cách tiếp cận của nhóm này gồm SPADE
[42], SPAM [43], FAST [44], LAPIN [91], CM-SPAM [45], CM-SPADE
[45], MAXSP [46], GENMINER [47], FEAT [92], FSGP [93], VGEN [94],...
Nhóm thứ 3: Sử dụng phương pháp tìm kiếm theo chiều sâu và sử dụng
CSDL chiếu (projected database). Các CSDL chiếu được tạo ra tương ứng với
mỗi mẫu chuỗi. Điều này làm giảm không gian tìm kiếm do chỉ tìm trên
CSDL chiếu được sinh ra thay vì CSDL chuỗi ban đầu. Tuy nhiên, các thuật
toán được phát triển theo cách tiếp cận này thường đòi hỏi nhiều bộ nhớ do
phát sinh ra nhiều CSDL chiếu trong quá trình xử lý. Các thuật toán được
phát triển theo cách tiếp cận của nhóm này gồm FREESPAN [48],
PREFIXSPAN [49], CLOSPAN [50], BIDE [95], CLASP [96], VMSP
[97],…
Thuật toán AprioriAll [39] phát hiện các mẫu chuỗi trong CSDL chuỗi
giao dịch thuộc nhóm tìm kiếm theo bề rộng được trình bày trong Thuật toán
1.2 sau đây:
Thuật toán 1.2. Thuật toán AprioriAll input: SDB: CSDL chuỗi
min_sup: Độ hỗ trợ cực tiểu
output: Tập các chuỗi phổ biến
AprioriAll{
1. = {tập các chuỗi phổ biến độ dài 1, }
2. k=2,
29
3. do while ≠ {
4. Sinh tập ứng cử viên (đây là tập các chuỗi ứng cử viên độ dài k được
tạo từ tập các chuỗi phổ biến độ dài k-1, );
5. foreach chuỗi s trong CSDL SDB do {
6. Tăng cả biến đếm cho tất cả các chuỗi a trong nếu s hỗ trợ a
7. }
8. = {a nếu độ hỗ trợ của a thỏa mãn độ hỗ trợ cực tiểu}
9. k = k+1;
10. }
; 11. return ⋃
12.}
Phát hiện mẫu chuỗi cũng đã được ứng dụng rộng rãi [98] như trong các
lĩnh vực phân tích thị trường [40], phân tích văn bản [99], giảm năng lượng
tiêu thụ trong nhà thông minh (smart homes) [100], phân tích hành vi của
người dùng trên trang web [101], môi trường [102], y tế [103],...
1.2.2. Phát hiện mẫu chuỗi trong các CSDL chuỗi định lượng
Định nghĩa 1.10 CSDL chuỗi định lượng: Giả sử I = { } là tập các
thuộc tính. Một chuỗi định lượng s = 〈 〉 là danh sách có thứ tự các
tập thuộc tính I (1km) và các thuộc tính a nhận giá trị là số hoặc
phân loại.
Một CSDL chuỗi định lượng là tập các chuỗi định lượng
{ }.
Bảng 1.6. Ví dụ CSDL chuỗi định lượng
Chuỗi định lƣợng
SID 1 2 3 4
〈 〉 〈 〉 〈 〉 〈 〉
30
5 6 7 8 9 10
〈 〉 〈 〉 〈 〉 〈 〉 〈 〉 〈{ } 〉
Trong Bảng 1.6, I = {a, b, c, d, e, f, g, h, i} là tập các thuộc tính, chuỗi
giao dịch đầu tiên là 〈 〉 bao gồm 3 giao dịch xảy ra theo
trình tự thời gian lần lượt gồm giao dịch thứ nhất ở đó thuộc tính a nhận giá
trị 2, ở giao dịch thứ 2 thuộc tính b nhận giá trị 2 và ở giao dịch thứ 3 thuộc
tính e nhận giá trị 5. Chuỗi giao dịch thứ 2 là 〈 〉 có SID là
2 cũng bao gồm 3 giao dịch được xác định theo cách xác định như trên, trong
khi đó chuỗi giao dịch cuối cùng (SID=10) là 〈{ } 〉
gồm 3 giao dịch, ở đó giao dịch đầu tiên có 2 thuộc tính a, g tương ứng nhận
giá trị là 2 và 5, ở giao dịch thứ 2 thuộc tính b nhận giá trị 2, ở giao dịch thứ 3
thuộc tính e nhận giá trị 1.
Cũng giống như phát hiện luật kết hợp trong CSDL định lượng, để phát
hiện mẫu chuỗi trong các CSDL chuỗi định lượng, người ta thường sử dụng
phương pháp mờ hóa để chuyển đổi các giá trị của thuộc tính định lượng
thành các tập mờ rồi từ đó đề xuất thuật toán phát hiện các mẫu chuỗi mờ
trong các CSDL chuỗi định lượng. Một số thuật toán điển hình về phát hiện
mẫu chuỗi trong các CSDL chuỗi định lượng được dựa trên việc mờ hóa các
thuộc tính như: SPEEDYFUZZY [53], MINIFUZZY [53], FGBSPMA [54],
MST [55] FQSP-MMS [56], FUZZY APRIORISOME [57], IQSP [58] và các
thuật toán khác [104]–[106].
Mẫu chuỗi mờ được biểu diễn dưới dạng 〈 〉 trong đó là các tập mờ gắn với các thuộc tính a, b, c. Mẫu chuỗi này có thể được diễn giải là “theo trình tự thời gian, một khách hàng mua một
lượng Nhiều mặt hàng a, một lượng Trung bình mặt hàng b và sau đó một
lượng Ít mặt hàng c”.
31
1.2.3. Phát hiện mẫu chuỗi tính đến khoảng cách thời gian xảy ra của các
giao dịch trong các CSDL chuỗi có yếu tố thời gian
Định nghĩa 1.11 CSDL chuỗi giao dịch/định lượng có yếu tố thời gian
[107]: là CSDL chuỗi giao dịch/định lượng ở đó có thêm thuộc tính thời gian
nhận giá trị là thời điểm xảy ra của mọi giao dịch trong các chuỗi giao dịch.
{ }
Giả sử I = là tập các mục. Một chuỗi
〈 〉 , ở đây là thời
điểm xuất hiện của mục I (1 n) trong chuỗi. Chuỗi giao dịch s cũng có thể được viết dưới dạng s = 〈 〉
(1≤ j≤ k) và tương ứng là thời điểm xảy ra của các
giao dịch mua các mặt hàng trong
Một CSDL chuỗi có yếu tố thời gian là tập tất cả các chuỗi có yếu tố thời
gian { }.
Trong CSDL trên, nếu các mục trong I được xem là các thuộc tính nhận
giá trị 1 hoặc 0 tương ứng với mục đó xuất hiện hay không xuất hiện thì
CSDL chuỗi giao dịch có yếu tố thời gian trở thành CSDL chuỗi nhị phân có
yếu tố thời gian.
Nếu các thuộc tính trong I nhận các giá trị số hoặc giá trị phân loại thì
nhận được một CSDL được gọi là CSDL chuỗi định lượng có yếu tố thời gian.
Bảng 1.7 ở dưới minh họa một CSDL chuỗi giao dịch có yếu tố thời gian.
Bảng 1.7. Ví dụ CSDL chuỗi giao dịch có yếu tố thời gian
Chuỗi giao dịch có yếu tố thời gian
Sid 1 2 3 4 5 6 7
〈 〉 〈 〉 〈 〉 〈 〉 〈 〉 〈 〉 〈 〉
32
8 9 10
〈 〉 〈 〉 〈 〉
Trong Bảng 1.7, I = {a, b, c, d, e, f, g, h, i} là tập các mục (hay tên các
mặt hàng), thời gian xảy ra giao dịch được tính từ 0. Chuỗi giao dịch đầu tiên
là 〈 〉 có giá trị định danh SID là 1 và bao gồm 3 giao dịch:
giao dịch thứ nhất xảy ra tại thời điểm 1 ở đó mặt hàng a được mua; giao dịch
thứ 2 xảy ra tại thời điểm 4 ở đó mặt hàng b được mua và giao dịch thứ 3 xảy
ra tại thời điểm 29 ở đó mặt hàng e được mua. Chuỗi giao dịch cuối cùng là
〈 〉 có giá trị định danh SID là 10 và bao gồm 3 giao
dịch: các mặt hàng a và g xuất hiện trong cùng một giao dịch xảy ra tại thời
điểm 0, mặt hàng b thuộc giao dịch thứ 2 xảy ra tại thời điểm 3 và mặt hàng e
thuộc giao dịch thứ 3 xảy ra tại thời điểm 30.
Bảng 1.8 trình bày một số nghiên cứu điển hình về phát hiện mẫu chuỗi
có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong CSDL
chuỗi giao dịch/chuỗi định lượng có yếu tố thời gian.
Bảng 1.8. Một số nghiên cứu về phát hiện mẫu chuỗi có tính đến khoảng cách thời gian
Thuật toán
TAS [62]
Mẫu 〈 〉
Ý nghĩa Nếu một khách hàng mua a và sau đó mua b trong thời gian 3 ngày thì khách hàng đó sẽ mua c sau 5 ngày tiếp theo.
Delta-Pattern [60]
Tập dữ liệu CSDL chuỗi giao dịch có yếu tố thời gian CSDL chuỗi giao dịch có yếu tố thời gian
〈 〉
thời
(khoảng cách gian là giá trị rõ)
I-Apriori algorithm, I-PrefixSpan [61] FTI-Apriori, FTI-
CSDL chuỗi giao dịch có yếu tố thời gian CSDL chuỗi giao
〈 〉 Nếu một khách hàng mua a và sau đó mua b trong thời gian [0, 3 ngày] thì khách hàng đó sẽ mua c trong vòng [0, 5 ngày] tiếp theo. Nếu một khách hàng mua a và sau đó mua b sau thời gian I1 thì khách hàng đó sẽ mua c sau thời gian I2. Nếu một khách hàng mua a và mua b sau thời gian Short thì
〈 〉 thời (Khoảng cách
33
gian là giá trị mờ)
dịch có yếu tố thời gian
khách hàng đó sẽ mua c sau thời gian Long.
〈 〉
PrefixSpan [63] FP-Growth- PrefixSpan [64] SPFTI [65], ISPFTI [66]
thời
(Khoảng cách gian là giá trị mờ)
CSDL chuỗi giao dịch có yếu tố thời gian
Nếu một khách hàng mua a và mua b sau thời gian thì khách hàng đó sẽ mua c sau thời gian
Trong Bảng 1.8, a, b, c là các mục trong CSDL chuỗi giao dịch, các
khoảng cách thời gian xảy ra giữa các giao dịch là , . Chẳng hạn là
khoảng thời gian từ 3 đến 5 ngày, là khoảng thời gian từ 10 đến 12 ngày.
Tương tự như trường hợp phát hiện các luật kết hợp (Bảng 1.4), để phát
hiện các mẫu chuỗi có tính đến khoảng cách thời gian xảy ra giữa các giao
dịch trong các CSDL chuỗi tác vụ có yếu tố thời gian, nhằm tránh hiện tượng
không tự nhiên và sắc nét tại các điểm phân chia như trong [61], việc mờ hóa
các khoảng cách thời gian đã được áp dụng [63]. Khi đó, các mẫu chuỗi tìm
được trong nghiên cứu [63] được gọi là mẫu chuỗi với khoảng cách thời gian
mờ và nó dạng 〈 〉, có nghĩa là “Nếu một khách hàng mua
a và mua b sau thời gian Short thì khách hàng đó sẽ mua c ở thời gian Long
tiếp theo” , ở đây Short và Long là các tập mờ thời gian. Các thuật toán để tìm
các mẫu chuỗi với khoảng cách thời gian như vậy là FTI-Apriori và FTI-
PrefixSpan [63]. Hai thuật toán này được phát triển tương ứng dựa trên hai
thuật toán Apriori và PrefixSpan. Các nghiên cứu [65], [66] cũng nhằm tìm ra
các mẫu chuỗi với khoảng cách thời gian mờ dạng 〈 〉 trong các
CSDL chuỗi giao dịch có yếu tố thời gian, ở đây và là các số mờ, đó
là một dạng đặc biệt của tập mờ. Các số mờ và dạng hình thang biểu
diễn khoảng cách thời gian lần lượt giữa các cặp giao dịch trong mẫu chuỗi
(a, b) và (b, c). Giá trị của các số mờ trong mẫu chuỗi của các thuật toán
SPFTI [65] và ISPFTI [66] được tìm dựa trên tập dữ liệu đầu vào. Nói cách
khác phương pháp mờ hóa khoảng cách thời gian là hoàn toàn khác so với
34
việc cho trước các tập mờ như trong [63]. Các thuật toán SPFTI [65] và
ISPFTI [66] được phát triển dựa trên thuật toán Apriori tuy nhiên mới dừng ở
mức đề xuất ý tưởng. Các thuật toán chưa được thực nghiệm để biết nó có khả
thi và phù hợp với lý thuyết về mẫu chuỗi và với thực tế hay không. Mẫu
chuỗi 〈 〉 cũng được giải thích là “Nếu một khách hàng mua a
và mua b sau thời gian thì khách hàng đó sẽ mua c sau thời gian tiếp theo”.
1.3. Luật chuỗi chung
1.3.1. Khái niệm luật chuỗi chung
Định nghĩa 1.12 Luật chuỗi chung [108]: Giả sử I = { } là tập các
mục, SD là CSDL chuỗi giao dịch, một luật chuỗi chung có dạng X⟹Y, trong
đó X, Y I thỏa mãn X Y=, X, Y ≠ và các mục trong Y phải xuất hiện
sau các mục trong X.
Ví dụ, luật {a, b} ⟹ {c} có nghĩa “Nếu một khách hàng đã từng mua cả
2 mặt hàng a và b thì sau đó khách hàng đó sẽ mua c”, giao dịch mua a và
giao dịch mua b của khách hàng không cần theo thứ tự nhưng phải xảy ra
trước giao dịch mua c.
1.3.2. Phát hiện luật chuỗi chung
Luật chuỗi chung mới được xuất hiện trong vài năm gần đây [69]. Các
thuật toán để phát hiện các luật chuỗi chung trong các CSDL chuỗi chưa
nhiều. Bảng 1.9 sau đây giới thiệu các thuật toán như vậy.
Bảng 1.9. Một số nghiên cứu về phát hiện luật chuỗi chung
Mẫu/Luật
Luật chuỗi chung: {a, b} ⟹ {c}
Dữ liệu CSDL chuỗi giao dịch
Mô tả Nếu một khách hàng mua a và mua b thì khách hàng đó sẽ mua c sau đó
Thuật toán CMRules [69], Rule Growth [71], ERMiner [72]
35
Bảng 1.9 cho thấy các thuật toán phát hiện luật chuỗi chung hiện có như
CMRules [69] , RuleGrowth [71], ERMiner [72] chỉ cho phép phát hiện các
luật này trong các CSDL chuỗi giao dịch không có yếu tố thời gian. Như vậy
vấn đề phát hiện luật chuỗi chung trong các CSDL chuỗi định lượng cũng như
vấn đề phát hiện luật chuỗi chung có tính đến khoảng cách thời gian xảy ra
giữa các giao dịch trong các CSDL chuỗi giao dịch/chuỗi định lượng có yếu
tố thời gian vẫn chưa được quan tâm nghiên cứu.
Trong các thuật toán hiện có về phát hiện luật chuỗi chung trong các
CSDL chuỗi giao dịch, thuật toán ERMiner [72] là hiệu quả nhất do đã khắc
phục được nhược điểm của các thuật toán CMRules và RuleGrowth trước đó.
Dưới đây sẽ trình bày về thuật toán này.
Định nghĩa 1.13 Các lớp tương đương trái/phải [72]: Cho CSDL chuỗi
giao dịch, I là tập các mục trong CSDL này. Một lớp tương đương trái được
kí hiệu là được xác định là = {W ⟹ Y | Y I |Y| = i} trong đó
W I và i là số tự nhiên. Tương tự, một lớp tương đương phải kí hiệu là
được xác định là = {X ⟹ W | X I |X| = i} trong đó W I và
i là số nguyên.
Ví dụ: { } = {{ } ⟹ { } { } ⟹ { }},
{ } = {{ } ⟹ { } { } ⟹ { } { } ⟹ { }}
Định nghĩa 1.14 Các phép hợp nhất trái/phải [72]: Giả sử là lớp
tương đương trái và hai luật r = W ⟹ X và s = W ⟹ Y đều thuộc và
| | | – |. Một phép hợp trái của r và s là quá trình kết hợp r, s để
nhận được luật ⟹ . Tương tự, gọi là lớp tương đương phải và
hai luật r = ⟹ và s = ⟹ thỏa mãn r, s và | |
| – |. Một phép hợp phải của r và s là quá trình kết hợp r, s để được
⟹
Thuật toán ERMiner [72] được phát triển dựa trên các lớp tương đương
trái, phải của các luật chuỗi chung phổ biến và các phép hợp nhất các luật trên
36
các lớp tương đương này. Thuật toán ERMiner được mô tả trong Thuật toán
1.3
Thuật toán 1.3. Thuật toán ERMiner input: SDB: CSDL chuỗi giao dịch,
minsup và minconf: độ hỗ trợ cực tiểu và độ tin cậy cực tiểu.
output: tập các luật chuỗi chung.
1. leftStore;
2. rules;
3. Quét 1 lần toàn bộ CSDL SDB để tính toán EQ, tập các lớp tương đương
có kích thước 1*1;
4. foreach left equivalence class H EQ do
5. leftSearch (H, rules);
6. end
7. foreach right equivalence class J EQ do
8. rightSearch (J, rules, leftStore);
9. end
10. foreach left equivalence class K leftStore do
11. leftSearch (K, rules);
12. end
13. return rules;
Thủ tục leftSearch được mô tả trong Thuật toán 1.4
Thuật toán 1.4. Thủ tục leftSearch input: LE: lớp tương đương trái,
rules: tập các luật đã tìm được,
minsup và minconf: độ hỗ trợ cực tiểu và độ tin cậy cực tiểu
1. foreach rule r LE do
2. LE’ ;
37
foreach rule s LE thỏa mãn r ≠ s và cặp (r, s) chưa xử lý do 3.
Gọi c, d là các mục tương ứng trong r, s mà không xuất hiện 4.
trong s, r;
if countPruning(c, d) = false then 5.
t leftMerge(r, s) ; 6.
calculateSupport(t, r, s); 7.
if sup(t) ≥ minsup then 8.
calculateConfidence(t, r, s); 9.
if conf(t) ≥ minconf then 10.
rules rules {t}; 11.
end 12.
LE’ LE’ {t}; 13.
14. end
15. end
16. end
17. leftSearch (LE’, rules);
18. end
Thủ tục rightSearch được mô tả trong Thuật toán 1.5
Thuật toán 1.5. Thủ tục rightSearch input: RE: lớp tương đương phải
rules: tập các luật đã tìm được
minsup và minconf: độ hỗ trợ cực tiểu và độ tin cậy cực tiểu,
leftStore: lưu trữ các lớp luật tương đương trái được sinh ra bằng phép
hợp nhất phải
1. foreach rule r RE do
RE’ ; 2.
3. foreach rule s RE thỏa mãn r ≠ s và cặp (r, s) chưa được xử lý do
38
Gọi c, d là các mục tương ứng trong r, s mà không xuất hiện 4.
trong s, r;
5. if countPruning(c, d) = false then
6. t rightMerge(r, s);
7. calculateSupport(t, r, s);
8. if sup(t) ≥ minsup then
9. calculateConfidence(t, r, s);
10. if conf(t) ≥ minconf then
11. rules rules {t};
12. end;
13. RE’ RE’ {t};
14. addToLeftStore(t)
15. end
16. end
17. end
18. rightSearch (RE’, rules);
19. end
Kết luận Chương 1
Chương 1 đã trình bày một cách tổng quan, tóm tắt những vấn đề liên
quan đến phát hiện các luật kết hợp và mẫu chuỗi, luật chuỗi chung tương ứng
trong các CSDL (giao dịch, định lượng) và CSDL chuỗi (giao dịch, định
lượng) có yếu tố thời gian.
Bảng 1.4 cho thấy, các nghiên cứu phát hiện luật kết hợp có tính đến
khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL có yếu tố
thời gian do các tác giả khác thực hiện mới dừng ở việc tìm các luật kết hợp
với khoảng cách thời gian rõ trong các CSDL giao dịch có yếu tố thời gian.
Thực tế cho thấy các CSDL trong đời sống thực thường là các CSDL định
lượng có yếu tố thời gian. Vì thế vấn đề phát hiện các luật kết hợp có tính đến
39
khoảng cách thời gian trong các CSDL định lượng có yếu tố thời gian cần
được quan tâm nghiên cứu.
Vấn đề phát hiện các luật kết hợp có tính đến khoảng cách thời gian xảy
ra giữa các giao dịch trong các CSDL định lượng có yếu tố thời gian đã được
nghiên cứu giải quyết trong [89] nhưng chưa triệt để. Luận án này tiếp tục
phát triển ý tưởng của nghiên cứu [CT2] để hoàn thiện nghiên cứu [89] bằng
cách đề xuất thuật toán phát hiện luật kết hợp có tính đến khoảng cách thời
gian trong các CSDL định lượng có yếu tố thời gian ở đó các thuộc tính định
lượng cũng như khoảng cách thời gian xảy ra giữa các giao dịch đều được mờ
hóa. Các luật phát hiện được khi đó được gọi là luật kết mờ với khoảng cách
thời gian mờ và nó là tổng quát hơn các luật kết hợp được phát hiện trong
[18], [19], [40], [42], [43]. Các luật kết hợp mờ với khoảng cách thời gian mờ
là những luật có dạng: ”Nếu mặt hàng a được mua với số lượng Nhiều, mặt
hàng c được mua với số lượng Trung bình thì mặt hàng b sẽ được mua với số
lượng Ít ở thời điểm sau đó một khoảng thời gian là Medium”. Trong đó
Nhiều, Trungbình, Ít là các tập mờ lần lượt gắn với các thuộc tính a, c và b,
Medium là tập mờ gắn với khoảng cách thời gian.
Bảng 1.8 và các phân tích ở trên cho thấy các nghiên cứu của các tác giả
khác về phát hiện mẫu chuỗi có tính đến khoảng cách thời gian xảy ra giữa
các giao dịch chỉ cho phép tìm được các mẫu chuỗi như vậy trong các CSDL
chuỗi giao dịch có yếu tố thời gian, chưa tìm được trong các CSDL chuỗi
định lượng có yếu tố thời gian.
Vấn đề phát hiện các mẫu chuỗi có tính đến khoảng cách thời gian trong
các CSDL chuỗi định lượng có yếu tố thời gian đã được tác giả của luận án
này nghiên cứu trong [CT6]. Tuy nhiên, nghiên cứu này mới dừng ở việc phát
hiện các mẫu chuỗi với khoảng cách thời gian xảy ra giữa các giao dịch nhận
giá trị rõ. Luận án sẽ tiếp tục nghiên cứu giải quyết bài toán phát hiện mẫu
chuỗi có tính đến khoảng cách thời gian trong các CSDL chuỗi định lượng có
yếu tố thời gian, ở đó khoảng cách thời gian trong mẫu chuỗi cũng là các tập
40
mờ. Khi đó, các mẫu chuỗi được phát hiện trong các nghiên cứu trước đó có
thể được xem là trường hợp riêng của mẫu chuỗi được phát hiện trong luận án
này.
Bảng 1.9 cũng cho thấy các nghiên cứu về phát hiện các luật chuỗi chung
do các tác giả khác thực hiện chỉ dừng ở việc phát hiện các luật này trong các
CSDL chuỗi giao dịch. Việc phát hiện các luật chuỗi chung trong các CSDL
chuỗi định lượng không có yếu tố thời gian đã được giải quyết trong công
trình [CT8].
Như vậy, có thể nói các luật chuỗi chung được phát hiện cho đến nay chỉ
được tìm trong các CSDL chuỗi không có yếu tố thời gian và chúng chỉ cho
biết tập mục (hoặc thuộc tính) trong phần tiền đề phải xuất hiện trước tập mục
(thuộc tính) trong phần hệ quả trong khi trong thực tế người ta cũng quan tâm
đến khoảng cách thời gian xảy ra giữa các tập trong phần tiền đề và hệ quả
của luật chuỗi chung bởi những thông tin như vậy là hữu ích và cần thiết cho
các bài toán dự báo. Luận án sẽ khắc phục hạn chế của các nghiên cứu trước
đó bằng cách đề xuất nghiên cứu vấn đề phát hiện các luật chuỗi chung có
tính đến khoảng cách thời gian xảy ra giữa hai phần của luật trong các CSDL
chuỗi định lượng có yếu tố thời gian. Các luật tìm được khi đó được gọi là
luật chuỗi chung mờ với các khoảng cách thời gian mờ.
Hình 1.1 là sơ đồ thể hiện các nội dung liên quan đến các nghiên cứu của
luận án.
41
Các vấn đề liên quan đến nghiên cứu của luận án
CSDL chuỗi có yếu tố thời gian
CSDL có yếu tố thời gian
CSDL giao dịch có yếu tố thời gian
CSDL định lượng có yếu tố thời gian
CSDL chuỗi giao dịch có yếu tố thời gian
CSDL chuỗi định lượng có yếu tố thời gian
Luật kết hợp với khoảng cách thời gian rõ
Mẫu chuỗi với khoảng cách thời gian rõ
Luật kết hợp mờ với khoảng cách thời gian rõ [1]
Mẫu chuỗi mờ với khoảng cách thời gian rõ [CT6]
Mẫu chuỗi với khoảng cách thời gian mờ
Luật kết hợp với khoảng cách thời gian mờ [CT2]
Mẫu chuỗi mờ với khoảng cách thời gian mờ [CT5]
Luật kết hợp mờ với khoảng cách thời gian mờ [CT4]
Luật chuỗi chung mờ với khoảng cách thời gian mờ [CT9]
Hình 1.1. Các vấn đề liên quan đến nghiên cứu của luận án
Hình 1.1. trình bày các nghiên cứu liên quan đến luận án. Luận án này tập
trung trình bày việc giải quyết các bài toán thuộc các nghiên cứu [CT4],
[CT5], [CT9]. Cụ thể, luận án sẽ tập trung nghiên cứu đề xuất và giải pháp
giải quyết triệt để 3 vấn đề sau đây:
Vấn đề 1: Phát hiện các luật kết hợp có tính đến khoảng cách thời gian
xảy ra giữa các giao dịch trong các CSDL định lượng có yếu tố thời gian.
Vấn đề 2: Phát hiện các mẫu chuỗi có tính đến khoảng cách thời gian xảy
ra giữa các giao dịch trong các CSDL chuỗi định lượng có yếu tố thời
gian.
Vấn đề 3: Phát hiện các luật chuỗi chung có tính đến khoảng cách thời
gian xảy ra giữa các giao dịch trong các CSDL chuỗi định lượng có yếu tố
thời gian.
Ba chương nội dung tiếp theo trong luận án sẽ trình bày cụ thể giải pháp
tương ứng cho 3 vấn đề nghiên cứu đó.
42
CHƯƠNG 2. PHÁT HIỆN LUẬT KẾT HỢP CÓ TÍNH ĐẾN
KHOẢNG CÁCH THỜI GIAN TRONG CÁC CSDL ĐỊNH LƢỢNG CÓ YẾU TỐ THỜI GIAN
Trong chương 1, luận án đã chỉ ra khoảng trống cần được nghiên cứu về
phát hiện các luật kết hợp có tính đến khoảng cách thời gian xảy ra giữa các
giao dịch trong các CSDL định lượng có yếu tố thời gian. Chương này, luận
án sẽ trình bày giải pháp để giải quyết vấn đề nghiên cứu đó. Khi đó, một
dạng luật kết hợp mới được gọi là luật kết hợp mờ với khoảng cách thời gian
mờ sẽ được phát hiện. Dạng luật này biểu diễn mối quan hệ của các thuộc tính
mờ nhận được từ việc mờ hóa các thuộc tính định lượng và khoảng cách thời
gian xảy ra giữa các giao dịch. Trong quá trình nghiên cứu, chúng tôi đã thực
hiện giải quyết vấn đề nghiên cứu theo cách tiếp cận từ đơn giản đến phức tạp
như nghiên cứu phát hiện các luật kết hợp mờ có tính đến khoảng cách thời
gian xác định rõ trong các CSDL định lượng có yếu tố thời gian [89], nghiên
cứu phát hiện luật kết hợp có tính đến khoảng cách thời gian mờ trong các
CSDL giao dịch [CT2]. Các luật kết hợp tìm được trong hai nghiên cứu này
được xem là trường hợp riêng của các luật kết hợp mờ với khoảng cách thời
gian mờ được phát hiện trong Chương này. Kết quả nghiên cứu của Chương
này đã được đăng trên tạp chí Indian Journal of Science and Technology
[CT4]. Chương này chủ yếu tập trung trình bày vấn đề phát hiện luật kết hợp
mờ với khoảng cách thời gian mờ trong các CSDL định lượng có yếu tố thời
gian.
2.1. Giới thiệu
Phát hiện luật kết hợp là hướng nghiên cứu và ứng dụng quan trọng trong
lĩnh vực khai phá dữ liệu. Phát hiện luật kết hợp từ CSDL giao dịch đã được
Rakesh Agrawal cùng cộng sự đề xuất lần đầu năm 1993 [1] và đến nay đã
nhận được rất nhiều kết quả nghiên cứu [2], [3], [9], [18], [19].
Bằng cách sử dụng lý thuyết tập mờ [84], [85] để chuyển các thuộc tính
định lượng thành các thuật ngữ ngôn ngữ (linguistic terms) nhận giá trị tập
43
mờ để chuyển giá trị của các thuộc tính trong CSDL định lượng thành các
thuộc tính mờ và phát hiện các luật kết hợp mờ như đã trình bày trong mục
1.1.2 của chương 1.
Trong quá trình nghiên cứu phát hiện luật kết hợp người ta còn quan tâm
đến khoảng cách thời gian xảy ra giữa các giao dịch [32]–[36] và khoảng cách
thời gian giữa các giao dịch được mờ hóa trong nghiên cứu [63]. Ý tưởng
chính của nghiên cứu [63] là mờ hóa khoảng cách thời gian rồi sau đó phát
hiện các mẫu chuỗi dạng 〈 〉, trong đó a, b, c là các mục,
Short, Long là các khái niệm mờ liên tương ứng với khoảng cách thời gian; đề
xuất hai thuật toán FTI-Apriori và FTI-Prefix Span cho việc phát hiện các
mẫu chuỗi với khoảng cách thời gian mờ.
Tuy nhiên nghiên cứu [63] chỉ đề cập đến việc mẫu chuỗi với khoảng
cách thời gian đối với CSDL chuỗi giao dịch mà các thuộc tính ở đó không
phải là thuộc tính định lượng mà không áp dụng được đối với CSDL định
lượng, tức là chỉ có thể phát hiện các luật có dạng “Nếu một khách hàng mua
a và mua b sau thời gian Short thì khách hàng đó sẽ mua c sau thời gian
Long”.
Nghiên cứu [89] đã đề xuất và giải quyết vấn đề phát hiện luật kết hợp mờ
với khoảng cách thời gian rõ trong CSDL định lượng có yếu tố thời gian. Luật
phát hiện dạng “Nếu mặt hàng a được mua một lượng Ít trong hôm nay thì
mặt hàng b sẽ được mua lượng Nhiều sau 2 ngày tiếp theo”. Thuật toán
FITARM đã được đề xuất để phát hiện luật trong [89]. Thuật toán FITARM
sử dụng cửa sổ trượt thời gian (sliding windows) để chuyển CSDL có yếu tố
thời gian thành CSDL không có yếu tố thời gian, mờ hóa các thuộc tính định
lượng, mở rộng thuật toán CHARM [9] để phát hiện các tập phổ biến đóng
làm cơ sở để tìm luật đã đề xuất.
Nghiên cứu [CT2] đã đề xuất và giải quyết vấn đề phát hiện luật kết hợp
với khoảng cách thời gian mờ trong CSDL giao dịch có yếu tố thời gian. Luật
phát hiện dạng “Nếu mặt hàng a được mua hôm nay thì mặt hàng b sẽ được
44
mua trong Ngắn ngày kế tiếp”. Thuật toán FTITS đã được đề xuất để phát
hiện luật trong [CT2]. Thuật toán FTITS dựa trên ý tưởng thuật toán FTI-
Apriori [63] để phát hiện các chuỗi với thời gian mờ phổ biến làm cơ sở để
tìm luật đã đề xuất.
Như vậy, nghiên cứu [89] chỉ mờ hóa thuộc tính định lượng, nghiên cứu
[CT2] chỉ mờ hóa khoảng cách thời gian. Mục đích của chương này phát hiện
luật dạng tổng quát đó là luật kết hợp mờ với khoảng cách thời gian mờ trong
CSDL định lượng có yếu tố thời gian. Đây là vấn đề thứ nhất luận án cần giải
quyết. Cụ thể, chương này tập trung nghiên cứu phát hiện các luật kết hợp
→ có nghĩa “Nếu
trong đó cả thuộc tính định lượng và khoảng cách thời gian đều được mờ hóa,
chẳng hạn luật tìm được có dạng một mặt hàng a được mua một lượng Ít và mặt hàng b được mua một lượng
Nhiều sau thời gian Short thì mặt hàng c sẽ được mua một lượng TB sau thời
gian Long”. Luật dạng này không quan tâm đến đối tượng (khách hàng) trong
giao dịch như trong [63]. Các nghiên cứu [89] và [CT2] chỉ là các trường hợp
đặc biệt của đề xuất trong chương này. Thuật toán FTQ được đề xuất được
phát triển dựa trên ý tưởng thuật toán Apriori [2], [63].
2.2. Một số khái niệm cơ bản
{ }, trong đó (1jp) là tập các thuộc tính thỏa mãn I tại
là tập các thuộc tính, D = Định nghĩa 2.1 Gọi I={ }
thời điểm ( ≥0), là giá trị định lượng của tại thời điểm (1≤k≤n).
Khi đó, D được gọi là CSDL định lượng có yếu tố thời gian.
Ví dụ 2.1: CSDL định lượng có yếu tố thời gian được mô tả trong Bảng
2.1.
Bảng 2.1. Ví dụ về CSDL định lượng có yếu tố thời gian
Thuộc tính định lƣợng
Time 0 2 3
a(2), h (5) a(5), b(7), d (1), g(6) a(4), k(5)
45
4 5 6 11 12 18 19 20 22 25 29 31
b(2), c(6) a(3), b(1), i(3) b(5) a(1), d(2), j(4) a(5) a(3), i(2) g(3) c(1) b(6) d(2) e(5) e(1)
Trong Bảng 2.1, I={a, b, c, d, e, g, h, i, j, k} là tập các thuộc tính; Xét
giao dịch T7 tại thời điểm t7=11 (Time = 11) là {a(1), d(2), j(4)} thì 1, 2, 4 lần
lượt là các giá trị của các thuộc tính a, d, j tại thời điểm 11. Tương tự, tại giao
dịch cuối (Time = 31) {e(1)} có nghĩa chỉ có duy nhất thuộc tính e nhận giá
trị 1 tại thời điểm 31.
Định nghĩa 2.2 Cho T là tập các giao dịch, I là tập các thuộc tính và { } là tập các tập mờ gắn với các thuộc tính trong I,
} là các tập mờ gắn với thuộc tính (k=1, .., n), là tập mờ thứ j của
{ trong đó hk là số lượng tập mờ của thuộc tính , thuộc tính (1≤ j≤ ).
DF = (T, I, FE) được gọi là CSDL mờ có yếu tố thời. Mỗi tập mờ đều có hàm thành viên tương ứng : X[0,1]. Như vậy, DF là CSDL mờ có
yếu tố thời gian dựa trên CSDL định lượng có yếu tố thời gian D bằng cách
mờ hóa các thuộc tính định lượng.
Ví dụ 2.2: Cho tập mờ được định nghĩa như trong [54] với K=3 đối với tất
cả các thuộc tính trong Ví dụ 2.1, trong trường hợp thuộc tính định lượng
có giá trị lớn nhất và nhỏ nhất trong D bằng nhau thì hàm thành viên của tập còn các hàm thành viên khác của thuộc tính đó mờ thứ nhất
đều nhận giá trị 0, trong các trường hợp còn lại, các thuộc tính định lượng có
46
giá trị lớn nhất và nhỏ nhất khác nhau, các hàm thành viên của các tập mờ đều
| ⁄
được định nghĩa theo công thức sau:
}
{ |
(2.1)
Trong đó
là hàm thành viên tương ứng với tập mờ thứ i của thuộc tính ;
là thuộc tính thứ m trong I; K là số phân hoạch thuộc tính, là tập mờ thứ i;
mi, ma lần lượt là các giá trị min, max của . Khi đó, CSDL mờ có yếu tố
thời gian DF được tạo ra từ CSDL D như Bảng 2.2:
Bảng 2.2. CSDL mờ có yếu tố thời gian DF
Time 0
2
3
4
5
6
Thuộc tính mờ
11
12
18
19
20
22
25
29
31
, val là giá trị mờ.
Trong Bảng 2.2,
( ) biểu diễn thuộc tính mờ
} có nghĩa
Xét giao dịch tại thời điểm 0 (time=0), {
giá trị mờ ứng với tập mờ thứ 1 của thuộc tính a là 0.5, giá trị mờ ứng với tập
47
mờ thứ 2 của thuộc tính a là 0.5 và giá trị mờ ứng với tập mờ thứ 1 của thuộc
tính h là 1. Các giá trị mờ trong DF được xác định dựa trên D như sau:
Xét giao dịch tại thời điểm 0 trong D chứa a(2), h(5):
Với thuộc tính định lượng a, ta có giá trị lớn nhất và nhỏ nhất của a trong
CSDL D lần lượt là 5 và 1 tức là các giá trị ma=5, mi=1. Khi đó,
; ứng với tập mờ đầu tiên
ứng thuộc tính của a ( =1)
| ⁄
tương thì = 1+(5-1)(1-1)/(3-1) = 1, áp
}
{ |
dụng công thức (2.1) ta có
( =2) thì
{ | | ⁄ } ; ứng với tập mờ thứ 2 của thuộc tính a thì = 1+(5-1)(2-1)/(3- { | | ⁄ } ; ứng với tập mờ thứ 3 1) = 3,
{ | | ⁄ } .
của thuộc tính a thì ( =3) thì
= 1+(5-1)(3-1)/(3-1) = 5,
Với thuộc tính định lượng h, ta có giá trị lớn nhất và nhỏ nhất của h
, các tập mờ còn lại
đều nhận giá trị 0.
trong CSDL D bằng nhau và đều nhận giá trị là 5 nên giá trị mờ của tập mờ
thứ nhất tương ứng của thuộc tính h là
{ | | ⁄ } ,
Xét giao dịch tại thời điểm 2 chứa a(5), b(7), d (1), g(6):
{ | | ⁄ } , { | | ⁄ } , với các giá trị tham số liên quan
Với thuộc tính định lượng a, ta có
đến thuộc tính a đã được tính ở trên.
Với thuộc tính định lượng b, ta có giá trị lớn nhất và nhỏ nhất của b trong
CSDL D lần lượt là 7 và 1. Khi đó,
( =1) thì
; ứng với tập mờ đầu tiên tương ứng của thuộc tính b = 1+(7-1)(1-1)/(3-1) ... (2.1) dụng công thức =1, có. áp ta
| ⁄
48
} { | | ⁄ } ;
{ | tập mờ ứng với
{ | | ⁄ } ;
thứ 2 của thuộc tính b thì thì ( =2)
1 + (7-1)(2-1)/(3-1) = 4, ứng với thứ 3 của thì = 1 + (7-1)(3-1)/(3-1) = 7, { | | ⁄ } .
tập mờ tính b thuộc thì ( =3)
Với thuộc tính định lượng d, ta có giá trị lớn nhất và nhỏ nhất của d trong
CSDL D lần lượt là 2 và 1. Khi đó,
| ⁄ }
{ |
; ứng với tập mờ đầu tiên tương ứng của thuộc tính d = 1+(2-1)(1-1)/(3-1) ( =1) thì
= 1, áp dụng công thức (2.1) ta có
{ | | ⁄
} ; ứng với tập mờ thứ 2 của thuộc tính d thì
{
1 + (2-1)(2-1)/(3-1) = 1.5,
( =2) thì
| | ⁄
} ; ứng với tập mờ thứ 3 của thuộc tính d thì ( =3) = 1+(2-1)(3-1)/(3-1) = 2,
} . thì { | | ⁄
Với thuộc tính định lượng g, ta có giá trị lớn nhất và nhỏ nhất của g trong
CSDL D lần lượt là 6 và 3. Khi đó,
dụng công (2.1) thức giá có ta
} ;
} { | | ⁄
| ⁄
; ứng với tập mờ đầu tiên tương ứng của thuộc tính g = 3+(6-3)(1-1)/(3-1) ( =1) thì = trị áp 3, { | tập mờ ứng với thứ 2 của thuộc thì thì ( =2)
tính g { | | ⁄ }
thứ 3 của tính g thuộc thì ( =3)
3 +(6-3)(2-1)/(3-1) = 4.5, ; ứng với tập mờ thì = 3+(6-3)(3-1)/(3-1) = 6, { | | ⁄
} .
49
Tương tự, các giá trị mờ trong DF được xác định dựa trên các giá trị định
lượng của các giao dịch còn lại trong D.
Định nghĩa 2.3 : Một chuỗi giao dịch mờ P được biểu diễn dạng
〈 〉 trong đó là một thuộc tính mờ và là thời
điểm xảy ra (1≤j≤n với 2≤j≤n), giá trị mờ của tại thời điểm
là . Trong chuỗi giao dịch mờ P, nếu các mục xảy ra cùng thời điểm
thì các thuộc tính mờ sẽ được sắp xếp theo trình tự bảng chữ cái. Giá trị
khoảng cách thời gian giữa hai phần tử liên tiếp trong chuỗi được xác định là
(1≤j≤n-1). Ví dụ: chuỗi giao dịch mờ P= 〈
〉 thì các giá trị khoảng cách thời gian tương ứng là =4-1=3 và =29-4=25.
Chuỗi giao dịch mờ P = 〈 〉 cũng có thể được viết
dưới dạng 〈( ) ( ) ( )〉 ở đây là các tập thuộc tính mờ và .
Kí hiệu LT={ | j=1, 2,..., p} là tập các tập mờ gắn với khoảng cách thời gian
là hàm thành viên ứng với khái
xảy ra giữa các giao dịch,
niệm mờ [63].
Ví dụ 2.3: LT= {Short, Medium, Long} và các hàm thành viên ứng với
khoảng cách thời gian được định nghĩa như dưới đây:
{
{
{
50
Định nghĩa 2.4 (mở rộng từ [63]) Gọi FE là tập các tập mờ gắn với các
thuộc tính định lượng trong CSDL định lượng có yếu tố thời gian và LT={ |
j=1,2,...,p} là tập các tập mờ ứng với khoảng cách thời gian. Chuỗi β =
là một chuỗi mờ với khoảng cách thời gian
) là một chuỗi mờ với khoảng cách
mờ nếu FE và LT với 1≤j≤r-1 và FE. Chuỗi β khi đó có độ dài r.
, Short,
, Medium,
Ví dụ: β=(
thời gian mờ có độ dài 3.
Định nghĩa 2.5 (mở rộng từ [63]) Một chuỗi mờ với khoảng cách thời gian
mờ = là chuỗi con của chuỗi mờ với
khoảng cách thời gian mờ β = khi và
chỉ khi tồn tại số nguyên w thỏa mãn với
, Short,
, Short, ) không là chuỗi con
i|1≤i≤k-1 và . Trong trường hợp k=1 thì . Ví dụ: các , Medium,
) và ( ) là chuỗi con của ( , Short, , Medium, ) và ( ) , Medium,
chuỗi ( ), các chuỗi ( , Short, của (
Định nghĩa 2.6 (mở rộng từ [63]) Cho hai chuỗi mờ với khoảng cách thời
gian mờ = và = 1 2
, Medium,
) tạo thành (
, Medium,
, Short,
. Khi đó, phép kết hợp 2 chuỗi 1 và 2 tạo , Short,
thành chuỗi = . Ví dụ: ( ) kết hợp chuỗi ( ).
Định nghĩa 2.7 Một luật kết hợp mờ với khoảng cách thời gian mờ có
, trong đó X, Y là chuỗi mờ với khoảng cách thời gian mờ,
là một luật kết hợp mờ với khoảng
→
dạng
LT. Ví dụ: cách thời gian mờ.
51
Gọi P = 〈 〉 là một chuỗi giao dịch mờ và α = là một chuỗi mờ với khoảng cách thời gian
mờ, với 1≤i≤r là giá trị của tại thời điểm . Khi đó, độ hỗ trợ của P
đối với α được định nghĩa như sau:
〉,
(2.2) { { } { }
).
Ví dụ 2.4: Cho chuỗi giao dịch mờ P = 〈
, Short,
, Medium,
chuỗi mờ với khoảng cách thời gian mờ = (
Độ hỗ trợ của P đối với là min{ (6), (18)}×min{0.667,1,1} = min{0.769,0.692}×min{0.667,1,1}=0.692×0.667 = 0.461 (tính theo hàm
thành viên của các tập mờ của các thuộc tính trong Ví dụ 2.2 và các hàm
thành viên của các tập mờ của khoảng cách thời gian trong Ví dụ 2.3
Cho CSDL mờ có yếu tố thời gian DF với N giao dịch, ta có các định
nghĩa sau:
Độ hỗ trợ của α trong DF được xác định là:
(2.3) ∑
trong DF được xác định là:
Độ tin cậy của luật
)
(2.4) (
được xác định là:
Độ hỗ trợ của luật
)
(2.5) (
Một chuỗi mờ với khoảng cách thời gian mờ được gọi là phổ biến khi có
độ hỗ trợ không nhỏ hơn ngưỡng cực tiểu min_sup cho trước.
(conf=0.568) có nghĩa “nếu a xảy ra với
Ví dụ 1.5: Luật
→
sau khoảng thời gian Short” có độ tin
52
thì b xảy ra với lượng
lượng
cậy là 56.8% (với thuộc tính định lượng a và b lần lượt được phân hoạch
và
.
thành 3 tập mờ
Từ Định nghĩa 2.5 và Định nghĩa 2.7 ta thu được các tính chất sau:
Tính chất 1: Chuỗi con của chuỗi mờ với khoảng cách thời gian mờ phổ
biến thì cũng phổ biến.
Chứng minh: Giả sử = là chuỗi
con của chuỗi mờ với khoảng cách thời gian mờ phổ biến β =
. Khi đó sẽ tồn tại số nguyên w để β = . Theo công thức (2.2)
và (2.3) thì Sup(β) ≤ Sup() mà β phổ biến nên cũng phổ biến (đpcm).
Tính chất 2: Mọi chuỗi mờ với khoảng cách thời gian mờ phổ biến độ dài
k đều là kết quả của phép kết hợp hai chuỗi mờ với khoảng cách thời gian mờ
phổ biến độ dài k-1.
Chứng minh: Giả sử = là chuỗi
mờ với khoảng cách thời gian mờ phổ biến độ dài k. Khi đó chuỗi có thể
được kết hợp từ 2 chuỗi con độ dài k-1 là 1 = và
2 = . Theo tính chất 1, Sup() ≤ Sup(1) và
Sup() ≤ Sup(2). Như vậy, các chuỗi mờ với khoảng cách thời gian mờ 1
và 2 đều phổ biến (đpcm).
2.3. Thuật toán phát hiện luật kết hợp mờ với khoảng cách thời gian mờ
2.3.1. Bài toán đặt ra
Cho trước CSDL định lượng có yếu tố thời gian D, độ hỗ trợ cực tiểu và
độ tin cậy cực tiểu tương ứng là min_sup và min_conf, tập mờ về khoảng cách
53
thời gian LT cùng các hàm thành viên tương ứng, tập các tập mờ FE của các
thuộc tính định lượng trong D cùng các hàm thành viên tương ứng.
Bài toán đặt ra: Phát hiện các luật kết hợp mờ với khoảng cách thời gian
mờ có độ hỗ trợ không nhỏ hơn độ hỗ trợ cực tiểu min_sup và độ tin cậy
không nhỏ hơn độ tin cậy cực tiểu min_conf.
2.3.2. Ý tưởng thuật toán
Đầu tiên, chuyển đổi CSDL định lượng có yếu tố thời gian D thành CSDL
mờ có yếu tố thời gian DF dựa vào các tập mờ cùng các hàm thành viên gắn
với thuộc tính của D. Tiếp theo, tìm tất cả các chuỗi mờ với khoảng cách thời
gian mờ phổ biến. Quá trình tìm các chuỗi mờ với khoảng cách thời gian mờ
phổ biến được phát triển dựa theo thuật toán Apriori: lặp lại 2 bước trong quá
trình sinh chuỗi mờ với khoảng cách thời gian mờ phổ biến cho đến khi
không thể sinh được. Ở bước 1, các chuỗi ứng cử viên độ dài k, kí hiệu là
được sinh ra từ tập các chuỗi mờ với khoảng cách thời gian mờ phổ biến độ
dài k-1, kí hiệu là . Bước 2, các chuỗi ứng cử viên trong có độ hỗ trợ
không nhỏ hơn min_sup được thêm vào tập các chuỗi mờ với khoảng cách
thời gian mờ phổ biến độ dài k, . Quá trình này dừng lại cho đến khi =.
Việc sinh tập ứng cử viên được thực hiện cụ thể như sau:
Trường hợp k=1: Đưa tất cả thuộc tính của CSDL mờ DF vào , đây là
tập các ứng cử viên độ dài 1.
Trường hợp k=2: được sinh ra bằng cách kết hợp 2 phần tử của và
LT theo dạng ( ). Ví dụ, ={p1, p2} và LT={Short, Medium,
Long} thì sẽ bao gồm 12 phần tử ( ), ( ),
( ), ( ), ( ), ( ),
( ), ( ), ( ), ( ),
( ), ( ).
Trường hợp k>2: Nếu có 2 chuỗi thuộc là
và thì
54
α= được sinh ra [63] và bổ sung vào . Bằng cách tương tự, tất cả các chuỗi ứng cử viên độ dài k được sinh ra và đưa
vào .
Tiếp theo, độ hỗ trợ của các ứng cử viên thuộc được tính như sau:
Một mảng danh sách giá trị thời gian được sử dụng. Đầu tiên, tất cả các
giao dịch chứa p1 tại thời điểm t được đưa vào phần tử đầu tiên của các mảng
lst[i] (i≥1), tức là lst[i][1], mỗi phần tử là 1 cặp giá trị (time, value). Tiếp
theo, các giao dịch chứa p2 tại thời điểm t được bổ sung vào phần tử thứ 2 của
mảng các lst[i][2] nếu t≥lst[i][1].time. Quá trình này tiếp tục với giao dịch tại
thời điểm t chứa pm có t≥lst[i][m-1].time để bổ sung vào lst[i][m] (3≤m≤k).
Kết quả là danh sách k phần tử tương ứng với chuỗi α và lst[i][r].time -
lst[i][r-1].time (2≤r≤k) là khoảng cách thời gian giữa 2 phần tử liên tiếp trong
chuỗi. Khi đó độ hỗ trợ α của được tính qua công thức (2.3).
Tiếp theo, các luật kết hợp mờ với khoảng cách thời gian mờ được sinh ra
từ các chuỗi mờ với khoảng cách thời gian mờ phổ biến có độ dài lớn hơn 1.
Các luật này được tính độ tin cậy theo công thức (2.4). Kết quả trả lại của
thuật toán là tất cả các luật có độ tin cậy thỏa mãn độ tin cậy cực tiểu
min_conf.
2.3.3. Thuật toán FTQ
Thuật toán FTQ được mô tả như trong Thuật toán 2.1:
Thuật toán 2.1. Thuật toán FTQ
Input: - CSDL định lượng có yếu tố thời gian D;
- Độ hỗ trợ cực tiểu và độ tin cậy cực tiểu min_sup, min_conf;
- Tập các tập mờ FE và các hàm thành viên tương ứng với các thuộc
tính trong D;
- Tập LT và các hàm thành viên tương ứng về khoảng cách thời gian.
Output: Tất cả các luật kết hợp mờ với khoảng cách thời gian mờ có độ hỗ trợ không nhỏ hơn min_sup và độ tin cậy không nhỏ hơn min_conf.
55
FTQ{
1. Chuyển D thành CSDL mờ có yếu tố thời gian DF
2. ={các thuộc tính trong DF}
3. ={α |Supp(α)≥min_sup}
4. =;
5. for each do
6. for each do
7. for each ltdLT do {
8. α= *ltd* ;
9. add α to ;
10. }
11. for each α do
12. α.count=Supp(α);
13. ={α |α.count ≥min_sup}
14. for (k>2; ≠;k++){
15. =fuzzy_apriori_gen( );
16. for each α do
17. α.count=Supp(α);
18. ={α |α.count ≥min_sup}
19. }
20. return Generating_rules( );
21.}
Hàm Supp(α) tính độ hỗ trợ của chuỗi α được thực hiện như 0
56
Thuật toán 2.2. Hàm tính độ hỗ trợ của chuỗi α
Supp(α) { //Hàm tính độ hỗ trợ của α
1. m=0;
2. for each T do{
3. if ( ){ m++; 4.
5. lst[m][1].time= ; // là thời điểm xảy ra giao dịch
6. lst[m][1].value= ( );//giá trị mờ của tại
7. }
8. for (i=2; i≤|α|; i++){
9. for each T do
{ 10.
11. if ( ) and ≥lst[m][i-1].time) lst[m][i].time= ;
12.
lst[m][i].value= ( ); } 13.
14. }
15. count=0;
16. for (i=1; i≤m; i++) do{
17. if (|lst[i]|=|α|)
18. {
19. s=1;
20. v=1;
21. for (j=1; j<|α|; j++) {
22. s=min(s, );
23. v=min(v, lst[i][j].value);
24. }
25. v=min(v, lst[i][| α|].value);
26. }
57
27. count=count + v*s;
28. }
29. return count/|DF|;
30.}
Hàm sinh tập ứng cử viên Ck được mô tả trong Thuật toán 2.3
Thuật toán 2.3. Hàm sinh tập ứng cử viên Ck
fuzzy_apriori_gen( ) { //Hàm sinh tập ứng cử viên dựa trên
1. =;
// = 2. for each do 3. for each do{ // =
4. α=;
5. for (i=2; i≤k-2; i++) {
6. if ( ) break;
7. α= ;
8. }
9. if (i=k-1 and ) {
10. α= ;
11. add α to ;
}
12. 13. for each c do //bước tỉa 14. for each (chuỗi con s có độ dài k-1) của c do 15. 16. if (s ) delete c from ;
17. return ;
18.}
Hàm sinh các luật kết hợp mờ với khoảng cách thời gian mờ từ các tập
phổ biến được mô tả trong Thuật toán 2.4
58
Thuật toán 2.4. Hàm sinh luật kết hợp mờ với khoảng cách thời gian mờ
Generating_rules(L) {
r=; 1.
2. for each αL do { // α =( | | | | | |)
for (i=1; i<|p|-1;i++){ 3.
4. X= ;
5. Y=( | |);
6. r=XY( );
7. if (Supp(p)/Supp( | |)≥min_conf)
8. add r to R;
9. }
10. }
11. return R;
12.}
Trong Thuật toán 2.1, Thuật toán 2.3 và Thuật toán 2.4, |p| là độ dài của
chuỗi mờ với khoảng cách thời gian mờ p, | | là phần tử cuối của p, phép *
là phép kết hợp các giá trị để được chuỗi mờ với khoảng cách thời gian mờ,
chẳng hạn như biểu thức *Short* sẽ thực hiện phép kết hợp để tạo thành
chuỗi ( , Short, ) với Short LT và , là các phần tử.
2.3.4. Tính đúng đắn và tính đầy đủ của thuật toán
Định lý 2.1. Thuật toán FTQ là đúng đắn và đầy đủ.
Chứng minh:
a) Tính đúng đắn:
Giả sử luật r được tìm bởi thuật toán FTQ ta cần chứng minh rằng r là luật
kết hợp mờ với khoảng cách thời gian mờ có độ hỗ trợ và độ tin cậy thỏa mãn
min_sup và min_conf.
59
Thật vậy, luật r được sinh ra từ chuỗi mờ với khoảng cách thời gian mờ P,
⋃ . Nếu P thì P được sinh bởi các dòng lệnh từ dòng lệnh 5
đến dòng lệnh 10 trong thuật toán FTQ và P có dạng P = .
Theo dòng lệnh 13 thì độ hỗ trợ của P lớn hơn min_sup. Do đó theo Định
nghĩa 2.7 , P sẽ là chuỗi mờ với khoảng cách thời gian mờ phổ biến. Khi
P ở đó k>3 ta sẽ chứng minh tính đúng đắn của thuật toán FTQ bằng quy
nạp.
Giả sử tính đúng đắn của thuật toán FTQ đúng đến k-1 (ở đây k>3) ta sẽ
chứng minh nó cũng đúng đối với k.
Thật vậy, do P nên P được sinh từ các mẫu chuỗi trong bởi hàm
fuzzy_apriori_gen( ) trong dòng lệnh 15 của thuật toán FTQ. Khi đó P
được sinh ra bởi dòng lệnh 10 trong thuật toán fuzzy_apriori_gen(), tức P là
một chuỗi mờ với khoảng cách thời gian mờ. Mặt khác theo dòng lệnh 15 và
dòng lệnh 18 trong thuật toán FTQ thì P là phổ biến. Vậy P là chuỗi mờ với
khoảng cách thời gian mờ phổ biến.
Do các luật r được sinh ra từ các chuỗi mờ với khoảng cách thời gian mờ
phổ biến nên r có độ hỗ trợ thỏa mãn min_sup. Hơn nữa, theo dòng lệnh 7 của
thuật toán sinh luật Generating_rules() thì độ tin cậy của r thỏa mãn
min_conf.
b) Tính đầy đủ: Ta cần chứng minh rằng với mọi luật kết hợp mờ với
khoảng cách thời gian mờ r có độ hỗ trợ và độ tin cậy thỏa mãn min_sup và
min_conf đều được sinh ra bởi thuật toán FTQ.
Do r được sinh ra từ các chuỗi mờ với khoảng cách thời gian mờ phổ biến
theo thuật toán Generating_rules() nên ta chỉ cần chứng minh mọi chuỗi mờ
với khoảng cách thời gian mờ phổ biến được sinh ra từ thuật toán FTQ. Giả
sử P là một chuỗi như vậy. Ta sẽ chứng minh bằng quy nạp.
Giả sử P là chuỗi mờ với khoảng cách thời gian mờ dạng P =
, ở đây (i =1, 2) là các tập mờ và ltd là một khoảng cách thời gian mờ,
60
thì rõ ràng rằng P có thể được sinh ra bởi các dòng lệnh từ dòng lệnh 5 đến
dòng lệnh 10 trong thuật toán FTQ và khi đó P
Giả sử điều đó đúng với mọi chuỗi mờ với khoảng cách thời gian mờ phổ
biến Q = , tức là khi đó P được
tìm bởi thuật toán FTQ và Q chuỗi . Xét
P = ( là chuỗi mờ với khoảng cách
thời gian mờ độ dài k, thì P là được sinh ra bởi dòng lệnh 10 trong hàm
fuzzy_apriori_gen(), tức là P (
+ ( hay P , ở đây
(i=1, 2) là chuỗi con của P, do P phổ biến nên các cũng phổ biến, hơn
nữa các nên theo giả thiết quy nạp các là được sinh ra bởi thuật
toán FTQ. Vì vậy P cũng được sinh ra bởi thuật toán này.
2.3.5. Độ phức tạp thuật toán
Gọi:
N: Số lượng các giao dịch trong D;
M: Số lượng thuộc tính trong D;
l: Độ dài trung bình của các giao dịch trong D;
h: Trung bình các số lượng tập mờ liên kết với mỗi thuộc tính trong D;
|LT|: Số lượng tập mờ gắn với khoảng các thời gian của LT;
min_sup: độ hỗ trợ cực tiểu.
Theo cách tính như trong [112], độ phức tạp của thuật toán FTQ là:
) |LT| + ∑
) | |
+ O(N.l.h +M.N.l.h2 + | |2. ( | | (
∑ ) | |
Chi tiết về cách ước lượng độ phức tạp của thuật toán FTQ theo các công
đoạn như sau:
61
Tạo CSDL chuỗi mờ DF: Mỗi giao dịch mờ trong DF có l.h thuộc tính
mờ, vì vậy độ phức tạp tính toán để chuyển đổi CSDL định lượng D thành
CSDL mờ DF là O(N.l.h).
Sinh tập chuỗi ứng viên và tính độ hỗ trợ của các chuỗi trong :
bao gồm M.h ứng cử viên độ dài 1 (trong trường hợp này, chúng chính là
các thuộc tính mờ trong DF). Để tính độ hỗ trợ của mỗi ứng viên trong
thì tất cả các thuộc tính mờ của các giao dịch mờ trong CSDL mờ DF đều
được duyệt. Như vậy, độ phức tạp tính toán ở đây là O(M.h). O(N.l.h) = O(M.N.l.h2).
Sinh tập chuỗi ứng viên và tính độ hỗ trợ của các chuỗi trong (tạo
): Mỗi chuỗi ứng viên trong được tạo bằng cách kết hợp hai chuỗi
)). Như vậy, độ phức tạp tính toán của việc tạo tập các chuỗi phổ biến L2 sẽ là O(| |2.|LT|).O(N.(
) = O|( |2. (
) |LT| .
phổ biến trong với LT, tức là . Số lượng các chuỗi ứng viên trong sẽ là | |2.|LT|. Để tính độ hỗ trợ cho mỗi chuỗi trong , tất cả các giao dịch mờ trong DF đều được duyệt qua nên độ phức tạp của việc tính độ hỗ trợ của mỗi chuỗi trong là O(N.(
Sinh và tính độ hỗ trợ của các chuỗi trong với k>2 (tạo ):
được sinh ra bằng cách kết hợp hai mẫu chuỗi mờ với khoảng cách thời
gian mờ độ dài k-1 trong nên số các chuỗi ứng cử viên thuộc tối đa là | |2.|LT|. Việc kiểm tra điều kiện kết hợp hai chuỗi sẽ có tối đa 2k-5 phép so sánh, bao gồm k-2 phép so sánh các thuộc tính mờ và k-3
) Vậy, độ phức tạp tính toán
phép so sánh khoảng cách thời gian mờ. Do đó, độ phức tạp tính toán của việc sinh là O((2k-5).| |2.|LT|). Tương tự như trên, độ phức tạp tính độ hỗ trợ của mỗi chuỗi trong là O(N.(
trong việc tạo tập (k >2) là
) = O((2k-5). | |2.(
) |LT|).
O((2k-5). | |2.|LT|). O(N.(
62
Sinh luật cho với k>2: với mỗi chuỗi số luật thu được tối đa bằng
số khoảng cách thời gian mờ, tức là k-1. Do đó, độ phức tạp của việc sinh
luật đối với là O(| |.(k-1))
Kết luận, độ phức tính toàn bộ toán là
) | |
+ O(N.l.h +M.N.l.h2 +| |2. ( tạp toán của thuật ) |LT| + ∑ | | (
) |LT| + ∑
) | |
+ ∑ | | ) = O(N.l.h + M.N.l.h2 + | |2. ( | | (
∑ ) | |
Ghi chú: (k≥1) phụ thuộc vào min_sup.
2.3.6. Trường hợp suy biến của luật kết hợp mờ với khoảng cách thời gian
mờ
Định lý 2.2: Thuật toán FTQ có thể tìm được các luật
và
Chứng minh:
a) Thuật toán có thể phát hiện các luật
Tập mờ với khoảng cách thời gian được chọn là LT={lt} tức là chỉ có duy
nhất một phân hoạch đối với khoảng cách thời gian và hàm thành viên nhận
giá trị:
{
Khi đó, trong các luật tìm kết hợp mờ với khoảng cách thời gian mờ tìm
được, các thuộc tính chỉ có thể xảy ra trong cùng 1 giao dịch (khoảng cách
thời gian là 0) vì các khoảng cách thời gian có giá trị trên 0 đều bị loại bỏ.
Luật kết hợp sẽ trở thành luật kết hợp mờ dạng với
là các thuộc tính mờ xảy ra trên cùng giao dịch.
b) Thuật toán có thể phát hiện các luật
63
Nếu tập mờ khoảng cách thời gian được chọn là LT={lt} tức là chỉ có duy
nhất một phân hoạch đối với khoảng cách thời gian và hàm thành viên nhận
giá trị:
{
đồng thời, các tập mờ của các thuộc tính định lượng chỉ được phân hoạch
thành 1 thuộc tính mờ và các hàm thành viên nhận giá trị:
( ) {
Khi đó CSDL mờ được tạo sẽ có dạng CSDL nhị phân hay CSDL giao
dịch, các giá trị của thuộc tính định lượng suy biến thành các giá trị nhị phân
(1 hoặc 0). Như vậy thuật toán có thể phát hiện luật kết hợp dạng
với a, b, c là các thuộc tính xảy ra cùng giao dịch.
2.4. Thử nghiệm thuật toán
2.4.1. Dữ liệu thử nghiệm
Dữ liệu thử nghiệm có tên Istanbul Stock Exchange được thu thập từ
CSDL UCI [113] bao gồm số liệu 7 chỉ số chứng khoán: SP, DAX, FTSE,
NIKKEI, BOVESPA, MSCE_EU, MSCI_EM từ các ngày 05/06/2009 đến
22/02/2011 và CSDL chứng khoán Việt Nam (VNINDEX) được lấy tại [114]
bao gồm giá đóng cửa của chỉ số VN30 và 10 mã chứng khoán thuộc rổ
VN30 gồm: BVH, CII, FPT, GMD, HPG, KDC, SSI, VCB, VIC, VNM của
1161 phiên giao dịch từ ngày 02/01/2013 đến ngày 31/08/2017. Dữ liệu gồm
các thông tin sau:
Mã chứng khoán (hoặc chỉ số VN30)
Phiên giao dịch
Giá đóng cửa
Thông tin về các tập dữ liệu được mô tả trong Bảng 2.3:
Bảng 2.3. Dữ liệu thử nghiệm ISTANBUL STOCK EXCHANGE
64
CSDL
ISTANBUL STOCK EXCHANGE VNINDEX
Số thuộc tính 8 11
Số giao dịch 537 1161
Đối với tập dữ liệu VNINDEX, dữ liệu được chuyển đổi thành tập dữ liệu
mới phù hợp với mô hình dự báo gồm các thông tin sau:
Mã chứng khoán: Tên mã chứng khoán
Thời điểm: Số nguyên dương biểu diễn thứ tự của phiên giao dịch so
với thời điểm ban đầu, thời điểm ban đầu (nhận giá trị 1) là của phiên
giao dịch đầu tiên trong tập dữ liệu (ngày 02/01/2013).
Tỉ lệ thay đổi: Biểu diễn tỉ lệ thay đổi (Tăng/Giảm) được tính dựa theo
phần trăm thay đổi của giá đóng cửa phiên giao dịch với giá đóng cửa
phiên giao dịch liền trước.
Thuật toán FTQ được viết trên ngôn ngữ lập trình C# và được thực hiện
trên máy tính có chip Intel Core i5 2.5GHz processor, 4GB RAM, Windows7.
Đối với tập dữ liệu ISTANBUL STOCK EXCHANGE:
LT={Short, Medium, Long} là tập các tập mờ với khoảng cách thời gian
và có các hàm thành viên như được mô tả trong Ví dụ 2.3. Mỗi thuộc tính
định lượng được phân hoạch với số phân hoạch là 3 và có các hàm thành viên
như công thức (2.1)
Đối với tập dữ liệu VNINDEX
Các tập mờ đối với thuộc tính định lượng
Thuộc tính định lượng về Tỉ lệ thay đổi của các mã chứng khoán được
phân hoạch thành các tập mờ là {RHigh, RNormal, RLow, ILow,
INormal, IHigh} và các hàm thành viên biểu diễn tỉ lệ này được định
nghĩa như Hình 2.1.
RLow
ILow
RNormal
INormal
RHigh
IHigh
1
0
-4%
4%
-1%
1%
-2.5%
2.5%
65
Hình 2.1. Các hàm thành viên của các tập mờ ứng với tỉ lệ tăng/giảm của các mã chứng khoán
Tỉ lệ thay đổi của chỉ số VN30 cũng được phân hoạch thành 3 tập mờ
giống như các tập mờ của các mã chứng khoán {RHigh, RNormal,
RLow, ILow, INormal, IHigh}. Các hàm thành viên tương ứng với các
DLow
ILow
DNormal
INormal
DHigh
IHigh
1
0
-1.1%
1.1%
-0.5%
0.5%
-0.8%
0.8%
tập mở của tỉ lệ thay đổi chỉ số VN30 được định nghĩa như Hình 2.2
Hình 2.2. Các hàm thành viên của các tập mờ của Tỉ lệ thay đổi chỉ số VN30
Các tập mờ đối với khoảng cách thời gian
Khoảng cách thời gian giữa các giao dịch được phân hoạch thành 3 tập
mờ {Short, Medium, Long} và các hàm thành viên tương ứng với các
Short
Medium
Long
1
5
1
3
tập mờ về khoảng cách thời gian được định nghĩa như Hình 2.3.
Hình 2.3. Các hàm thành viên của các tập mờ thời gian
66
2.4.2. Kết quả thử nghiệm
a) Thử nghiệm với CSDL ISTANBUL STOCK EXCHANGE
Hình 2.4 biểu diễn mối quan hệ giữa số lượng luật tìm được từ thuật toán
FTQ và độ tin cậy cực tiểu min_conf trong các trường hợp khác nhau về độ hỗ
trợ cực tiểu min_sup
Hình 2.4. Mối quan hệ giữa số lượng luật tìm được từ thuật toán FTQ và độ tin cậy cực tiểu min_conf trong các trường hợp khác nhau về độ hỗ trợ cực tiểu min_sup
Với các độ tin cậy cực tiểu min_conf khác nhau, số lượng luật thu được
thay đổi ứng với min_sup được biểu diến trong Hình 2.5:
67
Hình 2.5. Mối quan hệ giữa số lượng luật tìm được và min_sup với min_conf khác nhau.
Hình 2.6 biểu diễn chi phí thời gian thực hiện thuật toán ứng với các độ
160
140
120
100
80
hỗ trợ cực tiểu min_sup trong trường hợp độ tin cậy cực tiểu min_conf=70%
) y â i g ( n a i g i
60
ờ h T
40
20
0
0.15
0.18
0.21
0.24
0.27
0.3
0.33
min_sup
Hình 2.6. Chi phí thời gian thực hiện khi min_conf=70%
Hình 2.7 và Hình 2.8 biểu diễn kết quả so sánh số luật và thời gian thực
hiện của phương pháp mờ hóa khoảng cách thời gian (A) với phương pháp
chia khoảng khoảng cách thời gian (B). Khoảng thời gian trong phương pháp
chia khoảng (B) được chia đều thành 3 khoảng, các giá trị của khoảng cách
thời gian nhận giá trị 1 nếu thuộc khoảng, ngược lại nhận giá trị 0.
68
Hình 2.7. So sánh số luật của phương pháp mờ hóa (A) và phương pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán FTQ
Hình 2.8. So sánh thời gian chạy của phương pháp mờ hóa (A) và phương pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán FTQ
Kết quả thử nghiệm ở trên cho thấy số lượng luật thu được từ thuật toán
FTQ cũng như chi phí thời gian của thuật toán tăng nhanh khi giảm độ hỗ trợ
cực tiểu min_sup. Điều này là hợp lý vì khi độ hỗ trợ cực tiểu giảm thì số
69
lượng chuỗi mờ với khoảng cách thời gian mờ tăng dẫn đến số lượng các ứng
cử viên tăng lên đòi hỏi thuật toán phải thực hiện tính toán nhiều hơn.
Số luật tìm được cũng như thời gian thực hiện trong trường hợp mờ hóa
khoảng cách thời gian là nhiều hơn so với số luật tìm được đối với trường hợp
chia khoảng khoảng cách thời gian tương ứng. Tuy nhiên, xu hướng tăng
giảm của số luật cũng như thời gian thực hiện của cả (A) và (B) thay đổi theo
độ hỗ trợ cực tiểu là giống nhau.
b) Thử nghiệm với CSDL VNINDEX
Với độ hỗ trợ cực tiểu min_sup là 7%, độ tin cậy cực tiểu min_conf là
70% và chỉ lựa chọn về phải của luật là chỉ số VN30, kết quả thử
nghiệm thu được các luật như trong Bảng 2.4:
Bảng 2.4. Kết quả thử nghiệm thuật toán FTQ với min_sup=7% và min_con=70%
Luật
Độ hỗ trợ Độ tin cậy
7.4%
75.2%
TT 1. VNM_ILow,Short,VICILow,Short,FPTILow,Short,BV
HILow
→ VN30RHigh
7.1%
72.4%
→ VN30RHigh
Low
2. VNMILow,Short,VICILow,Short,FPTILow,Short,HPGI
7.9%
72.3%
→ VN30RHigh
3. VNMILow,Short,BVHILow,Short,BVHILow
7.4%
71.1%
→ VN30RHigh
4. BVHILow,Short,VNMILow,Short,BVHILow
7.3%
71.1%
→ VN30RHigh
ow
5. VNMILow,Short,VICILow,Short,FPTILow,Short,SSIIL
7.6%
70.9%
6. VNMILow,Short,BVHILow,Short,VICILow,Short,VN
MILow
→ VN30RHigh
9.4%
70.9%
→ VN30RHigh
7.4%
70.7%
7. BVHILow,Short,BVHILow 8. VNMILow,Short,VICILow,Short,BVHILow,Short,VN
MILow
→ VN30RHigh
8.0%
70.5%
9. VNMILow,Short,VICILow,Short,KDCILow,Short,VN
MILow
→ VN30RHigh
70
7.3%
70.5%
→ VN30RHigh
10. VICILow,Short,GMDILow,Short,BVHILow
7.0%
70.0%
ILow
→ VN30RHigh
11. VNMILow,Short,VICILow,Short,KDCILow,Short,VIC
7.1%
70.0%
→ VN30RHigh
12. BVHILow,Short,VICILow,Short,GMDILow
7.1%
70.0%
13. VNMILow,Short,VNMILow,Short,VICILow,Short,FP
TILow,Short,VNMILow
→ VN30RHigh
7.5%
70.0%
→ VN30RHigh
14. VICILow,Short,GMDRLow,Short,VNMILow
7.5%
70.0%
→ VN30RHigh
15. VICILow,Short,KDCILow,Short,BVHILow
Ý nghĩa các luật trong Bảng 2.4 được diễn giải trong Bảng 2.5
Bảng 2.5. Ý nghĩa các luật thu được đối với CSDL VNINDEX
TT
Luật VNMILow,Short,VICILow,Short,FPT
ILow,Short,BVHILow
→ VN30RHigh
1.
VNMILow,Short,VICILow,Short,FPT
ILow,Short,HPGILow
→ VN30RHigh
2.
VNMILow,Short,BVHILow,
→ VN30RHigh
Short,BVHILow
3.
BVHILow,Short,VNMILow,
→ VN30RHigh
4.
Short,BVHILow
Ý nghĩa Nếu mã chứng khoán VNM tăng ILow, sau đó thời gian Short VIC tăng ILow, sau đó thời gian Short FPT tăng ILow, sau đó thời gian Short BVH tăng ILow thì chỉ số VN30 sẽ giảm RHigh tại thời điểm Long tiếp theo với độ tin cậy 75.2% Nếu mã chứng khoán VNM tăng ILow, sau đó thời gian Short VIC tăng ILow, sau đó thời gian Short FPT tăng ILow, sau đó thời gian Short HPG tăng ILow thì chỉ số VN30 sẽ giảm RHigh tại thời điểm Long tiếp theo với độ tin cậy 72.4% Nếu mã chứng khoán VNM tăng ILow, sau đó thời gian Short BVH tăng ILow, sau đó thời gian Short BVH lại tăng ILow thì chỉ số VN30 sẽ giảm RHigh tại thời điểm Long tiếp theo với độ tin cậy 72.3% Nếu mã chứng khoán BVH tăng ILow, sau đó thời gian Short VNM tăng ILow, sau đó thời gian Short BVH tăng ILow thì chỉ số VN30 sẽ giảm RHigh tại thời
71
VNMILow,Short,VICILow,Short,FPT
ILow,Short,SSIILow
→ VN30RHigh
5.
VNMILow,Short,BVHILow,Short,VI CILow,Short,VNMILow → VN30RHigh
6.
BVHILow,Short,BVHILow → VN30RHigh
7.
VNMILow,Short,VICILow,Short,BV HILow,Short,VNMILow → VN30RHigh
8.
VNMILow,Short,VICILow,Short,KD CILow,Short,VNMILow → VN30RHigh
9.
VICILow,Short,GMDILow,Short,BV
→ VN30RHigh
HILow
10.
11.
VNMILow,Short,VICILow,Short,KD CILow,Short,VICILow
→ VN30RHigh
điểm Long tiếp theo với độ tin cậy 71.1% Nếu mã chứng khoán VNM tăng ILow, sau đó thời gian Short VIC tăng ILow, sau đó thời gian Short FPT tăng ILow, sau đó thời gian Short SSI tăng ILow thì chỉ số VN30 sẽ giảm RHigh tại thời điểm Long tiếp theo với độ tin cậy 71.1% Nếu mã chứng khoán VNM tăng ILow, sau đó thời gian Short BVH tăng ILow, sau đó thời gian Short VIC tăng ILow, sau đó thời gian Short VNM tăng ILow thì chỉ số VN30 sẽ giảm RHigh tại thời điểm Long tiếp theo với độ tin cậy 70.9% Nếu mã chứng khoán BVH tăng ILow, sau đó thời gian Short BVH lại tăng ILow thì chỉ số VN30 sẽ giảm RHigh tại thời điểm Long tiếp theo với độ tin cậy 70.9% Nếu mã chứng khoán VNM tăng ILow, sau đó thời gian Short VIC tăng ILow, sau đó thời gian Short BVH tăng ILow, sau đó thời gian Short VNM tăng ILow thì chỉ số VN30 sẽ giảm RHigh tại thời điểm Long tiếp theo với độ tin cậy 70.7% Nếu mã chứng khoán VNM tăng ILow, sau đó thời gian Short VIC tăng ILow, sau đó thời gian Short KDC tăng ILow, sau đó thời gian Short VNM tăng ILow thì chỉ số VN30 sẽ giảm RHigh tại thời điểm Long tiếp theo với độ tin cậy 70.5% Nếu mã chứng khoán VIC tăng ILow, sau đó thời gian Short GMD tăng ILow, sau đó thời gian Short BVH tăng ILow thì chỉ số VN30 sẽ giảm RHigh tại thời điểm Long tiếp theo với độ tin cậy 70.5% Nếu mã chứng khoán VNM tăng ILow, sau đó thời gian Short VIC tăng ILow, sau đó thời gian Short KDC tăng ILow, sau đó thời gian Short VIC tăng ILow thì chỉ số VN30 sẽ giảm RHigh tại thời điểm Long tiếp theo với độ tin cậy 70%
12.
72
BVHILow,Short,VICILow,Short,GM DILow
→ VN30RHigh
13.
VNMILow,Short,VNMILow,Short,VI CILow,Short,FPTILow,Short,VNMILo w
→ VN30RHigh
VICILow,Short,GMDRLow,Short,VN
→ VN30RHigh
MILow
14.
VICILow,Short,KDCILow,Short,BV
→ VN30RHigh
HILow
15.
Nếu mã chứng khoán BVH tăng ILow, sau đó thời gian Short VIC tăng ILow, sau đó thời gian Short GMD tăng ILow thì chỉ số VN30 sẽ giảm RHigh tại thời điểm Long tiếp theo với độ tin cậy 70% Nếu mã chứng khoán VNM tăng ILow, sau đó thời gian Short VNM tăng tiếp ILow, sau đó thời gian Short VIC tăng ILow, sau đó thời gian Short FPT tăng Ilow, sau đó thời gian Short VNM tăng Ilow thì chỉ số VN30 sẽ giảm RHigh tại thời điểm Long tiếp theo với độ tin cậy 70% Nếu mã chứng khoán VIC tăng ILow, sau đó thời gian Short GMD giảm RLow, sau đó thời gian Short VNM tăng ILow thì chỉ số VN30 sẽ giảm RHigh tại thời điểm Long tiếp theo với độ tin cậy 70% Nếu mã chứng khoán VIC tăng ILow, sau đó thời gian Short KDC giảm RLow, sau đó thời gian Short BVH tăng ILow thì chỉ số VN30 sẽ giảm RHigh tại thời điểm Long tiếp theo với độ tin cậy 70%
Từ Bảng 2.5, mối quan hệ giữa thay đổi chỉ số VN30 và các mã chứng
khoán liên quan được thể hiện qua các luật thu được có thể góp phần vào quá
trình dự báo biến động chỉ số VN30, kết quả này rất hữu ích cho các nhà đầu
tư chứng khoán phái sinh [CT7].
Kết luận Chƣơng 2
Trong chương này luận án đã trình bày giải pháp phát hiện các luật kết
hợp có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong các
CSDL định lượng có yếu tố thời gian bằng cách đề xuất thuật toán phát hiện
luật kết hợp mờ với khoảng cách thời gian mờ trong các CSDL như vậy.
Thuật toán đó được gọi là FTQ. Theo thuật toán này, các thuộc tính định
lượng và khoảng cách thời gian xảy ra giữa các giao dịch đều được mờ hóa .
Thuật toán FTQ được phát triển từ ý tưởng thuật toán Apriori [2], một chuỗi
73
phổ biến độ dài k nhận được bằng cách liên kết hai chuỗi phổ biến độ dài k-1.
Chương này cũng trình bày kết quả thử nghiệm thuật toán FTQ trên các
CSDL thực, so sánh với phương pháp chia khoảng tương ứng và phân tích ý
nghĩa của luật thu được.
Với việc lựa chọn các hàm thành viên một cách thích hợp, thuật toán FTQ
trở thành thuật toán phát hiện luật kết hợp hoặc luật kết hợp mờ với khoảng
cách thời gian là những số chính xác tương ứng trong các CSDL giao dịch
hoặc CSDL định lượng cùng có yếu tố thời gian. Hơn nữa khi CSDL định
lượng có yếu tố thời gian suy biến thành CSDL giao dịch có yếu tố thời gian,
khi đó mỗi thuộc tính được mờ hóa thành 1 tập mờ tương ứng và các hàm
thành viên chỉ nhận các giá trị là 1 hoặc 0, thuật toán này trở thành thuật toán
phát hiện luật kết hợp với khoảng cách thời gian mờ.
Có thể thấy rằng thuật toán FTQ chỉ áp dụng được đối với các CSDL định
lượng có yếu tố thời gian, không áp dụng được đối với các CSDL chuỗi định
lượng có yếu tố thời gian. Chương 3 tiếp theo, luận án trình bày giải pháp để
phát hiện các mẫu chuỗi có tính đến khoảng cách thời gian xảy ra của các
giao dịch trong các CSDL chuỗi định lượng có yếu tố thời gian.
74
CHƯƠNG 3. PHÁT HIỆN MẪU CHUỖI CÓ TÍNH ĐẾN KHOẢNG
CÁCH THỜI GIAN TRONG CÁC CSDL CHUỖI ĐỊNH LƢỢNG CÓ YẾU TỐ THỜI GIAN
Trong chương 1, luận án đã xác định vấn đề cần được nghiên cứu về phát
hiện mẫu chuỗi cố điển trong các CSDL chuỗi định lượng có yếu tố thời gian.
Ở chương này, luận án sẽ trình bày giải pháp giải quyết vấn đề cần nghiên
cứu đó. Cụ thể trong chương này, luận án sẽ trình bày thuật toán phát hiện
mẫu chuỗi có tính đến khoảng cách thời gian xảy ra của các giao dịch trong
các CSDL chuỗi định lượng có yếu tố thời gian. Các mẫu chuỗi tìm được khi
đó được gọi là mẫu chuỗi mờ với khoảng cách thời gian mờ.
Vấn đề phát hiện mẫu chuỗi có tính đến khoảng cách thời gian xảy ra của
các giao dịch trong các CSDL chuỗi định lượng có yếu tố thời gian đã được
giải quyết theo cách tiếp cận từ đơn giản đến phức tạp. Cách tiếp cận bắt đầu
bằng việc nghiên cứu giải quyết bài toán phát hiện mẫu chuỗi với khoảng
cách thời gian xác định [CT1] trong các CSDL giao dịch có yếu tố thời gian,
tiếp theo là giải quyết bài toán phát hiện mẫu chuỗi mờ với khoảng cách thời
gian xác định [CT6] trong các CSDL chuỗi định lượng có yếu tố thời gian và
cuối cùng là phát hiện mẫu chuỗi cổ điền mờ với khoảng cách thời gian mờ
trong các CSDL như vậy và kết quả nghiên cứu giải quyết bài toán này đã
được đăng trên tạp chí Cybernetics and Information Technologies [CT5].
Chương này tập trung trình bày kết quả nghiên cứu của bài báo [CT5].
3.1. Giới thiệu
Phát hiện mẫu chuỗi là hướng nghiên cứu và ứng dụng quan trọng trong
lĩnh vực khai phá dữ liệu. Phát hiện mẫu chuỗi từ CSDL chuỗi giao dịch được
giới thiệu lần đầu vào năm 1995 [39]. Các luật chuỗi được sinh từ các mẫu
chuỗi cho biết mối quan hệ giữa các sự kiện (hay mục dữ liệu) theo trình tự
thời gian theo từng đối tượng và có dạng “Nếu khách hàng mua mặt hàng a
thì khách hàng đó sẽ quay lại mua mặt hàng b“ [39]–[42], [49]. Vấn đề phát
hiện mẫu chuỗi được mở rộng đối với các CSDL chuỗi định lượng, ở đó các
75
thuộc tính nhận giá trị số hoặc phân loại cũng được nhiều nghiên cứu đề cập
đến [53]–[57]. Trong các nghiên cứu này, các giá trị của các thuộc tính được
chuyển đổi thành các tập mờ và các mẫu chuỗi khi đó được gọi là mẫu chuỗi
mờ.
Vấn đề phát hiện các mẫu chuỗi với khoảng cách thời gian xảy ra giữa các
mục của cùng một đối tượng trong các CSDL chuỗi giao dịch đã được nghiên
cứu trong [60], [61]. Trong [61], các mẫu chuỗi có dạng 〈 〉, trong
đó a, b, c là mục, là các phạm vi thời gian của khoảng cách thời gian
giữa các giao dịch trong chuỗi và được gọi là mẫu chuỗi với khoảng cách thời
gian. Nhằm khắc phục hiện tượng “sắc nét” của việc chia khoảng thời gian
(time range) tại các điểm gần ranh giới các khoảng chia như trong [61],
nghiên cứu [63] đã đề xuất và giải quyết vấn đề phát hiện các mẫu chuỗi với
khoảng cách thời gian mờ từ các CSDL chuỗi giao dịch dựa trên việc chuyển
khoảng cách thời gian thành các tập mờ. Các mẫu chuỗi trong nghiên cứu
[63] đã biểu diễn mối quan hệ giữa các sự kiện dạng 〈 〉,
trong đó a, b, c là các mục còn Short, Long là các tập mờ gắn với khoảng cách
thời gian giữa các giao dịch trong chuỗi.
Nghiên cứu [CT1] đã đề xuất và giải quyết vấn đề phát mẫu chuỗi với
khoảng cách thời gian rõ trong CSDL giao dịch có yếu tố thời gian. Mẫu
chuỗi này dạng “Một khách hàng mua mặt hàng a hôm nay, khách hàng đó sẽ
mua mặt hàng b sau 2 ngày tiếp theo”. Thuật toán SITARM đã được đề xuất
để phát hiện mẫu chuỗi trong [CT1]. Thuật toán SITARM sử dụng cửa sổ
trượt thời gian (sliding windows) để chuyển CSDL chuỗi có yếu tố thời gian
thành CSDL chuỗi không có yếu tố thời gian, dựa trên ý tưởng thuật toán
CHARM [9] để phát hiện các mẫu chuỗi đề xuất.
Nghiên cứu [CT6] đã đề xuất và giải quyết vấn đề phát mẫu chuỗi mờ với
khoảng cách thời gian rõ trong CSDL định lượng có yếu tố thời gian. Mẫu
chuỗi này dạng “Một khách hàng mua mặt hàng a một lượng Ít hôm nay,
khách hàng đó sẽ mua mặt hàng b một lượng Nhiều sau 2 ngày tiếp theo”.
76
Thuật toán FSPFTI đã được đề xuất để phát hiện mẫu chuỗi trong [CT6].
Thuật toán FSPFTI sử dụng cửa sổ trượt thời gian (sliding windows) để
chuyển CSDL chuỗi định lượng có yếu tố thời gian thành CSDL chuỗi định
lượng không có yếu tố thời gian, mờ hóa các thuộc tính định lượng, dựa trên ý
tưởng thuật toán CHARM [9] để phát hiện các mẫu chuỗi đề xuất.
Như vậy, nghiên cứu [CT1] và [CT6] chỉ phát hiện các mẫu chuỗi với
khoảng cách thời gian rõ và trong nghiên cứu [CT6], các thuộc tính định
lượng trong CSDL được mờ hóa. Mục đích của chương này đề xuất và phát
hiện mẫu chuỗi dạng tổng quát đó là mẫu chuỗi mờ với khoảng thời gian mờ.
Đây là vấn đề thứ 2 đặt ra của luận án. Các mẫu chuỗi này có dạng
〈 〉, trong đó là các tập mờ gắn với các thuộc tính a, b, c và Short, Long là các tập mờ của khoảng cách thời
gian. Từ các mẫu chuỗi này, ta có thể phát hiện các luật dạng “Nếu một khách
hàng mua mặt hàng a với số lượng Ít và mặt hàng b với lượng Nhiều sau thời
gian Short thì khách hàng đó sẽ mua mặt hàng c một lượng TB với thời gian
Long”. Ý tưởng chính của thuật toán FSPFTIM được đề xuất trong chương
này là sử dụng lý thuyết mờ để chuyển đổi các thuộc tính định lượng, khoảng
cách thời gian thành các khái niệm mờ; tìm chuỗi có độ dài k bằng cách liên
kết 2 chuỗi phổ biến có độ dài k-1 theo cách giống như thuật toán Apriori [2],
[63] , từ đó tìm ra tất cả các mẫu chuỗi mờ với khoảng cách thời gian mờ.
3.2. Một số khái niệm cơ bản
là tập các thuộc tính, s = Định nghĩa 3.1 Gọi I={ }
〈 〉 là một chuỗi định lượng có yếu tố
thời gian, trong đó I là thuộc tính (1kn), ( ≥0) là thời điểm tương
ứng với xảy ra, với 2kn và ( ) = , nhận giá trị số
hoặc phân loại. Một CSDL chuỗi định lượng có yếu tố thời gian QSD là tập
tất cả các chuỗi định lượng có yếu tố thời gian.
77
Ví dụ 3.1: Một CSDL chuỗi định lượng có yếu tố thời gian QSD được mô
tả như trong Bảng 3.1
Bảng 3.1. Ví dụ về CSDL chuỗi định lượng có yếu tố thời gian QSD
Chuỗi định lƣợng
Sid 1 2 3 4 5 6 7 8 9 10
〈 〉 〈 〉 〈 〉 〈 〉 〈 〉 〈 〉 〈 〉 〈 〉 〈 〉 〈 〉
Trong Bảng 3.1, I = {a, b, c, d, e, g, h, i, j} là tập các thuộc tính, mốc thời
gian được tính bắt đầu từ 0. Chuỗi định lượng có yếu tố thời gian đầu tiên
(Sid=1) là 〈 〉 có nghĩa chuỗi này bao gồm 03 giao
dịch: thuộc tính a nhận giá trị 2 tại thời điểm 1, thuộc tính b nhận giá trị 2 tại
thời điểm 4 và thuộc tính e với giá trị 5 tại thời điểm 29. Tương tự, chuỗi thứ
10 là 〈 〉 gồm 3 giao dịch: thuộc tính a và
h lần lượt nhận các giá trị 2 và 5 cùng tại thời điểm 0, thuộc tính b nhận giá trị
2 tại thời điểm 3, thuộc tính e nhận giá trị 1 tại thời điểm 30.
là tập mờ thứ j (1≤ j≤ ), là số lượng tập mờ
} là tập các tập mờ gắn với thuộc Định nghĩa 3.2 Gọi { } là tập các tập mờ gắn với các thuộc tính của I, {
tính (k=1, 2..., u), với
gắn với thuộc tính , tương viên thành
được gọi là thuộc tính mờ. Mỗi tập mờ có một hàm
ứng : X[0,1]. Chuỗi fs =
〈 〉 được gọi là chuỗi mờ có yếu tố thời gian, trong đó (1≤ i≤ n) là một tập mờ, là giá trị của hàm
78
thành viên của ( ). CSDL chuỗi mờ có yếu tố thời gian FSD là tập các chuỗi mờ có yếu tố thời gian.
Ví dụ 3.2: Cho tập mờ được định nghĩa như trong [54] với K=3 đối với tất
cả các thuộc tính đối với CSDL QSD trong Ví dụ 3.1, trong trường hợp thuộc
tính định lượng có giá trị lớn nhất và nhỏ nhất trong QSD bằng nhau thì còn các hàm thành viên hàm thành viên của tập mờ thứ nhất
khác của thuộc tính đó đều nhận giá trị 0, trong các trường hợp còn lại, các
thuộc tính định lượng có giá trị lớn nhất và nhỏ nhất khác nhau, các hàm
thành viên của các tập mờ đều được định nghĩa theo công thức (2.1).
Sau khi mờ hóa các thuộc tính định lượng của CSDL chuỗi định lượng có
yếu tố thời gian QSD trong Ví dụ 3.1, ta thu được CSDL chuỗi mờ có yếu tố
thời gian FSD như mô tả trong Bảng 3.2.
Bảng 3.2. CSDL chuỗi mờ có yếu tố thời gian FSD
Sid 1
〉
) (
Chuỗi mờ ) (
)
2
3
4
〉
5
) 〉
) ) ) ( ) (
〉 〉 ) ( )
6
〉
) (
7
8
9
) 〉 〉 〉
) ) )
10
〉
) ( 〈( ) ( 〈( ) ( 〈( ) ( 〈( ) ( 〈( ) ( 〈( ) ( 〈( ) ( 〈( 〈( ) ( ) ( 〈(
) (
) (
) (
)
trong CSDL chuỗi mờ có yếu tố thời gian FSD
Mỗi bộ giá trị có nghĩa thuộc tính mờ là tập mờ thứ (0≤ ≤K) của thuộc tính x,
fq[0,1] là giá trị của hàm thành viên của
tương ứng với giá trị định
thì giá trị với giá trị a=2 là 0.5 và có thời điểm xảy ra là 1. Các lượng q và t là thời điểm xảy ra. Ví dụ: với bộ giá trị của hàm thành viên
79
tập mờ và cách tính giá trị mờ từ các giá trị của các thuộc tính định lượng
trong QSD được thực hiện như sau:
Xét chuỗi định lƣợng đầu tiên (Sid=1) trong QSD là
〈 〉:
, giá trị lớn nhất và nhỏ nhất của a trong CSDL QSD lần lượt là 5 và 1
Với thuộc tính định lượng a, 03 tập mờ tương ứng lần lượt là
tức là các giá trị ma=5, mi=1. Khi đó, theo công thức (2.1),
| ⁄
ứng của thuộc tính a ( =1) thì
}
= 1 + (5-1)(1-1)/(3-1) = 1, ; ứng với tập mờ đầu tiên tương { |
( =2) thì
{ | | ⁄ } ; ứng với tập mờ thứ 2 của thuộc tính a thì = 1+(5-1)(2-1)/(3-1) { | | ⁄ } ; ứng với tập mờ thứ 3 của = 3,
= { | | ⁄ } . Như
thuộc tính a ( =3) thì
1 + (5-1)(3-1)/(3-1) = 5,
vậy, với bộ giá trị (a, 2, 1) thuộc chuỗi thứ nhất trong QSD ta thu được
)
các bộ giá trị thuộc chuỗi mờ thứ nhất trong trong CSDL chuỗi mờ FSD
) (
là (
, giá trị lớn nhất và nhỏ nhất của b trong CSDL chuỗi định lượng
Với thuộc tính định lượng b, 03 tập mờ tương ứng lần lượt là
QSD lần lượt là 6 và 1 tức là các giá trị ma=6, mi=1. Khi đó, theo công
thức (2.1), ; ứng với
tiên tương ứng của tính b thuộc ( =1)
| ⁄ } { | | ⁄
} tập mờ đầu thì = 1 + (6-1)(1-1)/(3-1) = 1, { |
} ; ứng với tập mờ thứ 3 của ; ứng với tập mờ thứ 2 của thuộc tính b thì ( =2) thì = 1+(6-1)(2-1)/(3-1) = 3.5, { | | ⁄
80
= { | | ⁄
thuộc tính b ( =3) thì
} . Như 1 + (6-1)(3-1)/(3-1) = 6,
vậy, với bộ giá trị (b, 2, 4) thuộc chuỗi thứ nhất trong QSD ta thu được
)
các bộ giá trị thuộc chuỗi mờ thứ nhất trong trong CSDL chuỗi mờ FSD
) (
là (
, giá trị lớn nhất và nhỏ nhất của e trong CSDL chuỗi định lượng
Với thuộc tính định lượng e, có 3 tập mờ tương ứng lần lượt là
QSD lần lượt là 5 và 1 tức là các giá trị ma=5, mi=1. Khi đó, theo công
thức (2.1), ; ứng với
tiên thuộc tính e tương ứng của ( =1)
} { | | ⁄ } ;
| ⁄
thứ 2 của tính e thì ( = 2)
tập mờ đầu thì = 1+(5-1)(1-1)/(3-1) = 1, { | ứng với tập mờ thuộc thì = 1 + (5-1)(2-1)/(3-1) = 3, { | | ⁄ } ; ứng với tập mờ thứ 3 của thuộc
= { | | ⁄ } . Như
tính e ( =3) thì
1 + (5-1)(3-1)/(3-1) = 5,
vậy, với bộ giá trị (e, 5, 29) thuộc chuỗi thứ nhất trong QSD ta thu được
)
các bộ giá trị thuộc chuỗi mờ thứ nhất trong trong CSDL chuỗi mờ FSD
là (
)〉
Vậy chuỗi mờ đầu tiên trong CSDL chuỗi mờ FSD thu được là
) (
) (
) (
) (
〈(
Cách tính tương tự đối với các chuỗi định lượng còn lại trong QSD để thu
được các chuỗi mờ tương ứng trong FSD.
là hàm thành viên của tập mờ [55]. Khi đó, α Định nghĩa 3.3 Gọi LT={ | j=1,2,...,p} là tập các tập mờ gắn với khoảng cách thời gian,
= 〈 〉 được gọi là chuỗi mờ với khoảng
cách thời gian mờ nếu (1≤i≤r) là tập mờ và LT (1≤i≤r-1). Chuỗi α có
81
độ dài r kí hiệu là r-chuỗi mờ với khoảng cách thời gian mờ (r-fuzzy
sequential pattern with fuzzy time-intervals).
Ví dụ 3.3: Gọi LT={Short, Medium, Long} là tập các tập mờ tương ứng
với khoảng cách thời gian. Hàm thành viên của các tập mờ được xác định như
〉 là chuỗi mờ với khoảng cách thời gian có độ
Hình 3.1 [63] và CSDL chuỗi mờ FSD trong Bảng 3.2, thì
〈
Short
Medium
Long
dài 3 hay 3-fuzzy sequence with fuzzy time-intervals.
1
2
28
15
0
Hình 3.1. Các hàm thành viên của các tập mờ thuộc LT
Định nghĩa 3.4 Một chuỗi mờ với khoảng cách thời gian mờ =
〈 〉 là chuỗi con của chuỗi mờ với khoảng cách thời gian mờ β = 〈 〉 khi và chỉ khi tồn
tại số nguyên w thỏa mãn với i|1≤i≤k-1 và
. Trong trường hợp k=1 thì .
Định nghĩa 3.5 Cho chuỗi mờ S = 〈
〉 và chuỗi mờ với khoảng cách thời gian mờ α = 〈 〉, ta có các định nghĩa sau:
Độ hỗ trợ của chuỗi S đối với α, kí hiệu , được xác định như sau:
(∏
(3.1) { ) { ( )}
Chuỗi mờ B = 〈 〉 là chuỗi con của chuỗi mờ S=〈 〉 nếu
82
và . Độ hỗ trợ của chuỗi mờ S đối
tồn tại r số nguyên để | với α, kí hiệu SupS(α), là giá trị lớn nhất của các chuỗi B thuộc S đối với
α:
(3.2) ( )
Độ hỗ trợ của chuỗi mờ với khoảng cách thời gian mờ α, kí hiệu
Sup(α), là giá trị trung bình của độ hỗ trợ của các chuỗi giao dịch mờ trong
(∑
FSD đối với α.
(3.3) )
trong đó là chuỗi mờ thứ i trong FSD, NS là số lượng các chuỗi mờ của
FSD.
Một mẫu chuỗi mờ với khoảng cách thời gian mờ là chuỗi mờ với khoảng
cách thời gian mờ có độ hỗ trợ không nhỏ hơn độ hỗ trợ cực tiểu min_sup
cho trước.
Ví dụ 3.4: Cho CSDL chuỗi mờ FSD, các hàm thành viên của tập mờ LT
〉 như sau:
được đưa ra trong Ví dụ 3.3, ta sẽ tính độ hỗ trợ của hai chuỗi
〉 và 〈
〉.
〈
=0.5×0.667×Short(4-1)= 0.5×0.667×0.923=0.308, chuỗi mờ đầu
〉 phù hợp với .
Trƣờng hợp 1: = 〈
tiên chỉ có duy nhất chuỗi mờ 〈
=0.5×1× (5-0)=
= 1×1× (5-4) = 1×1×1=1 và
Tương tự, độ hỗ trợ của chuỗi giao dịch mờ thứ 5 và thứ 6 lần lượt là
0.5×0.769=0.385. Các chuỗi còn lại đều không hỗ trợ . Do đó, độ hỗ trợ của
chuỗi mờ với khoảng cách thời gian mờ là:
Sup()=(0.308+0+0+0+1+0.385+0+0+0+0)/10 = 0.1693
83
Trƣờng hợp 2: β = 〈
〉
Trong FSD chỉ có duy nhất chuỗi mờ thứ 4 (SID=4) chứa chuỗi mờ tương
) (
) (
) (
)
ứng với β là
〉
)〉
〈(
) (
có độ hỗ trợ đối với β:
Chuỗi S4 có 2 chuỗi mờ tương ứng với β là và . ) ( 〈(
= 1×1×1 × min{ } = 1×min{0.846, 0.923}
)〉 có độ hỗ trợ đối với β:
) (
) (
= 1×0.846 =0.846
〈(
= 1×1×0.6 × min{ } = 0.6 ×
( ) = max{ } =
min{0.846,0.615} = 0.6 × 0.615=0.369.
Do đó, độ hỗ trợ của S4 đối với β là
0.846.
Như vậy, ta có Sup(β)=(0+0+0+0.846+0+0+0+0+0+0)/10 = 0.0846.
〉 thỏa mãn là một mẫu chuỗi mờ với khoảng
Nếu lấy độ hỗ trợ cực tiểu min_sup là 0.1 thì chuỗi mờ với khoảng cách
thời gian mờ 〈
gian mờ
〉 có độ hỗ trợ 0.0846 không phải là mẫu chuỗi
〈
cách thời vì có độ hỗ trợ là 0.1693 còn
mờ với khoảng cách thời gian mờ do có độ hỗ trợ nhỏ hơn min_sup.
Tính chất 1: Chuỗi con của chuỗi mờ với khoảng cách thời gian mờ phổ
biến thì cũng phổ biến.
Chứng minh: Giả sử = 〈 〉 là chuỗi
con của chuỗi mờ với khoảng cách thời gian mờ phổ biến β =
〈 〉. Khi đó sẽ tồn tại số nguyên w để β = . Theo công thức (3.1),
(3.2) và (3.3) thì Sup(β) ≤ Sup() mà β phổ biến nên cũng phổ biến (đpcm).
84
Tính chất 2: Mọi chuỗi mờ với khoảng cách thời gian mờ phổ biến độ dài
k đều là kết quả của phép kết hợp hai chuỗi mờ với khoảng cách thời gian mờ
phổ biến độ dài k-1.
Chứng minh: Giả sử = 〈 〉 là chuỗi
mờ với khoảng cách thời gian mờ phổ biến độ dài k. Khi đó chuỗi có thể
được kết hợp từ 2 chuỗi con độ dài k-1 là 1 = 〈 〉 và
2 = 〈 〉. Theo tính chất 1, Sup() ≤ Sup(1) và
Sup() ≤ Sup(2). Như vậy, các chuỗi mờ với khoảng cách thời gian mờ 1
và 2 đều phổ biến (đpcm).
3.3. Thuật toán phát hiện mẫu chuỗi mờ với khoảng cách thời gian mờ
3.3.1. Bài toán đặt ra
Cho trước CSDL định lượng có yếu tố thời gian QSD, độ hỗ trợ cực tiểu
min_sup, tập mờ về khoảng cách thời gian LT cùng các hàm thành viên tương
ứng, tập các tập mờ FE của các thuộc tính định lượng của QSD cùng các hàm
thành viên tương ứng.
Bài toán đặt ra: Phát hiện các mẫu chuỗi mờ với khoảng cách thời gian
mờ trong CSDL định lượng có yếu tố thời gian QSD.
3.3.2. Ý tưởng thuật toán
Đầu tiên, các thuộc tính định lượng trong QSD được chuyển thành các tập
mờ. Tiếp theo, các chuỗi giao dịch trong QSD được chuyển đổi thành các
chuỗi giao dịch mờ dựa trên các tập mờ và các hàm thành viên tương ứng để
tạo ra CSDL chuỗi mờ FSD. Tiếp đến, thuật toán FSPFTIM được áp dụng để
tìm các mẫu chuỗi mờ với khoảng cách thời gian mờ. Thuật toán này được
phát triển dựa trên ý tưởng thuật toán Apriori.
Thuật toán FSPFTIM thực hiện sinh tập các chuỗi ứng cử viên độ dài 1,
, sau đó tính độ hỗ trợ cho các chuỗi thuộc và bổ sung các chuỗi ứng
viên thỏa mãn độ hỗ trợ cực tiểu min_sup vào tập các mẫu chuỗi mờ với
85
khoảng cách thời gian mờ độ dài 1, . Tiếp theo, lần lượt các tập chuỗi ứng
viên và tập mẫu chuỗi mờ với khoảng cách thời gian mờ độ dài 2, , được
sinh ra. Quá trình sinh như vậy được thực hiện cho đến khi tập chuỗi ứng cử
viên là rỗng ( =)
Một cách cụ thể, quá trình sinh tập ứng cử viên được thực hiện như
sau:
Trƣờng hợp k=1: Tất cả các thuộc tính mờ của CSDL chuỗi mờ FSD
được đưa vào tập các ứng cử viên độ dài 1, và tính độ hỗ trợ của các ứng
cử viên. Các ứng cử viên có độ hỗ trợ thỏa mãn min_sup được đưa vào tập
các mẫu chuỗi mờ với khoảng cách thời gian mờ độ dài 1, .
Trƣờng hợp k=2: Tập các ứng cử viên độ dài 2, , sẽ được sinh ra bằng
cách kết hợp 2 mục thuộc và LT với nhau theo dạng . Ví dụ:
{ }, LT={ }, thì sẽ tạo ra 9 ứng cử viên độ dài 2 là 〈 〉, 〈 〉, 〈 〉, 〈 〉, 〈 〉, 〈 〉, 〈 〉, 〈 〉, 〈 〉.
sử Trƣờng hợp k>2: Giả
〈 〉 và 〈 〉 là 2 mẫu chuỗi mờ với khoảng cách thời gian mờ độ dài k-1 thuộc thì α=〈 〉 là một ứng cử viên chuỗi mờ với khoảng cách thời gian mờ [63]. Theo cách làm tương tự,
tất cả các ứng cử viên độ dài k được sinh ra và đưa vào tập . Độ hỗ trợ của
các ứng cử viên chuỗi mờ với khoảng cách thời gian mờ thuộc được tính
theo công thức (3.3) để tìm các mẫu chuỗi mờ với khoảng cách thời gian độ
dài k đưa vào .
Kết quả trả lại là tập tất cả các chuỗi mờ với khoảng cách thời gian mờ
thuộc các tập với k>1
3.3.3. Thuật toán FSPFTIM
Thuật toán được minh họa như Thuật toán 3.1.
86
Thuật toán 3.1. Thuật toán FSPFTIM
Input: - CSDL chuỗi định lượng có yếu tố thời gian QSD;
- Độ hỗ trợ cực tiểu min_sup;
- Tập các tập mờ FE và các hàm thành viên tương ứng với các thuộc
tính trong QSD;
- Tập LT và các hàm thành viên tương ứng về khoảng cách thời gian.
Output: Tập các mẫu chuỗi mờ với khoảng cách thời gian mờ.
FSPFTIM {
Tạo CSDL chuỗi mờ có yếu tố thời gian FSD từ CSDL QSD 1.
2. {fe| fe là thuộc tính mờ của FSD}
3. { |Sup()≥min_sup}
4. ;
5. for each do {
6. for each do {
7. for each ltdLT do {
8. *ltd* ;
9. add to ;
10. }
11. }
12. }
13. for each do {
14. Tính độ hỗ trợ của (Sup());
15. }
16. { |Sup() ≥min_sup}
17. for (k>2; ≠;k++){
18. fuzzy_apriori_gen( );
19. for each do {
20. Tính độ hỗ trợ của (Sup());
21. }
22. { |Sup() ≥min_sup}
87
} 23.
24. ; return ⋃
25. }
Hàm sinh ứng cử viên được mô tả trong Thuật toán 3.2
Thuật toán 3.2. Hàm sinh ứng cử viên fuzzy_apriori_gen( ){
1. ;
break;
α= ;
2. for each a do { 3. for each b do { ; 4. for (i=2;i≤k-2;i++) { 5. 6. if ( ) { 7. } 8. 9. } 10. if (i=k-1 and ) { 11. 12.
; add to ;
} }
13. 14. 15. 16. }
//bước tỉa
if (s ) delete c from ; for each (chuỗi con s có độ dài k-1) của c do }
17. for each c do 18. 19. 20. 21. 22. } 23. return 24.}
88
Trong Thuật toán 3.1, phép “*” liên kết các giá trị để tạo thành chuỗi mờ
với khoảng cách thời gian mờ. Ví dụ: *Short* là biểu diễn của chuỗi 〈 〉 trong đó Short LT và là các tập mờ của các thuộc tính định lượng. Dòng 2, các thuộc tính mờ được thêm vào . Nếu độ hỗ trợ
của các chuỗi trong thỏa mãn min_sup thì chuỗi đó sẽ được thêm vào
tại dòng 3. Tập các chuỗi ứng cử viên độ dài 2 được sinh ra bằng các lệnh
dòng từ 4 đến 12, . Độ hỗ trợ của các chuỗi mờ với khoảng
cách thời gian mờ trong được tính toán (dòng 13-15) và được thêm vào
(dòng 16) nếu thỏa mãn min_sup. Các dòng lệnh từ 17 đến 24 sinh ra các
chuỗi ứng cử viên mờ với khoảng cách thời gian mờ độ dài k được tạo ra và
đưa vào (với k>2) và tính toán độ hỗ trợ để đưa vào nếu thỏa mãn. Quá
trình lặp lại cho đến khi = . Kết quả thuật toán là tập các mẫu chuỗi
mờ với khoảng cách thời gian mờ (dòng 24).
Hàm sinh chuỗi ứng cử viên độ dài k đưa vào từ được thực hiện
thông qua Thuật toán 3.2. Từ dòng 5 đến 11, các câu lệnh kiểm tra điều kiện
để kết hợp hai chuỗi trong để tạo chuỗi ứng cử viên độ dài k. Chuỗi ứng
cử viên α được tạo và thêm vào tại các dòng lệnh 12, 13. Các dòng lệnh từ
17 đến 22, các câu lệnh tỉa bớt các ứng cử viên có chuỗi con không phổ biến.
Dòng lệnh 23 trả lại tập các ứng cử viên chuỗi mờ với khoảng cách thời gian
mờ .
3.3.4. Tính đúng đắn và tính đầy đủ của thuật toán
Định lý 3.1. Thuật toán FSPFTIM là đúng đắn và đầy đủ.
Chứng minh:
a). Tính đúng đắn:
Giả sử P được tìm bởi thuật toán FSPFTIM ta cần chứng minh rằng P là
mẫu chuỗi mờ với khoảng cách thời gian mờ phổ biến. Thật vậy, do P được
tìm bởi thuật toán FSPFTIM nên ⋃ . Nếu P thì P được sịnh
bởi các dòng lệnh từ dòng lệnh 5 đến dòng lệnh 9 trong thuật toán FSPFTIM
89
và P có dạng P =〈 〉. Theo dòng lệnh 16 thì độ hỗ trợ của P lớn hơn min_sup. Do đó theo định nghĩa 3.3, P sẽ là mẫu chuỗi mờ với khoảng
cách thời gian mờ phổ biến. Khi P ở đó k>3 ta sẽ chứng minh tính đúng
đắn của thuật toán FSPFTIM bằng quy nạp.
Giả sử tính đúng đắn của thuật toán FSPFTIM đúng đến k-1 (ở đây k>3)
ta sẽ chứng minh nó cũng đúng đối với k.
Thật vậy, do P nên P được sinh từ các mẫu chuỗi trong bởi hàm
fuzzy_apriori_gen( ) trong dòng lệnh 18 của thuật toán FSPFTIM. Khi đó
P được sinh ra bởi dòng lệnh 12 trong thuật toán fuzzy_apriori_gen(), tức P là
một chuỗi mờ với khoảng cách thời gian mờ. Mặt khác theo dòng lệnh 20 và
dòng lệnh 24 trong thuật toán FSPFTIM thì P là phổ biến. Vậy P là chuỗi mờ
với khoảng cách thời gian mờ phổ biến.
b). Tính đầy đủ: Ta cần chứng minh rằng với mọi chuỗi mờ với khoảng
cách thời gian mờ phổ biến đều được sinh ra bởi thuật toán FSPFTIM. Giả sử
P là một chuỗi như vậy. Ta sẽ chứng minh bằng quy nạp.
Giả sử P là chuỗi mờ với khoảng cách thời gian mờ dạng P = 〈 〉, ở đây (i =1, 2) là các tập mờ và ltd là một khoảng cách thời gian mờ, thì rõ ràng rằng P có thể được sinh ra bởi các dòng lệnh từ dòng lệnh 5 đến
dòng lệnh 9 trong thuật toán FSPFTIM và khi đó P
Giả sử điều đó đúng với mọi chuỗi mờ với khoảng cách thời gian mờ phổ
biến dạng P = 〈 〉, tức là khi đó P
được tìm bởi thuật toán FSPFTIM và P . Bây giờ nếu P có dạng: P = 〈 〉. Khi đó P là được sinh ra bởi dòng
lệnh 12 trong hàm fuzzy_apriori_gen(), tức là P
+ 〈 〉
〈 〉 hay P , ở đây
(i=1, 2) là chuỗi mờ con của P, do P phổ biến nên các cũng phổ biến,
90
hơn nữa các nên theo giả thiết quy nạp các là được sinh ra bởi
thuật toán FSPFTIM. Vì vậy P cũng được sinh ra bởi thuật toán này.
3.3.5. Độ phức tạp thuật toán
Gọi:
N: Số lượng các chuỗi giao dịch trong QSD;
M: Số lượng thuộc tính trong QSD;
l: Độ dài trung bình của các chuỗi giao dịch trong QSD;
h: Trung bình các số lượng tập mờ liên kết với mỗi thuộc tính trong
QSD;
|LT|: Số lượng tập mờ gắn với khoảng các thời gian của LT;
min_sup: độ hỗ trợ cực tiểu.
Theo cách tính như trong [112], độ phức tạp của thuật toán FSPFTIM là:
) |LT| + ∑
) | |
O(N.l.h +M.N.l.h2 + | |2. ( | | (
Chi tiết về cách ước lượng độ phức tạp của thuật toán FSPFTIM theo các
công đoạn như sau:
Tạo CSDL chuỗi mờ FSD: Mỗi chuỗi giao dịch mờ trong FSD có l.h
thuộc tính mờ, vì vậy độ phức tạp tính toán để chuyển đổi CSDL chuỗi
định lượng QSD thành CSDL chuỗi mờ FSD là O(N.l.h).
Sinh tập chuỗi ứng viên và tính độ hỗ trợ của các chuỗi trong :
bao gồm M.h chuỗi ứng cử viên độ dài 1 (trong trường hợp này, chúng
chính là các thuộc tính mờ trong FSD). Để tính độ hỗ trợ của mỗi chuỗi
ứng viên trong thì tất cả các thuộc tính mờ của các chuỗi giao dịch mờ
trong CSDL chuỗi mờ FSD đều được duyệt. Như vậy, độ phức tạp tính toán ở đây là O(M.h). O(N.l.h) = O(M.N.l.h2).
Sinh tập chuỗi ứng viên và tính độ hỗ trợ của các chuỗi trong (tạo
): Mỗi chuỗi ứng viên trong được tạo bằng cách kết hợp hai chuỗi
91
)). Như vậy, độ phức tạp tính toán của việc tạo tập các chuỗi phổ biến L2 sẽ là O(| |2.|LT|).O(N.(
) = O(| |2. (
) |LT| .
phổ biến trong với LT, tức là . Số lượng các chuỗi ứng viên trong sẽ là | |2.|LT|. Để tính độ hỗ trợ cho mỗi chuỗi trong , tất cả các chuỗi giao dịch mờ trong FSD đều được duyệt qua nên độ phức tạp của việc tính độ hỗ trợ của mỗi chuỗi trong là O(N.(
Sinh và tính độ hỗ trợ của các chuỗi trong với k>2 (tạo ):
được sinh ra bằng cách kết hợp hai mẫu chuỗi mờ với khoảng cách thời
gian mờ độ dài k-1 trong nên số các chuỗi ứng cử viên thuộc tối đa là | |2.|LT|. Việc kiểm tra điều kiện kết hợp hai chuỗi sẽ có tối đa 2k-5 phép so sánh, bao gồm k-2 phép so sánh các thuộc tính mờ và k-3
) Vậy, độ phức tạp tính toán
phép so sánh khoảng cách thời gian mờ. Do đó, độ phức tạp tính toán của việc sinh là O((2k-5).| |2.|LT|). Tương tự như trên, độ phức tạp tính độ hỗ trợ của mỗi chuỗi trong là O(N.(
trong việc tạo tập (k >2) là
) = O((2k-5). | |2.(
) |LT|).
O((2k-5). | |2.|LT|). O(N.(
Kết luận, độ phức tạp tính toán của toàn bộ thuật toán là O(N.l.h
) | |
) =O(N.l.h +M.N.l.h2 +| |2. (
) |LT| + ∑ | | ( ) |LT| + ∑ ) | |
) +M.N.l.h2 + | |2. ( | | (
Ghi chú: (k≥1) phụ thuộc vào min_sup.
3.3.6. Trường hợp suy biến của mẫu chuỗi mờ với khoảng cách thời gian
mờ
Định lý 3.2: Thuật toán FSPFTIM có thể tìm được các mẫu chuỗi
〈 〉 và 〈 〉
Chứng minh:
a) Thuật toán có thể phát hiện các mẫu chuỗi 〈 〉
92
Nếu số lượng các tập mờ ( ) của các thuộc tính định lượng trong
CSDL QSD được lựa chọn là 1 với và các hàm thành viên
cho tất cả các thuộc tính là:
( ) {
Thì CSDL chuỗi mờ FSD thu được sẽ là CSDL nhị phân hay CSDL giao
dịch, công thức tính độ hỗ trợ (3.2) của chuỗi S đối với , , sẽ trở thành
công thức tính độ hỗ trợ của chuỗi S đối với CSDL chuỗi giao dịch có yếu tố
thời gian trong [63] do các . Thuật toán FSPFTIM
được xây dựng dựa trên thuật toán FTI-Apriori [63] chỉ khác ở việc mờ hóa
thuộc tính định lượng và công thức tính độ hỗ trợ của chuỗi S. Vậy mẫu chuỗi
〈 〉 có thể tìm được bằng thuật toán FSPFTIM.
b) Thuật toán có thể phát hiện các mẫu chuỗi 〈 〉
Tập mờ với khoảng cách thời gian được chọn là LT={lt} tức là chỉ có duy
nhất một phân hoạch đối với khoảng cách thời gian và hàm thành viên nhận
giá trị:
{
Khi đó, công thức tính độ hỗ trợ (3.2) của chuỗi S đối với , , không
phụ thuộc vào khoảng cách thời gian và trở thành công thức tính độ hỗ trợ của
chuỗi định lượng như trong [54] do luôn nhận giá trị là 1. Như vậy các mẫu chuỗi thuật toán sinh ra trong trường hợp này sẽ có dạng
〈 〉 với là các tập mờ thuộc tính.
3.3.7. Minh họa thuật toán
Input:
min_sup = 0.11;
CSDL định lượng có yêu tố thời gian QSD như trong Bảng 2.1;
Các tập mờ và các hàm thành viên như mô tả trong Ví dụ 3.2;
93
Tập mờ khoảng cách thời gian LT={Short, Medium, Long} và các
hàm thành viên như mô tả trong Ví dụ 3.3.
Output: Các mẫu chuỗi mờ với khoảng cách thời gian mờ.
Thực hiện thuật toán:
{
{
} }
〉
〉
〉 〈 〉 〈
〉 〈 〉 〈
(có 147 phần tử) = 〈 〈 {
〉 }
FSD được tạo như Bảng 2.2.
}
{
〉 〈 〉 〈
〉 〈 〉 〉
}
〉 〉
〉 〈 〉 〈 〉}
〈 〈 〈 〈 〈
〉 〈 〉 〈 〉 〈
{
{〈
C4=
〉 〈
〉 〈
L4=
Kết quả={
}
〈
〉 〉
〈 〈
〉 〈
〉 〈 〉
3.4. Thử nghiệm thuật toán
3.4.1. Dữ liệu thử nghiệm
Hai tập dữ liệu được dùng để thử nghiệm thuật toán là
S100I1000T3D341K và Online Retail_France. Các dữ liệu thử nghiệm được
mô tả trong Bảng 3.3. Tập dữ liệu giả định S100I1000T3D341K được sinh ra
theo ý tưởng của R. Agrawal và R. Srikant [2]. Các tham số đầu vào của việc
sinh dữ liệu gồm: số lượng các giao dịch của (D), độ dài trung bình mỗi giao
94
dịch (T). Các giá trị định lượng và thời gian là số nguyên ngẫu nhiên thuộc
đoạn [1, 1000]. Tập dữ liệu Online Retail_France được trích từ tập dữ liệu
Online Retail [113] với thuộc tính Country=‟France‟ trong thời gian xảy ra
giao dịch từ 01/12/2010 đến 09/12/2011 với các thông tin sau:
Customer ID;
Invoice Date;
Stock Code;
Quantity.
Bảng 3.3. Dữ liệu thử nghiệm S100I1000T3D341K và Online Retail_France
CSDL
Số lƣợng thuộc tính (I)
Số lƣợng giao dịch (D)
Số lƣợng chuỗi (S)
S100I1000T3D341K Online Retail_France
1000 1523
341 365
100 87
Độ dài trung bình giao dịch (T) 29.3 22.8
Độ dài trung bình chuỗi 3.41 4.20
Dữ liệu thử nghiệm được chuyển đổi về dưới dạng CSDL chuỗi định
lượng để phù hợp với thuật toán như sau:
CusId: Customer ID;
Time: là số nguyên lớn hơn hoặc bằng 1 biểu diễn thứ tự tính theo ngày
Invoice Date, ngày đầu tiên (01/12/2010) tương ứng giá trị 1;
StockCode;
Quantity: Số lượng StockCode được bán.
,
tương ứng như công thức (2.1) với K=3 và
Mỗi StockCode được phân hoạch theo các tập mờ và các hàm thành viên . Các giá trị ma, mi được lấy tương ứng với giá ,
trị lớn nhất và nhỏ nhất của thuộc tính StockCode là . Giá trị mờ được tính
dựa vào giá trị của StockCode.
Các tập mờ của khoảng cách thời gian và các hàm thành viên của chúng
cũng được xác định trong công thức (2.1) với số phân hoạch K=3. Các giá trị
ma, mi được lấy tương ứng với thời gian bắt đầu và thời gian cuối cùng theo
với t là khoảng cách
95
,
,
trình tự
thời gian. Khoảng cách thời gian giữa các giao dịch được sử dụng để tính giá
trị khoảng cách thời gian mờ.
3.4.2. Kết quả thử nghiệm
3.4.2.1. Mối quan hệ giữa số lượng mẫu chuỗi mờ với khoảng cách thời gian
mờ với min_sup và giữa thời gian chạy của thuật toán với min_sup
trong trường hợp số phân hoạch thuộc tính định lượng khác nhau.
Trong trường hợp này, số lượng tập mờ của khoảng cách thời gian cố
định là 3 (Kt=3). Mối quan hệ giữa số lượng mẫu chuỗi mờ với khoảng cách
thời gian mờ với min_sup và giữa thời gian chạy của thuật toán với min_sup
trong trường hợp số phân hoạch thuộc tính định lượng khác nhau đối với tập
dữ liệu S100I1000T3D341K được mô tả lần lượt trong các
Hình 3.2.a và Hình 3.2.b; đối với tập dữ liệu Online Retail_France được miêu
tả lần lượt trong các Hình 3.3.a và Hình 3.3.b.
Từ các hình vẽ, ta nhận thấy khi số lượng các phân hoạch không đổi, số
lượng các mẫu chuỗi mờ với khoảng cách thời gian mờ thu được và thời gian
thực hiện thuật toán tỉ lệ nghịch với độ hỗ trợ cực tiểu min_sup. Trong khi đó,
khi số lượng phân hoạch theo thuộc tính (K) tăng, số lượng mẫu chuỗi thu
(a) S100I1000T3D341K
(b) S100I1000T3D341K
được giảm đi nhưng thời gian thực hiện tăng lên.
Hình 3.2. Mối quan hệ giữa số lượng mẫu chuỗi mờ với khoảng cách thời gian mờ với min_sup (a) và giữa thời gian chạy của thuật toán với min_sup
96
(a) Online Retail_France
(b) Online Retail_France
(b) trong trường hợp số phân hoạch thuộc tính định lượng khác nhau khi thực hiện trên tập dữ liệu S100I1000T3D341K.
Hình 3.3. Mối quan hệ giữa số lượng mẫu chuỗi mờ với khoảng cách thời gian mờ với min_sup (a) và giữa thời gian chạy của thuật toán với min_sup (b) trong trường hợp số phân hoạch thuộc tính định lượng khác nhau khi thực hiện trên tập dữ liệu Online Retail_France
3.4.2.2. Mối quan hệ giữa số lượng mẫu chuỗi mờ với khoảng cách thời gian
mờ với min_sup và giữa thời gian chạy của thuật toán với min_sup
trong trường hợp số phân hoạch khoảng cách thời gian khác nhau
Trong trường hợp này, số phân hoạch theo các thuộc tính định được đều
là 3 (K=3). Các Hình 3.4.a và Hình 3.5.a mô tả mối quan hệ số mẫu chuỗi kết
quả và min_sup trong trường hợp số phân hoạch khoảng cách thời gian (Kt)
khác nhau lần lượt với các tập dữ liệu S100I1000T3D341K và Online
Retail_France. Tương tự, các Hình 3.4.b và Hình 3.5.b mô tả mối quan hệ số
mẫu chuỗi kết quả và min_sup khi thực hiện trên hai tập dữ liệu đó.
Từ các hình vẽ thu được, ta thấy mối quan hệ giữa số lượng mẫu chuỗi
mờ với khoảng cách thời gian mờ với min_sup và giữa thời gian chạy của
thuật toán với min_sup trong trường hợp số phân hoạch khoảng cách thời gian
khác nhau khi số lượng phân hoạch theo thuộc tính không đổi thì thời gian
thực hiện cũng giống với các mối quan hệ đó trong mục 3.4.2.1 phần này.
Chẳng hạn, khi cố định số lượng phân hoạch thuộc tính thì thời gian thực hiện
tăng khi số lượng phân hoạch theo khoảng cách thời gian tăng.
(a) S100I1000T3D341K
(b) S100I1000T3D341K
97
(a) Online Retail_France
(b) Online Retail_France
Hình 3.4. Mối quan hệ giữa số lượng mẫu chuỗi mờ với khoảng cách thời gian mờ với min_sup (a) và giữa thời gian chạy của thuật toán với min_sup (b) trong trường hợp số phân hoạch khoảng cách thời gian (Kt) khác nhau đối với tập dữ liệu S100I1000T3D341K
Hình 3.5. Mối quan hệ giữa số lượng mẫu chuỗi mờ với khoảng cách thời gian mờ với min_sup (a) và giữa thời gian chạy của thuật toán với min_sup (b) trong trường hợp số phân hoạch khoảng cách thời gian (Kt) khác nhau đối với tập dữ liệu Online Retail_France
3.4.2.3. So sánh số luật và thời gian thực hiện của phương pháp mờ hóa với
phương pháp chia khoảng của khoảng cách thời gian
Hình 3.6 và Hình 3.7 biểu diễn kết quả so sánh số mẫu chuỗi mờ với
khoảng cách thời gian mờ thu được và thời gian thực hiện của phương pháp
mờ hóa khoảng cách thời gian (A) với phương pháp chia khoảng khoảng cách
thời gian (B). Khoảng thời gian trong phương pháp chia khoảng (B) được chia
đều thành Kt khoảng, các giá trị của khoảng cách thời gian nhận giá trị 1 nếu
thuộc khoảng, ngược lại nhận giá trị 0.
98
Hình 3.6. So sánh số mẫu chuỗi của phương pháp mờ hóa (A) và phương pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán FSPFTIM
Hình 3.7. So sánh thời gian chạy của phương pháp mờ hóa (A) và phương pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán FSPFTIM
99
Từ Hình 3.6 và Hình 3.7, ta thấy số mẫu chuỗi tìm được cũng như thời
gian thực hiện trong trường hợp mờ hóa khoảng cách thời gian là ít hơn so với
số mẫu tìm được đối với trường hợp chia khoảng khoảng cách thời gian tương
ứng. Tuy nhiên, xu hướng tăng giảm của số luật cũng như thời gian thực hiện
của (A) và (B) thay đổi theo độ hỗ trợ cực tiểu là giống nhau.
3.4.2.4. Ý nghĩa của mẫu chuỗi mờ gẵn khoảng cách thời gian mờ
Bảng 3.4 liệt kê các mẫu chuỗi mờ với khoảng cách thời gian mờ bằng
thuật toán FSPFTIM trên tập dữ liệu Online Retail_France với các khái niệm
mờ của các thuộc tính định lượng là {Small, Average, Large}, khái niệm mờ
của khoảng cách thời gian là {Short, Medium, Long}, độ hỗ trợ cực tiểu
min_sup là 0.14.
Bảng 3.4. Các mẫu chuỗi mờ với khoảng cách thời gian mờ tìm được từ Online Retail_France
Mẫu chuỗi mờ với khoảng cách thời gian mờ
Độ hỗ trợ 0.236
〈 〉
0.257
〈 〉
0.151
〈 〉
0.161
〈 〉
0.141
〈 〉
0.146
〈 〉
0.144
〈 〉
Ý nghĩa của một vài mẫu chuỗi mờ với khoảng cách thời gian mờ tìm
được trong Bảng 3.4:
〈 〉 có nghĩa “Nếu khách hàng mua
một lượng Small các sản phẩm mã POSTAGE thì khách hàng đó sẽ quay
lại mua một lượng Small những sản phẩm đó sau khoảng thời gian Short”
100
〈 〉 có nghĩa
“Nếu khách hàng mua một lượng Small các sản phẩm mã POSTAGE thì
người đó sẽ quay lại mua một lượng Small sản phẩm RABBIT-NIGHT-
LIGHT sau khoảng thời gian Medium”
〈 〉 có nghĩa “Nếu khách hàng mua một lượng Small các sản phẩm mã
POSTAGE và mua một lượng Small các sản phẩm đó sau thời gian
Medium thì người đó sẽ quay lại mua một lượng Small những sản phẩm
POSTAGE sau khoảng thời gian Short nối tiếp”
Kết luận Chƣơng 3
Trong chương này luận án đã trình bày việc phát hiện các mẫu chuỗi mờ
với khoảng cách thời gian mờ trong các CSDL chuỗi định lượng có yếu tố
thời gian. Thuật toán phát hiện các mẫu chuỗi như vậy được gọi là thuật toán
FSPFTIM. Trong thuật toán này, các thuộc tính định lượng cũng như khoảng
cách thời gian xảy ra giữa các giao dịch trong chuỗi đều được mờ hóa. Thuật
toán được phát triển dựa trên thuật toán Apriori. Thuật toán là đúng đắn và
đầy đủ. Độ phức tạp tính toán của thuật toán cũng được chỉ ra. Luận án cũng
đã tiến hành thực nghiệm thuật toán trên tập dữ liệu thực. Kết quả thực
nghiệm cho thấy tính đúng đắn và khả thi của thuật toán được đề xuất. Kết
quả thực nghiệm được so sánh với phương pháp chia khoảng tương ứng.
Như đã biết, ý nghĩa sử dụng của luật chuỗi (hay luật chuỗi
kiểu 1) không khác biệt nhiều so với ý nghĩa sử dụng mẫu chuỗi trong khi chi
phí để phát hiện luật chuỗi là cao hơn nhiều so với chi phí phát hiện mẫu
chuỗi. Vì thế người ta ít quan tâm đến các bài toán phát hiện luật chuỗi. Trái
ngược với điều này, với luật chuỗi chung (hay luật chuỗi kiểu 2) thì vấn đề
phát hiện các luật chuỗi chung là được quan tâm. Vấn đề phát hiện luật chuỗi
chung có tính đến khoảng cách thời gian xảy ra giữa các giao dịch trong các
CSDL chuỗi định lượng sẽ được trình bày trong Chương 4 tiếp theo.
101
CHƯƠNG 4. PHÁT HIỆN LUẬT CHUỖI CHUNG CÓ TÍNH ĐẾN
KHOẢNG CÁCH THỜI GIAN TRONG CÁC CSDL CHUỖI ĐỊNH LƢỢNG CÓ YẾU TỐ THỜI GIAN.
Chương 1 xác định vấn đề sẽ được nghiên cứu trong luận án này về phát
hiện các luật chuỗi chung có tính đến khoảng cách thời gian xảy ra giữa các
giao dịch trong các CSDL chuỗi định lượng có yếu tố thời gian. Các luật được
phát hiện khi đó được gọi là luật chuỗi chung mờ với khoảng cách thời gian
mờ. Chương này sẽ trình bày chi tiết về thuật toán phát hiện các luật chuỗi
chung như vậy. Thuật toán đó được gọi là IFERMiner.
Để giải quyết vấn đề nghiên cứu, trước tiên NCS đã nghiên cứu giải quyết
bài toán phát hiện luật chuỗi chung trong các CSDL chuỗi định lượng không
có yếu tố thời gian. Các luật chuỗi chung tìm được khi đó được gọi là luật
chuỗi chung mờ [CT8]. Chương này tập trung trình bày thuật toán phát hiện
luật chuỗi chung mờ với khoảng cách thời gian mờ trong các CSDL chuỗi
định lượng có yếu tố thời gian. Nội dung được trình bày trong chương 4 đã
được nhận đăng trên tạp chí International Journal of Uncertainty, Fuzziness
and Knowledge-Based Systems [CT9].
4.1. Giới thiệu
Luật chuỗi gồm 2 kiểu là luật chuỗi và luật chuỗi chung [70]. Ở kiểu luật
thứ nhất, các phần tiền đề và hệ quả đều thuộc vào cùng một mẫu chuỗi [39].
Việc phát hiện các luật chuỗi kiểu tương tự như cách tiếp cận phát hiện các
luật kết hợp, tức là cũng bao gồm 2 giai đoạn, ở giai đoạn đầu là tìm các mẫu
chuỗi và ở giai đoạn 2 là sinh các luật chuỗi từ các mẫu chuỗi tìm được.
Khác với các luật chuỗi, luật chuỗi chung được đề cập sau [69], [71], [72].
Các luật chuỗi chung biểu diễn mối quan hệ của 2 tập các mục không được
sắp thứ tự [69], [71], [72], ở đó các mục ở phần tiền đề phải xảy ra trước tất
cả các mục ở phần hệ quả của luật. Luật chuỗi chung có dạng { } ⟹ { },
có nghĩa “Nếu một khách hàng đã mua mặt hàng a và mặt hàng b thì khách
102
hàng đó sẽ mua mặt hàng c và d sau đó” với việc mua a và mua b không cần
xảy ra theo trình tự thời gian, mua c và d cũng không cần xảy ra theo trình tự
thời gian nhưng phải sau thời điểm mua a và mua b.
Các luật chuỗi chung là tổng quát hơn so với các luật chuỗi, nó thực sự là
có ích và đã được ứng dụng trong thực tế [73]. Trong [72], thuật toán
ERMiner được đề xuất để phát hiện các luật chuỗi chung từ CSDL chuỗi giao
dịch. Thuật toán ERMiner đã khắc phục được nhược điểm của các thuật toán
[69], [71]. Bằng thực nghiệm cho thấy thuật toán ERMiner là nhanh nhất
nhưng đòi hỏi nhiều bộ nhớ hơn so với các thuật toán trước đó.
Trong thực tế, việc phát hiện các luật chuỗi chung từ CSDL chuỗi định
lượng có yếu tố thời gian là hết sức cần thiết. Nghiên cứu [CT8] đã đề xuất và
giải quyết vấn đề phát hiện luật chuỗi chung mờ CSDL chuỗi định lượng.
Luật phát hiện dạng { } ⟹ { } có nghĩa “Nếu một khách hàng mua mặt hàng a với lượng Ít và mua mặt hàng b một lượng Nhiều thì
khách hàng đó sẽ mua c với lượng TB và d một lượng Ít sau đó”. Thuật toán
FERMiner đã được đề xuất để phát hiện luật chuỗi chung mờ. Thuật toán
FERMiner mờ hóa các thuộc tính định lượng, dựa trên ý tưởng thuật toán
ERMiner [72] để phát hiện các luật chuỗi chung mờ.
Tuy vậy, nghiên cứu [CT8] chỉ phát hiện các luật chuỗi chung mờ và các
nghiên cứu trước đó chưa xét đến khoảng cách thời gian giữa phần tiền đề và
hệ quả của luật. Mục đích của chương này đề xuất và phát hiện luật chuỗi
chung dạng tổng quát đó là luật chuỗi chung có tính đến khoảng cách thời
gian trong CSDL chuỗi định lượng có yếu tố thời gian, gọi là luật chuỗi
chung mờ với khoảng cách thời gian mờ. Đây là vấn đề thứ 3 đặt ra của luận
⇒ { } , có nghĩa “Nếu một khách hàng mua mặt hàng a { } với lượng Ít và mua mặt hàng b một lượng Nhiều thì khách hàng đó sẽ mua c
án. Các luật chuỗi chung mờ với khoảng cách thời gian mờ có dạng
với lượng TB và d một lượng Ít sau khoảng thời gian Long”. Thuật toán
IFERMiner được đề xuất để phát hiện các luật chuỗi chung mờ với khoảng
103
cách thời gian mờ này. Trong thuật toán IFERMiner, lý thuyết mờ được sử
dụng để mờ hóa các thuộc tính định lượng cũng như khoảng cách thời gian và
dựa trên ý tưởng của thuật toán ERMiner [72]: sử dụng các lớp tương đương
và tạo ra các luật chuỗi chung bằng cách hợp nhất 2 luật chuỗi chung đã tìm
được.
4.2. Một số khái niệm cơ bản
Định nghĩa 4.1 Gọi I={ } là tập các thuộc tính, là quan hệ
thứ tự toàn phần trên các thuộc tính trong I và i1 i2 …, iu, s = 〈 〉 là một chuỗi định
lượng, trong đó I (1kn), là giá trị của tại thời điểm ( nhận
giá trị số hoặc phân loại), với 2kn; ( , , ) được gọi là một phần tử của chuỗi định lượng s.
Trong một chuỗi, các phần tử xảy ra cùng thời điểm được sắp theo quan
hệ của các thuộc tính. Chuỗi định lượng s có thể được biểu diễn bằng = {( , ), ( , dạng s = 〈 〉, trong đó ), ( , ),…, ( , )} và tất cả các thuộc tính trong đều xảy ra tại thời điểm . gọi là một giao dịch. Bảng 3.1 là ví dụ biểu diễn một CSDL chuỗi định lượng có yếu tố thời gian.
là tập mờ thứ j (1≤ j≤ ), là số lượng
} là tập các tập mờ của thuộc Định nghĩa 4.2 Gọi FE = { } là tập các tập mờ gắn với các thuộc tính trong I, {
tính (k=1, 2..., u), trong đó các tập mờ của . Mỗi tập mờ có một hàm thành viên tương ứng : X[0,1].
Chuỗi fs = 〈 〉 được gọi là chuỗi
giao dịch mờ, trong đó FE (1≤j≤n) là một tập mờ và được gọi là thuộc
tính mờ; là giá trị của hàm thành viên của ứng với giá trị , tức
là ; ( , , ) được gọi là phần tử của chuỗi mờ. Một
chuỗi giao dịch mờ cũng có thể biểu diễn dưới dạng fs =
104
=
〈
〈( ) ( ) 〉, với 〉 và tất cả các thuộc tính trong xảy ra cùng một thời điểm. được gọi là một giao dịch mờ, fs = 〈 〉 được gọi là
chuỗi giao dịch mờ. Kí hiệu = { /( , ) }, là dạng rút gọn của
thể biểu diễn dạng
〈 〉 có . Một chuỗi rfs = rfs = 〈 〉 và được gọi là dạng rút gọn của fs
⇒ , là một luật chuỗi chung mờ
Định nghĩa 4.3 Luật FCSI, kí hiệu
với khoảng cách thời gian mờ nếu thỏa mãn: X Y = , trong đó X, Y là các
tập thuộc tính và X, Y ≠ ; X và Y cùng xuất hiện trong cùng chuỗi giao dịch
mờ; Y xuất hiện sau X một thời gian mờ lt (ltLT, LT là tập các tập mờ của
khoảng cách thời gian)
Định nghĩa 4.4 Giả sử rfs = 〈 〉 là chuỗi giao dịch mờ được viết gọn của chuỗi fs, tập thuộc tính mờ X xuất hiện hoặc được chứa trong chuỗi
Luật FCSI r = X
⇒ Y được chứa trong fs nếu X
giao dịch mờ fs nếu X , ở đây .
, với
, Y , < < ... ≤ ≤ k, và các
thuộc tính mờ trong xuất hiện sau các thuộc tính mờ trong với khoảng
thời gian mờ lt.
Ví dụ 4.2: Luật {
)
〈(
} ⇒ { ) (
} được chứa trong trong chuỗi ) (
) (
)〉, với short là tập mờ của khoảng cách thời gian xảy
giao dịch mờ
) (
(
}
}
ra giữa tập các thuộc tính mờ trong phần nguyên nhân và tập các thuộc tính
.
mờ trong phần hệ quả của luật. Trong khi đó, luật {
⇒ { xảy ra sau
không nằm trong chuỗi giao dịch mờ này do không tồn tại
105
⇒ Y được gọi là có kích thước k*m nếu
Định nghĩa 4.5 Luật FCSI r = X
| | = k và | | = m. Một luật có kích thước f*g được gọi là lớn hơn luật kích
thước h*i nếu f > h và g ≥ i hoặc nếu f ≥ h và g > i.
⇒ và .
Định nghĩa 4.6 Cho chuỗi giao dịch mờ fs = 〈
〉, luật FCSI r =
)
Độ hỗ trợ của fs đối với tập X được xác định như sau:
( ∏
(4.1)
Độ hỗ trợ của tập X trong CSDL chuỗi mờ có yếu tố thời gian FSD được
xác định bởi:
| |
∑
(4.2)
Độ hỗ trợ của fs đối với r được xác định bởi:
( ∏
(4.3)
)
ở đây và ( ), là giá trị
hàm thành viên của tập mờ lt tại giá trị
Độ hỗ trợ của luật r trong CSDL FSD được xác định là:
| |
∑
(4.4)
⇒ Y được xác định bởi:
Độ tin cậy của luật FCSI r = X
(4.5)
106
Định nghĩa 4.7 Gọi min_sup, min_conf [0,1] ([0%, 100%]) tương ứng là
các ngưỡng độ hỗ trợ cực tiểu và độ tin cậy cực tiểu được xác định bởi người
sử dụng, FSD là CSDL chuỗi mờ có yếu tố thời gian. Luật FCSI r được gọi là
phổ biến nếu sup(r) ≥ min_sup; Luật FCSI r được gọi là tin cậy nếu conf(r) ≥
min_conf. Luật r được gọi là luật FCSI valid nếu nó là luật phổ biến và tin
cậy.
Các khái niệm tiếp theo được phát triển dựa trên các khái niệm trong [69],
[71], [72].
Định nghĩa 4.8 (các lớp tương đương mờ trái/phải và các phép hợp nhất
trái/phải): Cho CSDL chuỗi mờ FSD, là tập tất cả các luật FCSI phổ biến,
tập tất cả các thuộc tính mờ của các thuộc tính trong FSD, LT là tập các tập
, được xác định như sau:
mờ gắn với khoảng cách thời gian. Một lớp tương đương mờ trái với khoảng
= {
⇒ | W, Y | | , i là số tự nhiên, lt LT}. Một cách
cách thời gian mờ lt trên , được kí hiệu là
= {
⇒ | X, W | | , i là số tự nhiên, lt
tương tự một lớp tương đương mờ phải với khoảng thời gian mờ lt trên ,
được kí hiệu là
⇒ và
LT}.
, =
⇒ , =
| | | | hép hợp nhất trái của r1, r2 là một quá trình hợp nhất và
⇒ . Một cách tương tự giả sử hai luật FCSI
Giả sử hai luật FCSI ,
⇒ và | | | | phép hợp nhất
,
, =
⇒ , =
để nhận được luật r =
⇒ .
⇒ là phổ biến khi đó nếu X Y
phải của , là một quá trình hợp nhất và để nhận được luật r =
⇒ cũng là luật FCSI phổ biến. Một cách tương tự nếu
⇒
Tính chất 1: Giả sử luật FCSI =
và =
⇒ cũng là luật FCSI phổ biến.
là luật FCSI phổ biến và X Y thì
107
⇒ (theo Định nghĩa 4.4 ).
Chứng minh: Xét trường hợp thứ nhất, giả sử fs là chuỗi giao dịch mờ và
⇒ . Do X Y nên =
=
Từ công thức (4.3) ta có độ hỗ trợ của fs với là lớn hơn hoặc bằng độ hỗ trợ
của fs với . Vì vậy, theo công thức (4.4), độ hỗ trợ của là lớn hơn hoặc
bằng độ hỗ trợ của . Kết luận, là luật FCSI phổ biến. Việc chứng minh
được làm tương tự cho trường hợp 2□
⇒ , | | đều là kết
– lớp tương đương mờ trái
Tính chất 2: Mọi luật FCSI phổ biến r =
quả hợp nhất trái của 2 luật FCSI ,
với khoảng cách thời gian mờ lt. Một cách tương tự, mọi luật FCSI mờ phổ
⇒ , | | đều là kết quả hợp nhất phải của 2 luật FCSI ,
biến r =
– lớp tương đương mờ phải với khoảng cách thời gian mờ lt.
⇒ , với Y =
Chứng minh: Xét luật phổ biến FCSI r =
⇒ { },
là = { ,..., }. Tức
⇒ { }. Theo tính chất 1 thì 2 luật và
=
và r là kết quả của phép hợp đều là FCSI phổ biến. Như vậy, ,
trái của và □
Từ hai tính chất trên, ta có nhận xét sau:
Nhận xét:
1) Độ hỗ trợ của luật FCSI r sinh ra từ phép hợp nhất và luôn nhỏ
hơn hoặc bằng độ hỗ trợ của ,
2) Nếu độ hỗ trợ của luật FCSI r nhỏ hơn min_sup thì luật này không thể
tham gia hợp nhất để tạo ra luật FCSI phổ biến mới.
Nhận xét này được sử dụng để giảm bớt không gian tìm kiếm các luật
FCSI phổ biến. Tương tự [72], một số luật FCSI có thể được tìm bằng vài
cách khác nhau thông qua các phép hợp trái/phải với các thuộc tính mờ khác
nhau. Để tránh sinh trùng lặp về luật, tương tự như giải pháp trong [72], phép
108
hợp phải không được thực hiện sau phép hợp trái và áp đặt thứ tự quan hệ
toàn phần cho các thuộc tính mờ trong ở nguyên nhân và hệ quả của luật, chỉ
thực hiện phép hợp trái (hoặc hợp phải nếu phần hệ quả có chung các thuộc
tính cuối theo thứ tự quan hệ toàn phần [72].
4.3. Thuật toán phát hiện luật chuỗi chung mờ với khoảng cách thời gian
mờ
4.3.1. Bài toán đặt ra
Cho trước CSDL chuỗi định lượng có yếu tố thời gian QSD; min_sup,
min_conf lần lượt là các độ hỗ trợ cực tiểu và độ tin cậy cực tiểu do người sử
dụng xác định; tập mờ của khoảng cách thời gian LT cùng các hàm thành
viên tương ứng; tập các tập mờ FE của các thuộc tính định lượng của QSD
cùng các hàm thành viên tương ứng.
Vấn đề: phát hiện các luật chuỗi chung có tính đến khoảng cách thời gian
xảy ra giữa các giao dịch trong CSDL QSD.
4.3.2. Thuật toán IFERMiner
Thuật toán IFERMiner được mô tả trong Thuật toán 4.1
Thuật toán 4.1. Thuật toán IFERMiner
Input: - CSDL chuỗi định lượng có yếu tố thời gian QSD;
- Độ hỗ trợ cực tiểu và độ tin cậy cực tiểu min_sup, min_conf;
- Tập các tập mờ FE và các hàm thành viên tương ứng với các thuộc
tính trong QSD;
- Tập LT và các hàm thành viên tương ứng về khoảng cách thời gian.
Output: Frules – tập tất cả các luật FCSI valid.
IFERMiner{
1. Frules
2. Duyệt QSD để tạo CSDL mờ có yếu tố thời gian FSD.
3. foreach lt LT do {
4. fleftStore_lt ;
109
5. Tính , tập các lớp tương đương trái với khoảng cách thời gian mờ lt có kích cỡ 1*1 và sinh các luật FCSI valid cỡ 1*1;
6. for each lớp tương đương trái với khoảng cách thời gian mờ lt, H do {
7. fleftSearch(H, Frules)
8. }
9. for each lớp tương đương phải với khoảng cách thời gian mờ lt, J do {
10. frighSearch(J, Frules, fleftStore_lt)
11. }
12. for each lớp tương đương trái với khoảng cách thời gian mờ lt, K fleftStore_lt do {
13. fleftSearch(K, Frules)
14. }
15. }
16. return Frules
17. }
Thuật toán 4.1 thực hiện như sau: Sau khi quét CSDL chuỗi định lượng có
yếu tố thời gian QSD và chuyển CSDL này thành CSDL chuỗi mờ có yếu tố
thời gian FSD, Thuật toán sẽ tiến hành thực hiện các vòng lặp theo các tập
mờ khoảng cách thời gian lt LT
Khởi đầu mỗi vòng lặp, thuật toán tính , tập tất cả các lớp tương
đương trái với khoảng cách thời gian mờ lt cỡ 1 * 1 và sinh các luật FCSI phổ
biến cỡ 1*1 (dòng 5). Thủ tục fleftSearch thực hiện phép hợp trái đối với tất
cả các cặp luật FCSI của lớp tương đương mờ trái với khoảng cách thời gian
lt cỡ 1*1 (từ dòng 6 đến 8). Thủ tục frighSearch thực hiện phép hợp phải đối
với các cặp luật FCSI trong lớp tương đương mờ phải với khoảng cách thời
gian mờ lt cỡ 1*1 (từ dòng 9 đến 11). Kết thúc thủ tục frightSearch, các luật
FCSI phổ biến tìm được lưu trữ trong biến fleftStore_lt (thủ tục frightSearch
mô tả bên dưới). Từ các luật đó, các luật FCSI valid khác được sinh ra thông
qua phép hợp trái. Nói cách khác, với các luật FCSI valid đã tìm được, các
110
luật valid tìm được nhờ thủ tục fleftSearch trên tập các luật FCSI lưu trong
biến fleftStore_lt (từ dòng 9 đến 11) sẽ là tất cả các luật chuỗi chung mờ với
khoảng cách thời gian cần tìm. Điều này chứng minh tương tự như trong
[108]
Các thủ tục fleftSearch và frighSearch trong thuật toán IFERMiner tương
tự như các thủ tục leftSearch và rightSearch trong thuật toán ERMiner [72].
Điểm khác chính ở đây là quá trình kiểm tra điều kiện hợp nhất từ các cặp
luật FCSI và việc tính độ hỗ trợ và độ tin cậy của luật (trong thủ tục
fleftSearch và frightSearch). Thuật toán IFERMiner đã không xây dựng cấu
trúc Sparse Count Matrix (SCM) trong lần đầu quét CSDL và ghi chép lại số
lượng chuỗi mà mỗi phần tử xuất hiện cùng phần tử khác như trong thuật toán
ERMiner [72] để giảm bớt không gian tìm kiếm. Hai lý do không sử dụng cấu
trúc SCM trong thuật toán IFERMiner là: thứ nhất, việc tính độ hỗ trợ của
luật FCSI trong CSDL chuỗi mờ là khác với tính độ hỗ trợ của luật chuỗi
chung trong CSDL chuỗi giao dịch; thứ hai, việc tính toán này phải được thực
hiện trong bối cảnh có tính đến khoảng cách thời gian mờ giữa hai tập thuộc
tính mờ trong các phần của luật.
Các thủ tục fleftSearch và frightSearch được mô tả trong Thuật toán 4.2
và Thuật toán 4.3:
Thuật toán 4.2. Thủ tục fleftSearch
Input: - là lớp tương đương mờ trái với khoảng cách thời gian lt
- Frules là tập các luật FCSI valid đã tìm được.
Output: None
fleftSearch{
1.
foreach r do {
2.
*
3.
foreach s satifies r ≠ s and pair(r, s) has not been processed do {
4.
If (MergingCondition (r, s) = true) {
5.
t leftMerge(r, s)
111
6.
ComputeSupport (t, r,s)
7.
If (supp(t) ≥ min_sup) {
8.
ComputeConfidence(t, r, s)
9.
If (conf(t) ≥ min_conf )
10.
Frules Frules {t};
11.
}
12.
* * {t}
13.
}
14.
}
15.
fleftSearch( *, Frules)
16.
}
17.
}
trong đó MergingCondition = true có nghĩa | | | | X và Y là
phần hệ quả của các luật tương ứng r và s.
Thuật toán 4.3. Thủ tục frightSearch
Input: - là lớp tương đương mờ phải với khoảng cách thời gian lt
- Frules là tập các luật FCSI valid đã tìm được
- fleftStore lưu lớp tương đương mờ trái với khoảng cách thời gian lt được sinh ra bằng phép hợp nhất phải.
Output: None
frightSearch {
1. foreach luật r do {
2.
*
3.
foreach s RElt satifies r ≠ s and pair(r, s) has not been processed do {
4.
If (MergingCondition(r, s) = true) {
5.
t rightMerge(r, s)
6.
ComputeSupport (t, r,s)
7.
If (supp(t) min_sup) {
8.
ComputeConfidence(t, r, s)
112
9.
If (conf(t) min_conf ) {
10. Frules {t}
11. }
12. * * {t}
13. fleftStore_lt fleftStore_lt {t}
14. }
15. }
16. }
17. frightSearch( *, Frules)
18. }
19. }
trong đó MergingCondition = true có nghĩa | | | | với X và
Y là phần tiền đề tương ứng của các luật r và s.
4.3.3. Tính đúng đắn và đầy đủ
Định lý 4.1: Thuật toán IFERMiner là đúng đắn và đầy đủ.
Chứng minh:
a) Tính đúng đắn
⇒ là luật kết hợp được phát hiện bởi thuật toán
Giả sử r =
IFERMiner, nếu r được phát hiện bởi dòng lệnh 5 thuật toán này, thì r là luật
kết hợp mờ FCSI valid với khoảng cách mờ lt có kích thước bằng 1*1. Ngược
lại r được phát hiện bởi thủ tục fleftSearch trong dòng lệnh 7 hoặc dòng lệnh
13, hoặc bởi thủ tục frighSearch ở dòng lệnh 10 của thuật toán này.
Nếu r được phát hiện bởi thủ tục fleftSearch trong dòng lệnh 7 của thuật
toán IFERMiner thế thì theo dòng lệnh 7 của thủ tục fleftSearch, r là luật phổ
biến và theo dòng lệnh 9 của thủ tục này, r cũng là luật tin cậy. Vì thế luật r là
luật kết hợp mờ với khoảng cách thời gian mờ FCSI valid.
113
Chứng minh theo cách tương tự khi r được sinh ra bởi thủ tục frighSearch và
fleftSearch tương ứng trong các dòng lệnh 10 và 13 của thuật toán IFERMiner.
b) Tính đầy đủ
⇒ là luật kết hợp mờ chắc chắn (valid) với khoảng cách
Giả sử r =
thời gian mờ lt, nên r là luật kết hợp mờ phổ biến. Nếu |X| = |Y| = 1 thì r được
phát hiện bởi dòng lệnh 5 trong thuật toán IFERMiner. Giả sử kích thước |X| =
⇒ là kết quả của phép
⇒ cùng thuộc
m, |Y| = n, ở đây m, n ≥ 2. Theo Tính chất 4.2. r =
⇒ và =
hợp nhất phải của hai luật phổ biến =
và | | = m-2. Tiếp tục mỗi luật (i vào lớp tương đương phải
= 1, 2) lại là kết quả của phép hợp nhất phải của hai luật cùng thuộc một lớp
⇒ là kết quả của nhiều hợp nhất phải của các luật kết hợp mờ phổ biến
.
nào đó. Cứ tiếp tục như vậy ta suy ra rằng luật r = tương đương phải
được sử
được bắt đầu từ những luật thuộc một số lớp tương đương phải
Mặt khác, mỗi luật phổ biến thuộc lớp tương đương phải
⇒ có dạng l =
⇒ . Theo tính chất 4.2, luật l = { }
⇒ là kết quả của phép hợp nhất
dụng trong các phép hợp nhất phải để sinh ra luật r =
{ }
⇒ và = { }
⇒ cùng thuộc một lớp
trái của hai luật phổ biến = { }
nào đó ở đó | | = n-2. Lập luận tương tự như tương đương trái { }
⇒ là kết quả của nhiều hợp nhất trái của các
trên suy ra rằng luật l = { }
luật kết hợp mờ phổ biến được bắt đầu từ những luật thuộc một số lớp tương
⇒ là kết quả thực
. Như vậy có thể kết luận rằng r = đương trái { }
hiện của thủ tục fleftSearch với đầu vào là các lớp tương đương trái của các
⇒ { }, ở đây a, b tương ứng
luật kết hợp phổ biến kích thước 1*1 dạng { }
thuộc X, Y, và tiếp theo là thực hiện thủ tục frightSearch với đầu vào là các lớp
tương đương phải của các luật kết hợp phổ biến kích thước 1*n dạng
114
⇒ , ở đây a thuộc X. Vậy r =
⇒ là được tìm bằng thuật toán
{ }
IFERMiner.
4.3.4. Độ phức tạp của thuật toán IFERMiner
Định lý 4.2: Độ phức tạp tính toán của thuật toán IFERMiner là đa thức
phụ thuộc vào N: tổng số chuỗi trong CSDL chuỗi định lượng có yếu tố thời
gian QSD, m: số lượng giao dịch trung bình của một chuỗi, d: độ dài trung
bình của giao dịch trong QSD, h: số lượng tập mờ trung bình được liên kết
với thuộc tính định lượng trong QSD và |LT|: số lượng tập mờ của các
khoảng thời gian trong LT
Chứng minh: Độ phức tạp tính toán của thuật toán IFERMiner C được
phân tích như sau:
| |
Trong đó:
: Độ phức tạp tính toán để tạo CSDL chuỗi mờ có yếu tố thời gian
FSD từ CSDL chuỗi định lượng có yếu tố thời gian QSD.
: Độ phức tạp tính toán để tính toán các lớp tương đương mờ
trái/phải với khoảng cách thời gian mờ lt có kích thước 1*1 và để sinh
ra các luật FCSI valid có kích thước 1*1.
: Độ phức tạp tính toán của thủ tục fleftSearch trên - tập tất cả các lớp tương đương mờ trái với khoảng cách thời gian mờ lt có kích
thước 1*1.
: Độ phức tạp tính toán của thủ tục frightSearch trên - tập tất cả các lớp tương đương mờ phải với khoảng cách thời gian mờ lt có
kích thước 1*1
: Độ phức tạp tính toán của thủ tục fleftSearch trên fleftStore - tập
tất cả các lớp tương đương mờ trái với khoảng cách thời gian mờ lt
được sinh ra bởi thủ tục frightSearch trên .
115
4.1. Với :
Chi phí tính toán để tạo các phần tử trong FSD từ một phần tử trong
CSDL chuỗi định lượng có yếu tố thời gian QSD là O (1). Do số phần tử
trung bình trong QSD là N.m.d.h, vì thế
(7) ( ̅ ) □
4.2. Với :
⇒
là một lớp tương đương mờ trái, ở đây |W| = 1 và Giả sử
. Giả sử Y thuộc giao dịch thứ k trong một chuỗi giao dịch mờ, thì 2 ≤ k
≤ m và W có thể chỉ thuộc k-1 giao dịch đầu tiên. Y có thể là một trong các
thuộc tính mờ trong giao dịch thứ k và W có thể là một trong (k-1).d.h thuộc
tính mờ trong các giao dịch xuất hiện trước giao dịch thứ k. Vì thế, trong
trường hợp này, số lượng các luật FCSI ứng viên cỡ 1*1 là (k-1). . Từ
đó ta có tổng các luật FCSI ứng viên của tất cả các lớp tương đương mờ trái
có cỡ 1*1 là:
∑
= (8)
⇒
, |W| =1 và Y thuộc giao dịch thứ i (2≤ i ≤ m) Giả sử
trong một chuỗi giao dịch mờ, thì W thuộc (i-1) giao dịch đầu trong chuỗi và
⇒ chứa trong chuỗi giao dịch
chi phí tính toán cần thiết để kiểm tra luật
⇒
mờ này là dh * (i-1).dh = . Do đó, chi phí kiểm tra luật
= chứa trong một chuỗi giao dịch mờ là: ∑ .
⇒ với kích cỡ 1*1 là
Vậy, chi phí tính độ hỗ trợ của luật
O(c.N. O( , với c là hằng số.
⇒ được tính thì chi phí tính độ tin cậy của
Khi độ hỗ trợ của luật
luật này chính là chi phí tính độ tin cậy của thuộc tính mờ W và nó không
vượt quá O(N.(m-1)hd).
116
⇒ là:
Do đó, chi phí tính hỗ trợ và độ tin cậy của luật
(9) O( = O(
Từ (8) và (9) có thể suy ra rằng độ phức tạp tính toán để tính các lớp
tương đương mờ trái với khoảng cách thời gian mờ lt có kích cỡ 1*1 và để
sinh các luật FCSI valid có kích cỡ 1*1
là . Tương tự, con số này cũng là độ
phức tạp tính toán để tính các lớp tương đương mờ phải với khoảng cách thời
gian mờ lt có kích cỡ 1*1 và để tạo ra các luật FCSI valid kích cỡ 1*1.
Nói cách khác,
(10) = O( □
4.3. Với
Gọi p là số lớp tương đương mờ trái với khoảng cách thời gian mờ lt kích
), ..., (
), ... . (k ≥1).
); (
thước 1*1, là độ dài lớn nhất của các lớp này (p, phụ thuộc chủ yếu vào min_sup). Kí hiệu (
Chi phí tính toán để sinh ra lớp tương đương mờ trái với khoảng cách thời
và để tìm các luật FCSI valid kích cỡ 1*(k + 1) gian lt từ lớp
bao gồm: kiểm tra điều kiện hợp nhất của từng cặp luật bất kì trong lớp
, tính toán độ hỗ trợ của các luật FCSI kích cỡ |W|*(k + 1) được sinh ra
và tính độ tin cậy của luật đó nếu nó phổ biến.
, ở đây |W| = 1, ta có ít nhất Với mỗi lớp tương đương mờ trái
cặp luật r, s do đó chúng có thể hợp nhất thành một luật FCSI mới kích cỡ
1*(k + 1). Điều kiện hợp nhất được dùng để kiểm tra xem có (k-1) thuộc tính
mờ trong các phần hệ quả của r và s trùng nhau không.
⇒ , ở đây |W| =1 và |Y| = k+1, nếu W thuộc giao dịch mờ
Với luật
thứ i trong một chuỗi giao dịch mờ thì Y phải nằm trong (m-i) giao dịch mờ
cuối cùng và chi phí để kiểm tra luật này thuộc chuỗi giao dịch mờ là
⇒ , trong đó |W| =1 và |Y| = k+1,
117
). Vì thế, chi phí kiểm tra
d.h*(
)}. Vậy, chi phí
thuộc vào một chuỗi giao dịch mờ là ∑ { .* (
⇒ , với |W| =1 và |Y| = k+1 là:
tính độ hỗ trợ của luật
)} = O(∑
)
, (11) O( ∑ { .* ( (
với c là hằng số.
⇒ , với |W| =1 và |Y| = k+1, là
Do chi phí tính độ tin cậy của luật
nhỏ hơn nhiều chi phí tính độ hỗ trợ nên độ phức tạp tính toán để sinh
bằng việc sử dụng phép hợp nhất trái và tính độ tin cậy của từ
là: tất cả các luật trong
= ∑
(12) ( )
(k≥1) và độ phức tạp tính toán để sinh tất cả các lớp tương đương
(|W| =1) bằng sử dụng các phép hợp nhất trái và tính toán độ hỗ trợ từ
∑
(k≥1) là: của các luật thuộc
∑
(
} ∑
)
(
= ∑ { (∑ ) =Ndh. (
) (13)
kích cỡ 1*1 nên độ phức tạp tính toán của thủ tục Do có p lớp
∑
Ndhp. (
) □ (14)
fleftSearch trên là:
4.4. Với
Goi là số lượng các lớp tương đương mờ phải với khoảng cách thời gian
), ..., (
); (
), với k≥1.
lt kích cỡ 1*1; là độ dài lớn nhất của lớp này (q, phụ thuộc chủ yếu vào min_sup). Có nghĩa (
Suy luận tương tự như đối với thủ tục fleftSearch được triển khai trên
⇒ , với |W| =1 và |X| = k+1, chi phí kiểm tra luật
EQlt, ta với mỗi luật
118
)} và chi phí tính độ
này thuộc một chuỗi giao dịch mờ là ∑ { * (
hỗ trợ của luật là (c là hằng số):
)} = O(∑ (
)
. (15) O(c.N. ∑ { .* (
bằng các phép hợp nhất Độ phức tạp tính toán để sinh từ
là: phải và tính độ tin cậy của tất cả các luật trong
= ∑ ( )
(16)
và độ phức tạp tính toán để sinh tất cả các lớp tương đương phải
(|W| =1) bằng các phép hợp nhất phải và tính độ hỗ trợ (k≥1) từ các lớp
(k≥1) là: của các luật trong
) (17)
∑ = Ndh. (
kích cỡ 1*1, nên độ phức tạp tính toán của thủ tục Vì có lớp
∑
( (
)) □ (18)
frightSearch trên là:
4.5. Với
| |
Kí hiệu:
{
⇒
,
}; là số lượng các lớp tương đương
với
| | , |W| = k}; { }
⇒ |; (
={
); (
), ..., (
),...
|
Thực hiện các phép hợp nhất trái trên lớp tương đương mờ trái với
khoảng cách thời gian mờ sẽ sinh ra các lớp tương đương trái
(i≥2). Giả sử W , ta gọi W được chứa trong j giao dịch mờ đầu tiên trong
119
chuỗi giao dịch mờ nếu thuộc tính mờ lớn nhất trong W nằm trong giao dịch
mờ thứ j của chuỗi này.
, ta có ít nhất cặp luật r và s, chúng có thể hợp nhất để Với mỗi
sinh ra luật FCSI kích cỡ k*(i+1). Việc kiểm tra điều kiện hợp nhất được thực
hiện bằng cách so sánh (i-1) thuộc tính mờ trong phần phần hệ quả của các
luật r và s.
⇒ , với |W| = k và |Y| = i+1, nếu W được chứa trong j giao
Xét luật
dịch mờ đầu của chuỗi giao dịch mờ thì Y phải được chứa trong (m-j) giao
⇒ , với |W| = k và |Y| = i+1,
dịch cuối của chuỗi đó và chi phí để kiểm tra luật này chứa trong chuỗi là
)*(
( ). Do đó, chi phí để kiểm tra
) (
thuộc một chuỗi giao dịch mờ là ∑ {( )} , trong đó là số
⇒ , với |W| = k và |Y| = i+1, là:
tự nhiên nhỏ nhất để . Vì vậy, chi phí tính độ hỗ trợ của một luật
∑
{(
)}
)}) (19)
= {(
) (
) (
⇒ Y , với |W| = k và |Y| = i+1, là nhỏ
Chi phí tính độ tin cậy của luật W
hơn nhiều chi phí tính độ hỗ trợ của luật đó. Vì thế, độ phức tạp tính toán để
bằng các phép hợp nhất trái và tính độ tin cậy của sinh từ
là: các luật trong
= ( {(
) (
(20) )})
và độ phức tạp tính toán để sinh tất cả các lớp tương đương
bằng các phép hợp nhất trái và tính độ hỗ trợ của các luật
(i≥1) từ (i≥1) là: trong
) (
)})}
)})} ∑ = ∑ { ( {( = ∑ { ( {( ) (
120
) (
(21) )} . {(
nên độ phức tạp tính Với mỗi k>1, do không có nhiều hơn lớp
)} (22)
∑
{(
) (
(k>1) là: toán của thủ tục fleftSearch trên
và độ phức tạp tính toán của thủ tục fleftSearch trên fleftStore là:
∑
)})
= ∑
( {(
) (
)})□
) (
(23) = ( {(
Phân tích các công thức (7), (10), (14), (18) và (23), ta có thể thấy rằng tất
cả các công thức này đều là đa thức của N, m, d, h và một số tham số khác
phục thuộc vào min_sup. Như vậy, định lý 4.2 đã được chứng minh.□
4.3.5. Trường hợp suy biến của luật chuỗi chung mờ với khoảng cách thời
gian mờ
Định lý 4.3: Thuật toán IFERMiner có thể tìm được các luật ⟹
với X, Y là các tập mục.
Chứng minh:
Nếu số lượng các tập mờ ( ) của các thuộc tính định lượng trong
CSDL QSD là 1 với và các hàm thành viên cho tất cả các
thuộc tính là:
( ) {
Tập mờ với khoảng cách thời gian được chọn là LT={lt} tức là chỉ có duy
nhất một phân hoạch đối với khoảng cách thời gian và hàm thành viên nhận
giá trị:
{
121
Thì CSDL chuỗi mờ có yếu tố thời gian FSD thu được sẽ là CSDL nhị
phân hay CSDL giao dịch, các công thức tính độ hỗ trợ (4.1), (4.2) chỉ quan
tâm đến sự xuất hiện hay không mà không quan tâm đến giá trị định lượng,
công thức (4.3) sẽ không quan tâm đến khoảng cách thời gian do = 1. Từ đó, công thức tính độ hỗ trợ của luật (4.4) suy biến về độ hỗ trợ của
luật chuỗi chung. Bên cạnh đó, trong thuật toán IFERMiner, các lớp tương
đương đều suy biến thành EQ, LE, RE như trong thuật toán
ERMiner. Vậy thuật toán IFERMiner có thể tìm được các luật ⟹ .
4.4. Thử nghiệm thuật toán
4.4.1. Dữ liệu thử nghiệm
Dữ liệu thử nghiệm gồm 2 tập dữ liệu:
Tập dữ liệu Online Retail_France được trích xuất từ dữ liệu Online Retail
[113] của các khách hàng có thuộc tính Country=‟France‟ từ ngày
01/12/2010 đến 09/12/2011. Tập dữ liệu Online Retail_France gồm các
thông tin sau:
o Customer ID – Mã khách hàng
o Invoice Date – Ngày mua hàng
o Stock Code – Mã hàng
o Quantity – Số lượng.
Tập dữ liệu QtyT40I10D100K [113] được lựa chọn 100 mã hàng đầu tiên
(thuộc tính Trans từ 1 đến 100) và 10000 giao dịch đầu tiên (thuộc tính
Time từ 1 đến 10000) gồm các thông tin:
o CustomerID – Mã khách hàng
o Time – Thời điểm mua hàng
o Trans – Mã hàng
o Quantity – Số lượng.
Các thông tin chung về 2 tập dữ liệu thử nghiệm được mô tả như trong
Bảng 4.1.
122
Bảng 4.1. Dữ liệu thử nghiệm thuật toán IFERMiner
Dữ liệu thử nghiệm
Số lƣợng giao dịch (D)
Online Retail_France
QtyT40I10D100K
Số lƣợng thuộc tính (I) 1523 100
365 10000
Số lƣợng chuỗi giao dịch (S) 87 100
Độ dài trung bình giao dịch (T) 21.38 4.26
Độ dài trung bình của chuỗi giao dịch 95.88 420
Để phù hợp với dữ liệu đầu vào của thuật toán, tập dữ liệu Online
Retail_France được chuyển đổi thành dữ liệu chuỗi định lượng tương ứng như
sau:
CusId: Mã khách hàng
Time: là số nguyên biểu diễn số ngày của Invoice Date so với ngày đầu
tiên của dữ liệu (01/02/2010), Invoice Date nếu là ngày đầu tiên thì nhận
giá trị là 1;
StockCodeID: Định danh của mặt hàng (là số nguyên liên tiếp từ 1)
Quantity: Số lượng mặt hàng được mua.
,
,
Mỗi mã hàng trong các tập dữ liệu thử nghiệm đều được phân hoạch
với K=3 và
thành các tập mờ và các hàm thành viên được xác định theo công thức (2.1) . Các giá trị ma, mi tương ứng với các giá trị lớn nhất, nhỏ nhất được mua của
StockCodeID thứ xm đối với CSDL Online Retail_France; ứng với các giá trị
lớn nhất, nhỏ nhất được mua của Trans thứ đối với CSDL
QtyT40I10D100K. Thuộc tính Quantity được sử dụng để tính giá trị mờ cho
mã mặt hàng được mua đối với cả hai CSDL.
Khoảng cách thời gian cũng được phân hoạch thành 3 tập mờ, LT={Short,
Medium, Long} với t là giá trị của thuộc tính time thì ta có các hàm thành viên
tương ứng như sau:
;
Đối với CSDL Online Retail_France
{
123
{
{
Đối với CSDL QtyT40I10D100K ;
{
{
{
4.4.2. Kết quả thử nghiệm
Thuật toán được xây dựng bằng ngôn ngữ lập trình Java dựa trên thư viện
mã nguồn mở SPMF [115] và được thực hiện trên máy tính với cấu hình Chip
Intel Core i5 2.5 GHz, RAM 4 GB, hệ điều hành Windows 7
4.4.2.1. Mối quan hệ giữa số lượng các luật được sinh ra với độ hỗ trợ cực
tiểu min_sup và độ tin cậy cực tiểu min_conf.
Mối quan hệ giữa số lượng luật FCSI valid tìm được trong hai CSDL
chuỗi định lượng Online Retail_France và Qty40l10D100K với min_sup và
min_conf được hiển thị trong Hình 4.1.a và Hình 4.1.b bên dưới. Các biểu đồ
này chỉ ra rằng số lượng luật FCSI valid sẽ giảm mạnh nếu min_sup
và / hoặc min_conf tăng và số lượng luật sẽ tăng nếu ít nhất một trong hai
124
ngưỡng tối thiểu này bị giảm và đặc biệt là số lượng luật FCSI valid tăng rất
nhanh nếu min_sup thấp hơn một mức nhất định tùy thuộc vào cơ sở dữ liệu
chuỗi định lượng được sử dụng.
Online Retail France (a)
1400
1200
1000
min_conf=70%
min_conf=73%
800
t ậ u
l
min_conf=76%
ố S
600
min_conf=79%
400
min_conf=82%
200
min_conf=85%
0
3.1%
3.3%
3.5%
3.7%
3.9%
4.1%
4.3%
4.5%
min_sup
QtyT40I10D100K (b)
700
600
500
min_conf=54%
400
min_conf=56%
t ậ u
l
min_conf=58%
ố S
300
min_conf=60%
200
min_conf=62%
100
min_conf=64%
0
16%
18%
20%
22%
24%
26%
28%
min_sup
Hình 4.1. Mối quan hệ giữa số lượng các luật FCSI valid với min_sup và min_conf
4.4.2.2. Mối quan hệ giữa thời gian thực hiện thuật toán với độ hỗ trợ cực tiểu
min_sup và độ tin cậy cực tiểu min_conf
Thời gian thực hiện thuật toán IFERMiner trên hai cơ sở dữ liệu chuỗi
định lượng đã nói ở trên phụ thuộc vào min_sup và min_conf và được hiển thị
trong Hình 4.2.a và Hình 4.2.b. Những số liệu này chỉ ra rằng đối với cả hai
125
bộ dữ liệu (Online Retail_France và Qty40l10D100K), thời gian thực hiện
thuật toán phụ thuộc rất nhiều vào min_sup nhưng ít phụ thuộc vào min_conf.
Cụ thể, thời gian thực hiện thuật toán sẽ tăng nhanh nếu min_sup giảm nhưng
nó không thay đổi nhiều nếu min_conf giảm trong khi min_sup không đổi.
Online Retail France (a)
3
2.5
min_conf=70%
2
min_conf=73%
1.5
min_conf=76%
) y â i g ( n a i g i
1
min_conf=79%
ờ h T
min_conf=82%
0.5
min_conf=85%
0
3.1% 3.3% 3.5% 3.7% 3.9% 4.1% 4.3% 4.5%
min_sup
QtyT40I10D100K (b)
7000
6000
5000
min_conf=54%
4000
min_conf=56%
min_conf=58%
3000
) y â i g ( n a i g i
min_conf=60%
ờ h T
2000
min_conf=62%
1000
min_conf=64%
0
16% 18% 20% 22% 24% 26% 28%
min_sup
Hình 4.2. Mối quan hệ giữa thời gian thực hiện thuật toán với min_sup và min_conf
4.4.2.3. So sánh số luật và thời gian thực hiện của phương pháp mờ hóa với
phương pháp chia khoảng của khoảng cách thời gian
Hình 4.3 và Hình 4.4 biểu diễn kết quả so sánh số luật và thời gian thực
hiện của phương pháp mờ hóa khoảng cách thời gian (A) với phương pháp
chia khoảng khoảng cách thời gian (B) khi thực hiện IFERMiner. Khoảng
thời gian trong phương pháp chia khoảng (B) được chia đều thành 3 khoảng,
126
các giá trị của khoảng cách thời gian nhận giá trị 1 nếu thuộc khoảng, ngược
lại nhận giá trị 0.
Hình 4.3. So sánh số luật của phương pháp mờ hóa (A) và phương pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán IFERMiner
127
Hình 4.4. So sánh thời gian chạy của phương pháp mờ hóa (A) và phương pháp chia khoảng (B) đối với khoảng cách thời gian khi thực hiện thuật toán IFERMiner
Từ Hình 4.3 và Hình 4.4, ta thấy số mẫu chuỗi tìm được cũng như thời
gian thực hiện trong trường hợp mờ hóa khoảng cách thời gian là ít hơn so với
số mẫu tìm được đối với trường hợp chia khoảng khoảng cách thời gian tương
ứng. Tuy nhiên, xu hướng tăng giảm của số luật cũng như thời gian thực hiện
của (A) và (B) thay đổi theo độ hỗ trợ cực tiểu là giống nhau
4.4.2.4. Ý nghĩa của luật chuỗi chung mờ với khoảng cách thời gian mờ
Trong trường hợp min_sup là 3% và min_conf là 75%, sử dụng thuật
toán IFERMiner trên Online Retail_France, ta thu được 1187 luật
FCSI valid. 5 luật có độ hỗ trợ cao nhất được mô tả trong Bảng 4.2
128
Bảng 4.2. Các luật FCSI valid có độ hỗ trợ cao nhất tương ứng với min_sup = 3% và min_conf = 75%
Luật tìm đƣợc
Ý nghĩa
Độ hỗ trợ
Độ tin cậy
⇒ 1042Small
301Small
4.38% 76.13% Nếu một khách hàng mua các mặt hàng 301 với số lượng Small thì khách hàng đó cũng sẽ mua mặt hàng 1042 với số lượng Small sau thời gian Long với độ hỗ trợ và độ tin cậy lần lượt là 4.38% , 76.13%
413Small
63Small, ⇒ 1042Small
4.41% 79.99% Nếu một khách hàng mua các mặt hàng 63 với số lượng Small và mặt hàng 413 với số lượng Small thì khách hàng đó cũng sẽ mua mặt hàng 1042 với số lượng Small sau thời gian Long với độ hỗ trợ và độ tin cậy lần lượt là 4.41%, 79.99%.
833Small
616Small, ⇒ 1042Small
4.36% 94.79% Nếu một khách hàng mua các mặt hàng 616 với số lượng Small và mặt hàng 833 với số lượng Small thì khách hàng đó cũng sẽ mua mặt hàng 1042 với số lượng Small sau thời gian Long với độ hỗ trợ và độ tin cậy lần lượt là 4.36% , 94.79.
116Small
62Small, ⇒ 1250Small
4.60% 80.00% Nếu một khách hàng mua các mặt hàng 62 với số lượng Small và mặt hàng 116 với số lượng Small thì khách hàng đó cũng sẽ mua mặt hàng 1250 với số lượng Small sau thời gian Long với độ hỗ trợ và độ tin cậy lần lượt là 4.60%, 80.00%
62Small, 116Small, 385Small ⇒ 1250Small
4.4% 98.29% Nếu một khách hàng mua các mặt hàng 62 với số lượng Small, mặt hàng 116 với số lượng Small và mặt hàng 385 với số lượng Small thì khách hàng đó cũng sẽ mua mặt hàng 1250 với số lượng Small sau thời gian Long với độ hỗ trợ và độ tin cậy lần lượt là 4.40%, 98.29%
129
Trong Bảng 4.2 trên, các số 301, 1042, 63, 413, 616, 833, là các
StockCodeID của các mặt hàng. Cụ thể, StockCodeID 301 tương ứng mặt
hàng có tên “Big doughnut fridge magnets”; StockCodeID 1042 là “Rabbit
night light”; StockCodeID 63là “Red retrospot mini cases”; StockCodeID 413
là “Tea party birthday card”; StockCodeID 616 là “10 Colour spaceboy pen”;
StockCodeID 833 là “Poppy's playhouse bathroom”; StockCodeID 62 là
“Assorted colour mini cases”; StockCodeID 116 là “Set/6 red spotty paper
plates”; StockCodeID 385 là “Red retrospot picnic bag”; StockCodeID 1250
là “Spaceboy mini backpack”.
Kết luận Chƣơng 4
Chương 4 tập trung trình bày thuật toán phát hiện các luật chuỗi chung
mờ với các khoảng cách thời gian mờ trong các CSDL định lượng có yếu tố
thời gian và được gọi là IFERMiner. Phương pháp mờ hóa các thuộc tính định
lượng cũng như các khoảng cách thời gian là tương tự như hai chương trước
đó. Thuật toán IFERMiner được phát triển từ ý tưởng của thuật toán ERMiner
để phát hiện các luật chuỗi chung trong các CSDL giao dịch không có yếu tố
thời gian. Cụ thể thuật toán IFERMiner cũng được xây dựng dựa trên các lớp
tương đương mờ trái, mờ phải của các luật chuỗi chung mờ phổ biến với
khoảng cách thời gian mờ như nhau và các phép hợp nhất trái, phải trên các
lớp tương đương này. Thuật toán IFERMiner là đúng đắn và đầy đủ. Hơn nữa
độ phức tạp của thuật toán này cũng được chứng minh là đa thức. Việc thực
nghiệm của thuật toán IFERMiner cho thấy sự phù hợp và đúng đắn của thuật
toán do đảm bảo tính chất đóng xuống. Kết quả thực nghiệm được so sánh với
phương pháp chia khoảng tương ứng. Các luật chuỗi chung được phát hiện
bởi thuật toán IFERMiner đã cho thấy sự phù hợp và ý nghĩa sử dụng của
chúng trong đời sống thực tiễn.
130
KẾT LUẬN VÀ KIẾN NGHỊ
Luận án đã đạt đƣợc những kết quả chính sau:
NCS đã hoàn thành mục tiêu của luận án. NCS đã tập trung nghiên cứu
giải quyết các vấn đề về phát hiện các luật kết hợp và mẫu chuỗi, luật chuỗi
chung có tính đến khoảng cách thời gian tương ứng trong các CSDL định
lượng và CSDL chuỗi định lượng có yếu tố thời gian. Cụ thể luận án đã đề
xuất nghiên cứu và giải pháp giải quyết 3 bài toán sau:
1. Đề xuất và giải quyết bài toán về phát hiện luật kết hợp có tính đến
khoảng cách thời gian xảy ra giữa các giao dịch trong các CSDL định lượng
có yếu tố thời gian. Các luật phát hiện được khi đó được gọi là luật kết hợp
mờ với khoảng cách thời gian mờ. Thuật toán FTQ đã được NCS đề xuất
nhằm phát hiện những luật như vậy. Thuật toán sử dụng phương pháp mờ hóa
các thuộc tính định lượng sau đó thực hiện dựa trên ý tưởng của thuật toán
Apriori. Việc thực nghiệm cho thấy thuật toán nó phù hợp với lý thuyết về
luật kết hợp, trong đó nhất là tính chất đóng xuống (hay tính chất Apriori của
các tập phổ biến). Các luật phát hiện được cho thấy ý nghĩa ứng dụng thực
tiễn của chúng.
2. Đề xuất và giải quyết bài toán về phát hiện mẫu chuỗi có tính đến
khoảng cách thời gian giữa các giao dịch trong các CSDL chuỗi định lượng
có yếu tố thời gian. Các mẫu chuỗi như vậy được gọi là mẫu chuỗi mờ với
khoảng cách thời gian mờ. Thuật toán phát hiện các mẫu chuỗi mờ với
khoảng cách thời gian mờ được gọi là FSPFTIM. Thuật toán này là đúng đắn
và đầy đủ. Độ phức tạp tính toán của nó đã được chỉ ra trong luận án. Việc
thực nghiệm thuật toán trên các tập dữ liệu thực đã cho thấy thuật toán phù
hợp với lý thuyết trong đó nhất là tính chất đóng xuống của các mẫu phổ biến.
Các mẫu chuỗi phát hiện được là phù hợp và có ý nghĩa ứng dụng thực tiễn.
3. Đề xuất và giải quyết bài toán về phát hiện luật chuỗi chung có tính đến
khoảng cách thời gian giữa các giao dịch trong CSDL chuỗi định lượng có
131
yếu tố thời gian. Các luật chuỗi phát hiện được khi đó gọi là luật chuỗi chung
mờ với khoảng cách thời gian mờ. Thuật toán được đề xuất để phát hiện các
luật chuỗi chung như vậy được gọi là IFERMiner. Thuật toán này cũng là
đúng đắn và đầy đủ. Độ phức tạp tính toán của thuật toán cũng được đưa ra và
độ phức tạp là đa thức. Việc thực nghiệm thuật toán trên các tập dữ liệu thực
đã cho thấy thuật toán là phù hợp với tính chất đóng xuống của các luật chuỗi
chung và các luật chuỗi chung phát hiện được là phù hợp với thực tiễn và có ý
nghĩa ứng dụng.
Hƣớng nghiên cứu trong tƣơng lai:
Các thuật toán phát hiện các luật kết hợp mờ và mẫu chuỗi mờ với khoảng
cách thời gian mờ tương ứng trong các CSDL định lượng có yếu tố thờ gian
và CSDL chuỗi định lượng có yếu tố thời gian đều được phát triển dựa trên
thuật toán Apriori, một thuật toán được đánh giá có hiệu quả ở mức trung
bình so với các thuật toán phát hiện luật kết hợp khác. Một trong nhưng
hướng nghiên cứu sau luận án này của chúng tôi là phát triển các thuật toán
hiệu quả hơn để phát hiện các luật kết hợp mờ cũng như mẫu chuỗi mờ với
khoảng cách thời gian.
Các mẫu chuỗi cũng như các luật chuỗi chung chỉ biểu diễn mối quan hệ
của các giao dịch do một đối tượng thực hiện, một hướng nghiên cứu khác
được chúng tôi ưu tiên hơn là nghiên cứu phát hiện một loại mẫu chuỗi mới
cũng như loại luật chuỗi chung mới có thể biểu diễn được mối quan hệ giữa
các giao địch được thực hiện bởi các đối tượng khác nhau miễn là các giao
dịch đứng trước trong mẫu chuỗi hoặc trong phần tiền đề của luật phải được
xảy ra tương ứng trước các giao địch đứng sau trong mẫu chuỗi hoặc phần hệ
quả của luật chuỗi chung.
132
DANH MỤC CÔNG TRÌNH ĐÃ CÔNG BỐ
[CT1] Trương Đức Phương, Đỗ Văn Thành, “Phát hiện luật chuỗi liên kết các giao dịch từ cơ sở dữ liệu thời gian”, Kỷ yếu hội nghị khoa học công nghệ quốc gia lần thứ VII (FAIR „7), 2014, pp. 488-495
[CT2] Trương Đức Phương, Đỗ Văn Thành, “Phát hiện luật kết hợp liên kết chuỗi thời gian”, hội thảo quốc gia lần thứ 17: Một số vấn đề chọn lọc của công nghệ thông tin và truyền thông, 2014, pp. 257-262
[CT3] Truong Duc Phuong, Do Van Thanh, Nguyen Duc Dung, “Mining fuzzy time-interval association rules from temporal quantitative databases”, International Conference on Information and Convergence Technology for Smart Society Vol.2 No.1, 2016, pp 52-58.
[CT4] Truong Duc Phuong, Do Van Thanh, Nguyen Duc Dung, “An Effective Algorithm for Association Rules Mining from Temporal Quantitative Databases”, Indian Journal of Science and Technology, Vol 9(17), 2016. (Scopus*)
[CT5] Truong Duc Phuong, Do Van Thanh, Nguyen Duc Dung. "Mining Fuzzy Sequential Patterns with Fuzzy Time-Intervals in Quantitative Sequence Databases." Cybernetics and Information Technologies, Vol 18 (2), 2018, pp. 3-19. (Scopus)
[CT6] Trương Đức Phương, Đỗ Văn Thành, Nguyễn Đức Dũng “Phát hiện mẫu chuỗi mờ với khoảng cách thời gian được xác định từ cơ sở dữ liệu chuỗi định lượng”, hội thảo quốc gia lần thứ 21: Một số vấn đề chọn lọc của công nghệ thông tin và truyền thông, 2018, pp. 280-287.
[CT7] Trương Đức Phương “Xây dựng mô hình dự báo chỉ số VN30 của thị trường chứng khoán Việt Nam”, hội thảo quốc gia lần thứ 21: Một số vấn đề chọn lọc của công nghệ thông tin và truyền thông, 2018, pp. 383-389
[CT8] Thanh Do Van, Phuong Truong Duc, “Fuzzy Common Sequential Rules Mining In Quantitative Sequence Databases”, Journal of Computer Science and Cybernetics, Vol 35(3), 2019, pp. 217-232
[CT9] Thanh Do Van, Phuong Truong Duc, “Mining Fuzzy Common Sequential Rules with Fuzzy Time-Interval in quantitative sequence databases”, International Journal of Uncertainty, Fuzziness and Knowledge-Based Systems, Vol 28 (6), 2020, pp. 957. (SCIE)
* https://www.scopus.com/authid/detail.uri?authorId=57189375549
133
TÀI LIỆU THAM KHẢO
[1] R. Agrawal, T. Imieliński, and A. Swami, “Mining association rules between sets of items in large databases,” Acm sigmod record, vol. 22, no. 2. pp. 207–216, 1993.
[2] R. Agrawal, R. Srikant, and others, “Fast algorithms for mining association rules,” in Proc. 20th int. conf. very large data bases, VLDB, 1994, vol. 1215, no. 12, pp. 487–499.
[3] A. Savasere, E. R. Omiecinski, and S. B. Navathe, “An efficient algorithm for mining association rules in large databases,” 1995.
[4] N. Pasquier, Y. Bastide, R. Taouil, and L. Lakhal, “Discovering frequent closed itemsets for association rules,” in International Conference on Database Theory, 1999, pp. 398–416.
[5] M. Shekofteh, A. M. Rahmani, and M. A. Dezfuli, “A-Close+: An Algorithm for Mining Frequent Closed Itemsets,” in 2008 International Conference on Advanced Computer Theory and Engineering, 2008, pp. 638–642.
[6] N. Pasquier, Y. Bastide, R. Taouil, and L. Lakhal, “Efficient mining of association rules using closed itemset lattices,” Inf. Syst., vol. 24, no. 1, pp. 25–46, 1999.
[7]
J. Pei, J. Han, R. Mao, and others, “Closet: An efficient algorithm for mining frequent closed itemsets.,” in ACM SIGMOD workshop on research issues in data mining and knowledge discovery, 2000, vol. 4, no. 2, pp. 21–30.
[8]
J. Wang, J. Han, and J. Pei, “CLOSET+: searching for the best strategies for mining frequent closed itemsets,” in Proceedings of the ninth ACM SIGKDD international conference on Knowledge discovery and data mining, 2003, pp. 236–245.
[9] M. J. Zaki and C.-J. Hsiao, “CHARM: An efficient algorithm for closed itemset mining,” in Proceedings of the 2002 SIAM international conference on data mining, 2002, pp. 457–473.
[10] D. Burdick, M. Calimlim, and J. Gehrke, “Mafia: A maximal frequent itemset algorithm for transactional databases,” in ICDE, 2001, vol. 1, pp. 443–452.
[11] K. Gouda and M. J. Zaki, “Genmax: An efficient algorithm for mining maximal frequent itemsets,” Data Min. Knowl. Discov., vol. 11, no. 3, pp. 223–242, 2005.
[12] Z. P. Ogihara, M. J. Zaki, S. Parthasarathy, M. Ogihara, and W. Li,
“New algorithms for fast discovery of association rules,” 1997.
[13] S. Brin, R. Motwani, J. D. Ullman, and S. Tsur, “Dynamic itemset
134
counting and implication rules for market basket data,” Acm Sigmod Rec., vol. 26, no. 2, pp. 255–264, 1997.
[14] J. Han, J. Pei, Y. Yin, and R. Mao, “Mining frequent patterns without candidate generation: A frequent-pattern tree approach,” Data Min. Knowl. Discov., vol. 8, no. 1, pp. 53–87, 2004.
[15] L.-X. Qin, P. Luo, and Z.-Z. Shi, “Efficiently mining frequent itemsets with compact FP-tree,” in International Conference on Intelligent Information Processing, 2004, pp. 397–406.
[16] L. T. T. Nguyen, B. Vo, L. T. T. Nguyen, P. Fournier-Viger, and A. top-k association rule mining
Selamat, “ETARM: an efficient algorithm,” Appl. Intell., vol. 48, no. 5, pp. 1148–1160, 2018.
[17] M. S. Saravanan and R. J. R. Sree, “A simple process model generation using a new association rule mining algorithm and clustering approach,” in 2011 Third International Conference on Advanced Computing, 2011, pp. 265–269.
association in
[18] R. Sumathi and E. Kirubakaran, “Architectural perspective of parallelizing IEEE-International rule mining,” Conference On Advances In Engineering, Science And Management (ICAESM-2012), 2012, pp. 437–442.
[19] N. Aryabarzan, B. Minaei-Bidgoli, and M. Teshnehlab, “negFIN: An efficient algorithm for fast mining frequent itemsets,” Expert Syst. Appl., vol. 105, pp. 129–143, 2018.
[20] R. Srikant and R. Agrawal, “Mining quantitative association rules in large relational tables,” in Acm Sigmod Record, 1996, vol. 25, no. 2, pp. 1–12.
[21] B. Lent, A. Swami, and J. Widom, “Clustering association rules,” in Proceedings 13th International Conference on Data Engineering, 1997, pp. 220–231.
[22] T. Fukuda, Y. Morimoto, S. Morishita, and T. Tokuyama, “Mining optimized association rules for numeric attributes,” J. Comput. Syst. Sci., vol. 58, no. 1, pp. 1–12, 1999.
[23] R. Rastogi and K. Shim, “Mining optimized association rules with categorical and numeric attributes,” IEEE Trans. Knowl. Data Eng., vol. 14, no. 1, pp. 29–50, 2002.
[24] K. C. C. Chan and W.-H. Au, “Mining fuzzy association rules,” in Proceedings of the sixth international conference on Information and knowledge management, 1997, pp. 209–215.
[25] C. M. Kuok, A. Fu, and M. H. Wong, “Mining fuzzy association rules in databases,” ACM Sigmod Rec., vol. 27, no. 1, pp. 41–46, 1998.
[26] T.-P. Hong, C.-S. Kuo, and S.-C. Chi, “Mining association rules from
135
quantitative data,” Intell. data Anal., vol. 3, no. 5, pp. 363–376, 1999.
[27] T.-P. Hong, C.-S. Kuo, and S.-C. Chi, “Trade-off between computation time and number of rules for fuzzy mining from quantitative data,” Int. J. Uncertainty, Fuzziness Knowledge-Based Syst., vol. 9, no. 05, pp. 587–604, 2001.
Intelligence. 2002
[28] T.-P. Hong, M.-J. Chiang, and S.-L. Wang, “Mining from quantitative data with linguistic minimum supports and confidences,” in 2002 IEEE World Congress on Computational IEEE International Conference on Fuzzy Systems. FUZZ-IEEE’02. Proceedings (Cat. No. 02CH37291), 2002, vol. 1, pp. 494–499.
[29] T. P. Hong, “Mining membership functions and fuzzy association
rules,” 2003.
[30] A. U. Tansel, J. Clifford, S. Gadia, S. Jajodia, A. Segev, and R. Snodgrass, Temporal databases: theory, design, and implementation. Benjamin-Cummings Publishing Co., Inc., 1993.
[31] B. Aydin and R. A. Angryk, Spatiotemporal Frequent Pattern Mining
from Evolving Region Trajectories. Springer, 2018.
[32] H. Lu, J. Han, and L. Feng, “Stock movement prediction and n-
dimensional inter-transaction association rules,” 1998.
[33] A. K. H. Tung, H. Lu, J. Han, and L. Feng, “Efficient mining of intertransaction association rules,” IEEE Trans. Knowl. Data Eng., vol. 15, no. 1, pp. 43–56, 2003.
[34] L.-X. Qin and Z.-Z. Shi, “Efficiently mining association rules from time
series,” Int. J. Inf. Technol., vol. 12, no. 4, pp. 30–38, 2006.
[35] A. J. T. Lee and C.-S. Wang, “An efficient algorithm for mining frequent inter-transaction patterns,” Inf. Sci. (Ny)., vol. 177, no. 17, pp. 3453–3476, 2007.
[36] S. Nandagopal, V. P. Arunachalam, and S. Karthik, “A Novel Approach for Mining Inter-Transaction Itemsets,” Eur. Sci. J., vol. 8, pp. 14–22, 2012.
[37] T.-N. Nguyen, N. L. TT, B. Vo, and N.-T. Nguyen, “An Efficient Algorithm for Mining Frequent Closed Inter-Transaction Patterns,” 2019.
Inter-transaction Patterns,” for Mining Closed
[38] T.-N. Nguyen, L. T. T. Nguyen, B. Vo, and N. T. Nguyen, “A Fast Algorithm in International Conference on Industrial, Engineering and Other Applications of Applied Intelligent Systems, 2020, pp. 820–831.
[39] R. Agrawal, R. Srikant, and others, “Mining sequential patterns,” in
icde, 1995, vol. 95, pp. 3–14.
136
[40] R. Srikant and R. Agrawal, “Mining sequential patterns: Generalizations and performance improvements,” in International Conference on Extending Database Technology, 1996, pp. 1–17.
[41] M. N. Garofalakis, R. Rastogi, and K. Shim, “SPIRIT: Sequential pattern mining with regular expression constraints,” in VLDB, 1999, vol. 99, pp. 7–10.
[42] M. J. Zaki, “SPADE: An efficient algorithm for mining frequent
sequences,” Mach. Learn., vol. 42, no. 1–2, pp. 31–60, 2001.
[43] J. Ayres, J. Flannick, J. Gehrke, and T. Yiu, “Sequential pattern mining using a bitmap representation,” in Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining, 2002, pp. 429–435.
[44] E. Salvemini, F. Fumarola, D. Malerba, and J. Han, “Fast sequence mining based on sparse id-lists,” in International Symposium on Methodologies for Intelligent Systems, 2011, pp. 316–325.
[45] P. Fournier-Viger, A. Gomariz, M. Campos, and R. Thomas, “Fast vertical mining of sequential patterns using co-occurrence information,” in Pacific-Asia Conference on Knowledge Discovery and Data Mining, 2014, pp. 40–52.
[46] P. Fournier-Viger, C.-W. Wu, and V. S. Tseng, “Mining maximal sequential patterns without candidate maintenance,” in International Conference on Advanced Data Mining and Applications, 2013, pp. 169– 180.
[47] D. Lo, S.-C. Khoo, and J. Li, “Mining and ranking generators of sequential patterns,” in Proceedings of the 2008 SIAM International Conference on Data Mining, 2008, pp. 553–564.
[48] J. Han, J. Pei, B. Mortazavi-Asl, Q. Chen, U. Dayal, and M.-C. Hsu, “FreeSpan: frequent pattern-projected sequential pattern mining,” in Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining, 2000, pp. 355–359.
[49] J. Pei et al., “Mining sequential patterns by pattern-growth: The prefixspan approach,” IEEE Trans. Knowl. Data Eng., vol. 16, no. 11, pp. 1424–1440, 2004.
[50] X. Yan, J. Han, and R. Afshar, “CloSpan: Mining: Closed sequential patterns in large datasets,” in Proceedings of the 2003 SIAM international conference on data mining, 2003, pp. 166–177.
[51] T. Van, B. Vo, and B. Le, “Mining sequential patterns with itemset constraints,” Knowl. Inf. Syst., vol. 57, no. 2, pp. 311–330, 2018.
[52] R. Bhatta, C. I. Ezeife, and M. N. Butt, “Mining Sequential Patterns of in for E-commerce Recommendation,” Historical Purchases
137
International Conference on Big Data Analytics and Knowledge Discovery, 2019, pp. 57–72.
[53] C. Fiot, A. Laurent, and M. Teisseire, “From crispness to fuzziness: Three algorithms for soft sequential pattern mining,” IEEE Trans. Fuzzy Syst., vol. 15, no. 6, pp. 1263–1277, 2007.
[54] Y.-C. Hu, R.-S. Chen, G.-H. Tzeng, and J.-H. Shieh, “A fuzzy data mining algorithm for finding sequential patterns,” Int. J. Uncertainty, Fuzziness Knowledge-Based Syst., vol. 11, no. 02, pp. 173–193, 2003.
[55] Y.-C. Hu, G.-H. Tzeng, and C.-M. Chen, “Deriving two-stage learning sequences from knowledge in fuzzy sequential pattern mining,” Inf. Sci. (Ny)., vol. 159, no. 1–2, pp. 69–86, 2004.
[56] T. C.-K. Huang, “Discovery of fuzzy quantitative sequential patterns with multiple minimum supports and adjustable membership functions,” Inf. Sci. (Ny)., vol. 222, pp. 126–146, 2013.
[57] R. J. Kuo, C. M. Chao, and C. Y. Liu, “Integration of K-means algorithm and AprioriSome algorithm for fuzzy sequential pattern mining,” Appl. Soft Comput., vol. 9, no. 1, pp. 85–93, 2009.
[58] R. B. V Subramanyam and A. Goswami, “A fuzzy data mining algorithm for incremental mining of quantitative sequential patterns,” Int. J. Uncertainty, Fuzziness Knowledge-Based Syst., vol. 13, no. 06, pp. 633–652, 2005.
[59] T. Huang, R. Huang, B. Liu, and Y. Yan, “Extracting Various Types of Informative Web Content via Fuzzy Sequential Pattern Mining,” in Asia-Pacific Web (APWeb) and Web-Age Information Management (WAIM) Joint Conference on Web and Big Data, 2017, pp. 230–238.
[60] M. Yoshida, T. Iizuka, H. Shiohara, and M. Ishiguro, “Mining sequential patterns including time intervals,” in Data Mining and Knowledge Discovery: Theory, Tools, and Technology II, 2000, vol. 4057, pp. 213–220.
[61] Y.-L. Chen, M.-C. Chiang, and M.-T. Ko, “Discovering time-interval sequential patterns in sequence databases,” Expert Syst. Appl., vol. 25, no. 3, pp. 343–354, 2003.
[62] F. Giannotti, M. Nanni, D. Pedreschi, and F. Pinelli, “Mining sequences the 2006 ACM temporal annotations,”
with in Proceedings of symposium on Applied computing, 2006, pp. 593–597.
[63] Y.-L. Chen and T.-K. Huang, “Discovering fuzzy time-interval sequential patterns in sequence databases,” IEEE Trans. Syst. Man, Cybern. Part B, vol. 35, no. 5, pp. 959–972, 2005.
[64] I. Mukhlash, D. Yuanda, and M. Iqbal, “Mining Fuzzy Time Interval Periodic Patterns in Smart Home Data,” Int. J. Electr. Comput. Eng.,
138
vol. 8, no. 5, p. 3374, 2018.
[65] C.-I. Chang, H.-E. Chueh, and N. P. Lin, “Sequential patterns mining with fuzzy time-intervals,” in 2009 Sixth International Conference on Fuzzy Systems and Knowledge Discovery, 2009, vol. 3, pp. 165–169.
[66] C.-I. Chang, H.-E. Chueh, and Y.-C. Luo, “An integrated sequential patterns mining with fuzzy time-intervals,” in 2012 International Conference on Systems and Informatics (ICSAI2012), 2012, pp. 2294– 2298.
[67] T. H. Duong, D. Janos, V. D. Thi, N. T. Thang, and others, “An Algorithm for Mining High Utility Sequential Patterns with Time Interval,” Cybern. Inf. Technol., vol. 19, no. 4, pp. 3–16, 2019.
INTERVAL
[68] T. H. Duong, N. T. Thang, V. D. Thi, and others, “HIGH UTILITY ITEM PATTERN MINING SEQUENTIAL ALGORITHM,” J. Comput. Sci. Cybern., vol. 36, no. 1, pp. 1–15, 2020.
[69] P. Fournier-Viger, U. Faghihi, R. Nkambou, and E. M. Nguifo, “CMRULES: An Efficient Algorithm for Mining Sequential Rules Common to Several Sequences.,” 2010.
[70] P. Fournier-Viger, J. C.-W. Lin, R. U. Kiran, Y. S. Koh, and R. Thomas, “A survey of sequential pattern mining,” Data Sci. Pattern Recognit., vol. 1, no. 1, pp. 54–77, 2017.
[71] P. Fournier-Viger, R. Nkambou, and V. S.-M. Tseng, “RuleGrowth: mining sequential rules common to several sequences by pattern- growth,” in Proceedings of the 2011 ACM symposium on applied computing, 2011, pp. 956–961.
[72] P. Fournier-Viger, T. Gueniche, S. Zida, and V. S. Tseng, “ERMiner: sequential rule mining using equivalence classes,” in International Symposium on Intelligent Data Analysis, 2014, pp. 108–119.
[73] Ö. F. Çelebi, E. Zeydan, \.Ismail Ar\i, Ö. Ileri, and S. Ergüt, “Alarm sequence rule mining extended with a time confidence parameter,” 2014.
[74] S. Kotsiantis and D. Kanellopoulos, “Association rules mining: A recent overview,” GESTS Int. Trans. Comput. Sci. Eng., vol. 32, no. 1, pp. 71– 82, 2006.
[75] X. Wu et al., “Top 10 algorithms in data mining,” Knowl. Inf. Syst., vol.
14, no. 1, pp. 1–37, 2008.
[76] H. S. Song, J. kyeong Kim, and S. H. Kim, “Mining the change of customer behavior in an internet shopping mall,” Expert Syst. Appl., vol. 21, no. 3, pp. 157–168, 2001.
[77] J. R. D. Arcos and A. A. Hernandez, “Analyzing Online Transaction Data using Association Rule Mining: Misumi Philippines Market
139
Basket Analysis,” in Proceedings of the 2019 7th International Conference on Information Technology: IoT and Smart City, 2019, pp. 45–49.
[78] M. V. Adheli and M. V. Bag, “Intra and Inter Sector Stock Price Forecasting using Association Rule Mining (IISARM),” Int. J. Eng. Res. Technol., vol. 3, no. 8, pp. 324–329, 2014.
[79] V. Rajput and S. Bobde, “Stock market forecasting techniques: literature survey,” Int J Comput Sci Mob Comput, vol. 5, no. 6, pp. 500– 506, 2016.
[80] X. Zhong and D. Enke, “Forecasting daily stock market return using dimensionality reduction,” Expert Syst. Appl., vol. 67, pp. 126–139, 2017.
[81] D. Gamberger, N. Lavrac, and V. Jovanoski, “High confidence
association rules for medical diagnosis,” 1999.
[82] X. Li, Y. Wang, and D. Li, “Medical data stream distribution pattern association rule mining algorithm based on density estimation,” IEEE Access, vol. 7, pp. 141319–141329, 2019.
[83] Y.-L. Chen and T. C.-K. Huang, “A new approach for discovering fuzzy quantitative sequential patterns in sequence databases,” Fuzzy Sets Syst., vol. 157, no. 12, pp. 1641–1661, 2006.
[84] L. A. Zadeh, “Fuzzy sets,” Inf. Control, vol. 8, no. 3, pp. 338–353,
1965.
[85] M. M. Gupta and R. K. Ragade, Fuzzy Set Theory and Its Applications:
a Survey. Springer Science & Business Media, 1977.
[86] A. Fu, M. H. Wong, S. C. Sze, W. C. Wong, W. L. Wong, and W. K. Yu, “Finding fuzzy sets for the mining of fuzzy association rules for numerical attributes,” in Proceedings of the First International Symposium on Intelligent Data Engineering and Learning (IDEAL’98), 1998, pp. 263–268.
[87] A. Gyenesei, “A fuzzy approach for mining quantitative association
rules,” Acta Cybern., vol. 15, no. 2, pp. 305–320, 2001.
[88] J. C.-W. Lin, T. Li, P. Fournier-Viger, and T.-P. Hong, “A fast algorithm for mining fuzzy frequent itemsets,” J. Intell. Fuzzy Syst., vol. 29, no. 6, pp. 2373–2379, 2015.
[89] T. Đ. Phương and Đ. V. Thành, “Phát hiện luật kết hợp liên kết các giao dịch từ cơ sở dữ liệu định lượng thời gian,” in Hội thảo quốc gia lần thứ 16: Một số vấn đề chọn lọc của công nghệ thông tin và truyền thông, 2013, pp. 250–258.
[90] S. Lu and C. Li, “AprioriAdjust: An efficient algorithm for discovering
the maximum sequential patterns,” 2004.
140
[91] Z. Yang and M. Kitsuregawa, “LAPIN-SPAM: An improved algorithm for mining sequential pattern,” in 21st International Conference on Data Engineering Workshops (ICDEW’05), 2005, p. 1222.
[92] C. Gao, J. Wang, Y. He, and L. Zhou, “Efficient mining of frequent international in Proceedings of the 17th
sequence generators,” conference on World Wide Web, 2008, pp. 1051–1052.
[93] S. Yi, T. Zhao, Y. Zhang, S. Ma, and Z. Che, “An effective algorithm for mining sequential generators,” Procedia Eng., vol. 15, pp. 3653– 3657, 2011.
[94] P. Fournier-Viger, A. Gomariz, M. Šebek, and M. Hlosta, “VGEN: fast vertical mining of sequential generator patterns,” in International Conference on Data Warehousing and Knowledge Discovery, 2014, pp. 476–488.
[95] J. Wang, J. Han, and C. Li, “Frequent closed sequence mining without candidate maintenance,” IEEE Trans. Knowl. Data Eng., vol. 19, no. 8, pp. 1042–1056, 2007.
[96] A. Gomariz, M. Campos, R. Marin, and B. Goethals, “Clasp: An efficient algorithm for mining frequent closed sequences,” in Pacific- Asia Conference on Knowledge Discovery and Data Mining, 2013, pp. 50–61.
[97] P. Fournier-Viger, C.-W. Wu, A. Gomariz, and V. S. Tseng, “VMSP: Efficient vertical mining of maximal sequential patterns,” in Canadian conference on artificial intelligence, 2014, pp. 83–94.
[98] C. C. Aggarwal and J. Han, Frequent Pattern Mining. Springer, 2014.
[99] Y. J. M. Pokou, P. Fournier-Viger, and C. Moghrabi, “Authorship Attribution Using Small Sets of Frequent Part-of-Speech Skip-grams.,” in FLAIRS Conference, 2016, pp. 86–91.
lowering comfort of inhabitants,”
[100] D. Schweizer, M. Zehnder, H. Wache, H.-F. Witschel, D. Zanatta, and M. Rodriguez, “Using consumer behavior data to reduce energy consumption in smart homes: Applying machine learning to save energy without in 2015 IEEE 14th International Conference on Machine Learning and Applications (ICMLA), 2015, pp. 1123–1129.
[101] P. Fournier-Viger, T. Gueniche, and V. S. Tseng, “Using partially- ordered sequential rules to generate more accurate sequence prediction,” in International Conference on Advanced Data Mining and Applications, 2012, pp. 431–442.
[102] G. Yang, J. Huang, and X. Li, “Mining sequential patterns of PM2. 5 pollution in three zones in China,” J. Clean. Prod., vol. 170, pp. 388– 398, 2018.
141
[103] C. Ou-Yang, S.-C. Chou, Y.-C. Juan, and H.-C. Wang, “Mining Sequential Patterns of Diseases Contracted and Medications Prescribed before the Development of Stevens-Johnson Syndrome in Taiwan,” Appl. Sci., vol. 9, no. 12, p. 2434, 2019.
[104] T. Hong, C.-S. Kuo, and S.-C. Chi, “Mining fuzzy sequential patterns from quantitative data,” in IEEE SMC’99 Conference Proceedings. 1999 IEEE International Conference on Systems, Man, and Cybernetics (Cat. No. 99CH37028), 1999, vol. 3, pp. 962–966.
[105] H. Cao, Y. Zhang, L. Jia, and G. Si, “A Fuzzy Sequential Pattern Mining Algorithm Based on Independent Pruning Strategy for Parameters Optimization of Ball Mill Pulverizing System,” Inf. Technol. Control, vol. 43, no. 3, pp. 303–314, 2014.
[106] R.-S. Chen, G.-H. Tzeng, C. C. Chen, and Y.-C. Hu, “Discovery of fuzzy sequential patterns for fuzzy partitions in quantitative attributes,” in Proceedings ACS/IEEE International Conference on Computer Systems and Applications, 2001, pp. 144–150.
[107] T. Guyet, “Enhancing sequential pattern mining with time and
reasoning,” Université de Rennes 1, 2020.
[108] P. Fournier-Viger, U. Faghihi, R. Nkambou, and E. M. Nguifo, “CMRules: Mining sequential rules common to several sequences,” Knowledge-Based Syst., vol. 25, no. 1, pp. 63–76, 2012.
[109] R. B. Parihar, R. V Argiddi, and S. S. Apte, “Combined Intra-Inter transaction based approach for mining Association among the Sectors in Indian Stock Market,” Int. J. Comput. Sci. Inf. Technol., vol. 3, no. 3, pp. 3895–3899, 2012.
[110] Y.-L. Hsieh, D.-L. Yang, J. Wu, and Y.-C. Chen, “Efficient Mining of Profit Rules from Closed Inter-Transaction Itemsets.,” J. Inf. Sci. Eng., vol. 32, no. 3, pp. 575–595, 2016.
[111] L. Wang, J. Meng, P. Xu, and K. Peng, “Mining temporal association rules with frequent itemsets tree,” Appl. Soft Comput., vol. 62, pp. 817– 829, 2018.
[112] Tan, P.N., Steinbach, M., and Kumar, Association Analysis: Basic Concepts and Algorithms. In Introduction to Data Mining. Addison- Wesley Longman Publishing Co., Inc. Boston, MA, 2005.
[113] UCI, “UCI-Machine Learning Repository.”
https://archive.ics.uci.edu/ml/datasets.php.
[114] BSC, “Công ty Cổ phần Chứng khoán Ngân hàng Đầu tư và Phát triển
Việt Nam.” http://www.bsc.com.vn (accessed Mar. 20, 2006).
[115] P. Fournier-Viger et al., “The SPMF open-source data mining library version 2,” in Lecture Notes in Computer Science (including subseries
142
in Artificial Intelligence and Lecture Notes
in Lecture Notes Bioinformatics), 2016, vol. 9853 LNCS, pp. 36–40, doi: 10.1007/978-3- 319-46131-1_8.