1. Trang chủ
  2. » Tất cả

(Đồ án hcmute) dự đoán chỉ số vnindex sử dụng machine learning

91 17 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 91
Dung lượng 3,88 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH THƯƠNG MẠI ĐIỆN TỬ DỰ ĐOÁN CHỈ SỐ VNINDEX SỬ DỤNG MACHINE LEARNING GVHD:TRẦN KIM TOẠI SVTH: TỐNG TRẦN KHÁNH DUY MSSV: 16126010 SVTH: ĐINH HOÀNG VIỆT TÚ MSSV: 16126099 SVTH: NGUYỄN THỊ PHƯƠNG DUYÊN MSSV: 16126107 SKL007031 Tp Hồ Chí Minh, tháng 6/2020 an TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA KINH TẾ - - ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: DỰ ĐOÁN CHỈ SỐ VNINDEX SỬ DỤNG MACHINE LEARNING NGÀNH THƯƠNG MẠI ĐIỆN TỬ GVHD: ThS Trần Kim Toại Sinh viên: Tống Trần Khánh Duy MSSV: 16126010 Đinh Hoàng Việt Tú MSSV: 16126099 Nguyễn Thị Phương Duyên MSSV: 16126107 TP Hồ Chí Minh – tháng năm 2020 an TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA KINH TẾ - - ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: DỰ ĐOÁN CHỈ SỐ VNINDEX SỬ DỤNG MACHINE LEARNING GVHD: ThS Trần Kim Toại Sinh viên: Tống Trần Khánh Duy MSSV: 16126010 Đinh Hoàng Việt Tú MSSV: 16126099 Nguyễn Thị Phương Duyên MSSV: 16126107 TP.Hồ Chí Minh – tháng năm 2020 i an THÔNG TIN KHĨA LUẬN TỐT NGHIỆP Thơng tin sinh viên Họ tên sinh viên: Tống Trần Khánh Duy MSSV: 16126010 Email: 16126010@student.hcmute.edu.vn Điện thoại: 0902798319 Họ tên sinh viên: Đinh Hoàng Việt Tú MSSV: 16126099 Email: 16126099@student.hcmute.edu.vn Điện thoại: 0949932755 Họ tên sinh viên: Nguyễn Thị Phương Duyên MSSV: 16126107 Email: 16126107@student.hcmute.edu.vn Điện thoại: 0938693609 Thông tin đề tài - Tên đề tài: Dự đoán số VNINDEX sử dụng MACHINE LEARNING - Đơn vị quản lý: Khoa Kinh Tế, Trường Đại Học Sư Phạm Kỹ Thuật Tp Hồ Chí Minh - Thời gian thực hiện: Từ ngày 01 / 02 / 2020 đến ngày 20 / 06 / 2020 - Thời gian bảo vệ trước hội đồng: Ngày 17 / 07 / 2020 Lời cam đoan sinh viên Chúng – Tống Trần Khánh Duy, Đinh Hoàng Việt Tú, Nguyễn Thị Phương Dun cam đoan KLTN cơng trình nghiên cứu hướng dẫn thạc sĩ Trần Kim Toại Kết công bố KLTN trung thực khơng chép từ cơng trình khác Tp.HCM, ngày … tháng … năm 20… SV thực đồ án (Ký ghi rõ họ tên) Giảng viên hướng dẫn xác nhận báo cáo chỉnh sửa theo đề nghị ghi biên Hội đồng đánh giá Khóa luận tốt nghiệp ……………………………………………………………………………………………… Tp.HCM, ngày … tháng … năm 20… Giáo viên hướng dẫn Xác nhận Bộ Môn (Ký, ghi rõ họ tên học hàm - học vị) ii an BẢN NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (Dùng cho giảng viên hướng dẫn) Đề tài: Sinh viên thực hiện: Tống Trần Khánh Duy MSSV: 16126010 Đinh Hoàng Việt Tú MSSV: 16126099 Nguyễn Thị Phương Duyên MSSV: 16126107 Giảng viên hướng dẫn: ThS Trần Kim Toại Nhận xét bao gồm nội dung sau đây: Tính hợp lý cách đặt vấn đề giải vấn đề; ý nghĩa khoa học thực tiễn: Đặt vấn đề rõ ràng, mục tiêu cụ thể, đề tài có tính mới, cấp thiết, đề tài có khả ứng dụng, tính sáng tạo Đặt vấn đề rõ ràng để xây dựng hệ thống dự báo vnindex thuật toán máy học Phương pháp thực / phân tích / thiết kế: Phương pháp hợp lý tin cậy dựa sở lý thuyết, có phân tích đánh giá phù hợp, có tính sáng tạo Áp dụng phương pháp mơ phịng dùng Python xây dựng hệ thống thực nghiệm để kiểm chứng kết Kết thực / phân tích đánh giá kết / kiểm định thiết kế: Phù hợp với mục tiêu đề tài, phân tích đánh gi; kiểm thử thiết kế hợp lý; có tính sáng tạo; kiểm định chặt chẽ đảm bảo độ tin cậy Phù hợp với mục tiêu đề ra, kết có tính sáng tạo Kết luận đề xuất Kết luận phù hợp với cách đặt vấn đề, đề xuất mang tính cải tiến thực tiễn, kết luận có đóng góp mẻ, đề xuất sáng tạo thuyết phục Đề tài đưa mơ hình phân tích hồi quy đa biến từ thuật toán hồi quy máy học tìm mơ hình với thuật tốn tối ưu dựa liệu dataset để tăng xác dự báo Hình thức trình bày bố cục báo cáo: Văn phong quán bố cục hợp lý, cấu trúc rõ ràng, định dạng mẫu, có tình hấp dẫn, thể lực tốt, văn trau chuốt Bố cục rõ ràng, chuẩn mực văn phong Kỹ chuyên nghiệp tính sáng tạo: Thể kỹ giao tiếp, kỹ làm việc nhó, kỹ chuyên nghiệp khác việc thực đề tài Tinh thần làm việc nhóm cao, siêng năng, làm việc nghiêm túc Tài liệu trích dẫn Tính trung thực việc trích dẫn tài liệu tham khảo, tính phù hợp tài liệu trích dẫn, trích dẫn theo dẫn APA Trích dẫn phù hợp Đánh giá trùng lắp đề tài Cần khẳng định đề tài có trùng lắp hay khơng? Nếu có đề nghị ghi rõ mức độ, tên đề tài, nơi công bố, năm công bố đề tài công bố iii an Đề tài có cải tiến so với đề tài trước Nhưng nhược điểm thiếu sót, điểm cần bổ sung chỉnh sửa …………………………………………………………………………………… ………………………………………………………………………….………… …………………………………………………………………… 10 Nhận xét tinh thần, thái độ học tập, nghiên cứu sinh viên Tích cực, siêng năng, tinh thần làm việc chủ động Đề nghị giảng viên Ghi rõ “Báo cáo đạt / không đạt yêu cầu khó luận tốt nghiệp cử nhân phép / khơng phép bảo vệ khóa luận tốt nghiệp” Báo cáo đạt cho phép bảo vệ khóa luận tốt nghiệp Tp Hồ Chí Minh, ngày tháng năm 2020 Người nhận xét (Ký ghi rõ họ tên) iv an BẢN NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (Dùng cho giảng viên phản biện) Đề tài: Dự đoán số VNINDEX sử dụng Machine learning Sinh viên thực hiện: Tống Trần Khánh Duy MSSV: 16126010 Đinh Hoàng Việt Tú MSSV: 16126099 Nguyễn Thị Phương Duyên MSSV: 16126107 Giảng viên hướng dẫn: ThS Trần Kim Toại Nhận xét bao gồm nội dung sau đây: Tính hợp lý cách đặt vấn đề giải vấn đề; ý nghĩa khoa học thực tiễn [15/100]: Đặt vấn đề rõ ràng, mục tiêu cụ thể [5]; đề tài có tính mới, cấp thiết [5]; đề tài có khả ứng dụng, tính sáng tạo [5] Phương pháp thực hiện/ phân tích/ thiết kế [25/100]: Phương pháp hợp lý tin cậy dựa sở lý thuyết [10]; có phân tích đánh giá phù hợp [10]; có tính tính sáng tạo [5] Kết thực hiện/ phân tích đánh giá kết quả/ kiểm định thiết kế [25/100]: Phù hợp với mục tiêu [10]; phân tích đánh giá / kiểm thử thiết kế hợp lý [10]; có tính sáng tạo/ kiểm định chặt chẽ đảm bảo độ tin cậy [5] Kết luận đề xuất [10/100]: Kết luận phù hợp với cách đặt vấn đề, đề xuất mang tính cải tiến thực tiễn [5]; kết luận có đóng góp mẻ, đề xuất sáng tạo thuyết phục [5] v an Hình thức trình bày, bố cục chất lượng báo cáo [15/100]: Văn phong quán, bố cục hợp lý, cấu trúc rõ ràng, định dạng mẫu [5]; có tính hấp dẫn, thể lực tốt, văn trau chuốt [15] Tài liệu trích dẫn [10/100] Tính trung thực việc trích dẫn tài liệu tham khảo; tính phù hợp tài liệu trích dẫn; trích dẫn theo dẫn APA Đánh giá trùng lặp đề tài Cần khẳng định đề tài có trùng lặp hay khơng? Nếu có, đề nghị ghi rõ mức độ, tên đề tài, nơi công bố, năm công bố đề tài công bố Những nhược điểm thiếu sót, điểm cần bổ sung chỉnh sửa* Câu hỏi sinh viên phải trả lời trước hội đồng* (ít 02 câu) Đánh giá chung - Điểm (Quy thang điểm 10 khơng làm trịn): …………./10 vi an - Xếp loại chung (Xuất sắc, Giỏi, Khá, Trung bình, Yếu, Kém):…………………………………… Đề nghị giảng viên phản biện Ghi rõ: “Báo cáo đạt/ khơng đạt u cầu khóa luận tốt nghiệp kỹ sư, phép/ không phép bảo vệ khóa luận tốt nghiệp” Tp HCM, ngày … tháng … năm 20… Người nhận xét (Ký ghi rõ họ tên) vii an LỜI CẢM ƠN Lời đầu tiên, nhóm thực đề tài xin trân trọng cảm ơn Thầy Trần Kim Toại tận tình dẫn cho nhóm bước thực đồ án tiến độ đạt thành Trong trình làm việc với thầy nhóm khơng tiếp thu kiến thức bổ ích, mà rèn luyện thêm nhiều kỹ hay, thái độ nghiêm túc trình nghiên cứu khoa học, điều cần thiết trình học tập đặc biệt hành trang lớn cho đường nghiệp sau Đồng thời nhóm xin chân thành cảm ơn giảng viên khoa truyền dạy cho chúng em kiến thức cần thiết cho việc nghiên cứu đồ án Cuối cùng, nhóm xin chúc Q Thầy, Cơ trường Đại học Sư Phạm Kỹ Thuật TPHCM dồi sức khỏe gặt hái nhiều thành công công việc Nhóm xin chân thành cảm ơn! Tp Hồ chí Minh, tháng năm 2020 Sinh viên thực Tống Trần Khánh Duy Đinh Hoàng Việt Tú Nguyễn Thị Phương Duyên viii an A comprehensive beginners guide for Linear, Ridge and Lasso Regression in Python and R: https://www.analyticsvidhya.com/blog/2017/06/a-comprehensive-guide-forlinear-ridge-and-lasso-regression/ Decision Tree Classification in Python: https://www.datacamp.com/community/tutorials/decision-tree-classificationpython 10 Building a ridge regressor: https://subscription.packtpub.com/book/big_data_and_business_intelligence/9781 789808452/1/ch01lvl1sec23/building-a-ridge-regressor 11 K-nearest neighbors: https://machinelearningcoban.com/2017/01/08/knn/ 12 KNN (K-Nearest Neighbors) https://viblo.asia/p/knn-k-nearest-neighbors-1-djeZ14ejKWz 13 Machine Learning Basics with the K-Nearest Neighbors Algorithm: https://towardsdatascience.com/machine-learning-basics-with-the-k-nearestneighbors-algorithm-6a6e71d01761 14 KNN Algorithm - Finding Nearest Neighbors: https://www.tutorialspoint.com/machine_learning_with_python/machine_learnin g_with_python_knn_algorithm_finding_nearest_neighbors.htm 15 Nearest Neighbors: https://scikit-learn.org/stable/modules/neighbors.html#nearest-neighbors 16 K-Nearest Neighbours: https://www.geeksforgeeks.org/k-nearest-neighbours/ 17 Nearest Neighbor(KNN) Algorithm for Machine Learning: https://www.javatpoint.com/k-nearest-neighbor-algorithm-for-machine-learning 18 K-nearest Neighbors: https://brilliant.org/wiki/k-nearest-neighbors/ 19 K Nearest Neighbor: https://www.sciencedirect.com/topics/immunology-and-microbiology/k-nearestneighbor 20 Support Vector Regression Tutorial for Machine Learning: https://www.analyticsvidhya.com/blog/2020/03/support-vector-regression-tutorial-for-machinelearning/ 59 an 21 K Nearest Neighbors – Classification: https://www.saedsayad.com/k_nearest_neighbors.htm 60 an PHỤ LỤC Phụ Lục Pipeline Python Được sử dụng để xâu chuỗi nhiều cơng cụ ước tính thành thế, tự động hóa q trình học máy Điều hữu ích thường có chuỗi bước cố định xử lý liệu Một số code dùng để chuyển hóa số học (đơn điệu hóa số học) hay chuyển văn thành vector, tự động làm đầy liệu, dòng code cịn gọi code chuyển hóa (transformers) Ngồi ra, cịn số loại code dùng để dự đốn biến qua việc tương thích với thuật tốn gọi code dự đốn (estimators) Vì thế, pipeline áp dụng danh sách transformers (data modelling) cuối estimator (Machine Learning model) Bước thực chuyển hóa phải có yếu tố fit() transform() Bước dự đoán cuối phải chứa fit() predict() Tuy nhiên dịng code khơng có predict() buộc phải chứa lệnh fit() Tóm lại, pipelines cấu với hàm fit/transform/predict, mà đưa pipelines vào việc train liệu chuyển hóa văn chung mà không cần phải tách chúng làm riêng biệt tốn thời gian Ví dụ cách thực pipeline bản: 61 an 62 an Phụ Lục 2: Linear Regression Giới thiệu Ta đặt ví dụ cho dễ vào giải thích sau: chung cư – hộ rộng a1 m2 có a2 phịng cách trung tâm thành phố Hồ Chí Minh a3 km có giá tiền Cho giả định ta có số liệu 1500 hộ bao gồm số phòng, khoảng cách tới trung tâm thành phố, độ rộng giá chúng liệu ta dự đốn giá hộ khác mà biết số a1 a2 a3 trước không Nếu làm tốn hàm dự đốn y = f(X) có dạng X = [a1, a2, a3] vector chưa thông tin input, y chứa thông tin output số vô hướng y tượng trưng cho giá hộ Theo cách đơn giản nhất, thấy rằng: - Diện tích nhà lớn, giá nhà đất cao; - Số phòng nhiều, giá nhà cao; - Càng xa trung tâm, giá nhà đất thấp Hàm đơn giản mô tả mối quan hệ giá nhà ba giá trị 63 an 𝒚 ≈ 𝒇(𝑿) = 𝒚̂ 𝑓(𝑋) = 𝜔1𝑎1 + 𝜔2𝑎2 + 𝜔3𝑎3 + 𝜔0 (1) Trong 𝜔1, 𝜔2, 𝜔3, 𝜔0 số quan hệ 𝒚 ≈ 𝒇(𝑿) quan hệ linear – tuyến tính Và tốn tìm hệ sơ tối ưu thuộc loại regression kết hợp ta có dạng Linear Regression Lưu ý: - y giá trị thực tập training data, 𝑦̂ giá trị linear regression dự đốn mong muốn cho y 𝑦̂ giống nhât để kết dự đốn xác ưu việt - Hiểu tuyến tính đơn giản thẳng, phẳng Trong không gian hai chiều, hàm gọi tuyến tính đồ thị có dạng đường thẳng Cịn khơng gian ba chiều, hàm gọi tuyến tính đồ thị có dạng mặt phẳng Và không gian ba chiều, khái niệm máy bay khơng cịn phù hợp, mà có khái niệm khác gọi siêu phẳng (hyperplane) Các hàm linear đơn giản chúng thuận tiện cho việc hiển thị tính tốn Tuyến tính quan trọng hữu ích vấn đề máy học Ví dụ: 2.1 Bài tốn Nhập thư viện numphy matplotlib khai báo biến để vẽ đồ thị Ta có mẫu liệu sau 15 người với số đo họ Bài toán phải dự đoán số kg họ dựa cm họ sở hữu (vd mang tính giả thuyết) Từ bảng ta thấy sử 64 an dụng hàm linear chiều cao tỉ lệ thuận với cân nặng (càng cao nặng) Chọn mẫu thử 155 160 cm để kiểm tra, lại sử sụng để train model 2.2 Hiển thị đồ thị: Nhìn đồ thị gần đường thẳng cho ta thấy tính khả quan hàm linear: (kg) = w_1*(cm) + w_0 2.3 Nghiệm từ công thức thu được: Dựa vào công thức điểm tối ưu toán Linear Regressio: 65 an 66 an Từ biểu đồ trên, thấy điểm liệu màu đỏ gần với đường dự đoán màu xanh Vì vậy, mơ hình hồi quy tuyến tính hoạt động tốt với tập liệu đào tạo Bây chúng tơi sử dụng mơ hình để dự đoán cân nặng hai người với chiều cao 155 160 cm mà không sử dụng tính tốn giải pháp Ta thấy kết dự đốn gần với thực tế Phụ lục 3: Gradient Descent Giới thiệu: Từ đồ thị quen thuộc, điểm chấm xanh điểm cực tiểu hàm số, nơi mà hàm số đạt giá trị nhỏ nhất, gọi local minimum Ngồi global minimum lúc trường hợp đặc biệt local minimum Nhắc lại: 67 an - Tại điểm local minimum hàm số có đạo hàm f’(x) = phần đạo hàm điểm bên trái không dương, ngược lại khơng có trường hợp âm đạo hàm điểm bên phải - Hệ số góc tiếp tuyến với đồ thị có giá trị đạo hàm hàm tiếp điểm Trong hình trên, chấm trái điểm cực tiểu màu xanh có đạo hàm âm, chấm phải có đạo hàm dương Và với hàm này, xa bên trái điểm cực tiểu, đạo hàm âm, xa bên phải, đạo hàm dương Trong học máy đặc biệt tốn học tối ưu nói chung, thường phải tìm giá trị nhỏ (hoặc đơi tối đa) hàm Ví dụ, hàm hai viết có nghĩa Hồi Quy Tuyến Tính K-means Clustering Nói chung, phức tạp, chí khơng thể, để tìm tính bị tối thiểu toàn cầu học máy Thay vào đó, người thường cố gắng tìm điểm tối thiểu địa phương chừng mực coi giải pháp cho vấn đề Điểm tối thiểu cục giải pháp phương trình dẫn xuất Nếu cách tìm thấy tất điểm tối thiểu (cuối cùng), cần thay điểm tối thiểu cục hàm tìm điểm làm cho hàm có giá trị nhỏ (điều nghe quen thuộc phải khơng?) Tuy nhiên, hầu hết trường hợp, giải phương trình đạo hàm Điều phức tạp dạng đạo hàm, thực tế điểm liệu có số lượng kích thước lớn có nhiều điểm liệu Cách tiếp cận phổ biến điểm coi gần với giải pháp cho vấn đề, sau sử dụng thao tác lặp để đến điểm chúng tơi tìm kiếm, đạo hàm gần Gradient Descent (viết tắt GD) Các biến thể phương pháp sử dụng rộng rãi Hàm biến Theo hình vẽ ban đầu Giả sử 𝑥𝑘 ta có sau 𝑘 vịng lặp Ta cần tìm cách để đưa 𝑥𝑘 gần 𝑥∗ Ta thấy: 68 an - Đạo hàm với : ta cần dời nằm bên phải ngược lại Và để gần sang bên trái (phía âm) hay ta phải di chuyển trái dấu với đạo hàm * Lưu ý: ngược dấu với : - Ta cần lưu ý phải Vì lớn xa phía bên tỉ lệ thuận với Từ nhận định ta có: số > gọi learning rate (cho biết tốc độ học máy) Từ descent gradient descent nghĩa ngược từ dấu trừ có cơng thức (ngược với đạo hàm) Hàm nhiều biến: Ta tìm giá trị nhỏ hàm vector Đạo hàm hàm số Giống với hàm biến, Gradient Descent cho hàm nhiều biến khởi đầu với , vòng lặp thứ k, ta có: Hoặc viết rút gọn là: Điều lưu ý khơng qn là: ln phải ngược hướng với đạo hàm Phụ lục 4: Vẽ đồ thị với Mathplotlib Mathplotlib.pyplot tập hợp funtion mà đồ thị thực matlab Mỗi hàm pyplot tạo chuyển đổi cho biểu đồ, chẳng hạn tạo khung biểu đồ, vẽ biểu đồ khung tạo trước vẽ nhiều biểu diễn biểu đồ, đánh dấu trục, v.v Các trạng thái khác matplotlib.pyplot lưu trữ funtion gọi, lưu tất đồ thị khu vực đồ thị vẽ chức đồ thị vẽ trực tiếp trục tọa độ (các trục Điều có nghĩa đồ thị hình vẽ, khơng phải định nghĩa trục toán học) 69 an Biểu đồ cho thấy trục x có phạm vi 0-3, trục y có phạm vi 0-4 Bởi bạn sử dụng danh sách đơn dãy cho hàm plot(), matplotlib cho chuỗi cho chiều cao trục y tự động đồng hóa với trục x Vì phạm vi python bắt đầu 0, vectơ mặc định x có độ dài với y Vì vậy, trục x [0, 1, 2, 3] Hàm Plot () hàm động nhận số lượng đối số tùy ý argument Vd vẽ biểu đồ y theo x, dùng lệnh sau: Đối với cặp x y có định dạng tùy chọn thứ ba chuỗi định màu sắc hình dạng đồ thị Định dạng ký tự ký hiệu lấy từ MATLAB kết hợp loạt màu sắc dạng biểu đồ đường Mặc định cho định dạng 'b-', dịng màu xanh Ví dụ: vẽ đồ thị phía với vịng trịn màu đỏ 70 an Dịng lệnh axis() có ý nghĩa nhận giá trị theo dạng list [ymin, ymax, xmin, xmax] biểu diễn lên trục x y Khi mathplotlib khó định dạng dạng list Ta cân nhắc sử dụng đến dãy(array) thư viện numpy 71 an 72 an an ... thực nghiệm sử dụng số thuật toán đưa so sánh chung để chọn thuật toán phù hợp Sử dụng 10-fold Cross Validation đánh giá dựa số MSE (Sai số toàn phương trung bình) để đánh giá mức độ sai số mơ hình... toán với phương pháp tinh chỉnh Hyperparameter: 31 2.1.4.3 So sánh với thuật toán sử dụng phương pháp Ensemble 32 2.1.4.4 So sánh GBM KNN 35 2.2 Sử dụng thuật toán KNN để dự đoán. .. KHOA KINH TẾ - - ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: DỰ ĐOÁN CHỈ SỐ VNINDEX SỬ DỤNG MACHINE LEARNING NGÀNH THƯƠNG MẠI ĐIỆN TỬ GVHD: ThS Trần Kim Toại Sinh viên: Tống Trần Khánh Duy MSSV: 16126010 Đinh

Ngày đăng: 02/02/2023, 09:08

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN