1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Hệ thống thông tin: Dựa trên phân tích cảm xúc và học máy xây dựng mô hình dự báo tiền mã hóa và chứng khoán

58 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Du bao tien ma hoa va chung khoan
Tác giả Nguyen Thi Viet Huong
Người hướng dẫn PGS.TS Nguyen Denh Thuan
Trường học Truong Dai Hoc Cong Nghe Thong Tin
Chuyên ngành Thuong Mai Dien Tu
Thể loại Khoa Luan Tot Nghiep
Năm xuất bản 2023
Thành phố TP. Ho Chi Minh
Định dạng
Số trang 58
Dung lượng 25,29 MB

Nội dung

Nhận thay tam quan trong của van đề, khoá luận này đề xuất và xây dựng một hệthống cung cấp cho người dùng hai dịch vụ chính là sử dụng các mô hình thống kê trong dự đoán thời gian dài v

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HQC CONG NGHE THONG TIN

KHOA HE THONG THONG TIN

NGUYEN THI VIET HUONG - 19521595

KHOA LUAN TOT NGHIEP

DỰA TREN PHAN TÍCH CAM XUC VA HOC MAY XÂY DUNG MO HÌNH DỰ BAO TIEN MA HOÁ VÀ

CHUNG KHOAN

BASED ON SENTIMENT ANALYSIS AND MACHINE LEARNING: BUILDING FORECASTING MODELS FOR CRYPTOCURRENCY

AND STOCK PRICES

CU NHAN NGANH THUONG MAI DIEN TU

GIANG VIEN HUONG DAN PGS.TS NGUYEN ĐÌNH THUAN

Trang 2

LỜI CẢM ƠN

Lời đầu tiên, chúng em xin được cảm ơn trường Đại học Công nghệ Thông tin - Đại

học Quốc gia Thành phố Hồ Chí Minh đã tạo điều kiện tốt nhất để chúng em có thể học

tập và phát triển Học tập tại đây, chúng em đã gặp được rất nhiều những thầy cô, những người bạn, và những con người tuyệt vời, song song đó là những cơ hội quý giá để phát

triển ban thân trong sự nghiệp lẫn cuộc sống Đề hoàn hoàn thành khóa luận này, chúng

em xin được gửi lời cảm ơn đặc biệt đến những người sau đây.

Chúng em xin trân trọng gửi lời cảm ơn tới thầy PGS.TS Nguyễn Đình Thuân và KS Nguyễn Minh Nhựt, những người đã hết lòng giúp đỡ chúng em trong con đường nghiên cứu lẫn học tập Thầy Thuan là một nguồn cảm hứng to lớn cho em có thể tự tin và vượt

qua vô số thử thách trên con đường học tập và nghiên cứu trong suốt thời gian qua.

Tiếp theo, chúng em muốn dành lời cảm ơn đến những thầy cô trong trường, đã dạy

dỗ và truyền đạt những kinh nghiệm, kiến thức quý báu trong suốt những năm học Bên cạnh đó, chúng em muốn gửi lời cảm ơn các thay cô trong khoa Hệ Thống Thông Tin đã

tạo nhiều cơ hội dé chúng em có thé phát triển Chúng em cũng muốn cảm ơn những anh chị và những người bạn đã luôn đồng hành cùng chúng em trong suốt hành trình học đại

học, đặc biệt là các bạn ở lớp TMCL2019 và các bạn ở nhóm nghiên cứu FTISU.

Cuối cùng, chúng em muốn gửi lời cảm ơn đến bố mẹ, gia đình cùng những người thân của chúng em, những người đã luôn đồng hành, tin tưởng, ủng hộ, và quan tâm giúp

đỡ chúng em trong những lúc khó khăn nhất Không có mọi người, chúng em đã không thể có được như ngày hôm nay.

Trang 3

MỤC LỤC

I9 1W v04: 900090777 6 4+£—äAÃŒHH)H 1 9:10/9)/c0180/92710000 3 DoD canh 3

Na na :đg- L 3

1.3 Mục tiêu của để tài - 222 tt 22H 221121 4 1.4 Đối tượng và phạm vi nghiên CỨU ¿+ ¿+ ++++2£2£2£+*+£££+£+Eztzrerserererrs 4

1.4.1 Đối tượng nghiên cứu -¿-+¿©22++22+++E2+2EEEEEEEtEEEEtEEESrkrrrrkrrrrrrerree 4

1.4.2 Phạm vi nghiên cỨU -¿ - +52 2 E*EE2% 2 EEk£k*EESEkEkEEx kg re 4

1.5 Kiến trúc đề tài -cs 222 222 22221 221211122211122221112211112.111112.112 2 ca 5

1.6 Các đóng BÓp ch ng HT HT ngàn 6

CHƯƠNG 2: CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN - 7

CHƯƠNG 3 CƠ SỞ LÝ THUYẾT -22 ©22222222222EEEE22EEEEtSEEEEtrErvrrrrrrrree 10

3.1 Lý thuyết chuỗi thời gian

3.1.1 Định nghĩa chuỗi thời gian ¿-5¿5+25t‡2xt2Ext2EveEEverxrerrerrrsrrrrrrrek 10

3.1.2 Các thành phần của chuỗi thời gian

3.2 Các lý thuyết và kỹ thuật

3.2.1 Sentiment Analysis

K25 0000 1n 15

Trang 4

3.2.3.1 AR

c5 20 k2 20

3.2.4.4 Gradient BOOSK cá HT TH TH HH HH TH Hi 26

3.2.4.5 LSTM VN 0w cac ÁCL LH HH HH HH TH ky 26

3.2.4.6 GRUP TR ee MOO a LG HH rà, 28

CHƯƠNG 4: NỘI DUNG VÀ PHƯƠNG PHAP 0 csssscssssesssseesseeessessssecsssecssesesseees 30

4.1 Tổng quan và tiền xử lý ¿ 2:-22222221222122211222112211127112111 211.211 xe, 30

