ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU Đối tượng: Dữ liệu là tập hợp các giá trị được ghi lại theo thời gian Phạm vi nghiên cứu: Bài toán dự báo trên chuỗi thời gian đa biến bằng việc xây dựng
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 KỸ THUẬT DỮ LIỆU
GVHD: THS TRẦN TRỌNG BÌNH SVTH: PHẠM MINH LONG
TRƯƠNG HOÀNG ANH KHÔI
TP Hồ Chí Minh, tháng 7/2024
XÂY DỰNG MÔ HÌNH DỰ BÁO CHO CHUỖI
THỜI GIAN ĐA BIẾN ÁP DỤNG MÔ HÌNH VECTOR AUTOREGRESSIVE NEUTRAL NETWORK (VARNN)
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN KỸ THUẬT DỮ LIỆU
PHẠM MINH LONG – 20133062 TRƯƠNG HOÀNG ANH KHÔI – 20133058
Đề tài:
XÂY DỰNG MÔ HÌNH DỰ BÁO CHO CHUỖI THỜI GIAN ĐA BIẾN ÁP
DỤNG MÔ HÌNH VECTOR AUTOREGRESSIVE NEURAL NETWORK
(VARNN)
KHÓA LUẬN TỐT NGHIỆP
GIÁO VIÊN HƯỚNG DẪN
THS TRẦN TRỌNG BÌNH
KHOÁ 2020 – 2024
TP Hồ Chí Minh, Tháng 07 năm 2024
Trang 3TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN KỸ THUẬT DỮ LIỆU
PHẠM MINH LONG – 20133062 TRƯƠNG HOÀNG ANH KHÔI – 20133058
Đề tài:
XÂY DỰNG MÔ HÌNH DỰ BÁO CHO CHUỖI THỜI GIAN ĐA BIẾN ÁP
DỤNG MÔ HÌNH VECTOR AUTOREGRESSIVE NEURAL NETWORK
(VARNN)
KHÓA LUẬN TỐT NGHIỆP
GIÁO VIÊN HƯỚNG DẪN
THS TRẦN TRỌNG BÌNH
KHOÁ 2020 – 2024
TP Hồ Chí Minh, Tháng 07 năm 2024
Trang 4TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Họ và tên Sinh viên 1: Trương Hoàng Anh Khôi MSSV 1: 20133058
Chuyên ngành: Kỹ thuật dữ liệu
Tên đề tài: Xây dựng mô hình dự báo cho chuỗi thời gian đa biến áp dụng mô hình
Vector Autoregressive Neural Network (VARNN)
Họ và tên giáo viên hướng dẫn: ThS Trần Trọng Bình
NHẬN XÉT
1 Về nội dung đề tài và khối lượng thực hiện:
- Hiểu về chuỗi thời gian, chuỗi đa biến, phân tích chuỗi đa biến, bài toán dự báo chuỗi thời gian đa biến; Hiểu một số phương pháp dự báo chuỗi thời gian: mô hình thống kê, máy học, học sâu
- Hiểu về mô hình Vector Autoregressive Neural Network (VARNN) và thực
nghiệm dự báo chuỗi thời gian đa biến sử dụng mô hình VARNN, tối ưu hóa mô hình và so sánh hiệu suất của mô hình với các mô hình thống kê (ARIMA, VAR), Máy học (FFNN), Học sâu (LSTM)
- Nhóm sử dụng 06 tập dữ liệu thuộc 03 lĩnh vực khác nhau: Thời tiết, chứng khoán, kinh tế vĩ mô Việt Nam
2 Ưu điểm:
- Bằng kết quả thực nghiệm nhóm đã chứng minh và kết luận được hiệu quả của mô hình VARNN cho bài toán dự báo chuỗi thời gian đa biến so với các mô hình dự báo chuối thời gian đa biến khác (ARIMA, VAR, FFNN, LSTM) trên các tiêu chí
Giảng viên hướng dẫn
(Ký & ghi rõ họ tên)
Trang 5TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ
THUẬT TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
******
CỘNG HÒA XHCN VIỆT NAM Độc lập – Tự do – Hạnh phúc
******
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Họ và tên Sinh viên 1: Trương Hoàng Anh Khôi MSSV 1: 20133058
Chuyên ngành: Kỹ thuật dữ liệu
Tên đề tài: Xây dựng mô hình dự báo cho chuỗi thời gian đa biến áp dụng mô hình
Vector Autoregressive Neural Network (VARNN)
Họ và tên giáo viên phản biện: TS Nguyễn Thành Sơn
NHẬN XÉT
1 Về nội dung đề tài và khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
5 Đánh giá loại:
6 Điểm:
TP Hồ Chí Minh, tháng … năm …
Giảng viên phản biện
(Ký & ghi rõ họ tên)
Trang 6LỜI CẢM ƠN
Lời đầu tiên, Chúng em xin gửi lời cảm ơn sâu sắc đến Khoa Công Nghệ Thông Tin – Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh đã tạo điều kiện cho chúng em học tập và phát triển nền tảng kiến thức cần thiết cho đề tài này
Chúng em cũng gửi lời cảm ơn đến thầy Trần Trọng Bình đã hỗ trợ chúng em hoàn thành Khóa luận tốt nghiệp này Những lời khuyên của thầy đã giúp chúng em định hướng được kết quả và hoàn thành tốt đề tài này
Dù nhóm chúng em đã cố gắng hết sức để tiếp thu kiến thức, nhưng với khả năng hạn chế của nhóm, có những thiếu sót không tránh khỏi trong quá trình thực hiện đồ án Chúng em rất mong nhận được sự thông cảm và góp ý xây dựng từ quý Thầy
Cuối cùng, nhóm chúng em xin bày tỏ lòng biết ơn sâu sắc nhất đến quý Thầy
Cô Khoa Công Nghệ Thông Tin Kính chúc quý Thầy, Cô luôn khỏe mạnh và gặt hái nhiều thành công trong cuộc sống và sự nghiệp giảng dạy
Trang 7Trường ĐH Sư Phạm Kỹ Thuật TP.HCM
Khoa : Công nghệ thông tin
ĐỀ CƯƠNG TIỂU LUẬN CHUYÊN NGÀNH
Họ và tên SV thực hiện 1: Trương Hoàng Anh Khôi MSSV: 20133058
Họ và tên SV thực hiện 2: Phạm Minh Long MSSV: 20133062
Thời gian làm tiểu luận: Từ ngày 11/03/2024 Đến: 23/06/2024
Chuyên ngành: Kỹ Thuật Dữ Liệu
Tên luận văn: Xây dựng mô hình dự báo cho chuỗi thời gian đa biến áp dụng mô
hình Vector Autoregressive Neural Network (VARNN)
Giáo viên hướng dẫn: ThS Trần Trọng Bình
Nhiệm vụ của luận văn:
Lý thuyết:
• Tìm hiểu về chuỗi thời gian và chuỗi đa biến
• Phân tích chuỗi đa biến
• Nghiên cứu tối ưu hóa mô hình VARNN cho bài toán dự báo chuỗi thời gian Thực hành:
• Sử dụng python để phục vụ cho đề tài dự báo chuỗi thời gian bằng mô hình FFNN
• Tiền xử lý dữ liệu:
- MinMaxScaler: lớp dùng để chuẩn hóa dữ liệu trong khoảng giá trị cụ thể
- Thay thế các giá trị Nan, Null, Empty
• Chia dữ liệu thành các chuỗi con để cung cấp đầu vào và đầu ra cho mô hình
• Sử dụng thư viện cho mô hình VARNN: sử dụng keras.models.Sequential và keras.layers.Dense để tạo một mô hình mạng nơ-ron tuần tự
• Sự dụng thư viện để đánh giá độ hiệu quả của mô hình: sử dụng sklearn.metrics mean_squared_error, sklearn.metrics.mean_absolute_error để đánh giá mô hình bằng phương pháp MSE, RMSE và MAE
Trang 85
22/04/2024-05/05/2024
Tìm các tập dữ liệu và tối ưu hóa mô hình Vector Autoregressive Neural Network cho từng tập dữ liệu
6
06/05/2024-19/05/2024
Thực hiện các mô hình khác để so sánh với kết quả mô hình Vector Autoregressive Neural Network
Trang 9MỤC LỤC
PHẦN MỞ ĐẦU 1
1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI 1
2 MỤC TIÊU CỦA ĐỀ TÀI 1
3 PHƯƠNG PHÁP NGHIÊN CỨU 1
4 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 2
5 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC 2
PHẦN NỘI DUNG 4
CHƯƠNG 1: TỔNG QUAN VỀ CHUỖI THỜI GIAN VÀ DỰ BÁO TRÊN CHUỖI THỜI GIAN 4
1.1 CHUỖI THỜI GIAN 4
1.1.1 Khái niệm chuỗi thời gian 4
1.1.2 Các thành phần của chuỗi thời gian 5
1.1.3 Chuỗi dừng 6
1.1.3.1 Định nghĩa chuỗi dừng 6
1.1.3.2 Phương pháp kiểm định chuỗi dừng 7
1.1.3.3 Phân loại chuỗi dừng 8
1.1.4 Chuẩn hóa chuỗi thời gian 9
1.1.5 Chuỗi thời gian đa biến 10
1.1.6 Ứng dụng 11
1.2 BÀI TOÁN DỰ BÁO TRÊN CHUỖI THỜI GIAN ĐA BIẾN 12
1.2.1 Khái niệm 12
1.2.2 Các mô hình dự báo chuỗi thời gian đa biến 12
1.2.2.1 Mô hình thống kê 12
1.2.2.2 Mô hình học máy 15
1.2.3 Đánh giá mô hình 21
1.2.4 Đánh giá kết quả 23
CHƯƠNG 2: MÔ HÌNH VECTOR AUTOREGRESSIVE NEURAL NETWORK (VARNN) 24
2.1 MÔ HÌNH AUTOREGRESSIVE (AR) 24
2.1.1 Định nghĩa 24
2.1.2 Kiến trúc mô hình 25
Trang 102.1.3 Kết quả là một dự đoán cho giá trị hiện tại của biến 26
2.2 MÔ HÌNH VECTOR AUTOREGRESSION (VAR) 26
2.2.1 Định nghĩa 26
2.2.2 Vector nhiễu trắng 27
2.2.3 Ước lượng và kiểm định 27
2.2.3.1 Lựa chọn độ trễ 27
2.2.3.2 Kiểm định nhân quả Granger 28
2.2.4 Hàm phản ứng và phân rã phương sai 29
2.2.4.1 Hàm phản ứng (IRF) 29
2.2.4.2 Phân rã phương sai (VDF) 30
2.2.4.3 Ứng dụng hàm phản ứng và phân rã phương sai 31
2.2.5 Ứng dụng Vector Autoregression vào bài toán dự báo dữ liệu chuỗi thời gian đa biến 34
2.3 MÔ HÌNH FEED-FORWARD NEURAL NETWORK (FFNN) 35
2.3.1 Định nghĩa 35
2.3.2 Kiến trúc mô hình 36
2.3.3 Ứng dụng Feed-Forward Neural Network vào bài toán dự báo dữ liệu chuỗi thời gian 36
2.4 VECTOR AUTOREGRESSIVE NEURAL NETWORK (VARNN) 37
2.4.1 nguyên lý hoạt động 37
2.4.2 kiến trúc mô hình 37
2.4.3 Quá trình huấn luyện mô hình 39
2.4.4 Quá trình lan truyền tiến và lan truyền ngược của mô hình 40
2.4.4.1 Lan truyền tiến (Forward propagation) 40
2.4.4.2 Lan truyền ngược (Backpropagation) 41
2.4.4.3 Mô phỏng hai quá trình lan truyền tiến và lan truyền ngược 42
2.4.5 Ứng dụng vector autoregressive neural network vào bài toán dự báo dữ liệu chuỗi thời gian đa biến 45
CHƯƠNG 3: CÀI ĐẶT CÁC MÔ HÌNH 47
3.1 LOẠI BỎ WARNING 47
3.2 ĐỌC DỮ LIỆU 47
3.3 TIỀN XỬ LÝ DỮ LIỆU 47
3.4 TRÍCH XUẤT CHUỖI CON 48
3.5 MÔ HÌNH VECTOR AUTOREGRESSION NEURAL NETWORK 49
Trang 113.6 QUÁ TRÌNH KIỂM TRA 51
3.7 ĐÁNH GIÁ ĐỘ CHÍNH XÁC 51
3.8 THỜI GIAN THỰC THI 52
CHƯƠNG 4: THỰC NGHIỆM ĐÁNH GIÁ KẾT QUẢ 54
4.1 DỮ LIỆU THỰC NGHIỆM 54
4.1.1 Tập dữ liệu thời tiết 54
4.1.2 Tập dữ liệu chứng khoán 56
4.1.3 Tập dữ liệu kinh tế vĩ mô Việt Nam 58
4.2 TIÊU CHÍ ĐÁNH GIÁ 59
4.2.1 Độ chính xác 59
4.2.2 Thời gian thực thi 60
4.3 CÁC TRƯỜNG HỢP THỰC NGHIỆM 60
4.3.1 Thực nghiệm tìm các tham số tốt nhất cho mô hình VARNN 60
4.3.2 So sánh mô hình VARNN với các mô hình khác 61
4.3.3 So sánh từng biến của mô hình VARNN với các mô hình khác 61
4.4 KẾT QUẢ THỰC NGHIỆM 61
4.4.1 Thực nghiệm tìm các tham số tốt nhất cho mô hình VARNN 61
4.4.1.1 Tìm độ trễ tốt nhất 61
4.4.1.2 Tìm số nơ-ron lớp ẩn tốt nhất 65
4.4.2 So sánh mô hình VARNN với các mô hình đơn biến 70
4.4.3 So sánh từng biến của mô hình VARNN với các mô hình khác 75
4.5 XÂY DỰNG WEBSITES DỰ ĐOÁN GIÁ TRỊ CHUỖI THỜI GIAN 78
PHẦN KẾT LUẬN 83
1 KẾT QUẢ ĐẠT ĐƯỢC CỦA ĐỀ TÀI 83
2 HẠN CHẾ 83
3 HƯỚNG PHÁT TRIỂN 83
TÀI LIỆU THAM KHẢO 85
PHỤ LỤC 86
Trang 12DANH SÁCH HÌNH ẢNH
Hình 1 1: Doanh thu hàng quý của công ty Johnson & Johnson bằng USD từ năm 1960 đến
năm 1980 4
Hình 1 2: Thu nhập mỗi cổ phiếu hàng quý của Johnson & Johnson 5
Hình 1 3: Tính xu hướng của cổ phiếu hàng quý của Johnson & Johnson 5
Hình 1 4: Tính mùa vụ của cổ phiếu hàng quý của Johnson & Johnson 6
Hình 1 5: Residuals của cổ phiếu hàng quý của Johnson & Johnson 6
Hình 1 6:Doanh thu từ the Broadway show ‘Wicked’ Mặc dù nó có sự lên xuống, nhưng rằng giá trị trung bình và độ lệch chuẩn của các giá trị này vẫn là đường ngang phẳng, nên đây vẫn là chuỗi dừng 7
Hình 1 7: Biểu diễn ma trận quan sát 11
Hình 1 8: Mô hình K-Nearest Neighbors 15
Hình 1 9: Mô hình Random Forest 17
Hình 1 10: Mô phỏng mô hình FFNN 18
Hình 1 11: Biểu diễn mô hình Long Short-Term Memory 19
Hình 2 1: Ảnh hưởng của Income đến Investment 30
Hình 2 2: Biểu diễn giá trị của tập dữ liệu Lütkepohl 32
Hình 2 3: Đồ thị biểu diễn phản ứng của investment đối với income và consumption 33
Hình 2 4: Mô phỏng mô hình FFNN 35
Hình 2 5: Kiến trúc mô hình VARNN 38
Hình 2 6: Mô phỏng quá trình lan truyền ngược của mô hình VARNN 42
Hình 2 7: Mô hình mô phỏng quá trình lan truyền ngược và lan truyền tiến 43
Hình 4 1: Mô tả nhiệt độ hằng ngày của tập dữ liệu WS Beutenberg – Munich 55
Hình 4 2: Mô tả nhiệt độ tối đa của tập dữ liệu Ho Chi Minh 56
Hình 4 3: Mô tả giá đóng chứng khoán của tập dữ liệu APPLE 57
Hình 4 4: Mô tả tập giá đóng chứng khoán của tập dữ liệu AMAZON 57
Hình 4 5: Mô tả giá đóng chứng khoán của tập dữ liệu GOOGLE 58
Hình 4 6: Mô tả giá trị tăng trưởng của thương mại theo thời gian của tập dữ liệu VN ECONOMIC 59
Hình 4 7: Biểu đồ xu hướng lỗi dự báo đối với sự thay đổi độ trễ của tập WS BEUTENBERG 62
Hình 4 8: Biểu đồ xu hướng lỗi dự báo đối với sự thay đổi độ trễ của tập Ho Chi Minh 63
Hình 4 9: Biểu đồ xu hướng lỗi dự báo đối với sự thay đổi độ trễ của AAPL 63
Hình 4 10: Biểu đồ xu hướng lỗi dự báo đối với sự thay đổi độ trễ của AMAZON 64
Trang 13Hình 4 11: Biểu đồ xu hướng lỗi dự báo đối với sự thay đổi độ trễ của GOOGLE 64
Hình 4 12: Biểu đồ xu hướng lỗi dự báo đối với sự thay đổi độ trễ của VN ECONOCMIC 65 Hình 4 13: Biểu đồ xu hướng lỗi dự báo đối với sự thay đổi số nơ-ron ẩn của tập WS BEUTENBERG 67
Hình 4 14: Biểu đồ xu hướng lỗi dự báo đối với sự thay đổi số nơ-ron ẩn của tập Ho Chi Minh từ 1 đến 30 67
Hình 4 15: Biểu đồ xu hướng lỗi dự báo đối với sự thay đổi số nơ-ron ẩn của tập Ho Chi Minh từ 5 đến 150 68
Hình 4 16: Biểu đồ xu hướng lỗi dự báo đối với sự thay đổi số nơ-ron ẩn của tập AAPL 68
Hình 4 17: Biểu đồ xu hướng lỗi dự báo đối với sự thay đổi số nơ-ron ẩn của tập AMAZON 69
Hình 4 18: Biểu đồ xu hướng lỗi dự báo đối với sự thay đổi số nơ-ron ẩn của tập GOOGLE69 Hình 4 19: Biểu đồ xu hướng lỗi dự báo đối với sự thay đổi số nơ-ron ẩn của tập VN ECONOMIC 70
Hình 4 20: Biểu đồ so sánh từng biến của các mô hình cho tập WS BEUTENBERG 75
Hình 4 21: Biểu đồ so sánh từng biến của các mô hình cho tập Ho Chi Minh 76
Hình 4 22: Biểu đồ so sánh từng biến của các mô hình cho tập AAPL 76
Hình 4 23: Biểu đồ so sánh từng biến của các mô hình cho tập AMAZON 77
Hình 4 24: Biểu đồ so sánh từng biến của các mô hình cho tập GOOGLE 77
Hình 4 25: Biểu đồ so sánh từng biến của các mô hình cho tập VN ECONOMIC 78
Hình 4 26: Giao diện chính của Website 79
Hình 4 27: Màn hình của ứng dụng khi tải dữ liệu thành công 79
Hình 4 28: Màn hình dự đoán giá trị chuỗi thời gian của ứng dụng 80
Hình 4 29: Màn hình dự đoán sau khi người dụng đã chọn thuật toán và cột dữ liệu để dự đoán 80
Hình 4 30: Màn hình nhập dữ liệu cho các tham số của mô hình VARNN 81
Hình 4 31: Màn hình kết quả dự đoán trên toàn bộ dữ liệu kiểm tra thuộc tính Open của tập dữ liệu APPLE 81
Hình 4 32: Màn hình kết quả dự đoán trên chuỗi nhỏ của dữ liệu kiểm tra thuộc tính Open của tập dữ liệu APPLE 82
Trang 14DANH SÁCH BẢNG
Bảng 2 1: Kết quả phân tích phân rã phương sai 34
Bảng 4 1: Các tham số của mô hình với độ trễ tốt nhất 61
Bảng 4 2: Các tham số của mô hình với số nơ-ron lớp ẩn tốt nhất 66
Bảng 4 3: Các tham số tốt nhất cho từng tập dữ liệu 70
Bảng 4 4: Kết quả các mô hình của tập dữ liệu WS BEUTENBERG 71
Bảng 4 5: Kết quả các mô hình của tập dữ liệu Ho Chi Minh 72
Bảng 4 6: Kết quả mô hình của tập AAPL 72
Bảng 4 7: Kết quả mô hình của tập AMAZON 73
Bảng 4 8: Kết quả mô hình của tập GOOGLE 73
Bảng 4 9: Kết quả mô hình của tập VN ECONOMIC 74
Trang 15DANH MỤC CÁC TỪ VIẾT TẮT
Trang 16PHẦN MỞ ĐẦU
1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Trong bối cảnh sự phát triển nhanh chóng của công nghệ và lượng thông tin ngày càng gia tăng, việc khai thác dữ liệu trở nên cần thiết hơn bao giờ hết để đáp ứng nhu cầu của xã hội và quốc gia Trong lĩnh vực này, bài toán dự báo chuỗi thời gian đóng vai trò quan trọng, giúp phân tích và dự đoán các xu hướng và mô hình hành vi trong tương lai từ đó đưa ra các quyết định đúng đắn, từ việc lập kế hoạch sản xuất, quản lý rủi ro đến xác định chiến lược tiếp thị và phân phối
Trong dự báo chuỗi thời gian đơn biến, mô hình Feedforward Neural Network (FFNN) thường không đạt hiệu suất tối ưu do bỏ qua sự tương tác và phụ thuộc giữa các yếu tố Tuy nhiên, khi áp dụng dự báo cho nhiều chuỗi dữ liệu sử dụng nhiều biến độc lập, kết quả thường được cải thiện đáng kể Ví dụ, trong việc dự báo thời tiết, việc tích hợp các yếu tố như nhiệt độ, độ ẩm và tốc độ gió giúp dự đoán chính xác hơn về nhiệt
độ trong tương lai
Do đó, mô hình Vector Autoregressive Neural Network (VARNN) trở thành lựa chọn ưu việt hơn trong việc dự báo đa biến VARNN không chỉ linh hoạt trong việc xử
lý các tương tác đa biến mà còn có khả năng mô hình hóa các yếu tố thời gian và tương quan giữa các biến đầu vào, từ đó cung cấp những dự đoán đa bước trong tương lai một cách hiệu quả Điều này giúp cho quá trình đưa ra quyết định dựa trên dữ liệu trở nên chính xác và hiệu quả hơn
2 MỤC TIÊU CỦA ĐỀ TÀI
Nghiên cứu phương pháp, từ đó xây dựng mô hình VARNN áp dụng lên chuỗi thời gian đa biến trong bài toán dự báo trên chuỗi thời gian
3 PHƯƠNG PHÁP NGHIÊN CỨU
Sau khi đã hoàn thành tiểu luận chuyên ngành nghiên cứu về dự báo chuỗi thời gian bằng FFNN Sau đó tìm hiểu và thu thập thông tin, tài liệu liên quan đến dự báo chuỗi thời gian đa biến bằng VARNN Từ đó lựa chọn các công trình nghiên cứu phù hợp với chủ đề và được sử dụng trong bài luận này là:
Nghiên cứu của Marco Peixeiro trong cuốn sách “Time Series Forecasting in Python” [1] được xuất bản năm 2020 Cuốn sách cung cấp một nghiên cứu toàn diện về
Trang 17lĩnh vực học sâu, thống kê, dữ liệu chuỗi thời gian và các kỹ thuật dự báo chuỗi thời gian thông qua các ví dụ thực tế sử dụng ngôn ngữ lập trình Python Ngoài ra, nghiên cứu còn đi sâu vào triển khai các mô hình từ những phương pháp đơn giản đến những phức tạp hơn
Nghiên cứu của Gabriel BAILL trong luận án “Autoregressive Time Series Forecasting with Neural Networks” [4] dưới sự hướng dẫn của Giáo sư Rainer von Sachs vào năm 2022 đề cập về dự báo chuỗi thời gian bằng mô hình Auto-Regressive Neural Network(p) đã được tối ưu hoá các tham số, từ đó đánh giá hiệu suất của nó trong việc
dự báo một bước tiến (được so sánh với mô hình tuyến tính Auto-Regressive(p)) So sánh hai mô hình với nhiều kiến trúc và các siêu tham số khác nhau
Trong nghiên cứu của Dhoriva U Wutsqa có tên là “THE VARNN MODEL FOR MULTIVARIATE TIME SERIES FORECASTING” [8] trình bày về mô hình VARNN cho dự báo chuỗi thời gian đa biến Bài nghiên cứu giới thiệu mô hình Vector Autoregressive Neural Network, là một mô hình phi tuyến và phi tham số được tạo ra
từ mô hình Vector Autoregressive (VAR) Tài liệu cung cấp các chi tiết về kiến trúc và phương pháp ước lượng của mô hình VARNN, cũng như đánh giá hiệu suất của nó trong việc dự báo chuỗi thời gian phi tuyến
- Phân tích, xây dựng mô hình VARNN
- Kiểm thử, nhận xét và đánh giá kết quả của mô hình VARNN
4 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
Đối tượng: Dữ liệu là tập hợp các giá trị được ghi lại theo thời gian
Phạm vi nghiên cứu: Bài toán dự báo trên chuỗi thời gian đa biến bằng việc xây
dựng mô hình VARNN để đánh giá và so sánh kết quả
5 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC
Sau khi xây dựng mô hình dự đoán chuỗi thời gian đa biến bằng mô hình VARNN
để dự đoán xu hướng, dự kiến kết quả đạt được:
- Nắm được lý thuyết về phân tích dữ liệu chuỗi thời gian đa biến trên mô hình VARNN
- Xây dựng được mô hình VARNN dùng cho việc phân tích trên chuỗi thời gian
đa biến trên một số tập dữ liệu
Trang 18- So sánh hiệu suất của mô hình VARNN với các mô hình khác, có thể là các mô hình tuyến tính như VAR và ARIMA hay các mô hình học sâu như FFNN và LSTM để đánh giá khả năng dự đoán của nó trong việc xử lý chuỗi thời gian phi tuyến
Trang 19PHẦN NỘI DUNG CHƯƠNG 1: TỔNG QUAN VỀ CHUỖI THỜI GIAN VÀ DỰ BÁO TRÊN
CHUỖI THỜI GIAN 1.1 CHUỖI THỜI GIAN
1.1.1 Khái niệm chuỗi thời gian
Chuỗi thời gian là một khái niệm quan trọng trong lĩnh vực phân tích dữ liệu và
dự báo Nó đề cập đến việc thu thập và tổ chức dữ liệu theo thời gian để phân tích xu hướng, mô hình hóa và dự đoán các sự thay đổi trong thời gian tương lai
Trong chuỗi thời gian, mỗi điểm dữ liệu được gắn với một thời điểm cụ thể và thường có thứ tự thời gian Các điểm dữ liệu này có thể được ghi lại với tần suất khác nhau, từ giây, phút, giờ, ngày, tháng đến năm, tùy thuộc vào tần suất quan sát và mục đích của nghiên cứu Điều này nghĩa là mỗi điểm dữ liệu trong chuỗi thời gian có một giá trị và thời gian tương ứng.[1]
Ngoài ra, chuỗi thời gian còn cung cấp thông tin về sự biến đổi của một biến số theo thời gian và cho phép chúng ta phân tích các xu hướng, mô hình hóa quy luật và
dự đoán các giá trị tương lai Nó thường được sử dụng trong nhiều lĩnh vực như kinh tế học, tài chính, khoa học môi trường, y học, hệ thống điện, giao thông vận tải và nhiều lĩnh vực khác.[1]
Hình 1 1: Doanh thu hàng quý của công ty Johnson & Johnson bằng USD từ năm 1960 đến năm
1980
Trang 201.1.2 Các thành phần của chuỗi thời gian
Trên thực tế, tất cả các chuỗi thời gian đều có thể phân rã thành ba thành phần là
xu hướng (trend), mùa vụ (seasonal) và phần còn lại (residuals) Dựa vào các thành phần
đó, có thể đào sâu vào chuỗi thời gian và nâng cao hiểu biết về chúng
Việc trực quan hóa các thành phần của một chuỗi thời gian được gọi là phân rã (decomposition) Phân rã được xác định là một nhiệm vụ thống kê giúp tách một chuỗi thời gian thành các thành phần khác nhau Chúng ta có thể trực quan hóa từng thành phần riêng lẻ, điều này sẽ giúp chúng ta nhận diện xu hướng và mùa vụ trong dữ liệu, điều mà không phải lúc nào cũng dễ dàng chỉ bằng cách nhìn vào tập dữ liệu [1]
Một ví dụ về phân rã chuỗi thời gian để hiểu rõ về các thành phần:
Hình 1 2: Thu nhập mỗi cổ phiếu hàng quý của Johnson & Johnson
- Trend: Là sự thay đổi chậm và liên tục theo thời gian Nó thể hiện xu hướng chung hoặc dài hạn của dữ liệu trong một khoảng thời gian nhất định Xu hướng có thể
là tăng dần (positive trend), giảm dần (negative trend) hoặc ổn định (flat trend) Đây là tính chất đặc trưng phổ biến trong dữ liệu chuỗi thời gian Đối với ví dụ trên, có thể thấy rằng xu hướng ban đầu là phẳng và sau đó tăng mạnh, điều này có nghĩa là chúng ta có một xu hướng tăng trong dữ liệu.[1]
Hình 1 3: Tính xu hướng của cổ phiếu hàng quý của Johnson & Johnson
Trang 21- Seasonal: Là sự biến đổi có chu kỳ lặp lại và định kỳ trong dữ liệu Nó xuất hiện khi có sự ảnh hưởng của yếu tố mùa vụ, ví dụ như thay đổi theo mùa hay chu kỳ hàng ngày, hàng tuần, hàng tháng hoặc hàng năm Tính mùa vụ thường liên quan đến các yếu
tố tự nhiên hoặc hành vi kinh tế/chính trị có chu kỳ lặp lại theo thời gian Nhìn vào ví
dụ, có thể thấy rằng trong suốt một năm hoặc bốn quý, lợi nhuận trên mỗi cổ phiếu ban đầu thấp, tăng lên và giảm lại vào cuối năm.[1]
Hình 1 4: Tính mùa vụ của cổ phiếu hàng quý của Johnson & Johnson
- Residuals: Là phần còn lại sau khi đã loại bỏ xu hướng và thành phần mùa vụ từ
chuỗi dữ liệu gốc Residuals đại diện cho sự khác biệt giữa giá trị quan sát thực tế và giá trị được dự đoán bởi mô hình Chúng được sử dụng để kiểm tra tính phù hợp của mô hình và phân tích những biến động không thể giải thích bằng xu hướng và mùa vụ.[1]
Hình 1 5: Residuals của cổ phiếu hàng quý của Johnson & Johnson
1.1.3 Chuỗi dừng
1.1.3.1 Định nghĩa chuỗi dừng
Chuỗi dừng là một khái niệm quan trọng khi làm việc với chuỗi thời gian Một chuỗi thời gian được xác định là một chuỗi dừng khi các thuộc tính thống kê của chuỗi không thay đổi theo thời gian Nó có trung bình không đổi, phương sai không đổi và tự tương quan không đổi, và các thuộc tính này không phụ thuộc vào thời gian Điều này
Trang 22có nghĩa là các thông số thống kê của chuỗi dừng không thay đổi qua các khoảng thời gian khác nhau.[1]
Một chuỗi dừng cung cấp một cơ sở ổn định để áp dụng các mô hình dự báo Nếu chuỗi thời gian không dừng, nghĩa là nó có xu hướng, biến động ngẫu nhiên hay các yếu
tố mùa vụ, các mô hình dự báo dựa trên tính dừng sẽ không phù hợp và dự báo từ các
mô hình đó sẽ không đáng tin cậy
1.1.3.2 Phương pháp kiểm định chuỗi dừng
Khi phân tích một chuỗi thời gian thì việc xác định chuỗi có tính chất dừng không
là điều rất cần thiết để quá trình phân tích mang lại hiệu quả cao Có nhiều phương pháp
để kiểm tra tính dừng của một chuỗi thời gian và một trong những phương pháp phổ biến là:
- Visual test: Bằng cách vẽ biểu đồ, có thể nhận biết một số đặc điểm của chuỗi có dấu hiệu của sự biến đổi trung bình và phương sai theo thời gian Nếu thấy xu hướng tăng giảm hoặc biến động dài hạn, thì chuỗi có thể không ổn định và cần được chuyển đổi để đạt được tính dừng
- Summary Statistics: Một cách khác để kiểm tra tính dừng là xem xét các thống
kê tổng quan của chuỗi thời gian Bằng cách tính các giá trị trung bình, phương sai và các tham số khác để xác định xem chuỗi có thay đổi theo thời gian hay không Nếu các giá trị này không thay đổi đáng kể, thì chuỗi thời gian có thể được coi là chuỗi dừng
Hình 1 6:Doanh thu từ the Broadway show ‘Wicked’ Mặc dù nó có
sự lên xuống, nhưng rằng giá trị trung bình và độ lệch chuẩn của các
giá trị này vẫn là đường ngang phẳng, nên đây vẫn là chuỗi dừng
Trang 23- Statistical Tests: Sử dụng các kiểm tra thống kê để kiểm tra xem các kỳ vọng về tính dừng có được đáp ứng hay đã bị vi phạm Có nhiều kiểm tra thống kê được sử dụng nhưng có hai phương pháp phổ biến là Augmented Dickey-Fuller (ADF) và Kwiatkowski Phillips Schmidt Shin (KPSS)
1.1.3.3 Phân loại chuỗi dừng
Trong phân tích chuỗi dữ liệu, việc xác định đúng loại chuỗi dừng là một bước quan trọng Các loại chuỗi dừng khác nhau cho biết về tính chất và cách xử lý của chuỗi
dữ liệu đó Về cơ bản có 3 loại chuỗi dừng:
- Strict Stationary: Một chuỗi dữ liệu được coi là strict stationary khi thỏa mãn định nghĩa toán học về điều kiện dừng Điều này có nghĩa là giá trị trung bình, phương sai và hiệp phương sai của chuỗi không phụ thuộc vào thời gian Trong một chuỗi dữ liệu strict stationary, các đặc tính thống kê của chuỗi không thay đổi theo thời gian và không có xu hướng hay biến động Một chuỗi dữ liệu strict stationary là lý tưởng để thực hiện các dự đoán và mô hình hóa dự báo.[9]
Một chuỗi mà xác suất của mọi tập giá trị {xt1, xt2, , xtk} giống như tập dịch chuyển thời gian {xt1+h, xt2+h, , xtk+h} Điều này có nghĩa là: [10]
Pr{xt1 ≤ c1, , xtk ≤ ck} = Pr{xt1+h ≤ c1, , xtk+h ≤ ck} (1.1)
Trong đó:
- Pr: xác suất (probability)
- c: giá trị ngưỡng (threshold value) trong các phép so sánh xác suất
- x: các giá trị trong chuỗi thời gian
- h: tham số dịch chuyển thời gian (time shift parameter)
- Trend stationary: Một chuỗi dữ liệu không có đơn vị gốc (unit root) nhưng có xu hướng được gọi là chuỗi dữ liệu trend stationary Khi loại bỏ xu hướng, chuỗi dữ liệu kết quả sẽ trở thành strict stationary Kiểm tra KPSS phân loại một chuỗi dữ liệu là stationary dựa trên sự có mặt hay không có đơn vị gốc Điều này có nghĩa là chuỗi dữ liệu có thể là strict stationary hoặc trend stationary.[9]
- Difference Stationary: Một chuỗi dữ liệu thời gian có thể trở thành strict stationary thông qua việc lấy sai phân được gọi là difference stationary Điều này có nghĩa là nếu ta lấy sai phân giữa các giá trị liền kề trong chuỗi dữ liệu ban đầu, ta thu
Trang 24được một chuỗi dữ liệu mới có tính chất strict stationary Việc lấy sai phân chuỗi dữ liệu
có thể giúp loại bỏ các xu hướng, mô hình hóa biến động ngắn hạn và làm giảm độ phức tạp của dữ liệu Kiểm tra Augmented Dickey-Fuller (ADF) là một phương pháp phổ biến để kiểm tra tính chất difference stationary của một chuỗi dữ liệu [9]
1.1.4 Chuẩn hóa chuỗi thời gian
Các chuỗi thời gian trong thực tế thường sẽ có các vấn đề như là chuỗi phi tuyến tính, yếu tố ngẫu nhiên hoặc nhiễu (noise) hay phân bố không đồng đều, do đó sẽ làm ảnh hưởng đến kết quả khi được áp dụng vào các bài toán Vì thế chuẩn hóa chuỗi thời gian là một bước quan trọng trong quá trình phân tích và mô hình hóa chuỗi thời gian
Chuẩn hóa chuỗi thời gian là quá trình chuyển đổi chuỗi thời gian thành một dạng chuỗi có tính chất nhất định hoặc phân phối đồng nhất Mục đích của việc chuẩn hóa chuỗi thời gian là để tạo ra một chuỗi có thể được so sánh và phân tích một cách hiệu quả Một số phương pháp chuẩn hóa chuỗi thời gian phổ biến như:
Chuẩn hóa theo z-score: Phương pháp này biến đổi chuỗi thời gian thành chuỗi
có trung bình bằng 0 và độ lệch chuẩn bằng 1 Bằng cách này, các giá trị trong chuỗi được đo lường dựa trên số lượng độ lệch chuẩn so với trung bình
Công thức:
xscaled = (𝑥−𝑚𝑒𝑎𝑛)
Trong đó:
- x: giá trị ban đầu trong chuỗi thời gian
- mean: trung bình của chuỗi thời gian
- std: độ lệch chuẩn của chuỗi thời gian
Min-max scaling: Phương pháp này biến đổi chuỗi thời gian thành chuỗi có giá trị nhỏ nhất là 0 và giá trị lớn nhất là 1 Quá trình này được thực hiện bằng cách trừ giá trị nhỏ nhất và sau đó chia cho phạm vi giá trị (giá trị lớn nhất trừ giá trị nhỏ nhất)
Công thức:
xscaled = (𝑥 − 𝑚𝑖𝑛)
(𝑚𝑎𝑥 − 𝑚𝑖𝑛) (1.3) Trong đó:
Trang 25- x: giá trị ban đầu trong chuỗi thời gian
- min và max: giá trị tối thiểu và tối đa trong chuỗi thời gian
Chuẩn hóa theo logarit: Phương pháp này thường được sử dụng khi chuỗi thời gian có biên độ lớn hoặc phân tán không đồng nhất Bằng cách áp dụng hàm logarit tự nhiên hoặc logarit cơ số vào chuỗi, ta có thể giảm thiểu sự biến đổi không đồng đều và đưa dữ liệu về một khoảng giá trị nhỏ hơn
Công thức:
Logarit cơ số 10: xscaled = log10(x) (1.5)
1.1.5 Chuỗi thời gian đa biến
Khi dự báo trên chuỗi thời gian ta có xu hướng chỉ dự đoán trên chuỗi đơn biến
là cách chỉ sử dụng một biến phụ thuộc (yếu tố được dự báo) và các giá trị quá khứ của biến đó để dự đoán giá trị trong tương lai Ví dụ, trong trường hợp nhiệt độ thời tiết, chỉ
sử dụng nhiệt độ của quá khứ để dự đoán nhiệt độ trong tương lai
Nhưng trong thực tế thì mọi thứ xung quanh luôn có sự tương tác và phụ thuộc lẫn nhau để tạo nên một kết quả bất kỳ nên khi phân tích và dự đoán chuỗi thời gian chỉ dựa trên một biến thì mô hình có thể đưa ra một kết quả không tối ưu Do đó, việc sử dụng dự báo trên đa chuỗi là chúng ta sử dụng nhiều biến phụ thuộc và các biến độc lập khác để dự đoán giá trị trong tương lai
Một chuỗi thời gian đa biến là một tập hợp các biến thời gian liên kết với nhau theo thời gian Mỗi biến trong chuỗi thời gian đa biến biểu thị một loạt các quan sát được thu thập theo thời gian, và các biến này có thể ảnh hưởng lẫn nhau Để biểu diễn một chuỗi thời gian đa biến, chúng ta sử dụng một ma trận dữ liệu, thường được gọi là
ma trận quan sát Ma trận này có kích thước (n×T), trong đó n là số lượng biến và T là
số thời điểm quan sát Mỗi cột trong ma trận đại diện cho một thời điểm cụ thể và mỗi hàng đại diện cho một biến trong chuỗi
Ví dụ, giả sử chúng ta có ba biến thời gian: doanh thu hàng ngày (𝑦𝑡1), số lượng đơn hàng hàng ngày (𝑦𝑡2) và chi phí quảng cáo hàng ngày (𝑦𝑡3) Để tạo ra một chuỗi thời gian đa biến từ các biến này, chúng ta sắp xếp các giá trị tương ứng của từng biến thành
Trang 26các hàng trong ma trận quan sát với số thời điểm quan sát là 5 Mỗi hàng trong ma trận
sẽ biểu diễn một vector thời gian cho một thời điểm cụ thể
Hình 1 7: Biểu diễn ma trận quan sát
Trong dự báo kinh tế, chuỗi thời gian có thể được sử dụng để phân tích dữ liệu kinh tế như sản lượng công nghiệp, chỉ số giá cả, tỷ giá và doanh số bán lẻ Dựa trên dữ liệu lịch sử, phân tích chuỗi thời gian có thể giúp dự báo xu hướng tương lai và đưa ra quyết định kinh doanh thông minh
Y tế là một ngành quan trọng trong xã hội do đó việc có thể nắm được các biến đổi và xu hướng là điều thiết thực Và chuỗi thời gian cũng được sử dụng trong lĩnh vực
y tế để phân tích và dự đoán những điều đó Ví dụ, chúng có thể được sử dụng để phân tích chuỗi thời gian về dịch bệnh, dự báo nhu cầu dịch vụ y tế, theo dõi thông tin về bệnh nhân và đo lường tác động của các biện pháp can thiệp y tế
Dự báo thời tiết dựa trên chuỗi thời gian là một khía cạnh quan trọng trong ngành khí tượng học, với các ứng dụng từ dự báo ngắn hạn của cơn bão mạnh đến mô hình hóa
Trang 27khí hậu dài hạn Dự báo thời tiết chính xác dựa trên các thuật toán phức tạp và lượng lớn dữ liệu, và lĩnh vực phân tích chuỗi thời gian đã đóng góp đáng kể cho lĩnh vực này Các kỹ thuật chuỗi thời gian đã được sử dụng trong nhiều thập kỷ để dự báo các mô hình thời tiết, và vẫn là một công cụ quý giá cho các nhà khí tượng học và nhà nghiên cứu
1.2 BÀI TOÁN DỰ BÁO TRÊN CHUỖI THỜI GIAN ĐA BIẾN
1.2.1 Khái niệm
Dự báo chuỗi thời gian là quá trình dự đoán giá trị của một biến theo thời gian dựa trên các quan sát đã xảy ra trong quá khứ Khái niệm này đã thu hút sự quan tâm lớn từ cộng đồng khoa học dữ liệu và nghiên cứu trong nhiều thập kỷ qua
Trong dự báo chuỗi thời gian, chúng ta tập trung vào việc phân tích và hiểu các mẫu, xu hướng, và sự biến đổi trong dữ liệu thời gian Điều này có thể giúp hiểu được
sự tương quan giữa các giá trị trong quá khứ và tương lai, từ đó cho phép dự đoán và ước lượng giá trị của biến trong tương lai
Ngoài sự tương quan quan trọng giữa các giá trị trong quá khứ và tương lai của chuỗi thời gian thì đối với việc dự đoán trên chuỗi thời gian đa biến còn là sự tương tác giữa các biến, từ đó giúp ta có thể hiểu rõ được các mối quan hệ giữa các biến Từ đó, giúp cho kết quả của việc dự đoán tối ưu hơn
Mục tiêu của dự báo chuỗi thời gian là tìm ra một mô hình hoặc thuật toán phù hợp để dự đoán giá trị tương lai dựa trên thông tin quá khứ Các phương pháp dự báo chuỗi thời gian có thể được chia thành hai loại chính: phương pháp dựa trên thống kê và phương pháp dựa trên học máy.[2]
1.2.2 Các mô hình dự báo chuỗi thời gian đa biến
1.2.2.1 Mô hình thống kê
- Mô hình Vector Autoregression (VAR):
Mô hình VAR: Một mô hình thống kê được sử dụng trong phân tích chuỗi thời gian đa biến Nó được mở rộng từ mô hình autoregression đơn biến (AR) để mô hình hóa sự phụ thuộc đồng thời giữa nhiều biến trong một hệ thống Trong mô hình VAR, thay vì chỉ dự đoán giá trị của một biến dựa trên các giá trị quá khứ của chính nó, chúng
ta có thể dự đoán giá trị của tất cả các biến trong hệ thống dựa trên các giá trị quá khứ
Trang 28của cả các biến đó Mô hình VAR giả định rằng mỗi biến được mô hình hóa dựa trên lịch sử của chính nó và lịch sử của các biến khác trong hệ thống
Công thức của AR:
yt = C + ϕ1yt-1 + ϕ2yt-2 +⋅⋅⋅+ ϕpyt-p + ϵt (1.6)Trong đó:
- yt: giá trị của chuỗi thời gian tại thời điểm t
- C: hằng số
- ϕ1, ϕ2, , ϕp: các hệ số tương ứng với giá trị quá khứ của chuỗi thời gia
- εt: độ nhiễu của chuỗi thời gian tại thời điểm t
Từ công thức trên, có thể biến đổi để có mở rộng cho phép mô hình hóa các chuỗi thời gian đa biến trong đó mỗi chuỗi sẽ ảnh hưởng đến một chuỗi khác Để dễ hiểu, có thể xem xét một chuỗi thời gian có 2 biến được ký hiệu là y1,t và y2,t Sau đó, sử dụng
ký hiệu ma trận, mô hình VAR(1) có thể được biểu diễn theo công thức:
- Mô hình Multivariate autoregressive integrated moving average (VARIMA)
Mô hình VARIMA: Mô hình phân tích chuỗi thời gian đa biến được mở rộng từ
mô hình VAR khi mỗi biến được dự đoán dựa trên các giá trị trễ của chính nó và các biến khác trong hệ thống, còn đối với mô hình VARIMA thì để dự đoán các biến còn sử dụng các giá trị trung bình trượt của các biến
Giá trị trung bình trượt là một phương pháp thống kê để ước lượng giá trị trung bình của một chuỗi dữ liệu trong một khoảng thời gian nhất định Nó được sử dụng để làm mịn, loại bỏ nhiễu và nhận biết xu hướng trong dữ liệu
Công thức:
Trang 29𝑋t = 𝐶 + Φ1𝑋t-1 + ⋯ + Φp𝑋t-p + 𝐵1𝑎t-1 + ⋯ + 𝐵q𝑎t-q + 𝑎t (1.8) Trong đó:
- 𝑋t: vector biến ngẫu nhiên đa biến tại thời điểm t
- 𝐶: ma trận hằng số
- Φ1, Φ2, , Φp: ma trận hệ số tự hồi quy (autoregressive)
- 𝑋t-1, 𝑋t-1, , 𝑋t-p: các vector giá trị trễ của biến ngẫu nhiên đa biến
- 𝐵1, 𝐵2, , 𝐵p: ma trận hệ số trung bình trượt (moving average)
- 𝑎t: vector thành phần ngẫu nhiên tại thời điểm t Nhờ vào việc VARIMA chứa cả hai thành phần là tự hồi quy và thành phần trung bình trượt, do đó nó có khả năng mô hình hóa những mẫu không tuyến tính phức tạp hơn so với VAR Tuy nhiên, VARIMA cũng có thể yêu cầu một số giả định về tính chất của dữ liệu và có thể phức tạp hơn trong việc ước lượng và dự báo
- Mô hình Multivariate autoregressive integrated moving average (VECM)
Mô hình VECM: Một phương pháp trong kinh tế lượng để mô hình hóa mối quan
hệ dài hạn giữa các biến trong một hệ thống Nó được sử dụng trong phân tích chuỗi thời gian đa biến để nghiên cứu và dự báo các quan hệ cointegration giữa các biến
Cointegration là một khái niệm quan trọng trong phân tích chuỗi thời gian đa biến, nó chỉ ra rằng một tập hợp các biến có thể di chuyển cùng nhau trong dài hạn, mặc
dù có thể có sự biến động ngắn hạn VECM mô hình hóa mối quan hệ cointegration này bằng cách chuyển đổi chuỗi dữ liệu gốc thành một hệ thống chuỗi dữ liệu mới, trong đó các sai số của các biến được kết hợp để tạo ra các thành phần cointegrating
Công thức:
𝛥𝑌𝑡−1 = 𝛱𝑌𝑡−1 + 𝐵1𝛥𝑌𝑡−1 + + 𝐵𝑃𝛥𝑌𝑡−𝑝 + ε𝑡 (1.9) Trong đó:
- Δyt: vector các biến chênh lệch tại thời điểm t
- Π: ma trận hệ số long-run (cointegrating) và đại diện cho sự điều chỉnh dài hạn từ sai số cointegrating
- B1, B2, , Bp: các ma trận hệ số short-run (transitory) và đại diện cho tương tác ngắn hạn giữa các biến
Trang 30- Yt-1, ΔYt-1, ΔYt-2, , ΔYt-p: các vector biến phụ thuộc và biến chênh lệch tại các thời điểm trước đó
- εt: vector sai số ngẫu nhiên tại thời điểm t
Mô hình VECM là mở rộng của mô hình Vector Autoregression (VAR) Trong VAR, các biến được mô hình dựa trên lịch sử của chính nó và lịch sử của các biến khác trong hệ thống Tuy nhiên, VAR không xử lý được các mối quan hệ cointegration VECM giúp khắc phục điều này bằng cách sử dụng sai số cointegrating (error correction term) để mô hình các quan hệ dài hạn giữa các biến
1.2.2.2 Mô hình học máy
- Mô hình K-Nearest Neighbors (KNN):
Mô hình KNN: Một phương pháp học máy không tham số được sử dụng cho cả phân loại và hồi quy Nguyên lý cơ bản của KNN là dựa trên sự tương đồng giữa các điểm dữ liệu: một điểm dữ liệu sẽ được phân loại hoặc dự đoán giá trị dựa trên các điểm
dữ liệu lân cận gần nhất hay còn được gọi là hàng xóm gần nhất [15]
Hình 1 8: Mô hình K-Nearest Neighbors
Cách hoạt động của KNN:
Tính toán khoảng cách: Thực hiện tính khoảng cách giữa các điểm dữ liệu Thông thường, độ đo Euclidean được sử dụng, nhưng cũng có thể sử dụng các loại độ đo khác như khoảng cách Manhattan, khoảng cách Minkowski, v.v
Xác định hàng xóm gần nhất: Chọn số lượng hàng xóm 𝑘 Các điểm dữ liệu lân cận gần nhất với điểm cần dự đoán sẽ được chọn làm hàng xóm
Trang 31Dự đoán giá trị: Trong bài toán phân loại, giá trị dự đoán là nhãn của số đông hàng xóm Trong bài toán hồi quy, giá trị dự đoán là trung bình giá trị của các hàng xóm
Công thức độ đo Euclidean:
𝐷 = √∑𝑘 (𝑥𝑖 − 𝑦𝑖)2
Trong đó:
- D: khoảng cách Euclidean giữa hai điểm
- k: số chiều không gian (cũng là số lượng các thành phần của mỗi điểm)
- xi: thành phần thứ i của điểm thứ nhất
- yi: Thành phần thứ i của điểm thứ hai
Mô hình KNN có thể được áp dụng cho dự báo chuỗi thời gian đa biến bằng cách chuyển đổi dữ liệu thành các mẫu phù hợp để đưa vào mô hình Dùng cửa sổ trượt, tạo các mẫu dữ liệu đầu vào gồm p bước thời gian trước đó và đầu ra là giá trị của các biến tại bước thời gian tiếp theo Các mẫu này sau đó được chuẩn hóa để đảm bảo các biến
có cùng tỷ lệ, tránh ảnh hưởng của các biến có giá trị lớn
- Mô hình Random Forest:
Mô hìnhRandom Forest: Một thuật toán học máy sử dụng phương pháp ensemble learning để thực hiện các bài toán phân loại và hồi quy Mô hình xây dựng một số lượng lớn các cây quyết định (decision trees) từ các tập con của dữ liệu huấn luyện Mỗi cây quyết định được huấn luyện trên một tập dữ liệu khác nhau được lấy mẫu ngẫu nhiên từ tập dữ liệu huấn luyện với phép lấy mẫu lặp lại (bootstrap sampling)
Trang 32Hình 1 9: Mô hình Random Forest
Quy trình thực hiện:
Tạo cây quyết định: Tạo nhiều cây quyết định từ các mẫu bootstrap của tập huấn luyện
Dự đoán từ mỗi cây: Mỗi cây quyết định sẽ đưa ra một dự đoán
Tổng hợp kết quả: Kết quả cuối cùng được quyết định bằng cách lấy trung bình (cho nhiệm vụ hồi quy) hoặc lấy đa số phiếu (cho nhiệm vụ phân loại) từ các cây quyết định
Mô hình Random Forest có thể được áp dụng cho dự báo chuỗi thời gian đa biến bằng cách chuyển đổi dữ liệu thành các mẫu phù hợp để đưa vào mô hình Như KNN, Random Forest dùng cửa sổ trượt để tạo các mẫu dữ liệu đầu vào gồm p bước thời gian trước đó và đầu ra là giá trị của các biến tại bước thời gian tiếp theo
- Mô hình Feed-Forward Neural Network (FFNN):
Mô hình FFNN: Một thuật toán trong lĩnh vực học sâu được sử dụng để huấn luyện và ánh xạ các mẫu dữ liệu đầu vào tới đầu ra tương ứng Nó là một mạng nơ-ron nhân tạo đơn giản nhất do có cấu trúc tiến thuật, trong đó thông tin chỉ di chuyển theo một hướng từ các lớp đầu vào đến các lớp đầu ra mà không có sự phản hồi ngược.[8]
Một mô hình FFNN bao gồm các lớp nơ-ron được xếp chồng lên nhau Các lớp này bao gồm lớp đầu vào, lớp ẩn và lớp đầu ra Mỗi nơ-ron trong lớp đầu vào tương ứng với một đặc trưng hoặc thuộc tính của dữ liệu đầu vào Các nơ-ron trong lớp đầu ra tạo
ra các dự đoán hoặc đầu ra của mô hình
Trang 33Hình 1 10: Mô phỏng mô hình FFNN
Công thức:
𝑓(𝑥, 𝑤) = 𝑔(∑𝑛 𝑤𝑗𝑖
𝑡=1 𝑥𝑖 + 𝑏𝑗) (1.11) Trong đó:
- w: trọng số giữa hai nơ-ron
- x: giá trị của biến đầu vào
- b: bias của nơ-ron
- g(): hàm truyền phi tuyến tính
FFNN là một mô hình mạnh mẽ trong học máy và có thể được áp dụng cho nhiều loại bài toán, bao gồm phân loại, dự đoán và xử lý dữ liệu Sự phổ biến của FFNN đã được thể hiện trong nhiều ứng dụng như nhận dạng hình ảnh, xử lý ngôn ngữ tự nhiên
và dự báo chuỗi thời gian
- Mô hình Long Short-Term Memory (LSTM):
Mô hình LSTM: Một dạng kiến trúc mạng nơ-ron hồi quy (RNN) đặc biệt được
sử dụng rộng rãi trong việc dự đoán chuỗi thời gian đa biến LSTM có khả năng xử lý các chuỗi dữ liệu có mối quan hệ phức tạp và dài hạn
LSTM được thiết kế để lưu trữ và quên thông tin từ quá khứ để ảnh hưởng đến việc dự đoán tương lai Kiến trúc của LSTM bao gồm các "cổng" (gates) để điều chỉnh luồng thông tin trong mạng Các cổng này bao gồm cổng đầu vào (input gate), cổng
Trang 34quên (forget gate) và cổng đầu ra (output gate), mỗi cổng có chức năng riêng để kiểm soát thông tin đi qua mạng
Hình 1 11: Biểu diễn mô hình Long Short-Term Memory
Công thức:
Cổng quên: ft = σ(Wf [ht-1, xt] + bf) (1.12) Cổng đầu vào: it = σ(Wi [ht-1, xt] + bi) (1.13) Cổng đầu ra: ot = σ(Wo [ht-1, xt] + bo) (1.14) Trong đó:
đó số lượng mẫu là số lượng các điểm dữ liệu có sẵn, độ dài chuỗi là số lượng các bước thời gian liên tiếp được sử dụng để dự đoán, và số lượng biến số là số lượng các biến số đầu vào.[5]
LSTM đã được chứng minh là hiệu quả trong nhiều ứng dụng dự đoán chuỗi thời gian đa biến, bao gồm dự báo giá cổ phiếu, dự đoán lưu lượng giao thông, dự báo tải điện và nhiều lĩnh vực khác
Trang 35- Mô hình GRUs:
Mô hình Gated Recurrent Units (GRUs): Một dạng mô hình mạng nơ-ron hồi quy (RNN) được sử dụng phổ biến trong dự đoán chuỗi thời gian đa biến Nó là một biến thể của LSTM và cũng giải quyết vấn đề gradient vanishing/exploding như LSTM So với LSTM, GRU có cấu trúc đơn giản hơn và có ít đơn vị mạng nơ-ron hơn, do đó nó thường nhanh hơn trong việc huấn luyện và dự đoán
Một GRU bao gồm hai cổng chính: cổng cập nhật (update gate) và cổng đặc tính (reset gate) Cổng cập nhật quyết định tỷ lệ bao nhiêu thông tin mới sẽ được truyền qua
từ quá khứ sang tương lai Cổng đặc tính quyết định tỷ lệ bao nhiêu thông tin quá khứ
sẽ được quên đi Bằng cách điều chỉnh hai cổng này, GRU có thể xác định được thông tin quan trọng và lọc bớt thông tin không cần thiết [7]
Công thức:
Cổng đặc tính: rt = σ(Wrxt + Urht-1 + br) (1.15) Cổng cập nhật: zt = σ(Wzxt + Uzht-1 + bz) (1.16) Trạng thái ẩn ứng viên: ℎ𝑡′ = tanh(Whxt + Uh(rtht-1) + bh) (1.17) Trạng thái ẩn mới: ht = (1 - zt)ht-1 + ztℎ𝑡′ (1.18)
GRU đã chứng minh được hiệu quả trong nhiều ứng dụng dự đoán chuỗi thời gian đa biến, bao gồm dự báo giá cổ phiếu, dự đoán lưu lượng giao thông, và dự báo
Trang 36nhiệt độ Nó có thể học được các mẫu phức tạp trong dữ liệu chuỗi thời gian và cung cấp dự đoán chính xác trong tương lai
1.2.3 Đánh giá mô hình
Khi xây dựng một mô hình dự đoán thì điều quan trọng nhất là đánh giá hiệu suất
và khả năng dự đoán của mô hình đó Trong đó, hàm mất mát đo lường sự khác biệt giữa đầu ra dự đoán của mô hình và giá trị đầu ra thực tế Mục tiêu là tối thiểu hóa giá trị của hàm mất mát này, từ đó cải thiện khả năng dự đoán và học của mô hình Một số hàm mất mát phổ biến thường được sử dụng như:
Hàm sai số bình phương trung bình (Mean Squared Error - MSE): Một phép
tính bình phương của sai số dự báo (khác biệt giữa giá trị dự báo và giá trị thực tế), sau
đó tính trung bình của các bình phương lỗi đó để đưa ra một con số đại diện cho lỗi trung bình của mô hình trên toàn bộ tập dữ liệu
- 𝑌𝑡: giá trị thực tế thời điểm t
- 𝑌̂ : giá trị dự báo thời điểm t (ứng với quan sát t) 𝑡
- n: số lượng mẫu trong tập dữ liệu
Bằng cách bình phương sai số, MSE mất đi thông tin về hướng lỗi tổng thể Điều này có nghĩa là MSE không quan tâm đến hướng của lỗi, chỉ quan tâm đến độ lớn của lỗi MSE đặc biệt nhấn mạnh các lỗi lớn, từ đó trừng phạt các sai số dự đoán cực đoan hơn so với các độ đo lỗi trước đây Đồng thời, MSE cũng không độc lập với tỷ lệ và rất nhạy cảm với sự khác biệt tỷ lệ nhỏ Điều này có thể khiến MSE bị ảnh hưởng bởi các
sự chênh lệch quy mô nhỏ giữa các giá trị dự đoán và giá trị thực tế [3]
Hàm sai số trung bình tuyệt đối (Mean Absolute Error - MAE): Hàm được
tính bằng cách lấy tổng giá trị tuyệt đối của sai số và chia cho số lượng mẫu mà không xem xét đặc điểm hướng của chúng Vì vậy, kết quả MAE càng nhỏ nghĩa là mô hình thành công càng cao
Công thức:
Trang 37MAE =1
n∑n |Yt − Ŷ |t
Trong đó:
- 𝑌𝑡: giá trị thực tế thời điểm t
- 𝑌̂ : giá trị dự báo thời điểm t (ứng với quan sát t) 𝑡
- n: số lượng mẫu trong tập dữ liệu
Hàm sai số bình phương trung bình (Root Mean Squared Error - RMSE):
Hàm tính bằng cách lấy căn bậc hai của giá trị trung bình của các sai số bình phương RMSE đo lường độ lệch chuẩn của các phần dư (sai số dự đoán) giữa giá trị dự đoán và giá trị quan sát
- 𝑌𝑡: giá trị thực tế thời điểm t
- 𝑌̂ : giá trị dự báo thời điểm t (ứng với quan sát t) 𝑡
- n: số lượng mẫu trong tập dữ liệu
Hàm phần trăm trung bình tuyệt đối (Mean Absolute Percentage Error - MAPE): Hàm được tính bằng phần trăm trung bình của chênh lệch tuyệt đối giữa giá
trị dự đoán và giá trị quan sát
- 𝑌𝑡: giá trị thực tế thời điểm t
- 𝑌̂ : giá trị dự báo thời điểm t (ứng với quan sát t) 𝑡
- n: số lượng mẫu trong tập dữ liệu
Vì MAPE tính toán sự chênh lệch tuyệt đối giữa giá trị dự đoán và giá trị quan sát, nên hàm không cung cấp thông tin về hướng của lỗi dự đoán MAPE chỉ quan tâm
Trang 38đến độ lớn của sai số mà không phân biệt sai số dương hay âm Do đó, MAPE không thể cho biết lỗi dự đoán diễn ra theo hướng nào.[3]
1.2.4 Đánh giá kết quả
Đánh giá kết quả dự báo trong phân tích chuỗi thời gian là một quá trình quan trọng để đánh giá hiệu suất của mô hình dự báo Để đánh giá kết quả chính xác của dự báo, có thể so sánh kết quả dự báo với kết quả trong thực tế, đánh kết quả chính xác như thế nào Nếu dự báo cho ra kết quả có độ chính xác kém từ đó thay đổi các siêu tham số, thay đổi các mô hình dự báo hoặc kết hợp các mô hình khác nhau để tăng độ chính xác cho bài toán dự báo
Trang 39CHƯƠNG 2: MÔ HÌNH VECTOR AUTOREGRESSIVE NEURAL
NETWORK (VARNN)
VARNN là một mô hình tiên tiến trong lĩnh vực dự báo chuỗi thời gian đa biến, được phát triển nhằm cải thiện khả năng dự báo so với các mô hình truyền thống như VAR Mô hình VAR đã được sử dụng rộng rãi trong dự báo chuỗi thời gian đa biến nhờ khả năng nắm bắt các mối quan hệ tuyến tính giữa các biến thời gian Tuy nhiên, các chuỗi thời gian trong thực tế thường phức tạp với mẫu không đều và có mối quan hệ phi tuyến, giới hạn khả năng của mô hình VAR VARNN khắc phục những hạn chế này bằng cách kết hợp mô hình VAR với mạng nơ-ron sâu (FFNN) Trong đó, mô hình VAR đảm nhận vai trò cơ bản trong việc nắm bắt các mối quan hệ tuyến tính kết hợp với FFNN để mô hình hóa các mối quan hệ phi tuyến và xử lý các mẫu không đều Từ đó nâng cao khả năng dự báo trong các ứng dụng thực tế và trong các bối cảnh dữ liệu phức tạp và thay đổi không đều theo thời gian
2.1 MÔ HÌNH AUTOREGRESSIVE (AR)
2.1.1 Định nghĩa
Mô hình tự hồi quy (Autoregressive - AR) là một mô hình tuyến tính dùng để dự đoán các giá trị hiện tại dựa vào các giá trị trong khoảng thời gian trong quá khứ Trong
đó các giá trị ở giai đoạn hiện tại là tổng của các kết quả trong quá khứ nhân với một hệ
số Mô hình được biểu thị dưới dạng là AR(p) hay còn gọi là quá trình tự hồi quy cấp p, trong đó “p” được gọi là thứ tự của mô hình và biểu thị số lượng giá trị trễ (các bước thời gian trước đó) mà chúng ta muốn đưa vào [4]
Công thức:
Xt = εt + ∑𝑝𝑘=1𝜑𝑘𝑋𝑡−𝑘 (2.1)
𝑋𝑡 = 𝑐 + 𝜑1𝑋𝑡−1+ 𝜑2𝑋𝑡−2+ ⋯ + 𝜑𝑝𝑋𝑡−𝑝+ 𝜀𝑡 𝑣ớ𝑖 𝜑𝑝 ≠ 0 (2.2) Trong đó:
- Xt: giá trị tại thời điểm t
- c: hằng số (có thể bằng 0)
- φk: các hệ số tương ứng với giá trị quá khứ của chuỗi thời gian
- Xt-k: những giá trị trễ
Trang 40- εt : độ nhiễu của chuỗi thời gian tại thời điểm t
Bậc p của mô hình AR là số lần quan sát dừng quá khứ được sử dụng để xây dựng hàm tự tương quan Khi sử dụng m quan sát dừng quá khứ, mô hình tương quan cũng sẽ có bậc p tương ứng với số lần quan sát đó Ví dụ, nếu ta có mô hình AR(1), thì giá trị hiện tại chỉ phụ thuộc vào giá trị trước đó Nếu ta có mô hình AR(2), thì giá trị hiện tại phụ thuộc vào hai giá trị trước đó, và cứ tiếp tục như vậy
Điều kiện dừng là tổng các tham số phân tích hồi quy nhỏ hơn 1:
𝜑1+ 𝜑2+ ⋯ + 𝜑p < 1 (2.3) Điều kiện này giúp đảm bảo rằng không có sự phụ thuộc quá mạnh giữa giá trị hiện tại và các giá trị quá khứ, điều này cũng giúp ngăn chặn chuỗi thời gian từ việc phân kỳ dẫn đến các dự đoán của mô hình có thể không chính xác và không đáng tin cậy
2.1.2 Kiến trúc mô hình
Quá trình hoạt động của mô hình AR bắt đầu bằng việc ước lượng các hệ số autoregressive (AR coefficients) Các hệ số này thể hiện mức độ ảnh hưởng của các giá trị quá khứ lên giá trị hiện tại của biến Để ước lượng các hệ số này, mô hình AR thường
sử dụng phương pháp như phương pháp Yule-Walker hoặc Maximum Likelihood Estimation (MLE)
Phương pháp Yule-Walker dựa trên các phương trình Yule-Walker, trong đó các
hệ số AR được ước lượng bằng cách giải hệ phương trình tương quan tự song tuyến đối với X và φ, nghĩa là nếu cho X sẽ tính được φ và ngược lại Tuy nhiên Yule-Walker không hiệu quả đặc biệt đối với kích thước mẫu nhỏ, từ đó có thể dẫn đến ước lượng không chính xác và không ổn định của các hệ số AR
φ𝑝−1
φ𝑝 ]
=[
ε1
ε2