Hình 1.5: thực hiện tách nhãn sau khi thay đổi trục xét Hình 1.6: Quay về trục xét ban đầu Hình 1.7: Chuẩn hóa tập huấn luyện trong trường hợp các biến có thang đo khác Hình 1.8: Đồ thị
Trang 1BỘ 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ẠISVTH: 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
S K L 0 0 7 0 3 1
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
Trang 3TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
GVHD: ThS Trần Kim Toại Sinh viên: Tống Trần Khánh Duy
Trang 4THÔNG TIN KHÓA LUẬN TỐT NGHIỆP
1 Thông tin sinh viên
Họ và tên sinh viên: Tống Trần Khánh Duy
Email: 16126010@student.hcmute.edu.vn
MSSV: 16126010 Điện thoại: 0902798319
Họ và tên sinh viên: Đinh Hoàng Việt Tú
Email: 16126099@student.hcmute.edu.vn
Họ và tên sinh viên: Nguyễn Thị Phương Duyên
Email: 16126107@student.hcmute.edu.vn
MSSV: 16126099 Điện thoại: 0949932755 MSSV: 16126107 Điện thoại: 0938693609
2 Thông tin đề tài
- Tên của đề tài: Dự đoán chỉ 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
3 Lời cam đoan của sinh viên
Chúng tôi – Tống Trần Khánh Duy, Đinh Hoàng Việt Tú, Nguyễn Thị Phương Duyên cam đoan KLTN là công trình nghiên cứu của chúng tôi dưới sự hướng dẫn của thạc sĩ Trần Kim Toại Kết quả công bố trong KLTN là trung thực và không sao chép từ bất kỳ công trình
Trang 5BẢ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: 1 Tống Trần Khánh Duy MSSV: 16126010
3 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 các nội dung sau đây:
1 Tính hợp lý trong cách đặt vấn đề và giải quyết 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ả năng ứ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 cùng thuật toán máy học
2 Phương pháp thực hiện / phân tích / thiết kế:
Phương pháp hợp lý và tin cậy dựa trên cơ sở lý thuyết, có phân tích đánh giá phù hợp, có tính mới và sáng tạo
Áp dụng phương pháp mô phòng dùng Python và xây dựng hệ thống thực nghiệm để kiểm chứng kết quả
3 Kết quả thực hiện / phân tích và đánh giá kết quả / kiểm định thiết kế:
Phù hợp với mục tiêu đề tài, phân tích và đánh gi; kiểm thử thiết kế hợp lý; có tính sáng tạo; kiểm định chặt chẽ và đảm bảo độ tin cậy
Phù hợp với mục tiêu đề ra, kết quả có tính sáng tạo
5 Hình thức trình bày và bố cục báo cáo:
Văn phong nhất quán bố cục hợp lý, cấu trúc rõ ràng, đúng định dạng mẫu, có tình hấp dẫn, thể hiện năng lực tốt, văn bản trau chuốt
Bố cục rõ ràng, đúng chuẩn mực văn phong
6 Kỹ năng chuyên nghiệp và tính sáng tạo:
Thể hiện các kỹ năng giao tiếp, kỹ năng làm việc nhó, và các kỹ năng chuyên nghiệp khác trong việc thực hiện đề tài
Tinh thần làm việc nhóm cao, siêng năng, làm việc nghiêm túc
Trang 6Đề tài có sự cải tiến so với các đề tài trước
9 Nhưng nhược điểm và thiếu sót, những điểm cần được bổ sung và chỉnh sửa
………
……….…………
………
10 Nhận xét tinh thần, thái độ học tập, nghiên cứu của sinh viên
Tích cực, siêng năng, tinh thần làm việc chủ động
Đề nghị của giảng viên
Ghi rõ “Báo cáo đạt / không đạt yêu cầu của một khó luận tốt nghiệp cử nhân và được phép / không được phép bảo vệ khóa luận tốt nghiệp”
Báo cáo đạt và 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ý và ghi rõ họ tên)
Trang 7BẢ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 chỉ số VNINDEX sử dụng Machine learning
Sinh viên thực hiện: 1 Tống Trần Khánh Duy MSSV: 16126010
3 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 các nội dung sau đây:
1 Tính hợp lý trong cách đặt vấn đề và giải quyết vấn đề; ý nghĩa khoa học và 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ả năng ứng dụng, tính sáng tạo [5]
2 Phương pháp thực hiện/ phân tích/ thiết kế [25/100]:
Phương pháp hợp lý và tin cậy dựa trên cơ sở lý thuyết [10] ; có phân tích và đánh giá phù hợp [10] ; có tính mới và tính sáng tạo [5]
3 Kết quả thực hiện/ phân tích và đá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 và đá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ẽ và đảm bảo độ tin cậy [5]
4 Kết luận và đề 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 và thực tiễn [5] ; kết luận có đóng góp mới mẻ, đề xuất sáng tạo và thuyết phục [5]
Trang 8
5 Hình thức trình bày, bố cục và chất lượng báo cáo [15/100]:
Văn phong nhất quán, bố cục hợp lý, cấu trúc rõ ràng, đúng định dạng mẫu [5] ; có tính hấp dẫn, thể hiện năng lực tốt, văn bản trau chuốt [15]
6 Tài liệu trích dẫn [10/100] Tính trung thực trong việc trích dẫn tài liệu tham khảo; tính phù hợp của các tài liệu trích dẫn; trích dẫn theo đúng chỉ dẫn APA
7 Đánh giá về sự trùng lặp của đề 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ố của đề tài đã công bố
8 Những nhược điểm và thiếu sót, những điểm cần được bổ sung và chỉnh sửa*
Câu hỏi sinh viên phải trả lời trước hội đồng* (ít nhất 02 câu)
Đánh giá chung - Điểm (Quy về thang điểm 10 không làm tròn): …………./10
Trang 9- Xếp loại chung (Xuất sắc, Giỏi, Khá, Trung bình, Yếu, Kém):………
Đề nghị của giảng viên phản biện
Ghi rõ: “Báo cáo đạt/ không đạt yêu cầu của một khóa luận tốt nghiệp kỹ sư, và được phép/ không được 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ý và ghi rõ họ tên)
Trang 10LỜI CẢM ƠN
Lời đầu tiên, nhóm thực hiện đề tài xin trân trọng cảm ơn Thầy Trần Kim Toại đã tận tình chỉ dẫn cho nhóm các bước thực hiện đồ án này đúng tiến độ và đạt được thành quả Trong quá trình làm việc với thầy nhóm không những tiếp thu những kiến thức bổ ích, mà còn rèn luyện được thêm nhiều kỹ năng hay, thái độ nghiêm túc trong quá trình nghiên cứu khoa học, điều này là rất cần thiết trong quá trình học tập và đặc biệt hơn nó
sẽ là hành trang lớn cho con đường sự nghiệp sau này
Đồng thời nhóm xin chân thành cảm ơn các giảng viên khoa đã truyền dạy cho chúng
em những 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 Quý Thầy, Cô của trường Đại học Sư Phạm Kỹ Thuật TPHCM dồi dào sức khỏe và gặt hái được nhiều thành công trong công việc
Nhóm xin chân thành cảm ơn!
Tp Hồ chí Minh, tháng 6 năm 2020
Sinh viên thực hiện Tống Trần Khánh Duy Đinh Hoàng Việt Tú Nguyễn Thị Phương Duyên
Trang 11PHÂN CÔNG CÔNG VIỆC
Tống Trần Khánh Duy
- Đóng góp ý tưởng, sáng kiến
-Thu thập dữ liệu -Lập trình thuật toán
- Kiểm tra thuật toán
- Trình bày báo cáo (chương 2 và 3)
- Trình bày slide
100
Nguyễn Phương Duyên
-Đóng góp ý tưởng, sáng kiến
-Thu thập dữ liệu -Lọc dữ liệu -Trình bày báo cáo (chương 1)
- Chỉnh sửa báo cáo -Trình bày slide
100
Đinh Hoàng Việt Tú
-Đóng góp ý tưởng, sáng kiến
- Thu thập dữ liệu -Lọc dữ liệu -Trình bày báo cáo (chương 4)
- Chỉnh sửa báo cáo -Trình bày slide
100
Trang 12DANH MỤC CÁC TỪ VIẾT TẮT Các từ viết tắt và thuật ngữ tiếng anh:
AI Artificial Intelligence (Trí tuệ nhân tạo)
Predict Signal (Dấu hiệu dự đoán)
Các từ viết tắt tiếng việt:
Từ viết tắt Từ được viết tắt
Trang 13Hình 1.5: thực hiện tách nhãn sau khi thay đổi trục xét
Hình 1.6: Quay về trục xét ban đầu
Hình 1.7: Chuẩn hóa tập huấn luyện trong trường hợp các biến có thang đo khác Hình 1.8: Đồ thị của tập dữ liệu hai biến
Hình 1.9: Xác định 3 điểm gần nhất với khoảng cách tối thiểu là X
Hình 1.10: Các điểm dữ liệu tương tự thường tồn tại gần nhau
Hình 1.11: biểu đồ về chiều cao so với tuổi
Hình 1.12: Xác định các điểm cần xem xét theo giá trị K
Hình 1.13: Xác định các điểm gần nhất với giá trị K=5
Hình 1.14: Biểu đồ về lỗi đào tạo cho các giá trị khác nhau của K
Hình 1.15: Biểu đồ về lỗi xác nhận cho các giá trị khác nhau của K
Hình 2.2 Mô tả dữ liệu đầu vào
Hình 2.3 Tương quan giữa các biến đầu vào của mô hình
Hình 2.4 Lưu đồ thực hiện thiết kế và chọn mô hình thuật toán
Hình 2.5 Kết quả so sánh sai số của các mô hình thuật toán
Hình 2.6 Biểu hiện mức độ sai số của các mô hình thuật toán
Hình 2.7 Sử dụng Pipeline để thực hiện Standardization trên các thuật toán Hình 2.8 Kết quả Standardization các thuật toán
Hình 2.9 Sử dụng phương pháp Grid search để tinh chỉnh Hyperparameter Hình 2.10: Lựa chọn giá trị K tốt nhất
Hình 2.11 Sử dụng phương pháp Ensemble
Hình 2.12 Kết quả sử dụng phương pháp Ensemble
Hình 2.13 So sánh kết quả sai số của các thuật toán với phương pháp Ensemble
Trang 14Hình 2.15 Chuẩn bị thuật toán GBM
Hình 2.16 Kết quả tính MSE từ thuật toán GBM với dữ liệu mẫu
Hình 2.17 Chuẩn bị thuật toán KNN
Hình 2.18 Chuẩn bị thuật toán KNN
Hình 2.19 Lưu đồ áp dụng thuật toán KNN
Hình 2.20 Chuẩn bị thư viện
Hình 2.21 Mô tả dữ liệu đầu vào
Hình 2.22 Mô tả dữ liệu biến dự đoán
Hình 3.1: Biểu đồ dự báo
Hình 3.2: Xu hướng lên xuống của chỉ số VNINDEX khi sử dụng mô hình dự
Hình 4.1 Số lượng tài khoản giao dịch chứng khoán trên TTCK trong 8 tháng đầu năm
2019
Hình 4.2 Một ví dụ cơ bản về mô hình KNN
Hình 4.3 Ví dụ về mô hình LSTM cơ bản
Trang 15DANH MỤC BẢNG BIỂU
Bảng 1.1: Dữ liệu đầu vào của 11 ID
Bảng 1.2: Bảng số liệu đầu vào (3 đối tượng)
Bảng 1.3: Bảng số liệu đầu vào (5 đối tượng)
Bảng 2.1 Các biến số sử dụng trong dữ liệu đo lường
Bảng 2.2: Mô tả dữ liệu đầu vào
Bảng 3.1: Hệ số tương quan giữa các biến trong bộ dữ liệu từ năm 2000-2019 Bảng 3.2 Sai số toàn phương (MSE) của các thuật toán trong tính toán bộ dữ liệu Bảng 3.3 Kết quả hiệu chỉnh cho mô hình KNN
Bảng 3.4 So sánh sai số các phương pháp Ensemble
Bảng 3.5 Hiệu chỉnh phương pháp Gradient Boosting
Bảng 3.6: Kết quả huấn luyện và cân bằng thuật toán trên dữ liệu huấn luyện
Bảng 3.7: Chỉ số mở cửa của VNINDEX và quyết định bán, mua
Trang 16MỤC LỤC
PHẦN MỞ ĐẦU 1
1 Đặt vấn đề 1
2 Mục tiêu và phương pháp nghiên cứu 1
3 Phạm vi và đối tượng nghiên cứu 2
4 Nội dung thực hiện 2
5 Kết quả nghiên cứu 2
6 Các nghiên cứu trước đây 2
7 Thu thập dữ liệu 2
8 Đóng góp của nghiên cứu 2
9 Cấu trúc của đồ án 3
CHƯƠNG 1: GIỚI THIỆU VỀ THUẬT TOÁN K NEAREST NEIGHBORS 4
1.1 Cơ sở lý thuyết 4
1.1.1 KNN (K Nearest Neighbors) là gì? Ưu điểm và nhược điểm của KNN 4
1.2 Các khái niệm liên quan: 4
1.2.1 Linear Regression (LR): 4
1.2.2 Lasso 6
1.2.3 Elastic Net (EN) 7
1.2.4 Decision Tree Regressor (CART): 7
1.2.5 Support Vector Regressor (SVM) 8
1.3 Mô hình thuật toán KNN 12
1.3.1 Mô hình KNN và các đặc điểm cơ bản 12
1.3.2 Cách thức một thuận toán KNN hoạt động 13
1.3.3 Một số thước đo trong việc lựa chọn mô hình thuật toán 15
1.5 Sự vượt trội của dự báo 16
1.6 Việc ứng dụng mô hình KNN trong dự báo – bằng chứng thực nghiệm 17
CHƯƠNG 2: THIẾT KẾ MÔ HÌNH HỒI QUY DỰ BÁO GIÁ CHỨNG KHOÁN 24
2.1 Thiết kế mô hình hồi quy để dựa báo giá chứng khoán với nhóm biến kinh tế vĩ mô 24
2.1.1 Lựa chọn biến kinh tế vĩ mô tác động đến giá chứng khoán: 24
Trang 172.1.2 Thu nhập dữ liệu Kinh tế: 24
2.1.3 Các bước thực hiện 27
2.1.4 Chọn ra mô hình thuật toán tốt nhất: KNN 29
2.1.4.2 Cải thiện thuật toán với phương pháp tinh chỉnh Hyperparameter: 31
2.1.4.3 So sánh với các thuật toán sử dụng phương pháp Ensemble 32
2.1.4.4 So sánh GBM và KNN 35
2.2 Sử dụng thuật toán KNN để dự đoán giá VNINDEX: 36
2.2.1 K-Nearest Neighbors là gì? 36
2.2.2 Phương pháp và cách thức: 37
2.2.3 Sử dụng mô hình KNN 40
CHƯƠNG 3: KẾT QUẢ NGHIÊN CỨU 41
3.1 Sự tác động giữa VNINDEX và các chỉ số khác: 41
3.2 Kết quả chọn lựa thuật toán 41
3.2.1 Sai số toàn phương của các mô hình thuật toán 41
3.2.2 Hiệu chỉnh mô hình KNN 42
3.2.3 Phương pháp Ensemble và hiệu chỉnh Ensemble 42
3.2.4 So sánh GBM và KNN 43
3.3 Áp dụng mô hình để tạo chiến lược trao đổi 44
CHƯƠNG 4: MỘT SỐ ĐỀ XUẤT VÀ HƯỚNG PHÁT TRIỂN TỪ QUÁ TRÌNH PHÂN TÍCH VÀ DỰ BÁO GÍ CHỨNG KHOÁN VIỆT NAM 47
4.1 Xu hướng dự báo giá chứng khoán tại thị trường Việt Nam 47
4.1.1 Nhu cầu chơi chứng khoán 47
4.1.2 Nhu cầu muốn đoán giá chứng khoán 49
4.2 Ưu điểm của phương pháp mang lại cho thị trường chứng khoán tại Việt Nam 51 4.3 Những hạn chế của quá trình nghiên cứu 52
4.4 Một số đề xuất từ quá trình nghiên cứu và hướng phát triển của dự án cho thị trường chứng khoán Việt Nam 53
4.4.1 Một số các đề xuất của nhóm: 53
4.4.2 Hướng phát triển dự án: 54
KẾT LUẬN 57
Trang 18PHỤ LỤC 61
Trang 19PHẦN MỞ ĐẦU
1 Đặt vấn đề
Bước vào giai đoạn cả thế giới đang ngày càng chạy đua với sự phát triển của công nghệ, điển hình là cuộc cách mạng công nghiệp lần thứ tư với những thay đổi và phát triển vượt bật của công nghệ thông tin Trí tuệ nhân tạo (AI) là những cái tên được nhắc đến nhiều nhất trong giai đoạn này AI là một phần của khoa học máy tính, phát triển công nghệ theo hướng tự động hóa, tự học vì vậy phải cần một kiến thức vững chắc để
có thể vận hành nó
Đi cùng với sự phát triển của công nghệ, xu hướng mà các nhà phát triển công nghệ đang theo đuổi đó chính là các ứng dụng có hỗ trợ và tích hợp trí tuệ nhân tạo là nền tảng của cuộc cách mạng công nghệ 4.0 Machine Learning là một bộ phận của trí tuệ nhân tạo, được sinh ra từ khả năng nhận diện mẫu có sẳn và từ những lý thuyết trên máy tính
có thể tự học mà không cần phải lập trình Hầu hết mọi nghành công nghiệp đang hoạt động với số lượng lớn dữ liệu đều nhận ra tầm quan trọng của học máy (Machine Learning)
Đã có rất nhiều ứng dụng của trí tuệ nhân tạo trên các lĩnh vực khoa học, công nghệ
và kinh tế - tài chính Từ những thập niên trước, việc ứng dụng các thuật toán để dự báo các giá trị, các biến trong kinh tế đã được thực hiện và cải tiến qua nhiều giai đoạn khác nhau Dựa trên những kiến thức học được và qua quá trình nghiên cứu trong vấn đề này
Nhóm đã lựa chọn đề tài: “Dự đoán chỉ số VNINDEX sử dụng MACHINE
LEARNING” Để thấy được sự thay đổi của các chỉ số giá và sự thay đổi của các biến
số chứng khoán nói chung và sàn chứng khoán VNIndex nói riêng
2 Mục tiêu và phương pháp nghiên cứu
Tìm hiểu phân tích, đánh giá và áp dụng thuật toán KNN trong dự đoán chỉ số Vn index và giá cổ phiếu Tìm ra những ưu nhược điểm của thuật toán dựa trên đó đưa ra một số phương án dự báo cho doanh nghiệp và nhà đầu tư Dựa trên việc thu thập các thông tin sơ cấp và thứ cấp, kết hợp với phân tích và xử lý dữ liệu để đưa ra kết quả
Trang 203 Phạm vi và đối tượng nghiên cứu
Đồ án tập trung nghiên cứu về các chỉ số chứng khoán nói chung và chỉ số VNINDEX nói riêng với số liệu đưa ra để thực hiện trong vòng 20 năm từ năm 2000 đến năm 2019
4 Nội dung thực hiện
Tìm ra các biến số tác động đến giá chứng khoán từ đó thiết kế một mô hình hồi quy với thuật toán tốt nhất
Đưa ra các biện pháp giúp cải thiện thuật toán để đạt độ chính xác cao
Sử dụng thuật toán KNN (K Nearest Neighbors) để dự đoán giá VNINDEX
5 Kết quả nghiên cứu
Nghiên cứu chỉ ra được kết quả của quyết định mua hay bán tại thời điểm xem xem Với giá trị predict signal là 1 thì nhà đầu tư nên thực hiện lệnh mua và lệnh bán được khuyên khi predict signal cho ra kết quả là -1
6 Các nghiên cứu trước đây
Hiện nay có rất nhiều nghiên cứu về những biến động của thị trường chứng khoán (TTCK) trên thì trường thế giới và ở Việt Nam Nhóm đã tham khảo các nghiên cứu về biến động của TTCK Việt Nam thông qua chỉ số VN-Index để hoàn thành đề tài cách tốt nhất Các báo cáo trước đây bao gồm: luận văn của Tiến sĩ Lê Đạt Chí, Tanuwijaya, Julius & Hansun, Seng (2019) LQ45 Stock Index Prediction using k-Nearest Neighbors Regression, International Journal of Recent Technology and Engineering Khan, W Ghazanfar, M A Asam, M Iqbal, A Ahmad, S Javed Ali Khan (2016) Predicting trend in stock market exchange using machine learning classifiers Sci.Int.(Lahore),28(2),1363-1367” cùng với những bài báo kinh tế và các nghiên cứu khác
7 Thu thập dữ liệu
Dữ liệu được nhóm thu thập tại các trang web: org.vn, vietnambiz.vn theo phương pháp thu thập, tổng hợp, sàn lọc để đưa ra được dữ liệu cuối cùng có tính nhất quán về thời gian cũng như số lượng tham số
8 Đóng góp của nghiên cứu
Trang 21Nghiên cứu làm ra nhằm tăng độ chính xác của dự báo xu hướng tăng giảm của giá chứng khoán, tạo thêm cơ sở để quyết định lệnh mua hay bán tại thời điểm xem xét Góp phần ngắn ngừa rủi ro, tăng lợi nhuận, là cơ sở giúp nhà đầu tư đưa ra quyết định phù hợp tại thời điểm được nhắc đến
9 Cấu trúc của đồ án
Đồ án gồm 6 chương:
Chương 1: Giới thiệu về thuật toán KNN (K Nearest Neighbors)
Chương 2: Thiết kế mô hình dự báo chỉ số VNINDEX
Chương 3: Kết quả nghiên cứu
Chương 4: Một số đề xuất và hướng phát triển từ quá trình phân tích và dự báo giá chứng khoán Việt Nam
Chương 5: Kết luận
Chương 6: Tài liệu tham khảo
Trang 22CHƯƠNG 1: GIỚI THIỆU VỀ THUẬT TOÁN K NEAREST NEIGHBORS 1.1 Cơ sở lý thuyết
1.1.1 KNN (K Nearest Neighbors) là gì? Ưu điểm và nhược điểm của KNN
KNN là một trong những thuật toán đơn giản nhất trong tất cả các thuật toán học máy (Machine Learning) được giám sát Nó chỉ đơn giản là tính toán khoảng cách của một điểm dữ liệu mới đến tất cả các điểm dữ liệu huấn luyện khác Khoảng cách có thể
là bất kỳ loại nào, ví dụ Euclide hoặc Manhattan, vv Sau đó, nó chọn các điểm dữ liệu gần nhất của K, trong đó K có thể là bất kỳ số nguyên nào Cuối cùng, nó gán điểm dữ liệu cho lớp mà phần lớn các điểm dữ liệu K thuộc về
Ưu điểm:
1 Nó rất dễ thực hiện
2 Đây là thuật toán học lười biếng và do đó không cần đào tạo trước khi đưa ra
dự đoán theo thời gian thực Điều này làm cho thuật toán KNN nhanh hơn nhiều so với các thuật toán khác yêu cầu đào tạo, ví dụ như SVM, hồi quy tuyến tính , v.v
3 Vì thuật toán không yêu cầu đào tạo trước khi đưa ra dự đoán, dữ liệu mới có thể được thêm vào một cách liền mạch
4 Chỉ có hai tham số cần thiết để thực hiện KNN, tức là giá trị của K và hàm khoảng cách (ví dụ: Euclid hoặc Manhattan, v.v.)
3 Cuối cùng, thuật toán KNN không hoạt động tốt với các tính năng phân loại vì rất khó tìm thấy khoảng cách giữa các kích thước với các tính năng phân loại
1.2 Các khái niệm liên quan:
1.2.1 Linear Regression (LR):
Trang 23Hồi quy tuyến tính là một cách tiếp cận tuyến tính để mô hình hóa mối quan hệ giữa một phản ứng vô hướng (hoặc biến phụ thuộc) và một hoặc nhiều biến giải thích (hoặc biến độc lập) Trường hợp của một biến giải thích được gọi là hồi quy tuyến tính đơn giản Đối với nhiều hơn một biến giải thích, quá trình này được gọi là hồi quy tuyến tính bội Biểu thức này khác với hồi quy tuyến tính đa biến, trong đó nhiều biến phụ thuộc tương quan được dự đoán thay vì một biến vô hướng
Trong trường hợp hồi quy tuyến tính, các mối quan hệ được mô hình hóa với các hàm dự đoán tuyến tính, các tham số mô hình chưa biết được ước tính từ dữ liệu Các
mô hình như vậy được gọi là mô hình tuyến tính Thông thường, giá trị trung bình có điều kiện của một phản hồi, được đưa ra các giá trị của các biến giải thích (hoặc dự đoán)
đã cho, được coi là hàm affine của các giá trị này; ít thường xuyên hơn, trung vị có điều kiện hoặc một số lượng tử khác được sử dụng Như với tất cả các hình thức phân tích hồi quy, hồi quy tuyến tính tập trung vào phân phối xác suất có điều kiện của phản hồi, có tính đến các giá trị của các yếu tố dự đoán, thay vì phân phối xác suất kết hợp của các biến này, là miền phân tích đa biến
Ba cách sử dụng chính để phân tích hồi quy là: xác định cường độ của các yếu tố
dự báo, dự báo hiệu ứng và dự báo xu hướng
Hồi quy tuyến tính biểu diễn là một phương trình tuyến tính kết hợp một tập hợp các giá trị đầu vào (x) cụ thể mà giải pháp là đầu ra dự đoán cho tập hợp các giá trị đầu vào đó (y) Như vậy, cả giá trị đầu vào (x) và giá trị đầu ra đều là số
Phương trình tuyến tính gán một hệ số tỷ lệ cho mỗi giá trị đầu vào hoặc cột, được gọi là hệ số và được biểu thị bằng chữ Hy Lạp Beta (B) Một hệ số bổ sung cũng được thêm vào, tạo cho dòng một mức độ tự do bổ sung (ví dụ: di chuyển lên và xuống trên một đồ thị hai chiều) và thường được gọi là hệ số chặn hoặc hệ số sai lệch
Ví dụ, trong một bài toán hồi quy đơn giản (một x đơn và một y), dạng của mô hình
sẽ là:
Trang 24Trong các kích thước cao hơn khi chúng ta có nhiều đầu vào (x), dòng được gọi là mặt phẳng hoặc siêu phẳng Do đó, biểu diễn là dạng của phương trình và các giá trị cụ thể được sử dụng cho các hệ số (ví dụ B0 và B1 trong ví dụ trên)
Người ta thường nói về sự phức tạp của mô hình hồi quy như hồi quy tuyến tính Điều này đề cập đến số lượng các hệ số được sử dụng trong mô hình
Khi một hệ số trở thành 0, nó sẽ loại bỏ hiệu quả ảnh hưởng của biến đầu vào trên
mô hình và do đó khỏi dự đoán được thực hiện từ mô hình (0 * x = 0)
Hồi quy tuyến tính được nghiên cứu rất dài và có rất nhiều tài liệu về cách dữ liệu phải được cấu trúc để sử dụng tốt nhất mô hình
Khi thử các phương pháp khác nhau của bằng cách sử dụng các phương pháp phỏng đoán này và xem điều gì làm việc tốt nhất cho bộ dữ liệu hiện tại
Công thức tổng quát của Lasso Regression khác một chút ở phía cuối công thức, thay vì bình phương wi, hay chính là hệ số β như Ridge Regression, thì ở đây công thức Lasso lấy trị tuyệt đối
(1.2)
Trang 251.2.3 Elastic Net (EN)
Hồi quy tuyến tính đàn hồi sử dụng các ứng dụng từ các kỹ thuật lasso và Ridge để chuẩn hóa các mô hình hồi quy Kỹ thuật này kết hợp cả hai phương pháp hồi quy lasso và ridge regression bằng cách học hỏi từ những thiếu sót của chúng để cải thiện việc chính quy hóa các mô hình thống kê
Công thức tổng quát của Elastic Net:
(1.3)
1.2.4 Decision Tree Regressor (CART):
Decision Tree Regressor là một trong những phương pháp mô hình dự đoán được
sử dụng trong thống kê , khai thác dữ liệu và học máy Nó sử dụng decision tree (như một mô hình dự đoán) để đi từ các quan sát về một vật phẩm (được biểu thị trong các nhánh) để đưa ra kết luận về giá trị mục tiêu của vật phẩm (được biểu thị trong các lá) Các mô hình cây trong đó biến mục tiêu có thể lấy một tập các giá trị rời rạc được gọi là classification trees, trong các cấu trúc cây này, leaves đại diện cho nhãn lớp và các nhánh đại diện cho conjunctions các tính năng dẫn đến các nhãn lớp Cây quyết định trong đó biến mục tiêu có thể lấy giá trị liên tục (thường là số thực ) được gọi
là regression trees
Regression trees quyết định sử dụng chính nguyên lý hoạt động của các phương trình hồi quy, đó là tìm ra mối quan hệ giữa những biến độc lập với biến phụ thuộc, giữa những biến đầu vào và biến dự báo, cũng vì vậy nên được gọi là Regression tree
Tuy nhiên nếu nhìn vào các mô hình Regression tree, chỉ thấy được sự tác động của biến này hay biến kia đến giá trị sau cùng của biến mục tiêu, nói cách khác, chỉ xác định được mối quan hệ nhân quả giữa các biến thông qua diễn giải Decision rules (hoặc nguyên lý nếu…thì) nhưng không thể nhìn thấy mức độ quan hệ, hay biến mục tiêu và các biến đầu vào quan hệ như thế nào về mặt định lượng, qua đó để dự báo giá trị của biến mục tiêu Ta xem qua ví dụ dưới đây:
Trang 26Hình 1.1: Sơ đồ mô hình Regression tree dự báo giá của một chiếc xe Toyota
(nguồn: https://bigdatauni.com)
Mô hình dựa trên 3 biến: tuổi đời chiếc xe (Age), trọng lượng (Weight) và mã lực (Horse power – HP), đã được chọn lọc trong 12 biến có được trong tập dữ liệu về 1000 chiếc xe Toyota Corolla, được lấy ra 600 để làm tập dữ liệu training Ví dụ với chiếc xe
có độ tuổi là 55, mã lực bằng 100 thì có thể bán với giá 9358$ Có thể thấy mối quan hệ giữa độ tuổi với giá trị của chiếc xe, tức độ tuổi cao hay thấp sẽ có tác động nhất định với giá trị của chiếc xe, tương tự như mã lực cao hay thấp, tuy nhiên tác động của độ tuổi, và mã lực đến giá xe, tác động nào mạnh hơn, lớn hơn? Dựa trên mô hình cây quyết định khó có thể xác định được Cũng chính vì thế, để diễn giải kết quả phân tích hồi quy, hoặc mô tả mối quan hệ theo cách định lượng hóa, thì mô hình cây quyết định thường không được phổ biến hay ưu tiên áp dụng, mà thay vào đó là sử dụng những phương trình hay mô hình hồi quy bao gồm các công thức định lượng mối quan hệ giữa các biến, các phương pháp kiểm định để chắc chắn các biến có mối liên hệ, và kết hợp với những
đồ thị trực quan
1.2.5 Support Vector Regressor (SVM)
Support Vector Regressor (SVM) là các mô hình học có giám sát với các thuật toán học liên quan để phân tích dữ liệu được sử dụng để phân loại và phân tích hồi
Trang 27quy Đưa ra một tập hợp các ví dụ đào tạo, mỗi ví dụ được đánh dấu thuộc về một hoặc hai loại khác, thuật toán đào tạo SVM xây dựng một mô hình gán các ví dụ mới cho một loại hoặc loại khác, làm cho nó trở thành một phân loại tuyến tính nhị phân không xác suất (mặc dù các phương thức chẳng hạn như chia tỷ lệ tồn tại để sử dụng SVM trong cài đặt phân loại xác suất) Một mô hình SVM là một đại diện của các ví dụ dưới dạng các điểm trong không gian, được ánh xạ sao cho các ví dụ về các loại riêng biệt được chia cho một khoảng cách rõ ràng càng rộng càng tốt Các ví dụ mới sau đó được ánh xạ vào cùng một không gian và được dự đoán sẽ thuộc về một thể loại dựa trên mặt của khoảng trống mà chúng rơi xuống
Để tìm hiểu rõ hơn về SVM, sau đây là ví dụ về cách thức hoạt động
Giả sử có một lô gồm hai lớp nhãn như trong hình bên dưới:
Hình 1.2: Sự phân bố của các nhãn trong cùng mặt phẳng
(nguồn: www.analyticsvidhya.com)
Làm sao để hình thành một đường phân cách cho 2 loại nhãn này
Trang 29Hình 1.5: thực hiện tách nhãn sau khi thay đổi trục xét
Trang 30Đây là những gì SVM làm Nó cố gắng tìm một dòng / siêu phẳng (trong không gian đa chiều) ngăn cách hai lớp này Sau đó, nó phân loại điểm mới tùy thuộc vào việc
nó nằm ở phía dương hay âm của siêu phẳng phụ thuộc vào các lớp để dự đoán
1.3 Mô hình thuật toán KNN
1.3.1 Mô hình KNN và các đặc điểm cơ bản
Một cách thực hiện đơn giản của hồi quy KNN là tính trung bình của mục tiêu số của K lân cận gần nhất Một cách tiếp cận khác sử dụng trung bình khoảng cách nghịch đảo của K lân cận gần nhất Hồi quy KNN sử dụng các hàm khoảng cách giống như phân loại KNN Các hàm sử dụng trong KNN
Euclidean: √∑𝑘 (𝑥𝑖 − 𝑦𝑖)2
Manhattan: ∑𝑘𝑖=1|𝑥𝑖 − 𝑦𝑖| (1.5) Minkowski: (∑𝑘𝑖=1(|𝑥𝑖 − 𝑦𝑖|)𝑞)
1
𝑞 (1.6)
Ba biện pháp khoảng cách trên chỉ có giá trị cho các biến liên tục Trong trường hợp các biến phân loại, bạn phải sử dụng khoảng cách Hamming, đây là thước đo số lượng phiên bản trong đó các ký hiệu tương ứng khác nhau ở hai chuỗi có độ dài bằng nhau Công thức tích khoảng cách Hamming:
DH= ∑𝑘𝑖=1|𝑥𝑖 − 𝑦𝑖| (1.7)
x=y =>D=0 x≠ 𝑦 => 𝐷 = 1Chọn giá trị tối ưu cho K được thực hiện tốt nhất bằng cách kiểm tra dữ liệu trước tiên Nói chung, giá trị K lớn chính xác hơn vì nó làm giảm nhiễu tổng thể Tuy nhiên,
sự thỏa hiệp là các ranh giới riêng biệt trong không gian tính năng bị mờ Xác thực chéo
là một cách khác để xác định lại giá trị K tốt bằng cách sử dụng bộ dữ liệu độc lập để xác thực giá trị K của bạn K tối ưu cho hầu hết các bộ dữ liệu là 10 trở lên Điều đó tạo
ra kết quả tốt hơn nhiều so với 1-NN
Trang 31Khoảng cách chuẩn hóa
Một nhược điểm lớn trong việc tính toán các thước đo khoảng cách trực tiếp từ tập huấn luyện là trong trường hợp các biến có các thang đo khác nhau hoặc có sự pha trộn của các biến số và phân loại Ví dụ: nếu một biến dựa trên thu nhập hàng năm tính bằng
đô la và biến còn lại dựa trên tuổi theo năm thì thu nhập sẽ có ảnh hưởng cao hơn nhiều đến khoảng cách tính toán Một giải pháp là chuẩn hóa tập huấn luyện như hình dưới đây
Xs= 𝑋−𝑀𝑖𝑛𝑀𝑎𝑥−𝑀𝑖𝑛 (1.8)
Hình 1.7: Chuẩn hóa tập huấn luyện trong trường hợp các biến có thang đo khác nhau
(nguồn: www.saedsayad.com)
Như đã đề cập trong Phân loại KNN bằng cách sử dụng khoảng cách chuẩn hóa trên cùng một tập huấn luyện, trường hợp chưa biết đã trả về một hàng xóm khác không
phải là dấu hiệu tốt của sự mạnh mẽ
1.3.2 Cách thức một thuận toán KNN hoạt động
Thuật toán này hoạt động với sự trợ giúp của một ví dụ đơn giản Giả sử có một tập dữ liệu với hai biến, khi được vẽ, trông giống như một biến trong hình dưới đây
Trang 32
Hình 1.8: Đồ thị của tập dữ liệu hai biến
Trang 33Hình 1.9: Xác định 3 điểm gần nhất với khoảng cách tối thiểu là X
(nguồn: www.tutorialspoint.com)
Bước cuối cùng của thuật toán KNN là gán điểm mới cho lớp mà phần lớn trong
số ba điểm gần nhất thuộc về Từ hình trên, chúng ta có thể thấy rằng hai trong ba điểm gần nhất thuộc về lớp "Đỏ" trong khi một điểm thuộc về lớp "Màu xanh" Do đó, điểm
dữ liệu mới sẽ được phân loại là "Màu đỏ"
1.3.3 Một số thước đo trong việc lựa chọn mô hình thuật toán
Khi đã hiểu được cơ chế làm việc của thuật toán KNN Tại thời điểm này, câu hỏi đặt ra là Làm thế nào để chọn số lượng Neighbors tối ưu? Và tác dụng của nó đối với phân loại là gì? Số lượng lân cận (K) trong KNN là một siêu tham số cần chọn tại thời điểm xây dựng mô hình Chúng ta có thể nghĩ về K như một biến kiểm soát cho mô hình
số lượng lớn Neighbors sẽ có ranh giới quyết định mượt mà hơn có nghĩa là phương sai thấp hơn nhưng độ lệch cao hơn
Thông thường, các nhà khoa học dữ liệu chọn làm số lẻ nếu số lớp là số chẵn Bạn cũng có thể kiểm tra bằng cách tạo mô hình trên các giá trị khác nhau của k và kiểm tra hiệu suất của chúng
Để chọn K phù hợp với dữ liệu đang có, ta tiến hành chạy thuật toán KNN nhiều lần với các giá trị K khác nhau và chọn K làm giảm số lỗi gặp phải trong khi duy trì khả năng của thuật toán để đưa ra dự đoán chính xác khi dữ liệu được cung cấp
Trang 34Hình 1.10: Các điểm dữ liệu tương tự thường tồn tại gần nhau
(nguồn: towardsdatascience.com)
Một số điều cần lưu ý khi thay đổi giá trị của K:
Khi giảm giá trị của K xuống 1, dự đoán của trở nên kém ổn định hơn Ngược lại, khi tăng giá trị của K, dự đoán sẽ ổn định hơn do bỏ phiếu /trung bình đa số, và do đó, có nhiều khả năng đưa ra dự đoán chính xác hơn
1.5 Sự vượt trội của dự báo
Khoa học dữ liệu hoặc các khóa học thống kê ứng dụng thường bắt đầu bằng các
mô hình tuyến tính, nhưng theo cách của nó, K Nearest Neighbors là mô hình được sử
dụng rộng rãi nhất về mặt khái niệm Các mô hình KNN thực sự chỉ ra rằng những thứ
có chung các tính năng có xu hướng tốt, tương tự nhau Đây không phải là một cái nhìn sâu sắc, nhưng những triển khai thực tế này có thể cực kỳ hấp dẫn và đặc biệt đối với ai
đó tiếp cận một tập dữ liệu chưa biết, có thể xử lý phi tuyến tính mà không cần bất kỳ kỹ thuật hoặc mô hình dữ liệu phức tạp nào được thiết lập Các mô hình KNN dễ thực hiện
và xử lý tốt phi tuyến tính Lắp mô hình cũng có xu hướng nhanh chóng: rốt cuộc, máy
Trang 35tính không phải tính toán bất kỳ tham số hoặc giá trị cụ thể nào Sự đánh đổi ở đây là trong khi mô hình được thiết lập nhanh, dự đoán sẽ chậm hơn, vì để dự đoán kết quả cho một giá trị mới, nó sẽ cần tìm kiếm trong tất cả các điểm trong tập huấn luyện của nó để tìm ra điểm gần nhất Do đó, đối với các bộ dữ liệu lớn, KNN có thể là một phương pháp tương đối chậm so với các hồi quy khác có thể mất nhiều thời gian hơn để phù hợp nhưng sau đó đưa ra dự đoán của họ với các tính toán tương đối đơn giản
K Nearest Neighbors đã được đề xuất sáu mươi năm trước, nhưng vì nhu cầu bộ
nhớ lớn và tính toán, phương pháp này không phổ biến trong một thời gian dài Với những tiến bộ trong xử lý song song và với bộ nhớ và tính toán ngày càng rẻ hơn, các phương pháp như vậy gần đây đã được sử dụng rộng rãi hơn Thật không may, nó vẫn
có thể khá tốn kém về mặt tính toán khi nói đến tập dữ liệu đào tạo lớn vì chúng ta cần tính khoảng cách cho mỗi mẫu
Ngoài ra, khi xem xét các không gian có chiều thấp và có đủ dữ liệu, KNN hoạt động rất tốt về độ chính xác, vì chúng tôi có đủ các điểm dữ liệu gần đó để có câu trả lời tốt Khi số lượng kích thước tăng lên, thuật toán hoạt động kém nhất, điều này là do thực
tế là thước đo khoảng cách trở nên vô nghĩa khi kích thước của dữ liệu tăng đáng kể Mặt khác, k-NN khá mạnh mẽ đối với dữ liệu huấn luyện nhiều, đặc biệt là khi sử
dụng khoảng cách có trọng số
1.6 Việc ứng dụng mô hình KNN trong dự báo – bằng chứng thực nghiệm
Xét một ví dụ đơn giản, trong bảng sau - bao gồm giá trị chiều cao, tuổi và cân nặng (mục tiêu) cho 10 người Có thể thấy, giá trị trọng lượng của ID11 bị thiếu Cần
dự đoán cân nặng của người này dựa trên chiều cao và tuổi của họ
Lưu ý: Dữ liệu trong bảng này không đại diện cho các giá trị thực tế Nó chỉ được
sử dụng như một ví dụ để giải thích khái niệm này
Trang 36Bảng 1.1: Dữ liệu đầu vào của 11 ID
Trang 37(nguồn: www.analyticsvidhya.com)
Trong biểu đồ trên, trục y biểu thị chiều cao của một người (tính bằng feet) và trục
x đại diện cho tuổi (tính theo năm) Các điểm được đánh số theo các giá trị ID Điểm vàng (ID 11) là điểm kiểm tra của chúng ta
Nếu yêu cầu cần phải xác định trọng lượng của ID11 dựa trên cốt truyện, câu trả lời là gì? Có thể nói rằng vì ID11 gần với điểm 5 và 1 hơn nên nó phải có trọng lượng tương tự với các ID này, có thể trong khoảng 72-77 kg (trọng lượng của ID1 và ID5 từ bảng) Điều đó thực sự có ý nghĩa, nhưng thuật toán dự đoán các giá trị như thế nào? Bước đầu tiên là tính khoảng cách giữa điểm mới và từng điểm đào tạo Có nhiều phương pháp khác nhau để tính khoảng cách này, trong đó các phương pháp được biết đến nhiều nhất là - Euclidian, Manhattan (cho liên tục) và khoảng cách Hamming (cho phân loại)
1 Khoảng cách Euclide: Khoảng cách Euclide được tính là căn bậc hai của tổng
số chênh lệch bình phương giữa một điểm mới (x) và một điểm hiện có (y)
2 Khoảng cách Manhattan: Đây là khoảng cách giữa các vectơ thực bằng cách
sử dụng tổng của sự khác biệt tuyệt đối của chúng
3 Khoảng cách Hamming: Nó được sử dụng cho các biến phân loại Nếu giá trị (x) và giá trị (y) bằng nhau, khoảng cách D sẽ bằng 0 Mặt khác D = 1
Khi khoảng cách của một quan sát mới từ các điểm trong tập huấn luyện đã được
đo, bước tiếp theo là chọn các điểm gần nhất Số lượng điểm cần xem xét được xác định bởi giá trị của k
Trang 38Hình 1.12: Xác định các điểm cần xem xét theo giá trị K
(nguồn: www.analyticsvidhya.com)
Dự đoán về trọng lượng cho ID11 sẽ là:
Bảng 1.2: Bảng số liệu đầu vào (3 đối tượng)
Trang 39Hình 1.13: Xác định các điểm gần nhất với giá trị K=5
Trang 40ID 11 = (77 + 59 + 72 + 60 + 58) / 5
ID 11 = 65,2 kg
Kết quả cho thấy rằng dựa trên giá trị k, kết quả cuối cùng có xu hướng thay đổi Vậy thì làm thế nào chúng ta có thể tìm ra giá trị tối ưu của k? Cần tính toán lỗi cho tập huấn và giảm thiểu tối đa những lỗi đó Biểu đồ dưới đây về lỗi đào tạo và lỗi xác nhận cho các giá trị khác nhau của k
Hình 1.14: Biểu đồ về lỗi đào tạo cho các giá trị khác nhau của K
(nguồn: www.analyticsvidhya.com)