Báo cáo môn Học máy thống kê: Stock price prediction
lượt xem 20
download
Mục tiêu của đề tài là nghiên cứu về ý tưởng, kỹ thuật cốt lõi của các thuật toán hồi quy đã được học và áp dụng chúng để giải quyết một vấn đề thực tiễn trong đời sống. qua đó chúng em đánh giá kết quả thực nghiệm, phân tích thách thức và đề xuất hướng giải quyết trong tương lai.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Báo cáo môn Học máy thống kê: Stock price prediction
- ĐẠI HỌC QUỐC GIA TP. HCM ĐẠI HỌC CÔNG NGHỆ THÔNG TIN --------------- --------------- BÁO CÁO Môn: Học máy thống kê Lớp : DS102.L21 ĐỀ TÀI: STOCK PRICE PREDICTION GIẢNG VIÊN HƯỚNG DẪN: TS. Nguyễn Tấn Trần Minh Khang Th.S. Võ Duy Nguyên Hồ Thái Ngọc NHÓM THỰC HIỆN: Nguyễn Lương Toàn - 18521510 Nguyễn Anh Phi - 19522005 TPHCM, Ngày 16 tháng 6 năm 2021 1
- ĐẠI HỌC QUỐC GIA TP. HCM ĐẠI HỌC CÔNG NGHỆ THÔNG TIN --------------- --------------- BÁO CÁO Môn: Học máy thống kê Lớp : DS102.L21 ĐỀ TÀI: STOCK PRICE PREDICTION GIẢNG VIÊN HƯỚNG DẪN: TS. Nguyễn Tấn Trần Minh Khang Th.S. Võ Duy Nguyên Hồ Thái Ngọc NHÓM THỰC HIỆN: Nguyễn Lương Toàn - 18521510 Nguyễn Anh Phi - 19522005 TPHCM, Ngày 16 tháng 6 năm 2021 2
- LỜI CẢM ƠN Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến Trường Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM và xin gửi lời cảm ơn sâu sắc nhất tới TS. Nguyễn Tấn Trần Minh Khang, người thầy đã trực tiếp giảng dạy, hướng dẫn và tận tình chỉ bảo chúng em trong suốt quá trình học tập. Chân thành cảm ơn ThS. Võ Duy Nguyên, anh Hồ Thái Ngọc đã hỗ trợ, giúp đỡ và đóng góp nhiều ý kiến quý báu cho chúng em trong suốt môn học cũng như thực hiện đồ án. Trong quá trình thực hiện nhóm chúng em đã vận dụng những kiến thức nền tảng đã tích lũy đồng thời kết hợp với việc học hỏi và nghiên cứu những kiến thức mới. Từ đó đã vận dụng tối đa những gì đã thu thập được để hoàn thành một báo cáo đồ án tốt nhất. Tuy nhiên, khi thực hiện chắc chắn không tránh khỏi được những sai sót. Chính vì vậy, chúng em rất mong nhận được sự góp ý của thầy cô nhằm hoàn thiện những kiến thức mà nhóm chúng em đã học tập và là hành trang để thực hiện tiếp các đề tài khác trong tương lai. Nhóm em xin chân thành cảm ơn quý Thầy Cô! TP. Hồ Chí Minh, ngày 10 tháng 6 năm 2021 3
- MỤC LỤC Tóm tắt nội dung LỜI CẢM ƠN.............................................................................................................................................. 3 Danh mục viết tắt.......................................................................................................................................... 5 Tổng quan ..................................................................................................................................................... 7 1.1. Giới thiệu đề tài ............................................................................................................................ 7 1.1.1. Giới thiệu bài toán ................................................................................................................ 7 Cơ sở lý thuyết .............................................................................................................................................. 8 2.1 Mô hình hồi quy ............................................................................................................................ 8 2.2 Hàm tổn thất.................................................................................................................................. 8 2.3 Bài toán Hồi quy ........................................................................................................................... 9 2.3.1 Đo hiệu năng bài toán hồi quy ..................................................................................................... 9 2.4 Nội dung........................................................................................................................................ 9 2.4.1 Hồi quy tuyến tính........................................................................................................................ 9 2.4.2 Support Vector Machine – Regression (SVR) ........................................................................... 15 2.4.3 Long Short-Term Memory (LSTM) .......................................................................................... 19 ............................................................................................................................................................ 27 Thực nghiệm ............................................................................................................................................... 28 3.1. Phân tích tập dữ liệu .................................................................................................................... 28 3.2. Các bước tiến hành ...................................................................................................................... 32 3.3. Kết quả thực nghiệm.................................................................................................................... 33 Kết luận ....................................................................................................................................................... 42 4.1. Những kết quả đạt được.................................................................................................................. 42 4.2. Khó khăn .......................................................................................................................................... 42 4.2. Hướng phát triển ............................................................................................................................. 42 Bảng phân chia công việc ............................................................................................................................ 43 Tài liệu tham khảo....................................................................................................................................... 44 4
- Danh mục viết tắt MSE Mean - Square Error SSE Sum of Squared Errors LNR Linear Regression SVR Support Vector Regression RNN Recurrent Neural Network BPTT Backpropagation Through Time LSTM Long Short Term Memory 5
- Tóm tắt đồ án Trong bối cảnh cả thế giới đang điên đảo vì thị trường tài chính và chứng khoán, trí tuệ nhân tạo cũng là một lĩnh vực đang lớn mạnh lên từng ngày. Tại sao chúng ta không thử kết hợp chúng lại để tạo nên những điều kì diệu. Trong đồ án môn học này, chúng em tập trung xây dựng các mô hình dự đoán giá tương lai của thị trường chứng khoán dựa trên dữ liệu của những năm trước. Tập dữ liệu được cung cấp gồm dữ liệu lịch sử chứa các bản ghi về giá cổ phiếu của nhiều cổ phiếu khác nhau như Apple, Tesla, Microsoft, Facebook. Tập dữ liệu cũng chứa giá cổ phiếu theo ngày với giá mở cửa, đóng cửa, cao và thấp cùng với khối lượng giao dịch vào ngày đó. Tập dữ liệu được lấy từ nguồn: https://www.kaggle.com/altruistdelhite04/loan- prediction-problem-dataset Dữ liệu đầu ra của bài toán (Close price) là các giá trị thực và gần như liên tục nên bài toán thuộc dạng hồi quy. Mục tiêu của đồ án là nghiên cứu về ý tưởng, kỹ thuật cốt lõi của các thuật toán hồi quy đã được học và áp dụng chúng để giải quyết một vấn đề thực tiễn trong đời sống. qua đó chúng em đánh giá kết quả thực nghiệm, phân tích thách thức và đề xuất hướng giải quyết trong tương lai. 6
- Chương 1 Tổng quan 1.1. Giới thiệu đề tài 1.1.1. Giới thiệu bài toán Với tập dữ liệu có các thuộc tính như sau Hình 1.1. Tập dữ liệu Bài toán yêu cầu dựa vào tập dữ liệu lịch sử chứa các bản ghi về giá cổ phiếu, hãy chọn lựa và xây dựng một mô hình dự đoán giá tương lai của thị trường chứng khoán (cụ thể ở đây gồm 4 loại cổ phiếu là Apple, Tesla, Microsoft, Facebook) và tất nhiên là không thể thiếu phần đánh giá về độ chính xác của mô hình. 7
- Chương 2 Cơ sở lý thuyết 2.1 Mô hình hồi quy Xét: Y = f(X) + ε • Các phương pháp học giám sát: – Học bởi các ví dụ (quan sát) - “Learn by example” – Xây dựng mô hình f’ sử dụng tập các quan sát đã được gắn nhãn (X(1), Y(1)), …, (X(n), Y(n)) – Y có kiểu dữ liệu liên tục • Giải thuật học – Lấy hàm ước lượng “tốt nhất” trong tập các hàm • Ví dụ: Hồi quy tuyến tính – Chọn 1 ước lượng tốt nhất từ dữ liệu học trong tập các hàm tuyến tính f(X) = β0 + β 1X1 + … + β dXd 2.2 Hàm tổn thất Sai số bình phương (Squared error) ∑𝑖(θi − θi’)2 Sai số tuyệt đối (Absolute error) ∑𝑖 | θi − θi’| 8
- 2.3 Bài toán Hồi quy f’ = argmin E[L(Y, 𝑓̃(𝑋))] (argument minimum: Cho giá trị nhỏ nhất của 1 hàm số trong miền xác định) 2.3.1 Đo hiệu năng bài toán hồi quy Hàm tổn thất (Loss function): loại hàm dùng để đo lường sai số của mô hình • Vd: Sai số bình phương trung bình (Mean squared error - MSE) – Độ đo thông dụng dùng để tính độ chính xác bài toán hồi quy 1 𝑛 MSE = ∑𝑖=1(𝑦̂ (𝑖) − 𝑦 (𝑖) )2 𝑛 – Tập trung đo các sai số lớn hơn là các sai số nhỏ 2.4 Nội dung 2.4.1 Hồi quy tuyến tính Tại sao dùng hồi quy tuyến tính? – Mối quan hệ tuyến tính: là sự biến đổi tuân theo quy luật hàm bậc nhất – Tìm một mô hình (phương trình) để mô tả một mối liên quan giữa X và Y – Ta có thể biến đổi các biến đầu vào để tạo ra mối quan hệ tuyến tính – Diễn giải các mối quan hệ giữa biến đầu vào và đầu ra - sử dụng cho bài toán suy diễn Hồi quy tuyến tính đơn giản 9
- • Biến đầu ra Y và biến đầu vào X có mối quan hệ tuyến tính giữa X và Y như sau: Y = β0 + β1X + ε • Các tham số của mô hình: β0 intercept: hệ số chặn (khi các xi = 0) β1 slope: độ dốc y-axis (x2, y2) (x1, y1) 0 Cho hai điểm (x1, y1) và (x2, y2) x-axis Làm sao để "phát triển" một phương trình nối 2 điểm này? 10
- y-axis (x2, y2) ∆𝑦 y2 – y1 (x1, y1) slope = = ∆𝑥 x2 – x1 x-axis 0 • Tìm gradient (slope): độ dốc. • Tìm hệ số chặn (intercept) (hệ số khởi đầu của y khi x=0) y = f(x) = β1X + β0 11
- Hình 2.1. Mô phỏng hồi quy tuyến tính đơn giản • β0 và β1 chưa biết Ta ước tính giá trị của chúng từ dữ liệu đầu vào • Lấy 𝛽̂0, 𝛽̂1 sao cho mô hình đạt “xấp xỉ tốt nhất” (“good fit”) đối với tập huấn luyện Các giả định • Mối liên quan giữa X và Y là tuyến tính (linear) về tham số • X không có sai số ngẫu nhiên • Giá trị của Y độc lập với nhau (vd, Y1 không liên quan với Y2) • Sai số ngẫu nhiên (ε): phân bố chuẩn, trung bình 0, phương sai bất biến ε ~ N(0, s2) Đường thẳng phù hợp nhất Cho tập dữ liệu đầu vào, ta cần tìm cách tính toán các tham số của phương trình đường thẳng Đường thẳng phù hợp nhất là đường giảm thiểu độ dao động của các lỗi này 12
- Hình 2.2. Đường thẳng phù hợp nhất. Bình phương nhỏ nhất • Thông thường, để đánh giá độ phù hợp của mô hình từ dữ liệu quan sát ta sử dụng phương pháp bình phương nhỏ nhất (least squares) • Lỗi bình phương trung bình (Mean squared error): Đường thẳng phù hợp nhất Rất hiếm để có 1 đường thẳng khớp chính xác với dữ liệu, do vậy luôn tồn tại lỗi gắn liền với đường thẳng. Đường thẳng phù hợp nhất là đường giảm thiểu độ dao động của các lỗi này. 13
- Phần dư (lỗi) Biểu thức (yi - yˆ ) được gọi là lỗi hoặc phần dư ei = (yi- 𝑦̂) Đường thẳng phù hợp nhất tìm thấy khi tổng bình phương lỗi là nhỏ nhất SSE = ∑𝑛𝑖=1(𝑦𝑖 − 𝑦̂)2 Ước lượng tham số • Các ước số 𝛽̂0, 𝛽̂1 tính được bằng cách cực tiểu hóa MSE SSxy • Hệ số chặn của đường thẳng 𝛽̂1 = SSx Trong đó: SSxy = ∑𝑛𝑖=1(𝑥𝑖 − 𝑥̅ ) (𝑦𝑖 − 𝑦̅) và SSx = ∑𝑛𝑖=1(𝑥𝑖 − 𝑥̅ )2 14
- • Hệ số chặn của đường thẳng 𝛽̂0 = 𝑦̅ - 𝛽̂1𝑥̅ ∑𝑛 𝑖=1 yi ∑𝑛 𝑖=1 xi Trong đó: 𝑦̅ = 𝑥̅ = n n 2.4.2 Support Vector Machine – Regression (SVR) Support Vector Machine cũng có thể được sử dụng như một phương pháp hồi quy, duy trì tất cả các tính năng chính đặc trưng cho thuật toán. Support Vector Regression (SVR) sử dụng các nguyên tắc tương tự như SVM để phân loại, chỉ có một số khác biệt nhỏ. Trước hết, bởi vì đầu ra là một số thực nên rất khó dự đoán thông tin có trong tay. Trong trường hợp hồi quy, biên độ dung sai (epsilon) được đặt gần đúng với SVM đã được yêu cầu từ bài toán. Nhưng bên cạnh thực tế này, cũng có một lý do phức tạp hơn, thuật toán phức tạp hơn do đó cần được xem xét. Tuy nhiên, ý tưởng chính luôn giống nhau: để giảm thiểu lỗi, cá nhân hóa siêu mặt phẳng (hyperlane) để tối đa hóa sự chính xác, lưu ý rằng một phần lỗi được chấp nhận. 15
- Hình 2.3. Giải thích SVR. Hình 2.4. Giải thích SVR. - SVR tuyến tính - SVR không tuyến tính Các hàm nhân biến đổi dữ liệu thành không gian đặc trưng có chiều cao hơn để có thể thực hiện phân tách tuyến tính. 16
- Hình 2.5. Giải thích SVR. Kernel function - Một vài loại kernel-SVR thường được sử dụng: + Linear kernel-SVR. + Polynomial kernel-SVR. + Sigmoid kernel-SVR. + Radial Basis Function kernel-SVR 17
- Linear kernel-SVR là kernel mặc định của SVR, chỉ sử dụng cho tập dữ liệu có phân phối tuyến tính. Đối với dữ liệu phi tuyến, có hai loại kernel được sử dụng nhiều đó là Polynomial kernel-SVR và Radial Basis Function Kernel-SVR. 18
- 2.4.3 Long Short-Term Memory (LSTM) Giới thiệu về Recurrent Neural Network Trước khi đi sâu vào giải thích chi tiết mạng LSTM, nhóm sẽ giới thiệu sơ qua về mạng nơ-ron hồi quy (Recurrent Neural Network -RNN). Đây là mạng nơ-ron nhân tạo được thiết kế cho việc xử lý các loại dữ liệu có dạng chuỗi tuần tự. Trong mạng RNN, trạng thái ẩn tại mỗi bước thời gian sẽ được tính toán dựa vào dữ liệu đầu vào tại bước thời gian tương ứng và các thông tin có được từ bước thời gian trước đó, tạo khả năng ghi nhớ các thông tin đã được tính toán ở những bước thời gian trước cho mạng. Hình 2.6. Kiến trúc của một mạng RNN cơ bản khi được duỗi ra. 19
- Trong Hình 2.1, xét tại mỗi bước thời gian t theo chiều từ dưới lên trên, x(t) là giá trị đầu vào. h(t) là trạng thái ẩn. o(t) là giá trị đầu ra. U, W, V là các ma trận trọng số của mạng RNN. L là hàm tính mất mát giữa giá trị ra o(t) từ mạng RNN và giá trị đầu ra chuẩn y(t) từ tập dữ liệu. Đi sâu vào kiến thức chi tiết hơn, chúng ta xem các vector x(1), x(2), …, x(τ) đại diện cho các phần tử trong chuỗi dữ liệu đầu vào, tại mỗi bước thời gian t, mạng RNN nhận lần lượt từng vector x (t) và thực hiện những tính toán để ánh xạ thành chuỗi đầu ra được mô tả bởi các phương trình sau: 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
BÁO CÁO THỰC TẬP KỸ THUẬT CƠ KHÍ – KHOA KỸ THUẬT CÔNG NGHỆ
81 p | 1804 | 735
-
Báo cáo môn học Quản trị mạng
30 p | 1692 | 282
-
Báo cáo thực tập động cơ tại công ty cổ phần cơ khí ô tô 3 - 2
67 p | 837 | 202
-
Báo cáo: xây dựng phần mềm”Quản lý các đợt thực tập của sinh viên”
33 p | 563 | 178
-
Báo cáo đồ án môn học Hệ chuyên gia: Xây dựng hệ chuyên gia chẩn đoán lỗi phần cứng máy tính
15 p | 344 | 69
-
Đề tài " BÁO CÁO TÌM HIỂU HỆ THỐNG ĐIỆN NHÀ MÁY ĐẠM NINH BÌNH "
35 p | 276 | 64
-
Báo cáo khoa học: PHƯƠNG PHÁP Q-LEARNING VÀ ỨNG DỤNG CỦA PHƯƠNG PHÁP NÀY TRONG VIỆC GIẢI QUYẾT MỘT SỐ BÀI TOÁN TÌM ĐƯỜNG
10 p | 462 | 55
-
Báo cáo môn học lưới điện
71 p | 150 | 47
-
Báo cáo đồ án môn Cơ điện tử: Nghiên cứu, thiết kế Mobile Robot dạng bốn bánh vận chuyển phôi trong nhà máy
38 p | 77 | 30
-
Báo cáo tốt nghiệp: Tính toán, thiết kế hệ thống xử lý nước thải sinh hoạt nhà máy sản xuất bo mạch điện tử công suất 200 m3/ngày đêm
69 p | 59 | 23
-
Báo cáo môn học Hệ thống tự động hóa nhà máy xi măng: Nghiên cứu hệ thống điều khiển dây chuyền sản xuất Xi măng Công ty Xi măng Bỉm Sơn
33 p | 90 | 20
-
Báo cáo tóm tắt Đề tài khoa học và công nghệ cấp Trường: Nghiên cứu xây dựng hệ thống bài giảng môn học sửa chữa và bảo trì máy tính kết hợp nền tảng web và điện toán đám mây
65 p | 55 | 10
-
Báo cáo khoa học: "XÂY DỰNG THÍ NGHIỆM ỔN ĐỊNH THANH BỊ NÉN"
4 p | 83 | 10
-
Báo cáo khoa học: "Phân tích dầu bôi trơn và hạt mài mòn Trong chẩn đoán kỹ thuật máy"
3 p | 74 | 8
-
Báo cáo khoa học: "XÁC ĐỊNH CÁC ĐẶC TRƯNG HAO MÒN MẶT LĂN VÀ LỢI BÁNH XE ĐẦU MÁY D20E VẬN DỤNG TẠI XÍ NGHIỆP ĐẦU MÁY ĐÀ NẴNG"
8 p | 81 | 7
-
Báo cáo khoa học: XÁC ĐỊNH THỜI HẠN LÀM VIỆC CỦA BỘ TRỤC BÁNH XE ĐẦU MÁY D20E VẬN DỤNG TẠI XÍ NGHIỆP ĐẦU MÁY ĐÀ NẴNG
8 p | 91 | 7
-
Báo cáo " Môn học toàn cầu hoá và pháp luật ở Khoa luật, Đại học Tây Anh Quốc "
2 p | 54 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn