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

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 2016 [27]

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

2.7. Thực nghiệm mô hình SARIMA online với dữ liệu

thực tế

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ẻ.

2.8. Kết quả thực nghiệm thực tế

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

CHƯƠNG 3. MÔ HÌNH LAI

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.

3.1. Mô hình lai ARIMA và ANN

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.

3.2. Mô hình lai ARIMA - LSTM được lọc qua bộ lọc MA

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

3.3. Mô hình lai ARIMA - Neural Network có sử dụng

lọc nhiễu bằng Wavelet

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

3.4. Mô hình lai ARIMA-LSTM được tách dữ liệu bằng

MA

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.

3.5. Mô hình lai ARIMA-ANN lọc nhiễu bằng Wavelet

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

CHƯƠNG 4. MÔ HÌNH LAI MÁY HỌC TRỰC TUYẾN

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.

4.1. Mô hình lai máy học trực tuyến Multi-seasonal -

ARIMA online - RNN online

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. Thực nghiệm của mô hình lai máy học trực tuyến

Multi-seasonal - ARIMA online - RNN online

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

KẾT LUẬN

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

DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC ĐÃ

CÔNG BỐ CỦA LUẬN ÁN

[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

TÀI LIỆU THAM KHẢO

Tiếng Anh:

[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.