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, (1jm) 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 XT. Luật kết hợp là luật có dạng X  Y với

XI, YI và XY=. 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 XY, kí hiệu

(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, (1jm) 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

(1kn) trong giao dịch (1jm) 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 (1km).

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 (1km) 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 đó (1jp) 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

.

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 ltdLT 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=XY( );

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

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 (1kn), ( ≥0) là thời điểm tương

ứng với xảy ra, với 2kn 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 ltdLT 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 (1kn), là giá trị của tại thời điểm ( nhận

giá trị số hoặc phân loại),  với 2kn; ( , , ) đượ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 (ltLT, 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.