4.2 Các giai đoạn chính - ¿+ + + +11 91 121211111 1 111111 10101010 110101010 ri 32 4.2.1 Pharse 1 — Học mô hình dự báo - - ¿+55 +32 +22 *++£+z++eeeeeesrreesexse 32

4.2.2 Pharse 2 — Quy trình xây dựng hệ thống API -©z+c5+z5++ 34 4.2.2.1 Thiết kế thành phần chức năng 2 2¿+++22+z+2++z+zx+z+zxeez 34 4.2.2.2 Thiết kế thành phần dit liệu -2¿-2¿22222+++22x++2Exezrxersrreee 37 4.2.3 Pharse 3 — Triển khai hệ thống API lên Server Cloud Linux 40 4.2.4 Pharse 4 — Xây dựng giao diện và giao tiếp API -©cccccsscsrx 4I

Trang 5

CHƯƠNG 5 THỰC NGHIỆM VÀ ĐÁNH GIÁ

5.1 Dữ Liệu Sử Dụng ¿+11 TT nh TH TH nh Hàn nh Hàn re 45 5.2 Chia BO Dit ma 46

5.3 Thông Số Đánh Gid eeesseeccssssecssssescesseecesssecessnsecesssecessnsesesnsecessnesessnsesesaneceesnees 47

na “ 47

mg 48

XS ni 0 .ố 4‹(2ŒÄä.,), H 49

5.4 Kết Quả Và Thảo Luận -222222:2222 2222221111222 E111 re 50

5.4.1 Sentiment Analysis Và Các Trường Hợp Dự Đoán Dựa Trên Ensemble

Learning 6 ⁄⁄22-.„6t , Â Le 50

5.4.2 Trường Hợp Dự Doan Dựa Trên Mô Hình Thong Kê 58

CHUONG 6 TONG KET VA HƯỚNG PHAT TRIEN ::::::¿¿¿2:zẻ2 62

6.1 Han Chế Và Công Việc Trong Tương Laii cccscscecsseecssescssecsssecssecsseecsneessneesseees 62 6.2 Kết Luận c2 22tvv 21212 1 1221 tr HH re 63 TÀI LIEU THAM KHẢO 22222222222222222222E222EE222212222211 22221 2E re 64

Trang 6

DANH MỤC HÌNH ẢNH

Hình 1.1 Kiến trúc hệ thống -¿- 22 22©+£+2E+22EEE2EEEE222122221227312711222122211 22x e2 5

Hình 3.1 Biểu đồ thể hiện giá (USD) của Bitcoin theo thời gian -+ 10

Hình 3.2 Các thành phần của chuỗi thời gian trong Decomposition of time series

Hình 3.3 Các bước dé tiền xử lý và làm sạch một tweet

Hình 3.4 Các bước chính của kỹ thuật Bagging cho bài tốn hồi quy 17

Hình 3.5 Các bước chính của kỹ thuật Boosting cho bài tốn Hồi quy 18 Hình 3.6 Cấu trúc cơ bản của mơ hình LSTM -¿-2¿+z22++2c+++tzxeerzxesrx 27

Hình 3.7 Cấu trúc cơ bản của mơ hình GRU -.¿¿¿22vv+++22vvvvrssrrrrerrree 28

Hình 4.1 Minh họa tổng quan về quá trình xử lý tổng thể và các thuật tốn được sử dụng

trong thực nghiệm này

Hình 4.2 Trang web dùng để download dữ liệu Bitcoin

Hình 4.3 Đồ thị về Closing Price theo thời gian của indexes BTC, TSLA, và TWTR 34

Hình 4.4.Usecase tổng quan hệ thống dự báo và khuyến nghị BTC, TWTR, và

TSLA ỂG Te T É xốệt c.cnhiiheeie 35

Hình 4.5 Class diagram hệ thống ¿+ ©2+¿2©2++2E+++EE+++EE+tSEEErerxrerrrrerrrrrrs 37 Hình 4.6 Sequence Diagram Dự báo giá BTC, TWTR, và TSLA 40

Hình 4.7 File cấu hình crontab -++++++++++++++2222222222222222200000000.0 41

Hình 4.8 API auto crawl data tại €OrItFỌÏ€T - -¿- c2 3+ *+E+vEeesereeesesrereeevse 4I Hình 4.9 Hàm auto crawl data tại S€TVIC€ - cà 3n 2.1 *2 v9 1xx rrrriyn 4I

Hình 4.10 Màn hình tổng quan Home - 2 2£©+£+2E+£+EE+£+EEE2zx+tzrxzerrsrsrx 42 Hình 4.11 Màn hình tổng quan Ethereum 2-2¿2+++2+++22++t2zxetrrxesrrrcrrs 42

Hình 4.12 Màn hình xem lịch sử giá BitCoin ee ences ee k Street 4

Hình 4.13 Màn hình lựa chọn thuật tốn và dự báo 43

Hình 5.1.Cross Validation được minh hoa với k=

Trang 7

Hình 5.2 Trực quan hóa kết quả của các thuật toán tốt nhất cho các mô hình chi số BTC

Trang 8

DANH MỤC TỪ VIẾT TÁT

Số thứ tự | Thuật ngữ Mô tả

1 AI Artificial Intelligence

2 API Application Programming Interface

3 CPU Central Processing Unit

4 DL Deep Learning

5 GPU Graphics Processing Unit

6 ML Machine Learning

7 RAM Random-Access Memory

8 NLP Natural Language Processing

9 IR Information Retrieval

10 QA Question Answering

11 NLI Natural Language Inference

Trang 9

Nhận thay tam quan trong của van đề, khoá luận này đề xuất và xây dựng một hệ

thống cung cấp cho người dùng hai dịch vụ chính là sử dụng các mô hình thống kê trong

dự đoán thời gian dài và đề xuất thêm các kĩ thuật Sentiment Analysis dựa trên tweets

