1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khai phá luật kết hợp từ dữ liệu chuỗi thời gian

74 484 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 74
Dung lượng 1,51 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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...xi Với sự bùng nổ và phát triển của công nghệ thô

Trang 1

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn “Khai phá dữ liệu 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 2

MỤC LỤC

MỤC LỤC ii

DANH MỤC HÌNH VẼ v

DANH MỤC CÁC BẢNG ix

MỞ ĐẦU xi

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 xi

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 xi

CHƯƠNG 1: KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU xiii

VÀ CHUỖI THỜI GIAN xiii

1.1 Khai phá dữ liệu xiii

1.1.1 Khai phá dữ liệu là gì? xiii

1.1.2 Nhiệm vụ của khai phá dữ liệu xiii

1.1.3 Triển khai việc khai phá dữ liệu xv

1.1.4 Một số ứng dụng khai phá dữ liệu xvi

Trang 3

1.1.5 Quá trình phát hiện tri thức trong cơ sở dữ liệu xvii

1.1.6 Các kỹ thuật khai phá dữ liệu xix

1.2 Dữ liệu chuỗi thời gian xxiv

1.2.1 Khái niệm xxiv

1.2.2 Tiền xử lý dữ liệu chuỗi thời gian xxvii

Hình 1.5 Trung bình trượt hàm mũ xxix

CHƯƠNG 2: KHAI PHÁ LUẬT KẾT HỢP TỪ DỮ LIỆU CHUỖI THỜI GIAN xxx

2.1 Luật kết hợp trong khai phá dữ liệu xxx

2.1.1 Khái niệm luật kết hợp xxx

2.1.2 Lý thuyết về luật kết hợp xxxi

2.2 Khai phá luật kết hợp 37

2.2.1 Khai phá luật kết hợp từ cơ sở dữ liệu 37

2.2.2 Khai phá luật kết hợp từ dữ liệu chuỗi thời gian 38

2.3 Thuật toán khai phá luật kết hợp từ dữ liệu chuỗi thời gian 40

2.3.1 Thuật toán khai phá luật kết hợp từ dữ liệu thường 40

2.3.2 Thuật toán khai phá luật kết hợp từ dữ liệu chuỗi thời gian 50

CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM 63

3.1 Phát biểu bài toán 63

3.2 Xây dựng chương trình 64

KẾT LUẬN 73

TÀI LIỆU THAM KHẢO 74

Tiếng Việt 74

Tiếng Anh 74

Trang 4

iv

Trang 5

DANH MỤC HÌNH VẼ

MỤC LỤC ii

DANH MỤC HÌNH VẼ v

DANH MỤC CÁC BẢNG ix

MỞ ĐẦU xi

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 xi

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 xi

CHƯƠNG 1: KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU xiii

VÀ CHUỖI THỜI GIAN xiii

1.1 Khai phá dữ liệu xiii

1.1.1 Khai phá dữ liệu là gì? xiii

1.1.2 Nhiệm vụ của khai phá dữ liệu xiii

1.1.3 Triển khai việc khai phá dữ liệu xv

1.1.4 Một số ứng dụng khai phá dữ liệu xvi

Trang 6

1.1.5 Quá trình phát hiện tri thức trong cơ sở dữ liệu xvii

Hình 1.1 Quá trình phát hiện tri thức trong cơ sở dữ liệu xviii

1.1.6 Các kỹ thuật khai phá dữ liệu xix

1.1.6.1 Phân cụm dữ liệu: xx

1.1.6.2 Phân lớp dữ liệu: xx

1.1.6.3 Phương pháp hồi quy: xxi

1.1.6.4 Khai phá luật kết hợp: xxi

1.1.7 Những khó khăn trong khai phá dữ liệu xxii

1.2 Dữ liệu chuỗi thời gian xxiv

1.2.1 Khái niệm xxiv

1.2.1.1 Khái niệm chuỗi thời gian xxiv

1.2.1.2 Các thành phần của chuỗi thời gian xxv

Hình 1.2 Đồ thị thể hiện thành phần xu hướng dài hạn xxv

Hình 1.3 Đồ thị thể hiện thành phần mùa xxvi

Hình 1.4 Đồ thị thể hiện thành phần chu kỳ xxvi

1.2.2 Tiền xử lý dữ liệu chuỗi thời gian xxvii

Hình 1.5 Trung bình trượt hàm mũ xxix

CHƯƠNG 2: KHAI PHÁ LUẬT KẾT HỢP TỪ DỮ LIỆU CHUỖI THỜI GIAN xxx

2.1 Luật kết hợp trong khai phá dữ liệu xxx

2.1.1 Khái niệm luật kết hợp xxx

2.1.2 Lý thuyết về luật kết hợp xxxi

