Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 64 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
64
Dung lượng
1,58 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Vũ Đức Việt NGUYÊN CỨU VÀ XÂY DỰNG HỆ THỐNG QUẢN LÝ VÀ DỰ ĐOÁN XU THẾ GIÁ CHỨNG KHOÁN DỰA TRÊN NỀN TẢNG MÃ NGUỒN MỞ KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: TS. Nguyễn Hà Nam HÀ NỘI – 2010 1 TÓM TẮT Bài toán dự báo tài chính ngày càng được nhiều người quan tâm trong bối cảnh phát triển kinh tế xã hội ở Việt Nam hiện nay. Đầu tư vào thị trường chứng khoán đòi hỏi nhiều kinh nghiệm và hiểu biết của các nhà đầu tư. Các kĩ thuật khai phá dữ liệu được áp dụng nhằm dự báo sự lên xuống của thị trường là một gợi ý giúp các nhà đầu tư có thể ra các quyết định giao dịch. Khóa luận này giới thiệu một kỹ thuật khai phá dữ liệu hiệu quả được sử dụng rộng rãi trong nhiều lĩnh vực đó là mô hình mạng nơ ron và cách áp dụng vào dữ liệu thời gian thực. Cấu trúc và hoạt động cũng như cách thiết kế mạng cho dữ liệu thời gian thực áp dụng trong bài toán dự báo tài chính được trình bày chi tiết nhằm làm rõ cách áp dụng mô hình vào bài toán thực tế. 2 MỤC LỤC TÓM TẮT MỤC LỤC DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU Chương 1. GIỚI THIỆU 1 Chương 2. GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC . 2 2.1. Khai phá dữ liệu và phát hiện tri thức 2 2.2 Tại sao phải tiến hành khai phá dữ liệu? 4 2.3. Kiến trúc điển hình của một hệ khai phá dữ liệu 5 2.4. Các bài toán khai phá dữ liệu điển hình 6 2.5. Các ứng dụng điển hình của khai phá dữ liệu 8 2.6. Kết luận 8 Chương 3. CƠ SỞ LÝ THUYẾT CỦA MẠNG NORON CHO VẤN ĐỀ DỰ BÁO 9 3.1. Khái niệm về mạng noron 9 3.2. Mô hình của một noron nhân tạo và hàm truyền 9 3.2.1. Mô hình của một noron 9 3.2.2. Hàm truyền 12 3.3. Mô hình của mạng noron 14 3.3.1. Mạng tiến 14 3.3.2. Mạng hồi quy 16 3.4. Phương pháp học và thuật toán lan truyền ngược cho mạng 17 3.4.1. Cơ sở lý thuyết học của mạng 17 3 3.4.2. Thuật toán lan truyền ngược (back – propagation) 18 Chương 4. MẠNG NORON CHO QUÁ TRÌNH DỰ ĐOÁN 23 4.1. Mô hình mạng noron cho việc dự báo 23 4.2. Các bước thiết kế mô hình 24 4.2.1. Chọn lựa các biến 25 4.2.2. Thu thập dữ liệu 25 4.2.3. Tiền xử lý dữ liệu 25 4.2.4. Phân hoạch tập dữ liệu 26 4.2.5. Xác định cấu trúc mạng 27 4.2.6. Xác định tiêu chuẩn đánh giá 30 4.2.7. Huấn luyện mạng nơ ron 32 4.2.8. Triển khai 33 4.3 Tổng kết 34 Chương 5. XÂY DỰNG CHƯƠNG TRÌNH VÀ 35 ĐÁNH GIÁ 35 5.1. Vài nét về các phần mềm nguồn mở được sử dụng 35 5.1.1. Weka 35 5.1.2. Jstock 37 5.2. Mô hình kết hợp giữa hai gói phần mềm mã nguồn mở 38 5.2.1. Chuyển dữ liệu thời gian thực 39 5.2.2. Xác định mô hình phù hợp 40 5.2.3. Chuyển kết quả cho stock hiển thị 43 5.3. Đánh giá với một số mô hình khác 43 5.3.1. Mô hình cây quyết định 44 5.3.2. Mô hình phân lớp xác suất ngây thơ naïve bayes 46 4 Chương 6. KẾT LUẬN 49 TÀI LIỆU THAM KHẢO 50 5 DANH MỤC HÌNH VẼ Hình 2.1 – Quá trình khai phá tri thức [1] 3 Hình 2.2 – Kiến trúc điển hình của một hệ thống khai phá dữ liệu [2] 5 Hình 2.3 – Bảng thống kê xu thế phát triển khai phá dữ liệu [1] 8 Hình 3.1 - Mô hình của một noron[2] 10 Hình 3.2 – Mô hình của một noron được vẽ lại [2] 11 Hình 3.3 – Hàm ngưỡng 12 Hình 3.4 – Hàm vùng tuyến tính 13 Hình 3.5 – Hàm tuyến tính 13 Hình 3.6 – Hàm sigma với các độ dốc khác nhau 14 Hình 3.7 – Mô hình mạng tiến đơn mức 15 Hình 3.8 – Mô hình mạng tiến đa mức 16 Hình 3.9 – Mô hình mạng tiến có sự phản hồi 17 Hình 4.1 – Mô hình dự đoán sử dụng mạng noron 23 Hình 4.2 – Tỷ lệ kích thước giữa các tập huấn luyện [9] 27 Hình 4.3 – Độ hội tụ: 3 tầng, 20 nơ ron ẩn, 50 bước 29 Hình 4.4 – Độ hội tụ: 3 tầng, 20 nơ ron ẩn, 100 bước 29 Hình 4.5 – Độ hội tụ: 3 tầng, 20 nơ ron ẩn, 300 bước 29 Hình 4.6 – Độ hội tụ: 3 tầng, 50 nơ ron ẩn, 5 bước 30 Hình 4.7 – Độ hội tụ: 3 tầng, 50 nơ ron ẩn, 50 bước 30 Hình 5.1 – Giao diện chính của weka 36 Hình 5.2 – Giao diện chính của Jstock 37 Hình 5.3 – Mô hình hệ thống khóa luận xây dựng 38 Hình 5.4 – Kết quả huấn luyện mạng noron bằng dòng lệnh weka 42 Hình 5.5 – Mô hình cây quyết định 45 6 DANH MỤC BẢNG BIỂU Bảng 4.1 – Tổ chức dữ liệu của mô hình 26 Bảng 5.1 – Huấn luyện mạng noron 44 Bảng 5.2 – Huấn luyện cây quyết định 46 Bảng 5.3 – Huấn luyện naïve bayes 48 Bảng 5.4 – So sánh các mô hình 48 7 Chương 1. GIỚI THIỆU Trong những năm gần đây, người ta thường nhắc đến khai phá dữ liệu (datamining) – khái niệm được dùng để tham chiếu đến quá trình phát hiện tri thức và khai phá dữ liệu (KDD – Knowledge Discovery and Data mining) – như là một phương pháp xác định ra tri thức từ một lượng dữ liệu khổng lồ. 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ều lĩ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ơn nữa thông tin thu thập được từ nhiều chiều khác nhau và gây nhiễu cho nhau đã thực sự trở thành một vấn đề nan giải cho con người để xử lý lượng thông tin lớn đang tăng lên từng ngày một. Với những lý do như vậy, các phương pháp quản trị và khai thác cơ sở 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). Có nhiều kỹ thuật để khai phá dữ liệu trong đó kỹ thuật dựa vào mạng Noron khá là phổ biến [2]. Một trong những ứng dụng kinh điển của mạng Noron là lớp các bài toán dự đoán vì mạng Noron ngoài khả năng dự đoán với độ chính xác cao nó còn có ưu điểm là mềm dẻo và thích nghi cao với môi trường, rất thích hợp cho bài toán dự đoán với dữ liệu thay đổi nhanh theo thời gian. Chính vì vậy, khóa luận sẽ sử dụng mạng Noron để dự đoán xu thế của giá chứng khoán. Các hệ thống chứng khoán thường là những hệ thống rất phức tạp vì vậy rất khó có thể dự đoán được dữ liệu của nó. Nó phụ thuộc vào rất nhiều yếu tố trong đó có những yếu tố không thể định lượng được như: tâm lý, sự mù quáng của nhà đầu tư…. Mặc dù vậy thị trường chứng khoán không phải là một quá trình ngẫu nhiên và nó có quy luật của nó và có thể dự đoán được. Tìm ra được xu hướng của thị trường chứng khoán sẽ là chìa khóa giúp cho quá trình hỗ trợ quyết định của nhà đầu tư. Trước sự hấp dẫn của các ứng dụng của mạng noron, sự phát triển đi lên của thị trường chứng khoán, cùng sự động viên khuyến khích của thầy hướng dẫn, tôi đã quyết định thực hiện những nghiên cứu về mạng noron để dự báo xu thế thị trường chứng khoán nhằm đưa ra những gợi ý cho nhà đầu tư. Do thời gian làm khóa luận có hạn nên tôi mới chỉ xây dựng được các thành phần cơ bản nhất của phần mềm. Các tính năng nâng cao tôi sẽ cố hoàn thiện sau này. 1 Chương 2. GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC 2.1. Khai phá dữ liệu và phát hiện tri thức Phát hiện tri thức trong cơ sở dữ liệu (Knowledge Discovery in Databases – KDD) (đôi khi còn được gọi là khai phá dữ liệu) là một quá trình không đơn giản nhằm nhận dạng ra những mẫu có giá trị, mới, hữu ích tiềm năng và hiểu được trong dữ liệu. Đây là lĩnh vực nghiên cứu và triển khai được phát triển rất nhanh chóng và có phạm vi rất rộng lớn, lại được rất nhiều nhóm nghiên cứu tại nhiều trường đại học, viện nghiên cứu, công ty ở nhiều quốc gia trên thế giới quan tâm, cho nên có rất nhiều cách tiếp cận khác nhau đối với lĩnh vực phát hiện tri thức trong CSDL. Chính vì lý do đó các nhà khoa học trên thế giới đã dùng nhiều thuật ngữ khác nhau, mà các thuật ngữ này được coi là mang cùng nghĩa với KDD như chiết lọc tri thức (knowledge extraction), phát hiện thông tin (information discovery), thu hoạch thông tin (information harvesting), khai quật dữ liệu (data archaeology), xử lý mẫu dữ liệu (data pattern processing) Hơn nữa, trong nhiều trường hợp, hai khái niệm "Phát hiện tri thức trong cơ sở dữ liệu" và "khai phá dữ liệu" còn được dùng thay thế nhau. Hai khái niệm khai phá dữ liệu và phát hiện tri thức trong các CSDL thường cặp đôi với nhau [1]. Quá trình KDD thường bao gồm nhiều bước là: - - - - - - Làm sạch dữ liệu (Data Cleaning): Khử nhiễu và các dữ liệu mâu thuẫn. Tích hợp dữ liệu (Data Integration): Kết hợp nhiều nguồn dữ liệu khác nhau. Lựa chọn dữ liệu (Data Selection): Chắt lọc lấy những dữ liệu liên quan đến nhiệm vụ phân tích sau này. Biến đổi dữ liệu (Data Transformation): Biến đổi dữ liệu thu được về dạng thích hợp cho quá trình khai phá. Khai phá dữ liệu (Data Mining): Sử dụng những phương pháp thông minh để khai thác dữ liệu nhằm thu được các mẫu mong muốn. Đánh giá kết quả (Pattern Evaluation): Sử dụng các độ đo để đánh giá kết quả thu được. 2 - Biểu diễn tri thức (Knowledge Presentation): Sử dụng các công cụ biểu diễn trực quan để biểu diễn những tri thức khai phá được cho người dùng. Hình 2.1 – Quá trình khai phá tri thức [1] Quá trình trên được thừa nhận là không tầm thường theo nghĩa là quá trình đó không chỉ nhiều bước mà còn được thực hiện lặp, và quan trọng hơn quá trình đó bao hàm một mức độ tìm kiếm tự động. Trong mô hình chúng ta đã coi KDD là một quá trình bao gồm nhiều bước thực hiện, trong đó, khai phá dữ liệu là một bước thực hiện chính yếu. Cách hiểu như vậy đã quy định có sự phân biệt giữa hai khái niệm khai phá dữ liệu và KDD. Từ đây có thể đi đến một khái niệm về khai phá dữ liệu: Khai phá dữ liệu là một bước trong quá trình phát hiện tri thức trong cơ sở dữ liệu, thi hành một thuật toán khai phá dữ liệu để tìm ra các mẫu từ dữ liệu theo [...]... số và các vector ngưỡng và kết thúc quá trình huấn luyện Ngược lại gán i:=i+1 rồi lặp lại các bước từ 2 tới 7 21 Như vậy tôi đã trình bày về mạng noron cũng như thuật toán lan truyền ngược Đó là những cơ sở lý thuyết để tôi tiến hành đi vào xây dựng mô hình chương trình của tôi sau này 22 Chương 4 MẠNG NORON CHO QUÁ TRÌNH DỰ ĐOÁN 4.1 Mô hình mạng noron cho việc dự báo Dựa trên kiến trúc của một hệ thống. .. với nhữn lý thuyết về mạng noron ở chương 3 Chúng ta có thể sử dụng mô hình sau cho việc dự đoán: n, ⃗ Tập huấn luyện Tập đánh giá Học cho mạng Mạng đã được học Hàm đánh giá No Yes Kết quả Tập dự đoán Mạng tối ưu Hình 4.1 – Mô hình dự đoán sử dụng mạng noron Mô hình trên bao gồm: Tập huấn luyện: là tập hợp dữ liệu đầu vào phục vụ cho quá trình học của mạng 23 Tập đánh giá: là tập dùng để kiểm chứng việc... đánh giá: thực hiện công việc kiểm định xem mạng đã đáp ứng được yêu cầu của hệ thống chưa Tập dự đoán: là tập dữ liệu có cấu trúc giống như tập huấn luyện nhưng giá trị cần dự đoán bị khuyết và nhiệm vụ của mạng noron đã được tối ưu là bổ sung giá trị bị khuyết này của tập dự đoán Quá trình hoạt động của mô hình Giai đoạn học: Ban đầu mạng noron với thuật toán lan truyền ngược (đã giới thiệu ở trên) ... tố ảnh hưởng đến tương lai của một mã chứng khoán, và chúng thường khá phức tạp, không có một quy luật củ thể nào Khóa luận này tôi sẽ chỉ sử dụng giá chứng khoán tại các thời điểm trong quá khứ để dự đoán giá cho thời điểm mong muốn Như vậy dữ liệu của mô hình gồm một chuỗi các quan sát: () (1), (2),…, (−1), (), (+1),… , 4.2.2 Thu thập dữ liệu Dữ liệu về giá chứng khoán trong bài toán được tôi thu... này giúp dự đoán được tương lai 7 2.5 Các ứng dụng điển hình của khai phá dữ liệu Dưới đây là bảng thống kê những xu thế phát triển của các lĩnh vực ứng dụng khai phá dữ liệu điển hình trong các năm 2003, 2004, 2006 và xu hướng phát triển của chúng Hình 2.3 – Bảng thống kê xu thế phát triển khai phá dữ liệu [1] 2.6 Kết luận Trong chương này tôi đã trình bày những nét cơ bản về khai phá dữ liệu và những... thiệu sau đây thuộc loại học có giám sát Học không giám sát [3]: điểm khác biệt với học có giám sát ở chỗ là đầu ra đúng tương ứng cho mỗi đầu vào là không biết trước Trong học không có giám sát, một tập dữ liệu đầu vào được thu thập Học không có giám sát thường đối xử với các đối tượng đầu vào như là một tập các biến ngẫu nhiên Sau đó, một mô hình mật độ kết hợp sẽ được xây dựng cho tập dữ liệu đó 3.4.2... một phần mềm mã nguồn mở là jstock Phần mềm này có khả năng thu thập được rất nhiều chứng khóa của 24 nước trên thế giới Chi tiết hơn về jstock tôi sẽ mô tả trong phần sau của khóa luận 4.2.3 Tiền xử lý dữ liệu Dữ liệu thu thập được cần phải được xử lý cho phù hợp với đầu vào của mạng trước khi chúng được sử dụng Theo như kiến thức mô tả về mạng noron ở chương 3, dư liệu sẽ gồm đầu vào và đầu ra thực... phá dữ liệu Dưới đây là kiến trúc của một hệ thống khai phá dữ liệu: Hình 2.2 – Kiến trúc điển hình của một hệ thống khai phá dữ liệu [2] Trong kiến trúc hệ thống này, các nguồn dữ liệu cho các hệ thống khai phá dữ liệu bao gồm hoặc Cơ sở dữ liệu, hoặc Kho dữ liệu, hoặc World Wide Web, hoặc kho chứa dữ liệu kiểu bất kỳ khác, hoặc tổ hợp các kiểu đã liệt kê nói trên Cơ sở tri thức, bao chứa các 5 tri... động của môi trường Mô hình học chính cách thức quan hệ của mạng với môi trường Có hai mô hình phổ biến là học có giám sát (supervised learning) và học không có giám sát (unsupervised learning) Học có giám sát [3] : là phương pháp mà mạng được cung cấp những cặp mẫu đầu vào và đầu ra tương ứng Nhiệm vụ của quá trình học là từ đầu vào được đã cho sẽ xử lý tạo ra một đầu ra tương ứng sao cho gần nhất với... thực sự hấp dẫn thì chúng được bổ sung vào cơ sở tri thức để phục vụ cho hoạt động tiếp theo của hệ thống Như vậy, nguồn tri thức bổ sung vào cơ sở tri thức ở đây không chỉ từ lập luận lôgic theo các hệ toán lôgic để có tri thức mới, không chỉ do con người hiểu biết thêm về thế giới khách quan để bổ sung vào mà còn là tri thức được phát hiện một cách tự động từ nguồn dữ liệu [1] 2.4 Các bài toán khai . HỌC CÔNG NGHỆ Vũ Đức Việt NGUYÊN CỨU VÀ XÂY DỰNG HỆ THỐNG QUẢN LÝ VÀ DỰ ĐOÁN XU THẾ GIÁ CHỨNG KHOÁN DỰA TRÊN NỀN TẢNG MÃ NGUỒN MỞ KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông. và thích nghi cao với môi trường, rất thích hợp cho bài toán dự đoán với dữ liệu thay đổi nhanh theo thời gian. Chính vì vậy, khóa luận sẽ sử dụng mạng Noron để dự đoán xu thế của giá chứng khoán. Các. tiêu chuẩn đánh giá 30 4.2.7. Huấn luyện mạng nơ ron 32 4.2.8. Triển khai 33 4.3 Tổng kết 34 Chương 5. XÂY DỰNG CHƯƠNG TRÌNH VÀ 35 ĐÁNH GIÁ 35 5.1. Vài nét về các phần mềm nguồn mở được sử dụng