của người dùng để tăng khả năng dự đoán và kết hợp thêm Ensemble Learning trong dự đoán thời gian ngắn.

1.3 Mục tiêu của đề tài

Mục tiêu đề tài bao gồm:

e Mô tả các đặc tinh của các mô hình dự báo chuỗi thời gian, trí tuệ nhân tạo từ đó

đánh giá sự phù hợp của mô hình đề xuất và áp dụng vào dự báo.

e_ Sử dụng dữ liệu trong quá khứ thông qua mô hình dự báo chuỗi thời gian và thuật

toán trí tuệ nhân tạo dé dự báo giá trị và đưa ra các quyết định trong tương lai.

e Tim hiểu cách hoạt động và kết hợp giữa các mô hình dự báo như: LR, EN, AB,

GB, LSTM, GRU, AR, ES, NNETAR, TBATS, GARCH, và phương pháp kết

hợp Boosting, Bagging.

e Đề xuất và xây dựng website dự báo giá (tiền mã hoa và chứng khoán) bằng các

thuật toán đề xuất, thông qua trang web: https://finance.yahoo.com.

e Phân tích quan điểm của các người dùng tiền mã hoá, chứng khoán và những

người có ảnh hưởng lớn.

1.4 Đối tượng và phạm vỉ nghiên cứu

1.4.1 Đối tượng nghiên cứu

© Nghién cứu dữ liệu giá tiền mã hoá (BTC) va chứng khoán (TWTR, TSLA) từ

năm 2015 — 2022.

e Binh luận của người dùng và người có ảnh hưởng lớn từ năm 2015 — 2022.

Trang 10

e Mô hình trí tuệ nhân tao: LR, EN, AB, GB, LSTM, GRU.

¢ _ Các mô hình kết hợp: Boosting, Bagging.

¢ Bộ dữ liệu về lịch sử giá (tiền mã hoá và chứng khoán): crawl từ website

Yahoo!Finance.

¢ Ngôn ngữ lập trình sử dung: Python, Java Springboot, Nextjs, các framework và

thu vién lién quan.

e Phương pháp crawl dữ liệu thong qua API của Twitter: Thư viện Scrapy, Tweepy

¢ Kiến thức xây dung Website.

1.5 Kiến trúc dé tài

| L

PART 1 TEST MODEL FORECAST PART 2 BUILDING API SERVER

‘Sentiment Analyse 1 ae, +, Choose Best Modet————> (PubliefModel

State Models

xa

Linux Server ora MySOL

Jayaseipt oss) Nexis HTML

Hinh 1.1 Kién tric hé thong

Mô tả kiến trúc đề tài (Hình 1.1) gồm 4 pharse cơ bản như sau:

e Triển khai Pharse 1: Học trên các mô hình dự báo, sau đó chọn ra mô hình dự báo

tốt nhất đề tiền hành dự báo Từ PART /, tat cả mô hình máy học được đưa vào

PART 2 thư mục public.

Trang 11

Triển khai Pharse 2: Xây dựng các API clone dữ liệu từ Website BTC, TWTR và

TSLA về, xây dựng các Controller, kiến trúc CSDL.

Triển khai Pharse 3: Giai đoạn đưa API lên Cloud Server Linux, dùng cơ chế

CRON Schedule của hệ điều hành Linux cho các hoạt động định thời chạy các

mô hình máy học hoặc lấy dữ liệu từ Website Data BTC/TWTR/ TSLA.

Triển khai Pharse 4: Ở PART 3, xây dựng Website Client để người dùng có thé

thây giá trị dự báo.

1.6 Các đóng góp

Xây dựng các mô hình dự đoán giá tiền mã hoá và chứng khoán thông qua phân tích cảm xúc, thực nghiệm kiểm thử.

Xây dựng cơ chế CRON chạy mô hình theo thời gian thực.

Xây dựng Controller phù hợp cho mô hình dựa trên Framework của nhóm nghiên cứu.

Cấu hình Dynamic Param cho từng ngày.

Hỗ trợ thiết kế giao diện.

Coding thành phan giao diện Component.

Quản lý bảo trì hệ thống chạy ồn định.

Trang 12

CHƯƠNG 2: CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN

Dựa trên các đặc điểm, từ khóa liên quan về các thử nghiệm liên quan đến dự đoán,

học máy, học sâu, phân tích tình cảm, v.v chúng tôi đã tìm kiếm các bài báo liên quan

trong những năm gần đây và dựa vào những bài toán đó dé thực hiện nghiên cứu này và thể hiện chỉ tiết qua Bảng 2.1 dưới đây.

Những thành công của trí tuệ nhân tạo trong những năm gần đây đã làm cho các

nghiên cứu về dự báo giá chứng khoán được cải thiện về độ chính xác và hiệu suất Việc kết hợp các mô hình không chỉ hạn chế sai số từ mô hình đơn thông thường mà còn khai thác được thế mạnh tiềm ẩn bên trong các mô hình Với mục tiêu đó, Subhajit

Chakrabarty et al [1] đã áp dụng các mô hình bao gồm Support Vector Regression,

Decision Tree Regression, Gradient Boosted Regression, Rvàom Forest Regression, Ada Boost, Extreme gradient boost (XGBoost), Light Gradient Boosted Machine

(LightGBM), Long Short-Term Memory (LSTM) va Stacked Generalization ensemble

để dự đoán giá chứng khoán S&P 500 với bộ dữ liệu khoảng 29 năm.

Sự kết hợp giữa các mô hình giúp cho kết quả dự báo tối ưu hơn, điều này đã được chứng minh qua bài viết “Predicting Market Performance with Hybrid Model” của

Mehak Usmani et al [2] Trong đó, họ sử dụng các thuật toán bao gồm ARIMA, SMA,

Radial Basis Function và hai biến thể của Mạng nơ-ron nhân tạo, nhờ các phép đo của

mô hình với độ chính xác trên 70%.

Thuật toán đơn có một số sai sót dẫn đến ước tính không chính xác và mô hình không

