Một số phương pháp được ứng dụng để phát hiện đối tượng ngoài cuộc: Sử dụng các hình thức kiểm tra mang tính thống kê trên cơ sở một phân phối dữ liệu hay một mô hình xác suất cho dữ liệ
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG
TRẦN THỊ THU TRANG
KHAI PHÁ LUẬT KẾT HỢP
TỪ DỮ LIỆU CHUỖI THỜI GIAN
LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH
Thái Nguyên - 2012
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Khai phá luật kết hợp từ dữ liệu chuỗi thời gian” là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn của PGS.TS Bùi Thế Hồng Toàn bộ phần mềm do chính tôi lập trình và kiểm thử Tôi xin chịu trách nhiệm về lời cam đoan của mình
Các số liệu và thông tin sử dụng trong luận văn này hoàn toàn là trung thực
Tác giả
Trần Thị Thu Trang
Trang 3MỤC LỤC
MỤC LỤC ii
DANH MỤC HÌNH VẼ iv
DANH MỤC CÁC BẢNG v
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT vi MỞ ĐẦU 1
CHƯƠNG 1: KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU VÀ CHUỖI THỜI GIAN 3
1.1 Khai phá dữ liệu 3
1.1.1 Khai phá dữ liệu là gì? 3
1.1.2 Nhiệm vụ của khai phá dữ liệu 3
1.1.3 Triển khai việc khai phá dữ liệu 5
1.1.4 Một số ứng dụng khai phá dữ liệu 6
1.1.5 Quá trình phát hiện tri thức trong cơ sở dữ liệu 7
1.1.6 Các kỹ thuật khai phá dữ liệu 99 1.2 Dữ liệu chuỗi thời gian 14
1.2.1 Khái niệm 14
1.2.2 Tiền xử lý dữ liệu chuỗi thời gian 17
CHƯƠNG 2: KHAI PHÁ LUẬT KẾT HỢP TỪ DỮ LIỆU CHUỖI THỜI GIAN 20
2.1 Luật kết hợp trong khai phá dữ liệu 20
2.1.1 Khái niệm luật kết hợp 20
2.1.2 Lý thuyết về luật kết hợp 21
2.2 Khai phá luật kết hợp 27
Trang 42.2.1 Khai phá luật kết hợp từ cơ sở dữ liệu 27
2.2.2 Khai phá luật kết hợp từ dữ liệu chuỗi thời gian 28
2.3 Thuật toán khai phá luật kết hợp từ dữ liệu chuỗi thời gian 30
2.3.1 Thuật toán khai phá luật kết hợp từ dữ liệu thường 30
2.3.2 Thuật toán khai phá luật kết hợp từ dữ liệu chuỗi thời gian 40
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM 53
3.1 Phát biểu bài toán 53
3.2 Xây dựng chương trình 54
KẾT LUẬN 63
TÀI LIỆU THAM KHẢO 64
Trang 5DANH MỤC HÌNH VẼ
Hình 1.1 Quá trình phát hiện tri thức trong cơ sở dữ liệu 8
Hình 1.2 Đồ thị thể hiện thành phần xu hướng dài hạn 15
Hình1.3 Đồ thị thể hiện thành phần mùa 16
Hình 1.4 Đồ thị thể hiện thành phần chu kỳ 16
Hình 1.5 Trung bình trượt hàm mũ 17
Hình 2.1 Một cây mẫu thường xuyên 39
Hình 2.2 FP-Tree và CFP-Tree 42
Hình 2.3: Các khoản mục được ánh xạ 44
Hình 2.4: Ví dụ cây CFP-Tree 45
Hình 3.1 Bảng cơ sở dữ liệu 55
Hình 3.2 Giao diện chính của chương trình 56
Hình 3.3 Thực hiện chọn CSDL 56
Hình 3.4 Thực hiện xóa CSDL 57
Hình 3.5 Tìm tập phổ biến dựa trên thuật toán CFPmine 58
Hình 3.6 Thực hiện lệnh Reset 59
Hình 3.7 Chọn dữ liệu cho thuật toán tìm luật kết hợp 60
Hình 3.8 Thực hiện xóa cơ sở dữ liệu 60
Hình 3.9 Thực hiện luật kết hợp 61
Hình 3.10 Thực hiện lệnh Reset 62
Trang 6DANH MỤC CÁC BẢNG
Bảng 2.1 Ma trận biểu diễn cơ sở dữ liệu 3535
Bảng 2.2 Vector biểu diễn nhị phân cho tập 1 thuộc tính 35
Bảng 2.3 Vector biểu diễn nhị phân cho các tập 2 thuộc tính 36
Bảng 2.4 Vector biểu diễn nhị phân cho các tập 3 thuộc tính 36
Bảng 2.5 Vector biểu diễn nhị phân cho các tập 4 thuộc tính 36
Bảng 2.6 Các giao tác cơ sở dữ liệu ………38
Bảng 2.7 Khoản mục và số lần xuất hiện trong cơ sở dữ liệu 40
Trang 7DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
Các từ viết tắt Nghĩa tiếng anh Nghĩa tiếng việt
FCI Frequent Closed Itemset Tập mục thường xuyên
đóng
Itemset
Tập mục thường xuyên lớn nhất
FP-Tree Frequent Pattern Tree Cây mẫu thường xuyên
CFP-Tree Compressed Frequent
Pattern Tree
Cây mẫu thường xuyên nén
ITARM Inter-Transaction
Association Rules Mining
Khai phá luật kết hợp liên giao dịch
Trang 8MỞ ĐẦU
Ngày nay, cuộc cách mạng của kỹ thuật số cho phép số hóa thông tin dễ dàng và chi phí lưu trữ thấp.Với sự phát triển của phần mềm, phần cứng và trang bị nhanh hệ thống máy tính trong kinh doanh Số lượng dữ liệu khổng lồ được tập trung và lưu trữ trong cơ sở dữ liệu Dữ liệu sau khi phục vụ cho một mục đích nào đó được lưu lại trong kho dữ liệu và theo ngày tháng khối lượng
dữ liệu được lưu trữ ngày càng lớn Trong khối lượng dữ liệu to lớn này có rất nhiều thông tin có ích mang tính tổng quát, thông tin có tính quy luật vẫn còn đang tiềm ẩn mà chúng ta chưa biết Từ khối lượng dữ liệu rất lớn cần có những công cụ tự động rút các thông tin và kiến thức có ích Một hướng tiếp cận có khả năng giúp các công ty khai thác các thông tin có nhiều ý nghĩa từ các tập dữ liệu lớn đó là khai phá dữ liệu
Với sự bùng nổ và phát triển của công nghệ thông tin đã mang lại nhiều hiệu quả đối với khoa học cũng như các hoạt động thực tế, trong đó khai phá
dữ liệu là một trong những lĩnh vực mang lại hiệu quả thiết thực cho con người Khai phá dữ liệu đã giúp người sử dụng thu được những tri thức hữu ích từ những cơ sở dữ liệu hoặc các kho dữ liệu khổng lồ khác Luận văn đề cập đến các khái niệm và vấn đề cơ bản trong khai phá luật kết hợp từ dữ liệu chuỗi thời gian được áp dụng trong cơ sở dữ liệu bán hàng
Luận văn cấu trúc gồm 3 chương:
Trang 9Chương 3:
Trong chương 3 tiến hành cài đặt thuật toán ở chương 2 và cài đặt ứng dụng của thuật toán trên cơ sở dữ liệu bán hàng
Luận văn này được hoàn thành dưới sự hướng dẫn tận tình của PGS.TS
Bùi Thế Hồng, em xin bày tỏ lòng biết ơn chân thành của mình đối với thầy
Em xin chân thành cảm ơn các thầy, cô giáo Viện Công nghệ thông tin, Trường Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên
đã tham gia giảng dạy, giúp đỡ em trong suốt qúa trình học tập nâng cao trình
độ kiến thức Tuy nhiên vì điều kiện thời gian và khả năng có hạn nên luận văn không thể tránh khỏi những thiếu sót Em kính mong các thầy cô giáo và
các bạn đóng góp ý kiến để đề tài được hoàn thiện hơn
Trang 10CHƯƠNG 1: KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU
VÀ CHUỖI THỜI GIAN 1.1 Khai phá dữ liệu
1.1.1 Khai phá dữ liệu là gì?
Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối của thập
kỷ 80 Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các tập dữ liệu lớn(các kho dữ liệu) Về bản chất, khai phá dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật
để tìm ra các mẫu hình có tính chính quy trong tập dữ liệu
Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm
Phát hiện tri thức trong cơ sở dữ liệu để chỉ toàn bộ quá trình phát hiện các tri
thức có ích từ các tập dữ liệu lớn Trong đó, khai phá dữ liệu là một bước đặc
biệt trong toàn bộ quá trình, sử dụng các giải thuật đặc biệt để chiết xuất ra các mẫu (hay các mô hình) từ dữ liệu
Ở một mức độ trừu tượng nhất định có thể định nghĩa về khai phá dữ
liệu: Khai phá dữ liệu là một quá trình tìm kiếm, phát hiện các tri thức mới,
tiềm ẩn, hữu dụng trong cơ sở dữ liệu lớn
Khám phá tri thức là mục tiêu chính của khai phá dữ liệu, do vậy hai
khái niệm đó được xem như hai lĩnh vực tương đương nhau Nhưng, nếu phân chia một cách tách bạch thì khai phá dữ liệu là một bước chính trong quá trình khám phá tri thức
1.1.2 Nhiệm vụ của khai phá dữ liệu
Các bài toán liên quan đến khai phá dữ liệu về bản chất là các bài toán thống kê Điểm khác biệt giữa các kỹ thuật khai phá dữ liệu và các công cụ phục vụ tính toán thống kê mà chúng ta đã biết là ở khối lượng cần tính toán Một khi dữ liệu đã trở nên khổng lồ thì những khâu như: thu thập
dữ liệu, tiền xử lý và xử lý dữ liệu đều đòi hỏi phải được tự động hóa Tuy
Trang 11nhiên ở công đoạn cuối cùng, việc phân tích kết quả sau khi đã khai phá dữ liệu vẫn luôn là công việc của con người
Do là một lĩnh vực đa ngành, khai phá dữ liệu thu hút các lĩnh vực khoa học khác như trí tuệ nhân tạo, cơ sở dữ liệu, marketing, toán học, vận trù học, nhận dạng mẫu, tính toán thống kê …
Điều mà khai phá dữ liệu có thể làm rất tốt là phát hiện ra những giả thuyết mạnh trước khi sử dụng những công cụ tính toán thống kê Mô hình
dự báo sử dụng kỹ thuật phân cụm để chia nhóm các sự vật, sự kiện sau đó rút ra các luật nhằm tìm ra đặc trưng cho mỗi nhóm và cuối cùng đề nghị một mô hình Ví dụ, những bạn đọc đăng ký dài hạn của một tạp chí có thể phân nhóm dựa theo nhiều tiêu chí khác nhau (lứa tuổi, giới tính, thu nhập…), sau đó tạp chí căn cứ vào đặc trưng riêng của từng nhóm để đề ra mức phí thu trong năm sao cho phù hợp nhất
Chúng ta thấy những nhiệm vụ cơ bản nhất của khai phá dữ liệu là:
- Phân cụm, phân loại, phân nhóm, phân lớp Nhiệm vụ là trả lời câu hỏi: Một dữ liệu mới thu thập sẽ thuộc về nhóm nào? Quá trình này thường được thực hiện một cách tự động
- Khai phá luật kết hợp Nhiệm vụ là phát hiện ra những mối quan hệ giống nhau của các bản ghi giao dịch Luật kết hợp X=>Y có dạng tổng quát là: Nếu một giao dịch đã sở hữu các tính chất X thì đồng thời nó cũng sở hữu các tính chất Y Ở một mức độ nào đó, khai phá luật kết hợp được hiểu theo nghĩa: Biết trước các tính chất X, vậy các tính chất Y là những tính chất nào?
- Lập mô hình dự báo, bao gồm hai nhiệm vụ: Hoặc là phân nhóm dữ liệu vào một hay nhiều lớp dữ liệu đã xác định từ trước, hoặc là
sử dụng các trường đã cho trong một cơ sở dữ liệu để dự báo sự xuất hiện (hoặc không xuất hiện) của các trường hợp khác
Trang 12- Phân tích đối tượng ngoài cuộc: Một cơ sở dữ liệu có thể có thể chứa các đối tượng không tuân theo mô hình dữ liệu Các đối tượng dữ liệu như vậy gọi là các đối tượng ngoài cuộc Hầu hết các phương pháp khai phá dữ liệu đều coi các đối tượng ngoài cuộc là nhiễu và loại bỏ chúng Tuy nhiên trong một số ứng dụng, chẳng hạn như phát hiện nhiễu thì sự kiện hiếm khi xảy ra lại được chú ý hơn những gì thường xuyên gặp phải Sự phân tích
dữ liệu ngoài cuộc được coi như là phai phá các đối tượng ngoài cuộc Một
số phương pháp được ứng dụng để phát hiện đối tượng ngoài cuộc: Sử dụng các hình thức kiểm tra mang tính thống kê trên cơ sở một phân phối dữ liệu hay một mô hình xác suất cho dữ liệu, dùng các độ đo khoảng cách mà theo
đó các đối tượng có một khoảng cách đáng kể đến cụm bất kỳ khác được coi
là đối tượng ngoài cuộc, dùng các phương pháp dựa trên độ lệch để kiểm tra
sự khác nhau trong những đặc trưng chính của các nhóm đối tượng
- Phân tích sự tiến hóa: Phân tích sự tiến hóa thực hiện việc mô tả
và mô hình hóa các quy luật hay khuynh hướng của những đối tượng mà ứng xử của chúng thay đổi theo thời gian Phân tích sự tiến hóa có thể bao gồm cả đặc trưng hóa, phân biệt, tìm luật kết hợp, phân lớp hay phân cụm
dữ liệu liên quan đến thời gian, phân tích dữ liệu theo chuỗi thời gian, so sánh mẫu theo chu kỳ và phân tích dữ liệu dựa trên tính tương tự
1.1.3 Triển khai việc khai phá dữ liệu
Một nhóm các tác giả đề nghị triển khai quá trình khai phá dữ liệu theo 5 bước:
Bước 1: Xác định rõ mục tiêu thương mại cần khai phá
Bước 2: Chuẩn bị dữ liệu (Thu thập, tiền xử lý, chuyển đổi khuôn dạng dữ liệu nếu thấy cần thiết)
Bước 3: Khai phá dữ liệu (Chọn thuật toán thích hợp)Bước 4: Phân tích kết quả thu được (Xem có gì thú vị không?)
Trang 13Bước 5: Tiêu hóa các tri thức thu lượm được (Nhằm đề ra kế hoạch khai thác các thông tin mới)
Một tác giả khác cũng nói tới quy trình 5 bước của khai phá dữ liệu, với quan điểm gần giống như trên:
1 Chiết xuất, biến đổi và nạp dữ liệu vào hệ thống kho dữ liệu
2 Lưu trữ và quản trị dữ liệu trong một cơ sở dữ liệu nhiều chiều
3 Xác định mục tiêu cần khai phá (Sử dụng các công cụ phân tích về mặt tác nghiệp)
4 Sử dụng các phần mềm phân tích dữ liệu để khai phá dữ liệu
5 Thể hiện kết quả khai phá dưới khuôn dạng hữu ích hay bảng biểu, đồ thị
1.1.4 Một số ứng dụng khai phá dữ liệu
Ở thập kỷ 90 của thế kỷ XX, người ta coi khai phá dữ liệu là quá trình phân tích cơ sở dữ liệu nhằm phát hiện ra các thông tin mới và giá trị, thường thể hiện dưới dạng các mối quan hệ chưa biết đến giữa các biến số Những phát hiện này được sử dụng nhằm tăng thêm tính hiệu quả của doanh nghiệp trong khi phải cạnh tranh trên thương trường Nhờ phân tích các dữ liệu liên quan đến khách hàng, doanh nghiệp có khả năng dự báo trước một
số hành vi ứng xử của khách hàng
Những năm gần đây, người ta quan niệm khai phá dữ liệu (đôi khi còn dùng thuật ngữ khám phá dữ liệu hay phát hiện tri thức) là một quá trình phân tích dữ liệu từ các viễn cảnh khác nhau và rút ra các thông tin bổ ích – những thông tin có thể dùng để tăng lợi nhuận, cắt giảm chi phí hoặc cả hai mục đích Phần mềm khai phá dữ liệu là một công cụ phân tích dùng để phân tích
dữ liệu Nó cho phép người sử dụng phân tích dữ liệu theo nhiều góc nhìn khác nhau, phân loại dữ liệu theo những quan điểm riêng biệt và tổng kết các mối quan hệ đã được bóc tách Xét về khía cạnh kỹ thuật, khai phá dữ liệu là
Trang 14một quá trình tìm kiếm các mối tương quan giữa các mẫu ẩn chứa trong hàng chục trường dữ liệu của một cơ sở dữ liệu quan hệ cỡ lớn
Hiện nay, kỹ thuật khai phá dữ liệu đang được áp dụng một cách rộng rãi trong rất nhiều lĩnh vực kinh doanh và đời sống khác nhau như:
- Thương mại: Phân tích dữ liệu bán hàng và thị trường, phân tích đầu tư, quyết định cho vay, phát hiện gian lận, …
- Thông tin sản xuất: Điều khiển và lập kế hoạch, hệ thống quản
lý, phân tích kết quả thử nghiệm, …
- Thông tin khoa học: dự báo thời tiết, cơ sở dữ liệu sinh học: ngân hàng gen, khoa học địa lý: dự báo động đất, …
- Trong y tế, marketing, ngân hàng, viễn thông, du lịch, Internet…
Và những gì thu được thật đáng giá Điều đó được chứng minh bằng thực tế: Chẩn đoán bệnh trong y tế dựa trên kết quả xét nghiệm đã giúp cho bảo hiểm y tế phát hiện ra nhiều trường hợp xét nghiệm không hợp lý, tiết kiệm được nhiều kinh phí mỗi năm; trong dịch vụ viễn thông đã phát hiện ra những nhóm người thường xuyên gọi cho nhau bằng mobile và thu lợi hàng triệu USD; hay áp dụng khai phá dữ liệu vào phân tích các lần đăng nhập Web vào các trang liên quan đến thị trường để phát hiện sở thích khách hàng, từ đó đánh giá hiệu quả của việc tiếp thị qua Web và cải thiện hoạt động của các Website
1.1.5 Quá trình phát hiện tri thức trong cơ sở dữ liệu
Khám phá tri thức trong cơ sở dữ liệu là lĩnh vực liên quan đến các ngành như: thống kê, học máy, cơ sở dữ liệu , thuật toán, trực quan hoá dữ liệu, tính toán song song và hiệu năng cao,…
Mục đích của quá trình phát hiện tri thức là rút ra tri thức từ dữ liệu trong cơ sở dữ liệu lớn Quá trình phát hiện tri thức trong cơ sở dữ liệu là quá
Trang 15trình gồm nhiều giai đoạn và lặp lại, mà trong đó sự lặp lại có thể xuất hiện ở bất cứ bước nào
Quá trình đó có thể được mô tả theo hình sau:
Hình 1.1 Quá trình phát hiện tri thức trong cơ sở dữ liệu
Bước thứ nhất: Hình thành, xác định và định nghĩa bài toán Là
tìm hiểu lĩnh vực ứng dụng từ đó hình thành bài toán, xác định các nhiệm vụ cần phải hoàn thành Bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho phép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của dữ liệu
Bước thứ hai: Thu thập và tiền xử lý dữ liệu Là thu thập và xử lý
thô, còn được gọi là tiền xử lý dữ liệu nhằm loại bỏ nhiễu (làm sạch dữ liệu),
xử lý việc thiếu dữ liệu (làm giàu dữ liệu), biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết, bước này thường chiếm nhiều thời gian nhất trong toàn bộ qui trình phát hiện tri thức Do dữ liệu được lấy từ nhiều nguồn khác nhau, không đồng nhất, … có thể gây ra các nhầm lẫn Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và rời rạc hoá
Bước thứ ba: Khai phá dữ liệu rút ra các tri thức, hay nói cách
khác là trích ra các mẫu hoặc/và các mô hình ẩn dưới các dữ liệu Giai đoạn này rất quan trọng, bao gồm các công đoạn như: chức năng, nhiệm vụ và mục đích của khai phá dữ liệu, dùng phương pháp khai phá nào? Thông thường,
Trang 16các bài toán khai phá dữ liệu bao gồm: các bài toán mang tính mô tả - đưa ra tính chất chung nhất của dữ liệu, các bài toán dự báo - bao gồm cả việc phát hiện các suy diễn dựa trên dữ liệu hiện có Tùy theo bài toán xác định được
mà ta lựa chọn các phương pháp khai phá dữ liệu cho phù hợp
Bước thứ tư: Sử dụng các tri thức phát hiện được Là hiểu tri
thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán Các bước trên
có thể lặp đi lặp lại một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện Các kết quả của quá trình phát hiện tri thức có thể được đưa và ứng dụng trong các lĩnh vực khác nhau Do các kết quả có thể là các dự đoán hoặc các mô tả nên chúng có thể được đưa vào các hệ thống hỗ trợ ra quyết định nhằm tự động hoá quá trình này
Tóm lại: Khai phá tri thức là một quá trình kết xuất ra tri thức từ kho dữ liệu mà trong đó khai phá dữ liệu là công đoạn quan trọng nhất
1.1.6 Các kỹ thuật khai phá dữ liệu
Thường được chia thành hai nhóm chính:
- Kỹ thuật khai phá dữ liệu mô tả: Có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong cơ sở dữ liệu hiện có Các kỹ thuật này gồm có: Phân cụm (clustering), tóm tắt (summerization), trực quan hóa (visualiztation), phân tích sự phát triển và độ lệch (evolution and deviation analyst), phân tích luật kết hợp (association rules) …
- Kỹ thuật khai phá dữ liệu dự đoán: Có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời Các kỹ thuật này gồm có: Phân lớp (classification), hồi quy (regession)…
Tuy nhiên, chỉ có một số phương pháp thông dụng nhất là: Phân cụm
dữ liệu, phân lớp dữ liệu, phương pháp hồi quy và khai phá luật kết hợp
1.1.6.1 Phân cụm dữ liệu:
Mục tiêu chính của phương pháp phân cụm dữ liệu là nhóm các đối
Trang 17tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một lớp là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng Phân cụm dữ liệu là một ví dụ của phương pháp học không có thầy Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế có thể coi phân cụm dữ liệu là một cách học bằng quan sát, trong khi phân lớp
dữ liệu là học bằng ví dụ Trong phương pháp này bạn không thể biết kết quả các cụm thu được sẽ thế nào khi bắt đầu quá trình Vì vậy, thông thường cần có một chuyên gia về lĩnh vực đó để đánh giá các cụm thu được Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang Web… Ngoài ra phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lý cho các thuật toán khai phá dữ liệu khác
1.1.6.2 Phân lớp dữ liệu:
Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu Quá trình phân lớp dữ liệu thường gồm hai bước: Xây dựng mô hình và sử dụng mô hình để phân lớp dữ liệu
- Bước 1: Một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ liệu sẵn có Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính gọi là thuộc tính lớp Các lớp dữ liệu này còn được gọi là lớp dữ liệu huấn luyện Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình
- Bước 2: Sử dụng mô hình để phân lớp dữ liệu Trước hết, chúng ta phải tính độ chính xác của mô hình Nếu độ chính xác là chấp nhận được,
mô hình sẽ được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai
Ví dụ về việc sử dụng phương pháp phân lớp trong khai phá dữ liệu
Trang 18là ứng dụng phân lớp các xu hướng trong thị trường tài chính và ứng dụng
tự động xác định các đối tượng đáng quan tâm trong cơ sở dữ liệu ảnh lớn
1.1.6.3 Phương pháp hồi quy:
Phương pháp hồi quy khác với phân lớp dữ liệu ở chỗ: Hồi quy dùng
để dự đoán về các giá trị liên tục còn phân lớp dữ liệu chỉ dùng để dự đoán
về các giá trị rời rạc
Hồi quy là một hàm học ánh xạ mục dữ liệu thành một biến dự đoán
có giá trị thực Có rất nhiều ứng dụng khai phá dữ liệu với nhiệm vụ hồi quy, chẳng hạn như khả năng đánh giá tử vong của bệnh nhân khi biết các kết quả xét nghiệm; chẩn đoán, dự đoán nhu cầu tiêu thụ một sản phẩm mới bằng một hàm chi tiêu quảng cáo
1.1.6.4 Khai phá luật kết hợp:
Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên
hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu Mẫu đầu ra của giải thuật khai phá dữ liệu là luật kết hợp tìm được Chẳng hạn, phân tích cơ sở dữ liệu bán hàng nhận được thông tin về những khách hàng mua máy tính có khuynh hướng mua phần mềm quản lý tài chính trong cùng lần mua được miêu tả trong luật kết hợp sau: “Máy tính=>Phần mềm quản lý tài chính” (Độ hỗ trợ: 2%, độ tin cậy: 60%)
Độ hỗ trợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật Chúng phản ánh sự hữu ích và sự tin cậy của luật đã khám phá Độ hỗ trợ 2% có nghĩa là 2% của tất cả các vụ đang phân tích chỉ ra rằng máy tính
và phần mềm quản lý tài chính là đã được mua cùng nhau Còn độ tin cậy 60% có nghĩa là: 60% các khách hàng mua máy tính cũng mua phần mềm Khai phá luật kết hợp được thực hiện qua hai bước:
Bước 1: Tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xác định qua tính hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu
Trang 19Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải thỏa mãn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu
Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như maketing có chủ đích, phân tích quyết định, quản lý kinh doanh, phân tích giá thị trường …
1.1.7 Những khó khăn trong khai phá dữ liệu
Việc nghiên cứu và ứng dụng kỹ thuật khai phá dữ liệu gặp nhiều khó khăn, nhưng không phải là không giải quyết được mà chúng cần được tìm hiểu để có thể phát triển tốt hơn Những khó khăn phát sinh trong khai phá dữ liệu chính là dữ liệu trong thực tế thường động, không đầy đủ, lớn và bị nhiễu Trong trường hợp khác, người ta không biết cơ sở dữ liệu có chứa thông tin cần thiết cho việc khai thác hay không và làm thế nào để giải quyết sự dư thừa thông tin không thích hợp này
- Dữ liệu lớn: Hiện nay các cơ sở dữ liệu với hàng trăm trường và bảng, hàng triệu bản ghi với kích thước rất lớn, có thể lên đến GB Các phương pháp giải quyết hiện nay là đưa ra một ngưỡng cho cơ sở dữ liệu, lấy mẫu, các phương pháp tính xấp xỉ, xử lí song song
- Kích thước lớn: không chỉ có số lượng bản ghi mà số các trường trong cơ sở dữ liệu cũng nhiều Vì vậy mà kích thước của bài toán trở nên lớn làm tăng không gian tìm kiếm Hơn nữa, nó cũng làm tăng khả năng một thuật toán khai phá dữ liệu có thể tìm thấy các mẫu giả Biện pháp khắc phục
là làm giảm kích thước tác động của bài toán và sử dụng các tri thức biết trước để xác định các biến không phù hợp
- Dữ liệu động: Đặc điểm cơ bản của hầu hết các cơ sở dữ liệu là nội dung của chúng thay đổi liên tục Chẳng hạn như các biến trong cơ sở dữ liệu của ứng dụng đã cho chũng có thể bị thay đổi, bị xóa hoặc là tăng lên theo thời gian Dữ liệu có thể thay đổi theo thời gian và việc khai phá dữ liệu
Trang 20bị ảnh hưởng bởi thời điểm quan sát dữ liệu, do đó có thể làm cho mẫu khai thác được trước đó mất giá trị Vấn đề này được giải quyết bằng giải pháp tăng trưởng để nâng cấp các mẫu và coi những thay đổi như là cơ hội để khai thác bằng cách sử dụng nó để tìm kiếm các mẫu bị thay đổi
- Các trường dữ liệu không phù hợp: Một đặc điểm quan trọng khác là tính không thích hợp của dữ liệu – nghĩa là mục dữ liệu trở thành không thích hợp với trọng tâm hiện tại của việc khai thác Bên cạnh đó, tính ứng dụng của một thuộc tính đối với một tập con của cơ sở dữ liệu cũng
là một vấn đề đôi khi cũng liên quan đến độ phù hợp
- Các giá trị bị thiếu: Sự có mặt hay vắng mặt của giá trị các thuộc tính dữ liệu phù hợp có thể ảnh hưởng đến việc khai phá dữ liệu Trong hệ thống tương tác, sự thiếu vắng dữ liệu quan trọng có thể dẫn tới yêu cầu cho giá trị của nó hoặc kiểm tra để xác định giá trị của nó Hoặc cũng có thể sự vắng mặt của dữ liệu được coi như một điều kiện, thuộc tính bị mất có thể được xem như một giá trị trung gian và giá trị không biết
- Các trường dữ liệu bị thiếu: Một quan sát không đầy đủ cơ sở dữ liệu có thể làm cho dữ liệu có giá trị bị xem như có lỗi Việc quan sát cơ sở
dữ liệu phải phát hiện được toàn bộ các thuộc tính có thể dùng để thuật toán khai phá dữ liệu có thể áp dụng để giải quyết bài toán Giả sử ta có các thuộc tính để phân biệt các tình huống đáng quan tâm Nếu chúng không làm được điều đó thì có nghĩa là đã có lỗi trong dữ liệu Đây cũng là vấn đề thường xảy ra trong cơ sở dữ liệu kinh doanh Các thuộc tính quan trọng có thể sẽ bị thiếu dữ liệu không được chuẩn bị
- Quá phù hợp: Khi một thuật toán tìm kiếm tham số tốt nhất cho một mô thình nào đó sử dụng một tập dữ liệu hữu hạn, nó có thể sẽ bị tình trạng “quá độ” dữ liệu (nghĩa là tìm kiếm quá mức cần thiết gây ra hiện tượng chỉ phù hợp với dữ liệu đó mà không có khả năng đáp ứng cho các dữ
Trang 21liệu lạ), làm cho mô hình hoạt động rất kém đối với các dữ liệu thử Các giải pháp khắc phục như đánh giá chéo, thực hiện theo nguyên tắc nào đó hoặc sử dụng các biện pháp thống kê khác
- Khả năng biểu đạt mẫu: Trong rất nhiều ứng dụng, điều quan trọng là những điều khai thác được phải càng dễ hiểu với con người càng tốt
Vì vậy, các giải pháp thường bao gồm việc diễn tả dưới dạng đồ họa, xây dựng cấu trúc luật với các đồ thị có hướng, biểu diễn bằng ngôn ngữ tự nhiên
và kỹ thuật khác nhằm biểu diễn các tri thức và dữ liệu
- Sự tương tác với người sử dụng các tri thức sẵn có: Rất nhiều công cụ và phương pháp khai phá dữ liệu không thực sự tương tác với người dùng và không dễ dàng kết hợp cùng với các tri thức đã biết trước đó Việc
sử sụng tri thức miền là rất quan trọng trong khai phá dữ liệu Đã có nhiều biện pháp nhằm khắc phục vấn đề này như sử dụng cơ sở dữ liệu suy diễn
để phát hiện tri thức, những tri thức này sau đó được sử dụng để hướng dẫn cho việc tìm kiếm khai phá dữ liệu hoặc sử dụng sự phân bố xác suất dữ liệu trước đó như một dạng mã hóa tri thức có sẵn
1.2 Dữ liệu chuỗi thời gian
1.2.1 Khái niệm
1.2.1.1 Khái niệm chuỗi thời gian
Một chuỗi thời gian là một bộ sưu tập quan sát các hạng mục dữ liệu được xác định thông qua các phép đo lặp đi lặp lại theo thời gian
Ví dụ, việc đo lường giá trị của doanh số bán lẻ mỗi tháng trong năm
sẽ bao gồm một chuỗi thời gian Điều này là do doanh thu bán hàng được xác định rõ và thống nhất đo tại khoảng cách đều nhau Số liệu thu thập đột xuất hoặc chỉ một lần không phải là chuỗi thời gian
Trang 22Một chuỗi thời gian quan sát có thể được phân tách ra thành các thành phần: các xu hướng (hướng dài hạn), theo mùa, các chu kỳ và các bất thường (không có tính hệ thống, biến động ngắn hạn)
1.2.1.2 Các thành phần của chuỗi thời gian
a Thành phần xu hướng dài hạn
Thành phần này dùng để chỉ xu hướng tăng giảm của đại lượng X trong khoảng thời gian dài Về mặt đồ thị thành phần này có thể diễn tả bằng một đường thẳng hay bằng một đường cong tròn
Trang 23Hình 1.3 Đồ thị thể hiện thành phần mùa
c Thành phần chu kỳ
Thành phần này chỉ sự thay đổi của đại lƣợng X theo chu kỳ Sự khác biệt của thành phần này so với thành phần mùa là chu kỳ của nó dài hơn một năm Để đánh giá thành phần chu kỳ các giá trị của chuỗi tuần tự theo thời gian sẽ đƣợc quan sát hàng năm
Ví dụ: Lƣợng dòng chảy đến hồ chứa Trị An từ năm 1959 đến 1985
Trang 24d Thành phần bất thường
Thành phần này dùng để chỉ những sự thay đổi bất thường của các giá trị trong chuỗi thời gian Sự thay đổi này không thể dự đoán bằng các số liệu kinh nghiệm trong quá khứ, về mặt bản chất này không có tính chu kỳ
1.2.2 Tiền xử lý dữ liệu chuỗi thời gian
Dữ liệu thô ban đầu của cơ sở dữ liệu chuỗi thời gian thường có nhiều nhiễu và không đầy đủ Vì vậy, trước khi thực hiện các giải thuật khai phá dữ liệu, người ta phải thực hiện quá trình tiền xử lý dữ liệu, hay còn gọi là quá trình làm sạch dữ liệu mà thực chất là thực hiện việc lọc dữ liệu Công đoạn này nhằm mục đích nhận được những thông tin chính xác, đầy đủ và đáng tin cậy hơn với càng ít nhiễu càng tốt[8]
Giả sử, dữ liệu thô araw(n) bao gồm tín hiệu của xu hướng dài hạn (thông tin có ích) a(n) và nhiễu e(n), tức là:
araw(n) = a(n) + e(n) (1.1) Thủ thuật làm sạch thực chất là tìm ra xấp xỉ gần đúng â(n) của a(n)
Để làm được điều đó chúng ta phải phân biệt được a(n) và e(n) Tín hiệu nhiễu thường có tính chất ngẫu nhiên, chịu tác động của rất nhiều yếu tố từ các nguồn khác nhau Ngược lại, tín hiệu dài hạn thì ổn định và ít chịu tác động của rất ít các yếu tố Nếu áp dụng khai triển Fourier (biểu diễn tín hiệu thành một dãy các sóng hình sin), chúng ta sẽ nhận thấy rằng, tín hiệu dài hạn a(n) được xây dựng chủ yếu từ các sóng có tần số thấp (thay đổi chậm theo thời gian) Trong khi đó, tín hiệu nhiễu lại được xây dựng từ sóng có tần số cao (thay đổi nhanh theo thời gian) Do vậy, thông thường để làm sạch dữ liệu người ta thường sử dụng thủ thuật lọc tần số thấp( Low Pass Filter - LPF) Có rất nhiều phương pháp LPF trong lĩnh vực thời gian và tần số như phương pháp trung bình trượt đơn giản, trung bình trượt có trọng số… Đại đa số các nhà phân tích dữ liệu hiện nay lựa chọn phương pháp làm trơn với hàm mũ
Trang 25hiệu chỉnh mà thực chất là việc tìm trung bình trượt hàm mũ EMA (Exponential Moving Average) với công thức hồi quy như sau:
Y(t) = α × X(t) + (1-α) × Y(t - t) (1.2) Trong đó:
α [ 0;1] là hằng số làm trơn (hay trọng số)
Y(t) là giá trị EMA cần tìm tại thời điểm t Y(t - t) là giá trị EMA tại thời điểm (t - t) X(t) là dữ liệu thô tại thời điểm t
Để chọn hệ số α cho quá trình lọc dữ liệu, người ta dựa vào đặc điểm của mối liên hệ của đối tượng quan sát giữa các khoảng thời gian liền kề nhau Do các đối tượng biến đổi theo thời gian thường có tính chất là: sự biến đổi của các chu kỳ tiếp theo, các nhà phân tích dữ liệu thường sử dụng các giá trị của dãy số Fibonacci để thiết lập hệ số α
Trong bài toán chúng ta sẽ chọn:
α = 1 / T, T {8,13,55} (1.3)
Ở đây, sở dĩ ta chọn tập hợp ba giá trị là bởi vì khi phân tích xu hướng biến đổi của các đối tượng biến đổi theo thời gian chúng ta cần phải kết hợp thành phần tĩnh (giá trị α nhỏ - T =55), và thành phần động (giá trị α lớn hơn – T=(8,13))
Ta có công thức lọc dữ liệu cụ thể như sau:
Close(t) là giá Close tại thời điểm t, EMA(t) là giá trị trung bình trượt
hàm mũ tại thời điểm t, EMA(t - t) là giá trị trung bình trượt hàm mũ tại thời
điểm (t - t)
Ở đây Close(t) chính là hàm thuộc tính, còn EMA(t) – là xấp xỉ của nó
trên khoảng thời gian t
1 EMA(t) =
T Close(t) +
(T-1)
T EMA(t - t) (1.4)
Trang 26Khi áp dụng phương pháp này vào thị trường FOREX, ta nhận được kết quả như hình sau:
Hình 1.5 Trung bình trượt hàm mũ
Hình thể hiện đường trung bình trượt hàm mũ của giá Close ứng với
cặp chỉ số tiền tệ EUR – USD trên khoảng thời gian 15 phút Khi phân tích các dạng đồ thị này người ta có thể nhận biết được các điểm “vàng” cho sự chuyển đổi xu hướng của các đối tượng quan sát Chẳng hạn, khi các đường trung bình trượt hàm mũ cắt và chuyển xuống phía dưới đường giá trị của đối tượng quan sát, đồng thời đường trung bình trượt hàm mũ ứng với T =55 nằm dưới các đường trung bình trượt còn lại thì đó chính là dấu hiệu cua một sự biến đổi đi lên của đối tượng quan sát… Tuy nhiên, để xác định rõ hơn các xu hướng biến đổi chúng ta phải tiếp tục quá trình phân tích dữ liệu thông qua các giải thuật khai phá
Đường EMA với T = 55
Đường EMA với T = 13
Đường EMA với T = 8
Trang 27CHƯƠNG 2: KHAI PHÁ LUẬT KẾT HỢP TỪ DỮ LIỆU CHUỖI
THỜI GIAN 2.1 Luật kết hợp trong khai phá dữ liệu
2.1.1 Khái niệm luật kết hợp
Được giới thiệu từ năm 1993, bài toán khai thác luật kết hợp nhận được rất nhiều sự quan tâm của nhiều nhà khoa học Ngày nay việc khai thác các luật như thế vẫn là một trong những phương pháp khai thác mẫu phổ biến nhất trong việc khám phá tri thức và khai thác dữ liệu Mục đích chính của khai phá dữ liệu là các tri thức được kết xuất ra sẽ được sử dụng trong dự báo thông tin trợ giúp trong sản xuất kinh doanh và nghiên cứu khoa học
Trong hoạt động sản xuất kinh doanh, ví dụ kinh doanh các mặt hàng tại siêu thị, các nhà quản lý rất thích có được các thông tin mang tính thống kê như: “90% phụ nữ có xe máy màu đỏ và đeo đồng hồ Thuỵ Sỹ thì dùng nước hoa hiệu Chanel” hoặc “70% khách hàng là công nhân khi mua ti
vi thường mua loại ti vi 21 inches” Những thông tin như vậy rất hữu ích trong việc định hướng kinh doanh Vậy vấn đề đặt ra là liệu có tìm được các luật như vậy bằng các công cụ khai phá dữ liệu hay không? Câu trả lời là hoàn toàn có thể Đó chính là nhiệm vụ khai phá luật kết hợp
Giả sử chúng ta có một cơ sở dữ liệu D Luật kết hợp cho biết phạm
vi mà trong đó sự xuất hiện của tập các mục S nào đó trong các bản ghi của D
sẽ kéo theo sự xuất hiện của một tập những mục U cũng trong những bản ghi
đó Mỗi luật kết hợp được đặc trưng bởi một cặp tỉ lệ Mỗi tỉ lệ hỗ trợ được biểu diễn bằng tỉ lệ % những bản ghi trong D chứa cả S và U
Vấn đề khám phá luật kết hợp được phát biểu như sau: Cho trước tỉ
lệ hỗ trợ và độ tin cậy Đánh số tất cả các luật trong D có các giá trị tỉ lệ
hỗ trợ và tin cậy lớn hơn và tương ứng
Trang 28Giả thiết D là cơ sở dữ liệu giao dịch và với = 40%, = 90% Vấn
đề phát hiện luật kết hợp được thực hiện như sau:
Liệt kê, đếm tất cả những qui luật chỉ ra sự xuất hiện một số các mục sẽ kéo theo một số mục khác
Chỉ xét những qui luật mà tỉ lệ hỗ trợ lớn hơn 40% và độ tin cậy lớn hơn 90%
Hãy tưởng tượng, một công ty bán hàng qua mạng Internet Các khách hàng được yêu cầu điền vào các mẫu bán hàng để công ty có được một
cơ sở dữ liệu về các yêu cầu của khách hàng Giả sử công ty quan tâm đến mối quan hệ "tuổi, giới tính, nghề nghiệp và sản phẩm" Khi đó có thể có rất nhiều câu hỏi tương ứng với luật trên Ví dụ trong lứa tuổi nào thì những khách hàng nữ là công nhân đặt mua mặt hàng gì đó, ví dụ áo dài chẳng hạn
là nhiều nhất, thoả mãn một ngưỡng nào đó?
2.1.2 Lý thuyết về luật kết hợp
2.1.2.1 Khái niệm
Cho I={I1, I2, , Im} là tập hợp của m tính chất riêng biệt Giả sử D
là cơ sở dữ liệu, với các bản ghi chứa một tập con T các tính chất (có thể coi như T I), các bản ghi đều có chỉ số riêng Một luật kết hợp là một mệnh đề kéo theo có dạng X Y, trong đó X, Y I, thỏa mãn điều kiện
XY= Các tập hợp X và Y được gọi là các tập hợp tính chất (itemset) Tập X gọi là nguyên nhân, tập Y gọi là hệ quả
Có 2 độ đo quan trọng đối với luật kết hợp: Độ hỗ trợ (support) và
độ tin cậy (confidence), được định nghĩa như phần dưới đây
Định nghĩa độ hỗ trợ
Định nghĩa 1: Độ hỗ trợ của một tập hợp X trong cơ sở dữ liệu D
là tỷ số giữa các bản ghi T D có chứa tập X và tổng số bản ghi trong D (hay là phần trăm của các bản ghi trong D có chứa tập hợp X), ký hiệu là
Trang 29support(X ) hay supp(X)
Ta có: 0 ≤ supp(X) ≤ 1 với mọi tập hợp X
Định nghĩa 2: Độ hỗ trợ của một luật kết hợp X Y là tỷ lệ giữa
số lượng các bản ghi chứa tập hợp X Y, so với tổng số các bản ghi trong D
- Ký hiệu supp(X Y)
Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, có nghĩa là có 50% tổng số bản ghi chứa X Y Như vậy, độ hỗ trợ mang ý nghĩa thống kê của luật
Trong một số trường hợp, chúng ta chỉ quan tâm đến những luật có
độ hỗ trợ cao (Ví dụ như luật kết hợp xét trong cửa hàng tạp phẩm) Nhưng cũng có trường hợp, mặc dù độ hỗ trợ của luật thấp, ta vẫn cần quan tâm (ví
dụ luật kết hợp liên quan đến nguyên nhân gây ra sự đứt liên lạc ở các tổng đài điện thoại)
Định nghĩa độ tin cậy
Định nghĩa 1: Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa
số lượng các bản ghi trong D chứa X Y với số bản ghi trong D có chứa tập hợp X Ký hiệu độ tin cậy của một luật là conf(r) Ta có 0 ≤ conf(r) ≤ 1
Nhận xét: Độ hỗ trợ và độ tin cậy có xác suất sau:
Supp(XY)=P(X Y) Conf (XY) = P(Y/X)=supp(X Y)/supp(X)
Có thể định nghĩa độ tin cậy như sau:
Trang 30Định nghĩa 2: Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lượng các bản ghi chứa X Y so với tổng số các bản ghi chứa X
Nói rằng độ tin cậy của một luật là 90%, có nghĩa là có tới 90% số bản ghi chứa X chứa luôn cả Y Hay nói theo ngôn ngữ xác suất là: “ Xác suất có điều kiện để sảy ra sự kiện Y đạt 85%” Điều kiện ở đây chính là:
“Xảy ra sự kiện X”
Như vậy, độ tin cậy của luật thể hiện sự tương quan giữa X và Y Độ tin cậy đo sức nặng của luật, và người ta hầu như chỉ quan tâm đến những luật có độ tin cậy cao Một luật kết hợp đề cập đến những mặt hàng thường hay được khách hàng mua kèm với mặt hàng chính mà độ tin cậy thấp sẽ không có ích cho công tác quản lý
Việc khai thác các luật kết hợp từ cơ sở dữ liệu chính là việc tìm tất cảc các luật có độ hỗ trợ và độ tin cậy do người sử dụng xác định trước Các
ngưỡng của độ hỗ trợ và độ tin cậy được ký hiệu là minsup và mincof
Ví dụ: Khi phân tích giỏ hàng của người mua trong một siêu thị ta được luật kiểu như: 85% khách hàng mua sữa thì mua bánh mì, 30% thì mua
cả hai thứ Trong đó: “mua sữa” là tiền đề còn “mua bánh mì ” là kết luận của luật Con số 30% là độ hỗ trợ của luật còn 80% là độ tin cậy của luật
Chúng ta nhận thấy rằng tri thức đem lại bởi luật kết hợp dạng trên
có sự khác biệt rất nhiều so với những thông tin thu được từ các câu lệnh truy vấn dữ liệu thông thường như SQL Đó là những tri thức, những mối liên hệ chưa biết trước và mang tính dự báo đang tiềm ẩn trong dữ liệu Những tri thức này không đơn giản là kết quả của phép nhóm, tính tổng hay sắp xếp mà là của một quá trình tính toán khá phức tạp
Định nghĩa tập hợp
Định nghĩa 1 : Tập hợp X được gọi là tập hợp thường xuyên
(Frequent Itemset) nếu có supp(X) minsup, với minsup là ngưỡng độ hỗ
Trang 31trợ cho trước Kí hiệu các tập này là FI
Tính chất 1.1: Giả sử A,B I là hai tập hợp với A B thì supp(A)
supp(B) Như vậy, những bản ghi nào chứa tập hợp B thì cũng chứa tập hợp
Tính chất 1.3: Giả sử A, B là hai tập hợp, AB và A là tập hợp không thường xuyên thì B cũng là tập hợp không thường xuyên
Định nghĩa 2: Một tập mục X được gọi là đóng (closed) nếu không
có tập cha nào của X có cùng độ hỗ trợ với nó, tức là không tồn tại một tập mục X‟ nào mà X X‟ và t(X) = t(X‟) (với t(X) và t(X‟) tương ứng là tập các giao tác chứa tập mục X và X‟) Ký hiệu tập phổ biến đóng là FCI
Định nghĩa 3: Nếu X là phổ biến và không tập cha nào của X là
phổ biến, ta nói rằng X là một tập phổ biến lớn nhất (maximally frequent itemset) Ký hiệu tập tất cả các tập phổ biến lớm nhất là MFI Dễ thấy MFI
FCI FI
2.1.2.2 Một số hướng tiếp cận trong khai phá luật kết hợp
Lĩnh vực khai thác luật kết hợp cho đến nay đã được nghiên cứu và phát triển theo nhiều hướng khác nhau Có những đề xuất nhằm cải tiến tốc độ thuật toán, có những đề xuất nhằm tìm kiếm luật có ý nghĩa hơn… và có một
số hướng chính như sau:
Trang 32Luật kết hợp nhị phân là hướng nghiên cứu đầu tiên của luật kết
hợp Hầu hết các nghiên cứu ở thời kỳ đầu về luật kết hợp đều liên quan đến luật kết hợp nhị phân Trong dạng luật kết hợp này, các mục, thuộc tính, chỉ được quan tâm là có hay không xuất hiện trong giao tác của cơ sở dữ liệu chứ không quan tâm về “mức độ” xuất hiện Ví dụ: Trong hệ thống tính cước điện thoại thì việc gọi 10 cuộc điện thoại và một cuộc được xem là giống nhau Thuật toán tiêu biểu nhất khai phá dạng luật này là thuật toán Apriori và các biến thể của nó Đây là dạng luật đơn giản và các luật khác cũng có thể chuyển về dạng luật này nhờ một số phương pháp như rời rạc hoá, mờ hoá, … Một ví dụ về dạng luật này: “gọi liên tỉnh= „yes‟ AND gọi di động= „yes‟ => gọi quốc tế= „yes‟ AND gọi dịch vụ 108 = „yes‟, với độ hỗ trợ 20% và độ tin cậy 80%”
Luật kết hợp có thuộc tính số và thuộc tính hạng mục: Các thuộc
tính của các CSDL thực tế có kiểu rất đa dạng, như số nhị phân, giá trị định tính, định lượng Để phát hiện luật kết hợp với các thuộc tính này, các nhà nghiên cứu đã đề xuất một số phương pháp rời rạc hoá nhằm chuyển dạng luật này về dạng nhị phân để có thể áp dụng các thuật toán đã có Một ví dụ về dạng luật này “phương thức gọi = „Tự động‟ AND giờ gọi IN [„23:00:39 23:00:59‟] AND Thời gian đàm thoại IN [„200 300‟] => gọi liên tỉnh = „có‟ , với độ hỗ trợ là 23 53% , và độ tin cậy là 80%”
Luật kết hợp tiếp cận theo hướng tập thô: Tìm kiếm luật kết hợp
dựa trên lý thuyết tập thô
Luật kết hợp nhiều mức: Cách tiếp cận theo luật này sẽ tìm kiếm
thêm những luật có dạng “mua máy tính PC => mua hệ điều hành AND mua phần mềm tiện ích văn phòng, …” thay vì chỉ những luật quá cụ thể như “mua máy tính IBM PC => mua hệ điều hành Microsoft Windows AND mua phần
Trang 33mềm tiện ích văn phòng Microsoft Office, …” Như vậy dạng luật đầu là dạng luật tổng quát hoá của dạng luật sau và tổng quát theo nhiều mức khác nhau
Luật kết hợp mờ: Với những hạn chế còn gặp phải trong quá trình
rời rạc hoá các thuộc tính số, các nhà nghiên cứu đã đề xuất luật kết hợp mờ nhằm khắc phục các hạn chế trên và chuyển luật kết hợp về một dạng tự nhiên hơn, gần gũi hơn với người sử dụng một ví dụ của dạng này là: “thuê bao tư nhân = „yes‟ AND thời gian đàm thoại lớn AND cước nội tỉnh = „yes‟ => cước không hợp lệ = „yes‟, với độ hỗ trợ 4% và độ tin cậy 85%” Trong luật trên, điều kiện thời gian đàm thoại lớn ở vế trái của luật là một thuộc tính đã được mờ hoá
Luật kết hợp với thuộc tính được đánh trọng số: Trong thực tế,
các thuộc tính trong cơ sở dữ liệu không phải lúc nào cũng có vai trò như nhau Có một số thuộc tính được chú trọng hơn và có mức độ quan trọng cao hơn các thuộc tính khác Ví dụ khi khảo sát về doanh thu hàng tháng, thông tin về thời gian đàm thoại, vùng cước là quan trọng hơn nhiều so với thông tin
về phương thức gọi Trong quá trình tìm kiếm luật, chúng ta sẽ gán thời gian gọi, vùng cước các trọng số lớn hơn thuộc tính phương thức gọi Đây là hướng nghiên cứu rất thú vị và đã được một số nhà nghiên cứu đề xuất cách giải quyết bài toán này Với luật kết hợp có thuộc tính được đánh trọng số, chúng ta sẽ khai thác được những luật “hiếm” (tức là có độ hỗ trợ thấp, nhưng
có ý nghĩa đặc biệt hoặc mang rất nhiều ý nghĩa)
Luật kết hợp song song: Bên cạnh khai thác luật kết hợp tuần tự,
người ta cũng tập trung vào nghiên cứu các thuật giải song song cho quá trình phát hiện luật kết hợp Nhu cầu song song hoá và xử lý phân tán là cần thiết bởi kích thước dữ liệu ngày càng lớn hơn nên đòi hỏi tốc độ xử lý cũng như dung lượng bộ nhớ của hệ thống phải được đảm bảo Có rất nhiều thuật toán song song khác nhau đã đề xuất để có thể không phụ thuộc vào phần cứng
Trang 34Bên cạnh những nghiên cứu về các biến thể của luật kết hợp, các nhà nghiên cứu còn chú trọng đề xuất những thuật toán nhằm tăng tốc quá trình tìm kiếm tập phổ biến từ cơ sở dữ liệu
Ngoài ra, còn có một số hướng nghiên cứu khác về khai thác luật kết hợp như: khai thác luật kết hợp trực tuyến, khai thác luật kết hợp được kết nối trực tuyến đến các kho dữ liệu đa chiều thông qua công nghệ OLAP, MOLAP, ROLAP, ADO
2.2 Khai phá luật kết hợp
2.2.1 Khai phá luật kết hợp từ cơ sở dữ liệu
Khai phá luật kết hợp là công việc phát hiện ra các luật kết hợp thỏa mãn các ngưỡng độ hỗ trợ () và ngưỡng độ tin cậy (α) cho trước Bài toán khai phá luật kết hợp được chia thành hai bài toán nhỏ, hay như người ta thường nói, việc giải bài toán trải qua hai pha:
Pha 1: Tìm tất cả các tập phổ biến (tìm FI) trong cơ sở dữ liệu T Pha 2: Sử dụng tập FI tìm được ở pha 1 để sinh ra các luật tin cậy
Ý tưởng chung là nếu gọi ABCD và AB là các tập mục phổ biến, thì chúng ta có thể xác định luật AB CD với tỷ lệ độ tin cậy:
Nếu conf minconf thì luật được giữ lại (và thỏa mãn độ hỗ trợ tối thiểu vì ABCD là phổ biến)
Trong thực tế, hầu hết thời gian của quá trình khai thác luật kết hợp
là thực hiện ở pha 1 Nhưng khi có những mẫu rất dài (mẫu chứa nhiều mục) xuất hiện trong dữ liệu thì việc sinh ra toàn bộ các tập phổ biến hay các tập phổ biến đóng là không thực tế Hơn nữa, có nhiều ứng dụng mà chỉ cần sinh tập phổ biến lớn nhất là đủ, như khám phá mẫu tổ hợp trong các ứng dụng sinh học
conf = Supp(ABCD)
Supp(AB)
(2.4)
Trang 35Có rất nhiều nghiên cứu về các phương pháp sinh tất cả các tập phổ biến và tập phổ biến lớn nhất một cách có hiệu quả Khi các mẫu phổ biến dài có từ 15 đến 20 items thì tập FI, thậm chí cả tập FCI trở nên rất lớn và hầu hết các phương pháp truyền thống phải đếm quá nhiều tập mục mới có thể thực hiện được Các thuật toán dựa trên thuật toán Apriori – đếm tất cả 2k tập con của mỗi k- itemsets mà chúng quét qua, và do đó không thích hợp với các itemsets dài được
2.2.2 Khai phá luật kết hợp từ dữ liệu chuỗi thời gian
Một chuỗi thời gian là một bộ sưu tập quan sát các hạng mục dữ liệu được xác định thông qua các phép đo lặp đi lặp lại theo thời gian Dữ liệu chuỗi thời gian tồn tại trong nhiều ứng dụng thực tế, từ các lĩnh vực khoa học
kỹ thuật cho đến kinh tế, tài chính
Khai phá luật kết hợp là một vấn đề quan trọng trong việc nghiên cứu khai thác dữ liệu được giới thiệu vào năm 1993 Kể từ đó, nó đã được sử dụng rộng rãi trong kinh doanh, nghiên cứu khoa học và quản lý của doanh nghiệp… Nhiều nhà nghiên cứu đã nghiên cứu khai thác luật kết hợp Boolean
và định lượng, luật kết hợp đa cấp, luật kết hợp đa chiều và các mẫu tuần tự, nhưng các luật kết hợp truyền thống chủ yếu quan tâm về các quy tắc trong cùng một giao dịch hoặc cùng một trình tự, các quy tắc trong giao dịch liên kết
Trong phân tích chuỗi thời gian, các luật kết hợp trong giao dịch chỉ có thể tiết lộ các mối tương quan của nhiều chuỗi thời gian tại cùng một thời điểm Rất khó để dự báo xu hướng của chuỗi thời gian Ở đây, ta nghiên cứu vấn đề khai thác luật kết hợp liên giao dịch trong chuỗi thời gian mà xu hướng này có thể được dự đoán bởi sự khác biệt thời gian giữa các điều kiện tiên quyết và kết quả trong một quy tắc[10]