BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC BÁCH KHOA HÀ NỘI
____________________
Nguyễn Quang Đạt
CẢI TIẾN PHƯƠNG PHÁP HỌC MÁY TRONG CHUỖI THỜI GIAN VÀ ỨNG DỤNG
LUẬN ÁN TIẾN SĨ TOÁN HỌC
Hà Nội – 2023
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC BÁCH KHOA HÀ NỘI
____________________
Nguyễn Quang Đạt
CẢI TIẾN PHƯƠNG PHÁP HỌC MÁY
TRONG CHUỖI THỜI GIAN VÀ ỨNG DỤNG
Ngành: Toán học Mã số: 9460101
LUẬN ÁN TIẾN SĨ TOÁN HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC:
1. TS. Nguyễn Thị Ngọc Anh
2. PGS.TS. Nguyễn Ngọc Doanh
Hà Nội - 2023
i
LỜI CAM ĐOAN
Tôi - Nguyễn Quang Đạt - cam kết Luận án là công trình nghiên cứu của bản
thân tôi dưới sự hướng dẫn của TS. Nguyễn Thị Ngọc Anh và PGS.TS. Nguyễn
Ngọc Doanh. Các kết quả nêu trong luận án là trung thực, có trích dẫn nhưng
không sao chép toàn văn của bất kỳ công trình nào khác. Các kết quả đạt được
trong Luận án chưa từng được các tác giả khác công bố.
Hà Nội, ngày tháng năm 2023
Nghiên cứu sinh
Nguyễn Quang Đạt
Hà Nội, ngày tháng năm 2023
TM tập thể hướng dẫn
ii
LỜI CẢM ƠN
Em xin trân trọng cảm ơn tập thể giáo viên hướng dẫn, là TS. Nguyễn Thị
Ngọc Anh và PGS.TS. Nguyễn Ngọc Doanh, đã chỉ dẫn và giúp đỡ em trong
các vấn đề chính của quá trình làm nghiên cứu. Từ dẫn hướng của thầy cô, em
đã thu được các kết quả tốt nhất khi hoàn thành luận án này.
Hà Nội, ngày tháng năm 2023
Nghiên cứu sinh
Nguyễn Quang Đạt
iii
MỤC LỤC
ii LỜI CẢM ƠN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iii MỤC LỤC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vi DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT . . . . .
DANH MỤC CÁC HÌNH VẼ . . . . . . . . . . . . . . . . . . . . . viii
DANH MỤC CÁC BẢNG BIỂU . . . . . . . . . . . . . . . . . . . xii
1 GIỚI THIỆU ĐỀ TÀI
CHƯƠNG 1. Một số mô hình truyền thống trong dự báo chuỗi
10 thời gian
1.1 Autoregressive Integrated Moving Average - ARIMA . . . . . . . . 10
1.2 Seasonal Autoregressive Integrated Moving Average - SARIMA . . 17
1.3 Wavelet Analys - WA . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.4 Artificial neutral network – ANN . . . . . . . . . . . . . . . . . . . 28
1.5 Recurrent neural network – RNN . . . . . . . . . . . . . . . . . . . 31
1.6 Tiêu chí đánh giá các mô hình . . . . . . . . . . . . . . . . . . . . . 38
40 CHƯƠNG 2. Mô hình học trực tuyến
2.1 Dữ liệu thực tế được cập nhật liên tục . . . . . . . . . . . . . . . . 41
2.2 Cơ sở của mô hình trực tuyến . . . . . . . . . . . . . . . . . . . . . 42
2.3 Phương pháp giảm gradient trực tuyến . . . . . . . . . . . . . . . . 45
2.4 Phương pháp trực tuyến ONS . . . . . . . . . . . . . . . . . . . . . 49
2.5 Mô hình trực tuyến cho ARIMA và SARIMA . . . . . . . . . . . . 57
2.5.1 Mô hình ARIMA Online Newton step . . . . . . . . . . . . 57
2.5.2 Mô hình SARIMA Online Newton step . . . . . . . . . . . 60
2.6 Mô hình RNN trực tuyến . . . . . . . . . . . . . . . . . . . . . . . . 71
iv
2.6.1 Một số vấn đề trong mô hình RNN . . . . . . . . . . . . . . 71
2.6.2 Xây dựng cơ sở thuật toán trực tuyến . . . . . . . . . . . . 73
2.6.3 Mô tả thuật toán . . . . . . . . . . . . . . . . . . . . . . . . 79
2.7 Thực nghiệm mô hình SARIMA online với dữ liệu thực tế . . . . 84
2.7.1 Dữ liệu so sánh: dữ liệu Australia . . . . . . . . . . . . . . 84
2.7.2 Dữ liệu phụ tải điện miền bắc Việt Nam . . . . . . . . . . 84
2.8 Kết quả thực nghiệm thực tế . . . . . . . . . . . . . . . . . . . . . 85
2.8.1 Dữ liệu so sánh: dữ liệu Australia . . . . . . . . . . . . . . 85
2.8.2 Dữ liệu phụ tải điện của miền bắc Việt Nam . . . . . . . . 88
CHƯƠNG 3. Mô hình lai 93
3.1 Mô hình lai ARIMA và ANN . . . . . . . . . . . . . . . . . . . . . 96
3.2 Mô hình lai ARIMA - LSTM được lọc qua bộ lọc MA . . . . . . . 98
3.3 Mô hình lai ARIMA - Neural Network có sử dụng lọc nhiễu bằng
Wavelet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
3.4 Mô hình lai ARIMA-LSTM được tách dữ liệu bằng MA . . . . . . 107
3.4.1 Dữ liệu so sánh: dữ liệu Sunspot . . . . . . . . . . . . . . . 107
3.4.2 Dữ liệu mực nước . . . . . . . . . . . . . . . . . . . . . . . . 108
3.4.3 Kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
3.5 Mô hình lai ARIMA-ANN lọc nhiễu bằng Wavelet . . . . . . . . . 114
3.5.1 Dữ liệu so sánh: dữ liệu Sunspot . . . . . . . . . . . . . . . 115
3.5.2 Dữ liệu mực nước sông Hồng . . . . . . . . . . . . . . . . . 115
3.5.3 Kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
CHƯƠNG 4. Mô hình lai máy học trực tuyến 123
4.1 Mô hình lai máy học trực tuyến Multi-seasonal - ARIMA online
- RNN online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.2 Thực nghiệm của mô hình lai máy học trực tuyến Multi-seasonal
- ARIMA online - RNN online . . . . . . . . . . . . . . . . . . . . . 126
4.2.1 Dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
v
4.2.2 Kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
KẾT LUẬN 137
DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ
CỦA LUẬN ÁN 140
TÀI LIỆU THAM KHẢO 143
vi
DANH MỤC CÁC CHỮ VIẾT TẮT VÀ CÁC KÝ HIỆU
CÁC CHỮ VIẾT TẮT
ARIMA Mô hình hồi quy tự động kết hợp trung bình trượt
có sử dụng sai phân.
SARIMA Mô hình hồi quy tự động kết hợp trung bình trượt
có sử dụng sai phân và tính mùa.
Mô hình mạng thần kinh nhân tạo. ANN
Mô hình mạng thần kinh hồi quy. RNN
Mô hình sóng nhỏ (Wavelets Analys). WA
Online learning Mô hình máy học trực tuyến.
Hybrid model Mô hình lai.
OGD Online Gradient Descent: phương pháp giảm gradi-
ent trực tuyến.
Online Newton Step: phương pháp học trực tuyến ONS
Newton Step.
Tế bào/nốt/nút (trong ANN, RNN), là các thành Node
phần nhỏ nhất của mạng thần kinh nhân tạo.
Trung bình bình phương sai số (mean square error ). MSE
Trung bình giá trị tuyệt đối của sai số (mean abso- MAE
lute error ).
MAPE Trung bình giá trị tuyệt đối của sai số tính theo
phần trăm (mean absolute percentage error ).
vii
∇
MỘT SỐ KÝ HIỆU TOÁN HỌC
Sai phân.
Ai
K
Ma trận Hessian ở bước thứ i, kích thước (p+m)×(p+m).
Tập quyết định.
Đường kính của tập quyết định. D
Hằng số Lipschitz của hàm. L
Li(θ)
Hàm mất mát (phụ thuộc tham số θ) tại bước thứ i.
ℓt(xt)
A ≻ 0
Hàm mất mát (phụ thuộc biến xt) (tại bước thứ t).
A ⪰ 0 (cid:81)A
Ma trận A xác định dương.
P (y) là hình chiếu của y lên P theo ma trận A ⪰ 0.
Ma trận A xác định không âm. z = (cid:81)A
P (y) P (y)
A · B
A • B
(cid:81) Phép chiếu trực giao của y lên P.
i,j=1 AijBij.
Phép nhân ma trận. Phép nhân trực tiếp ma trận A • B = (cid:80)n
Vết của ma trận A. Tr(A)
Lt,w(θ; µ)
Hàm time-smoothed loss được định nghĩa tại (2.79).
viii
DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Phân tách dữ liệu tín hiệu qua 4 bậc. . . . . . . . . . . . . . 26
Hình 1.2 Mô hình Recurrent Neural Networks . . . . . . . . . . . . . . 31
Hình 1.3 Ví dụ về mô hình RNN. . . . . . . . . . . . . . . . . . . . . . 32
Hình 1.4 Một mô hình RNN với nhiều đầu vào và 1 đầu ra. . . . . . . 36
Hình 2.1 Phương hướng giải quyết vấn đề cập nhật dữ liệu của mô
hình trực tuyến. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Hình 2.2 Cơ sở của việc tính toán tham số cho mô hình trực tuyến. . 44
Hình 2.3 Dữ liệu của Australia. . . . . . . . . . . . . . . . . . . . . . . 86
Hình 2.4 Thực nghiệm mô hình trực tuyến: Kết quả của mô hình
SARIMA-ONS khi chạy dữ liệu của Australia (toàn bộ dữ liệu). . 87
Hình 2.5 Thực nghiệm mô hình trực tuyến: Kết quả của mô hình
SARIMA-ONS khi chạy dữ liệu của Australia (một số giá trị đầu
tiên của tập dữ liệu con dùng để kiểm tra testing set). . . . . . . . 87
Hình 2.6 Thực nghiệm mô hình trực tuyến: Tối ưu siêu tham số cho
tự hồi quy và tự hồi quy theo mùa cho mô hình SARIMA online
lúc 05 giờ sáng, đại diện cho mức tiêu thụ điện thấp. Siêu tham
số tốt nhất là (p, P ) = (1, 2). . . . . . . . . . . . . . . . . . . . . . . 90
Hình 2.7 Thực nghiệm mô hình trực tuyến: Tối ưu siêu tham số cho
tự hồi quy và tự hồi quy theo mùa cho mô hình SARIMA online
lúc 13 giờ trưa, đại diện cho mức tiêu thụ điện cao. Siêu tham số
tốt nhất là (p, P ) = (0, 5). . . . . . . . . . . . . . . . . . . . . . . . . 90
ix
Hình 2.8 Thực nghiệm mô hình trực tuyến: Tối ưu siêu tham số cho
tự hồi quy và tự hồi quy theo mùa cho mô hình SARIMA online
lúc 21 giờ đêm, đại diện cho mức tiêu thụ điện trung bình. Siêu
tham số tốt nhất là (p, P ) = (2, 0). . . . . . . . . . . . . . . . . . . . 91
Hình 2.9 Thực nghiệm mô hình trực tuyến: Kết quả dự báo thời điểm
05 giờ sáng của mô hình SARIMA-ONS đối với dữ liệu phụ tải
điện miền bắc Việt Nam. . . . . . . . . . . . . . . . . . . . . . . . . 91
Hình 2.10 Thực nghiệm mô hình trực tuyến: Kết quả dự báo thời điểm
13 giờ trưa của mô hình SARIMA-ONS đối với dữ liệu phụ tải
điện miền bắc Việt Nam. . . . . . . . . . . . . . . . . . . . . . . . . 92
Hình 2.11 Thực nghiệm mô hình trực tuyến: Kết quả dự báo thời điểm
21 giờ đêm của mô hình SARIMA-ONS đối với dữ liệu phụ tải
điện miền bắc Việt Nam. . . . . . . . . . . . . . . . . . . . . . . . . 92
Hình 3.1 Mô hình lai ARIMA-LSTM. . . . . . . . . . . . . . . . . . . . 99
Hình 3.2 Mô hình lai ARIMA - WA - Neural Networks . . . . . . . . . 106
Hình 3.3 Dữ liệu Sunspot từ năm 1870 tới năm 1987. . . . . . . . . . 108
Hình 3.4 Dữ liệu mực nước từ năm 2016 tới năm 2018. . . . . . . . . 109
Hình 3.5 Thực nghiệm mô hình lai: Mô hình lai ARIMA-LSTM được
tách dữ liệu bằng MA - Mô hình ARIMA (Dữ liệu Sunspot). . . . 110
Hình 3.6 Thực nghiệm mô hình lai: Mô hình lai ARIMA-LSTM được
tách dữ liệu bằng MA - Mô hình LSTM (Dữ liệu Sunspot). . . . . 111
Hình 3.7 Thực nghiệm mô hình lai: Mô hình lai ARIMA-LSTM được
tách dữ liệu bằng MA - Mô hình của Babu [3] (Dữ liệu Sunspot). 111
Hình 3.8 Thực nghiệm mô hình lai: Mô hình lai ARIMA-LSTM được
tách dữ liệu bằng MA - Mô hình ARIMA-LSTM dùng bộ lọc MA
(Dữ liệu Sunspot). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Hình 3.9 Thực nghiệm mô hình lai: Mô hình lai ARIMA-LSTM được
tách dữ liệu bằng MA - Mô hình ARIMA (Dữ liệu mực nước). . . 113
x
Hình 3.10 Thực nghiệm mô hình lai: Mô hình lai ARIMA-LSTM được
tách dữ liệu bằng MA - Mô hình LSTM (Dữ liệu mực nước). . . . 113
Hình 3.11 Thực nghiệm mô hình lai: Mô hình lai ARIMA-LSTM được
tách dữ liệu bằng MA - Mô hình ARIMA-LSTM dùng bộ lọc MA
(Dữ liệu mực nước). . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Hình 3.12 Sunspot data . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Hình 3.13 Dữ liệu mực nước. . . . . . . . . . . . . . . . . . . . . . . . . 116
Hình 3.14 Thực nghiệm mô hình lai: Mô hình lai ARIMA-WA-ANN -
Dữ liệu Sunspot, thành phần tuyến tính và phi tuyến. . . . . . . . 118
Hình 3.15 Thực nghiệm mô hình lai: Mô hình lai ARIMA-WA-ANN -
So sánh kết quả các mô hình (ARIMA - RNN/LSTM/GRU không
có Wavelet) - Dữ liệu Sunspot. . . . . . . . . . . . . . . . . . . . . 119
Hình 3.16 Thực nghiệm mô hình lai: Mô hình lai ARIMA-WA-ANN -
Dữ liệu mực nước, thành phần tuyến tính và phi tuyến. . . . . . . 120
Hình 3.17 Thực nghiệm mô hình lai: Mô hình lai ARIMA-WA-ANN -
So sánh kết quả các mô hình (ARIMA - RNN/LSTM/GRU không
có Wavelet) - Dữ liệu mực nước . . . . . . . . . . . . . . . . . . . . 121
Hình 3.18 Thực nghiệm mô hình lai: Mô hình lai ARIMA-WA-ANN -
So sánh kết quả của các mô hình (ARIMA - RNN/LSTM/GRU
có sử dụng Wavelet) - Dữ liệu mực nước. . . . . . . . . . . . . . . 122
Hình 4.1 Mô hình lai trực tuyến đề xuất. . . . . . . . . . . . . . . . . . 125
Hình 4.2 Dữ liệu phụ tải điện của Australia . . . . . . . . . . . . . . . 126
Hình 4.3 Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal -
ARIMA online - RNN online - Mô hình ARIMA. Đường nét liền
màu xanh lá cây là dữ liệu gốc, đường nét đứt màu xanh lam là
dữ liệu dự báo (Dữ liệu Australia). . . . . . . . . . . . . . . . . . . 131
xi
Hình 4.4 Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal -
ARIMA online - RNN online - Mô hình RNN. Đường nét liền màu
xanh lá cây là dữ liệu gốc, đường nét đứt màu xanh lam là dữ
liệu dự báo (Dữ liệu Australia). . . . . . . . . . . . . . . . . . . . . 131
Hình 4.5 Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal -
ARIMA online - RNN online - Mô hình ARIMA online. Đường
nét liền màu xanh lá cây là dữ liệu gốc, đường nét đứt màu xanh
lam là dữ liệu dự báo (Dữ liệu Australia). . . . . . . . . . . . . . . 132
Hình 4.6 Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal -
ARIMA online - RNN online - Mô hình RNN online. Đường nét
liền màu xanh lá cây là dữ liệu gốc, đường nét đứt màu xanh lam
là dữ liệu dự báo (Dữ liệu Australia). . . . . . . . . . . . . . . . . . 132
Hình 4.7 Thực nghiệm lai trực tuyến: Mô hình Multi-seasonal - ARIMA
online - RNN online - Mô hình đề xuất. Đường nét liền màu xanh
lá cây là dữ liệu gốc, đường nét đứt màu xanh lam là dữ liệu dự
báo (dữ liệu Australia). . . . . . . . . . . . . . . . . . . . . . . . . . 133
Hình 4.8 Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal -
ARIMA online - RNN online - Mô hình ARIMA truyền thống.
Đường nét liền màu xanh lá cây là dữ liệu gốc, đường nét đứt
màu xanh lam là dữ liệu dự báo (dữ liệu Việt Nam). . . . . . . . . 134
Hình 4.9 Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal -
ARIMA online - RNN online - Mô hình ARIMA online. Đường
nét liền màu xanh lá cây là dữ liệu gốc, đường nét đứt màu xanh
lam là dữ liệu dự báo (dữ liệu Việt Nam). . . . . . . . . . . . . . . 135
Hình 4.10 Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal -
ARIMA online - RNN online - Mô hình RNN truyền thống. Đường
nét liền màu xanh lá cây là dữ liệu gốc, đường nét đứt màu xanh
lam là dữ liệu dự báo (dữ liệu Việt Nam). . . . . . . . . . . . . . . 135
xii
Hình 4.11 Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal -
ARIMA online - RNN online - Mô hình RNN online. Đường nét
liền màu xanh lá cây là dữ liệu gốc, đường nét đứt màu xanh lam
là dữ liệu dự báo (dữ liệu Việt Nam). . . . . . . . . . . . . . . . . 136
Hình 4.12 Thực nghiệm lai trực tuyến: Mô hình Multi-seasonal - ARIMA
online - RNN online - Mô hình đề xuất. Đường nét liền màu xanh
lá cây là dữ liệu gốc, đường nét đứt màu xanh lam là dữ liệu dự
báo (dữ liệu Việt Nam). . . . . . . . . . . . . . . . . . . . . . . . . 136
xiii
DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1 Một số nghiên cứu ứng dụng của mô hình ARIMA trong
dự báo chuỗi thời gian. . . . . . . . . . . . . . . . . . . . . . . . . . 11
Bảng 1.2 Một số nghiên cứu ứng dụng của mô hình SARIMA trong
dự báo chuỗi thời gian. . . . . . . . . . . . . . . . . . . . . . . . . . 17
Bảng 1.3 Một số nghiên cứu về mô hình có xử lý dữ liệu bằng Wavelet. 23
Bảng 1.4 Một số nghiên cứu về mạng thần kinh nhân tạo - Artificial
Neural Network. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Bảng 1.5 Một số nghiên cứu về mô hình mạng nơ-ron hồi quy - Re-
current Neural Network. . . . . . . . . . . . . . . . . . . . . . . . . 32
Bảng 2.1 Mô hình máy học trực tuyến. . . . . . . . . . . . . . . . . . . 40
Bảng 2.2 So sánh các đặc điểm khác nhau của mô hình SARIMA giữa
mô hình máy học truyền thống và mô hình máy học trực tuyến. . 70
Bảng 2.3 So sánh các đặc điểm khác nhau của mô hình RNN giữa
mô hình máy học truyền thống và mô hình máy học trực tuyến. . 83
Bảng 2.4 Kết quả của mô hình đề xuất và so sánh với một số mô hình
khác trên bộ dữ liệu của Australia . . . . . . . . . . . . . . . . . . 85
Bảng 2.5 Kết quả mô hình đề xuất trên bộ dữ liệu phụ tải điện miền
bắc Việt Nam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Bảng 3.1 Mô hình lai giữa 2 mô hình tuyến tính và mạng thần kinh
nhân tạo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Bảng 3.2 Phương pháp lai cho mô hình được đề xuất. . . . . . . . . . 101
Bảng 3.3 Các bộ dữ liệu sử dụng. . . . . . . . . . . . . . . . . . . . . . 107
Bảng 3.4 So sánh kết quả dự báo với dữ liệu Sunspot. Giá trị in đậm
là giá trị tốt nhất trong các mô hình so sánh. . . . . . . . . . . . . 109
xiv
Bảng 3.5 So sánh kết quả với dữ liệu mực nước. Giá trị in đậm là giá
trị tốt nhất trong các mô hình so sánh. . . . . . . . . . . . . . . . . 112
Bảng 3.6 So sánh kết quả dự báo mực nước. . . . . . . . . . . . . . . . 114
Bảng 3.7 Dữ liệu Sunspot. . . . . . . . . . . . . . . . . . . . . . . . . . 115
Bảng 3.8 Dữ liệu mực nước. . . . . . . . . . . . . . . . . . . . . . . . . 116
Bảng 3.9 So sánh kết quả dự báo: Sunspot (dự báo 25 bước), và mực
nước (dự báo 1 bước). Giá trị in đậm là giá trị tốt nhất trong các
mô hình so sánh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Bảng 4.1 Sử dụng tiêu chí thông tin Akaike (Akaike information cri-
terion - AIC) để tìm bộ tham số (p, d, q) tốt nhất cho bộ dữ liệu
Australia. Thử với p=1,...,10; d =0,...,5; q=1,...,10. . . . . . . . . . 128
Bảng 4.2 Số lượng epochs và số lượng lớp để tìm kiếm mô hình RNN
tốt nhất cho bộ dữ liệu Australia. Xem xét Epoch = 1 .. 10, slp
= 2 .. 128. Kết quả tốt nhất là slp=4 và Epoch=7 hoặc 9. . . . . . 129
Bảng 4.3 Kết quả một số mô hình cho bộ dữ liệu Australia. Giá trị
in đậm là giá trị tốt nhất trong các mô hình so sánh. . . . . . . . 130
Bảng 4.4 Kết quả dự báo bởi một số mô hình cho bộ dữ liệu miền
bắc Việt Nam. Giá trị in đậm là giá trị tốt nhất trong các mô
hình so sánh. Kết quả của mô hình đề xuất là tốt nhất trong tất
cả các mô hình. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
1
GIỚI THIỆU ĐỀ TÀI
Trong chương này, tôi giới thiệu vấn đề cần nghiên cứu gồm bài toán đặt ra,
phương pháp nghiên cứu. Từ đó đó tôi làm rõ mục tiêu của Luận án và bố cục
của Luận án để hướng tới giải quyết mục tiêu đặt ra.
Đặt vấn đề
Với sự phát triển của công nghệ thông tin, hiện nay, ngành nghiên cứu mới
là xử lý dữ liệu lớn đã và đang rất được các tập đoàn, các công ty và cả các cơ
quan quản lý nhà nước rất quan tâm, đầu tư nghiên cứu. Xử lý các số liệu trên
toàn hệ thống có ý nghĩa rất quan trọng, tỏng đó bao gồm cả việc cố gắng dự
báo với độ chính xác cao nhất nhất các dữ liệu trong tương lai (bao gồm dự báo
ngắn hạn, trung hạn và dài hạn).
Dữ liệu được dự báo trong chuỗi thời gian là rất quan trọng cho việc dự báo
tương lai được nói tới bên trên. Các dữ liệu dự báo này, kết hợp với một số các
hệ thống khác (ví dụ như trong dự báo thời tiết thì gồm có cả hệ thống ảnh vệ
tinh và dữ liệu quan trắc từ các điểm đo) khi được xử lý bằng các mô hình mới
hơn sẽ có thể đưa ra một kết quả chính xác cao hơn cho hệ thống, nhắm tới mục
tiêu vận hành hệ thống một cách hợp lý nhất.
Động cơ nghiên cứu bài toán
Hiện nay tại Việt Nam đang diễn ra sự số hóa các ngành nghề rất mạnh
mẽ. Không chỉ các ngành nghề có liên quan tới công nghệ thông tin, mà cả các
ngành truyền thống, nhất là quản lý, cũng được tiến hành số hóa rất nhiều. Việc
nghiên cứu và úng dụng dữ liệu lớn (big data) trở thành một vấn đề mang tính
thời sự rất cao trong sự phát triển công nghệ thông tin trong xã hội và nền kinh
tế.
2
Một trong các vấn đề của dữ liệu lớn là nghiên cứu chuỗi thời gian (time
series). Một trong những mục tiếu quan trọng nhất trong xử lý chuỗi thời gian
là dự báo (tiếng Anh là prediction hoặc forecasting). Dự báo chuỗi thời gian có
tính ứng dụng rất rộng rãi trong các vấn đề của cuộc sống, như dự báo thời
tiết, dự báo chứng khoán, dự báo dịch bệnh, và nhiều dự báo khác nữa. Vì vậy,
nghiên cứu dự báo chuỗi thời gian đang trở thành một trong những nghiên cứu
quan trọng cho thời điểm hiện nay.
Các nghiên cứu trước đây từ lâu đã đưa ra rất nhiều các mô hình máy học
(machine learning) nhằm phục vụ cho dự báo chuỗi thời gian. Các mô hình
machine learning ngày càng phức tạp và mạnh mẽ, dù đòi hỏi tài nguyên ngày
càng nhiểu nhưng độ chính xác cũng ngày một tăng cao. Trong Luận án này,
tôi đã thiết lập một số phương pháp mới và đưa ra một số mô hình máy học
mới, tăng cao hơn nữa độ chính xác cho các dự báo chuỗi thời gian so với các
mô hình đã được công bố.
Mục tiêu của Luận án
Trong Luận án này, tôi, dưới sự hướng dẫn của tập thể các giảng viên hướng
dẫn, sẽ tập trung nghiên cứu và đề xuất một số mô hình máy học mới, áp dụng
cho dự báo chuỗi thời gian. Một số lý thuyết trong các mô hình mới này cần
phải được chứng minh bằng toán học. Tổng thể mô hình cần được chứng minh
dựa trên kết quả thực nghiệm với dữ liệu thực tế. Mô hình đề xuất phải là mô
hình mới, chưa được công bố trước đây.
1. Mục tiêu hàn lâm: nghiên cứu và phân tích các mô hình đang được sử dụng
rộng rãi về dự báo chuỗi thời gian, từ đó chỉ ra các vấn đề còn tồn tại của
mỗi mô hình đã được nghiên cứu. Đề xuất hướng giải quyết vấn đề trên của
các mô hình truyền thống, từ đó xây dựng nên mô hình dự báo mới tối ưu
• Phân tích một số mô hình dự báo chuỗi thời gian truyền thống, chỉ ra
hơn.
vấn đề trong các mô hình này. Trong Luận án, tôi đã trọng tâm nghiên
3
• Đưa ra các đề xuất về các thuật toán mới, xây dựng các mô hình mới
cứu về các mô hình SARIMA và RNN.
phù hợp để tính các giá trị dự báo trong tương lai của một chuỗi thời
gian được chọn tại một thời điểm đã chọn. Trong Luận án, tôi đã đề
xuất 2 phương pháp là phương pháp lai (hybrid model ) và phương pháp
máy học trực tuyến (online learning). 2 mô hình mới được xây dựng
dựa vào các thuật toán này, đồng thời tiếp tục kết hợp cả 2 mô hình
• Thực hành các mô hình truyền thống và các mô hình mới trên một số
này để tạo ra một mô hình phức tạp và mạnh mẽ hơn nữa.
bộ dữ liệu công khai, nhằm chứng minh độ chính xác đã được tăng lên
của các mô hình đề xuất. Tạo các mô hình nhắm tới các mục tiêu dự
báo ngắn hạn và dự báo dài hạn (có thể thêm dự báo trung hạn). So
sánh kết quả thu được này của các mô hình mới với các mô hình truyền
• Đưa ra các phương hướng phát triển khả thi của nghiên cứu này và
thống.
định hướng cho các nghiên cứu trong tương lai.
2. Mục tiêu ứng dụng: sử dụng các mô hình mới để dự báo các chuỗi thời gian
trong bài toán thực tế đang nghiên cứu. Từ đó đưa ra được kết luận về tính
• Ứng dụng các mô hình nghiên cứu vào các bộ dữ liệu thực tế. Các dữ
khả thi của nghiên cứu.
liệu thực tế ở đây được sử dụng là các bộ dữ liệu được công khai trên
các website của các công ty (ví dụ như dữ liệu tiêu thụ điện ở Úc),
hoặc là các bộ dữ liệu nổi tiếng (ví dụ như dữ liệu điểm đem mặt trời
Sunspot). Các mô hình sẽ được chạy với các bộ dữ liệu thực này, sau đó
dùng để so sánh các mô hình với nhau, ở đây là so sánh kết quả. Các
mô hình dùng để so sánh là một số mô hình truyền thống, và một số
các mô hình được các tác giả nghiên cứu gần đây và đã được công khai
phương pháp nghiên cứu trên các tạp chí uy tín. Một số mô hình không
4
được các tác giả công khai mã chương trình nên sẽ được dựng lại mã
nguồn, từ đó chạy chương trình và làm so sánh với các kết quả của các
• Ứng dụng các mô hình mới nghiên cứ trong dự báo chuỗi thời gian của
chương trình của mô hình khác.
một số chuỗi thời gian trong thực tế. Các dữ liệu là dữ liệu lấy thực,
được thu thập từ các nguồn chính thống, có sự đảm bảo về độ xác thực
của dữ liệu. Các mô hình được chạy trực tiếp với các dữ liệu đó, cho ra
kết quả, đồng thời cũng so sánh với một số kết quả của một số mô hình
(chạy trên một số bộ dữ liệu thực tế). Trong các thực nghiệm với dữ
liệu thực tế, tất cả các mô hình đề xuất trong nghiên cứu đều cho ra kết
quả tốt nhất khi đem so sánh với các mô hình khác (các mô hình được
đem ra so sánh). Từ đó khẳng định tính đúng đắn (bằng thực nghiệm)
• Nêu ra tính khả dụng của mô hình dự báo đối với cả các loại dữ liệu
của các mô hình đề xuất.
thực tế khác. Các mô hình được đề xuất là các mô hình sử dụng chuỗi
thời gian, không cố định là loại chuỗi thời gian thực tế gì. Trong các
thực nghiệm, có mô hình đã sử dụng chuỗi thời gian là chuỗi thời gian
mực nước, cũng có mô hình sử dụng dữ liệu là dữ liệu nghiên cứu điện
năng. Vì vậy, các mô hình đề xuất là các mô hình có thể sử dụng và
ứng dụng trong nhiều vấn đề khác nhau của thực tế.
Bài toán cần nghiên cứu
Bài toán trong Luận án này là bài toán thực nghiệm. Dựa trên các nghiên
cứu toán học về các phương pháp mới và mô hình mới, Luận án sẽ đưa ra mô
hình có thể giải quyết được vấn đề, đồng thời đạt được các mục tiêu đặt ra. Các
vấn đề được giải quyết thông qua việc lập trình và chạy chương trình, từ đó đưa
ra các nhận xét đối với các mô hình máy học khác nhau.
Bài toán có thể được phát biểu và cần phải được thực hiện theo các bước như
sau:
5
1. Cho một số chuỗi thời gian {x1,t}t=1..N , {x2,t}t=1..N , ... , {xn,t}t=1..N (với n
là số lượng chuỗi thời gian ta đang sử dụng). Ta xem xét chuỗi thời gian
thứ nhất là chuỗi chính.
Trong trường hợp của Luận án thì chuỗi thời gian được xem xét chỉ gồm 1
chuỗi, cho nên sẽ được ký hiệu là {xt}t=1..N .
2. Đưa ra phương pháp luận, mô hình máy học phù hợp và tính ra kết quả dự
báo cho giá trị trong tương lai là giá trị xN +m (với 1 ≤ m) (đây là giá trị
tại thời điểm N + m trong tương lai của chuỗi thời gian).
3. Đánh giá các mô hình khác nhau bằng độ chính xác của giá trị xN +m được
đưa ra (so với giá trị thực tế). Giá trị thực tế ở đây có được khi ta dùng
cách chia tập huấn luyện - kiểm tra (từ chuỗi thời gian gốc).
Với một chuỗi thời gian, chúng ta có thể sử dụng nhiều mô hình khác nhau.
Chúng ta cần chỉ ra được các mô hình thích hợp với chuỗi thời gian cụ thể dựa
trên các thực nghiệm cùng với các giải thích hợp lý (từ độ chính xác của các mô
hình).
Phạm vi của nghiên cứu
Với các mục tiêu đặt ra bên trên, tôi đã tập trung vào nghiên cứu một số vấn
• Phân tích ưu nhược điểm của một số phương pháp và mô hình máy học
đề sau đây:
truyền thống. Áp dụng cho một số bộ dữ liệu và tính toán một số kết quả
• Áp dụng máy học trực tuyến (online learning) vào một số chuỗi thời gian,
dự báo.
đánh giá các mô hình này, đồng thời so sánh chúng với các mô hình truyền
thống. Đánh giá các mô hình đề xuất với mô hình cũ để đưa ra nhận xét
• Phân tích, cài đặt và chạy chương trình đối với một số phương pháp lai
về tính khả dụng của các đề xuất.
và mô hình lai giữa các mô hình truyền thống. Từ đó so sánh một số mô
6
hình truyền thống với các mô hình đề xuất trong Luận án, đồng thời đưa
• Một số vấn đề cần giải quyết trong các nghiên cứu trong tương lai. Các vấn
ra đánh giá đối với các mô hình mới.
đề cần xem xét trong các nghiên cứu tương lai ở đây là các vấn thực tế được
dự báo là có thể xảy ra trong tương lai, có tính phức tạp hơn so với các vấn
đề của Luận án. Các vấn đề mới có khả năng xảy ra này là các vấn đề có
tính ứng dụng rất lớn, có ảnh hưởng trong nhiều ngành nghề.
Phương pháp nghiên cứu
Trong Luận án, tôi tập trung nghiên cứu và đưa ra một số mô hình lai giữa
các mô hình. Các phương pháp chủ yếu được tập trung dựa trên các thực nghiệm
của các mô hình máy học được lập trình và chạy trên nền tảng Python.
• Phân tích ưu nhược điểm của từng phương pháp truyền thống, từ đó nghiên
Hướng nghiên cứu mà tôi làm sẽ gồm một số phương pháp sau:
cứu đưa ra mô hình lai phù hợp, kết hợp được các điểm mạnh của từng
phương pháp đơn, đồng thời cũng giảm bớt các nhược điểm của các phương
• Khi đã đưa ra được các mô hình mới, tôi sẽ chứng minh toán học một số
pháp đơn đó.
vấn đề cần thiết trong mô hình mới, là các định lý về độ hội tụ của regret
• Áp dụng các phương pháp truyền thống vào các bộ dữ liệu thực tế để kiểm
của các mô hình này.
• Cài đặt và áp dụng chạy chương trình trên một số bộ dữ liệu thực tế đối với
tra và đánh giá từng phương pháp đơn lẻ.
các phương pháp máy học mới đã được đề xuất bên trên. Đồng thời cũng
so sánh các kết quả đạt được từ mô hình đề xuất với các mô hình máy học
offline truyền thống để có thể đưa ra nhận xét về độ chính xác trong các
mô hình máy học online so với các mô hình offline truyền thống.
• Tổng hợp các vấn đề và đưa ra một số mô hình tốt nhất dựa trên các kết
7
quả thực nghiệm từ các so sánh trước.
Kết quả của Luận án
Luận án đưa ra một số phương pháp mới, lập trình ra được mô hình máy
học mới, đồng thời ứng dụng vào dữ liệu chuỗi thời gian thực tế. Trong các đề
xuất về các phương pháp mới, các chứng minh toán học đã được đưa ra nhằm
đánh giá phương pháp mới (so sánh với một số phương pháp truyền thống tương
ứng). Từ đó kết luận về việc mô hình xây dựng theo phương pháp mới sẽ có kết
quả tốt hơn so với mô hình truyền thống tương ứng. Cùng với việc chứng minh
bằng toán học cho phương pháp luận, Luận án cũng xây dựng và trình bày các
thuật toán này thành các mô hình máy học. Các mô hình này được sử dụng để
chạy với bộ dữ liệu thực tế, chỉ ra kết quả tốt hơn so với các mô hình truyền
thống được đưa ra để so sánh (so sánh dựa trên các tiêu chí đánh giá được trình
bày trong Luận án).
Kết quả của Luận án là phù hợp với yêu cầu của bài toán đặt ra (vấn đề thực
tế). Đồng thời, kết quả thu được là tốt theo các tiêu chí đánh giá được nêu, đáp
ứng được yêu cầu thực tế của vấn đề cần giải quyết.
Cấu trúc của Luận án
Luận án bao gồm phần Mở đầu, 4 chương chính, kết luận, danh mục các bài
báo đã công bố liên quan tới Luận án và tài liệu tham khảo.
Phần đầu tiên là Mở đầu, giới thiệu tổng quan về Luận án. Các mục được
nêu ra trong phần Mở đầu là vấn đề thực tế cần giải quyết, mô hình hóa bài
toán, phạm vi nghiên cứu, các phương hướng nghiên cứu để giải quyết bài toán.
Chương 1 là chương giới thiệu và đưa ra đánh giá một số mô hình truyền
thống. Chương này gồm hai phần chính, phần thứ nhất là một số mô hình
tuyến tính (trong Luận án nghiên cứu 2 mô hình, gồm mô hình dự báo ARIMA,
SARIMA). Cụ thể, tôi đã tìm hiểu một số các tài liệu tôi đánh giá là mang tính
tổng quát nhất của vấn đề tôi đang làm. Phần thứ hai của chương 1 giới thiệu
8
và đánh giá một số mô hình mạng thần kinh nhân tạo (áp dụng chủ yếu cho dữ
liệu phi tuyến), gồm các mô hình truyền thống là ANN và mô hình nâng cấp
của ANN là RNN. Một số so sánh và đánh giá về các công trình đã được công
bố đã được tôi đưa ra làm dẫn chứng cho các mô hình này.
Chương 2 là đề xuất một số mô hình nâng cấp của một vài mô hình truyền
thống, thành mô hình máy học trực tuyến. Phần chính của chương 2 là hai mô
hình SARIMA online và RNN online. Trong chương này, các bước thực
hiện trong mô hình được đưa ra, mô tả và có các chứng minh đi kèm để chỉ ra
các tính chất của mô hình máy học trực tuyến: tôi đã tìm hiểu và chứng minh
tính bị chặn của regret của mô hình SARIMA online và RNN online.
Cuối chương 2 là thực nghiệm của một trong các mô hình đề xuất này, mô
hình SARIMA online với bộ dữ liệu thực tế, dùng kết quả của mô hình thực tế
này để so sánh với một số mô hình truyền thống và một số mô hình đã được
công bố gần đây trên các tạp chí uy tín.
Chương 3 là đề xuất một số mô hình lai và cách áp dụng chúng với một bộ
dữ liệu thực tế. Các tài liệu về các mô hình lai đã được công bố cũng được tôi
đưa ra để làm mục tiêu so sánh. Trong chương này, tôi đã đưa ra một số mô
hình lai giữa các mô hình truyền thống, cách áp dụng các phương pháp mới này
vào các bộ dữ liệu đã có.
Cuối chương 3 là thực nghiệm của một số mô hình lai được đề xuất. Các mô
hình này đều được thực hiện trên các dữ liệu thực tế, cùng với đó là kết quả của
các mô hình so sánh trên cùng bộ dữ liệu (gồm một số mô hình truyền thống và
một số mô hình được công bố gần đây), từ đó chỉ ra tính ưu việt của mô hình
đề xuất.
Chương 4 là đề xuất một mô hình liên kết của các mô hình đã được nghiên
cứu trong chương 2 và chương 3. Đây là một mô hình phức tạp, kết hợp giữa
việc lai ghép các mô hình đơn lẻ, đồng thời mỗi mô hình đơn lẻ được sử dụng là
một mô hình máy học trực tuyến. Mô hình phức tạp nhất này được chạy trên
bộ dữ liệu thực tế, đồng thời so sánh kết quả thu được với kết quả của một số
9
mô hình khác để đánh giá độ chính xác. Từ đó đưa ra kết luận về tính tốt hơn
của mô hình đề xuất cuối cùng trong Luận án.
Một số kết luận được đưa ra ngay sau các so sánh của các kết quả thực nghiệm
của các nhóm mô hình.
Phần kết luận chung là phần tổng kết kết quả của toàn Luận án. Phần này
nêu ra các vấn đề đã giải quyết được của Luận án. Đồng thời trong phần này
cũng nêu ra phương hướng nghiên cứu tiếp tục trong tương lai của nghiên cứu
sinh.
Phần cuối cùng của Luận án là các công trình đã công bố của nghiên cứu
sinh liên quan tới Luận án và danh mục các tài liệu tham khảo trong Luận án.
10
CHƯƠNG 1. MỘT SỐ MÔ HÌNH TRUYỀN THỐNG
TRONG DỰ BÁO CHUỖI THỜI GIAN
Chương đầu tiên của Luận án giới thiệu một số mô hình truyền thống đang
được sử dụng rộng rãi hiện nay, gồm một số mô hình tuyến tính ARIMA,
SARIMA, một số mô hình mạng thần kinh nhân tạo là ANN, RNN và áp dụng
mô hình Wavelet trong lọc nhiễu để xử lý dữ liệu.
Trong chương này, tôi đã nghiên cứu rõ ràng một số mô hình máy học như
ARIMA, SARIMA, ANN, RNN, Wavelet, đồng thời đã áp dụng mô hình mạng
thần kinh nhân tạo vào một phần của mô hình mới được công bố tại một hội
nghị có phản biện trong danh mục SCOPUS ([C]).
1.1. Autoregressive Integrated Moving Average - ARIMA
ARIMA, cụm từ viết tắt thông dụng của Autoregressive Integrated Moving
Average, được các tác giả Box và Jenkin đưa ra trong năm 1971 [4], ứng dụng
vào các mô hình tính toán cho chuỗi thời gian. Tới năm 1991, Brock và David
[24] đã đưa ra các mô tả chi tiết về mô hình ARIMA này. Hiện nay, mô hình
ARIMA là một mô hình được sử dụng rộng rãi vào dự báo chuỗi thời gian.
Năm 1970, tác giả Box và Jenkin [4] đã đưa ra một mô hình học máy là
Autoregressive Integrated Moving Average Model (ARIMA). Năm 1991, mô hình
đã được Brockwell. Peter J.and Davis. Richard A [24] mô tả lại hoàn chỉnh. Nó
được đánh giá là một mô hình tốt cho việc xử lý các dữ liệu chuỗi thời gian dạng
tuyến tính [50].
Bảng 1.1 đã nêu ra một số các nghiên cứu liên quan tới một trong các phương
pháp luận trong Luận án, phương pháp ARIMA trong thời gian gần đây. Mô
hình ARIMA hiện vẫn đang được sử dụng rộng rãi trong dự báo chuỗi thời gian
11
Vấn đề Dữ liệu Năm
2017 [38] Phương pháp ARIMA báo
Sông Sefidrud, Iran xu của
ARIMA Johor, 2017 [26]
Sông Malaysia
ARIMA ARIMA 2017 [49]
Dự hướng nước sông Dự báo chất lượng nước sông Dự báo mực nước sông Dương Trung
2018 [29]
ARIMA, NNAR
ARIMA 2019 [11]
Sông Tử, Quốc Dự báo lượng nước ở Sanan- daj, Iran Dữ liệu sông Ấn, Ấn Độ
ARIMA 2019 [45]
Vùng Cesine, Avellino, Italia
sánh So ARIMA model, NNAR model Dự báo lượng mưa trên lưu vực sông Dự báo mức nước trong các bể chứa
Bảng 1.1: Một số nghiên cứu ứng dụng của mô hình ARIMA trong dự báo chuỗi thời gian.
12
vì tính đơn giản của mô hình. Tới những năm 2017, vẫn còn các nghiên cứu chỉ
sử dụng mô hình ARIMA để dự báo chuỗi thời gian trong ứng dụng với dữ liệu
thực tế.
Trong nghiên cứu của Mina và đồng nghiệp năm 2017 [38], tác giả đã đánh
giá về khá nhiều bộ dữ liệu (6 bộ dữ liệu). Nhưng vấn đề của bài nghiên cứu là
chỉ đánh giá riêng mô hình ARIMA(2,0,0), không hề có các đánh giá đối với các
tham số khác. Điều này có thể khiến cho mô hình của tác giả đưa ra chưa chắc
đã là tốt nhất, dù chỉ tính riêng với mô hình tuyến tính ARIMA.
Trong nghiên cứu của Katimon và đồng nghiệp năm 2017 [26], tác giả đưa ra
nhiều mô hình, đã dự báo được trên một số bộ dữ liệu. Tuy nhiên, tác giả đưa
ra các mô hình mà không giải thích được tại sao lại sử dụng các mô hình đó,
không đưa ra lý do tại sao lại không sử dụng mô hình ARIMA với các tham số
khác. Điều này có thể dẫn tới việc cho rằng đánh giá của tác giả liệu có thể chỉ
là dựa trên sự ngẫu nhiên hay có chọn lọc các kết quả tốt nhất để công bố.
Còn trong nghiên cứu của Zhen Yu và đồng nghiệp năm 2017 [49] tác giả đã
sử dụng mô hình ARIMA chỉ vì tính đơn giản và hiệu quả "chấp nhận tốt". Với
điều này thì độ chính xác có thể sẽ còn cao hơn khi sử dụng các mô hình mạnh
mẽ hơn (như mạng thần kinh nhân tạo). Ở đây chúng ta cần phải tính tới việc
các máy tính mạnh mẽ để chạy mô hình mạng thần kinh nhân tạo là rất nhiều,
chi phí rẻ.
Cũng năm 2018, trong nghiên cứu [29], tác giả Afshin và đồng nghiệp đã đánh
giá và so sánh mô hình ARIMA với mô hình Neural Network Auto-Regressive,
đưa ra kết luận rằng các dự báo của mô hình mạng thần kinh nhân tạo tốt hơn
ở một vài trường hợp, còn ARIMA tốt hơn ở một vài trường hợp khác. Điều
này có khá ít giá trị khi mà tác giả không đưa ra được các tiêu chuẩn nhằm xác
định trước xem là các trường hợp nào ARIMA tốt hơn hay trường hợp nào có
độ chính xác tốt hơn.
Năm 2019, trong nghiên cứu [11], tác giả Dayal và đồng nghiệp đã dùng
ARIMA để đánh giá và dự báo lượng mưa của lưu vực sông Ấn (tại Ấn Độ),
13
và đưa ra kết quả rất chính xác. Nhưng một điểm quan trọng mà tác giả không
xem xét tới là tại sao mô hình ARIMA lại có độ chính xác cao như vậy. Việc
xem xét tính mùa, tính chu kỳ của lượng mưa đã không được đưa vào nghiên
cứu, vì vậy chúng ta hoàn toàn không thể biết được mô hình thành công với dữ
liệu đặc biết như vậy thì với dữ liệu khác có thể được không?
Trong nghiên cứu [45], tác giả Viccione và đồng nghiệp đã cố gắng dự báo
mức nước trong các bể chứa của thành phố, ứng dụng vào tự động hóa việc
đóng mở các van nước vào. Các tác giả đã chỉ ra việc mô hình ARIMA áp dụng
khá tốt cho dữ liệu ở đây. Tuy nhiên, dữ liệu nước được sử dụng có độ nhiễu
khá nhỏ, cho nên có thể áp dụng tốt mô hình ARIMA vào. Cùng với đó, các mô
hình được đề xuất cho các kết quả khác nhau rất nhỏ dù đã thay đổi rất lớn
các tham số, cho nên cũng chưa đánh giá được tính ưu việt của mô hình. Và mô
hình cũng không đánh giá và so sánh được kết quả giữa mô hình ARIMA với
các mô hình mạng thần kinh nhân tạo.
Các thành phần của mô hình ARIMA
Từng mô hình riêng lẻ trong ARIMA là mô hình tự hồi quy (Autoregressive
- AR) hay mô hình trung bình trượt (Moving Average - MA) đã có thể sử dụng
trong dự báo chuỗi thời gian. Các tác giả đã chỉ ra rằng, mô hình kết hợp
AR+MA có thể hoạt động tốt hơn từng mô hình riêng lẻ MA hay AR. Mô hình
ARMA là một mô hình có thể ước lượng các giá trị tương lai của chuỗi thời gian
với một độ chính xác khá cao. Một vài nghiên cứu cho kết quả lên tới 95% (khi
đánh giá theo tiêu chuẩn MAPE) [23, 32]. Tuy nhiên thì vẫn có những vấn đề
mà mô hình ARMA gặp phải. Tác giả Salas [41] đã chỉ ra việc mô hình ARMA
chỉ có thể hoạt động tốt với các chuỗi thời gian có tính dừng (stationarity),
nhưng không hoạt động được với dữ liệu chuỗi thời gian không có tính dừng
(non-stationarity). Khi được tích hợp thêm sai phân (integration) vào mô hình
thì lúc này mô hình đã có thể đưa dữ liệu không dừng về dữ liệu dừng, và khi
đó thì mô hình AR+MA kết hợp thêm I đã có khả năng dự báo tốt trên nhiều
bộ dữ liệu hơn.
14
Mô hình ARIMA là sự kết hợp của các mô hình thành phần, vì vậy nó vẫn
• AR: tự hồi quy - một giá trị đằng sau có thể được tính toán thông qua một
giữ nguyên các tham số trong các thành phần:
công thức (hay hàm số) của các giá trị đứng trước nó (hay còn gọi là các
• I: sai phân - sử dụng sai phân để tạo tính dừng cho chuỗi thời gian. Trong
giá trị quá khứ của chuỗi thời gian).
• MA: trung bình trượt - là một trung bình các trọng số của nhiễu trắng (các
trường hợp chuỗi thời gian đã là chuỗi dừng thì đơn giản d = 0.
giá trị white noise).
Đầu tiên chúng ta sẽ xem xét siêu tham số d trong mô hình ARIMA.
Với mô hình ARIMA (hoặc nói rộng hơn là trong mô hình AR), chuỗi thời
gian phải là một chuỗi dừng. Bởi vì trong một mô hình sử dụng phương pháp
tự hồi quy thì nó sử dụng chính các giá trị trong quá khứ của nó (vì thế mà mô
hình có độ trễ ) để tính toán các giá trị tiếp theo. Các mô hình tự hồi quy khi
đó sẽ hoạt động được với các các yếu tố độc lập.
Trong số các cách để đưa một chuỗi về chuỗi dừng, cách dùng sai phân là một
cách đơn giản. Với cách sai phân, ta tính toán chênh lệch giữa các giá trị liên
tiếp của chuỗi ban đầu, để tạo ra một chuỗi mới. Với một số trường hợp phức
tạp, chúng ta có thể phải áp dụng sai phân nhiều lần.
Giá trị d trong mô hình là một số nguyên không âm, là giá trị nhỏ nhất của
số lần sai phân mà khi ta dùng d lần sai phân thì chuỗi của chúng ta trở thành
chuỗi dừng. Với một chuỗi đã là chuỗi dừng, ta dễ thấy ngay d = 0.
Trong ARIMA, giá trị d thể hiện cho phần "I", Integrated.
Tiếp theo, chúng ta sẽ xem xét các giá trị p và q trong mô hình (chúng ta gọi
chúng là các siêu tham số của mô hình ARIMA).
Ở đây, p là siêu tham số của phần tự hồi quy trong mô hình (phần AR của
mô hình ARIMA) (tiếng Anh là "order of the ‘Auto Regressive’ (AR) term"). p
15
là một số nguyên dương, thể hiện số lượng giá trị trong quá khứ của chuỗi thời
gian đã được sử dụng để dùng cho tính toán các giá trị ước dự báo. Giá trị của
p đề cập tới "độ trễ" của việc lấy dữ liệu đầu vào của mô hình. Giải thích rõ
ràng hơn thì là để tính toán giá trị xt của chuỗi thời gian thì mô hình sử dụng
một hàm số có tổng cộng p biến, là xt−1, xt−2, ..., xt−p.
Còn giá trị q là siêu tham số tương ứng của phần trung bình trượt trong mô
hình (phần MA trong mô hình ARIMA). q là một số nguyên dương.
xt chỉ phụ thuộc vào các giá trị quá khứ của chính nó.
Mô hình tự hồi quy thuần túy (chỉ có AutoRegression - AR) là mô hình mà
yt = xt = ϕ1xt−1 + ϕ2xt−2 + ... + ϕpxt−p + εt.
(1.1)
Trong đó, các giá trị ϕ1 tới ϕp khác 0 là các tham số phân tích hồi quy, còn εt
là sai số ngẫu nhiên thỏa mãn các giả thiết của nhiễu trắng (ồn trắng) của thời
điểm t (tại thời điểm đang được tính toán).
(Chú thích: ký hiệu yt là giá trị đầu ra của mô hình tại bước thứ t, để phân
biệt với đầu vào là các giá trị xi (i = 1..T ). Nhưng ở đây, mô hình dự báo có đầu
ra là giá trị tiếp theo của chuỗi thời gian, nên công thức viết là yt = xt để thể
hiện xt là đầu ra của mô hình).
Tương tự như vậy, mô hình trung bình trượt thuần túy (chỉ có Moving Average
- MA) là mô hình trong đó xt chỉ phụ thuộc vào các nhiễu trắng εt.
xt = εt + θ1εt−1 + θ2εt−2 + ... + θqεt−q.
(1.2)
trong đó các tham số θ1 tới θq khác 0, giá trị nhiễu trắng εi là của các mô hình
AutoRegressive có độ trễ tương ứng. Các nhiễu trắng εt, εt−1, . . . là các nhiễu
lấy từ các phương trình sau của mô hình:
xt = ϕ1xt−1 + ϕ2xt−2 + ... + ϕtx0 + εt.
xt−1 = ϕ1xt−2 + ϕ2xt−3 + ... + ϕtx0 + εt−1.
. . .
(1.3)
16
Đó là mô hình AR và MA tương ứng.
Như vậy, ta có thể kết hợp các thành phần riêng biệt trên để tạo ra mô hình
ARIMA, là mô hình mà chuỗi thời gian được sai phân một vài lần (hoặc thậm
chí không cần sai phân nếu chuỗi đã dừng) để làm cho chuỗi dữ liệu gốc thành
chuỗi dừng và sau đó kết hợp các thành phần AR và MA. Vì vậy, phương trình
của mô hình ARMA sẽ trở thành:
xt = ϕ1xt−1 + ϕ2xt−2 + ... + ϕpxt−p + εt + θ1εt−1 + θ2εt−2 + ... + θqεt−q.
(1.4)
Các giá trị quá khứ được dùng là p giá trị trước xt, còn các nhiễu trắng thì
là trước q giá trị.
Do đó, mục tiêu của chúng ta trong mô hình ARIMA là xác định các giá trị
của p, d và q.
Một tham số trong các tham số p, d, q có thể được lấy bằng 0. Khi đó, mô
hình ARIMA sẽ rút bớt đi thành phần mô hình tương ứng, trở thành mô hình
ARMA, AR hoặc MA.
• Bước 1: xác định tính dừng của chuỗi thời gian. Khi xác định được chuỗi
Cơ bản chúng ta có thể xây dựng mô hình ARIMA theo 4 bước sau:
thời gian là dừng thì mới có thể sử dụng các mô hình Auto Regression và
Moving Average. Nếu chuỗi thời gian gốc là không dừng thì chúng ta cần
lấy sai phân của chuỗi để tạo ra chuỗi có tinh dừng (xác định giá trị của d,
• Bước 2: ước lượng các tham số của mô hình. Ở đây là các tham số p và q.
• Bước 3: tính toán các giá trị của chuỗi thời gian để xác định độ chính xác
trong trường hợp này là d ̸=0).
của mô hình. Hiệu chỉnh các tham số p, d, q, đưa ra các ước lượng tốt hơn
• Bước 4: dự đoán chuỗi thời gian (với một khoảng tin cậy).
về các tham số này.
17
1.2. Seasonal Autoregressive Integrated Moving Average
- SARIMA
Seasonal Autoregressive Integrated Moving Average, SARIMA hay Seasonal
ARIMA, là sự mở rộng của mô hình ARIMA với việc phân tích thêm tính mùa
(thành phần theo mùa - seasonal ) của dữ liệu. Mô hình SARIMA là một mô
hình ARIMA được nâng cấp (có chứa thêm thành phần theo mùa). Hiện nay,
mô hình SARIMA được sử dụng rộng rãi để phân tích và dự báo chuỗi thời gian.
Vấn đề Dữ liệu Năm
2016 [15]
Dự báo nhu cầu nhiệt re-
Dữ liệu nhiệt sưởi ấm, Phần Lan
và
Phương pháp multiple linear gression model SARIMA SARIMA 2017 [35]
Dự báo lượng mưa
SARIMA Dự báo SARIMA 2017 [43] Dữ liệu mưa từ 2008 tới 2012 ở Doimukh Sông Waterval
lưu nước
SARIMA 2018 [31]
sánh mô 2019 [46]
lượng sông Dự số báo lượng khách đi tàu hỏa So hình dự báo SARIMA - SVM
SARIMA 2020 [30]
Dự báo lượng mưa
Lưu lượng khách đi tàu ở Serbia (04-14) Nhiều bộ dữ liệu về vận tải hàng không Vùng Doimukh, Ấn Độ
Bảng 1.2: Một số nghiên cứu ứng dụng của mô hình SARIMA trong dự báo chuỗi thời gian.
Bằng cách tách tính mùa ra khỏi dữ liệu chuỗi thời gian, phương pháp
SARIMA đã cho kết quả tốt hơn trong nhiều lớp trường hợp. Cách tách mùa
18
hay được sử dụng là phương pháp STL [8] hoặc công thức Fourier.
Bảng 1.2 giới thiệu một số nghiên cứu gần đây sử dụng mô hình SARIMA
để dự báo chuỗi thời gian. Các nghiên cứu cho thấy sự hữu ích của mô hình đối
với một số dữ liệu thực tế, đồng thời cũng giảm thiểu việc tiêu tốn tài nguyên
máy và thời gian.
Trong mô hình của Fang và đồng nghiệp (2016) [15], mô hình SARIMA được
sử dụng, và cho ra kết quả rất tốt. Việc dữ liệu có tính mùa là nguyên nhân để
tác giả sử dụng mô hình này. Tuy vậy, không có các so sánh với các mô hình
khác như mạng thần kinh nhân tạo nên không thể đánh giá được liệu có thể làm
tốt hơn nữa hay không với các mô hình mạnh hơn nhưng tốn nhiều tài nguyên
máy và thời gian hơn.
Mô hình trong nghiên cứu của Tadesse và đồng nghiệp năm 2017 [43] thì chủ
yếu đưa ra các kết quả cho các tham số khác nhau, từ đó chọn được các tham
số tốt nhất cho bộ dữ liệu. Phương pháp này là một các tiếp cận tốt, nhưng nó
tốn tài nguyên tính toán. Cùng với đó, việc chỉ so sánh các mô hình SARIMA
với nhau dẫn tới việc không đánh giá được các mô hình khác có độ chính xác ra
sao đối với bộ dữ liệu này.
Trong khi đó, tác giả Dabral và đồng nghiệp [35] đã sử dụng SARIMA cho
việc dự báo dài hạn lượng mưa ở Doimukh. Với dữ liệu từ 1988 tới 2007, dự báo
cho các năm 2008 tới 2013 đã được tác giả đem ra so sánh với số liệu thực. Sau
đó tác giả đã áp dụng để đưa ra dự báo cho 14 năm từ 2014 tới 2027 Kết quả
của so sánh trong các năm 2008 tới 2013 đều tốt theo các chỉ số được đưa ra,
nhưng chỉ là khi so sánh với mô hình ARIMA. Không có các mô hình khác được
đánh giá trong bài báo. Vì thế, kết quả cũng chưa thể khẳng định là tốt nhất.
Nghiên cứu của Milos và đồng nghiệp năm 2018 [31] cũng sử dụng SARIMA
cho việc dự báo. Mô hình đơn giản và cho độ chính xác cao. Nhưng tác giả chỉ
có một số ít các so sánh, toàn bộ là với các tham số (p,d,q)(P,D,Q) trong các
giá trị {0;1}, không có kết quả cho các mô hình SARIMA với tham số cao hơn,
cũng không có so sánh với các mô hình khác.
19
Năm 2019, Xu và đồng nghiệp đã so sánh mô hình SARIMA với mô hình
SVM và mô hình lai SARIMA-SVM [48]. Kết quả đưa ra cho thấy mô hình lai
có độ chính xác tăng rõ rệt so với mô hình SARIMA đơn lẻ. Mô hình này được
chính tác giả đánh giá là có một số điểm yếu, nhưu việc không sử dụng đa biến
đầu vào, không thể lọc nhiễu trong dữ liệu và chỉ có thẻ dự báo rất ngắn hạn.
Cũng như các nghiên cứu trên, mô hình của Martínez-Acosta và đồng nghiệp
năm 2020 [30] đã đề xuất mô hình SARIMA để dự báo chuỗi thời gian gió mùa
tại Doimukh, Arunachal Pradesh, Ấn Độ. Mô hình đề xuất có MRE là 0,6 và
ISE là 0,02 dựa trên dữ liệu quan trắc và dự đoán về lượng mưa hàng ngày từ
năm 1988 đến năm 2007. Mô hình trong nghiên cứu này cũng chỉ đơn giản là
đưa ra đánh giá dựa trên RMSE để tìm mô hình tốt nhất trong các mô hình
được chọn. Ngoài ra thì mô hình không đưa ra được thêm các đánh giá nào khác
với các mô hình khác.
Các thành phần của mô hình SARIMA
Mô hình SARIMA có thêm 3 hyperparameters nữa (có thể dịch là siêu tham
số ) so với mô hình ARIMA, tương ứng với AR, I, MA của thành phần mùa
trong dữ liệu. Ngoài ra, nó cũng bổ xung 1 tham số nữa để tính thời gian cho
tính mùa.
Như vậy, mô hình SARIMA được hình thành bằng cách đưa thêm các tham
số theo mùa vào ARIMA. Phần theo mùa của mô hình bao gồm các tham số
giống với các thành phần không theo mùa của mô hình ARIMA.
Khi đó, mô hình SARIMA sẽ cần phải chọn các tham số (parameters) và siêu
tham số (hyperparameters) cho cả 2 thành phần của dữ liệu: thành phần xu
hướng (trend ) và thành phần mùa (seasonal ):
Thành phần xu hướng - Trend: vẫn có 3 siêu tham số giống như của mô
• p: bậc của tự hồi quy của xu hướng (Trend autoregression order ).
• d : bậc sai phân của xu hướng (Trend difference order ).
hình ARIMA. Chúng là các siêu tham số sau đây:
• q: bậc trung bình trượt của xu hướng (Trend moving average order ).
20
Thành phần mùa - Seasonal: có 4 siêu tham số mới, trong đó có 3 siêu
tham số (hyperparameters) giống với mô hình ARIMA và một siêu tham số để
• P : bậc của tự hồi quy của mùa (Seasonal autoregressive order ).
• D: bậc sai phân của mùa (Seasonal difference order ).
• Q: bậc trung bình trượt của mùa (Seasonal moving average order ).
• s: số giá trị trong mỗi chu kỳ của thành phần mùa trong dữ liệu.
chỉ ra thời gian lặp của tính mùa
Khi đó, ta có thể viết mô hình SARIMA thành công thức như sau:
SARIM A(p, d, q)(P, D, Q)s.
(1.5)
Một ví dụ của mô hình SARIMA được cho sau đây, ứng dụng với một bộ dữ
liệu có tính chu kỳ theo năm.
SARIM A(3,1,2)(1,1,1)12.
(1.6)
Trong đó, tham số s là một tham số có ảnh hưởng tới tất cả các siêu tham
số P, D, Q (hyperparameters). Trong trường hợp ở ví dụ này thì s=12 là do bộ
dữ liệu mang tính mùa theo tháng của năm. Chu kỳ được lặp lại theo mỗi năm.
Còn giá trị P =1 tức là chúng ta đang sử dụng 1 chu kỳ trong quá khứ để dự
báo, hay khi viết bằng công thức thì sẽ là lấy các giá trị tới thời điểm t−s*P
hay t−12. Còn giả sử trong trường hợp khác, ta sử dụng P =2, tức là ta đã dùng
các giá trị quá khứ tới t−24.
Còn về 2 giá trị D, Q thì cũng tương tự như mô hình ARIMA, giá trị của D
là số lần lấy sai phân của dữ liệu mùa (ở đây D=1 tức là ta đã sai phân một
lần) và Q là số nhiễu trắng ε mà ta sử dụng.
21
Ngoài ra, trong mô hình SARIMA có thể sử dụng thêm 1 tham số nữa là số
lượng mùa (number of seasons) gọi là s. Một mô hình SARIMA (hay ARIMA
theo mùa) sử dụng sự khác biệt ở độ trễ bằng với số mùa s để tách ra các hiệu
ứng phụ theo mùa. Khi đó, mô hình SARIMA (ARIMA có theo mùa) cũng vẫn
bao gồm các thành phần tự hồi quy (AR) và trung bình trượt (MA) ở độ trễ s.
Các yếu tố mùa (seasonal ) có thể được chọn thông qua phân tích cẩn thận
dữ liệu, xem xét các mối tương quan của các bước thời gian s (ví dụ: 1, 2, 3,
...).
Trong một số mô hình, chúng ta có thể bỏ qua giá trị của tham số s, bởi vì
thành phần có tính mùa của dữ liệu đã được phân tích riêng.
Công thức của mô hình SARIMA
Cho chuỗi thời gian {xt|t = 1,2, . . . , T }, khi đó một mô hình SARIMA
(p,d,q)(P,D,Q) sẽ được thực hiện theo các phương trình sau đây:
ϕ(L)(1 − L)dΦ(Ls)(1 − Ls)Dxt = c + θ(L)Θ(L)εt.
(1.7)
• ϕ(L) = 1 − ϕ1L − ϕ2L2 − ... − ϕpLp là thành phần tự hồi quy (Auto Regressive
Trong đó:
operator - AR) với tham số p (gọi là bậc p). Đây là thành phần của xu
• θ(L) = 1 − θ1L − θ2L2 − ... − θqLq là thành phần trung bình trượt (Moving
hướng trong chuỗi thời gian gốc.
Average operator - MA) của tham số q (gọi là bậc q). Đây là thành phần
• d là số lần lấy sai phân chuỗi thời gian (thành phần xu hướng). Chỉ khi
của xu hướng trong chuỗi thời gian gốc.
nào chuỗi thời gian không có tính dừng thì mới lấy d ̸= 0. Ví dụ như trong
d ≤ 2 cho các phép thử.
• Φ(L) = 1 − Φ1Ls − Φ2L2s − ... − ΦP LP là thành phần tự hồi quy của phần
nghiên cứu của Shumway (2006) [42], tác giả đã sử dụng tất cả các giá trị
22
mùa (Seasonal Auto Regressive operator - S-AR) của siêu tham số P (cũng
• Θ(L) = 1 − Θ1Ls − Θ2L2s − ... − ΘQLQ là thành phần trung bình trượt của
gọi là bậc P ).
thành phần mùa của chuỗi thời gian gốc (Seasonal Moving Average operator
• D: cũng giống như tham số d, siêu tham số D là số lần lấy sai phân của
- S-MA) của siêu tham số Q (cũng gọi là bậc Q).
thành phần mùa của chuỗi thời gian gốc. Tính mùa có tính chu kỳ nên
trong phần nhiều các trường hợp, D = 1 (seasonality effect), còn D = 0 khi
• εt là phần dư ước tính tại thời điểm t, được phân phối giống nhau và độc
mà dữ liệu gốc không có tính mùa.
lập như một biến ngẫu nhiên bình thường với giá trị trung bình bằng 0 (εt
ε).
là nhiễu trắng); và phương sai σ (σ2
• Bước 1: xác định tính dừng của chuỗi thời gian. Khi xác định được chuỗi
Cơ bản chúng ta có thể xây dựng mô hình SARIMA theo 4 bước sau:
thời gian là dừng thì mới có thể sử dụng các mô hình Auto Regression và
• Bước 2: ước lượng các tham số của mô hình ;
• Bước 3: kiểm tra độ chính xác của mô hình đã chọn; các cải tiến nếu khả
Moving Average.
• Bước 4: tính toán các giá trị dự báo của mô hình trong tương lai của chuỗi,
thi cũng được thiết lập trong giai đoạn này.
được phân phối với khoảng tin cậy nào đó.
Như vậy trong chương này, chúng ta đã giới thiệu một số mô hình tuyến tính
đơn giản, do đó dễ dàng cài đặt và ít tiêu tốn tài nguyên tính toán. Tuy nhiên,
các mô hình này thường phù hợp với các dữ liệu ít biến động (mang tính phi
tuyến thấp). Trong chương tiếp theo, chúng ta sẽ trình bày một số mô hình phi
tuyến nhằm xử lý các tập dữ liệu chuỗi thời gian phức tạp hơn.
23
1.3. Wavelet Analys - WA
Vấn đề Dữ liệu Năm
2013 [33]
Dự báo nước sông Phương pháp WA-ANFIS, WA-ANN
2015 [52]
Pre- processing
Dự lưu báo lượng chảy của sông 2 lưu vực sông trong vùng Mashhad, Iran Dương Sông Tử, Trung Quốc
2017 [53]
2017 [12]
Dự báo nước ngầm Dự báo chất lượng nước WA, EMD, SSA áp dụng cho ANN và ARMA WA-ANN và WA-SVM Data-mining & ARIMA Dương Trung
WA-ANN 2019 [20]
Dự báo nước sông Vùng An Huy, Trung Quốc Sông Tử, Quốc Dữ liệu tại Ba Lan
Bảng 1.3: Một số nghiên cứu về mô hình có xử lý dữ liệu bằng Wavelet.
Song song với việc tăng độ chính xác của mô hình, phương pháp lọc nhiễu
cũng được xem xét để xử lý dữ liệu, lọc bỏ nhiễu, giúp cho mô hình không bị các
dữ liệu nhiễu làm chệch quá nhiều. Một mô hình lọc nhiễu hiện nay thường hay
được xử dụng trong xử lý dữ liệu là Wavelet. Mô hình này tách dữ liệu ra thành
nhiều thành phần, trong đó có các thành phần ít biến đổi hơn (hay "trơn" hơn
- smooth) và một số thành phần thì biến đổi nhiều hơn (thường thì đây chính
là nhiễu). Việc xử lý dữ liệu trong nhiều trường hợp có thể đem lại dữ liệu ổn
định hơn cho việc học máy sau đó.
Trong bảng 1.4, chúng ta có thể thấy một số các nghiên cứu gần đây có sử
dụng Wavelet để xử lý dữ liệu, sau đó áp dụng vào một mô hình dự báo nào đó,
từ đó đưa ra được một kết quả có độ chính xác tốt hơn so với mô hình không
có Wavelet.
Mô hình xử lý dữ liệu dùng Wavelet của Vahid và đồng nghiệp [33] áp dụng cho
ANN và Adaptive Neuro-Fuzzy Inference System (ANFIS) tại vùng Mashhad,
24
Iran đã cho kết quả tốt hơn là mô hình đơn ANN và ANFIS. Tác giả đưa ra
nhận định về việc xử lý dữ liệu với WA có tác dụng tốt với hầu hết các dữ liệu
phi tuyến (cần mô hình mạng thần kinh nhân tạo để giải quyết).
Mô hình lai của Xiaoli và đồng nghiệp năm 2015 [52] đưa ra nhiều mô hình,
trong đó mô hình có Wavelet, Empirical mode decomposition (EMD) và Singular
spectrum analysis (SSA) dùng cho xử lý dữ liệu trước khi dữ liệu được áp dụng
vào ANN và ARMA. Tác giả đánh giá mô hình dùng Wavelet cho ra kết quả
mang tính ứng dụng cao nhất. Việc xử lý dữ liệu khiến các dữ liệu nhiễu đã bị
lọc bớt đi, từ đó dẫn tới việc mô hình ANN cho độ chính xác cao hơn.
Mô hình của Ting và đồng nghiệp năm 2017 [53] sử dụng Wavelet để xử lý
dữ liệu cho mô hình ANN và mô hình SVM. Mô hình có thể coi là đơn giản,
việc xử lý dữ liệu đã làm cho 2 mô hình ANN và SVM tăng thêm độ chính xác
trong việc dự báo mực nước ngầm. Bài báo không đưa ra lý do tại sao lại chọn
Wavelet cho việc áp dụng để xử lý dữ liệu, mà chỉ đưa ra kết quả sau khi chạy
mô hình, và đưa ra kết luận.
Trong khi đó, cùng năm, Deng và đồng nghiệp [12] đã sử dụng nhiều phương
pháp xử lý dữ liệu (gồm WA, SAX để so sánh và phương pháp chính là two-
dimensional normal cloud representation), sau đó dùng đơn giản là ARIMA để
dự báo. Bằng tiền xử lý dữ liệu, tác giả đánh giá được rằng mô hình ARIMA là
đủ để dự báo.
Năm 2019, Graf và đồng nghiệp đã sử dụng phương pháp WA-ANN để dự
báo nước từ dữ liệu của 9 con sông ở Ba Lan [20]. Mô hình lai WA-ANN đã
được cải tiến bằng việc dùng ANN cho cả 2 phần tuyến tính và phi tuyến. Tác
giả đánh giá rằng ANN tốn thời gian không nhiều hơn ARIMA. Tuy nhiên kết
quả không được so sánh với mô hình lai có ARIMA.
Công thức Wavelet
Wavelet (hoặc Wavelet analys, hoặc cũng có thể gọi Wavelet transform) là
một phương pháp được sử dụng khá phổ biến hiện nay trong việc lọc nhiễu tín
hiệu. Đây là một phương pháp đơn giản, dễ dàng lập trình, tiêu tốn ít tài nguyên
25
(tài nguyên máy, thời gian).
Năm 1975, một phương pháp đa phân giải (multiresolution) được phát triển,
trong đó sử dụng một xung dao động, được hiểu là một sóng (wavelet) để thay
đổi kích thước tín hiệu, và cũng dùng so sánh với các tín hiệu ở từng đoạn nhỏ
riêng biệt trong toàn bộ dữ liệu gốc. Phương pháp Wavelet bắt đầu với các dao
động nhỏ (frequency - vì vậy mới gọi là Wavelet) chứa các dao động với một tần
số khá thấp (low frequency). Các dao động này được so sánh với tín hiệu phân
tích để có một cái nhìn tổng thể của dữ liệu gốc (ở đây là tín hiệu ban đầu) với
độ phân giải ở mức thô. Sau đó các dao động nhỏ này sẽ được nén lại để nâng
cao dần tần số dao động (tạo ra high frequency). Việc này sẽ làm thay đổi tỉ lệ
phân tích (scale). Khi thực hiện bước so sánh tiếp theo, tín hiệu sẽ được phân
tích chi tiết hơn, từ đó có thể phát hiện ra thành phần có tần số biến thiên
nhanh còn ẩn bên trong tín hiệu gốc.
Gọi f(x) là tín hiệu ban đầu, phép biến đổi Wavelet của f(x) sử dụng hàm
Wavelet ψ0 được biểu diễn:
+∞ (cid:88)
dx
W(s,b) =
f (x).ψ∗ 0
1 √ s
−∞
(cid:17) (1.8) (cid:16)x − b s
• W(s,b) là là hệ số biến đổi của hàm số f(x) (hệ số biến đổi Wavelet). s là nghịch đảo của tần số, là tỉ lệ biến đổi tương ứng của W(s,b). Còn b là dịch
trong đó:
• ψ∗
0 là hàm của Wavelet, đây là hàm liên hiệp phức.
chuyển vị trí.
Từ phương trình trên ta có thể thấy, phép biến đổi Wavelet là một ánh xạ
√
s (gọi là hệ số chuẩn hóa) đảm bảo cho sự chuẩn hóa sóng
từ hàm một biến f(x) trở thành hàm 2 biến W(s,b), gồm biến tỉ lệ s và biến dịch
chuyển b. Giá trị 1/
của phương pháp Wavelet với các biến tỉ lệ s khác nhau.
Phương pháp Wavelet có tính linh động cao, bởi vì nó không cố định là phải
26
sử dụng một hàm Wavelet cố định nào đó, mà có thể lựa chọn một số hàm
Wavelet khác nhau trong một họ hàm Wavelet, miễn sao thích hợp với yêu cầu.
Khi đó thì hình dạng của sóng sẽ phù hợp với dữ liệu cần phân tích, và sẽ cho
ra kết quả phù hợp nhất cho phân tích. Hiện nay người ta đã xây dựng được
khoảng vài chục các họ hàm wavelet khác nhau nhằm áp dụng cho nhiều mục
đích phân tích đa dạng.
Hình 1.1: Phân tách dữ liệu tín hiệu qua 4 bậc.
Cơ bản của thuật toán Wavelet sử dụng các kỹ thuật lọc số trong quá trình
phân tích tín hiệu. Từ dữ liệu gốc ban đầu, tại mỗi một bước thì tín hiệu
được phân tích thành hai thành phần, là thành phần dao động tần số thấp A
(Approximation - có thể dịch là thành phần xấp xỉ ) và thành phần dao động tần
số cao D (Detail - có thể dịch là thành phần chi tiết). Các thành phần này được
Ψ(x) và bộ lọc thông thấp sử dụng hàm tỉ lệ (scaling function) Φ(x).
N −1 (cid:88)
Φ(x) =
lọc bởi bộ lọc thông thấp - thông cao. Bộ lọc thông cao sử dụng hàm Wavelet
hkΦ(2x − k)
k=0
(1.9)
N −1 (cid:88)
N −1 (cid:88)
Ψ(x) =
27
gkΦ(2x + k − N + 1)
(−1)khN −kΦ(2x + k − N + 1) =
k=0
k=0
(1.10)
trong đó Φ(x) là một hàm trực giao, được định nghĩa qua phương pháp đệ quy
thông qua Φ(2x). Khi đó ta có thể nói rằng họ Wavelet trên được định nghĩa từ
hàm cơ sở (cũng gọi là hàm co dãn) Φ(x).
Phương pháp Wavelet rời rạc được ứng dụng cho các tín hiệu dạng dữ liệu
chuỗi thời gian, được tiến hành với nhiều bậc (level ) khác nhau. Mỗi khi tín
hiệu đi qua bộ lọc, số lượng dữ liệu trong tín hiệu bị giảm đi 2 lần. Khi đó ,
tương ứng với mỗi bậc, tín hiệu sẽ có bước sóng khác nhau. Do đó, phép biến
đổi Wavelet rời rạc còn được gọi là phân tích đa phân giải.
Công thức của các bộ lọc thông thấp và thông cao như sau:
x(n).g(2k − n)
xhigh(n) =
n
(cid:88) (1.11)
x(n).h(2k − n)
xlow(n) =
n
(cid:88) (1.12)
trong đó, x(n) là giá trị của dữ liệu gốc tại vị trí n, g(n) là đáp ứng xung của bộ
lọc thông cao tương ứng với hàm Wavelet Ψ(x) và h(n) là đáp ứng xung của bộ
lọc thông thấp tương ứng với hàm tỉ lệ Φ(x). Hai bộ lọc này có mối quan hệ với
h(N − 1 − n) = (−1)ng(n)
nhau theo công thức sau:
(1.13)
Phân tích đa phân giải là phép biến đổi trung tâm của tất cả các phép xây
dựng nên hàm cơ sở Wavelet.
Theo lý luận lý thuyết thì quá trình phân tách các thành phần bằng phương
pháp Wavelet có thể lặp lại vô hạn. Tuy nhiên trong thực tế, sự phân tách sẽ
dừng lại sau một số hữu hạn bước, khi chúng ta nhận được một tín hiệu chi tiết
phù hợp chất lượng của tín hiệu cần phân tích. Điều này tùy thuộc vào từng
trường hợp thực tế cụ thể.
28
Phép biến đổi Wavelet có độ phân giải thời gian tốt ở tần số cao, độ phân
giải tần số tốt ở tần số thấp. Vì vậy phương pháp này thích hợp với việc phân
tích các tín hiệu gồm các thành phần tần số cao có thời gian tồn tại ngắn và
các thành phần tần số thấp có thời gian tồn tại dài.
1.4. Artificial neutral network – ANN
Phương pháp Wavelet, ANN Năm 2016 [14]
sản 2016 [1]
Vấn đề Dự báo năng lượng tái sinh Dự báo lượng dầu mỏ Dữ liệu Dữ liệu tốc độ gió, Quebec Sản xuất dầu mỏ
Multilayer NN Multi- with Valued Neurons ANN ANN 2010 [17]
Dự báo lượng nước tiêu thụ
ANN 2017 [34]
ANN Dữ từ liệu 97-05 ở Izmir, Turkey chất Data nước lượng biển Singapore Một số dữ liệu 2018 [19]
Dự báo chất nước lượng biển Dự đoán hành vi chuyển làn đường
Bảng 1.4: Một số nghiên cứu về mạng thần kinh nhân tạo - Artificial Neural Network.
Một dạng học máy sâu hơn là mạng thần kinh nhân tạo (Artificial Neural
Networks - ANN). Nó là một dạng hệ thống thích ứng (adaptive system): nó có
thể tự thay đổi cấu trúc bên trong của mình để tương thích với cơ sở dữ liệu mới
trong quá trình học. Hiện nay, mạng thần kinh nhân tạo và các cải tiến của nó
được ứng dụng trong hầu hết các dạng học máy. Kết quả của các phương pháp
thần kinh nhân tạo này được đánh giá là tốt hơn so với phương pháp ARIMA
và SARIMA được nhắc tới bên trên, tuy nhiên nó tiêu tốn tài nguyên máy hơn
[50]. Mạng thần kinh nhân tạo cơ bản là ANN hiện nay đã ít được sử dụng, mà
thay vào đó là mô hình cải tiến mới của ANN được sử dụng nhiều hơn.
29
Trong nghiên cứu của Doucoure và dồng nghiệp [14] hay nghiên cứu của
Aizenberg và dồng nghiệp [1] thì các dữ liệu được đưa được đánh giá là có tính
phi tuyến cao. Ví dụ, các tác giả nhận xét rằng dữ liệu dầu mỏ hoàn toàn phụ
thuộc vào kinh tế (và kinh tế thì phụ thuộc chính trị rất nhiều), nên các tác giả
đều đưa ra đánh giá chung là mô hình đơn giản như ARIMA, SARIMA ít còn
tác dụng. Khi đó, mô hình máy học dạng mạng thần kinh nhân tạo đã có kết
quả khả quan hơn nhiều khi so sánh với các mô hình tuyến tính.
Trong khi đó, trong nghiên cứu của Firat và dồng nghiệp [17] thì mô hình
ANN được đem ra so sánh với nhau gồm CCNN, BRNN, FFNN. Nhưng tác giả
chỉ đưa ra nhận xét về việc các mô hình đều cho kết quả tốt, không có so sánh
với các mô hình tuyến tính như ARIMA, SARIMA. Cùng với đó, dữ liệu không
được đánh giá rõ ràng về các tính chất của nó (ví dụ tính mùa cao, dựa trên đồ
thị biểu hiện dữ liệu).
Còn trong nghiên cứu của Palani và dồng nghiệp [36] thì tác giả đưa ra mô
hình ANN để phân tích chất lượng nước biển ở Singapore. Tuy nhiên, dữ liệu
đầu vào là khá nhỏ, dẫn tới việc các mô hình đã cho ra kết quả "không khớp"
với số liệu thực tế. Tác giả cũng tự đánh giá rằng, với dữ liệu nhỏ thì mô hình
ANN có thể "dùng tham khảo bên cạnh các mô hình vật lý ".
Công thức của mô hình ANN
Mô hình dự đoán bằng mạng thần kinh nhân tạo là dạng mô hình thực hiện
ánh xạ hàm phi tuyến tính từ các quan sát trong quá khứ (xt˘1, xt˘2, ..., xt˘p)
thành giá trị dự đoán xt:
xt = f
xt−1, xt−2, ..., xt−p, w
+ εt.
(cid:16) (cid:17) (1.14)
trong đó w là các vector tham số, f là một hàm xác định nào đó (được xác định
theo cấu trúc mạng và tất cả các tham số từ mô hình).
Mạng thần kinh nhân tạo ANN dựa trên một tập hợp các nút và các kết nối
giữa chúng, tương tự như các tế bào thần kinh, nên còn được gọi là mạng nơ-ron
nhân tạo (một phiên bản đơn giản hóa của nơ-ron sinh học trong não). Mỗi kết
30
nối (connetion) giữa các units (tế bào thần kinh nhân tạo) có thể truyền "tín
hiệu" từ unit này sang unit khác. Tế bào thần kinh nhân tạo nhận "tín hiệu"
xử lý "tín hiệu" đó và sau đó phát "tín hiệu" cho các units kết nối với nó. Mạng
nơron nhân tạo có thể được sử dụng để dự đoán các giá trị trong tương lai của
chuỗi thời gian đa biến có thể nhiễu dựa trên lịch sử trong quá khứ và có thể
được mô tả như một mạng gồm các units (hoặc các nơron) được kết nối với nhau
theo một thứ tự cụ thể để thực hiện cá hàm số đi kèm trong noron đó.
Một dạng được sử dụng rộng rãi hiện nay là "Single hidden layer feed–forward
network model " được sử dụng rộng rãi nhất để dự báo. Mô hình được đặc trưng
bởi một mạng lưới gồm ba lớp của các nút (hay nơ-ron) được kết nối với nhau
xt˘p) với biểu thức toán học:
bằng các liên kết. Đầu ra (xt) có thể nhận được từ các đầu vào (xt˘1, xt˘2, ...,
q (cid:88)
p (cid:88)
xt = α0 +
+ εt.
αjg
β0,j +
βijxt−i
j=1
i=1
(cid:16) (cid:17) (1.15)
trong đó αj (j = 0, 1, 2, ..., q) và βi,j (i = 0, 1, 2, ..., p; j = 1, 2, ..., q) là các
tham số của mô hình, được gọi là trọng số kết nối, p là số units đầu vào, q là số
nốt ẩn. Hàm logistic sử dụng làm hàm trong lớp ẩn g(x), ở đây cũng có thể sử
dụng một hàm như tanh hoặc sigmoid. Việc lựa chọn các hàm này phụ thuộc
vào kiểu mô hình mà ta đã chọn.
Mô hình ANN có thể dự báo ra cho chúng ta giá trị trong tương lai xt từ các
giá trị trước đây của chuỗi (xt−1, xt−2, ..., xt−p). Với biểu thức của ANN, chúng ta
có thể thấy rằng, mô hình Neural Network và mô hình Nonlinear AutoRegressive
là tương đương nhau. Do đó, một nơ-ron đầu ra trong lớp ra của mô hình ANN
có thể sử dụng cho dự báo 1 bước tiếp theo (one–step–ahead forecasting).
Trong biểu thức biểu diễn của ANN, nếu q (số nơ-ron ẩn) lớn hơn thì kết quả
là tốt hơn. Biểu thức này có thể gần đúng với hàm tùy ý. Nhưng đôi khi chỉ cẩn
với một số lượng nhỏ các noron ẩn đã có thể hoạt động tốt trong mô hình dự
báo. Không có quy tắc nào cho việc lựa chọn tham số q này.
31
Một nhiệm vụ quan trọng khác trong ANN là lựa chọn tham số p, số lượng
quan sát bị trễ (lagged ). Vì không có quy tắc nào có thể giúp ích cho việc lựa
chọn giá trị p, các thử nghiệm thường được tiến hành và chọn giá trị tốt nhất.
Khi đó, một giá trị p thích hợp có thể được chọn.
1.5. Recurrent neural network – RNN
Như đã biết thì mạng thần kinh nhân tạo bao gồm 3 phần chính là lớp vào
(Input layer ), lớp ẩn (Hidden layer ) và lớp ra (Output layer ), ta có thể thấy là
đầu vào và đầu ra của mạng nơ-ron này là độc lập với nhau. Như vậy mô hình
này đã bỏ qua nhiều yếu tố quan trọng trong những bài toán chuỗi thời gian
nếu như những dự đoán tiếp theo như giá trị tiếp theo phụ thuộc vào vị trí của
nó trong một chu kỳ và chịu ảnh hưởng từ những giá trị đằng trước nó.
Hình 1.2: Mô hình Recurrent Neural Networks
Như vậy RNN ra đời với ý tưởng chính là sử dụng một bộ nhớ để lưu lại
thông tin về các giá trị từ những bước tính toán xử lý trước để dựa vào nó có
thể đưa ra dự đoán chính xác nhất cho bước dự đoán hiện tại. Chúng ta có thể
xem mô hình mạng RNN sau và phân tích nó:
Một phiên bản của ANN là mạng nơ-ron hồi quy (Recurrent Neural Network
– RNN). Mô hình RNN là mô hình mạng thần kinh có tính kết nối có hướng
32
Hình 1.3: Ví dụ về mô hình RNN.
Vấn đề Dữ liệu Năm
báo lưu Phương pháp RNN 2004 [9]
Dự lượng Hema- Ấn
RNN liệu 2010 [44]
Dự báo mực nước hồ hồ Thổ
2011 [6]
RNN, ARMA, ANFIS RNN, MLP, SOM RNN 2020 [28]
So sánh các mô hình Dự báo mực nước biển sông vathi, Độ Dữ Egirdir, Nhĩ Kỳ Một số bộ dữ liệu Dữ liệu của Hà Lan
Bảng 1.5: Một số nghiên cứu về mô hình mạng nơ-ron hồi quy - Recurrent Neural Network.
33
theo trình tự thời gian, và các kết nối giữa các nút (các neuron) trong mạng
hình thành một chuỗi liên tục (theo thời gian). Mô hình RNN có thể ứng dụng
trong một loạt các dạng bài toán có tính chất liên tục, giá trị đứng trước có một
phần hữu ích trong việc tính toán giá trị ngay phía sau nó.
Trong nghiên cứu của Kumar và đồng nghiệp năm 2004 [9], tác giả đã dùng
mô hình RNN để dự báo lưu lượng nước sông. Mô hình RNN đã được đem ra
so sánh với mô hình FFNN, và đã cho thấy kết quả tốt hơn. Tuy nhiên, trong
nghiên cứu, tác giả không đưa ra lý do cho việc tại sao lại chọn số lượng hiddne
unit của 2 mô hình khác nhau (FFNN là 14x2, còn RNN là 10x2).
Trong nghiên cứu của Guldal và đồng nghiệp năm 2010 [44], tác giả đã so
sánh mô hình RNN với một số mô hình, gồm ARMA và ANFIS. Mô hình RNN
cho kết quả tương đương mô hình ANFIS, và đều có thể vận dụng vào trong
điều khiển tự động hóa.
Năm 2011, Cherif và đồng nghiệp đã so sánh một sô mô hình, trong đó có
RNN [6]. Mô hình RNN đã cho kết quả tốt nhất trong các mô hình đơn, và nếu
so với các mô hình lai, nó chỉ kém hơn mô hình RNN-MLP. Trong nghiên cứu
này, tác giả không đưa ra lý do cho việc lựa chọn số lượng các lớp ẩn, một điều
quan trọng trong việc lựa chọn các tham số cho mô hình.
Còn trong nghiên cứu của Van de Lugt và đồng nghiệp năm 2020 [28] thì mô
hình RNN đã cho kết quả rất tốt khi kết hợp với Encoder/Decoder. Đây là một
mô hình lai, nhưng chủ yếu dựa trên RNN.
Công thức của mô hình RNN
Nếu như mạng Artificial Neural Network chỉ là lớp đầu vào x đi qua lớp ẩn
h và cho ra lớp đầu ra y với tất cả các kết nối đầy đủ giữa các layer (fully
connected ) thì trong RNN, các giá trị vào xt sẽ được kết hợp với lớp ẩn ht−1
ht, W là tập các trọng số và nó được ở tất cả các cụm, các L1, L2 ,... , Lt là các
bằng hàm fW để tính toán ra lớp ẩn ht hiện tại và đầu ra yt sẽ được tính ra từ
hàm mất mát. Như vậy kết quả từ các quá trình tính toán trước đã được "nhớ"
bằng cách kết hợp thêm ht−1 tính ra ht để tăng độ chính xác cho những dự đoán
34
ở thời điểm hiện tại. Cụ thể quá trình tính toán được viết dưới dạng toán như
sau:
ht = fW (ht−1, xt).
(1.16)
Trong đó hàm fW ở đây có thể sử dụng là hàm tanh hoặc sigmoid. Như vậy
ta có thể viết lại công thức trên ở dạng sau:
ht = tanh(Whhht−1 + Wxhxt).
(1.17)
ht = sigmoid(Whhht−1 + Wxhxt).
hoặc (1.18)
Khi đó ta có:
yt = Whyht.
(1.19)
Đối với mạng ANN chỉ sử dụng một ma trận trọng số W duy nhất thì với
RNN, nó sử dụng 3 ma trận trọng số cho 2 quá trình tính toán: Whh kết hợp
với "bộ nhớ trước" ht−1 và Wxh kết hợp với xt để tính ra "bộ nhớ của bước hiện
tại" ht từ đó kết hợp với Why để tính ra yt. Hay có thể định nghĩa các ma trận
• Whh: Ma trận trọng số cho vector trạng thái ẩn.
• Wxh: Ma trận trọng số cho vector đầu vào x.
• Why: Ma trận trọng số dùng để tính vector đầu ra y.
như sau:
Mạng nơ-ron hồi quy nhận một hoặc một số vector đầu vào {x } và đưa ra
một hoặc vài vector đầu ra {y}. Trong trường hợp đơn giản, ta xét một vector
đầu vào và một vector đầu ra.
Trong bài toán dự báo của chúng ta thì chuỗi đầu ra {y} chính là chuỗi {x}.
Vì vậy, trong các đoạn phía sau, đầu ra ta vẫn sử dụng ký hiệu {y} để phân biệt
đầu vào - đầu ra, nhưng thực tế thì đầu ra chính là dự báo giá trị tiếp theo của
chuỗi đầu vào {x}.
35
Để có thể lưu trữ được thông của các sự kiện trong quá khứ, mạng RNN lưu
trữ trong chính nó một vector trạng thái ẩn h. Vector trạng thái này sẽ lưu giữ
những thông tin của những sự kiện đã được xử lý bằng cách cập nhật lại giá trị
mỗi khi một sự kiện mới được xử lý.
Từ các phương trình bên trên, chúng ta có thể thấy được rõ rằng mạng nơ-
ron RNN là mạng nơ-ron có các kết nối bổ sung giữa các bước thời gian liền kề.
Mạng nơ-ron RNN có các kết nối tự lặp từ một nút đến chính nó theo thời gian
và chia sẻ trọng số qua các bước khác nhau. Do đó, có thể thấy thêm rằng mạng
nơ-ron RNN là một mô hình hiệu quả cho dữ liệu chuỗi thời gian. Các thuật
toán học sâu deep learning này thường được sử dụng cho các vấn đề có thứ tự
hoặc có tính đến yếu tố thời gian, chẳng hạn như dịch ngôn ngữ và xử lý ngôn
ngữ tự nhiên (NLP), hoặc số liệu chứng khoán. Hiện nay, RNN cũng là một mô
hình được tích hợp vào các ứng dụng phổ biến như tìm kiếm bằng giọng nói
hay Google Translate. Giống như các mạng nơ-ron nhân tạo khác, mạng nơ-ron
RNN sử dụng dữ liệu đào tạo để học, nhưng mạng nơ-ron RNN được phân biệt
với mạng nơ-ron ANN bởi “bộ nhớ” (memory) khi nó lấy thông tin từ các đầu
vào trước đó để tác động đến đầu vào và đầu ra hiện tại, trong khi mạng nơ-ron
ANN lại giả định rằng đầu vào và đầu ra là độc lập với nhau. Đầu ra của mạng
nơ-ron RNN phụ thuộc vào các phần tử trước đó trong chuỗi. Mặc dù các giá
trị trong tương lai của chuỗi thời gian cũng sẽ hữu ích trong việc xác định đầu
ra của một mô hình, nhưng mạng nơ-ron RNN không tính đến các giá trị này
trong các dự đoán của mô hình như mô hình mạng nơ-ron Bi-LSTM. Một đặc
điểm khác của mạng nơ-ron RNN là chúng chia sẻ các tham số trên mỗi lớp của
mạng. Trong khi các mạng truyền thẳng có trọng số khác nhau trên mỗi nút
(mỗi nơ-ron), thì mạng nơ-ron RNN chia sẻ cùng một tham số trọng số trong
mỗi lớp của mạng.
Có thể phân loại RNN theo một số dạng dựa trên số lượng đầu vào và số
lượng đầu ra của mô hình. Bài toán chúng ta hay gặp nhất là bài toán sau đây:
Ta có một bài toán được đặt ra là: từ một hoặc một số chuỗi thời gian đầu
36
vào, chúng ta cần dự báo giá trị tương lai cho một chuỗi nào đó. Đây là dạng bài
toán many-to-one trong RNN, tức nhiều đầu vào và chỉ có một đầu ra (hình 1.4).
Đầu vào của chúng ta sẽ tách các chuỗi đầu vào (n chuỗi đầu vào) thành các
vector có kích thước n*1. Vector tương ứng với thời điểm thứ t là xt.
Hình 1.4: Một mô hình RNN với nhiều đầu vào và 1 đầu ra.
Ta có:
Mô hình có n đầu vào và 1 đầu ra, các đầu vào được cho vào model đúng
với thứ tự các chuỗi thời gian x1, x2, ...xn. Mỗi hình tròn được gọi là 1 state,
ht = f (U ∗ xt + W ∗ ht−1). f là activation function thường là tanh, hoặc cũng có
state thứ t có đầu vào là xt và ht−1 (là đầu ra của state trước); đầu ra là
thể là sigmoid.
Có thể thấy ht mang cả thông tin từ state trước (ht−1) và đầu vào của state
xn h0 được thêm vào chỉ cho chuẩn công thức nên thường được gán bằng 0 hoặc
hiện tại, nên ht giống như memory nhớ các đặc điểm của các đầu vào từ x1 đến
giá trị ngẫu nhiên. Có thể hiểu là ban đầu chưa có dữ liệu gì để học thì memory
rỗng.
Do ta chỉ có 1 đầu ra, nên đầu ra sẽ được đặt ở bước cuối cùng, khi đó hn học
được thông tin từ tất cả các đầu vào. ˆy = g(V ∗ s). Với g là activation function.
• xi là vector có kích thước n*1, hi là vector có kích thước m*1, yi là vector
Tóm tắt lại:
37
có kích thước d *1. U là ma trận có kích thước m*n, W là ma trận có kích
• h0 = 0, ht = f (U ∗ xt + W ∗ ht−1) với 1 ≤ t.
• ˆy = g(V ∗ hn)
thước m*m và V là ma trận có kích thước d*m.
Một số vấn đề của RNN
RNN có xu hướng gặp phải hai vấn đề, là gradient bùng nổ (exploding gra-
dient) và gradient biến mất (vanishing gradient). Những vấn đề này được xác
định bởi kích thước của gradient, hay là độ dốc của đồ thị hàm mất mát (loss
function).
Trong trường hợp gradient biến mất, khi gradient quá nhỏ, nó tiếp tục trở nên
nhỏ hơn. Từ đó dẫn tới việc cập nhật các trọng số đối với các tham số (weight
parameters) cho đến khi chúng trở nên quá nhỏ, không còn tác động đáng kể
tới mô hình — tức là có thể sấp xỉ 0. Khi điều đó xảy ra, thuật toán không còn
học tiếp được nữa.
Ngược lại, gradient bùng nổ xảy ra khi gradient quá lớn, tạo ra một mô hình
không ổn định. Trong trường hợp này, trọng số của mô hình sẽ phát triển quá
lớn và cuối cùng chúng sẽ được biểu diễn dưới dạng NaN (hoặc dạng Null ), hay
là dạng không có giá trị.
Một giải pháp cho những vấn đề này là giảm số lượng lớp ẩn trong mạng
nơ-ron, loại bỏ một số độ phức tạp trong mô hình RNN. Tuy nhiên thì điều này
có thể sẽ làm giảm độ chính xác của mô hình khi mà mô hình trở nên quá đơn
giản.
Một số biến thể của mô hình RNN
Bi-directional recurrent neural networks hay mạng nơ-ron RNN hai
chiều (BRNN hoặc Bi-RNN): đây là một loại mạng nơ-ron biến thể của RNN.
Trong khi các mô hình RNN một chiều chỉ có thể tính toán ra giá trị tương lai
dựa trên các giá trị quá khứ từ các đầu vào trước đó để đưa ra dự đoán, thì mô
38
hình BRNN (RNN hai chiều) làm thêm một lần nữa trong mô hình: lấy dữ liệu
trong tương lai để cải thiện độ chính xác của nó.
Long short-term memory (LSTM): đây là một phát triển nổi tiếng của
mạng nơ-ron RNN, được giới thiệu bởi Sepp Hochreiter và Juergen Schmidhuber
vào năm 1997 [22] như một giải pháp cho vấn đề vanishing gradient. Trong mô
hình mới LSTM, mạng nơ-ron mới đã có những thay đổi để giải quyết vấn đề về
"bộ nhớ " dài hạn. Có nghĩa là, nếu giá trị trước đó là xt−k đang ảnh hưởng đến
dự báo của giá trị hiện tại, nhưng nó không phải là giá trị trong quá khứ gần (k
không phải là 1, thậm chí là k ≫ 1), thì khi đó mô hình RNN có thể sẽ không
thể dự báo chính xác giá trị tương lai tiếp theo của chuỗi thời gian. Để khắc
phục điều này, mạng nơ-ron LSTM có các "cell " (hoặc có tài liệu ghi là unit)
trong các lớp ẩn của mạng nơ-ron LSTM, mỗi cell lại có ba cổng - một cổng đầu
vào (input gate), một cổng đầu ra (output gate) và một cổng quên (forget gate).
Các cổng này kiểm soát các luồng thông tin cần thiết để dự báo giá trị đầu ra
trong mạng.
Gated recurrent units (GRU): là một biến thể của RNN. Mô hình này
tương tự như LSTM vì nó cũng hoạt động để giải quyết vấn đề bộ nhớ ngắn
hạn-dài hạn gặp phải trong các mô hình RNN. Thay vì sử dụng thông tin điều
chỉnh ở các “cell state”, mô hình GRU sử dụng các trạng thái ẩn. Và thay vì sử
dụng ba cổng, GRU chỉ có hai cổng - một cổng đặt lại (reset gate) và một cổng
cập nhật (update gate). Tương tự như các cổng trong LSTM, các cổng đặt lại
và cập nhật kiểm soát xem trong các thông tin thì thông tin nào cần giữ lại.
1.6. Tiêu chí đánh giá các mô hình
Chúng ta sẽ sử dụng một số tiêu chí để đánh giá mô hình như sau: mean
square error - MSE, mean absolute percentage error - MAPE và mean absolute
deviation - MAD:
n (cid:88)
M SE =
(yi − ˆyi)2 n
i=1
n (cid:88)
M AP E =
1 n
yi − ˆyi yi
39
i=1
n (cid:88)
M AD =
|yi − ˆyi| n
i=1
(cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12)
Các mô hình được tính toán kết quả đầu ra, sau đó so sánh theo các tiêu chí
trên. Đối với tất cả các tiêu chí trên, mô hình nào cho giá trị đánh giá sai số là
nhỏ nhất thì tức là mô hình có độ chính xác cao nhất.
Vì vậy, mục tiêu của nghiên cứu của Luận án là giảm các giá trị sai số trên
về nhỏ nhất có thể. Với việc so sánh các sai số với các mô hình đã được công bố
gần đây, nếu sai số của mô hình đề xuất trong Luận án là tốt hơn, thì điều đó
chứng tỏ mô hình đề xuất là mô hình tốt hơn.
40
CHƯƠNG 2. MÔ HÌNH HỌC TRỰC TUYẾN
Trong chương thứ 2 của Luận án, tôi đã nghiên cứu và đưa ra một số đề xuất
về một số phương pháp máy học mới, là mô hình máy học trực tuyến, với một
số các kết quả chạy mô hình trên bộ dữ liệu thực tế. Trong các phương pháp
mới này, phương pháp SARIMA trực tuyến đã được gửi đăng trên một tạp chí
SCI-Q1 uy tín ([E]). Còn phương pháp RNN trực tuyến là một phần của phương
pháp lớn hơn, đã được công bố trên một tạp chí ESCI-Q3 uy tín khác ([B]).
Khi mạng internet phát triển mạnh mẽ thì mô hình máy học trực tuyến
(online learning) cũng được đề cập tới và phát triển. Nó có tính năng quan
trọng là máy học sẽ được thực hiện theo thời gian thực, giúp cho mô hình có
tính thời sự cao nhất có thể.
time sánh mô Năm 2007 [18]
sánh mô 2014 [25]
Online model
Phương pháp Dữ liệu
Lorentz
Online Spiral
series
RNN
Một số bộ dữ
Online Neural
liệu
Network
2021 [10]
Dự báo phụ tải điện Dữ liệu Úc và Việt Nam
Vấn đề So hình So hình Đưa ra mô hình Online ARMA Online ARIMA, Online RNN và hybrid
Bảng 2.1: Mô hình máy học trực tuyến.
Năm 2007, Gao đã đưa ra mô hình RNN online [18]. Mô hình mới không có
nhiều sự khác biệt so với mô hình offline. Khi có cập nhật các số liệu mới vào
dữ liệu đầu vào, mô hình sẽ được chạy lại. Tuy được đề tên là mô hình trực
tuyến nhưng mô hình này khá mơ hồ, chưa có sự thay đổi lớn. Mô hình vẫn chỉ
41
là mô hình truyền thống, chạy lại hoàn toàn khi mà có thêm dữ liệu mới được
cập nhật vào trong dữ liệu đầu vào.
Trong năm 2014, Jain và đồng nghiệp đã đưa ra một số so sánh giữa một số
mô hình máy học trực tuyến (online learning) [25]. Các mô hình này đã được
đăng trên nhiều tạp chí khác nhau. Nhưng nhóm tác giả đã không thực sự đề
xuất một mô hình mới nào. Họ chỉ đơn giản là đưa ra các kết quả từ các bài
báo khác. Bài báo của Jain và đồng nghiệp chỉ mang tính chất tổng hợp.
Tới năm 2016, Liu và đồng nghiệp đã đưa ra một số mệnh đề và một số chứng
minh lý thuyết cho việc sử dụng mô hình ARMA online [27]. Với các kết quả
chứng minh được, các tác giả đã chỉ ra rằng mô hình mới là tốt hơn so với các
phương pháp cũ. Các tác giả cũng đã đưa ra một số ứng dụng trên các dữ liệu
thực tế để minh chứng cho mô hình đề xuất. Nhưng Liu và đồng nghiệp vẫn
chưa đưa ra mô hình trực tuyến tương ứng với mô hình ARIMA và mô hình
SARIMA, nhất là mô hình có tính mùa SARIMA.
Năm 2021, Anh và đồng nghiệp [10] đã đưa ra mô hình lai trực tuyến giữa
ARIMA và RNN. Mô hình đã cho kết quả rất tốt trên bộ dữ liệu phụ tải điện
của Úc và Việt Nam. Mô hình của các tác giả đã chỉ ra được rằng một mô hình
lai phưc tạp được ghép từ các mô hình nhỏ là hoàn toàn có thể.
2.1. Dữ liệu thực tế được cập nhật liên tục
Trong ước lượng thống kê và học tự động, ta cần cực tiểu hoá một hàm mục
N (cid:88)
L(θ) =
tiêu có dạng một tổng các hàm thành phần như sau:
Li(θ).
i=1
(2.1)
với giá trị tham số θ trong công thức là tham số cần ước lượng.
Mỗi số hạng Li(θ) được gắn với quan sát thứ i của tập dữ liệu huấn luyện.
Trong nhiều bài toán, chúng ta có thể gặp các vấn đề về việc cực tiểu hóa
42
• Phương pháp bình phương tối thiểu.
• Ước lượng hợp lí cực đại khi các quan sát độc lập.
• Cực tiểu hóa hàm lồi trên tập huấn luyện. Khi đó thì giá trị Li(θ) bên trên
này. Ví dụ như:
sẽ là hàm lỗi (error ) ứng với giá trị quan sát thứ i.
Ví dụ, trong phương pháp bình phương tối thiểu trong hồi quy tuyến tính:
N (cid:88)
.
L(θ) =
hθ(xi) − xi
1 2
(cid:17)2 (cid:16)
i=1 N (cid:88)
=
.
ˆxi − xi
1 2
i=1
(cid:16) (cid:17)2 (2.2)
2.2. Cơ sở của mô hình trực tuyến
Nhằm giải quyết các vấn đề của việc cập nhật đữ liệu thời gian thực, chúng
ta cần nâng cấp mô hình truyền thống của chúng ta cho phù hợp với việc làm
việc với dữ liệu thay đổi liên tục.
Đầu tiên chúng ta cần nhắc lại và phân biệt rõ ràng về các siêu tham số
(hyperparameters) và các tham số (parameters) của mô hình. Các siêu tham số
là các tham số không không thay đổi của mô hình dù có cập nhật thêm dữ liệu
và tính toán lại mô hình. Ví dụ trong mô hình ARIMA thì các siêu tham số là
các giá trị p, d, q mà chúng ta chọn ban đầu cho mô hình. Theo quá trình từ
khởi tạo tham số tới tính toán tham số cho mô hình thì các siêu tham số này
không hề thay đổi. Còn các tham số là các giá trị sẽ thay đổi liên tục trong quá
trình tính toán mô hình. Ví dụ trong mô hình ARIMA thì các tham số là các
giá trị ϕ và θ (đây là các véc-tơ).
Chúng ta có thể xem xét việc cập nhật liên tục các tham số trong mô hình
như Hình 2.1.
43
Hình 2.1: Phương hướng giải quyết vấn đề cập nhật dữ liệu của mô hình trực tuyến.
Rõ ràng rằng, với việc sử dụng mô hình truyền thống, tất cả các tham số đều
được tính một lần, và mô hình cuối cùng sẽ giữ lại các tham số được tính toán
cuối cùng. Sau một khoảng thời gian, khi chúng ta có bộ dữ liệu mới (thực tế
là bộ dữ liệu đang dùng, được cập nhật thêm một số lượng dữ liệu), chúng ta
sẽ chạy lại mô hình truyền thống với bộ dữ liệu mới. Tức là chúng ta hoàn toàn
tạo ra từ đầu một mô hình mới cho bô dữ liệu mới.
Trong mô hình trực tuyến, việc khởi tạo tham số của mô hình và việc tối ưu
các tham số sẽ được thực hiện giống trong mô hình truyền thống, nhưng các
bước tính toán sẽ được lưu lại. Mỗi khi có một dữ liệu mới được cập nhật theo
thời gian thực vào bộ dữ liệu đầu vào, mô hình sẽ được tiếp tục chạy tiếp tục
dựa vào các bước tính toán đã được lưu lại trước đây. Việc cập nhật mô hình
này là liên tục, được thực hiện mỗi khi mà dữ liệu đầu vào được cập nhật, dù
chỉ là 1 giá trị. Ở đây, trong việc tính lại các tham số và siêu tham số của mô
hình thì các siêu tham số của mô hình là không thay đổi, chỉ có các tham số là
được tính toán lại bằng cách tiếp tục tính toán theo các bước tính toán đã được
lưu lại từ các bước tính toán trước đó.
44
Hình 2.2: Cơ sở của việc tính toán tham số cho mô hình trực tuyến.
45
2.3. Phương pháp giảm gradient trực tuyến
Giảm gradient (Gradient Descent - GD) là một phương pháp tối ưu cực tiểu
hóa. Phương pháp giảm gradient là một phương pháp tối ưu tổng quát để giải
bài toán tìm ra bộ tham số có giá trị mất mát nhỏ nhất L(θ) → min. Việc tìm
giá trị min này nhằm ước lượng được tham số θ của mô hình khi mà hàm L(θ)
là hàm khả vi.
Phép lấy vi phân và đạo hàm
Giả sử y = f(x). Phép lấy vi phân là một phương pháp tính tốc độ thay đổi
• Nếu x, y ∈ R và ta vẽ đồ thị f(x) thì đạo hàm f’(x) đo độ dốc của đồ thị tại
của y ứng với tốc độ thay đổi của x.
• Nếu y = ax + b với a, b ∈ R thì f’(x) = a. Độ dốc a là:
a =
.
δy δx
mỗi điểm (x, y).
δx không phải là hằng số:
=
= f ′(x)
δy δx
dy dx
Nếu f(x) không phải là hàm tuyến tính theo x thì δy
Rõ ràng khi f ′(x) = 0 thì hàm đạt giá trị cực trị. Vấn đề cần giải quyết ở đây
của chúng ta là tìm được giá trị x để đạo hàm của hàm số của chúng ta bằng 0,
đồng thời cũng phải xử lý được trường hợp cực trị địa phương.
• Sẽ tối ưu bậc 1 để tìm giá trị nhỏ nhất (cục bộ) của một hàm khả vi f(x).
• Tại mỗi x, f(x) giảm nhanh nhất nếu ta đi từ x theo hướng âm của gradient
Phương pháp giảm gradient là một thuật toán mà:
• Nếu x′ = x − α∇f (x), với α > 0 đủ bé thì f (x′) ≤ f (x)
của f(x), tức −∇f (x).
46
Từ đó, để tìm cực tiểu của hàm f(x), ta dự đoán giá trị cực tiểu x0 ban đầu
và xét chuỗi x0, x1, ... , xi, ... sao cho:
xi+1 = xi − α∇f (xi)
với i ≥ 0.
f (x0) ≥ f (x1) ≥ · · · ≥ f (xi).
Khi đó, ta có:
Chuỗi {xi} khi đó sẽ hội tụ về giá trị cực tiểu.
Với các hàm lồi (convex ) thì phương pháp giảm gradient luôn đảm bảo cho
giá trị tối ưu mà chúng ta cần tìm, tức là tối ưu của toàn bài toán.
Nhưng với các hàm không lồi hoặc không lồi chặt thì có thể chúng ta sẽ bị
mắc tại điểm cực trị địa phương không phải là điểm nhỏ nhất của cả bài toán.
Chúng ta sẽ xem xét vấn đề này ở ngay phần "Tốc độ học" của chương này.
Thuật toán giảm gradient theo loạt (Batch Gradient Descent – BGD) được
trình bày tại bảng bên dưới. Hằng số α > 0 được gọi là tốc độ học.
L(θ) = (cid:80)N
i=1 Li(θ) → min
Vấn đề
i (cid:88)
Trong đó hàm Li(θ) là hàm mất mát, tính bằng công thức:
(yi − xi)2
Li(θ) =
1 2
t=1
(2.3)
Ta có thể dễ dàng thấy được rằng, thuật toán giảm gradient theo loạt có một
• Có thể coi mỗi hàm thành phần Li(θ) ứng với một mẫu dữ liệu trong bài
số đặc tính sau đây:
toán học có giám sát.
47
Thuật toán 2.1 giảm gradient theo loạt
Dữ liệu: (x1, y1), (x2, y2), . . . , (xN , yN ) Kết quả: θ θ ← ⃗0 (hoặc lấy ngẫu nhiên) repeat
for i=1 to N do
i=1 ∇Li(θ);
Cập nhật θ ← θ − α (cid:80)N
• Trong mỗi bước, thuật toán cần tính gradient của các hàm thành phần Li(θ)
endfor; until hội tụ;
• Nếu các hàm thành phần Li(θ) là phức tạp thì việc tính các gradient ∇Li(θ)
trên toàn bộ tập dữ liệu.
• Nếu dữ liệu có kích thước N lớn thì mỗi bước lặp có khối lượng tính toán
đòi hỏi khối lượng tính toán lớn.
lớn, thuật toán chạy chậm.
Để tiết kiệm khối lượng tính toán, phương pháp giảm gradient ngẫu nhiên
(Stochastic Gradient Descent – SGD) xấp xỉ gradient của L(θ) bởi gradient ở
một mẫu huấn luyện:
θ ← θ − α∇Li(θ)
• Khi chạy qua toàn bộ tập huấn luyện (i = 1, 2, ... , N ), tham số θ được
(2.4)
• Ta có thể chạy lại thủ tục lặp này một số lần trên tập huấn luyện cho tới
cập nhật dần trên từng mẫu.
khi hội tụ.
Thuật toán được trình bày ở bảng sau:
Tốc độ học
Từ phần về giảm gradient hàng loạt thì ta có thể thấy tốc độ học α là một
phần quan trọng trong phương trình của mô hình giảm gradient.
48
Thuật toán 2.2 Giảm gradient ngẫu nhiên
Dữ liệu: (x1, y1), (x2, y2), . . . , (xN , yN ) Kết quả: θ θ ← ⃗0 (hoặc lấy ngẫu nhiên) repeat
Trộn tập huấn luyện một cách ngẫu nhiên for i=1 to N do
Cập nhật θ ← θ − α∇Li(θ) (Li(θ) tính theo (2.3))
• Trong các thuật toán giảm gradient, tốc độ học α có thể thay đổi theo bước
endfor; until hội tụ;
• Nói cách khác, ta có nhiều tốc độ học, công thức giảm gradient tổng quát
lặp mà không cố định.
θ(t+1) ← θ(t) − α(t)∇Li(θ(t)).
là:
trong đó, (t) là chỉ số của bước cập nhật tham số.
θ(t+1)(cid:17) (cid:16)
• Về mặt lí thuyết, tốc độ học α(t) được chọn sao cho cực đại hoá L
• Việc tìm α(t) cũng là một bài toán tối ưu (trong không gian 1 chiều), có
Như vậy, ta cũng có thể thấy một số tính chất của tốc độ học α như sau:
thể giải bằng những thuật toán tối ưu hiệu quả như những thuật toán tựa
• Tuy nhiên trong thực tế, ta không cần giá trị đúng của α(t) mà chỉ cần giá
Newton.
trị xấp xỉ của nó để đảm bảo tính chất hội tụ của hàm mục tiêu.
Khi đó, ta có thể có được các điều kiện cần của các tốc độ học để thuật toán
• Các tốc độ học cần phải giảm dần.
hội tụ.
• Các tốc độ học không được giảm quá nhanh về hằng số.
49
Thuật toán giảm gradient trực tuyến
Thuật toán giảm gradient trực tuyến (Online Grdient Descent - OGD) là
dạng trực tuyến của thuật toán giảm gradient truyền thống, được Zinkevich đề
xuất vào năm 2003. Đây là một thuật toán áp dụng để tìm giá trị cực trị trong
môi trường tính toán trực tuyến.
Mã giả của thuật toán được cho ở bên dưới:
Thuật toán 2.3 Giảm gradient trực tuyến Dữ liệu: T < N, dữ liệu {(xi,yi)}N , và tập {αt}; for t = 1 to T do Tính ft(xt) Tính yt+1 = xt − αt∇fi(xt) Tìm xt+1 ← yt+1 endfor;
2.4. Phương pháp trực tuyến ONS
Hàm Exp-concave
Giảm gradient trực tuyến yêu cầu hàm của chúng ta là lồi (hoặc lồi mạnh)
và liên tục Lipschitz. Nhưng đây là một điều kiện mà không phải lúc nào cũng
đạt được.
Đối với một hàm lồi mạnh khả vi bậc 2, chúng ta cần ma trận Hessian phải
có hạng đầy đủ. Khi ma trận Hessian không thỏa mãn yêu cầu đó thì chúng ta
cần dùng tới hàm f exp-concave function.
Định nghĩa: một hàm lồi f : Rn → R được gọi là α-exp-concave trên tập quyết định K ⊆ Rn nếu hàm g sau là hàm lõm (concave function), với g: K → R
g(x) = exp(−αf (x)).
thỏa mãn:
(2.5)
50
Ta cũng có thể hiểu rằng exp-concave là lõm mạnh theo hướng của gradient.
f ′′(x) ≥ αf ′(x)2.
Với hàm một biến thì ta có thể viết hàm exp-concave dưới dạng:
(2.6)
Tổng quát hơn, một hàm khả vi hai lần f : Rn → R là một hàm exp-concave
∇2f (x) ≽ α∇f (x)∇f (x)⊤.
khi:
(2.7)
Đây chính là dạng tổng quát của hàm exp-concave với nhiều biến.
Chúng ta sẽ là một số tính chất của hàm exp-concave này.
Sau đây là một tính chất cho phép chúng ta tính gần đúng khi dùng tới vi
phân bậc 2:
2 min{ 1 1
4LD , α} và mọi x, y ∈ K:
f (x) ≥ f (y) + ∇f (y)⊤(x − y) +
(x − y)⊤∇f (y)∇f (y)⊤(x − y).
Tính chất: cho f : K → R là một α − exp − concave, khi đó: với γ ≤
γ 2
(2.8)
với D là đường kính của tập quyết định K và L là hằng số Lipschitz của hàm f.
Chứng minh:
Vì hàm f là một α-exp-concave, và γ ≤ 2α, nên ta có h(x) = exp(−2γf (x)).
h(x) ≤ h(y) + ∇h(y)⊤(x − y).
Ta có:
(2.9)
∇h(y) = −2γ exp(−2γf (y))∇f (y).
Ngoài ra, chúng ta có thể tính được giá trị của ∇h(y) như sau:
(2.10)
exp(−2γf (x)) ≤ exp(−2γf (y))[1 − 2γ∇f (y)⊤(x − y)].
Từ đó, ta có:
(2.11)
51
log(1 − 2γ∇f (y)⊤(x − y)).
f (x) ≥ f (y) −
Lấy logarithm cả 2 vế, ta được biểu thức đơn giản hơn:
1 2γ
(2.12)
2γLD ≤
.
Từ điều kiện đã có của bổ đề đối với biến γ, ta có:
1 4
(2.13)
|2γ∇f (y)⊤(x − y)| ≤ 2γLD.
Dùng bất đẳng thức Cauchy-Schwarz, ta tính được:
(2.14)
|2γ∇f (y)⊤(x − y)| ≤
.
Từ các bất đẳng thức 2.13 và 2.14, ta có:
1 4
(2.15)
f (x) ≥ f (y) + ∇f (y)⊤(x − y) +
(x − y)⊤∇f (y)∇f (y)⊤(x − y).
Ta xem xét 1 số phức z thỏa mãn |z| ≤ f rac14, khi đó − log(1 − z) ≥ z + z2 4 . Nếu ta cho z = 2γ∇f (y)⊤(x − y), thì ta sẽ đạt được công thức cần chứng minh:
γ 2
(2.16)
Khi đó chúng ta chịu hàm mất mát (loss function):
ft(x) = ft(yt) + (x − yt)⊤gt +
((x − yt)⊤gt)2.
α′ 2
(2.17)
Chúng ta dùng tính chất vừa chứng minh bên trên để tính gần đúng hàm
mất mát: từ tính chất bên trên, ta có thể có được công thức Regret Guarantee
for ONS như sau:
Định lý: Online Newton Step với α-exp-concave và hàm mất mát Lt và tham
2 min{ 1
4LD , α}, ε = 1
γ2D2 , T > 4 guarantees:
T (cid:88)
+ LD)n log(T )
(Lt(xt) − Lt(u)) ≤ 5(
RT (u) =
1 α
t=1
số γ = 1
Chứng minh:
t=1 ft(x) là giá trị tối ưu, khi đó, theo tính chất vừa
(cid:80)T Với x∗ ∈ argminx∈P
52
chứng minh trên, ta có:
(x∗ − xt)⊤∇t∇⊤
ft(x) − ft(x∗) ≤ Rt = ∇⊤
t (x∗ − xt).
t (xt − x∗) −
β 2
(2.18)
2minα,
1 4GD .
với hệ số β = 1
t ∇t thì công thức sẽ có chỉ số chạy
β A−1
(yt+1), và ta sẽ có công thức sau:
Khi đó, nếu chúng ta đặt yt+1 = xt = 1
A−1
phù hợp với biến xt+1 = (cid:81)At Sn
yt+1 − x∗ = xt − x∗ −
t ∇t.
1 β
(2.19)
Hay ta có thể viết là:
At(yt+1 − x∗) = At(xt − x∗) −
∇t.
1 β
(2.20)
∇⊤
(yt+1 − x∗)⊤At(yt+1 − x∗) = (xt − x∗)⊤At(xt − x∗) −
t (xt − x∗) +
t A−1
2 β
1 β2 ∇⊤
t ∇t. (2.21)
Từ đó ta có:
Vì xt+1 là ánh xạ của yt+1 qua ma trận A, nên ta cần chứng minh một số bổ
đề (được trình bày ở phần sau) để áp dụng vào phép tính toán trên.
Từ bổ đề 1 (chứng minh ở phần sau), ta có:
(yt+1 − x∗)⊤At(yt+1 − x∗)(xt+1 − x∗)⊤At(xt+1 − x∗).
(2.22)
∇⊤
∇⊤
(xt − x∗)⊤At(xt − x∗) −
(xt+1 − x∗)⊤At(xt+1 − x∗).
t (xt − x∗) ≤
t A−1
t ∇t +
1 2β
β 2
β 2
Như vậy, bất đẳng thức (2.21) sẽ trở thành:
(2.23)
T (cid:88)
T (cid:88)
∇⊤
∇⊤
Thay t = 1..T vào, ta sẽ được:
(x1 − x∗)⊤At(x1 − x∗)−
t (xt − x∗) ≤
t A−1
t ∇t +
β 2
1 2β
t=1
t=1 T (cid:88)
−
(xt − x∗)⊤(At − At−1)(xt − x∗) −
(xT +1 − x∗)⊤At(xT +1 − x∗)
β 2
β 2
t=2
(2.24)
T (cid:88)
T (cid:88)
≤
∇⊤
(xt − x∗)⊤∇t∇⊤
t A−1
T (xt − x∗)−
t ∇t +
β 2
1 2β
t=1
−
t=1 T )(x1 − x∗). (x1 − x∗)⊤(At − ∇t∇⊤
β 2
T vào. Bằng cách thay biểu thức
t−1 Rt, ta có:
53
β 2
T (cid:88)
T (cid:88)
∇⊤
Ở đây, ta đã thay đẳng thức At − At−1 = ∇t∇⊤ t=2(xt − x∗)⊤(At − At−1)(xt − x∗) với (cid:80)T (cid:80)T
Rt ≤
(x1 − x∗)⊤At(x1 − x∗)
t A−1
t ∇t +
1 2β
β 2
t−1
t=1
(2.25)
β2D2 , thì ta sẽ nhận được kết quả:
T (cid:88)
T (cid:88)
D2β
∇⊤
Nếu ta chọn ε = 1
Rt ≤
RegretT (ON S) ≤
t A−1
t ∇t +
1 2β
ε 2
t=1
t−1
T (cid:88)
≤
∇⊤
.
t A−1
t ∇t +
1 2β
1 2β
t=1
(2.26)
Áp dụng bổ đề 3 (chứng minh bên dưới) với Vt = At, ut = ∇t, r = G, cùng
2min{ 1
4GD , α}, ta có:
β2D2 và β = 1
T (cid:88)
∇⊤
+ 1)
với điều kiện đầu bài là ε = 1
t A−1
t ∇t ≤
1 2β
log(G2 T ε
n 2β
t=1
≤
log(T G2β2D2 + 1)
≤
log(T ).
n 2β n 2β
(2.27)
T + εI và ∥ut∥ ≤ r nên mọi giá trị riêng của ma trận VT đều
t=1 utu⊤
Vì VT = (cid:80)T
không lớn hơn r2T + ε, hay det(V ) ≤ (r2T + ε)n.
2min{ 1
4GD , α} nên 1
β ≤ 8(GD + 1
α ).
Dễ thấy, vì β = 1
T (cid:88)
(ℓt(xt) − ℓt(u))
RT (u) =
Từ đó ta đã chứng minh được bất phương trình ước lượng Regret:
≤ 5(
+ LD)n log T
t=1 1 α
□
54
Ta chứng minh thêm các bổ đề sau để áp dụng vào phần chứng minh định lý
trên.
P (y) là hình chiếu của
y lên P theo ma trận A ⪰ 0. Khi đó với mọi điểm x ∈ P ta đều có:
(y − x)⊤A(y − x)(z − x)⊤A(z − x)
Bổ đề 1: cho P ⊆ Rn là một tập lồi, y ∈ Rn và z = (cid:81)A
(2.28)
Chứng minh bổ đề 1:
Khi mà exp(−αf (x)) là hàm lõm, và 2β ≤ α thì dĩ nhiên hàm h(x) = exp(−2βf (x))
h(x) ≤ h(y) + (y)⊤(x − y)
cũng là hàm lõm.
exp(−2βf (x)) ≤ exp(−2βf (y))(cid:0)1 − 2β∇f (y)⊤(x − y)(cid:1)
⇔ f (x) ≥ f (y) −
1 2β log (cid:0)1 − 2β∇f (y)⊤(x − y)(cid:1)
Vì ∇h(y) = −2β exp(−2βf (y))∇f (y):
|2β∇f (y)⊤(x − y)| ≤ 2βGD ≤
1 4
Mà ta đã có:
4, và khi đó − log(1 − z) ≥ z + 1
4z2. □
Đặt z = 2β∇f (y)⊤(x − y), thì ta có |z| ≤ 1
A−1 • (A − B) ≤ log
Bổ đề 2: với 2 ma trận vuông và dương bậc n A ⪰ B ≻ 0, ta có:
|A| |B|
(2.29)
Chứng minh bổ đề 2:
Với một ma trận vuông C bậc n, ta xem xét các giá trị riêng của nó là λ1,...,λn,
và vết của ma trận này là Tr(C)
n (cid:88)
A • B =
Xét một phép tính giữa 2 ma trận được định nghĩa và ký hiệu như sau:
AijBij
i,j=1
(2.30)
55
Khi đó, ta dễ thấy A • B=Tr(A · B) với A · B là tích bình thường của 2 ma
A−1 • (A − B) = Tr(A−1 · (A − B))
= Tr(A−1/2 · (A − B) · A−1/2)
= Tr(I − A−1/2 · B · A−1/2)
trận. Ta có:
n (cid:88)
=
1 − λi(A−1/2 · B · A−1/2)
i=1
(cid:19) (cid:18)
n (cid:88)
log
≤ −
(bởi vì1 − x ≤ − log(x))
λi(A−1/2 · B · A−1/2)
i=1
(cid:18)
A−1/2 · B · A−1/2
= − log
i=1 = −log|A−1/2 · B · A−1/2|
(cid:33) (cid:32) n (cid:89)
|A| nên ta có:
−log|A−1/2 · B · A−1/2| = log
|A| |B|
Vì |A · B|=|A||B| và |A−1|= 1
Cho nên:
A−1 • (A − B) = log
|A| |B|
□
Bổ đề 3: với ut ∈ Rn (t = 1, ..., T ) là một chuỗi các vector thỏa mãn ||ut|| ≤ r
T (cid:88)
(với r > 0 nào đó). Ta định nghĩa:
Vt =
utu⊤
t + εIn
t=1
(2.31)
T (cid:88)
+ 1)
Khi đó, ta có:
t V −1 u⊤
t ut ≤ n log(r2 T ε
t=1
(2.32)
56
Chứng minh bổ đề 3:
A−1 · (A − B) ≤ log
|A| |B|
Từ bổ đề 2, ta có: với 2 ma trận A, B ∈ Rn×n thỏa mãn A ⪰ B ≻ 0:
T (cid:88)
T (cid:88)
· ut =
• ut · u⊤ t
u⊤ t
· V −1 t
V −1 t
t=1
t−1
T (cid:88)
Ta lấy giá trị V0 = εIn, ta sẽ được:
=
• (cid:0)Vt − Vt−1
V −1 t
t=1 T (cid:88)
log
≤
= log
|Vt| |Vt−1|
|VT | |V0|
t=1
(cid:1)
Thuật toán Online Newton Step
Thuật toán này sẽ sử dụng trong một mô hình, ở đây chúng ta sẽ xem xét nó
trong mô hình ARIMA
Cho một tập lồi K có x1 ∈ K ⊆ Rn, γ, ε > 0 và A0 = εIn:
Thuật toán 2.4 ARIMA Online Newton Step
η; ma trận Hessian (p + m) × (p + m) ban đầu A0.
Tham số p; giá trị m; tham số d; seasonal period s; learning rate
i=1 ϕi▽dyt−i + (cid:80)d−1
i=0
(cid:0)(T LMmaxq)−1(cid:1).[27]
Chọn m = logλmax for t = 1 to T − 1 do Tính ˆyt = (cid:80)p+m ▽iyt−1. Lấy yt và tính giá trị mất mát (loss) ft(ϕt) Đặt ▽t = ▽ft(ϕt) endfor;
t
Mỗi lần lặp, chúng ta đều phải tính toán ma trận A−1 . Ma trận At này khả
nghịch, và có thể tính theo công thức:
(At + xx⊤)−1 = A−1
t −
t xx⊤A−1 A−1 t 1 + x⊤A−1 t x
(2.33)
57
Ở đây chúng ta có thể thấy rằng, tài nguyên tiêu tốn sẽ là O(n2) khi chúng
ta xử lý ma trận At.
Regret cho thuật toán ONS cũng giống với việc tính cho OGD. Ở đây, ta tính
2 min{ 1
4LD , α}, ε = 1
γ2D2 và T ≥ 5
T (cid:88)
+ LD)n log T
hàm mất mát (loss function) ℓt, chọn γ = 1
(ℓt(xt) − ℓt(u)) ≤ 5(
RT =
1 α
t=1
(2.34)
2.5. Mô hình trực tuyến cho ARIMA và SARIMA
2.5.1. Mô hình ARIMA Online Newton step
Chúng ta có thể sử dụng mô hình máy học trực tuyến vào trong một mô hình
đơn giản đã được áp dụng rất rộng rãi, là mô hình ARIMA. Từ đó ta có thể tạo
ra mô hình tuyến tính ARIMA - ONS.
Các mô hình trực tuyến có thể làm việc với dữ liệu được cập nhật liên tục,
còn các mô hình truyền thống yêu cầu toàn bộ dữ liệu để ước lượn tham số của
mô hình. Vì vậy, trong trường hợp dữ liệu không đầy đủ từ đầu, và dữ liệu mới
được liên tục cập nhập, thì mô hình trực tuyến sẽ phát huy ưu thế của mình so
với các mô hình truyền thống.
Việc sử dụng phép học trực tuyến cho một mô hình truyền thống như mô hình
ARIMA để tạo thành một mô hình thống nhất được Anavar và đồng nghiệp đề
xuất năm 2013.
Như ta đã biết, trong mô hình ARIMA (p,d,q) thì giá trị tương lai xt+1 được
q−1 (cid:88)
p−1 (cid:88)
tính theo các giá trị trước đó của chuỗi thời gian {xt} theo công thức:
∇dxt+1 =
φi∇dxt−i +
θjεt−i + εt+1
i=0
j=0
(2.35)
Ta sử dụng phép lấy sai phân để xử lý các chuỗi thời gian không phải chuỗi
dừng. Với lần sai phân thứ nhất (khi d=1) thì ta có ∇xt = xt − xt−1. Với lần sai
58
phân thứ 2 thì ta có ∇2xt = ∇1xt − ∇1xt−1.
Chuỗi {∇dxt} là chuỗi đã được lấy sai phân d lần để tạo thành chuỗi dừng.
Và khi đó, mô hình của chúng ta trở thành mô hình ARMA(p,q)
Trong công thức (1.4) của ARIMA ở chương 1 thì chuỗi {εt} là một chuỗi ồn
trắng. Còn các giá trị {φi} (i=0,...,p-1) và {θj} (j =0,...,q-1) là các tham số của
mô hình.
Ta xem xét lại thuật toán ARIMA-ONS được đưa ra trong phần 2.4
Chúng ta sẽ tuân theo một mô hình lý thuyết điển hình cho một mô hình học
trực tuyến (online learning). Chúng ta sẽ liên tục tính các giá trị mới của chuỗi
thời gian, sau đó nhận giá trị mất mát (loss) của mô hình.
Đặt mô hình ARIMA trong bài toán trực tuyến, ta có thể tính được các giá
• Chọn các bộ tham số của mô hình là {φi} (i=0,...,p-1) và {θj} (j =0,...,q-1)
trị tương lai {Xt} của mô hình như sau:
• Trong bước lặp thứ t (bước lặp thứ i sẽ tính giá trị Xi), mô hình nhận một giá trị ồn trắng εt, sau đó mô hình sẽ tính ra cho chúng ta giá trị ˆXt dựa
theo bài toán đã ra.
trên công thức (1.0.1) bên trên. Chúng ta cũng cần chú ý là mô hình không
• Trong lần lặp thứ t, sau khi chúng ta tính toán được giá trị ước lượng tương lai ˆXt thì giá trị thực tế Xt sẽ được đưa ra để chúng ta tính giá trị mất mát
hề tiết lộ các giá trị {φi} và {θj} cũng như các giá trị ồn trắng {εt}.
(loss).
Chúng ta có thể tính được hàm mất mát theo công thức sau:
ft(φ, θ) = ℓt
(cid:16) (2.36) (cid:17) Xt, ˆXt(φ, θ)
59
d−1 (cid:88)
∇iXt−1)
= ℓt
Xt, (∇ ˆXt +
i=0
(cid:17) (cid:16)
d−1 (cid:88)
q−1 (cid:88)
p−1 (cid:88)
∇iXt−1)
Xt, (
= ℓt
θjεt−i +
φi∇dxt−i +
i=0
j=0
i=0
(cid:17) (cid:16)
Mục tiêu của chúng ta là tối thiểu hóa tổng các giá trị mất mát của mô hình
trong T bước lặp.
T (cid:88)
T (cid:88)
Cụ thể, chúng ta có thể tính được giá trị đó theo công thức sau:
ℓt(Xt, ˆXt(φ, θ))
RT =
ℓt(Xt, ˆXt) − min φ,θ
t=1
t=1
(2.37)
Ở đây, theo phần Online Newton Step, chúng ta sẽ cố gắng đưa hàm mất mát
trở về một tuyến tính của T , hay RT ≤ o(T ). Khi đó, giá trị mất mát sẽ nhỏ
không đáng kể khi chúng ta tăng T lên.
Theo hàm mất mát được tính trong công thức (2.36) thì chúng ta sẽ cần phải
tối ưu hóa lồi trực tuyến để ước lượng các giá trị các chuỗi {φi} và {θj}. Thậm
chí trong các trường hợp có thể đưa ra các giá trị tốt nhất cho các chuỗi tham số này thì chúng ta cũng vẫn bị các giá trị ồn trắng gây nhiễu cho tính toán ˆXt.
Cho nên cuối cùng thì các giá trị mất mát là rất khó tính toán để nó là bé nhất.
Vì thế mà chúng ta sẽ áp dụng một mô hình sửa đổi của mô hình ARIMA,
được đề xuất trong nghiên cứu năm 2013 của tác giả Anavar và đồng nghiệp.
Trong mô hình mới, các tác giả đã thiết kế một giải pháp trong đó dự đoán
không đến trực tiếp từ mô hình ARIMA truyền thống, mà từ một mô hình
ARIMA không có giá trị nhiễu rõ ràng. Mô hình mới này là gần đúng với mô
hình ban đầu [2].
Mô hình xấp xỉ thay vì có dạng như bình thường là ARIMA (p,d,q) thì nó có dạng mới là ARIMA (p+m,d,0 ) với m ∈ N là một hằng số đủ lớn. Khi đó, mô
• Vì không có giá trị q nên mô hình không hề bị phụ thuộc vào nhiễu ồn trắng
hình sẽ có đặc điểm:
εt.
• Với hệ số m đủ lớn thì mô hình ARIMA mới sẽ cho giá trị xấp xỉ giả trị của
60
mô hình ARIMA cũ.
Khi ta sử dụng mô hình mới thì chúng ta sẽ có công thức tính giá trị ước
d−1 (cid:88)
p+m (cid:88)
lượng như sau:
∇jXt−1
ˆXt(γt) =
γi∇dXti +
j=1
i=1
(2.38)
Khi đó, mô hình trực tuyến của chúng ta sẽ có hàm mất mát được tính theo
công thức sau:
t (γt) = ℓt ℓm
(2.39) (cid:0)Xt, ˆXt(γt)(cid:1)
p+m (cid:88)
d−1 (cid:88)
= ℓt
Xt, (
γi∇dXti +
i=1
j=1
(cid:16) (2.40) (cid:17) ∇jXt−1)
˙√
Ta nhắc lại rằng K = {γ ∈ Rp+m, |γi| ≤ 1, i = 1, ..., m} là tập quyết định của
p + m là đường kính của
K, và G là cận trên của ∥∇ℓm
t (γ)∥ với mọi t và γ ∈ K.
√
˙
mô hình, và K là một tập lồi. Ngoài ra còn có D = 2c
p + m(Xmax)2. Tính tất
Khi đó bình phương của giá trị mất mát sẽ bằng 2c
cả hàm mất mát thì chúng ta sẽ có công thức:
ft(γ(t)) =
(cid:17)2 (2.41) (cid:16) ˆXt(γ(t)) − Xt
2.5.2. Mô hình SARIMA Online Newton step
s thì các giá trị ước lượng của xt sẽ được tính theo công thức dưới đây:
ϕ(B)Φ(Bs)∇d∇D
Một mô hình SARIMA với các tham số SARIMA(p,d,q)(P,D,Q)s với chu kỳ
s x(λ)
t = θ(B)Θ(Bs)εt
(2.42)
61
p (cid:88)
ϕ(B) = 1 − ¯ϕ(B),
¯ϕ(B) =
trong đó:
ϕiBi
i=1
P (cid:88)
Φ(Bs) = 1 − ¯Φ(Bs),
¯Φ(Bs) =
(2.43)
ΦiBis
i=1
q (cid:88)
θ(B) = 1 − ¯θ(B),
¯θ(B) =
(2.44)
θiBi
i=1
Q (cid:88)
Θ(Bs) = 1 − ¯Θ(Bs),
¯Θ(Bs) =
(2.45)
ΘiBis
i=1
(2.46)
(2.47)
còn sai phân ∇ được tính theo công thức:
λ−1(cid:16)
λ ̸= 0
(xt + c)λ − 1
∇sx(λ)
t =
λ = 0
ln(xt + c)
(cid:17) (2.48)
∇sx(λ)
t = (1 − Bs)x(λ)
t = x(λ)
t − x(λ) t−s,
f or
t = s + 1, s + 2, . . . , η
∇D
(2.49)
s x(λ)
t = (1 − BS)Dx(λ)
t
(2.50)
η = ns.
với tham số λ là Box–Cox power transformation, c là số lần lặp của mùa, và
Coi rằng phép lấy sai phân là một bước tính riêng biệt để tạo chuỗi dừng,
chúng ta chỉ cẩn tính toán mô hình với một chuỗi mới Xt là dừng. Khi đó ta có
ϕ(B)Φ(Bs)X (λ)
thể viết gọn công thức ở dạng sau:
t = θ(B)Θ(Bs)εt
(2.51)
Biến đổi phương trình trên, ta được:
Xt = ¯ϕ(B)Xt + ¯Φ(Bs)Xt − ¯ϕ(B) ¯Φ(Bs)Xt
+ ¯θ(B)εt + ¯Θ(Bs)εt − ¯θ(B) ¯Θ(B)εt
(2.52)
62
Φ = (Φ1, Φ2, . . . , ΦP ), θ = (θ1, θ2, . . . , θq), Θ = (Θ1, Θ2, . . . , ΘQ).
Ở trong mô hình này, tham số của chúng ta gồm 4 tham số là ϕ = (ϕ1, ϕ2, . . . , ϕp),
Q (cid:88)
q (cid:88)
p (cid:88)
P (cid:88)
Hoặc có thể viêt gọn ở dạng:
βi,jεt−(i+js)
αi,jXt−(i+js) +
ˆX(α,β) =
j=0
i=0
i=0
j=0
(2.53)
với ma trận α có α0,0 = 0, αi,0 = ϕi, α0,j = Φj, αi,j = −ϕiΦj với i, j ̸= 0, còn ma
trận β sẽ tương ứng với các tham số θ và Θ.
Từ giờ trở đi, mô hình SARIMA online của chúng ta tương tự như mô hình
• 4 vector tham số được chọn trước bởi điểu kiện của bài toán.
• tại vòng lặp thứ t thì chúng ta lấy một biến nhiễu εt, sau đó sinh giá trị Xt.
ARIMA online bên trên:
ˆXt = ¯ϕ(B)Xt + ¯Φ(Bs)Xt − ¯ϕ(B) ¯Φ(Bs)Xt + ¯θ(B)εt + ¯Θ(Bs)εt − ¯θ(B) ¯Θ(B)εt
Ta có thể có được công thứ sau:
Vấn đề nằm ở chỗ chúng ta cũng không thể dự báo chính xác được Xt vì
chúng ta không biết giá trị của nhiễu εt, vì vậy không thể áp dụng định lý về
công thức tính regret bên trên. Thậm chí hàm regret không còn là hàm lồi nữa.
Lúc này ta tiếp tục áp dụng ý tưởng về mô hình tự hồi quy như của mô hình
ARIMA, với hai tham số m và M mới, thay thế cho các tham số θ và Θ. Mô
hình mới sẽ không còn các giá trị q và Q.
p (cid:88)
P (cid:88)
Khi đó, phương trình của mô hình sẽ có dạng sau:
ˆXt(γ) =
γi,jXt−(i+js)
i=0
j=0
(2.54)
với ma trận giá trị γ = (γi,j)(p+1)x(P +1), γ0,0 = 0, γi,0 = ϕi, γ0,j = Φj, và khi i, j ̸= 0
thì γi,j = −ϕiΦj.
63
Lúc này, hàm tổn thất sẽ là:
ft(γ) =
(cid:17)2 (2.55) (cid:16) ˆXt(γ) − Xt
Từ các chứng minh của phần Online Newton step, ta có thể chứng minh được
hàm tổn thất thỏa mãn công thức sau:
T (cid:88)
T (cid:88)
= O
ft(γ(t)) − min α,β
1 λ
t=1
t=1
(cid:18) (cid:19) E(cid:16) (cid:0)GD + (cid:1) log(T ) (2.56) (cid:17) ft(α∗, β∗)
ft(α, β)
t=1
(cid:17) (cid:80)T E(cid:16) . Các tham số D là đường kính tập K,
2 min(4GD, η), ε = 1
η2D2 , ma trận
trong đó (α∗, β∗) =α,β G là chặn trên của ∥∇ft∥, learning rate ηt = 1
Hessian A0 = εIm+p
Chứng minh:
Chứng minh bao gồm 2 bước. Bước đầu tiên là ràng buộc regret của mô hình
với các công thức của hàm lồi đã chứng minh trên, hay có thể hiểu là so sánh
mất mát đã tích lũy của thuật toán đề xuất với mất mát tích lũy của mô hình
AR(p+m,0)x(P +M,0)s. Và bước thứ 2 là so sánh mất mát của mô hình đề xuất
với mô hình AR tốt nhất trong toàn bộ lịch sử, chứng minh giới hạn trên của
regret.
t
}T t=1 là một λ-exp-concave, nên
Bước 1: hàm mất mát loss function {ℓm,M
chúng ta có thể chứng minh rằng:
T (cid:88)
T (cid:88)
= O
ft
ft(γ)
ft(γ(t)) − min γ
1 λ
t=1
t=1
(cid:19) (cid:18) (cid:16) (cid:17) (cid:1) log(T ) (cid:0)GD + (2.57)
(đây là kết quả phần chứng minh trong chuyên đề 2)
P (cid:88)
q (cid:88)
Q (cid:88)
p (cid:88)
(α, β) =
βj
Bước 2: ta định nghĩa một đệ quy như sau:
αiXt−(i+js) +
X (all) t
t−(i+js)(α, β)(cid:1) (2.58)
i=1
j=1
j=1
i=1
(cid:0)Xt−(i+js) − X (all)
(α, β) là giá trị mất mát ở thời điểm t.
64
t
1 = X1, còn X (all)
với X (all)
t
= (cid:80)t−1
sẽ phụ thuộc vào các giá trị trước nó với một Ta thấy rằng một giá trị X (all)
t
i=1 ci(α, β)Xt−i (các hệ số ở đây sẽ
vector hệ số nào đó theo công thức X (all)
là ci(α, β).
t
Khi đó, ta có thể dùng hàm f (all) sau thay thế cho tổng mất mát ft trong mô
(α, β)(cid:1)
hình:
(α, β) = ℓt
t
f (all) t
(2.59) (cid:0)Xt, X (all)
t
p (cid:88)
P (cid:88)
q (cid:88)
Q (cid:88)
(α, β) =
βi,j
, ta xét một giá trị m, M ∈ N và xem xét phương trình: Quay trở lại với X (all)
αi,jXt−(i+js) +
X m,M t
t−(i+js) (α, β)(cid:1)
i=1
j=1
i=1
j=1
(cid:0)Xt−(i+js) − X m−i,M −i
(2.60)
(α, β) = Xt nếu m, M ≤ 0. Khi đó ta có thể tính được
t
với giá trị ban đầu là X m,M
(α, β)(cid:1)
hàm mất mát tương ứng với giá trị này dựa như sau:
(α, β) = ℓt
f m,M t
t
(2.61) (cid:0)Xt, X m,M
t
Hàm mất mát tính theo giá trị của X (all) tại thời điểm t và như vậy sẽ dễ
dàng để tính được hàm mất mát theo (p+m,0)x(P +M,0)s. Lúc đó, giá trị hàm
mất mát sẽ là nhỏ theo công thức tính ở phần ONS.
Khi đó, công thức sau sẽ cho chúng ta các tham số tốt nhất để dự báo các
t=1:
giá trị {Xt}T
T (cid:88)
ft(α, β)
t=1
(cid:17) E(cid:16) (2.62) (cid:0)α∗, β∗(cid:1) = arg min α,β
(nhắc lại rằng α có α0,0 = 0, αi,0 = ϕi, α0,j = Φj, αi,j = −ϕiΦj với i, j ̸= 0, còn β
α và β).
sẽ tương ứng với các tham số θ và Θ). (các giá trị α∗, β∗ là các giá trị tối ưu của
65
T (cid:88)
T (cid:88)
(γ) ≤
(α∗, β∗)
Từ bổ đề 4 (trình bày ở phần sau):
ℓm,M t
f m,M t
min γ
t=1
t=1
(2.63)
Ta thay vào công thức (2.57) ở bước 1 thì ta được:
T (cid:88)
T (cid:88)
GD +
log(T )
t (γ(t) − ℓm
t (α∗, β∗) = O f m
1 λ
t=1
t=1
(cid:33) (cid:32) (cid:16) (cid:17) (2.64)
Ngoài ra, theo bổ đề 6 (trình bày ở phần sau):
T (cid:88)
T (cid:88)
= O(1)
(α∗, β∗)
−
(α∗, β∗)
f (all) t
f m,n t
t=1
t=1
(cid:17) (cid:17) E(cid:16) E(cid:16) (2.65) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12)
(T LMmax)−1(cid:17)
(cid:16) . với min(m, M ) = max(q, Q) · log1−ε
Khi đó ta nhận được công thức sau:
T (cid:88)
T (cid:88)
(γ(t) −
(α∗, β∗)
= O
GD +
log(T )
ℓm,n t
f (all) t
1 λ
t=1
t=1
(cid:32) (cid:33) (cid:17) (cid:16) (cid:17) E(cid:16) (2.66)
Cuối cùng, theo bổ đề 7 (trình bày ở phần sau):
T (cid:88)
T (cid:88)
(α∗, β∗)
−
= O(1)
ft(α∗, β∗)
f (all) t
t=1
t=1
(cid:17) (cid:17) E(cid:16) E(cid:16) (2.67) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12)
thì ta sẽ thu được công thức cần chứng minh:
T (cid:88)
T (cid:88)
= O
ft(γ(t)) − min α,β
1 λ
t=1
t=1
(cid:18) (cid:19) E(cid:16) (cid:1) log(T ) (cid:0)GD + (2.68) (cid:17) ft(α∗, β∗)
t=1 thỏa mãn điều kiên ban
Bổ đề 4: với mọi m, M ∈ N và chuỗi thời gian {Xt}T
T (cid:88)
T (cid:88)
(γ) ≤
(α∗, β∗)
đầu của bài toán thì:
ℓm,M t
f m,M t
min γ
t=1
t=1
(2.69)
Chứng minh: theo cách đặt biến ở bên trên thì rõ ràng γ∗ = ci(α∗, β∗), ta có
66
T (cid:88)
T (cid:88)
(γ∗) =
(α∗, β∗)
thể viết lại công thức thành:
ℓm,M t
f m,M t
min γ
t=1
t=1
(2.70)
T (cid:88)
T (cid:88)
(γ) ≤
(γ)
Mà hiển nhiên là:
ℓm,M t
ℓm,M t
min γ
t=1
t=1
(2.71)
Nên ta có điều phải chứng minh.
Bổ đề 5: (bổ đề phụ dùng trong bổ đề 6 và 7)
t (α∗, β∗)(cid:12) (cid:12)
Biểu thức E (cid:0)(cid:12) (cid:1) là bị chặn bởi một dãy cấp số nhân (cid:12) ˆXt(α∗, β∗) − X ∞
t q+Qs
giảm dần. Cụ thể hơn thì:
t (α∗, β∗)(cid:12) (cid:12)
E (cid:0)(cid:12) (cid:1) ≤ ρ(1 − ε) (cid:12) ˆXt(α∗, β∗) − X ∞
với ρ > 0.
Chứng minh bổ đề 5: ta chứng minh bằng quy nạp.
Chọn giá trị ρ đủ lớn để bất đẳng thức đúng với t = 1, . . . , q + Qs.
t (α∗, β∗)|]
Giả sử bổ đề là đúng với 1, . . . , q + Qs, . . . , t − 1. Khi đó ở vòng lặp thứ t thì:
q (cid:88)
=E
i,j(Xt−(i+js) − εt−(i+js) − X ∞ β∗
(cid:35) E[| ˆXt(α∗, β∗) − X ∞ Q (cid:88)
i=0
j=0
(cid:12) (cid:12) t−(i+js)(α∗, β∗)) (cid:12) (cid:12) (cid:12)
q (cid:88)
Q (cid:88)
=E
i,j( ˆXt−(i+js)(α∗, β∗) − X ∞ β∗
(cid:35)
i=0
j=0
q (cid:88)
Q (cid:88)
≤
|β∗
i,j| · E[| ˆXt−(i+js)(α∗, β∗) − X ∞
t−(i+js)(α∗, β∗)|]
i=0
j=0
Q (cid:88)
q (cid:88)
t−(i+js) q+Qs
≤
|β∗
(cid:12) (cid:12) t−(i+js)(α∗, β∗)) (cid:12) (cid:12) (cid:12) (cid:34)(cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:34)(cid:12) (cid:12) (cid:12) (cid:12) (cid:12)
i,j|ρ(1 − ε)
j=0
i=0
(giả thiết quy nạp)
Q (cid:88)
q (cid:88)
t−(q+Qs) q+Qs
|β∗
≤
i,j|ρ(1 − ε)
j=0
i=0
t−(q+Qs)
q+Qs = ρ(1 − ε)
t q+Qs ,
≤(1 − ε)ρ(1 − ε)
67
Ta được điều phải chứng minh.
t=1 thỏa mãn điều kiện ban đầu của bài toán
Bổ đề 6: với chuỗi thời gian {Xt}T
thì:
T (cid:88)
T (cid:88)
(α∗, β∗)
= O(1)
(α∗, β∗)
−
f m,M t
f (all) t
(cid:17) (cid:17) E(cid:16) E(cid:16)
t=1
t=1
(cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12)
(T LMmax)−1(cid:17)
(cid:16) . với min(m, M ) = max(q, Q) · log1−ε
Chứng minh: chúng ta sẽ chứng minh bằng quy nạp rằng:
min(m,M ) max(q,Q)
(α∗, β∗) − X (all)
≤ 2Mmax · (1 − ε)
t
t
(cid:19) E (cid:18) (cid:12) (cid:12)X m,M (cid:12) (cid:12) (α∗, β∗) (cid:12) (cid:12)
(α∗, β∗) = Xt, nên:
t
(α∗, β∗) − X (all)
t
Dễ thấy với m = 0, M = 0 thì ta được định nghĩa của X m,M
≤
t
t (cid:12) (α∗, β∗) (cid:12) (cid:12)
≤
t
=
t
(cid:12) (α∗, β∗) (cid:12) (cid:12)
ˆXt(α∗, β∗) − X (all)
(cid:12) (cid:12)X m,M (cid:12) (cid:12) (cid:12)Xt − X (all) (cid:12) (cid:12) (cid:12)Xt − εt − X (all) (cid:12) (cid:12) ˆXt(α∗, β∗) − X (all) (cid:12) (cid:12) (cid:12) (α∗, β∗) (cid:12) (cid:12) + |εt| (cid:12) (α∗, β∗) (cid:12) (cid:12) + |εt|
t
Rõ ràng E(cid:0)|εt|(cid:1) < Emax < ∞ và theo bổ đề 5 thì (cid:12) (cid:12) (α∗, β∗) (cid:12) (cid:12) (cid:12) (cid:12)
bị chặn nên bổ đề là đúng với m, M = 0.
(m, M ). Khi đó:
Giả sử đã đúng với mọi cặp (m’,M’ ) sao cho m′ ≤ m, M ′ ≤ M và (m′, M ′) ̸=
68
(α∗, β∗) − X (all)
t
t
(cid:17)
Q (cid:88)
= E
i,j(Xt−(i+js) − εt−(i+js) − X (all) β∗
(cid:12) (α∗, β∗) (cid:12) (cid:12) (cid:33)
i=0
j=0
(cid:12) (cid:12) t−(i+js)(α∗, β∗)) (cid:12) (cid:12) (cid:12)
Q (cid:88)
q (cid:88)
= E
i,j( ˆXt−(i+js)(α∗, β∗) − X (all) β∗
(cid:33)
j=0
i=0
E(cid:16) (cid:12) (cid:12)X m,M (cid:12) (cid:32)(cid:12) q (cid:12) (cid:88) (cid:12) (cid:12) (cid:12) (cid:32)(cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) t−(i+js)(α∗, β∗)) (cid:12) (cid:12) (cid:12)
Q (cid:88)
q (cid:88)
|β∗
≤
ˆXt−(i+js)(α∗, β∗) − X (all)
i,j| · E
(cid:19)
j=0
i=0
(cid:18) (cid:12) (cid:12) (cid:12) (cid:12) t−(i+js)(α∗, β∗) (cid:12) (cid:12)
q (cid:88)
Q (cid:88)
min(m−q,M −Q) max(q,Q)
|β∗
≤
i,j|2Emax(1 − ε)
i=0
j=0
(định nghĩa)
q (cid:88)
Q (cid:88)
min(m−q,M −Q) max(q,Q)
≤
|β∗
i,j|2Emax(1 − ε)
i=0
j=0
min(m−q,M −Q)
min(m−q,M −Q)
max(q,Q) +1
≤ (1 − ε)2Emax(1 − ε)
max(q,Q) = 2Emax(1 − ε)
min(m,M ) max(q,Q)
≤ 2Emax(1 − ε)
(giả thiết quy nạp)
Khi đó, ta có:
(α∗, β∗) − X m,M
t
t
=
− E
(α∗, β∗)
(α∗, β∗)
ℓt
ℓt
Xt, X (all) t
Xt, X m,M t
≤ E
(α∗, β∗)
(α∗, β∗)
− ℓt
Xt, X (all) t
Xt, X m,M t
E (cid:12) (α∗, β∗) (cid:12) (cid:12) (cid:19)(cid:12) (cid:12) (cid:12) (cid:12) (cid:18) (cid:18) (cid:17)(cid:19) (cid:16) (cid:18) (cid:12) (cid:12)X (all) (cid:12) (cid:16) E (cid:17)(cid:19)(cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:33) (cid:32) (cid:17) (cid:16) (cid:16)
(cid:12) (cid:12) (cid:12)ℓt (cid:17)(cid:12) (cid:12) (cid:12)
(bất đằng thức Jenssel)
(α∗, β∗) − X (all)
≤ L · E
t
t
(cid:19)
min(m,n) max(q,Q)
≤ L · 2Emax(1 − ε)
(cid:12) (α∗, β∗) (cid:12) (cid:12) (cid:18) (cid:12) (cid:12)X m,M (cid:12)
(T LEmax)−1(cid:17)
(cid:16) thì ta sẽ có điều Sau đó, ta chọn min(m, M ) = max(q, Q) · log1−ε
69
phải chứng minh:
T (cid:88)
T (cid:88)
= O(1)
(α∗, β∗)
−
(α∗, β∗)
f (all) t
f m,M t
(cid:17) (cid:17) E(cid:16) E(cid:16)
t=1
t=1
(cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12)
t=1 thỏa mãn điều kiên ban đầu của bài toán
Bổ đề 7: với chuỗi thời gian {Xt}T
thì:
T (cid:88)
T (cid:88)
= O(1)
(α∗, β∗)
−
ft(α∗, β∗)
f (all) t
(cid:17) (cid:17) E(cid:16) E(cid:16)
t=1
t=1
(cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12)
Chứng minh: ta có:
T (cid:88)
T (cid:88)
(α∗, β∗)
−
f (all) t
t=1 (cid:18)
t=1 (cid:17)(cid:19)
− E
=
(α∗, β∗)
ℓt
Xt, Xt − εt
ℓt
Xt, X (all) t
≤ E
(α∗, β∗)
− ℓt
Xt, Xt − εt
Xt, X (all) t
(cid:17) E(cid:16) E(cid:16) (cid:17) ft(α∗, β∗) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:18) (cid:16) (cid:16) E (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:17)(cid:19)(cid:12) (cid:12) (cid:12) (cid:12) (cid:19) (cid:16) (cid:17) (cid:16)
(cid:17)(cid:12) (cid:12) (cid:12)
t q+Qs
≤ LE
(α∗, β∗) − εt)
t
(cid:19)
≤ Lρ(1 − ε
(cid:18) (cid:12) (cid:12) (cid:12)ℓt (cid:18) (cid:12) (cid:12)Xt − X (all) (cid:12) (cid:12) (cid:12) (cid:12)
(theo bổ đề 5)
Từ đó, ta có được bất đẳng thức cần chứng minh.
70
BẢNG SO SÁNH MỘT SỐ SỰ KHÁC NHAU GIỮA MÔ HÌNH SARIMA
TRỰC TUYẾN VÀ TRUYỀN THỐNG.
chú thích
Truyền thống Có từ ban đầu
m đc tính từ q
φ, θ tính một lần γt được tính lại liên tục
trực tuyến Dữ liệu Cập nhật liên tục Siêu tham số p, d và q cố định d,p và m cố định Tham số
Bảng 2.2: So sánh các đặc điểm khác nhau của mô hình SARIMA giữa mô hình máy học truyền thống và mô hình máy học trực tuyến.
71
2.6. Mô hình RNN trực tuyến
2.6.1. Một số vấn đề trong mô hình RNN
Như các mô hình mạng thần kinh nhân tạo phổ biến thì trong các chương
trình của mạng thần kinh nhân tạo hồi quy RNN cũng có sử dụng 2 khái niệm
là batch và batch size. Một điều dễ hiểu khi chúng ta cần phải sử dụng 2 khái
niệm batch và batch size này, vì chúng ta có thể làm việc với các tập dữ liệu rất
lớn.
Với mỗi lần duyệt qua toàn bộ dữ liệu của tập huấn luyện (còn được gọi là 1
epoch) thì nếu với tập dữ liệu quá lớn, thời gian chạy máy sẽ là vấn đề cần giảm
xuống. Để xử lý vấn đề này, chúng ta có thể thực hiện một phương pháp là chia
nhỏ bộ dữ liệu ra và đưa dần từng phần vào trong mô hình. Đó chính là việc
chúng ta dùng batch, tức là từng "khung hình" nhỏ của dữ liệu, được tách ra từ
trong bộ dữ liệu ban đầu. Mô hình sẽ chạy hoàn chỉnh với mỗi "khung hình" dữ
liệu này.
Siêu tham số (hyperparameter ) batch size là kích thước của từng batch đó.
Trong trường hợp batch = 1 thì có nghĩa là dữ liệu của chúng ta không được
chia, và dĩ nhiên khi đó thì batch size bằng với kích thước bộ dữ liệu của chúng
ta.
Hãy coi một batch giống như một vòng lặp lặp đi lặp lại trên các mẫu của
batch dữ liệu và đưa ra dự đoán. Vào cuối mỗi vòng lặp này, các dự đoán được
so sánh với các biến đầu ra dự kiến và một sai số được tính toán. Từ sai số này,
thuật toán sẽ cập nhật để cải thiện mô hình.
Khi tất cả các mẫu trong tập huấn luyện được sử dụng để tạo một batch, thuật
toán learning được gọi là giảm gradient theo loạt (batch gradient descent). Khi
batch có kích thước chỉ gồm một mẫu duy nhất, thuật toán học tập được gọi là
giảm gradient ngẫu nhiên (stochastic gradient descent). Khi batch size lớn hơn
một mẫu và nhỏ hơn kích thước của tập dữ liệu đào tạo, thuật toán học tập
72
• Batch Gradient Descent: Batch size = Kích thước của tập huấn luyện
• Stochastic Gradient Descent: Batch size = 1
• Mini-batch gradient descent: 1 được gọi là mini-batch gradient descent. luyện Trong trường hợp mini-batch gradient descent, batch size phổ biến là ước số của kích thước bộ dữ liệu hoặc một cách lấy khác là lấy các giá trị là số mũ của 2 như 16, 32, vv... Với trường hợp kích thước bộ dữ liệu chia ra cho từng batch bị lẻ thì đơn giản chỉ là batch cuối cùng có ít dữ liệu hơn. Chúng ta sẽ xem xét vấn đề hồi quy dựa trên mô hình RNN trong "khung hình" (batch) cho học trực tuyến (hoặc cũng có thể gọi một cách trực quan hơn nhưng không hoàn toàn chính xác là tối ưu hóa trực tuyến). Trong mô hình học trực tuyến này, dữ liệu được giả định là sẽ có sẵn tính mùa ("squentially"). Và quy trình học trực tuyến sẽ tiếp tục thông qua việc cập nhật mô hình khi các dữ liệu mới được cập nhật. Việc có tính mùa của dữ liệu được coi là khá quan trọng khi chia dữ liệu gốc thành các batch. Trong môi trường thực tế (với ý nghĩa là hỗn loạn, không có quy tắc), tính không dừng của dữ liệu hoặc thậm chí dữ liệu là "nhiễu", không thể có giả định thống kê nào có thể được đưa ra trên dữ liệu đó. Do đó, quy trình máy học được mô hình hóa như một trò chơi giữa một người học (ở đây một thuật toán máy học) và một môi trường (có thể là đối nghịch), nơi thuật toán có nhiệm vụ dự đoán các tham số mô hình từ một tập lồi. • Đầu tiên, thuật toán máy học đưa ra dự đoán của mình về các tham số của Trong hoàn cảnh này: • Sau đó, môi trường (có thể là đối nghịch) chọn một hàm mất mát. mô hình. • Cuối cùng, thuật toán máy học quan sát sự mất mát của nó và thực hiện 73 một hành động (tức là cập nhật các thông số mô hình) để giảm thiểu tổn thất tích lũy của nó. Quy trình này được lặp lại ở mỗi vòng lặp t cho đến khi tất cả các giá trị của dữ liệu được sử dụng. Bây giờ, chúng ta sẽ xem xét các phương trình của mạng thần kinh nhân tạo hồi quy RNN. Mô hình RNN được xử lý bằng các phương trình sau đây (khi dùng các phương trình này thì nó được gọi là chuẩn Elman): Whht−1 + Uhxt ht = σh (cid:19) (cid:18) (2.72) W ⊤ ˆyt = σy y ht (cid:18) (cid:19) (2.73) trong đó Wh ∈ Rnh×nh và U ∈ Rnh×nx là các ma trận trọng số của các hidden
layers, còn Wy ∈ Rnh là vector trọng số của các outputs. Lưu ý rằng ở đây ta có ∥Wt∥ ≤ 1. Để tiện cho việc xây dựng và chứng minh thuật toán, chúng ta sẽ dùng các giá trị của các vector là các giá trị nằm trong một đoạn cố định. Việc này là dễ dàng khi chúng ta có thể dùng scale để xử lý các vector đầu vào và đầu ra. Vector của các hidden state thì không cần tiền xử lý. √ √ Vector ht ∈ [−1; 1]nh là vector của các hidden state, vector xt ∈ [−1; 1]nx là nh; nh] là output. input, và vector ˆyt ∈ [− Trong trường hợp này của chúng ta thì hàm chuyển đổi σh sẽ lấy là hàm tanh. Trong công thức này không sử dụng các giá trị bias, chúng ta sẽ làm rõ nó ở các phần sau. 2.6.2. Xây dựng cơ sở thuật toán trực tuyến Các mô hình trực tuyến có thể làm việc với dữ liệu được cập nhật liên tục, còn các mô hình truyền thống yêu cầu toàn bộ dữ liệu để ước lượng tham số 74 của mô hình. Vì vậy, trong trường hợp dữ liệu không đầy đủ từ đầu, dữ liệu mới được liên tục cập nhập, thì mô hình trực tuyến sẽ phát huy ưu thế của mình so với các mô hình truyền thống. Chúng ta cần xây dựng mộ mô hình máy học trực tuyến, tức là các giá trị mới của tập dữ liệu được cập nhật liên tục. Do vậy chúng ta cần phải cập nhật mô hình liên tục dựa trên các mẫu mới này. Mô hình giờ đây được đưa ra giống như là một trò chơi giữa người chơi (ở đây là thuật toán của chúng ta) và môi trường. Chúng ta chỉ có rất ít thông tin về các dữ liệu đầu vào: ước lượng các tham số của mô hình dựa trên 1 tập lồi (convex set). Mô hình của chúng ta sẽ lặp đi lặp lại các bước sau: 1. Thuật toán đưa ra một bộ tham số ước lượng. 2. Môi trường sẽ đưa ra giá trị mất mát tương ứng. 3. Thuật toán sẽ dựa vào giá trị mất mát mà điều chỉnh lại tham số của mô hình. Quá trình lặp này sẽ tiếp diễn cho tới khi tất cả tập dữ liệu đều được sử dụng hết. h và W t h, U t Ta ký hiệu các giá trị W t y là các trọng số đã học được tới cặp giá
trị input/output thứ t-1. Để sử dụng trong các chứng minh sau này, chúng ta sẽ
(cid:1).
vector hóa các ma trận trọng số trên, và ký hiệu θt = vec(cid:0)W t h h (cid:1) và µt = vec(cid:0)U t Khi đó thì chúng ta sử dụng ht (phụ thuộc vào θt và µt) để thu được giá trị tiếp theo ht+1 bằng công thức: ˆyt = W ⊤ y ht
(cid:16) (2.74) ht+1 = tanh Whht + Uhxt+1 (cid:17) (2.75) với các vector θt và µt chạy từ bước lặp đầu tiên tới bước lặp thứ t. Chúng ta có thể mô tả các bước như hình. 75 Cài đặt của thuật toán sẽ giống như là bên trên đã trình bày (sơ bộ), ở đây chúng ta sẽ trình bày rõ ràng hơn: 1. Tại vòng lặp thứ t (chúng ta sẽ gọi là thời điểm t thì thuật toán sẽ đưa ra √ √ tham số ước lượng của mô hình, tức là các vector θt và µt. nh; xt ∈ [−1; 1]nx và một vector trọng số tương ứng với yt là W t y∥ ≤ 1). nh], một giá trị đầu vào
y (với ∥W t 2. Môi trường sẽ trả lại một giá trị yt ∈ [− 3. Thuật toán sẽ tính giá trị mất mát dựa theo công thức sau: (cid:32)Lt(θt, µt) = (yt − ˆyt)2 (2.76) = yt − W t
(cid:124) yht(θt, µt)
(cid:123)(cid:122)
(cid:125)
ˆyt (cid:18) (cid:19)2 Vòng lặp này sẽ được thực hiên T lần, với T là số lượng giá trị đầu vào (số lượng input). Theo Hazan et al. [21] thì bài toán tính regret của các bài toán lồi là bài toán NP-khó, không thể đưa ra được một thuật toán tối ưu chính xác. Vì vậy ở đây, Hazan et al.[21] đã tính toán các local regret, dự đoán các điểm có độ dốc trung bình nhỏ (small gradient on average). Đầu tiên, chúng ta xem xét các công thức của đạo hàm riêng của ℓt(θ, µ) theo từng biến θ và µ: = θ − η θ − ΠKθ ∂Kθℓt(θ, µ)
∂θ 1
η ∂ℓt(θ, µ)
∂θ (cid:32) (cid:33) (cid:104) (cid:105) (2.77) = µ − η µ − ΠKµ ∂Kµℓt(θ, µ)
∂µ 1
η ∂ℓt(θ, µ)
∂µ (cid:32) (cid:33) (cid:104) (cid:105) (2.78) ΠKθ[·] và ΠKµ[·] là các phép chiếu trực giao lên Kθ và Kµ. với ∂K là toán tử đạo hàm riêng trên tập lồi K, η là learning rate. Còn ký hiệu Bây giờ, một time-smoothed loss ở thời điểm t, tham số hóa bởi một batch-size w ∈ [T ] sẽ được định nghĩa theo công thức tính như sau: w−1
(cid:88) 76 Lt,w(θ, µ) := ℓi−1(θ, µ) 1
w i=0 (2.79) hay nhìn một cách trực quan thì nó là trung bình của giá trị mất mát trong batch được chọn. 2 (cid:33) T
(cid:88) Khi đó, local regret được định nghĩa như sau: Rw(T ) := ∂KθLt,w(θt, µt)
∂θ t=1 (2.80) (cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:32) (cid:12)
(cid:12)
(cid:12)
(cid:12) Mục đích của các chứng minh lý thuyết của chúng ta ở đây là chỉ ra được chặn trên của Rw(T ) để đảm bảo sự hội tụ của thuật toán đối với các trọng số tối ưu cục bộ (locally optimum weights). Tính chất Lipschitz và Smoothness Trong phần này, chúng ta sẽ suy ra các tính chất Lipschitz và Smoothness của hàm time-smoothed loss Lt,w(θ; µ). Theo định nghĩa thì Lt,w(θ; µ) là trung bình của các giá trị mất mát trong ht(θ, µ). Đây là một hàm đệ quy, và khi học trực tuyến, nó có thể sẽ rất lớn, dẫn batch được chọn, trong đó giá trị mất mát là hàm số phụ thuộc vào θ và µ trong tới các đạo hàm có thể lớn tới vô hạn, trong khi các thuật toán máy học trực tuyến cần có các hàm mất mát với gradient hữu hạn để có thể đảm bảo tính hội tụ và tính toán được. Như vậy chúng ta cần phân tích sự phụ thuộc của Lt,w(θ; µ) vào θ và µ, từ đó có thể suy ra được các điều kiện để Lt,w(θ; µ) bị giới hạn (có chặn trên) và lập được công thức chính xác nhất của hàm số smoothness Lt,w(θ; µ) này. Đầu tiên, chúng ta cần xem xét các tính chất Lipschitz của ht(θ, µ) và cùng với nó là xem xét các ảnh hưởng của đệ quy dài vô hạn lên Lt,w(θ; µ). ∥W ∥ ≤ λ và ∥U ∥ ≤ λ với λ ∈ [0; 1). Khi đó thì Lt,w(θ, µ) sẽ có Lipschitz và Định lý 5.1: cho θ = vec(W ) và µ = vec(U ), trong đó W và U thỏa mãn 77 √ (1) smoothness: ≤ βθ (2) (2.81) với βθ = ≤ βµ với βθ = (3) (2.82) ≤ βθ ∂2Lt,w(θ, µ)
∂θ2
∂2Lt,w(θ, µ)
∂µ2
∂2Lt,w(θ, µ)
∂θ∂µ 4nh
nh
(1 − λ)3
√
4nx
nh
(1 − λ)3
√
4nh
nx
(1 − λ)3 (2.83) với βθ,µ = (cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12) Chứng minh: trước hết, ta chứng minh bổ đề sau: ht(θ, µ) và ht(θ′, µ′) là các vector của hidden layers thu được tại vòng lặp thứ t
của mô hình RNN. Khi đó, nếu ht(θ, µ) = ht(θ′, µ′) thì: √ t−1
(cid:88) λi(cid:0)√ Bổ đề 8: cho W, W’, U, U’ thỏa mãn ∥W ∥, ∥W ′∥ ≤ λ và ∥U ∥, ∥U ′∥ ≤ λ. Với nx∥µ − µ′∥(cid:1) ∥ht(θ, µ) − ht(θ′, µ′)∥ ≤ nh∥θ − θ′∥ + i=0 (2.84) Chứng minh: Gọi ht(θ′, µ) là vector ở vòng lặp thứ t: t θ + I ⊗ x⊤ t+1µ(cid:1) ht+1 = tanh (cid:0)W ht + U xt+1
= tanh (cid:0)I ⊗ h⊤
= tanh (cid:0)Htθ + Xt+1µ(cid:1) (cid:1) trong đó ta sử dụng ký hiệu ⊗ cho phép nhân ma trận Kronecker và Ht = I ⊗ h⊤
t ,
Xt = I ⊗ x⊤
t . Khi ta sử dụng công thức trên cho ma trận W ′ và U thì ta sẽ thu được ht(θ′, µ). h1(θ′, µ) = h1(θ, µ) = h1(θ′, µ′) Dễ thấy rằng: Từ đó, ta có: ∥ht(θ, µ) − ht(θ′, µ′)∥ ≤ ∥ht(θ, µ) − ht(θ′, µ)∥ + ∥ht(θ′, µ) − ht(θ′, µ′)∥ (2.85) Ta sẽ chứng minh từng phần một của bất đẳng thức trên. 78 ∥ht(θ, µ) − ht(θ′, µ)∥ = ∥ tanh(W ht−1(θ) + U xt) − tanh(W ′ht−1(θ′) + U xt)∥ (2.86) ≤ ∥ tanh(W ht−1(θ) + U xt) − tanh(W ht−1(θ′) + U xt)∥+ + ∥ tanh(W ht−1(θ′) + U xt) − tanh(W ′ht−1(θ′) + U xt)∥ Đầu tiên, ta có: √ (2.87) ≤ λ∥ht−1(θ, µ) − ht−1(θ′, µ)∥ + nh∥θ − θ′∥ (2.88) t−1
(cid:88) λi√ ≤ i=0 (cid:16) (2.89) (cid:17)
nh∥θ − θ′∥ = ∥diag(cid:0) tanh′(W ht + U xt−1)(cid:1) · W ∥ ∂ tanh(W ht + U xt+1)
∂ht Ta nhận được công thức (2.88) từ công thức (2.87) bời vì: (cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12) ≤ ∥diag(cid:0) tanh′(W ht + U xt−1 ≤ λ (cid:1)∥ · ∥W ∥ (2.90) (cid:16) (cid:17) Áp dụng tanh′(·) = 1 − tanh2(·), tanh′(·) ≤ 1 và ∥W ∥ ≤ λ = ∥diag(cid:0) tanh′(Htθ + Xt−1µ)(cid:1) · Ht∥ ∂ tanh(Htθ + Xt+1µ)
∂θ và: ≤ ∥diag(cid:0) tanh′(Htθ + Xt−1µ(cid:1)∥ · ∥Ht∥ √ ≤ (cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12) nh (2.91) √ nh (cid:16) (cid:17) Áp dụng tanh′(·) ≤ 1 và ∥Ht∥ ≤ ∥ht(θ′, µ) − ht(θ′, µ′)∥ = ∥ tanh(W ′ht−1(µ) + U xt) − tanh(W ′ht−1(µ′) + U ′xt)∥ Tương tự như vậy, ta cũng có thể có được bất đẳng thức sau: ≤ ∥ tanh(W ′ht−1(µ) + U xt) − tanh(W ′ht−1(µ′) + U xt)∥+ (2.92) + ∥ tanh(W ′ht−1(µ′) + U xt) − tanh(W ′ht−1(θ′) + U ′xt)∥ 79 √ (2.93) ≤ λ∥ht−1(θ′, µ) − ht−1(θ′, µ′)∥ + nh∥µ − µ′∥ (2.94) t−1
(cid:88) λi√ ≤ nx∥µ − µ′∥ i=0 (cid:16) (cid:17) (2.95) Kết hợp 2 bất đẳng thức (2.89) và (2.95), ta sẽ được điều cần chứng minh của bổ đề. Chứng minh định lý 5.1: w−1
(cid:88) Lt,w(θ, µ) = ℓt−1(θ, µ) 1
w i=0 Nhắc lại công thức: Khi ta xem xét đạo hàm của ℓt(θ, µ) đối với t ∈ [T ] bất kỳ, ta được kết quả: − = − (dt − ˆdt)W T (dt − ˆd′ t)W T ∂ℓt(θ, µ)
∂θ ∂ℓt(θ′, µ)
∂θ ∂h′
τ
∂θ ∂hτ
∂θ ∂ht
∂hτ ∂h′
t
∂h′
τ (cid:19) (cid:18) t (cid:18) t (cid:88) (cid:88) τ =1 τ =1 (cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:19)(cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12) √ t
(cid:88) − ≤ 2 (2.96) nh ∂h′
τ
∂θ ∂hτ
∂θ ∂ht
∂hτ ∂h′
t
∂h′
τ τ (2.97) (cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12) (cid:12)
(cid:12)
(cid:12)
(cid:12)
(cid:12) √ √ nx nh nh 4nh β 2.6.3. Mô tả thuật toán (1−λ)3 và βθ,µ = 4nh (1−λ)3 , βθ = 4nx
thì ta sẽ có: √ √ 16 16 nh + Định lý 5.2: lấy β là maximum trong các giá trị hằng số smoothness βθ =
√
(1−λ)3 . Chọn learning rate η thỏa mãn 0 < η < 1 Rw(T ) ≤ nhT
η T
w η (2.98) Ta xem xét các bổ đề sau đây: Bổ đề 9: Cho hàm số f là một hàm số β smooth trên Rn. Khi đó với mọi 80 Thuật toán 2.5 RNN trực tuyến giảm gradient Tham số: Learning rate η ∈ [0; 1)
batch-size w ∈ [T ]
λ ∈ [0; 1) Kθ = {vec(W ) sao cho ∥W ∥ ≤ λ}
Kθ = {vec(U ) sao cho ∥U ∥ ≤ λ}
KWy = {Wy sao cho ∥Wy∥ ≤ 1} Khởi tạo θ1, µ1, (Wy)1 và h0
Lấy for t = 1 to N do Tính θt, µt và (Wy)t
Nhận giá trị xt và tính ˆyt
Nhận giá trị thực tế yt và tính giá trị mất mát ℓt(θt, µt)
Cập nhật (Wy)t+1 = ΠKWt θt+1 = θt − η ∂Kθ Lt,w(θt,µt)
∂θ
∂Kµ Lt,w(θt,µt)
µt+1 = µt − η
∂µ
(cid:20)
(Wy)t − 1
η ∂Lt,w(θt,µt)
∂(Wy)t (cid:21) x, y ∈ Rn thì: |f (x) − f (y) − ∇f (y)⊤(x − y)| ≤ ∥x − y∥2 endfor; β
2 (2.99) Chứng minh bổ đề 9 Chúng ta sẽ biểu diễn hiệu f (x) − f (y) dưới dạng một |f (x) − f (y)−(y)⊤(x − y)| = tích phân để chứng minh: (cid:90) 1 (cid:12)
(y + t(x − y))⊤(x − y)dt − ∇f (y)⊤(x − y)
(cid:12)
(cid:12) ≤ ∥∇f (y + t(x − y)) − ∇f (y)⊤(x − y)∥ · ∥x − y∥dt ≤ ≤ 0
(cid:90) 1 ≤ βt∥x − y∥2dt = = 0
∥x − y∥2 β
2 (cid:12)
(cid:12)
=
(cid:12)
0
(cid:90) 1 81 f : K → R là một hàm khả vi. Khi đó, với mọi x ∈ R thì: Bổ đề 10: Với K ∈ Rn là một tập convex, hệ số η > 0. Giả sử một hàm ⟨∇f (x), ∇K,ηf (x)⟩ ≥ ∥∇K,ηf (x)∥2 (2.100) K(u). Khi đó: − = ⟨∇f (x), ∇K,ηf (x)⟩
η2 ∥∇K,ηf (x)∥2
η2 =⟨u − x, u′ − x⟩ − ⟨u′ − x, u′ − x⟩ =⟨u − u′, u′ − x⟩ ≥ 0 (theo Pythagorean) Chứng minh bổ đề 10 Lấy u = x − η∇f (x) và u′ = (cid:81) Chứng minh định lý 2 Lt,w(θt+1, µ) − Lt,w(θt, µ) Với 1 giá trị µ ∈ Kµ cố định nào đó, ta xét hiệu sau: + ≤ , θt+1 − θt βθ
2 (cid:29) (2.101) (cid:13)
(cid:13)θt+1 − θt (cid:13)
2
(cid:13) + , ≤ −η βη2
2 ≤ −η + (cid:29) (2.102) (cid:28)∂Lt,w
∂θ
(cid:28)∂Lt,w
∂θ (cid:13)
(cid:13)
(cid:13)
(cid:13) (cid:13)
2
(cid:13)
(cid:13)
(cid:13) ∂KθLt,w
∂θ βη2
2 ∂KθLt,w
∂θ ∂KθLt,w
∂θ
(cid:13)
2
(cid:13)
(cid:13)
(cid:13) = − η − βη2
2 ∂KθLt,w
∂θ (2.103) (cid:13)
(cid:13)
(cid:13)
(cid:13) (cid:13)
(cid:13)
(cid:13)
(cid:13)
(cid:18) ∂KθLt,w
∂θ
(cid:13)
2
(cid:13)
(cid:13)
(cid:13)
(cid:19)(cid:13)
(cid:13)
(cid:13)
(cid:13) (cid:13)
2
(cid:13)
(cid:13)
(cid:13) Trong đó bất đẳng thức (2.101) nhận được từ bổ đề 2, bất đẳng thức (2.102) nhận được từ định lý 1, còn bất đẳng thức (2.103) nhận được từ bổ đề 3. Khi đó, ta có: η − ≤ βη2
2 ∂KθLt,w
∂θ (cid:18) ≤Lt,w(θt, µ) − Lt+1,w(θt+1, µ) + Lt+1,w(θt+1, µ) − Lt,w(θt+1, µ) √
4 ≤Lt,w(θt, µ) − Lt+1,w(θt+1, µ) + nh
w (cid:19)(cid:13)
(cid:13)
(cid:13)
(cid:13) (cid:13)
2
(cid:13)
(cid:13)
(cid:13) √ √ 82 nh, nh]. Ta có bất đẳng thức trên vì Lt,w ∈ [− Như vậy với T vòng lặp, ta có: ≤ η − βη2
2 ∂KθLt,w
∂θ (cid:18) (cid:19) T (cid:88) t=1 √ nh 4T
√ ≤L1,w(θ1, µ) − LT +1,w(θT +1, µ) + nh √ 4T √ nh ≤4 (cid:13)
(cid:13)
(cid:13)
(cid:13) (cid:13)
2
(cid:13)
(cid:13)
(cid:13) nh + (2.104) w
β thì (cid:0)η − βη2 2 2 , khi đó, ta có thể viết (2.104) (cid:1) > η Mà ta thấy rằng với 0 < η < 1 √
8 √
8 T
(cid:88) ≤ + dưới dạng rút gọn như sau: ∂KθLt,w
∂θ nh
η nh
η T
w t=1 (2.105) (cid:13)
(cid:13)
(cid:13)
(cid:13) (cid:13)
2
(cid:13)
(cid:13)
(cid:13) µ phù hợp cho giá trị θ ∈ Kθ. Như vậy ta có: √
8 √
8 T
(cid:88) + ≤ Vế phải giờ đã không còn phụ thuộc vào θ. Chúng ta có thể thay một giá trị ∂KµLt,w
∂µ nh
η nh
η T
w t=1 (2.106) (cid:13)
(cid:13)
(cid:13)
(cid:13) (cid:13)
2
(cid:13)
(cid:13)
(cid:13) √ √ 16 16 nh + Rw(T ) ≤ nhT
η T
w η Cộng 2 vế của (2.105) và (2.106), ta được điều phải chứng minh: 83 BẢNG SO SÁNH MỘT SỐ SỰ KHÁC NHAU GIỮA MÔ HÌNH RNN TRỰC TUYẾN VÀ TRUYỀN THỐNG. chú thích , V (y)
t , U (h)
t W (h)
t
được tính lại liên tục Truyền thống Trực tuyến
Có từ ban đầu Cập nhật liên tục
Wh, U h, V y Dữ liệu
Tham số
Tính tham số tính một lần Bảng 2.3: So sánh các đặc điểm khác nhau của mô hình RNN giữa mô hình
máy học truyền thống và mô hình máy học trực tuyến. 84 Trong thực nghiệm này, chúng ta sẽ xem xét mô hình SARIMA online, được ứng dụng trên bộ dữ liệu thực tế là dữ liệu phụ tải điện. Để so sánh mô hình SARIMA online được đề xuất với các mô hình khác, chúng ta sẽ sử dụng bộ dữ liệu phụ tải điện (hiện đang được sử dụng cho các mô hình dự báo theo mùa). Kết quả thử nghiệm của các mô hình so sánh khác đã cho thấy rằng hiệu suất mô hình được đề xuất là tốt hơn khi mà các mô hình sử dụng cùng một bộ dữ liệu. Lý do cho kết quả tốt hơn là mô hình máy học trực tuyến cập nhật mô hình thích ứng bằng cách thêm dữ liệu mới liên tục trong quá trình học. 2.7.1. Dữ liệu so sánh: dữ liệu Australia Các mô hình sử dụng bộ dữ liệu của Úc (về phụ tải điện) để so sánh. Dữ liệu này có sẵn trên website https://www.aemo.com.au/. Tập dữ liệu này chứa các giá trị được đo hàng ngày đối với các giá trị phụ tải điện được thu thập từ ngày 21 tháng 5 năm 2019, lúc 1:01 sáng mỗi ngày (xem Hình 2.3). 2.7.2. Dữ liệu phụ tải điện miền bắc Việt Nam Tập dữ liệu này chứa các giá trị đo phụ tải điện vào các ngày làm việc (thứ Hai đến thứ Sáu) từ ngày 1 tháng 1 năm 2015 đến ngày 30 tháng 8 năm 2019. Mỗi giá trị của dữ liệu được thu thập cách nhau 1 giờ, bao gồm 29208 giá trị. Tập dữ liệu được biểu diễn dưới dạng bảng. Mỗi mục nhập tương ứng với một ngày và các cột biểu thị giờ cụ thể. 85 Trong nghiên cứu này, chúng ta coi 24 cột này là 24 chuỗi thời gian riêng biệt và chạy mô hình với 24 chuỗi thời gian này như 24 kiểm nghiệm độc lập. Các kết quả được đánh giá riêng lẻ. Trong phần này, các kết quả của các lần chạy mô hình sẽ được trình bày, đánh giá (so sánh). Từ đó đưa ra các kết luận đối với mô hình đề xuất. 2.8.1. Dữ liệu so sánh: dữ liệu Australia Trong mục này sẽ hiển thị kết quả dự báo trong bảng 2.4. Trong thực nghiệm này, các tiêu chí dùng để so sánh được sử dụng là các tiêu chí MAPE, MSE (hoặc RMSE), và một số mô hình là thêm tiêu chí MAE. Trong so sánh này, chúng ta sẽ sử dụng bộ dữ liệu ở Australia và so sánh kết quả của mô hình được đề xuất với các mô hình được đề xuất bởi Ruiz và đồng nghiệp [39] (xây dựng lại) và mô hình do Xu và đồng nghiệp đề xuất [48] (xây dựng lại). Bảng 2.4: Kết quả của mô hình đề xuất và so sánh với một số mô hình khác
trên bộ dữ liệu của Australia RMSE MAE Năm (2014)
(2019) [39]
[48] Mô hình
0 SARIMA
1 SARIMA-ANN
2 SARIMA-SVR
3 Mô hình đề xuất MAPE(%)
3.1502%
0.5143% 136.0000
0.6100%
3635.8832
73.7299
0.4404
3635.8832
73.7299 3635.8832
0.4404% 73.7299
0.4404 Chúng ta chạy mô hình 30 lần và lấy giá trị trung bình. Kết quả được trình bày trong Hình 2.4 và Hình 2.5. Mô hình mới đã mang lại kết quả tốt hơn so với một số mô hình truyền thống 86 Hình 2.3: Dữ liệu của Australia. và một số mô hình đã được giới thiệu trong những năm gần đây. Trong Bảng 2.5, đối với tiêu chí MAPE, kết quả của mô hình đề xuất là 0,6696%, nhỏ nhất trong tất cả các mô hình dùng để so sánh khác. Điều này cho thấy kết quả tuyệt vời của mô hình đề xuất trong dự báo cho chuỗi thời gian. Kết quả này của mô hình đề xuất tốt hơn 713% so với mô hình SARIMA (3,1502%), tốt hơn 16% so với mô hình của Ruiz và đồng nghiệp [39] (0,5143%), và tốt hơn 38% so với mô hình tốt nhất của Xu và đồng nghiệp [48]. Theo tiêu chí RMSE, kết quả của mô hình đề xuất là 73,7299, tốt hơn 84% so với mô hình của Ruiz và đồng nghiệp (136,00) [39]. 87 Hình 2.4: Thực nghiệm mô hình trực tuyến: Kết quả của mô hình SARIMA-
ONS khi chạy dữ liệu của Australia (toàn bộ dữ liệu). Hình 2.5: Thực nghiệm mô hình trực tuyến: Kết quả của mô hình SARIMA-
ONS khi chạy dữ liệu của Australia (một số giá trị đầu tiên của tập dữ liệu con
dùng để kiểm tra testing set). 88 2.8.2. Dữ liệu phụ tải điện của miền bắc Việt Nam Đối với bộ dữ liệu phụ tải điện miền Bắc Việt Nam, rõ ràng là có một thành phần có tính mùa trong năm. Vì có khoảng 250 ngày làm việc trong một năm nên chúng ta sẽ chọn s = 250. Đối với mỗi chuỗi thời gian, 80% được sử dụng làm dữ liệu huấn luyện và 20% được sử dụng để kiểm tra. Mỗi chuỗi thời gian được chia theo thứ tự thời gian. Đối với lựa chọn siêu tham số, chúng ta sẽ thực hiện tìm kiếm dạng lưới với pmax = 5 và Pmax = 3 và mô hình đã chọn được so sánh với mô hình (1, 1, 0) × (1, 0, 0)250. Các mô hình đã được đào tạo trên Google Colab và thời gian chạy trung bình là 1, 95 giây cho mỗi chuỗi thời gian. Chúng ta tóm tắt kết quả trong bảng 2.5. Hình 2.6 hiển thị các siêu tham số tối ưu hóa của mô hình SARIMA online. Mô hình này dự báo phụ tải điện lúc 05 giờ sáng, đại diện cho dữ liệu thu thập được ở thời điểm có mức tiêu thụ điện thấp. Cụ thể, Hình 2.6 cho thấy việc giảm thiểu MAPE của mô hình SARIMA online dựa trên dữ liệu lịch sử với hai siêu tham số p cho tự hồi quy và siêu tham số và P cho tự hồi quy theo mùa. Các siêu tham số tốt nhất là (p, P ) = (1, 2). Tương tự, Hình 2.7 chỉ ra các siêu tham số tối ưu của mô hình SARIMA online để dự báo phụ tải điện vào lúc 13 giờ trưa, là một thời điểm có mức tiêu thụ điện cao. Các siêu tham số tốt nhất là (p, P ) = (0, 5). Ngoài ra, Hình 2.8 hiển thị các siêu tham số tối ưu của tự hồi quy và tự hồi quy theo mùa cho mô hình SARIMA online lúc 21 giờ đêm, đại diện cho mức tiêu thụ điện ở mức trung bình. Và khi đó, giá trị (p, P ) = (2, 0). Phụ tải điện phụ thuộc rất nhiều vào giờ trong ngày. Đối với kết quả thực nghiệm, chúng ta sẽ chạy 24 mô hình cho mỗi giờ, được xây dựng như 24 mô hình cho 24 bộ dữ liệu độc lập, để dự báo. Hai mươi bốn mô hình được chia thành ba loại, gồm tiêu thụ điện thấp, trung bình và cao. Ba thời điểm đại diện là 5 giờ sáng, 13 giờ và 21 giờ được tính lần lượt là ở mức thấp, cao và trung bình (xem Hình 2.9, Hình 2.10 và Hình 2.11). 89 Bảng 2.5: Kết quả mô hình đề xuất trên bộ dữ liệu phụ tải điện miền bắc Việt
Nam Thời điểm Mô hình (1, 1, 0) × (1, 0, 0)250 Mô hình đề xuất Mô hình đề xuất (4, 1, 0) × (2, 0, 0)250
(0, 1, 0) × (2, 0, 0)250
(0, 1, 0) × (2, 0, 0)250
(5, 1, 0) × (0, 0, 0)250
(1, 1, 0) × (2, 0, 0)250
(2, 1, 0) × (2, 0, 0)250
(2, 1, 0) × (1, 0, 0)250
(2, 1, 0) × (1, 0, 0)250
(2, 1, 0) × (0, 0, 0)250
(2, 1, 0) × (0, 0, 0)250
(2, 1, 0) × (0, 0, 0)250
(2, 1, 0) × (0, 0, 0)250
(5, 1, 0) × (0, 0, 0)250
(2, 1, 0) × (0, 0, 0)250
(2, 1, 0) × (0, 0, 0)250
(1, 1, 0) × (0, 0, 0)250
(2, 1, 0) × (1, 0, 0)250
(2, 1, 0) × (0, 0, 0)250
(3, 1, 0) × (0, 0, 0)250
(3, 1, 0) × (0, 0, 0)250
(2, 1, 0) × (0, 0, 0)250
(3, 1, 0) × (1, 0, 0)250
(2, 1, 0) × (0, 0, 0)250
(5, 1, 0) × (0, 0, 0)250
- (giờ)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Trung bình MAPE(%)
6.01
5.82
5.60
5.21
4.92
3.96
3.47
3.62
3.98
4.26
4.68
5.33
5.65
5.46
4.84
4.00
3.26
2.83
3.34
3.62
4.26
5.07
5.42
5.30
4.58 MAPE(%)
5.71
5.49
5.27
5.44
4.68
3.94
3.51
3.64
4.03
4.35
4.71
5.28
5.62
5.45
4.87
3.99
3.32
2.84
3.39
3.73
4.40
5.14
5.40
5.41
4.57 90 Hình 2.6: Thực nghiệm mô hình trực tuyến: Tối ưu siêu tham số cho tự hồi
quy và tự hồi quy theo mùa cho mô hình SARIMA online lúc 05 giờ sáng, đại
diện cho mức tiêu thụ điện thấp. Siêu tham số tốt nhất là (p, P ) = (1, 2). Hình 2.7: Thực nghiệm mô hình trực tuyến: Tối ưu siêu tham số cho tự hồi
quy và tự hồi quy theo mùa cho mô hình SARIMA online lúc 13 giờ trưa, đại
diện cho mức tiêu thụ điện cao. Siêu tham số tốt nhất là (p, P ) = (0, 5). 91 Hình 2.8: Thực nghiệm mô hình trực tuyến: Tối ưu siêu tham số cho tự hồi
quy và tự hồi quy theo mùa cho mô hình SARIMA online lúc 21 giờ đêm, đại
diện cho mức tiêu thụ điện trung bình. Siêu tham số tốt nhất là (p, P ) = (2, 0). Hình 2.9: Thực nghiệm mô hình trực tuyến: Kết quả dự báo thời điểm 05 giờ
sáng của mô hình SARIMA-ONS đối với dữ liệu phụ tải điện miền bắc Việt
Nam. 92 Hình 2.10: Thực nghiệm mô hình trực tuyến: Kết quả dự báo thời điểm 13
giờ trưa của mô hình SARIMA-ONS đối với dữ liệu phụ tải điện miền bắc Việt
Nam. Hình 2.11: Thực nghiệm mô hình trực tuyến: Kết quả dự báo thời điểm 21
giờ đêm của mô hình SARIMA-ONS đối với dữ liệu phụ tải điện miền bắc Việt
Nam. 93 Tại chương thứ 3 của Luận án, tôi đã nghiên cứu lại mô hình lai đã được đề xuất bởi Zhang năm 2003 [50], đồng thời đề xuất một số mô hình mới dựa trên các nghiên cứu của tôi, gồm có mô hình lai ARIMA - LSTM được lọc qua bộ lọc MA và mô hình lai ARIMA - Neural Network có sử dụng lọc nhiễu bằng Wavelet. Các nghiên cứu này gồm có 01 công trình đã được công bố trên tạp chí ESCI-Q4 ([A]). Ngoài ra, tôi đã nghiên cứu sử dụng một số phương pháp tương tự, và đã có 03 công trình đã được phản biện và phát triển thành chương sách chuyên khảo ([D], [H], [I]), 05 công trình đã được công bố trên các hội nghị khoa học có phản biện ([F], [G], [J], [K], [L]). Mô hình lai là một mô hình tổng hợp, được xây dựng từ 2 hoặc nhiều mô hình đơn lẻ. Phương pháp sử dụng mô hình lai có những ưu điểm của từng phương pháp đơn lẻ, đồng thời loại bỏ những hạn chế của các phương pháp đơn lẻ đó. Bằng cách kết hợp các mô hình khác nhau, lợi thế của từng mô hình đơn lẻ có thể được nắm bắt. Chúng ta có thể xem xét một số mô hình lai đã được công bố trong bảng 3.1. Cùng với việc phát triển các mô hình học máy hoàn toàn mới thì các nhà nghiên cứu còn đưa ra một phương hướng mới trong việc nâng cao hiệu suất của học máy. Đó là sử dụng các mô hình lai (hybrid models). Mô hình lai được chứng minh bằng thực nghiệm là có thể tận dụng các ưu điểm của các mô hình đơn lẻ bên trong nó, đồng thời có thể giảm bớt ảnh hưởng của các nhược điểm, từ đó đưa ra được một kết quả tốt hơn so với việc sử dụng từng mô hình đơn lẻ. Lần đầu tiên được G.P. Zhang giới thiệu năm 2003 [50], mô hình lai đã chúng minh được tính mạnh mẽ của nó so với việc sử dụng các mô hình đơn. Mô hình của Zhang được đưa ra dựa trên việc tách chuỗi thời gian thành 2 phần tuyến tính và phi tuyến, sau đó áp dụng các mô hình ARIMA và ANN cho từng phần. 94 Vấn đề Dữ liệu Năm 2003 [50] Đưa ra mô hình
lai Phương
pháp
ARIMA-
ANN 2010 [16] Dự báo chất
lượng nước ARIMA-
ANN 2014 [3] Dự báo giá điện ARIMA- 2015 [13] Mô hình lai
(tuyến tính
+ phi tuyến) Dự báo chất lượng nước LSTM
ARIMA,
Neural
Network 2017 [40] sánh mô Sunspot,
GBP/USD
extrans.
Sông
B¨uy¨uk
Menderes, Thổ
Nhĩ Kỳ
Dữ liệu điện ở
Úc
Beas,
Sông
Deep
Bay
Water Control
Hong
Zone,
Kong
Một số bộ dữ
liệu So
hình và 2020 [47] hạn liệu Hà
Trung Dự báo
hán ARIMA-
ANN
EST-ANN
ARIMA-
SVM 2020 [51] - Dữ
Nam,
Quốc
Dữ liệu sông
Hồng Dự báo mực
nước sông ARIMA
Statistical
machine
learning Bảng 3.1: Mô hình lai giữa 2 mô hình tuyến tính và mạng thần kinh nhân tạo. 95 Kết quả đưa ra tốt hơn so với từng mô hình đơn lẻ trong các bộ dữ liệu được sử dụng để kiểm tra. Nhưng mô hình của Zhang không chỉ rõ ra cách chia bộ dữ liệu ban đầu thành 2 thành phần tuyến tính và phi tuyến. Năm 2010, Faruk [16] cũng áp dụng phương pháp trên vào dữ liệu của sông B¨uy¨uk Menderes, Thổ Nhĩ Kỳ, mô hình lai cho ra kết quả tốt hơn so với từng mô hình đơn lẻ. Tuy nhiên, một vấn đề đặt ra trong mô hình này là việc làm thế nào để phân chia bộ dữ liệu gốc thành các thành phần tuyến tính và phi tuyến thì chưa được các tác giả nhắc tới. Đồng thời với đó là nếu làm việc với các dữ liệu có tính lặp lại thì mô hình sẽ cho kết quả như thế nào thì đã không được các tác giả đề cập tới. Mô hình của Babu năm 2014 [3] đã chỉ rõ ra được cách chia bộ dữ liệu ra thành 2 thành phần tuyến tính và phi tuyến. Tác giả sử dụng Moving Average để chia dữ liệu, sau đó áp dụng ARIMA và LSTM cho từng thành phần. kết quả được so sánh với từng mô hình riêng rẽ và so sánh với mô hình của Zhang [50]. Trong năm 2017, Ranigrahi cũng đã so sánh một số phương pháp lai chia dữ liệu thành tuyến tính và phi tuyến [40], trong đó có cả việc so sánh với phương pháp của Babu [3], và đưa ra một số kết luận về các mô hình này. Trong bộ dữ liệu này, mô hình được đưa ra đã giải quyết được một vấn đề của mô hình của Zhang [50] là việc chia dữ liệu như thế nào. Tuy nhiên, trong cả 2 nghiên cứu của Babu và Ranigrahi bên trên thì vấn đề về việc nếu dữ liệu gốc có tính mùa thì tác giả cũng không đề cập tới. Trong việc dự báo hạn hán ở Hà Nam, Trung Quốc năm 2020, tác giả Dehe đã sử dụng phương pháp lai giữa ARIMA và SVM [47]. Tuy nhiên, mô hình đề xuất chỉ được so sánh với các mô hình đơn ARIMA và SVM, và không được so sánh với một số mô hình nổi tiếng khác (LSTM,...), trong khi nhiều nghiên cứu đã chỉ ra rằng có nhiều mô hình máy học dạng mạng thần kinh nhân tạo là các mô hình mạnh và cho kết quả tốt [50, 3]. Việc dự báo mực nước trên sông Hồng năm 2020 của Phan [37] sử dụng mô hình lai ARIMA với statistical machine learning, đem so sánh với một số mô hình đơn như ARIMA, ANN, LSTM, RF, KNN và một số mô hình lai khác như 96 ARIMA-KNN, ARIMA-RF. Nhưng nghiên cứu không chỉ ra được rõ ràng tại sao lại chọn các tham số như vậy cho mô hình, liệu các tham số khác có thể cho kết quả ngược lại hay không. Hiện nay thì các mô hình lai giữa các mạng thần kinh nhân tạo hầu như không có. Lý do chúng ta có thể thấy được là các mạng thần kinh này là gốc của phương pháp và khá giống nhau (đều là neural network). Cho nên sự kết hợp chỉ có thể cùng làm trên 1 tính chất của dữ liệu. Điều này không khác gì việc chạy các mô hình riêng biệt rồi so sánh. Một trong những nghiên cứu đầu tiên về mô hình lai là của tác giả Zhang vào năm 2003 [50]. Bằng cách chia dữ liệu gốc ra thành các thành phần phù hợp với từng mô hình đơn lẻ (ở đây là hai mô hình ARIMA và ANN), nghiên cứu đã chỉ ra các ưu điểm của mô hình lai so với các mô hình đơn: mô hình kết hợp ARIMA-ANN đã cho kết quả tốt hơn hẳn so với khi chạy toàn bộ dữ liệu trên một mô hình đơn (riêng cho ARIMA hoặc riêng cho ANN). Các kết quả trên đã đạt được khi mô hình lai đã kết hợp và giữ lại được các ưu điểm của từng mô hình đơn, đồng thời cũng hạn chế một số nhược điểm của các mô hình đơn lẻ này. Tuy nhiên, mô hình của Zhang đã không chỉ ra bằng cách nào để tách chuỗi thời gian gốc thành các chuỗi thời gian tuyến tính và phi tuyến. Mã giả của mô hình được trình bày ở dưới: Phương pháp sử dụng mô hình lai ARIMA - ANN được thực hiện theo 7 bước • Bước 1: chia bộ dữ liệu gốc thành tập huấn luyện (training data) và tập sau: • Bước 2: chia dữ liệu trong tập huấn luyện (training data) thành 2 phần: kiểm tra (testing data). 97 Mô hình ARIMA - Neural Networks không có WA Input: original_data = {yi}.
Output: tất cả các tham số của mô hình.
Chia tập huấn luyện và kiểm tra: 1: original_data = trainset + testset ; Chia tập huấn luyện thành 2 phần tuyến tính và phi tuyến: 2: trainset = trainlinear + trainnon−linear ; Mô hình ARIMA: 3: trainlinear_predict = ARIMA(trainlinear); Mô hình mạng thần kinh: 4: trainnon−linear_predict = ANN/RNN(trainnon−linear); Kết hợp kết quả: 5: traintotal_predict = reconstruct(trainlinear_predict,trainnon−linear_predict); Dự báo và kiểm tra trên tập kiểm tra: 6: testtotal_predict = hybrid_model(testset); Hiệu đính: 7: MSE = MSE(testtotal_predict);
MAD = MAD(testtotal_predict); • Bước 3: sử dụng mô hình ARIMA để dự báo dữ liệu của thành phần Trend, thành phần xu hướng Trend và thành phần còn lại Residual. • Bước 4: sử dụng mô hình Neural Network để dự báo cho thành phần lấy được dự báo của thành phần thứ nhất. • Bước 5: kết hợp các kết quả dự báo của 2 thành phần bên trên. • Bước 6: áp dụng mô hình trên vào testing data. • Bước 7: đánh giá mô hình (với các tiêu chí đánh giá như MSE, MAD, Residual, lấy được dự báo của thành phần thứ hai. MAPE, RMSE, v.v...) và hiệu chỉnh mô hình. ARIMA - ANN là một mô hình lai, được xây dựng từ 2 mô hình đơn ARIMA và ANN. Mô hình ARIMA hiệu quả với chuỗi thời gian dạng tuyến tính, giống như thành phần xu hướng (Trend ) từ dữ liệu. ANN có thể giải quyết tốt chuỗi thời gian phi tuyến tính. Do đó, nếu chuỗi thời gian phức tạp được phân tách 98 thành hai chuỗi thời gian đơn giản, chuỗi thời gian tuyến tính và chuỗi dư (đó là chuỗi thời gian phi tuyến tính), thì mỗi mô hình có thể được sử dụng cho chuỗi thời gian phù hợp. Độ chính xác của mô hình kết hợp tốt hơn so với từng mô hình đơn lẻ. Đây chính là mô hình được Zhang đề xuất vào năm 2003 [50] Giống như mô hình lai ARIMA - ANN, mô hình lai ARIMA - RNN được xây dựng từ 2 mô hình đơn ARIMA và RNN. Từ dữ liệu gốc, 2 thành phần được phân tách: thành phần tuyến tính và thành phần phi tuyến. ARIMA được sử dụng cho thành phần tuyến tính và RNN - cho thành phần phi tuyến. Theo nhiều nghiên cứu, gần nhất là nghiên cứu của Rohitash [5] vào năm 2015, mô hình RNN tốt hơn mô hình ANN trong dự đoán chuỗi thời gian. Mô hình lai ARIMA - LSTM được xây dựng từ 2 mô hình đơn ARIMA và RNN. Giống như mô hình lai với mô hình RNN, cũng có nhiều nghiên cứu (một ví dụ là gần đây, năm 2015 của Chung [7]) cho thấy rằng, mô hình LSTM tốt hơn so với mô hình RNN trong dự đoán chuỗi thời gian, đồng thời, các nhà nghiên cứu cũng đã so sánh và chỉ ra mô hình lai với LSTM tốt hơn hẳn mô hình lai với ANN. Mô hình được nghiên trong mục trước sử dụng mô hình ANN làm mô hình thành phần. Trong phần này, tôi đã nghiên cứu và thay thế mô hình ANN bằng mô hình LSTM để tạ ra một mô hình lai mới. Cùng với đó là tôi đã đưa thêm vào mô hình lai trên một bộ lọc (là bộ lọc MA), nhằm làm rõ ràng cách phân chia tập dữ liệu gốc thành các thành phần xu hướng và phần dư như thế nào. Mô hình LSTM đã được đánh giá là tốt hơn so với mô hình ANN [22, 3], cho nên mô hình lai mới sẽ được kỳ vọng tốt hơn mô hình lai ARIMA-ANN của Zhang [50] khi có mô hình thành phần tốt hơn. Trong phần này, mô hình kết hợp đề xuất là sự kết hợp của các mô hình ARIMA và LSTM, được kết hợp lại và được thể hiện trong Hình 3.1. Các quy 99 Hình 3.1: Mô hình lai ARIMA-LSTM. 100 trình được chia thành ba bước: 1. Bước đánh giá sơ bộ: sử dụng kiểm tra Dickey - Fuller, Moving Average và Jarque-Bera. Mục đích của kiểm tra Dickey - Fuller là xác định xem chuỗi thời gian là dừng hay không (stationary). Nếu chuỗi gốc là dừng thì bộ lọc MA được sử dụng để tìm phần dừng mạnh của chuỗi thời gian gốc. 2. Bước phân tích: Dự đoán ARIMA được sử dụng cho thành phần xu hướng để nhận dự đoán xu hướng và LSTM được sử dụng cho thành phần dư để nhận dự đoán còn lại. 3. Bước đánh giá: dự báo đối với thành phần Trend và dự báo thành phần Residual tạo ra kết quả kết hợp để có được dự đoán tổng thể và đánh giá thông qua các tiêu chí MSE và MAD; sau đó dự báo với phần testing data (10%). • Bước 1: phân tách tập dữ liệu thành 2 thành phần: training data (trainset Sau đây là mã giả của mô hình đề xuất: original_data → trainset + testset • Bước 2 và 3: kiểm tra xem, training data training data có dừng hay không. - 90%) và tập testing data (testset - 10%). Kiểm tra Dickey-Fuller đã được sử dụng cho công việc này. Mục đích của thử nghiệm Dickey-Fuller được xác định là chuỗi là dừng. Nếu training data trainset → trainstationary là dừng, thì chuyển sang bước 4: . Nếu training data là không dừng, thì lấy logarit của tất cả các giá trị trong training data. Set new series là training data (mới). Lặp lại bước 2 và 3. 101 Mô hình đề xuất ARIMA-LSTM sử dụng bộ lọc MA Vào: Dữ liệu gốc: original_data = {xi};
Ra: Tất cả các tham số của mô hình;
original_data = trainset + testset;
1
2
While (trainset is non-stationarity) do:
3 trainset = log (trainset); 4 end while;
trainstationary = trainset;
traintrend = MA_filter (trainstationary);
k = kurtosis (traintrend);
While (k ̸= 3) do: 5
6
7 Increase (window of MA_filter);
traintrend = MA_filter (traintrend); end while;
Mô hình ARIMA; traintrend−predict = ARIMA (traintrend); traintrend = Invert (trainstationary);
trainresidual = trainset - traintrend; 8
9
10
11
12 While (trainresidual is non-stationarity) do:
Integrate (trainresidual) ;
13 end while;
Mô hình LSTM; trainresidual−predict = LSTM (trainresidual); = reconstruct , 14
15
16 (traintrend−predict 17
18 traintotal−predict
trainresidual−predict);
testtotal−predict = new_model (testset);
MSE = MSE (testtotal−predict);
MAD = MAD (testtotal−predict); Bảng 3.2: Phương pháp lai cho mô hình được đề xuất. • Bước 4: sử dụng bộ lọc MA để làm mịn training data (đã thành tập có 102 tính dừng) trainstationary trong phần đầu tiên của bước 4) và nhận Trend traintrend, đó là phần dừng mạnh của tập trainstationary. • Bước 5: lấy giá trị kurtosis k của tập traintrend. Giá trị kutosis k được sử của chuỗi dừng này (có tên là traintrend). Bộ lọc MA cho ra kết quả là chuỗi • Bước 6 và 7: nếu giá trị kurtosis k ̸= 3, thì hãy tăng kích thước cửa sổ của dụng cho thử nghiệm Jarque-Bera trong bước tiếp theo. bộ lọc MA. Với kích thước cửa sổ mới, bộ lọc MA đã được thay đổi. Phương pháp Jarque-Bera được sử dụng để xác định xem Trend của training data tuân thủ hay không tuân thủ các quy tắc phân phối chuẩn. Nếu giá trị kurtosis bằng 3 (hoặc xấp xỉ 3), Trend của training data tuân thủ các quy tắc phân phối chuẩn, sau đó chuyển sang bước 8. Nếu giá trị kurtosis không bằng 3, các quy tắc phân phối chuẩn không được tuân thủ, cần phải lặp lại bước 5. Một lần nữa sử dụng bộ lọc MA cho chuỗi traintrend. Nhận giá trị Kurtosis mới k. Lặp lại bước 6 và 7. Sau khi đi qua bộ lọc MA, chuỗi traintrend là dừng mạnh trong tiêu chí M A_f ilter(trainstationary) → traintrend • Bước 8: sử dụng chuỗi traintrend để hiệu chỉnh mô hình ARIMA. Guassian. Chuỗi traintrend là chuỗi dừng mạnh, mô hình ARIMA là thích hợp cho việc • Bước 9: dự đoán với mô hình ARIMA. Chúng ta nhận được kết quả dự dự đoán. traintrend−predict = ARIM A(traintrend); báo traintrend−predict: • Bước 10: đưa chuỗi traintrend thành đơn vị đo ban đầu. • Bước 11: lấy thành phần Residual (trainResidual) của training data: thành 103 trainset và Trend của training data traintrend: trainResidual = trainset − traintrend • Bước 12 và 13: Nếu thành phần dư là không dừng, thì hãy lấy vi phân phần Residual này của training data trainResidual là hiệu của training data tất cả các giá trị trong chuỗi này. Đặt chuỗi mới là Residualnew. • Bước 14: chuỗi thành phần trainResidual là chuỗi phi tuyến tính. Thành Lặp lại các bước 12 và 13. • Bước 15: chúng tôi sử dụng mô hình LSTM (ở bước trước) để dự báo các phần này trainResidual dùng để hiệu chỉnh mô hình LSTM. trainResidual−predict. trainResidual−predict = W A − LST M (trainResidual) • Bước 16: xây dựng lại chuỗi giá trị được dự đoán đầy đủ từ hai kết quả ở giá trị trong tương lai của chuỗi Residual này, đặt phần dự báo này tên là trainpredict = traintrend−predict + trainResidual−predict • Bước 17: sử dụng mô hình kết hợp được đào tạo để dự báo tập hợp thử bước 9 và bước 13. • Bước 18: kiểm tra độ chính xác của kết quả (tiêu chí là MSE, MAD, nghiệm. MAPE). 104 Trong mô hình này, tôi đã đưa ra một cải tiến so với mô hình của Zhang [50], đó là việc thêm vào quá trình xử lý dữ liệu bằng Wavelet đối với dữ liệu phi tuyến (thành phần dữ liệu được xử lý bằng ANN). Dữ liệu thực tế thường thường có nhiễu lẫn trong dữ liệu gốc. Việc thành phần nhiễu là thành phần không thể dự đoán, và sẽ có ảnh hưởng tiêu cực tới kết quả cuối cùng, cho nên lọc nhiễu là một bước có thể đưa tới việc tăng độ chính xác của kết quả dự báo cuối cùng. Với việc xử lý dữ liệu bằng Wavelet đối với thành phần dữ liệu phi tuyến, tôi đã thực hiện việc lọc nhiễu ra khỏi dữ liệu, mong muốn từ đó tăng thêm độ chính xác của dự báo.: Dưới đây là mã giả cho phương pháp sử dụng mô hình lai trên: Mô hình ARIMA - Neural Networks không có WA Input: original_data = {yi}.
Output: tất cả các tham số của mô hình.
Chia tập huấn luyện và kiểm tra: 1: original_data = trainset + testset ; Chia tập huấn luyện thành 2 phần tuyến tính và phi tuyến: 2: trainset = trainlinear + trainnon−linear ; Mô hình ARIMA: 3: trainlinear_predict = ARIMA(trainlinear); Lọc nhiễu bằng WA: 4: trainnon−linear_denoised = WA(trainnon−linear); Mô hình mạng thần kinh: 5: trainnon−linear_predict = ANN/RNN(trainnon−linear); Kết hợp kết quả: 6: traintotal_predict = reconstruct(trainlinear_predict,trainnon−linear_predict); Dự báo và kiểm tra trên tập kiểm tra: 7: testtotal_predict = hybrid_model(testset); Hiệu đính: 8: MSE = MSE(testtotal_predict);
MAD = MAD(testtotal_predict); 105 Trong phần này, mô hình lai đã được tạo ra bằng việc thêm bước xử lý dữ liệu (cho thành phần phi tuyến) so với các mô hình lai ở bên trên. Mô hình đề • Bước 1: chia dữ liệu gốc thành 2 phần: tập huấn luyện và tập kiểm tra. • Bước 2: chia dữ liệu tập huấn luyện thành 2 phần: thành phần tuyến tính xuất ARIMA - WA - Neural Networks có thể được tóm tắt theo 8 bước sau: • Bước 3: lọc nhiễu đối với thành phần phi tuyến. • Bước 4: áp dụng mô hình ARIMA đối với thành phần tuyến tinh, ta được và thành phần phi tuyến. • Bước 5: áp dụng mô hình Neural Network đối với thành phần phi tuyến phần thứ nhất của dự báo. đã được lọc nhiễu. Chúng ta sẽ thu được phần thứ 2 của dự báo. Mô hình • Bước 6: kết hợp các kết quả dự báo ở trên thành một. • Bước 7: áp dụng mô hình trên vào bộ dữ liệu kiểm tra. • Bước 8: so sánh và hiệu chỉnh mô hình theo một số tiêu chuẩn (ví dụ như Neural Network ở đây có thể sử dụng là ANN, RNN hoặc LSTM. RMSE, MSE, ...). Rõ ràng, mô hình này là mô hình nâng cấp hơn so với mô hình của Zhang năm 2003 [50]. Mô hình lai là một mô hình tổng hợp, được xây dựng từ 2 hoặc nhiều mô hình đơn lẻ. Phương pháp sử dụng mô hình lai có những ưu điểm của từng phương pháp đơn lẻ, đồng thời loại bỏ những hạn chế của các phương pháp đơn lẻ đó. Bằng cách kết hợp các mô hình khác nhau, lợi thế của từng mô hình đơn lẻ có thể được nắm bắt. Chúng ta sẽ sử dụng hai tiêu chí để đánh giá mô hình, là mean square error - MSE và mean absolute deviation - MAD. 106 Hình 3.2: Mô hình lai ARIMA - WA - Neural Networks 107 Trong phần này, mô hình kết hợp đề xuất là sự kết hợp của các mô hình ARIMA, Wavelet và LSTM, được kết hợp lại và được thể hiện trong Hình 3.1. Các quy trình được chia thành ba bước: 1. Bước đánh giá sơ bộ: sử dụng kiểm tra Dickey - Fuller, Moving Average và Jarque-Bera. Mục đích của kiểm tra Dickey - Fuller là xác định xem chuỗi thời gian là dừng hay không (chuỗi dừng). Nếu chuỗi gốc là dừng thì bộ lọc MA được sử dụng để tìm phần dừng mạnh của chuỗi thời gian gốc. 2. Bước phân tích: Dự đoán ARIMA được sử dụng cho thành phần xu hướng để nhận dự đoán xu hướng và WA-LSTM được sử dụng cho thành phần dư để nhận dự đoán còn lại. 3. Bước đánh giá: dự báo đối với thành phần Trend và dự báo thành phần Residual tạo ra kết quả kết hợp để có được dự đoán tổng thể và đánh giá thông qua các tiêu chí MSE và MAD; sau đó dự báo với tập kiểm tra (10%). 3.4.1. Dữ liệu so sánh: dữ liệu Sunspot Chúng ta sẽ dùng mô hình của Babu [3] để so sánh các kết quả mà chúng ta đạt được: Dữ liệu
Sunspot
Mực nước Kích thước
288
3400 Tập huấn luyện Tập kiểm tra
263
3040 25
360 Bảng 3.3: Các bộ dữ liệu sử dụng. Trong phần này, kết quả của mô hình lai được đề xuất được thể hiện qua hai bộ dữ liệu: bộ dữ liệu Sunspot (vết đen Mặt trời) của Wolf và bộ dữ liệu mực 108 Hình 3.3: Dữ liệu Sunspot từ năm 1870 tới năm 1987. nước của chúng ta. Dữ liệu Sunspot của Wolf được sử dụng để đánh giá các mô hình được đề xuất trong nhiều mô hình đã được công bố trước đây. Và bộ dữ liệu Water leve dùng để dự báo mực nước trên sông Hồng ở Việt Nam, điều này mang lại ý nghĩa thiết thực trong nghiên cứu của chúng ta. Dữ liệu Sunspot cho biết số lượng vết đen mặt trời hàng năm. Trong nghiên cứu này, chúng ta xem xét dữ liệu được thu thập từ năm 1700 đến năm 1987 với 288 điểm dữ liệu. Trong tập dữ liệu này, tập huấn luyện lấy 263 giá trị đầu tiên và tập kiểm tra - 25 giá trị cuối cùng. 3.4.2. Dữ liệu mực nước Trong phần này, tất cả mô hình đều được chạy bằng Keras API. Mô hình được chạy trên 2 bộ dữ liệu Sunspot và mực nước và kết quả được hiển thị trong bảng 3.4, 3.5. Bảng 3.4 cho thấy kết quả dự báo trước một bước (1-step-ahead ) trên tập dữ liệu Sunspot của Wolf. LSTM sử dụng kiến trúc rất đơn giản với 1 hidden layer, 6 units, độ dài đầu vào là 5. Việc huấn luyện được lặp lại 140 lần bằng thuật toán adam với tỷ lệ học là 0,0001. Kết quả dự báo cho thấy mô hình đề xuất tốt hơn so với các mô hình cũ. Trên tập dữ liệu mực nước, mô hình LSTM cũng sử dụng 1 lớp ẩn, 6 nốt, độ 109 Hình 3.4: Dữ liệu mực nước từ năm 2016 tới năm 2018. dài đầu vào là 5. Mô hình được huấn luyện 100 lần với thuật toán Adam để sử dụng kết quả tối ưu nhất trong đó. LSTM, sau khi được huấn luyện, đã đưa ra dự báo về các bước thời gian 1, 12 và 24. Kết quả được trình bày trong bảng 3.4. 3.4.3. Kết quả MAD Chú thích Mô hình
ARIMA
Mô hình của Babu [3]
LSTM
Mô hình đề xuất MSE
306.094509 14.618295 (dự báo 24 bước)
303.910569 14.614859 (dự báo 24 bước)
14.643719 (dự báo 24 bước)
316.768
240.68107212.429937 (dự báo 24 bước) Bảng 3.4: So sánh kết quả dự báo với dữ liệu Sunspot. Giá trị in đậm là giá
trị tốt nhất trong các mô hình so sánh. Bảng 3.4 là kết quả dự báo một bước trên tập dữ liệu Sunspot. Dữ liệu được chuyển qua bộ lọc trung bình động MA với kích thước cửa sổ là 37. Mô hình ARIMA (8,1,9) là mô hình tốt nhất trong tiêu chí thông tin Akaike (AIC). Thành phần Trend được tách ra bởi bộ lọc trung bình động MA và mô hình ARIMA được sử dụng cho thành phần này. Với thành phần dư Residual nhận được, chúng ta dùng phương pháp phân tích Wavelet loại bỏ nhiễu khỏi thành phần này. Cuối cùng, thành phần Residual không có nhiễu được dự báo bởi mạng 110 nơ-ron LSTM. Trong LSTM, độ dài đầu vào là 5, số đơn vị ẩn là 6. Mạng LSTM được huấn luyện 160 lần với thuật toán Adam (tỷ lệ học của thuật toán Adam là 0,0001). Mô hình kết hợp được đề xuất dự đoán giá trị trong 1 bước trên 25 điểm dữ liệu thử nghiệm. Mô hình đề xuất sử dụng hai tiêu chí để đánh giá độ chính xác: MSE (Mean Square Error) và MAD (Mean Absolute Deversion). Kết quả dự đoán của mô hình đề xuất tốt hơn kết quả của mô hình đơn ARIMA và LSTM. Ngoài ra, mô hình đề xuất cho kết quả tốt hơn so với mô hình lai của Zhang [50]. Theo tiêu chí MSE, mô hình kết hợp được đề xuất có độ chính xác tốt hơn 27,17 % so với mô hình ARIMA, tốt hơn 31,61 % mô hình LSTM và tốt hơn 26,27 % so với mô hình của Zhang. Mặc dù, tại một số thời điểm, mô hình đề xuất cho kết quả kém hơn các mô hình khác, nhưng trên tổng số thử nghiệm, mô hình đề xuất cho kết quả tốt hơn. Hình 3.5: Thực nghiệm mô hình lai: Mô hình lai ARIMA-LSTM được tách dữ
liệu bằng MA - Mô hình ARIMA (Dữ liệu Sunspot). Từ bảng 3.5 và bảng 3.6, đối với dự đoán mực nước theo chuỗi thời gian, kết quả của mô hình đề xuất tốt hơn cả ARIMA và LSTM (trong tiêu chí MSE). 111 Hình 3.6: Thực nghiệm mô hình lai: Mô hình lai ARIMA-LSTM được tách dữ
liệu bằng MA - Mô hình LSTM (Dữ liệu Sunspot). Hình 3.7: Thực nghiệm mô hình lai: Mô hình lai ARIMA-LSTM được tách dữ
liệu bằng MA - Mô hình của Babu [3] (Dữ liệu Sunspot). 112 Hình 3.8: Thực nghiệm mô hình lai: Mô hình lai ARIMA-LSTM được tách dữ
liệu bằng MA - Mô hình ARIMA-LSTM dùng bộ lọc MA (Dữ liệu Sunspot). trước 1 bước
MAD
MSE
2.738
7.499
2.9971
8.0015 ARIMA
LSTM trước 12 bước
MSE
170.068
151.7240
Mô hình đề xuất 6.5193 2.8945 150.1205 MAD
13.041
10.4501
11.0039 trước 25 bước
MAD
MSE
15.035
226.059
16.0801
222.5924
195.0275 13.6826 Bảng 3.5: So sánh kết quả với dữ liệu mực nước. Giá trị in đậm là giá trị tốt
nhất trong các mô hình so sánh. 113 Hình 3.9: Thực nghiệm mô hình lai: Mô hình lai ARIMA-LSTM được tách dữ
liệu bằng MA - Mô hình ARIMA (Dữ liệu mực nước). Hình 3.10: Thực nghiệm mô hình lai: Mô hình lai ARIMA-LSTM được tách
dữ liệu bằng MA - Mô hình LSTM (Dữ liệu mực nước). 114 Hình 3.11: Thực nghiệm mô hình lai: Mô hình lai ARIMA-LSTM được tách
dữ liệu bằng MA - Mô hình ARIMA-LSTM dùng bộ lọc MA (Dữ liệu mực nước). Dự báo 1 bước Dự báo 12 bước Dự báo 24 bước
MSE MAD MSE MAD MSE MAD
Tốt hơn ARIMA 15.02% -5.51% 13.29% 18.51% 15.91% 9.88%
Tốt hơn LSTM 22.73% 3.54% 1.07% -5.03% 14.14% 17.52% Bảng 3.6: So sánh kết quả dự báo mực nước. Trong kết quả tốt nhất, mô hình đề xuất tốt hơn 15,91% so với ARIMA, tốt hơn 22,73% so với LSTM. Với tiêu chí MAD, trong một số trường hợp, kết quả kém hơn so với các mô hình đơn lẻ, nhưng trong nhiều trường hợp, kết quả từ mô hình lai được đề xuất lại tốt hơn ARIMA và LSTM. Trong mô hình này, chúng ta sẽ cải tiến mô hình của Zhang [50], thêm vào quá trình lọc nhiễu bằng Wavelet đối với dữ liệu phi tuyến (thành phần dữ liệu được xử lý bằng ANN). 115 3.5.1. Dữ liệu so sánh: dữ liệu Sunspot Sử dụng tất cả các mô hình cho bộ dữ liệu Sunspot (Vết đen Mặt trời), chúng ta nhận được kết quả: (độ chính xác của tất cả các dự đoán trong MSE và MAD) Kích thước Tập kiểm tra huấn Tập
luyện
230 (≈80%) Sunspot 287 57 (≈20%) Bảng 3.7: Dữ liệu Sunspot. Hình 3.12: Sunspot data Mô hình ARIMA sử dụng các tham số (p, d, q) = (3, 1, 2) [50]. Còn mô hình ANN sử dụng mạng lưới 4 × 4 × 1 [50]. 3.5.2. Dữ liệu mực nước sông Hồng Sông Hồng là con sông lớn nhất ở miền Bắc Việt Nam với lưu vực có diện tích 15000 km2, chiều dài chính dài hơn 1500 km (ở Việt Nam). Trên sông Hồng không có đập thủy điện (hoặc đập thủy lợi), nên việc xả nước của mỗi đập nước trên các sông nhanh ảnh hưởng đến mực nước và dòng chảy tại hạ lưu. Trong phần này, mô hình đề xuất được sử dụng để dự báo mực nước sông Hồng tại trạm đo ở Hà Nội. Mực nước được đo trong trạm được hiển thị trong 116 đồ thị sau. Chúng ta sẽ tập trung vào dữ liệu mùa mưa của các năm 2015, 2016, 2017 và 2018. Dữ liệu ban đầu sẽ được phân tách thành tập huấn luyện (≈72,5%) và tập kiểm tra (≈27,5%). (Các số liệu về mùa mưa từ giữa tháng 6 đến giữa tháng 9). Năm Số lượng giá trị Tập huấn Tập kiểm tra 4*57 (≈20%) 2015 1108 luyện
4*230
(≈80%) 1120
1174
1288 2016
2017
2018
Total 4690 Bảng 3.8: Dữ liệu mực nước. Hình 3.13: Dữ liệu mực nước. Giống như đối với bộ dữ liệu Sunspot, chúng ta cũng sử dụng các tiêu chí đánh giá dự báo là MSE và MAD. 3.5.3. Kết quả Với tiêu chí MSE, tất cả các mô hình lai có Wavelet đều có kết quả tốt hơn so với mô hình không có Wavelet. Trong bộ dữ liệu Sunspot (Vết đen Mặt trời), 117 Sunspot Mực nước Mô hình MSE
14941.0501
12851.1010
10980.0930
10518.2900
12233.6360
9283.1192 MAD
-
-
-
-
-
61.4415 MSE
3108.7643
2453.5100
-
2445.3600
2403.9500
2490.4600 MAD
-
-
-
-
-
5.5670 ARIMA
ANN
RNN
LSTM
GRU
ARIMA – ANN (Mô
hình của Zhang) [50]
(xây dựng lại)
Mô hình đề xuất 6276.6030 51.4220 1397.6552 3.6196 Bảng 3.9: So sánh kết quả dự báo: Sunspot (dự báo 25 bước), và mực nước (dự
báo 1 bước). Giá trị in đậm là giá trị tốt nhất trong các mô hình so sánh. ARIMA-WA-ANN tốt hơn 52% so với mô hình ARIMA-ANN, mô hình ARIMA- WA-RNN tốt hơn 58% so với ARIMA-RNN, còn mô hình ARIMA-WA-LSTM tốt hơn 52% so với ARIMA-LSTM. Cuối cùng, ARIMA-WA-GRU tốt hơn 62% so với ARIMA-GRU. So sánh giữa các mô hình Neural Network (bộ dữ liệu Sunspot - tiêu chí • Mô hình kết hợp của ANN cho kết quả thấp nhất (cả có và không có WA). • Mô hình lai của RNN tốt hơn mô hình lai của ANN, nhưng kém hơn so với MSE): • Mô hình kết hợp của LSTM không có WA kém hơn 17% so với mô hình lai mô hình lai của LSTM và GRU (cả có và không có WA). của GRU không có WA, nhưng mô hình lai của GRU có WA là tốt nhất với 2,2% tốt hơn so với mô hình lai của LSTM không có WA. Đối với bộ dữ liệu Water level (mực nước), với tiêu chí MSE, tất cả các mô hình kết hợp với Wavelet cũng đều có kết quả tốt hơn so với mô hình không có Wavelet. ARIMA-WA-ANN tốt hơn 10% so với mô hình ARIMA-ANN. Mô hình 118 Hình 3.14: Thực nghiệm mô hình lai: Mô hình lai ARIMA-WA-ANN - Dữ liệu
Sunspot, thành phần tuyến tính và phi tuyến. ARIMA-WA-RNN tốt hơn ARIMA-RNN 18%. Mô hình ARIMA-WA-LSTM tốt hơn 5,5% so với ARIMA-LSTM. Và trong trường hợp cuối cùng, ARIMA-WA- GRU cao hơn ARIMA-GRU 15%. • Tất cả các mô hình có wavelet tốt hơn các mô hình không có wavelet. • Mô hình kết hợp của LSTM với WA là tốt nhất. Mô hình lai giữa LSTM So sánh giữa tất cả các mô hình Neural Network (Water level - tiêu chí MSE): với WA tốt hơn 30% so với mô hình lai giữa RNN với WA và tốt hơn 7% so với mô hình lai giữa GRU với WA. 119 Hình 3.15: Thực nghiệm mô hình lai: Mô hình lai ARIMA-WA-ANN - So sánh
kết quả các mô hình (ARIMA - RNN/LSTM/GRU không có Wavelet) - Dữ liệu
Sunspot. 120 Hình 3.16: Thực nghiệm mô hình lai: Mô hình lai ARIMA-WA-ANN - Dữ liệu
mực nước, thành phần tuyến tính và phi tuyến. 121 Hình 3.17: Thực nghiệm mô hình lai: Mô hình lai ARIMA-WA-ANN - So sánh
kết quả các mô hình (ARIMA - RNN/LSTM/GRU không có Wavelet) - Dữ liệu
mực nước 122 Hình 3.18: Thực nghiệm mô hình lai: Mô hình lai ARIMA-WA-ANN - So sánh
kết quả của các mô hình (ARIMA - RNN/LSTM/GRU có sử dụng Wavelet) -
Dữ liệu mực nước. 123 Trong chương 2 và chương 3, một số mô hình trực tuyến và mô hình lai đã được chỉ ra rằng chúng tốt hơn so với mô hình truyền thống. Trong chương thứ tư này, tôi đã nghiên cứu và kết hợp một số trong các mô hình đã được nghiên cứu trong các chương 2 và 3, tạo ra một mô hình mới là mô hình Multi-seasonal - ARIMA online - RNN online. Mô hình này đã được đánh giá và chạy chương trình, cho kết quả tốt hơn khi so sánh với một số mô hình truyền thống khác. Nghiên cứu này đươc đăng trên một tạp chí SCI-Q3 uy tín ([B]). Khi sử dụng mô hình trực tuyến làm mô hình thành phần cho một mô hình lai lớn, nhiều nhược điểm của các mô hình truyền thống đã được hạn chế, nhiều ưu điểm của mô hình trực tuyến đã được giữ lại và kết hợp trong mô hình lai mới. Vì vậy, mô hình lai trực tuyến sẽ được kỳ vọng là có thể đưa ra một kết quả tốt hơn so với các mô hình truyền thống và mô hình lai từ các mô hình truyền thống. Các mô hình trực tuyến có thể làm việc với dữ liệu được cập nhật liên tục, còn các mô hình truyền thống yêu cầu toàn bộ dữ liệu để ước lượng tham số của mô hình. Vì vậy, trong trường hợp dữ liệu không đầy đủ từ đầu, và dữ liệu mới được liên tục cập nhập, thì mô hình trực tuyến sẽ phát huy ưu thế của mình so với các mô hình truyền thống. Với mô hình này, chúng ta sửa đổi một chút mô hình ở phần bên trên. Các bước thay đổi như sau: • Thay vì sử dụng một thuộc tính mùa Seasonal, chúng ta sử dụng chuỗi 124 Fourier để tách ra nhiều chuỗi mang tính mùa Seasonal, tận dụng hết tất • Áp dụng mô hình online learning để tăng cao độ chính xác của mô hình dự cả các tính chất mùa có được từ dữ liệu. báo. Ở đây chúng ta đồng thời thay mô hình ARIMA thành online ARIMA và thay mô hình ANN/RNN thành mô hình online RNN. Mô hình đề xuất của mục này có thể được tóm tắt trong 9 bước sau: – Bước 1: chia dữ liệu gốc thành 2 tập con, tập huấn luyện (training data) và tập kiểm tra (testing data). – Bước 2: sử dụng bộ lọc MA để chia dữ liệu training data thành 2 thành phần: Trend và Residual1. Ở đây, ta dễ dàng thấy được rằng thành phần Trend là thành phần tuyến tính, còn lại là thành phần phi tuyến (dữ liệu gốc cũng là phi tuyến). – Bước 3: dùng công thức Fourier để tách các thành phần mùa Seasonal ra khỏi chuỗi Residual1. Chúng ta sẽ thu được 2 phần: phần 1 là các chuỗi mùa Seasonal, và phần 2 là phần dư lại, Residual2, là một chuỗi phi tuyến. – Bước 4: áp dụng mô hình online AR cho chuỗi xu hướng Trend. Chúng ta thu được dự báo thứ nhất. – Bước 5: kết hợp dự báo thứ nhất với các chuỗi Seasonal, ta thu được dự báo của thành phần phi tuyến trong dữ liệu gốc (gồm thành phần xu hướng Trend và các thành phần mùa Seasonal ) – Bước 6: áp dụng mô hình online RNN cho thành phần phi tuyến. Chúng ta thu được dự báo thứ 2, là dự báo của thành phần phi tuyến. – Bước 7: Kết hợp dự báo của 2 thành phần tuyến tính và phi tuyến lại, ta nhận được mô hình. 125 Hình 4.1: Mô hình lai trực tuyến đề xuất. 126 – Bước 8: sử dụng mô hình này để dự báo trên tập kiểm tra. – Bước 9: Kiểm tra các tiêu chí đánh giá MSE và MAD, hiệu đính mô hình. 4.2.1. Dữ liệu Chúng ta sẽ xem xét dữ liệu về phụ tải điện và ứng dụng mô hình đề xuất đối với dữ liệu này. 4.2.1.1. Dữ liệu so sánh: phụ tải điện của Australia Chúng ta xem xét bộ dữ liệu được đăng công khai trên www.aemo.com.au, và dùng nó để so sánh mô hình của chúng ta. Dữ liệu này được lấy vào mỗi 01h01 mỗi ngày, từ 21 tháng 5 năm 2019 tới 30 tháng 6 năm 2020, . Hình 4.2: Dữ liệu phụ tải điện của Australia 127 4.2.1.2. Dữ liệu phụ tải điện miền bắc Việt Nam Bộ dữ liệu này chứa các phép đo phụ tải điện vào các ngày làm việc (từ thứ Hai đến thứ Sáu) từ ngày 1 tháng 1 năm 2015 đến ngày 30 tháng 8 năm 2019. Dữ liệu được thu thập theo chu kỳ 1 giờ và bao gồm 29208 giá trị. Tập dữ liệu được biểu diễn dưới dạng bảng. Mỗi mục nhập tương ứng với một ngày và các cột chỉ ra giờ cụ thể. Chúng tôi coi 24 cột này là 24 chuỗi thời gian riêng biệt và kết quả được đánh giá riêng lẻ. 4.2.2. Kết quả 4.2.2.1. Kết quả so sánh: bộ dữ liệu Australia Chúng ta chạy mô hình ARIMA với các tham số khác nhau trên tập huấn luyện để tìm các giá trị tối ưu của p, d, q. Từ Bảng 4.1, chúng ta có thể thấy rằng (p, d, q) = (4, 1, 4) đạt được kết quả tốt nhất. Tương tự, chúng ta cũng chạy mô hình RNN với các tham số khác nhau để tìm các giá trị tối ưu. Với dữ liệu huấn luyện (xem Bảng 4.2), chúng ta nhận được mô hình tối ưu là mô hình có 4 lớp ẩn và epoch là 7 hoặc 9. Trong Bảng 4.3, chúng ta có thể thấy rằng kết quả của một mô hình RNN là kém nhất. Hơn nữa, RNN đơn giản và ARIMA đơn giản chỉ có thể dự báo một lần cho kết quả trong 7 ngày tới (7 bước trước). Trong khi đó, mỗi ngày, khi dữ liệu mới được thu thập, ARIMA online và RNN online sẽ lại dự báo. Vì vậy ARIMA online và RNN online chỉ dự báo cho bước tiếp theo (trước 1 bước). Sau 7 ngày, ARIMA online và RNN online cũng sẽ nhận được dự báo cho ngày thứ. Từ lý thuyết, chúng ta có thể thấy rằng ARIMA online và RNN online chắc chắn sẽ tạo ra kết quả tốt hơn. Từ lý thuyết, chúng ta có thể thấy rằng ARIMA online sẽ tạo ra kết quả tốt hơn. Thật vậy, từ bảng này, trong tiêu chí MAPE, chúng ta có thể thấy rằng ARIMA online tốt hơn ARIMA 22,1% và RNN online tốt hơn RNN 14,6%. 128 Ghi chú (p, d, q)
(2,0,2)
(2,1,2)
(2,2,2)
(2,0,3)
(2,1,3)
(2,0,4)
(2,1,4)
(3,0,2)
(3,1,2)
(3,2,2)
(3,0,3)
(3,1,3)
(3,0,4)
(3,1,4)
(4,0,2)
(4,1,2)
(4,2,2)
(4,0,3)
(4,1,3)
(4,0,4)
(4,1,4) AIC
7356.900
7331.565
7321.969
7358.254
7329.418
7357.669
7310.707
7358.180
7334.104
7358.855
7356.138
7296.385
7333.827
7281.776
7360.146
7331.116
7322.975
7326.382
7274.138
7309.774
7272.979 tốt . . . . . . tham số
nhất Bảng 4.1: Sử dụng tiêu chí thông tin Akaike (Akaike information criterion
- AIC) để tìm bộ tham số (p, d, q) tốt nhất cho bộ dữ liệu Australia. Thử với
p=1,...,10; d=0,...,5; q=1,...,10. 129 Số lớp Ghi chú Số lớp Ghi chú Epoch Mất
mát
0.1059
0.0185
0.0149
0.0116
0.0091
0.0073
0.0062 2 4 Epoch Mất
mát
0.0109
0.0057
0.0054
0.0052
0.0051
0.0051
0.0050 1
2
3
4
5
6
7 1
2
3
4
5
6
7 Tốt
nhất 8
9 0.0055
0.0052 8
9 0.0051
0.0050 Tốt
nhất 10 0.0053 10 0.0051 8 16 1
2
3
4
5
6
7
8
9
10 0.0439
0.0109
0.0079
0.0064
0.0056
0.0052
0.0053
0.0052
0.0051
0.0053 1
2
3
4
5
6
7
8
9
10 0.0446
0.0095
0.0066
0.0054
0.0052
0.0052
0.0053
0.0051
0.0052
0.0053 . . . 96 128 1
2
3
4
5
6
7
8
9
10 0.0074
0.0059
0.0057
0.0056
0.0055
0.0055
0.0056
0.0056
0.0056
0.0058 1
2
3
4
5
6
7
8
9
10 0.0098
0.0055
0.0055
0.0057
0.0056
0.0058
0.0056
0.0055
0.0054
0.0056 Bảng 4.2: Số lượng epochs và số lượng lớp để tìm kiếm mô hình RNN tốt nhất
cho bộ dữ liệu Australia. Xem xét Epoch = 1 .. 10, slp = 2 .. 128. Kết quả tốt
nhất là slp=4 và Epoch=7 hoặc 9. 130 MAPE
0.744251
0.770737
0.579787
0.672100 aMô hình của Liu′s (xây dựng lại) [27] bMô hình của Gao′s (xây dựng lại) [18] ARIMA(4,1,4)
RNN
ARIMA onlinea
RNN onlineb
Mô hình đề xuất MSE
52054161.01
57667888.03
38539636.48
40149103.00
37653594.10 0.569104 Bảng 4.3: Kết quả một số mô hình cho bộ dữ liệu Australia. Giá trị in đậm là
giá trị tốt nhất trong các mô hình so sánh. Cuối cùng, chúng ta có thể thấy rằng mô hình đề xuất cho kết quả tốt nhất khi so sánh với các mô hình đơn lẻ còn lại. Theo tiêu chuẩn MSE, ARIMA online tốt nhất trong các mô hình đơn lẻ, nó tốt hơn 38,2% so với ARIMA, tốt hơn 6,6% so với RNN online và tốt hơn 53,0% so với RNN (đây là mô hình kém nhất trong tất cả các mô hình đơn lẻ). Tuy nhiên, mô hình đề xuất của chúng ta vẫn tốt hơn 2,3% so với ARIMA online. Đối với tiêu chuẩn MAPE, mô hình được đề xuất cũng là tốt nhất vì nó tốt hơn 37,8 % so với RNN (mô hình đơn tệ nhất trong bảng) và mô hình đề xuất của chúng tôi cũng tốt hơn so với ARIMA online (tốt nhất trong tất cả các mô hình đơn lẻ) là 3,6 %. 4.2.2.2. Kết quả cho bộ dữ liệu của Việt Nam Trong Bảng 4.4, chúng ta có thể thấy rằng kết quả của mô hình đề xuất là tốt nhất. Mô hình đơn chỉ có thể dự báo khá khi ứng dụng cho kết quả trong nửa ngày tới (6 bước tiếp theo). Chúng ta cũng có thể dễ dàng nhận thấy rằng mô hình ARIMA cho kết quả kém nhất, ít hơn 3% so với RNN. Trong khi đó, ARIMA online cho kết quả tốt 131 Hình 4.3: Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal - ARIMA
online - RNN online - Mô hình ARIMA. Đường nét liền màu xanh lá cây là dữ
liệu gốc, đường nét đứt màu xanh lam là dữ liệu dự báo (Dữ liệu Australia). Hình 4.4: Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal - ARIMA
online - RNN online - Mô hình RNN. Đường nét liền màu xanh lá cây là dữ liệu
gốc, đường nét đứt màu xanh lam là dữ liệu dự báo (Dữ liệu Australia). 132 Hình 4.5: Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal - ARIMA
online - RNN online - Mô hình ARIMA online. Đường nét liền màu xanh lá cây
là dữ liệu gốc, đường nét đứt màu xanh lam là dữ liệu dự báo (Dữ liệu Australia). Hình 4.6: Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal - ARIMA
online - RNN online - Mô hình RNN online. Đường nét liền màu xanh lá cây là
dữ liệu gốc, đường nét đứt màu xanh lam là dữ liệu dự báo (Dữ liệu Australia). 133 Hình 4.7: Thực nghiệm lai trực tuyến: Mô hình Multi-seasonal - ARIMA online
- RNN online - Mô hình đề xuất. Đường nét liền màu xanh lá cây là dữ liệu gốc,
đường nét đứt màu xanh lam là dữ liệu dự báo (dữ liệu Australia). MAPE
12.532267
6.357248
7.093431
3.190338 aMô hình của Liu (xây dựng lại) [27] bMô hình của Gao (xây dựng lại) [18] ARIMA
RNN
ARIMA online a
RNN online b
Mô hình đề xuất MSE
1398659.72
1063311.72
1315265.94
998594.00
990192.91 3.023862 Bảng 4.4: Kết quả dự báo bởi một số mô hình cho bộ dữ liệu miền bắc Việt
Nam. Giá trị in đậm là giá trị tốt nhất trong các mô hình so sánh. Kết quả của
mô hình đề xuất là tốt nhất trong tất cả các mô hình. 134 hơn một chút so với ARIMA (tốt hơn 5,9% trong MSE), nhưng vẫn kém hơn so với kết quả RNN (kém hơn 19,1% trong MSE). Trong các mô hình riêng lẻ, RNN online cho kết quả tốt nhất. Nếu sử dụng tiêu chí đánh giá MAPE, RNN online tốt hơn ARIMA 292,8%, tốt hơn 112,3% so với ARIMA online và chỉ bằng 50 % RNN đơn lẻ. Cuối cùng, kết quả của mô hình đề xuất của chúng ta là tốt nhất trong tất cả các mô hình được trình bày. Với tiêu chí MAPE, giá trị lỗi thu được thấp hơn giá trị của mô hình RNN online, là mô hình tốt nhất trong số các mô hình đơn lẻ (thấp hơn 5,5%). Với tiêu chí MSE, mô hình đề xuất cũng cho kết quả tốt nhất, tốt hơn 29,2% so với kết quả của mô hình ARIMA đơn lẻ. Hình 4.8: Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal - ARIMA
online - RNN online - Mô hình ARIMA truyền thống. Đường nét liền màu xanh
lá cây là dữ liệu gốc, đường nét đứt màu xanh lam là dữ liệu dự báo (dữ liệu Việt
Nam). 135 Hình 4.9: Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal - ARIMA
online - RNN online - Mô hình ARIMA online. Đường nét liền màu xanh lá
cây là dữ liệu gốc, đường nét đứt màu xanh lam là dữ liệu dự báo (dữ liệu Việt
Nam). Hình 4.10: Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal - ARIMA
online - RNN online - Mô hình RNN truyền thống. Đường nét liền màu xanh lá
cây là dữ liệu gốc, đường nét đứt màu xanh lam là dữ liệu dự báo (dữ liệu Việt
Nam). 136 Hình 4.11: Thực nghiệm lai trực tuyến: Mô hình lai Multi-seasonal - ARIMA
online - RNN online - Mô hình RNN online. Đường nét liền màu xanh lá cây là
dữ liệu gốc, đường nét đứt màu xanh lam là dữ liệu dự báo (dữ liệu Việt Nam). Hình 4.12: Thực nghiệm lai trực tuyến: Mô hình Multi-seasonal - ARIMA
online - RNN online - Mô hình đề xuất. Đường nét liền màu xanh lá cây là dữ
liệu gốc, đường nét đứt màu xanh lam là dữ liệu dự báo (dữ liệu Việt Nam). 137 Với các nội dung nghiên cứu đã trình bày, Luận án đã đạt được các kết quả chính và đóng góp mới như sau: Luận án đã nghiên cứu lại và chỉ ra một số vấn đề còn tồn tại của các mô hình truyền thống SARIMA và RNN. Từ đó đưa ra một số đề xuất để cải thiện độ chính xác của các mô hình này. Các đề xuất gồm có mô hình lai và mô hình học trực tuyến. Đồng thời với việc đề xuất, Luận án đã có những chứng minh khoa học chặt chẽ đối với các đề xuất được đưa ra. Tất cả các mô hình đề xuất đều được áp dụng vào thực nghiệm với dữ liệu thực tế, đưa ra các so sánh và nhận xét về tính ưu việt của chúng so với các mô hình truyền thống và so với một vài các nghiên cứu đã được công bố gần đây. Những đóng góp mới của Luận án: các kết quả đạt được của Luận án là phong phú, có tính mới, có giá trị khoa học và tính ứng dụng thực tiễn cao: (1) Đề xuất mô hình lai, kết hợp giữa các mô hình đơn lẻ, tận dụng các ưu điểm và hạn chế các nhược điểm của các mô hình đơn. Kết quả thực nghiệm đã cho thấy các mô hình lai có độ chính xác cao hơn. (2) Đề xuất mô hình học trực tuyến, là mô hình nâng cấp của các mô hình truyền thống SARIMA và RNN. Từ việc dữ liệu đầu vào của mô hình là dữ liệu được cập nhật liên tục, mô hình cũng tính lại các tham số liên tục dựa trên các bước tính toán trước. Mô hình học trực tuyến không phải huấn • Chứng minh toán học các định lý được đưa ra về độ hội tụ của các mô luyện lại mô hình từ đầu, từ đó sẽ giảm tài nguyên tiêu tốn. hình đề xuất. • Thực nghiệm và chỉ ra rằng mô hình học trực tuyến tốt hơn so với các 138 mô hình truyền thống tương ứng. (3) Đề xuất mô hình mới kết hợp cả 2 loại đề xuất trên, tạo thành mô hình lai học trực tuyến, dựa trên các lý thuyết của các thành phần cấu tạo nên nó. (4) Chương trình chạy của mô hình đề xuất cuối cùng của Luận án được áp dụng vào dữ liệu thực tế, đã cho kết quả tốt hơn khi đem so sánh với các mô hình đơn thành phần và tốt hơn khi so sánh với một số mô hình đã được công bố gần đây. Kiến nghị về hướng nghiên cứu tiếp theo: chúng ta có thể xem xét về một số kiến nghị đối với phương hướng cho các nghiên cứu tiếp theo cho các vấn • Về học thuật: tiếp tục nghiên cứu các mô hình mạnh hơn các mô hình nêu đề đã được nêu trong Luận án, bao gồm cả của các mô hình được đề xuất: trong Luận án, chứng minh các công thức và định lý cần thiết. – Nghiên cứu mô hình học trực tuyến mạnh hơn dựa trên mô hình mạnh hơn, ví dụ như thay RNN online bằng LSTM online. – Nghiên cứu mô hình đa chuỗi đầu vào thay vì sử dụng đơn chuỗi đầu vào. Khi đó có thể kết hợp các mối quan hệ giữa nhiều chuỗi thời ian với nhau nhằm đạt mục đích tăng cao độ chính xác của mô hình ứng dụng thực tiễn. – Nghiên cứu phương pháp tối ưu hóa tham số của các mô hình đơn truyền thống trong mô hình lai, và phương pháp tối ưu các tham số của • Về thực tiễn: tiếp tục xây dựng các mô hình ứng dụng thực tế của các bộ mô hình học trực tuyến. Ví dụ như Adam, Bayesian Optimization. dữ liệu lấy từ các nguồn và các vấn đề có tính thời sự và quan trọng. Từ đó phát triển các ứng dụng để áp dụng vào sử dụng trong thực tế. 139 Kết luận của Luận án là phù hợp với cách đặt vấn đề ở đầu Luận án. Các kết quả cũng đạt được những yêu cầu đặt ra trong phần giải quyết vấn đề. Kết luận của Luận án cũng đạt được yêu cầu về tính thực tiễn đối với ứng dụng của nghiên cứu. Hơn nữa, những gì Luận án trình bày ra (phương pháp, ý nghĩa, kết quả) là đủ tính thuyết phục với vấn đề cần giải quyết. 140 [A] Dat N.Q., Anh N.T.N., Vijender K.S. and An N.L, (2020) "Prediction of Water Level Using Time Series, Wavelet And Neural Network Approaches", International Journal of Information Retrieval Research, vol. 10, iss. 3, pp 19 (ESCI-Q4). [B] Dat N.Q., Anh N.T.N., Anh N.N., Vijender K.S., (2022) "Hybrid online model based multi seasonal decompose for short-term electricity load fore- casting using ARIMA and online RNN", Journal of Intelligent & Fuzzy Systems, vol. 41, iss. 5, pp. 5639-5652 (SCI-Q3). [C] Hieu N.Q., Duong N.L.Q., Hoa L.Q. and Dat N.Q., (2023) "An approach to extract information from academic transcripts of HUST", International Conference on Intelligent Systems & Networks, 2023 (SCOPUS Conference). [D] Quan P.D., Anh V.H., Dat N.Q., Vijender K.S. (2021), "Hybrid SARIMA—GRU Model Based on STL for Forecasting Water Level in Red River North Viet- nam"; Book chapter in: Nguyen T.D.L., Lu J. (eds) Machine Learning and Mechanics Based Soft Computing Applications. Studies in Computational Intelligence, vol 1068. Springer, Singapore (SCOPUS-Q4). [E] Anh N.T.N., Anh N.N., Thang T.N., Vijender K.S., Rubén G.C., Dat N.Q., "Hybrid online model based multi seasonal decompose for short-term elec- tricity load forecasting Using ARIMA and Online recurrent neural network", Computers and Electrical Engineering (Submitted ) (SCI-Q1). [F] Tung N.X.; Dat N.Q.; Thang T.N.; Vijender K.S.; Anh N.T.N., (2020) 141 "Analysis of temperature-sensitive on short-term electricity load forecast- ing", Conferrence 2020 IEEE - HYDCON. [G] Anh N.T.N., Khanh T.Q., Dat N.Q., Edouard A., Vijender K.S., (2020) "Fraud detection via deep neural variational autoencoder oblique random forest", Conferrence 2020 IEEE - HYDCON. [H] Van D.T., Lan L.H., Dat N.Q., Nhat D.D., Vijender K.S., (2021) "Using Data Mining to Preprocess Data for the Neural Network Model to Predict Water Level Applied for Northern Vietnam’s Agriculture", International Conference on Computational Intelligence in Machine Learning 2021 ; Book chapter in: Kumar, A., Zurada, J.M., Gunjan, V.K., Balasubra- manian, R. (eds) Computational Intelligence in Machine Learning. Lecture Notes in Electrical Engineering, vol 834, Springer. [I] An, N.X., Minh, N.N., Dat, N.Q., Solanki, V.K., (2021) "Hybrid Model Seasonal ARIMA-LSTM for Prediction Water Level in Black River on the Border Vietnam-China", International Conference on Computational Intel- ligence in Machine Learning 2021 ; Book chapter in: Kumar A., Zurada J.M., Gunjan V.K., Balasubrama- nian, R. (eds) Computational Intelligence in Machine Learning. Lecture Notes in Electrical Engineering, vol 834. Springer, Singapore. [J] Yen T.T.H., An N.X., Dat N.Q., Vijender K.S., (2021) "Multi-input LSTM for water level forecasting in Black River at the border of Vietnam-China", IEEE ICMLANT 2021 - International Conference on Machine Learning and Applied Network Technologies. [K] Dat N.Q., (2023) "Online deep neural networks model based multi seasonal decompose for short-term electricity load forecasting", special issue ECTI Transactions on Electrical Engineering, Electronics, and Communications. 142 [L] Dat N.Q., Nhat D.D., (2023) "Hybrid model SARIMA-LSTM based on data decomposition by STL for prediction PM2.5 in central district in Hanoi", special issue ECTI Transactions on Electrical Engineering, Electronics, and Communications. 143 [1] Igor Aizenberg et al. (2016), “Multilayer Neural Network with Multi- Valued Neurons in time series forecasting of oil production”, Neurocom-
puting, 175, pp. 980 –989, issn: 0925-2312. [2] Oren Anava et al. (2013), “Online Learning for Time Series Prediction”, JMLR: Workshop and Conference Proceedings vol (2013). [3] C. Narendra Babu and B. Eswara Reddy (2014), “A moving-average fil- ter based hybrid ARIMA–ANN model for forecasting time series data”,
Applied Soft Computing, 23, pp. 27 –38, issn: 1568-4946. [4] G.E.P. Box and G. Jenkins (1970), “Time Series Analysis, Forecasting and Control”, Holden-Day, San Francisco, CA. [5] R. Chandra (2015), “Competition and Collaboration in Cooperative Co- evolution of Elman Recurrent Neural Networks for Time-Series Predic- tion”, IEEE Transactions on Neural Networks and Learning Systems,
26 (12), pp. 3123–3136, issn: 2162-2388. [6] Aymen Cherif, Hubert Cardot, and Romuald Boné (2011), “SOM time series clustering and prediction with recurrent neural networks”, Neuro- computing, 74 (11), Adaptive Incremental Learning in Neural Networks Learning Algorithm and Mathematic Modelling Selected papers from the International Conference on Neural Information Processing 2009
(ICONIP 2009), pp. 1936 –1944, issn: 0925-2312. 144 [7] Junyoung Chung et al. (2015), “Gated Feedback Recurrent Neural Net- works”, 32nd International Conference on Machine Learning, pp. 2067– 2075. [8] R. B. Cleveland et al. (1990), “SARIMA modelling approach for railway passenger flow forecasting”, Journal of Official Statistic, 6 (7), pp. 3–73. [9] Nagesh Kumar D. et al. (2004), “River Flow Forecasting using Recurrent Neural Networks”, Water Resources Management, 18, 143–161. [10] Nguyen Quang Dat et al. (2022), “Hybrid online model based multi sea- sonal decompose for short-term electricity load forecasting using ARIMA and online RNN”, Journal of Intelligent & Fuzzy Systems: Applications in Engineering and Technology, 41 (5), 5639–5652. [11] Deen Dayal et al. (2019), “Development of ARIMA Model for Monthly Rainfall Forecasting over an Indian River Basin”, Recent Findings in Intelligent Computing Techniques, pp. 325–331. [12] Weihui Deng and Guoyin Wang (2017), “A novel water quality data analysis framework based on time-series data mining”, Journal of Envi- ronmental Management, 196, pp. 365–375. [13] Weihui Deng, Guoyin Wang, and Xuerui Zhang (2015), “A novel hybrid water quality time series prediction method based on cloud model and fuzzy forecasting”, Chemometrics and Intelligent Laboratory Systems, 49 (A), pp. 39–49. [14] Boubacar Doucoure, Kodjo Agbossou, and Alben Cardenas (2016), “Time series prediction using artificial wavelet neural network and multi-resolution analysis: Application to wind speed data”, Renewable Energy, 92, pp. 202
–211, issn: 0960-1481. [15] Tingting Fang and Risto Lahdelma (2016), “Evaluation of a multiple linear regression model and SARIMA model in forecasting heat demand 145
for district heating system”, Applied Energy, 179, pp. 544 –552, issn: 0306-2619. [16] Faruk and Durdu Omer (2010), “A hybrid neural network and ARIMA model for water quality time series prediction”, Engineering applications of artificial intelligence, 23 (4), pp. 586–594. [17] Mahmut Firat, Mustafa Erkan Turan, and Mehmet Ali Yurdusev (2010), “Comparative analysis of neural network techniques for predicting water
consumption time series”, Journal of Hydrology, 384 (1), pp. 46–51, issn: 0022-1694. [18] Huaien Gao, Rudolf Sollacher, and Hans-Peter Kriegel (2007), “Spiral Recurrent Neural Network for Online Learning”, ESANN’2007 proceed- ings. [19] Jun Gao, Yi Lu Murphey, and Honghui Zhu (2018), “Multivariate time series prediction of lane changing behavior using deep neural network”, Applied Intelligence, 48, 3523–3537. [20] Renata Graf, Senlin Zhu, and Bellie Sivakumar (2019), “Forecasting river water temperature time series using a wavelet–neural network hy- brid modelling approach”, Journal of Hydrology, 578, p. 124115. [21] E. Hazan, A. Agarwal, and S Kale (2007), “Logarithmic regret algo- rithms for online convex optimization”, Machine Learning, 69, pp. 169– 192. [22] Sepp Hochreiter and J¨urgen Schmidhuber (1997), “Long Short-Term Memory”, Neural Computation, 9 (8), pp. 1735–1780. [23] Najeeb Iqbal et al. (2005), “Use of the ARIMA model for forecasting wheat area and production in Pakistan”, JOURNAL OF AGRICUL-
TURE SOCIAL SCIENCES, 1 No.2, issn: 1813–2235. [24] Brockwell Peter J. and Davis Richard A. (1991), “Time Series: Theory and Methods”, International Conference on Machine Learning. 146 [25] Lakhmi C. Jain et al. (2014), “A review of online learning in supervised neural networks”, Neural Computing & Application, 22, 491–509. [26] Ayob Katimon, Shamsuddin Shahid, and Morteza Mohsenipour (2017), “Modeling water quality and hydrological variables using ARIMA: a case study of Johor River, Malaysia”, Sustainable Water Resources Manage- ment, 4 (3). [27] Chenghao Liu et al. (2016), “Online ARIMA Algorithms for Time Series Prediction”, Thirtieth AAAI Conference on Artificial Intelligence. [28] Van der Lugt B.J. and Feelders A.J. (2020), “Conditional Forecasting of Water Level Time Series with RNNs”, In: Lemaire V., Malinowski S., Bagnall A., Bondu A., Guyet T., Tavenard R. (eds) Advanced Ana- lytics and Learning on Temporal Data. AALTD 2019. Lecture Notes in Computer Science. [29] Afshin Maleki et al. (2018), “Comparison of ARIMA and NNAR Mod- els for Forecasting Water Treatment Plant’s Influent Characteristics”, KSCE Journal of Civil Engineering, 22, 3233–3245. [30] L. Martínez-Acosta et al. (2020), “SARIMA Approach to Generating Synthetic Monthly Rainfall in the Sinú River Watershed in Colombia”, Atmosphere, 11 (6), p. 606. [31] Miloˇs Milenkovi´c et al. (2018), “SARIMA modelling approach for rail- way passenger flow forecasting”, Transport, 33, pp. 399–419. [32] Alberto Montanari, Renzo Rosso, and Murad S. Taqqu (2000), “A sea- sonal fractional ARIMA model applied to the Nile River monthly flows at Aswan”, WATER RESOURCES RESEARCH, 36 No.5, pp. 1249–
1259, issn: 0925-2312. [33] Vahid Moosavi et al. (2013), “A Wavelet-ANFIS Hybrid Model for Groundwater Level Forecasting for Different Prediction Periods”, Water Resources Management, 27, 1301–1321. 147 [34] Ahmad Hasan Nury, Khairul Hasan, and Md. Jahir Bin Alam (2017), “Comparative study of wavelet-ARIMA and wavelet-ANN models for temperature time series data in northeastern Bangladesh”, Journal of King Saud University - Science, 29 (1), pp. 47–61. [35] Dabral P. P. and Murry M. Z. (2017), “Modelling and Forecasting of Rainfall Time Series Using SARIMA”, Environ. Process., 4, pp. 399– 419. [36] Sundarambal Palani, Shie-Yui Liong, and Pavel Tkalich (2008), “An ANN application for water quality forecasting”, Marine Pollution Bul-
letin, 56 (9), pp. 1586–1597, issn: 0025-326X. [37] Thi-Thu-Hong Phan and Xuan Hoai Nguyen (2020), “Combining statis- tical machine learning models with ARIMA for water level forecasting: The case of the Red river”, Advances in Water Resources, 142, p. 103656. [38] Mina Ranjbar and Mohammadreza Khaledian (2017), “Using ARIMA time series model in forecasting the trend of changes in qualitative pa- rameters of Sefidrud River”, International Research Journal of Applied and Basic Sciences, 8 (3), pp. 346–351. [39] J.J. Ruiz-Aguilar, I.J. Turias, and M.J. Jiménez-Come (2014), “Hybrid approaches based on SARIMA and artificial neural networks for inspec- tion time series forecasting”, Transportation Research Part E: Logistics
and Transportation Review, 67, pp. 1 –13, issn: 1366-5545. [40] Panigrahi S. and Behera H. S. (2015), “A hybrid ETS–ANN model for time series forecasting”, Engineering Applications of Artificial Intelli- gence, 66, pp. 49–59. [41] Jose D. Salas, Duane C. Boes, and Ricardo A. Smith (1982), “Estimation of ARMA Models with seasonal parameters”, Water Resources Research, 18 (4), pp. 1006–1010. 148 [42] R. H. Shumway and D. S. Stoffer (2006), “Very short-term solar PV generation forecast using SARIMA model: A case study”, pp. 47–82,
issn: null. [43] K. B. Tadesse and M. O. Dinka (2017), “Application of SARIMA model to forecasting monthly flows in Waterval River, South Africa”, Journal of Water and Land Development, 35, pp. 229–236. [44] G¨uldal V. and Tongal H. (2010), “Comparison of Recurrent Neural Net- work, Adaptive Neuro-Fuzzy Inference System and Stochastic Models in E˘girdir Lake Level Forecasting”, Water Resources Management, 24, 105–128. [45] G. Viccione et al. (2019), “On the use of ARIMA models for short- term water tank levels forecasting”, Water Science & Technology Water Supply, 20 (3), p. 1. [46] Z. Xiang, J. Yan, and I. Demir (2019), “A Water Level Prediction Model Based on ARIMA-RNN”, JBigDataService, 38, pp. 221–226. [47] Dehe Xu et al. (2015), “Application of a Hybrid ARIMA–SVR Model Based on the SPI for the Forecast of Drought—A Case Study in Henan Province, China”, Journal of Applied Meteorology and Climatology, 69 (7). [48] Shuojiang Xu, Hing Kai Chan, and Tiantian Zhang (2019), “Forecasting the demand of the aviation industry using hybrid time series SARIMA- SVR approach”, Transportation Research Part E: Logistics and Trans-
portation Review, 122, pp. 169 –180, issn: 1366-5545. [49] Zhen Yu et al. (2017), “ARIMA modelling and forecasting of water level in the middle reach of the Yangtze River”, 4th International Conference on Transportation Information and Safety (ICTIS), pp. 172–177.2.7. Thực nghiệm mô hình SARIMA online với dữ liệu
thực tế
2.8. Kết quả thực nghiệm thực tế
CHƯƠNG 3. MÔ HÌNH LAI
3.1. Mô hình lai ARIMA và ANN
3.2. Mô hình lai ARIMA - LSTM được lọc qua bộ lọc MA
3.3. Mô hình lai ARIMA - Neural Network có sử dụng
lọc nhiễu bằng Wavelet
3.4. Mô hình lai ARIMA-LSTM được tách dữ liệu bằng
MA
3.5. Mô hình lai ARIMA-ANN lọc nhiễu bằng Wavelet
CHƯƠNG 4. MÔ HÌNH LAI MÁY HỌC TRỰC TUYẾN
4.1. Mô hình lai máy học trực tuyến Multi-seasonal -
ARIMA online - RNN online
4.2. Thực nghiệm của mô hình lai máy học trực tuyến
Multi-seasonal - ARIMA online - RNN online
KẾT LUẬN
DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC ĐÃ
CÔNG BỐ CỦA LUẬN ÁN
TÀI LIỆU THAM KHẢO
Tiếng Anh: