Với những lý do như vậy, các phương pháp quản trị và khaithác dữ liệu truyền thống ngày càng không đáp ứng được thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là kỹ thuật phá
Trang 1Đ i H c Qu c Gia TP.HCMại Học Quốc Gia TP.HCM ọc Quốc Gia TP.HCM ốc Gia TP.HCM
Trường Đại Học Công Nghệ Thông Tinng Đ i H c Công Ngh Thông Tinại Học Quốc Gia TP.HCM ọc Quốc Gia TP.HCM ệ Thông Tin
BÁO CÁO THU HO CH CHUYÊN Đ : ẠCH CHUYÊN ĐỀ: Ề:
H H TR RA QUY T Đ NH Ệ HỖ TRỢ RA QUYẾT ĐỊNH Ỗ TRỢ RA QUYẾT ĐỊNH Ợ RA QUYẾT ĐỊNH ẾT ĐỊNH ỊNH
Đ TÀI: Ề:
TÌM HI U LU T K T H P & NG D NG TR GIÚP NHÀ Đ U T ỂU LUẬT KẾT HỢP & ỨNG DỤNG TRỢGIÚP NHÀ ĐẦU TƯ ẬT KẾT HỢP & ỨNG DỤNG TRỢGIÚP NHÀ ĐẦU TƯ ẾT ĐỊNH Ợ RA QUYẾT ĐỊNH ỨNG DỤNG TRỢGIÚP NHÀ ĐẦU TƯ ỤNG TRỢGIÚP NHÀ ĐẦU TƯ Ợ RA QUYẾT ĐỊNH ẦU TƯ Ư
RA QUY T Đ NH TRONG TH TR ẾT ĐỊNH ỊNH ỊNH ƯỜNG CHỨNG KHOÁN VIỆT NAM NG CH NG KHOÁN VI T NAM ỨNG DỤNG TRỢGIÚP NHÀ ĐẦU TƯ Ệ HỖ TRỢ RA QUYẾT ĐỊNH
GVHD: PGS.TS Đ Phúc ỗ Phúc
HV th c hi n: ực hiện: ện: Phan T Ánh ử Ánh
TP.HCM – 2014
Trang 3M C L C ỤNG TRỢGIÚP NHÀ ĐẦU TƯ ỤNG TRỢGIÚP NHÀ ĐẦU TƯ
CHƯƠNG I LỜI GIỚI THIỆU 4
CHƯƠNG II TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 5
II.1 Khái niệm khai phá dữ liệu 5
II.2 Luật kết hợp trong khai phá dữ liệu 6
II.3 Các kỹ thuật khai phá dữ liệu 7
II.3.1 Khai phá dữ liệu dự đoán 8
II.3.2 Khai phá dữ liệu mô tả 10
CHƯƠNG III MỘT SỐ THUẬT TOÁN SINH LUẬT KẾT HỢP 12
III.1 Thuật toán AIS 12
III.2 Thuật toán SETM 14
III.3 Thuật toán Apriori 15
III.4 Thuật toán FP-Growth 19
CHƯƠNG IV DÙNG THUẬT TOÁN APRIORI TRONG MẨU DỮ LIỆU CHỨNG KHOÁN .22
IV.1 Thực trạng tại thị trường chứng khoán việt nam 22
IV.2 Phân tích và ứng dụng luật kết hợp để khai phá 23
IV.3 Một số hàm của chương trình 23
IV.4 Mô phỏng chương trình 25
CHƯƠNG V KẾT LUẬN 26
TÀI LIỆU THAM KHẢO 27
Trang 4CHƯƠNG I LỜI GIỚI THIỆU
Sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiềulĩnh vực của đời sống, kinh tế xã hội trong nhiều năm qua cũng đồng nghĩa với lượng dữliệu đã được các cơ quan thu thập và lưu trữ ngày một tích luỹ nhiều lên,họlưu trữ các dữliệu này vì cho rằng trong nó ẩn chứa những giá trị nhất định nào đó Tuy nhiên, theo
thống kê thì chỉ có một lượng nhỏ của những dữ liệu này (khoảng từ 5% đến 10%) là
luôn được phân tích, số còn lại họ không biết sẽ phải làm gì hoặc có thể làm gì với chúngnhưng họ vẫn tiếp tục thu thập rất tốn kém với ý nghĩ lo sợ rằng sẽ có cái gì đó quantrọng đã bị bỏ qua sau này có lúc cần đến nó Mặt khác, trong môi trường cạnh tranh,người ta ngày càng cần có nhiều thông tin với tốc độ nhanh để trợ giúp việc ra quyết định
và ngày càng có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa trên một khốilượng dữ liệu khổng lồ đã có Với những lý do như vậy, các phương pháp quản trị và khaithác dữ liệu truyền thống ngày càng không đáp ứng được thực tế đã làm phát triển một
khuynh hướng kỹ thuật mới đó là kỹ thuật phát hiện tri thức và khai phá dữ liệu (KDD
-Knowledge Discovery and Data Mining)
Kỹ thuật phát hiện tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng dụngtrong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này tươngđối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng Bước
quan trọng nhất của quá trình này là Khai phá dữ liệu (Data Mining - DM), giúp người sử
dụng thu được những tri thức hữu ích từ những CSDL hoặc các nguồn dữ liệu khổng lồkhác,rất nhiều doanh nghiệp và tổ chức trên thế giới đã ứng dụng kỹ thuật khai phá dữliệu vào hoạt động sản xuất kinh doanh của mình và đã thu được những lợi ích to lớn.Nhưng để làm được điều đó sự phát triển của các mô hình toán học và các giải thuật hiệuquả là chìa khoá quan trọng vì vậy trong phần tiểu luận này,tác giả sẽ đề cập tới kỹ thuật
Trang 5thường dùng trong khai phá dữ liệu để phân tích dự đoán trong khai thác dữ liệu chứngkhoántrợ giúp nhà đầu tư ra quyết định.
CHƯƠNG II TỔNG QUANVỀ KHAI PHÁ DỮ LIỆU
Trong những năm gần đây, sự phát triển mạnh mẽ của CNTT và ngành công nghiệp phầncứng đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin tăngnhanh một cách chóng mặt Bên cạnh đó việc tin học hoá một cách ồ ạt và nhanh chóngcác hoạt động sản xuất, kinh doanh cũng như nhiều lĩnh vực hoạt động khác đã tạo ra chochúng ta một lượng dữ liệu lưu trữ khổng lồ hàng triệu CSDL đã được sử dụng trong cáchoạt động sản xuất, kinh doanh, quản lí , trong đó có nhiều CSDL cực lớn cỡ Gigabyte,thậm chí là Terabyte Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần có những kỹthuật và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ kia thành các tri thức
có íchtừ đó các kỹ thuật khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền CNTTthế giới hiện nay
II.1 Khái niệm khai phá dữ liệu
Khai phá dữ liệu (Data Mining) là một khái niệm ra đời vào những năm cuối của thập kỷ
1980 nó là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệuđược lưu trữ trong các CSDL, kho dữ liệu Hiện nay, ngoài thuật ngữ khai phá dữ liệu,người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: khai phá tri thức từCSDL, trích lọc dữ liệu, phân tích dữ liệu/mẫu, khảo cổ dữ liệu, nạo vét dữ liệu,nhiềungười coi khai phá dữ liệu và một thuật ngữ thông dụng khác là phát hiện tri thức trong
CSDL (Knowlegde Discovery in Databases - KDD) là như nhau tuy nhiên trên thực tế,
khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình phát hiện tri thức trong CSDL
Có thể nói Data Mining là giai đoạn quan trọng nhất trong tiến trình phát hiện tri thức từ
cơ sở dữ liệu, các tri thức này hỗ trợ trong việc ra quyết định trong khoa học và kinhdoanh, quá trình phát hiện tri thức tiến hành qua 6 giai đoạn như sau hình 1.1:
Trang 6Khai phá dữ liệuChuyển đổi dữ liệu
Làm sạch, tiền xử lý dữ liệu
Internet,
Dữ liệu đã chuyển đổi Trích lọc dữ liệu
Hình 1.1 quá trình phát hiện tri thức
II.2 Luật kết hợp trong khai phá dữ liệu
Mục tiêu chính của khai phá dữ liệu (KPDL) là lấy được những thông tin hữu ích từlượng dữ liệu khổng lồ các bước chính của quá trình KPDL bao gồm:
Gom dữ liệu (Gathering): tập hợp dữ liệu là bước đầu tiên trong quá trình KPDL đây là
bước được khai thác trong một CSDL, một kho dữ liệu và thậm chí các dữ liệu từ cácnguồn ứng dụng Web
Trích lọc dữ liệu (Selection): ở giai đoạn này dữ liệu được lựa chon hoặc phân chia theo
một số tiêu chuẩn nào đó, ví dụ chon tất cả những người có tuổi đời từ hai lăm đến balăm và có trình độ đại học
Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleansing, Pre-processing and
Preparation): giai đoạn thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế nó là một
bước rất quan trọng trong quá trình KPDLmột số lỗi thường mắc phải trong khi gom dữ
Trang 7liệu là tính không đủ chặt chẽ, logic, vì vậy dữ liệu thường chứa các giá trị vô nghĩa vàkhông có khả năng kết nối dữ liệu, bởi vậy đây là một quá trình rất quan trọng vì dữ liệunày nếu không được “làm sạch – tiền xử lý - chuẩn bị trước” thì sẽ gây nên những kếtquả sai lệch nghiêm trọng.
Chuyển đổi dữ liệu (Transformation): tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu
đưa ra có thể sữ dụng và điều khiển được bởi việc tổ chức lại nódữ liệu đã được chuyểnđổi phù hợp với mục đích khai thác
Phát hiện và trích mẫu dữ liệu (Pattern Extraction and Discovery): đây là bước mang tính
tư duy trong KPDL ở giai đoạn này nhiều thuật toán khác nhau đã được sử dụng để trích
ra các mẫu từ dữ liệu thuật toán thường dùng là nguyên tắc phân loại, nguyên tắc kết hợphoặc các mô hình dữ liệu tuần tự
Đánh giá kết quả mẫu (Evaluation of Result): đây là giai đoạn cuối trong quá trình KPDL
ở giai đoạn này các mẫu dữ liệu được chiết xuất ra bởi phần mềm KPDL không phải bất
cứ mẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch vì vậy cần phải ưu tiênnhững tiêu chuẩn đánh giá để chiết xuất ra các tri thức cần chiết xuất ra
Đây là một quá trình mang tính định tính với mục đích xác định được lĩnh vực yêu cầuphát hiện tri thức và xây dựng bài toán tổng kết 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; khai phá luật kết hợp; lập mô hình
dữ báo; phân tích đối tượng ngoài cuộc; phân tích sự tiến hóa
Các tồn tại cần phải giải quyết trong KPDL là lượng dữ liệu lớn; kích thước lớn; dữ liệuđộng; các trường dữ liệu không phù hợp; các giá trị bị thiếu; các trường dữ liệu bị thiếu;khả năng biểu đạt mẫu sự tương tác với người sử dụng các tri thức sẳn có Một trong
những hướng tiếp cận hiệu quả là sử dụng luật kết hợp (association rules) đây là dạng
luật biểu diễn tri thức ở dạng khá đơn giản phương pháp này nhằm phát hiện ra các luậtkết hợp giữa các thành phần dữ liệu trong CSDL mẫu đầu ra của giải thuật KPDL là tậpluật kết hợp
Trang 8II.3 Các kỹ thuật khai phá dữ liệu
Hình 1.2 biểu diễn một tập dữ liệu giả hai chiều bao gồm 23 trường hợp mỗi một điểmtrên hình đại diện cho một người vay tiền ngân hàng tại một số thời điểm trong quá khứ
dữ liệu được phân loại vào hai lớp: những người không có khả năng trả nợ và những
người tình trạng vay nợ đang ở trạng thái tốt (tức là tại thời điểm đó có khả năng trả nợ
ngân hàng)
Hai mục đích chính của khai phá dữ liệu trong thực tế là dự báo và mô tả
Nî
Thu nhËp
Kh«ng cã kh¶
n¨ng tr¶ nî
Cã kh¶ n¨ng tr¶ nî
Hình 1.2: Tập dữ liệu với 2 lớp: có và không có khả năng trả nợ
II.3.1 Khai phá dữ liệu dự đoán
Nhiệm vụ của khai phá dữ liệu dự đoán là đư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,nó sử dụng các biến hay các trường trong cơ sở dữ liệu để dự đoán các
giá trị không biết hay các giá trị tương laibao gồm các kỹ thuật phân loại (classification), hồi quy (regression)
Phân loại
Mục tiêu của phương pháp phân loại dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu,quátrình phân loại 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 loại dữ liệu
Bước 1: Xây dựng mô hình dựa trên việc phân tích các mẫu dữ liệu cho trước mỗi mẫuthuộc về một lớp, được xác định bởi một thuộc tính gọi là thuộc tính lớp các mẫu dữ liệu
Trang 9này còn được gọi là tậ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 đềuphải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi làhọc có giám sát.
Bước 2: Sử dụng mô hình để phân loại dữ liệu trước hết chúng ta phải tính độ chính xáccủa mô hìnhnếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoánnhãn lớp cho các mẫu dữ liệu khác trong tương lai
Hay nói cách khác, phân loại là học một hàm ánh xạ một mục dữ liệu vào một trong sốcác lớp cho trước Hình 1.3 cho thấy sự phân loại của các dữ liệu vay nợ vào trong haimiền lớp ngân hàng có thể sử dụng các miền phân loại để tự động quyết định liệunhữngngười vay nợ trong tương lai có nên cho vay hay không
Hình 1.3: Phân loại được học bằng mạng nơron cho tập dữ liệu cho vay
Thu nhËp Nî
Trang 10II.3.2 Khai phá dữ liệu mô tả
Kỹ thuật này 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 CSDL hiện có Bao gồm các kỹ thuật: phân cụm (clustering), phân tích luật kết hợp (association rules)
Phân cụm
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ự nhautrong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồngcòn các đối tượng thuộc các cụm khác nhau sẽ không tương đồngphân cụm dữ liệu là một
ví dụ của phương pháp học không giám sátkhông giống như phân loại 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 (learning by observation), trong khi phân loại dữ liệu là học bằng ví dụ (learning by example) Trong phương pháp này bạn sẽ
không thể biết kết quả các cụm thu được sẽ như 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âncụ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ạnkhá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
Hình 1.4 cho thấy sự phân cụm tập dữ liệu cho vay vào trong 3 cụm: lưu ý rằng các cụmchồng lên nhau cho phép các điểm dữ liệu thuộc về nhiều hơn một cụm
Hình 1.4: Phân cụm tập dữ liệu cho vay vào trong 3 cụm
Trang 11
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 CSDL,mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìmđược,khai phá luật kết hợp được thực hiện qua 2 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
Bướ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
Bài toán luật kết hợp
Khái niệm: cho một tập I = {I1, I2 ,Im} các tập m mục, một giao dịch T được định nghĩanhư một tập con của các khoản mục trong I (T⊆ I)
Gọi D là co sở dữ liệu của n giao dịch và mỗi giao dịch được đánh nhãn với một địnhdanh duy nhấtmột giao dịch T∈D hỗ trợ một tập X⊆I nếu nó chưa tất cả các item của X.Bài toán 1: Tìm tất cả các tập mục mà có độ hỗ trợ lớn hơn độ hỗ trợ tối thiểu do ngườidùng xác định, các tập mục thỏa mãn độ hỗ trợ tối thiểu được gọi là các tập mục phổbiến
Bài toán 2: Dùng các tập mục phổ biến để sinh ra các luật mong muốn
Quy trình khai thác luật kết hợp
Bước một: Tìm tất cả các tập phổ biến (theo ngưỡng minsup)
Bước hai: Tao ra các luật từ các tập phổ biến đối với mỗi tập phổ biến S, tạo ra tất cả cáctập con khác rỗng của S Đối với mỗi tập con khác rỗng A của S thì luật A=>(S-A) là luậtkết hợp cần tìm nếu: conf(A=>(S-A))=sup(S)/sup(A)≥minconf
Một số tinh chất liên quan đến các hạng mục phổ biến
Trang 12Tính chất 1: Độ hỗ trợ của tập con với A và B là tập các mục nếu A⊆B thì sup(A)≥sup(B) Điều này là rõ ràng vì tất cả giao tác của D hỗ trợ B thì cũng hỗ trợ A.
Tính chất 2: Một tập chứa một tập không phổ biến thì cũng là tập không phổ biến Nếumột mục trong B không có độ hỗ trợ tối thiểu trên D nghĩa là sup(B)<minsup thì một tậpcon A của B sẽ không phải là một tập phổ biến vì support(B)≤support(A)<minsup (theotính chất 1)
Tính chất 3: Các tập con của tập phổ biến cũng là tập phổ biến, nếu mục B là mục phổbiến trên D, nghĩa là support(B)≥minsup thì mọi tập con A của B là tập phổ biến trên D
vì support(A)≥support(B)>minsup
Phát hiện luật kết hợp trên hệ thống nhị phân: Độ hỗ trợ các vecto chỉ báo nhị phân chox1⊂D, độ hỗ trợ của vB(X1) biểu diễn supB(vB(X1)) được định nghĩa:
Dễ thấy rằng: card(supB(vBX1))) = card(rB(X1))
Tính card(rB(S)) (lực lượng của tập hợp) cho S= {s1, s2,…,sk} là tập con của D Trong
đó sj là bọ chỉ báo của SB, j=1÷k mỗi sj tương ứng với vecto chỉ báo nhị phân vB({sj})các yếu tố của ρB(S) được tính bằng: card(ρB(S))=card(supB(vB{s1}) ⊝…supB(vB{sk}))
Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như marketing có chủđích, phân tích quyết định, quản lý kinh doanh…
CHƯƠNG III MỘT SỐTHUẬT TOÁN SINH LUẬT KẾT
HỢP
III.1 Thuật toán AIS
Thuật toán do Agrwal đề nghị năm 1993 Thuật toán này chú trọng khai phá luật kết hợp
có dạng X->Y, với Y là tập hợp chỉ bao gồm một tính chất (tập hợp một phần tử) thuật
Trang 13toán tìm cách xây dựng dần dần các tập ứng cử viên cho tập mục phổ biến, với cách đánh
số thứ tự tự điển cho từng tính chất, việc bổ sung phần tử cho tập ứng cử viên tránh đượctrùng lặp, do vậy tiết kiệm tối đa thời gian tính toán
L t = Subset(L k-1, t); // các tập mục phổ biến thuộc L k-1 chứa trong giao dịch t
C t = tang thêm một mục có trong giao dịch t;
if(c ∈ C k ) then
End
L k = {c ∈ C k |c.count ≥ minsup}
End
Trả lời = ∪ L ;