phù hợp để triển khai thực tế, Yuanning Liu et al [3] đã dự đoán mô hình cơ sở và cải tiến nó bằng kỹ thuật Bagging va Stacking dé mô hình đạt hiệu suất tốt hơn, giá trị dự đoán gần với giá trị thực hơn.

Các tác gia [4] đã dự đoán giá đóng cửa của thị trường chứng khoán trong khoảng 17

năm, từ ngày 4 thang 1 năm 2000 đến ngày 17 thang 1 năm 2017 Họ đã sử dụng phương pháp học sâu, LSTM và GRU dé dự đoán giá trị này thông qua các chỉ sé đánh giá như

Trang 13

RMSE và R? Kết quả cho thấy LSTM phù hợp với cả 2 tiêu chí, với RMSE nhỏ hơn

0,072 và R? đạt 85,5% kết quả dự đoán của mô hình LR - GD trên bộ dữ liệu của AAPL.

Thuật toán LSTM được nhóm tác giả [5] sử dụng trong việc dự đoán giá chứng khoán

dựa trên tác động của các cú sốc “máu công nghiệp” khác nhau - dau thô Với các tập dữ liệu lớn trong hơn 20 năm, kỹ thuật LSTM dựa trên biến đổi Fourier đã cải thiện độ chính

xác và góp phần vào hiệu suất dự báo kinh tế.

Các tác giả [6] đã sử dụng các kỹ thuật hồi quy, bao gồm Linear Regression, Lasso

Regression, Ridge Regression, Elastic Net Regression models, và Gradient Boost và Ada

Boost Regression cho các mô hình phi tuyến dé phân tích ham mắt mát Dựa trên King County Dataset, người ta đã chỉ ra rằng với các tiêu chí đánh giá R?, MSE và RMSE, Gradient Boost Regression là mô hình tối ưu nhất với độ chính xác hơn 90%.

Các tác giả [7] dự đoán khả năng sinh lợi của chứng khoán ngân hàng ở Ấn Độ dựa trên các yếu tố như chứng khoán hành động theo khối lượng bat kể quy mô, tính thanh

khoản hoặc doanh thu trong quá khứ của chúng Thông qua các chỉ ss MAE, MAPE, MSE và RMSE, mô hình XGBoost hoạt động tốt nhất so với Gradient Boost, Ada Boost

và Random Forest, với RMSE dao động từ 3% đến 5%, giúp nhà đầu tư có cái nhìn tổng

quan và đưa ra lựa chọn.

Các tác giả [8] đã dự báo giá chứng khoán của Thái Lan dựa trên dữ liệu tin tức hàng

ngày Bên cạnh các thuật toán phô biến Random Forest và Support Vector Regression,

nhóm tác giả còn sử dụng thuật toán Ada Boost để dự đoán mức độ biến động không chắc chắn của phiếu bầu đó Mô hình Support Vector Machine đã được dao tạo hiệu quả

với giá trị RMSE tối thiểu trong quá trình nghiên cứu - RMSE có thể giảm 8,63%.

Trang 14

Bảng 2.1 Tổng hợp các công việc liên quan về giá chứng khoán

Năm | — Tác giả Tên bài báo Mô hình sử dụng | Tập dữ liệu | Phân tích

cảm xúc

600030.SH,

Shensting Wu S I LSTM: stock price prediction 601988.SH,

2021 | va, a (91 based on multiple data sources và | LSTM,CNN _ | 601398.SH, Có

sentiment analysis 601939.SH,

601288.SH

Manish Stock Prediction Based on LSTM, EDLA- HDFC, Yes :

2021 | Agrawal và et | Technical Indicators Using Deep Khong

LSTM Bank, SBI

al [10] Learning Model

ARIMA, LSTM,

FBProphet, Facebook

Konark Yadav Stock values predictions using CNN + LSTM, Inc., Nike

2021 vaet al [11] deep learning-based hybrid CNN + Bi-LSTM, Inc., Khong

models FastRNN-based, | Uber, Apple

Fast RNN + CNN + Inc.

Bi-LSTM-based Ishu Gupta va HISA-SMFM: Historical va

2022 | ` P sentiment analysis-based stock LSTM Tata Motors Có

et al [12] A

market forecasting model

Paraskevas Stock Market Prediction Using

2022 | Koukaras va et Microblogging Sentiment KNN, SVM, LR, DJIA Có

al [13] Analysis và Machine Learning NB, DT, RF, MLP Xiaohang Ren, Fourier transform based LSTM

2022 | Weixi Xu và et | stock prediction model under oil S&P 500 Khong

LSTM

al [5] shocks

Trang 15

Các bài toán phổ biến trong lĩnh vực chuỗi thời gian bao gồm:

¢ Dự báo: Dự đoán giá trị của chuỗi thời gian trong tương lai Đây là bài toán quan

trọng trong kinh tế học, tài chính, sản xuất, marketing và nhiều lĩnh vực khác.

e Phan tích mùa vụ: Xác định và mô hình hóa các yếu tố mùa vụ trong đữ liệu

chuỗi thời gian Mùa vụ xuất hiện khi có sự biến động theo chu kỳ cé định trong một khoảng thời gian nhất định, chẳng hạn như mùa hè và mùa đông.

e Phan tích xu hướng: Xác định va mô hình hóa xu hướng tăng hoặc giảm trong

dữ liệu chuỗi thời gian Xu hướng thẻ hiện sự thay đổi thời gian dài và không

thường xuyên trong dữ liệu theo thời gian.

© Phan tích biến động chu kỳ: Xác định và mô hình hóa các biến động có chu kỳ

nhưng không thường kỳ trong dữ liệu chuỗi thời gian Biến động chu kỳ có thể gây ra các biến động kéo dài hơn so với mùa vụ và có thé không tuân theo các

chu kỳ đều đặn.

3.1.2 Các thành phần của chuỗi thời gian

Chuỗi thời gian có thé được phân thành các thành phan chính sau đây:

e Xu hướng (Trend): Thành phần xu hướng thé hiện sự thay đổi thời gian dài và

có xu hướng trong dữ liệu theo thời gian Xu hướng có thể tăng hoặc giảm theo

thời gian và cho thấy sự biến đổi thời gian dài của chuỗi thời gian Xu hướng có

thể là tuyến tính hoặc phi tuyến tính.

e Mia vu (Seasonality): Thành phần mùa vụ là sự biến đổi theo chu kỳ cố định

trong dữ liệu theo thời gian Nó xuất hiện khi có sự biến động định kỳ trong chuỗi

thời gian, thường xảy ra trong cùng một thời gian trong mỗi chu kỳ Mùa vụ có

thể có các chu kỳ hàng năm, quý, tháng hoặc tuần.

© Chu kỳ (Cycle): Thành phan chu kỳ thé hiện sự biến đổi có chu kỳ trong dữ liệu

chuỗi thời gian, nhưng không nhất thiết phải có chu kỳ đều đặn như mùa vụ Chu

kỳ thường kéo dài hơn so với mùa vụ và có thể không tuân theo các chu kỳ định

Trang 16

kỳ Nó thường liên quan đến các biến động kinh tế, tài chính hoặc công nghiệp

thời gian dai.

e Yéu tố bat thường (Irregular Remainder): Thành phần bất thường đại diện cho

sự biến đổi ngẫu nhiên và không thể dự đoán được trong đữ liệu chuỗi thời gian

Nó là sự khác biệt giữa giá trị quan sát thực tế và dự đoán dựa trên các thành phần

trên Thành phần bất thường thường được gán cho các biến động ngẫu nhiên, lỗi

đo lường hoặc tác động của các yếu tô không xác định khác

Các thành phần trên cùng nhau tạo nên dữ liệu trong chuỗi thời gian và cần được xác

định và mô hình hóa để hiểu và dự báo chuỗi thời gian một cách hiệu quả Quá trình

phân tích và mô hình hóa các thành phần này có thé sử dụng các phương pháp và kỹthuật trong lĩnh vực lý thuyết chuỗi thời gian và thong kê Trong Hinh 3.2 dưới đây minh

hoạ cho các thành phần của chuỗi thời gian.

Trang 17

3.2.1 Sentiment Analysis

Tiến hành thu thập các tweets trên Twitter dựa trên hashtags (#BTC, #TSLA,

#TWTR) được đề cập trong nội dung tweets của người dùng Các bài viết được lấy từ

ngày 1 tháng 1 năm 2015 đến ngày 27 tháng 10 năm 2022 thông qua API của Twitter sử

dụng Tweepy Sau đó, lấy 50 bình luận phổ biến nhất hàng ngày, dựa trên

result_type=popular' Điều này được thực hiện vì việc lấy toàn bộ bộ dữ liệu sẽ dẫn đếncác giá trị ngoại lệ đáng kể, gây ảnh hưởng đến phân tích tâm trạng ở bước tiếp theo Do

đó trong thực nghiệm này, chỉ lay cac tweets phé biến dựa trên số lượt bình chọn (tương

tác cho mỗi tweet) đã được thực hiện.

Sau khi thu thập tập dữ liệu tweets ban đầu, dữ liệu sẽ được xử lý và làm sạch Mộttweet sẽ bao gồm các thành phần sau: cụm từ, biêu tượng cảm xúc, ký hiệu, URL, đề cậpngười dùng, v.v Nếu dữ liệu được làm sạch, việc xử lý sẽ dễ dàng và thuận tiện hơn khi

sử dụng VADER để tiến hành Sentiment Analysis cho mỗi tweet Do đó, trong thựcnghiệm này đã tham khảo nghiên cứu [16] dé tiền xử lý và làm sạch cho một tweet, và

các bước chính đã thực hiện được mô tả trong Hình 3.3 dưới đây.

Reduce character Convert the comment to Remove xin ii

\}<———— excess (white) space, sequences >3 to 3 the lower case

Hình 3.3 Cac bước dé tiền xử ly và làm sạch một tweet

Các bước xử lý cụ thé được sử dụng trong khoá luận này bao gồm:

Trang 18

e Chuyến tất cả tweets thành chữ thường.

e Thay thé nhiều dau cham (.) bang khoảng trang

¢ Loại bỏ khoảng trang va dau ngoặc kép (” va ‘) ở đầu và cuối bình luận

e Thay thé hai hoặc nhiều khoảng trống bang một khoảng trống duy nhất

e Giảm số địa điểm được dé cập bởi người dùng

e Loại bỏ các từ trùng lặp trong một chuỗi bằng Python.

e_ Chuyên đối hashtag thành các từ quen thuộc.

e Loại bỏ biêu tượng cảm xúc không cân thiệt.

Sau khi tiền xử lý và làm sạch, sẽ thu được tập dữ liệu về sentiment Việc sử lí cáctweets tiéng anh, sử dung VADER - một thu viện được dùng cho Sentiment Analysis, sẽ

được sử dung va sé thu được các thông SỐ Sau: Compound, Polarity, Subjectivity,

Positive, Negative va Neural Cac thong số này sẽ đại diện cho các đặc điểm tâm trạngcủa mỗi tweet dé thé hiện quan điểm của họ Các thông số này sẽ được mô tả chỉ tiết

dưới đây:

e_ Compound: là một điểm dựa trên tong hợp tat cả các đánh giá từ vựng và sau đó

chuẩn hóa trong khoảng [-1:1] Nó thể hiện ở ba mức độ:

— Tính Positive: (điểm compound >= 0.05)

— Tính Neural: (điểm compound > -0.05) và (điểm compound < 0.05)

— Tính Negative: (điểm compound <= -0.05)

e Polarity: hiển thi sự khách quan của các câu trong khoảng từ [-1:1], với 1 có nghĩa

là một câu khẳng định tích cực và -1 có nghĩa là một câu phủ định.

e©_ Subjectivity: thé hiện những thái độ, cảm xúc và ý kiến cá nhân của một cá nhân,

trong khoảng [0:1], 1 có nghĩa là một câu có tính chủ quan va 0 có nghĩa là một câu khách quan.

¢ Positive: thể hiện tính tích cực của các câu trong khoảng từ [0:1]

e_ Negative: thê hiện tính tiêu cực của các câu trong khoảng từ [0:1]

14

Trang 19

e Neural: Không thé hiện tính tích cực hoặc tiêu cực của các câu trong khoảng từ

[0:1].

Sau khi có được các tham số cảm xúc của mỗi bài viết trên Twitter, tính toán cáctham số trung bình của 50 bài viết mỗi ngày Sau đó, chuyên đổi các tham số trung bình

này thành một bộ dữ liệu với Index column là Date Cuối cùng, thu được các tập dữ liệu

về Sentiment cuối cùng và tiễn hành các bước tiếp theo trong quá trình xử ly tổng thé

3.2.2 Ensemble Learning

Ensemble Learning [17] là một kỹ thuật may hoc két hop các dự đoán từ nhiều môhình dé cải thiện độ chính xác Hoạt động của Ensemble Learning dựa trên việc chia tập

dữ liệu thành các tập con nhỏ hơn, thực hiện các dự đoán độc lập trên mỗi tập con này,

và tính trung bình các chỉ số độ chính xác của các tập con này dé thu được kết quả cuốicùng Hơn nữa, có thê kết hợp các thuật toán khác nhau để tạo ra dự đoán cuối cùng

Trong khoá luận này, sử dung hai loại Ensemble Learning, là Bagging va Boosting, dé

cải thiện độ chính xác của các mô hình đơn lẻ thông thường trong việc dự đoán giá sau một ngày.

3.2.2.1 Bagging

Bagging [18] là một kỹ thuật Ensemble Learning kết hợp các mô hình bang cachhuấn luyện mỗi mô hình dựa trên các tập con của dữ liệu huấn luyện Trong Bagging,

mỗi mô hình được huấn luyện độc lập với các mô hình khác và có cùng trọng số trong

dự đoán cuối cùng Bagging giúp giảm rủi ro quá khớp bang cách huấn luyện các tập

con khác nhau của tập dữ liệu và giảm phương sai bằng cách kết hợp các mô hình này

Dưới đây là các bước chỉ tiết của Bagging được thực hiện trong khoá luận này.

Các bước chỉ tiết của việc thực hiện như sau:

e Bước 1 (Chia dữ liệu): Chia dữ liệu thành các tập con, từ đó tạo ra các tập con dữ

liệu huân luyện và kiêm tra đê đánh giá hiệu suat của mô hình sau khi dự đoán.

Trang 20

3.2.3.2 ES

Exponential Smoothing (ES) [22] là một kỹ thuật được sử dụng phô biến trong dựbáo chuỗi thời gian, trong đó trọng số trung bình động được tính toán cho các giá trịquan sát Phương pháp ES sử dụng một cách tiếp cận trung bình có trọng số, gán trọng

số cao hơn cho các quan sát gần nhất và thấp hơn cho các giá trị cũ hơn Phương phápnày giup giảm thiểu tác động của sự biến động ngẫu nhiên và các giá tri ngoại lệ lên dự

3.2.3.3 ETS

ETS (Exponential Smoothing) [23] là một kỹ thuật dự báo chuỗi thời gian được sử

dụng trong phân tích dit liệu Công thức ETS được sử dụng dé dự báo xu hướng và mô

hình sự thay đổi dữ liệu theo thời gian ETS là một trong những phương pháp dự báo

chuỗi thời gian phô biến nhất Nó được sử dụng đề dự đoán giá trị của một biến số trongtương lai dựa trên các giá trị quá khứ của biến số đó, sử dụng ba thành phần chính: thànhphan mùa vụ, thành phần xu hướng và yếu tố ngẫu nhiên Thanh phần mùa vụ đại diệncho sự biến thiên chu kỳ của dữ liệu vào cùng thời điểm hang năm

Ngược lại, thành phần xu hướng đại diện cho xu hướng tăng hoặc giảm của đữ liệutheo thời gian Thành phần ngẫu nhiên đại diện cho sự biến động ngẫu nhiên của dữ liệu

Công thức chung cho phương pháp ETS là:

20

Trang 21

đầu vào là các giá trị trễ của chuỗi thời gian, và các neuron đầu ra đại diện cho

các giá trị dự báo của chuỗi thời gian

e Bước 4: Mô hình được huấn luyện bằng thuật toán backpropagation dé tối thiêu

hóa sai số giữa các giá trị dự báo và thực tế

e Bước 5: Mô hình được sử dụng dé dự báo gia tri tiép theo của chuỗi thời gian, va

quy trình được lặp lại để dự báo giá trị trong tương lai.

Công thức chính xác của NNETAR phức tạp, phụ thuộc vào cấu trúc và các tham số

của mạng nơ-ron và mô hình ARIMA.

3.2.3.6 TBATS

TBATS [26] (Trigonometric seasonality, Box-Cox transformation, ARMA errors,

Trend, and Seasonal components) được giới thiệu bởi De Livera, Hyndman va Snyder

vào năm 2011 như một phương pháp dự báo chuỗi thời gian Day là một mở rộng của

phương pháp Exponential Smoothing (ETS) Nó dự báo chuỗi thời gian với các yếu tố

mùa vụ và các yếu tố khác như xu hướng, chu kỳ và yếu tô ngẫu nhiên.

Phương pháp TBATS sử dụng mô hình ARIMA (AutoRegressive Integrated Moving

Average) dé mô hình các yếu tô ngẫu nhiên và sử dụng các yếu tố chu kỳ dựa trên các

hàm lượng giác dé mô hình các yếu tố mùa vụ và các yếu tố khác Nó cũng sử dụng phépbiến đổi Box-Cox dé giảm độ lệch và tối ưu hóa phân phối các giá tri dit liệu

Phương pháp TBATS tính toán dự báo bằng cách phân rã chuỗi thời gian thành cácthành phần khác nhau và kết hợp chúng Các thành phần này bao gồm:

e 7: Thành phan xu hướng

e B: Thành phan mùa vụ được mô hình bằng các hàm lượng giác

e A: Thành phan mùa vụ tùy ý

e E: Thành phan sai số

e_ Box — Cox: Phép biến đổi Box-Cox.

Công thức chung cho phương pháp TBATS là:

Trang 22

Yeon = Te + Bethmoamt At+n + Et+n BoxCox(¥;,A) (8)

Với:

© Y.p là giá tri dự báo tại thời điểm £ + h

e 7, là giá trị của thành phan xu hướng tại thời điểm ¿

3.2.4 Các thuật toán trí tuệ nhân tạo

3.2.4.1 Linear Regression

Linear Regression [27] là một trong những thuật toán cơ bản và phô biến nhất của

mô hình Học có giám sát (Supervised Learning), trong đó đầu ra dự đoán một giá trị liên

tục Trong hồi quy tuyến tính đơn biến, tập dữ liệu đầu vào chỉ có một biến độc lập được

sử dụng dé xác định rằng giá trị trung bình tổng thé của biến phụ thuộc thay đổi khi giá

trị của biến độc lập thay đồi Hồi quy tuyến tinh đa biến là sự mở rộng của hồi quy tuyến

tính đơn nhiều biến độc lập Trong mô hình hồi quy tuyến tính, mối quan hệ giữa các

biến độc lập và biến phụ thuộc được biểu diễn bang một phương trình tuyến tính dựa

trên dữ liệu thu thập được.

Mà phương trình được xác định ở dạng tổng quát như sau:

Ÿ = BX; + Bo (1)

Trong đó: Ÿ là giá trị dự đoán của biến phụ thuộc, X; là tập giá trị của biến độc lập

với i € {1} khi mô hình hồi quy tuyến tính đơn biến và i e {1,2,3, , N} khi mô hình

hồi quy tuyến tinh đa biến, Ø; là tập hợp các hệ số hồi quy tương ứng với các giá trị của

biến độc lập Tương tự X;, giá trị thứ i của X; cũng thuộc {1} trong mô hình hồi quy đơn

biến và thuộc {1, 2, 3, , W} khi mô hình hồi quy đa biến Hệ số /; này được sử dụng dé

ước tính sự thay đổi của Y khi tăng một đơn vị X; khi tat cả các biến độc lập khác không

đi Bo là hệ số tự do, còn được gọi là "Độ lệch"

3.2.4.2 Elastic Net

Elastic Net Regression [28] là một dạng hồi quy tuyến tính bội cải tiễn dé giải quyết

các vân đê trong việc chọn đôi tượng từ các chiêu khác nhau băng cách sử dụng các

24

Trang 23

về của Ada Boost là giá trị trung bình của các mô hình dự đoán hoặc giá tri có tần suất

xuất hiện nhiều nhất trong các lần huấn luyện [36] Tính năng độc đáo của Ada Boost là

nó dễ bị ảnh hưởng bởi các tập dữ liệu có vẻ nhiễu và ngoại lệ, đồng thời ít nhạy cảm

hon với việc Overfitting.

3.2.4.4 Gradient Boost

Gradient Boosting, một mô hình phi tuyén tính, là một trong những kỹ thuật tăng

cường cho các van đề hồi quy [35] Mục tiêu của thuật toán này là tuần tự huấn luyện lại

lỗi của từng mô hình dự đoán yếu cho đến khi độ chính xác của mô hình được cải thiện

bang cách giảm gradient thuật toán của mô hình Tuy nhiên, GB rất dé bị Overfitting, vì

vậy cần có một breakpoint phù hợp dé tránh hiện tượng này [37] Công thức cho thuật

toán này là [48]:

FG) =) yan 3)

Trong đó h„ là weak learner, 1⁄ là hệ số được sử dung dé ước tính sự thay đổi của

giá trị dự đoán và x; là giá trị đầu vào

3.2.4.5 LSTM

LSTM là một biến thể của Recurrent Neural Network (RNN), ra đời từ thế kỷ 20

[38] giải quyết vấn đề bộ nhớ của Neural Network truyền thống và cải thiện khả năng

ghi nhớ thời gian đài so với RNN bằng cách huấn luyện các tham số trong mô hình [39]

Trong số đó, biến thé của RNN là LSTM cũng góp phan giải quyết nhược điểm về không

gian bộ nhớ thông qua 4 thành phần chính: Forgotten Gate Layer kiểm soát mức độ thiết

lập lại trạng thái của cell và Input Gate Layer dung dé quản lý cập nhật trạng thái của

cell, Updated Cell State Layer là cổng thông báo trạng thái cell và Output Gate Layer

dé kiểm soát lượng trạng thái cell được thêm vào hidden state (Hình 3.6)

Trang 24

Dựa vào kiến trúc chung bên trong mô hình LSTM ở trên, ta có các công thức mô tả

quá trình tính toán bên trong mô hình LSTM:

Forget gate layer: ƒ¿ = o(Wy [h;_+,x¿] + by)

Input gate layer: i, = ø(M.[h;_+,x¿] + b;)

Memory cell layer: C = tanh(W,[hy_1,X¢] + b„)

Update Cell State: C, = ƒ,.Œ¿_¡ + í¿ C,

Output gate layer: o, = ø(M⁄,.[h;_+,x¿| + bạ)

New State: h, = o; tanh(C;)

Trong đó x, là giá trị biến đầu vào, h;_; là đầu ra của lớp ân trước đó và đầu vào củalớp hiện tại là hàm truyền sigmoid dé ánh xạ các biến thông qua hai giá trị 0 và 1 và

trọng số W, và độ lệch b, C,_, là đơn vị bộ nhớ của thời điểm trước đó và C, là đơn vi

bộ nhớ tại thời điểm hiện tại Ngoài ra, còn có các ký hiệu của các lớp với h đại diện cholớp an, f đại diện cho cổng quên, và i và o tương ứng là các cổng đầu vào và dau ra [5],

[40].

27

Trang 25

3.2.4.6 GRU

Một biến thé khác của LSTM, có cấu trúc tương tự RNN và ra đời trong thé kỷ 20,

đó là GRU Sự khác biệt giữa GRU và LSTM là GRU sử dụng ít công hơn và có ít tham

số hơn nên sẽ tối ưu về thời gian huấn luyện, nhưng LSTM không yếu hơn GRU [41].LSTM rõ ràng hơn, hiệu suất tốt hơn khi huấn luyện các tập dữ liệu lớn [42]

GRU có hai cổng chính, được coi là đơn giản hơn LSTM: Reset Gate và Update Gate

Cả hai công được sử dụng dé xây dựng Hidden Gate State và quyết định dữ liệu nào sẽ

chuyên đến Output Tuy nhiên, Reset Gate kiểm soát số trạng thái trước đó được lưu trữ

và Update Gate dé thay đổi tốc độ khi trạng thái ân cập nhật [40], [43].(Hình 3.7)

Reset gate Update gate

Hình 3.7 Cấu trúc cơ bản của mô hình GRU

Các công trong GRU có công thức sau [44]:

Reset gate vector: Rp = o(X,W, + H,_1U; + bạ)

Update gate vector: Ry = o(X,W, + H;_1Ù; + bz)

Candidate activation vector: H, = tanh(X,M% + (R- Hy) Un + bp)

Output vector: H, = Z,H,-, + (1 — Z,)H;

Trang 26

Trong đó Z,, R¿, và H¿ lân lượt là các công reset, update, va hidden Hon nữa, có X;

là vectơ biên dau vào, W7, W⁄., W và W,, U,, U, va Ủy, va by va by là ma trận tham sô

và vectơ [45].

29

Trang 27

Linear Regression (LR) |

Elastic Net (EN)

Ada Boost (AB)

ƒ Long Short Term Memory (LSTM)

Gated Recurrent Units (GRU)

i )

GARCH

NNETAR

TBATS

Hình 4.1.b Minh họa các thuật toán được sw dụng trong khoá luận nay

Hình 4.1 Minh họa tổng quan về quá trình xử lý tổng thể và các thuật toán được sử

dụng trong thực nghiệm này

4.2 Các giai đoạn chính

4.2.1 Pharse 1 - Hoc mô hình dự báo

e Website của Yahoo!Finance’ là nơi lấy nguồn dữ liệu dé tiến hành thu thập bộ dữ

liệu về lịch sử giá Quy trình thực nghiệm thu thập dữ liệu về giá (Hình 4.2) như

5 https://finance.yahoo.com/

Trang 28

sau: Trang web download dữ liệu Bitcoin > Historical Data > Chọn thời gian

cần lay dữ liệu > Apply > Download (CSV) Tương tự với các indexes: TWTR

và TSLA.

Bitcoin USD (BTC-USD) |

26,908.40 -227.14 (-0.84%)

As of 01:34PM UTC, Market oper

Summary Chart Conversations Historical Data Profile

1a Google

Gửi ý kiến phản hồi

Time Period: Jun 01, 2022 - Jun 01, 2023 v Show: Historical Prices v Frequency: Daily v

+ Download

Jun 01, 2023 27,236.58 27,326.53 26,677.50 26,908.40 26,908.40 14,744,135,680 May 31, 2023 27,700.53 27,831.68 26,866.45 27.219.66 27219166 15,656.371,534

Đang chờ aoxmoatade cam

Quảng cáo của Google

Gửi ý kiến phản hồi

yahoo/finance

Hình 4.2 Trang web dùng dé download dữ liệu Bitcoin

Chia train/test: Ở tất cả các mô hình sẽ chia đữ liệu train:test theo ti lệ 80:20 và 70:30

Minh hoạ ở Hình 4.3 dưới đây là trực quan bộ dữ liệu được sử dụng trong khoá luận

Trang 29

Tiền điều kiện: Vào đúng URL Client của hệ thống ở chế độ http

Hậu điều kiện: Nếu xem thành công thì đô thị kết quả sẽ xuất hiện trên hệ thông

Tác nhân chính: Admin, User, Linux | Mức độ quan trọng: Cao

Server

Mô tả Usecase: Usecase cho phép người dùng xem đồ thị kết quả dự báo ngày tiếp

theo và 49 ngày trước.

Luéng su kién chinh:

1 Tro đúng URL đến màn hình xem dự báo

2 Load đồ thị khuyến nghị từ API server

3 Hién thị ra màn hình kết qua

4 Kết thúc

Bảng 4.3 Usecase lấy dữ liệu mới

Tên Usecase: Lay dữ liệu mới Mã Usecase: UC03

Tiên điều kiện: Vào đúng URL Server của hệ thông Đôi với Server Linux thì server

tự route đúng vào API.

Hậu điều kiện: Dữ liệu được cập nhật vào CSDL MySQL (Vào CSDL xem kết quả)

Tác nhân chính: Admin, Linux Server | Mức độ quan trọng: Cao

Mô tả Usecase: Lay dir liệu mỗi ngày từ trang web Yahoo!Finance, sau đó lưu vào

cơ sở đữ liệu

Luông sự kiện chính:

1 Trỏ vào đường dẫn URL Server

2 Thêm một ngày mới vào Bảng (Chức năng chỉ áp dụng với Linux Server)

3 Lây dữ liệu Yahoo!Finance Lưu dữ liệu vào cơ sở dữ liệu

4 Kết thúc

Ngày đăng: 08/11/2024, 16:57

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

TÀI LIỆU LIÊN QUAN

w