Báo cáo môn Học máy thống kê - Đề tài: 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ê  
ĐỀ 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ê  
ĐỀ 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  
4
Danh mục viết tắt  
MSE  
SSE  
Mean - Square Error  
Sum of Squared Errors  
LNR  
SVR  
RNN  
BPTT  
LSTM  
Linear Regression  
Support Vector Regression  
Recurrent Neural Network  
Backpropagation Through Time  
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-  
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  
2
∑ (  
)
θi − θi’  
Sai số bình phương (Squared error)  
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  
MSE = 1 ∑푛푖=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:  
β1 slope:  
hệ số chặn (khi các xi = 0)  
độ dốc  
y-axis  
(x , y )  
2
2
(x , y )  
1
1
x-axis  
Làm sao để "phát triển" một phương trình nối 2 điểm này?  
Cho hai điểm (x , y ) và (x , y )  
0
1
1
2
2
10  
y-axis  
(x , y )  
2
2
y2 – y1  
slope = ∆푦  
=
∆푥 x2 – x1  
(x , y )  
1
1
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  
푛
푖=1  
2
∑
(
)
푦푖 − 푦̂  
SSE =  
Ướ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  
푛
푖=1  
푛
2
∑
(
)
∑
(
푖=1  
)
푥푖 − 푥̅  
Trong đó: SSxy =  
푥푖 − 푥  
̅
(푦푖 − 푦̅) và SSx =  
14  
̂
̂
• Hệ số chặn của đường thẳng  
훽0 = 푦̅ - 훽1푥̅  
푛
푛
∑
∑
yi  
xi  
푖=1  
푖=1  
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  
Tải về để xem bản đầy đủ
pdf 44 trang yennguyen 18960 Free
Bạn đang xem 20 trang mẫu của tài liệu "Báo cáo môn Học máy thống kê - Đề tài: Stock price prediction", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbao_cao_mon_hoc_may_thong_ke_de_tai_stock_price_prediction.pdf