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
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
Giới thiệu bài toán ................................................................................................................7
Cơ sở lý thuyết..............................................................................................................................................8
Mô hình hồi quy............................................................................................................................8
Hàm tổn thất..................................................................................................................................8
Bài toán Hồi quy...........................................................................................................................9
2.3.1 Đo hiệu năng bài toán hồi quy .....................................................................................................9
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
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 đó.
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 đủ
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:
bao_cao_mon_hoc_may_thong_ke_de_tai_stock_price_prediction.pdf