2.1.2.1 Khái niệm xxxi

2.1.2.2 Một số hướng tiếp cận trong khai phá luật kết hợp xxxiv

2.2 Khai phá luật kết hợp 37

Trang 7

2.2.1 Khai phá luật kết hợp từ cơ sở dữ liệu 37

2.2.2 Khai phá luật kết hợp từ dữ liệu chuỗi thời gian 38

2.3 Thuật toán khai phá luật kết hợp từ dữ liệu chuỗi thời gian 40

2.3.1 Thuật toán khai phá luật kết hợp từ dữ liệu thường 40

2.3.1.1 Thuật toán Apriori 40

Bảng 2.1 Ma trận biểu diễn cơ sở dữ liệu 45

Bảng 2.2 Vector biểu diễn nhị phân cho tập 1 thuộc tính 45

Bảng 2.3 Vector biểu diễn nhị phân cho các tập 2 thuộc tính 45

Bảng 2.4 Vector biểu diễn nhị phân cho các tập 3 thuộc tính 46

Bảng 2.5 Vector biểu diễn nhị phân cho các tập 4 thuộc tính 46

2.3.1.2 Thuật toán FP-Growth 46

Hình 2.1 Một cây mẫu thường xuyên 49

Bảng 2.7 Khoản mục và số lần xuất hiện trong cơ sở dữ liệu 49

2.3.2 Thuật toán khai phá luật kết hợp từ dữ liệu chuỗi thời gian 50

2.3.2.1.Thuật toán xây dựng cây CFP_Tree 50

Hình 2.2 FP-Tree và CFP-Tree 52

Hình 2.3: Các khoản mục được ánh xạ 54

Hình 2.4: Ví dụ cây CFP-Tree 54

2.3.2.2 Thuật toán CFPmine 56

2.3.2.3.Thuật toán ITARM 59

CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM 63

3.1 Phát biểu bài toán 63

3.2 Xây dựng chương trình 64

Hình 3.1 Bảng cơ sở dữ liệu 65

Trang 8

Hình 3.2 Giao diện chính của chương trình 66

Hình 3.3 Thực hiện chọn CSDL 66

Hình 3.4 Thực hiện xóa CSDL 67

Hình 3.5 Tìm tập phổ biến dựa trên thuật toán CFPmine 68

Hình 3.6 Thực hiện lệnh Reset 69

Hình 3.7 Chọn dữ liệu cho thuật toán tìm luật kết hợp 70

Hình 3.8 Thực hiện xóa cơ sở dữ liệu 70

Hình 3.9 Thực hiện luật kết hợp 71

Hình 3.10 Thực hiện lệnh Reset 72

KẾT LUẬN 73

TÀI LIỆU THAM KHẢO 74

Tiếng Việt 74

Tiếng Anh 74

Trang 9

DANH MỤC CÁC BẢNG

MỤC LỤC ii

DANH MỤC HÌNH VẼ v

DANH MỤC CÁC BẢNG ix

MỞ ĐẦU xi

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 xi

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 xi

CHƯƠNG 1: KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU xiii

VÀ CHUỖI THỜI GIAN xiii

1.1 Khai phá dữ liệu xiii

1.1.1 Khai phá dữ liệu là gì? xiii

1.1.2 Nhiệm vụ của khai phá dữ liệu xiii

1.1.3 Triển khai việc khai phá dữ liệu xv

1.1.4 Một số ứng dụng khai phá dữ liệu xvi

Trang 10

1.1.5 Quá trình phát hiện tri thức trong cơ sở dữ liệu xvii

1.1.6 Các kỹ thuật khai phá dữ liệu xix

1.2 Dữ liệu chuỗi thời gian xxiv

1.2.1 Khái niệm xxiv

1.2.2 Tiền xử lý dữ liệu chuỗi thời gian xxvii

Hình 1.5 Trung bình trượt hàm mũ xxix

CHƯƠNG 2: KHAI PHÁ LUẬT KẾT HỢP TỪ DỮ LIỆU CHUỖI THỜI GIAN xxx

2.1 Luật kết hợp trong khai phá dữ liệu xxx

2.1.1 Khái niệm luật kết hợp xxx

2.1.2 Lý thuyết về luật kết hợp xxxi

2.2 Khai phá luật kết hợp 37

2.2.1 Khai phá luật kết hợp từ cơ sở dữ liệu 37

2.2.2 Khai phá luật kết hợp từ dữ liệu chuỗi thời gian 38

2.3 Thuật toán khai phá luật kết hợp từ dữ liệu chuỗi thời gian 40

2.3.1 Thuật toán khai phá luật kết hợp từ dữ liệu thường 40

2.3.2 Thuật toán khai phá luật kết hợp từ dữ liệu chuỗi thời gian 50

CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM 63

3.1 Phát biểu bài toán 63

3.2 Xây dựng chương trình 64

KẾT LUẬN 73

TÀI LIỆU THAM KHẢO 74

Tiếng Việt 74

Tiếng Anh 74

Trang 11

MỞ ĐẦ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 12

Chươ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 13

CHƯƠ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 14

Đ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 15

- 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)

Trang 16

Bước 4: Phân tích kết quả thu được (Xem có gì thú vị không?)Bướ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

Trang 17

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à mộ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

- 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,…

Trang 18

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á trì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

Trang 19

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, cá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

Trang 20

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 tượ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

Trang 21

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

là ứ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:

Trang 22

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ữ

Trang 23

- 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

Trang 24

- 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 25

Mộ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

Hình 1.2 Đồ thị thể hiện thành phần xu hướng dài hạn

Trang 26

Ví dụ: Lượng dòng chảy đến hồ chứa Trị An từ năm 1959 đến 1985

Trang 27

d. 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 28

hiệ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 29

Khi á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 30

CHƯƠ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 31

Giả 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

X∩Y= ∅ 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 32

support(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 X→Y 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(X→Y)=P(X ∪ Y)Conf (X→Y) = P(Y/X)=supp(X ∪ Y)/supp(X)

Có thể định nghĩa độ tin cậy như sau:

Trang 33

“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

Trang 34

(Frequent Itemset) nếu có supp(X) ≥ minsup, với minsup là ngưỡng độ hỗ trợ 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 A

Tính chất 1.2: Giả sử A, B là hai tập hợp, A,B⊆ I, nếu B là tập hợp thường xuyên và A⊆ B thì A cũng là tập hợp thường xuyên

Thật vậy, nếu B là tập hợp thường xuyên thì supp(B) ≥ minsup, mọi tập hợp A là con của tập hợp B đều là tập hợp thường xuyên trong cơ sở dữ liệu D vì supp(A) ≥ supp(B) (Tính chất 1.1)

Tính chất 1.3: Giả sử A, B là hai tập hợp, A⊆B 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 35

Luậ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 36

mề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 37

Bê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

Supp(AB) (2.4)

Ngày đăng: 09/12/2016, 15:22

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Ngô Quốc Tạo(2011), Bài giảng môn Data Mining, Lớp CK09D- ĐH Thái Nguyên Sách, tạp chí
Tiêu đề: Bài giảng môn Data Mining
Tác giả: Ngô Quốc Tạo
Năm: 2011
2. Hoàng Kiếm, Đỗ Phúc(2005), Giáo trình khai phá dữ liệu, Đại học Quốc gia thành phố Hồ Chí Minh.Tiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình khai phá dữ liệu", Đại học Quốc gia thành phố Hồ Chí Minh
Tác giả: Hoàng Kiếm, Đỗ Phúc
Năm: 2005
3. Graham Williams, Simeon Simoff(2006), Data Mining: Theory, Methodology, Techniques, and Applications, Springer Sách, tạp chí
Tiêu đề: Data Mining: Theory, Methodology, Techniques, and Applications
Tác giả: Graham Williams, Simeon Simoff
Năm: 2006
4. Jiawei Han, Micheline Kamber(2001), Data Mining: Concepts and Techniques, Hacours Science and Technology Company Sách, tạp chí
Tiêu đề: Data Mining: Concepts and Techniques
Tác giả: Jiawei Han, Micheline Kamber
Năm: 2001
5. David Hand, Heikki Mannila, Padhraic Smyth(2001), Principles of Data Mining, MIT Press Sách, tạp chí
Tiêu đề: Principles of Data Mining
Tác giả: David Hand, Heikki Mannila, Padhraic Smyth
Năm: 2001
6. A.K. Jain, R.C. Dubes(1988), Algorithms for clustering data, Prentice Hall Sách, tạp chí
Tiêu đề: Algorithms for clustering data
Tác giả: A.K. Jain, R.C. Dubes
Năm: 1988
7. Y.G.Sucahyo and R.P.Gopalan(2004),“CT-PRO:A Bottom–Up Non Recursive Frequent Itemset Mining Algorithm Using Compressed FP-Tree Data Structure”, Proceedings of the IEEE ICDM Workshop on Frequent Itemset Mining Implementations Sách, tạp chí
Tiêu đề: CT-PRO:A Bottom–Up Non Recursive Frequent Itemset Mining Algorithm Using Compressed FP-Tree Data Structure”
Tác giả: Y.G.Sucahyo and R.P.Gopalan
Năm: 2004
9. L.Qin, Z. Shi(2006), “Efficiently Mining Association Rules from Time Series”, International Journal of Information Technology, pp.30-37 Sách, tạp chí
Tiêu đề: Efficiently Mining Association Rules from Time Series”, "International Journal of Information Technology
Tác giả: L.Qin, Z. Shi
Năm: 2006
10.Y.G.Sucahyo and R.P.Gopalan(2003),“CT-ITL: Efficient Frequent Item Set Mining Using a Compressed Prefix Tree with Pattern Growth”, Proceedings of 14 th Australasian Database Conference, pp.95-104 Sách, tạp chí
Tiêu đề: CT-ITL: Efficient Frequent Item Set Mining Using a Compressed Prefix Tree with Pattern Growth”, "Proceedings of 14"th" Australasian Database Conference
Tác giả: Y.G.Sucahyo and R.P.Gopalan
Năm: 2003

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Quá trình phát hiện tri thức trong cơ sở dữ liệu - Khai phá luật kết hợp từ dữ liệu chuỗi thời gian
Hình 1.1. Quá trình phát hiện tri thức trong cơ sở dữ liệu (Trang 18)
Hình 1.5. Trung bình trượt hàm mũ - Khai phá luật kết hợp từ dữ liệu chuỗi thời gian
Hình 1.5. Trung bình trượt hàm mũ (Trang 29)
Bảng 2.1. Ma trận biểu diễn cơ sở dữ liệu - Khai phá luật kết hợp từ dữ liệu chuỗi thời gian
Bảng 2.1. Ma trận biểu diễn cơ sở dữ liệu (Trang 45)
Hình 2.1. Một cây mẫu thường xuyên Duyệt qua cơ sở dữ liệu để tìm tập mục thường xuyên và sắp xếp  giảm dần theo độ hỗ trợ, ta có bảng sau: - Khai phá luật kết hợp từ dữ liệu chuỗi thời gian
Hình 2.1. Một cây mẫu thường xuyên Duyệt qua cơ sở dữ liệu để tìm tập mục thường xuyên và sắp xếp giảm dần theo độ hỗ trợ, ta có bảng sau: (Trang 49)
Hình 2.2. FP-Tree và CFP-Tree Trong hình 2.2 là  FP-Tree và CFP-Tree cho một mẫu cơ sở dữ liệu - Khai phá luật kết hợp từ dữ liệu chuỗi thời gian
Hình 2.2. FP-Tree và CFP-Tree Trong hình 2.2 là FP-Tree và CFP-Tree cho một mẫu cơ sở dữ liệu (Trang 52)
Hình 3.1. Bảng cơ sở dữ liệu Chương trình gồm hai phần chính như sau: - Khai phá luật kết hợp từ dữ liệu chuỗi thời gian
Hình 3.1. Bảng cơ sở dữ liệu Chương trình gồm hai phần chính như sau: (Trang 65)
Hình 3.3. Thực hiện chọn CSDL - Khai phá luật kết hợp từ dữ liệu chuỗi thời gian
Hình 3.3. Thực hiện chọn CSDL (Trang 66)
Hình 3.2. Giao diện chính của chương trình Trong Tab “Tập phổ biến” khi ta chọn vào nút “Chọn CSDL” thì CSDL - Khai phá luật kết hợp từ dữ liệu chuỗi thời gian
Hình 3.2. Giao diện chính của chương trình Trong Tab “Tập phổ biến” khi ta chọn vào nút “Chọn CSDL” thì CSDL (Trang 66)
Hình 3.4. Thực hiện xóa CSDL Sau khi ta đã chọn CSDL thì ta có thể tiến hành tìm các tập phổ biến  của cơ sở dữ liệu đưa vào - Khai phá luật kết hợp từ dữ liệu chuỗi thời gian
Hình 3.4. Thực hiện xóa CSDL Sau khi ta đã chọn CSDL thì ta có thể tiến hành tìm các tập phổ biến của cơ sở dữ liệu đưa vào (Trang 67)
Hình 3.5. Tìm tập phổ biến dựa trên thuật toán CFPmine - Khai phá luật kết hợp từ dữ liệu chuỗi thời gian
Hình 3.5. Tìm tập phổ biến dựa trên thuật toán CFPmine (Trang 68)
Hình 3.8. Thực hiện xóa cơ sở dữ liệu - Khai phá luật kết hợp từ dữ liệu chuỗi thời gian
Hình 3.8. Thực hiện xóa cơ sở dữ liệu (Trang 70)
Hình 3.9. Thực hiện luật kết hợp - Khai phá luật kết hợp từ dữ liệu chuỗi thời gian
Hình 3.9. Thực hiện luật kết hợp (Trang 71)
Hình 3.10. Thực hiện lệnh Reset - Khai phá luật kết hợp từ dữ liệu chuỗi thời gian
Hình 3.10. Thực hiện lệnh Reset (Trang 72)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w