You are on page 1of 25

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC


———————o0o——————–

ĐỒ ÁN 3

DỰ BÁO SỬ DỤNG CHUỖI THỜI GIAN KẾT


HỢP MẠNG NƠ-RON NHÂN TẠO

Chuyên ngành: Toán ứng dụng

Giảng viên hướng dẫn: TS. Nguyễn Thị Ngọc Anh

Sinh viên: Nguyễn Đức Sơn

Lớp: Toán tin K59

HÀ NỘI, 1/2019
Lời nói đầu

Mô hình hóa và dự báo chuỗi thời gian là vấn đề quan trọng có nhiều ứng dụng
trong thực tế. Mục đích chính của việc mô hình hóa chuỗi thời gian là tập hợp 1
cách cẩn thận và nghiên cứu dự trên dữ liệu trong quá khứ của chuỗi thời gian,
rồi sau đó phát triển 1 mô hình phù hợp với cấu trúc của chuỗi thời gian đang
xét. Mô hình này được sử dụng để tìm ra các giá trị của chuỗi trong tương lai.
Quá trình này được gọi là dự báo chuỗi thời gian. Dự báo chuỗi thời gian được
được áp dụng trong rất nhiều lĩnh vực như kinh tế, tài chính, khoa học kĩ thuật,. . .
đối với từng vấn để trong các lĩnh vực khác nhau, chúng ta phải chọn 1 mô hình
phù hợp nhất với chuỗi thời gian đang quan tâm. Một trong các mô hình phổ biến
nhất là ARIMA(AutoRegressive Integrated Moving Average- tự hồi quy tích hợp
trung bình trượt). Chuỗi thời gian được xét trong mô hình ARIMA được giả sử là
tuyến tính và tuân theo 1 phân phối đã biết như phân phối chuẩn. Sự phổ biến
của nó có được là do tính linh hoạt với các chuỗi thời gian khác nhau và được
kết hợp phương pháp Box-Jenkins cho việc tối ưu mô hình. Nhưng có 1 hạn chế
cho mô hình này là chuỗi thời gian được giả sử là tuyến tính. Điều này trở nên
không thực tế trong nhiều vấn đề thực tế. Để khắc phục được những hạn chế này,
các mô hình không tuyến tính đã được đề xuất đặc trưng nhất là ANNs (Arificial
Neural Networks – mạng nơ-ron nhân tạo). Hiện nay, mạng nơ-ron nhân tạo thu
hút nhiều sự quan tâm trong vấn đề dự báo và phân lớp và tất nhiên dự báo chuỗi
thời gian cũng không phải là ngoại lệ. Và đặc biệt hơn, vấn đề dự báo chuỗi thời
gian thường hay đi cùng kiến trúc mạng neural hồi quy (recurent neural network).
Em sẽ có phần giới thiệu tổng quan về 2 phương pháp này trong phần dưới đây.
Từ đó, em sẽ trình bày phương pháp lai giữa ARIMA và ANNs với dữ liệu đã được
biến đổi qua phương pháp trung bình trượt được đề xuất bởi C. Narendra Babu,
B. Eswara Reddy.

i
Một số kí hiệu viết tắt

ARIMA Tự hồi quy tích hợp trung bình trượt.


ARMA Tư hồi quy trung bình trượt.
AR Tự hồi quy.
MA Trung bình trượt.
ACF Hàm tự tương quan.
PACF Hàm tự tương quan riêng.
LSTM Mạng nơ-ron bô nhớ dài ngắn hạn.

ii
Mục lục

Lời nói đầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i

Một số kí hiệu viết tắt . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii

1 Giới thiệu chung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


1.1 Vấn đề nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Đối tượng và phạm vi nghiên cứu . . . . . . . . . . . . . . . . . . . . 1
1.3 Mục tiêu nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.4 Phướng pháp nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 Bố cục đồ án . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Kiến thức cơ sở . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 Giới thiệu chung về chuỗi thời gian . . . . . . . . . . . . . . . . . . . 5
2.2 Mô hình tự hồi quy tích hợp trung bình trượt - ARIMA . . . . . . . 7
2.3 Mạng nơ-ron nhân tạo - ANN . . . . . . . . . . . . . . . . . . . . . . 9

3 Phát triển mô hình . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4 Thí nghiệm và kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5 Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Tài liệu tham khảo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

iii
Chương 1

Giới thiệu chung

1.1 Vấn đề nghiên cứu


Dự báo mực nước là một vấn đề quan trong được ứng dụng trong nhiều lĩnh
vực trong đời sống như nông nghiệp, cảnh báo ngập lụt,... Do vậy, việc xây dựng
mô hình để dự báo mực nước là hết sức cần thiết. Trong báo cáo phát triển một
mô hình lai giữa ARIMA và mạng nơ-ron hồi quy(LSTM) kết hợp bộ lọc trung
bình trượt để dự báo mực nước trên sông Hồng tại trạm Yên Bái, miền Bắc Việt
Nam. Đầu vào của mô hình là chuỗi thời gian đơn chiều với các điểm dữ liệu được
ghi lại hàng giờ. Mô hình được sử dụng để dự báo mực nước trên sông trong 2, 4,
6, 8 giờ tiếp theo.

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


Sông Hồng có tổng chiều dài là 1,149 km bắt nguồn từ Trung Quốc chảy qua
Việt Nam và đổ ra biển Đông. Đoạn chảy trên đất Việt Nam dài 510 km. Đây là
dòng sông quan trọng của nền văn hóa lúa nước Việt Nam. Sông Hồng đóng vai
trò quan trọng trong đời sống sinh hoạt của người dân và nông nghiệp. Do lượng
phù sa lớn mà lòng sông luôn bị lấp đầy khiến cho lũ lụt thường xuyên xảy ra vào
mùa mưa. Vậy nên, dự báo mực nước trên sông giúp cho các hệ thống cảnh báo
ngập lụt hoạt động hiệu quả hơn. Để dự báo mực nước trên sông Hồng, dữ liệu từ
trạm đo Yên Bái sẽ được sử dụng cho các mô hình dự báo.

1.3 Mục tiêu nghiên cứu


Đồ án này sẽ tâp trung dự báo mực nước trên sông Hồng đoạn chảy qua trạm
Yên Bái bằng mô hình lai giữa ARIMA và mạng nơ-ron nhân tạo hồi quy(LSTM)

1
Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron

với bộ dự liệu chuỗi thời gian đơn chiều được đi qua bộ lọc trung bình trượt(MA
filter). Các kết quả dự đoán sẽ được so sánh với kết quả của các mô hinh đơn
ARIMA và mạng nơ-ron hồi quy LSTM.

1.4 Phướng pháp nghiên cứu


Trong vấn đề dự mực nước sử dụng chuỗi thời gian có khá nhiều phương pháp
được áp dụng. Nhưng có 2 hướng tiếp cận chính là phương pháp thống kê và
phương pháp học máy. Trong phương pháp thống kê, các mô hình chuỗi thời gian
như ARMA, ARIMA, SARIMA đã được áp dụng một cách rộng rãi. Trong phương
pháp học máy có rất nhiều mô hình được áp dụng cho dự báo mực nước như hồi
quy tuyến tính (LRM-Linear Regreesion Model), rừng ngẫu nhiên hồi quy(Random
Forest Regression),hồi quy vec-tơ hỗ trợ(SVR-Support Vector Regression), hồi quy
LASSO, mạng nơ-ron nhân tạo,. . . Trong đó, mạng nơ-ron nhân tạo là một mô
hình mới có tính ứng dụng cao và đặc trưng là mạng nơ-ron hồi quy được sử dụng
cho các bài toán dự bao chuỗi thời gian.
Trong bài báo [?], Amritendu Mukherjee, Parthasarathy Ramachandranchan
đã thử nghiệm và so sánh giữa các mô hình LRM, SVR, ANN áp dụng cho vấn đề
dự báo mực nước ngầm. Trong thử nghiệm này, bộ dữ liệu được sử dụng là chuỗi
thời gian đa chiều và các bước thời gian không cách đều nên không thể sử dụng
các mô hình ARIMA. Với bộ dữ liệu được thử nghiệm, SVR cho kết quả tốt nhất
và mạng nơ-ron nhân tạo cho kết quả cũng không tồi dựa trên thước đo lỗi RMSE.
Cũng với mục tiêu dự báo mực nước [?], Thanh-Tung Nguyen, Quynh Nguyen
Huu đã áp dụng các mô hình hồi quy LASSO, rừng ngẫu nhiên hồi quy, hồi quy
vec-tơ hỗ trợ cho vấn đề dự báo mực nước trên sông Mê-kong. Các mô hình trên
đều cho kết quả rất khả quan. Hồi quy vec-tơ hỗ trợ vẫn cho kết quả tốt nhất với
các thước đo RMSE, MAE. Với bộ dữ liệu được sử dụng, hồi quy vec-tơ hỗ trợ cho
thước đo lỗi MAE=0,486(m) cho 5 ngày dự báo tiếp theo mà khoảng chấp nhận
được trong dự báo mực nước trên sông Mê-kong là [0.5:0.75].
Jan Adamowski, Hiu Fung Chan trong tài liệu [?] đã sử dụng mô hình kết
hợp giữa wavelet và mạng nơ-ron cho vấn đề dự báo mực nước ngầm tại Quebec,
Canada, và so sánh chúng với 2 mô hình dự báo phổ biến là ARIMA và mạng
nơ-ron. Mô hình kết hợp giữa wavelet và mạng nơ-ron cho kết quả tốt nhất theo
thước đo lỗi RMSE.
Trên đây là một số kết quả thu được của các nhà nghiên cứu trong vấn đề dự
báo mực nước theo các mô hình học máy. Dữ liệu chuỗi thời gian có nhiều ứng
dụng trong vấn đề dự báo nhưng không phải chuỗi thời gian nào cũng có cùng

Nguyễn Đức Sơn 2 Toán tin K59 ĐHBKHN


Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron

thuộc tính. Một số chuỗi thời gian có tính mùa như giao thông đường bộ vào một
số thời điểm cụ thể trong ngày, sự biến đổi khí hậu lặp lại theo mùa,. . . Một số
chuỗi dữ liệu không có tính chất mùa như dữ liệu tài chính, dữ liệu thị trường
chứng khoán,. . . Một số chuỗi thời gian có tính biến động cao, chẳng hạn như dữ
liệu tốc độ gió và một số ít biến động hơn, chẳng hạn như nhiệt độ toàn cầu và
lượng mưa hàng năm. Một số dữ liệu gần như tuyến tính trong tự nhiên, chẳng
hạn như sự phát triển của động vật, thực vật hoặc con người, nhưng nhiều bộ dữ
liệu khác là phi tuyến trong tự nhiên. Vậy nên, ta có thể nhận thấy rằng: không
có model nào tốt nhất cho tất cả các bộ dữ liệu. Đối với bộ dữ liêu mực nước trên
sông Hông được đo tại trạm Yên Bái, đồ án sẽ phát triển mô hình lai giữa ARIMA
và mạng nơ-ron hồi quy (LSTM) kết hợp bộ lọc trung bình trượt cho bài toán dự
báo mực nước.
G. Peter Zhang [?] giả sử rằng: chuỗi thời gian là tổ hợp của thành phần tuyến
tính và phi tuyến. Nếu điều giả sử này xảy ra thì ARIMA hoặc ANN không thể
phù hợp với mô hình dự báo vì mô hình ARIMA không thể xử lý các mối quan
hệ phi tuyến trong khi mô hình mạng nơ-ron cũng không G. Peter Zhang giả sư
rằng: chuỗi thời gian là tập hơp thành phần tuyến tính và phi tuyến. Nếu điều giả
sử này xảy ra thì ARIMA hoặc ANN không thể phù hợp với mô hình dự báo vì
mô hình ARIMA không thể xử lý các mối quan hệ phi tuyến trong khi mô hình
mạng nơ-ron cũng không thể xử lý cả hai quan hệ tuyến tính và phi tuyến. Vì lý
do đó, G. Peter Zhang đã đề xuất mô hình lai giữa ARIMA và mạng nơ-ron nhằm
mục đích nắm bắt tốt hơn các mối quan hệ trong trong dữ liệu làm tăng độ chính
xác. Mô hình lai này đã được thử nghiệm trên 3 bộ dữ liệu: “Wolfs sunspot data”
, “Canadian lynx data”, “British pound - US dollar exchange rate data”. Kết quả
chỉ ra rằng mô hình lai cho kết quả tốt hơn các mô hình đơn ARIMA, ANN.
Theo một quan điểm khác, C. Narendra Babu và B. Eswara Reddy [?] giả sử
rằng chuỗi thời gian ban đầu là tổng của thành phần biến động thấp và thành phần
biến động cao. Các thành phần được phân tách dựa trên bộ lọc trung bình trượt.
Sau khi đảm bảo chuỗi chuỗi biến động thấp đã dừng, nó sẽ được mô hình hóa
sử dụng ARIMA. Thành phần biến động cao sẽ được mô hình hóa sử dụng mạng
nơ-ron. Kết quả thu được là tổng của các thành phần được dự báo qua ARIMA và
ANN. Mô hình này có thể phù hợp cho cả bài toán dự báo 1 bước và nhiều bước
và đạt được các kết quả tốt hơn mô hình được đề xuất bởi G. Peter Zhang.
Trong báo cáo đồ án, tác giả sẽ phát triển mô hình dựa trên ý tưởng lai giữa
ARIMA và mạng nơ-ron kết hợp bộ lọc trung bình trượt được đề xuất bởi C.
Narendra Babu và B. Eswara cho vấn đề dự báo mực nước. Mô hình được phát
triển, sẽ mô hình hóa thành phần biến động cao trong chuỗi dữ liệu bằng mạng

Nguyễn Đức Sơn 3 Toán tin K59 ĐHBKHN


Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron

nơ-ron hồi quy LSTM(hiện nay, LSTM là 1 kiến trúc mạng nhận được khá nhiều
sự quan tâm của các nhà nghiên cứu).

Thuận lợi Không thuận lợi


Phổ biến, mềm dẻo trong Chỉ phát hiện được mối
nhiều bài toán dự báo chuỗi quan hệ tuyến tính trong dữ
ARIMA thời gian. liệu.
Thích hợp cho dự báo ngắn Chi phí tính toán, đô tin cậy
hạn. phụ thuộc vào người dư báo.
Không thích hợp cho dự báo
dài hạn.
Phát hiện được mối quan hệ
Cần tiền xử lý dữ liệu.
LSTM phi tuyến trong dữ liệu.
Thích hợp cho cả dự báo
ngắn và dài hạn.
Mang đầy đủ những thuận
ARIMA-LSTM-MA
lợi của 2 phương pháp đơn.

Bảng 1.1: So sánh ARIMA, LSTM, ARIMA-LSTM-MA

1.5 Bố cục đồ án
Bố cục đồ án gồm 5 chương:

• Chương 1: Giới thiệu về vấn đề nghiên cứu, đối tượng và phạm vi nghiên cứu,
phương pháp nghiên cứu.

• Chương 2: Kiến thức cơ sở về chuỗi thời gian, mô hình ARIMA, mạng nơ-ron
nhân tạo.

• Chương 3: Phát triển mô hình lai ARIMA và LSTM kết hợp bộ lọc trung
bình trượt.

• Chương 4: Trình bày thí nghiệm và kết quả đạt được.

• Chương 5: Kết luận.

Nguyễn Đức Sơn 4 Toán tin K59 ĐHBKHN


Chương 2

Kiến thức cơ sở

2.1 Giới thiệu chung về chuỗi thời gian


Chuỗi thời gian là quá trình ngẫu nhiên {Xt } phụ thuộc theo biến thời gian t
được biểu thị qua dãy các phép đo (các quan sát). Chuỗi thời gian có thể là liên
tục hoặc rời rạc. Chuỗi thời gian là rời rạc nếu các phép đo được thực hiện trên
tập thời gian rời rạc, ngược lại là chuỗi thời gian liên tục. Các ứng dụng thực tế
thường sử dụng các chuỗi thời gian rời rạc, với khoảng thời gian cách đều (phút,
giờ, ngày, tuần, tháng,quý, năm,. . . ).
Một chuỗi thời gian thường có 4 thành phần chính: thành phần xu hướng, thành
phần mùa, thành phần chu kì, thành phần ngẫu nhiên. Thành phần xu hướng mô
tả sự tăng lên, giảm đi hay không biến động trong thời gian gian dài của chuỗi. Ví
dụ như chuỗi thời gian liên quan đến sự phát triển dân số, số lượng nhà biểu thị
xu hướng đi lên, trái lại với những chuỗi thời gian có xu hướng đi xuống như dịch
bệnh, số người biết chữ,. . . Thành phần mùa mô tả sự dao động của chuỗi theo
từng mùa trong năm. Có nhiều yếu tố gây ra sự biến động theo mùa như: điều kiện
khí hậu, thời tiết, thói quen truyền thống,. . . Ví dụ như số lượng kem bán được
trong mùa hè, áo len trong mùa đông, trong dịp cận tết nhu cầu các mặt hàng
bánh kẹo tăng cao,. . . Thành phần chu kì mô tả sự biến động của chuỗi trong thời
gian trung hạn được lặp lại theo chu kì (1 năm hoặc 2 năm). Ví dụ như chu kì kinh
doanh theo 4 pha: phát triển, sụt giảm, sự suy thoái, phục hồi. Thành phần ngẫu
nhiên chỉ sự thay đổi bất thường trong chuỗi gây ra ra bởi các yếu tố không thể
dự đoán được, không tuân theo quy luật cụ thể. Ví dụ như chiến tranh, động đất,
ngập lụt, . . .
Để xem xét sự ảnh hưởng của 4 thành phần này, ta có 2 kiểu mô hình khác
nhau sử dụng cho chuỗi thời gian: mô hình nhân và mô hình cộng:

Mô hình nhân: Y (t) = T (t) × S(t) × C(t) × I(t)

5
Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron

Mô hình cộng: Y (t) = T (t) + S(t) + C(t) + I(t)

Với Y (t) là các quan sát và T (t), S(t), C(t), I(t) tương ứng là các thành phần xu
hướng, mùa, chu kì và thành phần ngẫu nhiên tại thời điểm t.
Mô hình nhân giả thiết rằng các thành phần không nhất thiết độc lập, chúng
có thể ảnh hưởng lẫn nhau. Trái lại, mô hình cộng giả sử rằng 4 thành phần là độc
lập với nhau.
Định nghĩa 2.1.1. Quá trình dừng
Chuỗi thời gian {Xt , t ∈ Z} được gọi là dừng nếu 3 điều kiện dưới đây thỏa mãn:

i. E|X|2 < ∞, ∀t ∈ Z
ii. EXt = m, ∀t ∈ Z
iii. γx (r, s) = γx (r + t, s + t), ∀t, r, s ∈ Z

Nói một cách khác, nếu một chuỗi thời gian là dừng nếu nếu trung bình và
phương sai của nó không đổi theo thời gian và giá trị hiệp phương sai giữa hai thời
điểm chỉ phụ thuộc vào khoảng cách giữa hai thời điểm đó.
Định nghĩa 2.1.2. (Tự hiệp phương sai)
Nếu {Xt , t ∈ T } là một quá trình có V ar(Xt ) < ∞ với mỗi t ∈ T thì hàm tự hiệp
phương sai γk của Xt tại độ trễ k được định nghĩa bởi:

γk = Cov(Xt , Xt+k ) = E[(Xt − µ)(Xt+k − µ)] (2.1)

Định nghĩa 2.1.3. (Hệ số tự tương quan - ACF)


Hệ số tự tương quan tại độ trễ k được định nghĩa như sau:
γk
ρk = (2.2)
γ0
Với µ = E[Xt ] và γ0 là phương sai của chuỗi thời gian.
Trong thực tế, chúng ta chỉ tính toán được tự hiệp phương sai mẫu, kí hiệu ck ,
hàm tự tương quan mẫu, kí hiệu Γk và tự tương quan riêng mẫu, kí hiệu akk theo
các công thức dưới đây:

n−k
1X
ck = (Xj+k − X)(Xj − X) 0≤k<n (2.3)
n
j=1
n−k
P
(Xj+k − X)(Xj − X)
ck j=1
Γk = = n (2.4)
c0 P
(Xj − X)2
j=1

Nguyễn Đức Sơn 6 Toán tin K59 ĐHBKHN


Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron

n
P
Xj
j=1
X= (2.5)
n

k
P
(Γk+1 − Γi ak,k−i+1 )
i=1
ak+1,k+1 =
k
(2.6)
P
(1 − Γi ak,i )
i=1

ak+1,j = ak,j − ak+1,k+1 ã(k) j = 1, k, ã(k) = (ak,k , ak,k−1 , ..., ak,1 ) (2.7)

2.2 Mô hình tự hồi quy tích hợp trung bình trượt -


ARIMA
Mô hình tự hồi quy kết hợp trung bình trượt là một kỹ thuật mô hình hóa
tuyến tính áp dụng cho chuỗi thời gian đơn chiều. Trong kỹ thuật này, dữ liệu
chuỗi thời gian trước hết phải kiểm tra tính dừng. Nếu chuỗi dữ liêu chưa có tính
dừng, chúng ta áp dụng phép toán sai phân cho chuỗi dữ liệu. Phép toán sai phân
được áp dụng đến khi chuỗi dữ liệu đạt được tính dừng. Nếu phép toán sai phân
được áp dụng d lần, ta nói rằng bậc sai phân của mô hình ARIMA là d. Trong
thực nghiệm, chúng ta có thể áp dụng một số cách dưới đây để kiểm tra tính dừng:
(i)vẽ đồ thị biểu diễn bộ dữ liệu; (ii)tiến hành chia tách bộ dữ liệu rồi tính trung
bình và phương sai trên tập đã được chia tách và so sánh chúng; (iii)sử dụng kiểm
định Dickey-Fuller Test để kiểm tra tính dừng. Kết quả sau khi lấy sai phân, ta có
bộ dữ liệu sẽ được mô hình hóa qua mô hình tự hồi quy trung bình trượt(ARMA).
Giá trị của chuỗi tai thời điểm t là yt được xem như một hàm của p giá trị tai thời
điểm trước đó (yt−1 , yt−2 , ..., yt−p ) và lỗi tại các thời điểm t, t − 1, ..., t − q ta đặt là:
nt , nt−1 , ..., nt−q . Ta có công thức:

yt = a1 yt−1 + a2 yt−2 + ... + ap yt−p + nt + b1 nt−1 + b2 nt−2 + ... + bq nt−q (2.8)

Trong công thức (2.8), a1 đến ap là các hệ số tự hồi quy(AR) và b1 đến bq là


các hệ số trung bình trượt(MA). Vì vây, mô hình mà chúng ta quan tâm được kí
hiệu là ARIMA(p,d,q). Mô hình tự hồi quy trung bình trượt(ARMA) giả sử rằng
chuỗi lỗi nt là nhiễu trắng và có phân phối chuẩn. Quá trình mô hình hóa tự hồi
quy tích hợp trung bình trượt(ARIMA) gồm 3 bước: (a)Nhận diện mô hình(tìm
p,q); (b) ước lượng các hệ số của mô hình(ước lượng a,b); (c) dự báo.

Nguyễn Đức Sơn 7 Toán tin K59 ĐHBKHN


Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron

Trong bước thứ nhất, sau khi chuỗi thời gian đã đạt được tính dừng, p, q được
xác định dựa trên phân tích tự tương quan(ACF) và tự tương quan riêng(PACF).
Ta tiến hành vẽ hàm tự tương quan và tự tương quan riêng để xác định p cho quá
trình tự hồi quy(AR), q cho quá trình trung bình trượt(MA). Quá trình phân tích
được mô tả vắn tắt trong bảng 2.1.
ACF PACF
Giảm từ từ về
0 theo hàm mũ Giảm ngay về 0
AR(p)
hoặc sóng hình sau độ trễ p
sin
Giảm từ từ về
Giảm ngay về 0 0 theo hàm mũ
MA(q)
sau độ trễ q hoặc sóng hình
sin
Giảm theo hàm Giảm theo hàm
ARMA(p,q)
mũ mũ

Bảng 2.1: Nhận diện p,q

Trong bước thứ hai, các hệ số của mô hình được ước lượng sử dụng phương pháp
ước lượng khả năng tối đa Gauusian (Gauusian Maximum Likelihood Estimation-
GMLE), có thể dùng phương pháp khác như ước lượng Yule-Walker,... Mô hình
được kiểm định dựa trên chỉ số AIC(Akakine information criterion)hoặc RMSE(Root
Mean Squared Error),... Mô hình tự hồi quy tích hợp trung bình trượt phù hợp
nhất với chuỗi dữ liệu là mô hình có giá trị AIC nhỏ nhất. Trong thức tế, ta có thể
sử dụng phương pháp tìm kiếm lưới để đưa ra một mô hình thích hợp nhất. Trong
bước cuối cùng, giá trị tương lai được dự báo dựa vào các giá trị trong quá khứ và
các hệ số đã được ước lượng.
Đối với từng bài toán cụ thể, vấn đề chọn một mô hình phù hợp với bài toán
đặt ra là một vấn đề quan trọng. Do đó, chúng ta cần nắm bắt được những điểm
thuận lợi và hạn chế của mô hình được đưa ra.
Những mặt thuận lợi khi sử dụng ARIMA:
• ARIMA khá mềm dẻo có thể áp dụng cho nhiều bài toán dự báo chuỗi thời
gian.

• ARIMA thích hợp cho các bài toán dự báo ngắn hạn.
Những mặt hạn chế của khi sử dụng ARIMA:
• Trong ARIMA, một cấu trúc tương quan tuyến tính được giả định giữa các
giá trị trong chuỗi thời gian. Do đó, ARIMA chỉ phát hiện được các khuôn

Nguyễn Đức Sơn 8 Toán tin K59 ĐHBKHN


Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron

mẫu tuyến tính có trong chuỗi dữ liệu còn khuôn mẫu không tuyến tính thì
không được phát hiện.

• Quá trình nhận diện mô hình ARIMA thường tốn chi phí tính toán và độ tin
cậy của mô hình phụ thuộc vào kỹ năng và kinh nghiệm của người dự báo ví
dụ như trong hàng thứ ba trong bảng 2.1 hàm ACF, PACF không giảm ngay
về 0 sau độ trễ p, q mà chỉ tắt dần theo hàm mũ. Vây bằng cách nào ta có
thể nhận diện p, q. Một giải pháp được lựa chọn là tìm kiếm lưới và so sánh
các mô hình với nhau rồi chọn ra mô hình tốt nhất dựa trên chỉ số AIC nhỏ
nhất.

• Các giá trị trong tương lai được dự báo phụ thuộc vào quá khứ nên đối với
bài toán dự báo dài hạn, việc lựa chọn ARIMA là không phù hợp.

2.3 Mạng nơ-ron nhân tạo - ANN


Mạng nơ-ron nhân tao là 1 kỹ thuật mô hình hóa không tuyến tính được ứng
dụng trong nhiều lĩnh vực. Mạng nơ-ron cố gắng mô phỏng cấu trúc và chức năng
của mạng nơ-ron sinh học trong bộ não của con người. Thành phần cơ bản của
tất cả các mạng nơ-ron nhân tạo chính là các nơ-ron nhân tạo. Chúng ta có thẻ
xem các nơ-ron này như là một mô hình toán học gồm 3 tính chất cơ bản: tính
nhân, tính cộng và tính kích hoạt. Tại lối vào của nơ-ron gồm nhiều giá trị đầu
vào. Các giá trị đầu vào được đánh trọng số điều này có ý nghĩa rằng mọi đầu vào
được nhân với giá trị trọng số của riêng nó. Tiếp theo, nơ-ron thực hiện lấy tổng
tất cả các đầu vào đã được đánh trọng số và độ lệch. Cuối cùng, tổng của cả các
đầu vào đã được đánh trọng số và độ lệch được đi qua 1 hàm kích hoạt hay còn
gọi là các hàm chuyển đổi (activation function). Hình 2.1 minh hoa hoạt động của
một nơ-ron

Nguyễn Đức Sơn 9 Toán tin K59 ĐHBKHN


Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron

Hình 2.1: Hoạt động của một nơ-ron

Để giải quyết các bài toán phức tạp hơn, ta cần kết nối các nơ-ron lại với nhau,
tạo nên 1 mạng nơ-ron. Tất nhiên, chúng ta không thể kết nối các no-ron 1 cách
ngẫu nhiên. Hiện nay, có khá nhiều kiến trúc mạng khác nhau như mạng nơ-ron
truyền thẳng, mạng nơ-ron hồi quy, mạng nơ-ron tích chập,. . . . Tuy nhiên để giải
quyết bài toán một cách hiệu quả, chúng ta phải lựa chọn 1 kiến trúc mạng phù
hợp với bài toán đặt ra. Để có cái nhìn tổng quát nhất về kiến trúc của mạng
nơ-ron ta chia kiến trúc của mạng thành các lớp (layer): lớp đầu vào, các lớp ẩn,
lớp đầu ra. Trong các lớp chứa các nơ-ron như đã mô tả ở trên. Khả năng giải
quyết bài toán của một mạng nơ-ron không chỉ phụ thuộc vào kiến trúc của mạng
nơ-ron mà còn phụ thuộc vào thuật toán luyện mạng. Vậy huấn luyện mạng là
gì? Huấn luyện mạng là quá trình điều chỉnh giá trị các trọng số liên kết giữa các
nơ-ron để mạng có thể phát hiện được các khuôn mẫu ẩn trong dữ liệu hay nói
các khác là nhận biết được mối quan hệ giữa đầu vào và đầu ra mong muốn. Đích
đến cuối cùng của thuật toán huấn luyện mạng là tìm ra bộ trong số tối ưu sao
cho giá trị hàm mất mát là nhỏ nhất. Hàm mất mát là thước đo sự hiệu quả của
mạng nơ-ron đặc trưng nhất chính là sai số giữa giá trị được dự báo bởi mạng và
giá trị mong muốn đã biết. Chúng ta coi hàm mất mát như là một tín hiệu phản
hồi cho quá trình huấn luyện mạng. Vậy nên, quá trình huấn luyện mạng chỉ xoay
quanh 4 đối tượng sau:
• Các lớp cấu thành một mạng và các nơ-ron có trong lớp đó hay nói khác đi
là kiến trúc mạng.

Nguyễn Đức Sơn 10 Toán tin K59 ĐHBKHN


Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron

• Dữ liệu đầu vào tương ứng với giá trị mong muốn của nó. Chúng ta không
thể huấn luyện mạng mà không có bộ dữ liệu huấn luyện.

• Hàm mất mát: chọn hàm mất mát phù hợp với bài toán đặt ra.

• Thuật toán tối ưu hóa bộ trọng số (thuật toán huấn luyện mạng).

Hình 2.2: Hoạt dộng của một mạng nơ-ron

Hình 2.2 mô tả 1 cách trục quan cách hoạt đông chung của tất cả các loại kiến
trúc mạng. Một mạng nơ-ron bao gồm các lớp, ánh xạ các dữ liệu đầu vào thành
dữ liệu được dự đoán. Hàm mất mát so sánh các giá trị dự báo này với các giá trị
mong muốn đã biết, đưa ra một giá trị mất mát. Thuật toán tối ưu sử dụng giá
trị mất mát này để cập nhật các trọng số của mạng.
Trong phần tiếp theo, báo cáo đồ án sẽ trình bày sâu hơn về mạng nơ-ron bộ
nhớ dài ngắn hạn (LSTM-Long Short Term Memory). LSTM là một kiểu đặc biệt
của mạng nơ-ron hồi quy. LSTM được sử dụng phổ biến cho các bài toán với dữ
liêu dạng chuỗi: như xử lý ngôn ngữ tự nhiên, nhận dạng giọng nói, dự báo chuỗi
thời gian,. . . Ý tưởng chính trong các loại mạng nơ-ron hồi quy là kết hợp các
thông tin trong quá khứ để đưa ra dự đoán cho hiện tai. Điều này hoàn toàn phù
hợp cho bài toán dự báo sử dụng chuỗi thồi gian của chúng ta. Một vấn đề nảy
sinh khi kết hợp các thông tin trong quá khứ và các thông tin đó sau khi được kết
hợp vẫn chưa đem lại cho chúng ta một thông tin có ý nghĩa cho việc dự đoán. Đó

Nguyễn Đức Sơn 11 Toán tin K59 ĐHBKHN


Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron

chính là vấn đề phụ thuộc xa trong mạng nơ-ron hồi quy. LSTM là kiến trúc mạng
được đề xuất để xử lý vấn đề này được giới thiệu bởi Hochreiter và Schmidhuber
(1997). LSTM được thiết kế để tránh được vấn đề phụ thuộc xa. LSTM ghi nhớ
thông tin trong suốt thời gian dài. Tất nhiên, LSTM không ghi nhớ tất cả các
thông tin tại tất cả các thời điểm của chuỗi. Chúng sẽ có cơ chế chọn lọc thông tin
nào cần ghi nhớ, thông tin nào sẽ quên. Điều này đảm bảo thông tin ở thời điểm
gần nhất so với thời điểm cần dự báo vẫn mang đầy đủ thông tin trong quá khứ.
Sau đây, chúng ta sẽ gọi thông tin được lưu giữ tại thời điểm t là trạng thái tế bào
tại thời điểm t. Trạng thái tế bào chính là điểm cốt lõi của LSTM.

Hình 2.3: Mô hình mạng LSTM chuẩn

Mạng nơ-ron hồi quy hay LSTM đều có kiến trúc dạng chuỗi với các mô-đun
được lặp lại. Trong mỗi mô-đun gồm 4 lớp được kết hợp với nhau một cách khéo
léo. Sau đây là một số kí hiệu được dùng trong kiến trúc của LSTM.

Hình 2.4: Các kí hiệu trong mô hình LSTM

Như đã nói ở trên, LSTM có cơ chế chọn lọc thông tin để lưu vào trạng thái
tế bào qua các cổng (gate). Các cổng là nơi sàng lọc các thông tin bao gồm tầng
mạng sigmoid và một phép nhân.

Nguyễn Đức Sơn 12 Toán tin K59 ĐHBKHN


Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron

Hình 2.5: Kí hiệu cổng trong LSTM

Đầu ra của tầng sigmoid sẽ nằm trong khoảng [0,1]. Nếu đầu ra là 0 thì tất cả
các thông tin bị loại bỏ. Nếu là 1 thì tất cả các thông tin được đi qua. Một mô-đun
trong mạng gồm 3 cổng như vây nhằm mục đích kiểm soát trạng thái tế bào.
Tiếp theo, chúng ta sẽ phân tích sâu hơn cách hoạt động bên trong một mô-đun
của mạng LSTM. Bước đầu tiên của LSTM sẽ quyết định thông tin nào sẽ được
loại bỏ khỏi tế bào thông quy lớp sigmoid hay gọi là "tầng cổng quên". "Tầng cổng
quên" nhận đầu vào là ht−1 và xt và đầu ra là một số nằm trong khoảng [0, 1] như
hình dưới đây.

Hình 2.6: "Tầng cổng quên" trong LSTM

Bước thứ hai xác định thông tin mới nào sẽ được lưu trữ trong trạng thái tế
bào. Quá trình xác định này được chia làm 2 giai đoạn. Giai đoạn đầu tiên, lớp
sigmoid (ở đây ta gọi là lớp cổng vào) xác định giá trị sẽ được cập nhật. Giai đoạn
hai, lớp tanh đề xuất một vecto mới C̃t thứ mà có thể được thêm vào tế bào.

Hình 2.7: Quá trình chọn lọc thông tin mới trong LSTM

Nguyễn Đức Sơn 13 Toán tin K59 ĐHBKHN


Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron

Bước thứ tư là cập nhật trạng thái từ trạng thái Ct−1 thành trạng thái mới Ct .
Chúng ta sẽ nhân trạng thái cũ(Ct−1 ) với ft để xác định thông tin nào sẽ được loại
bỏ khỏi trạng thái tế bào cũ. Sau đó, chúng ta sẽ cộng it ∗ C̃t . Trạng thái tế bào sẽ
được cập nhật như hình dưới đây.

Hình 2.8: Quá trình cập nhật trạng thái tế bào

Bước cuối cùng, chúng ta ta xác định đầu ra của mô-đun. Đầu ra này phụ thuộc
vào trạng thái của tế bào được vừa được cập nhật nhưng vẫn tiếp tục được chọn
lọc. Giai đoạn một, lớp sigmoid vẫn nhận đầu vào là xt và ht−1 thu được ot . Sau
đó, chúng ta đưa trạng thái tế bào vừa mới được cập nhật qua hàm tanh (có được
các giá trị nằm trong khoảng [-1,1]) rồi nhân với giá trị đầu ra của lớp sigmoid vừa
tìm được. Ta thu được giá trị cần dự đoán tại bước thứ t như hình dưới đây.

Hình 2.9: Quá trình xác định đầu ra(giá trị cần dự báo)của mô-đun trong LSTM

Trên đây, chúng ta xem xét kiến trúc, cách hoạt đông của 1 mô-đun LSTM để
áp dụng cho bài toán dự báo chuỗi thời gian của chúng ta nhưng chưa đề cập đến
vấn đề huấn luyện mạng. Ta coi quá trình trên là quá trình tiến (forward pass).
Quá trình huấn luyện mạng hay điều chỉnh trọng số để giá trị hàm mất mát đạt
giá trị nhỏ nhất là quá trình lùi (backward pass). LSTM sử dụng thuật toán lan
truyền ngược thông qua thời gian để tìm ra bộ trọng số tối ưu.

Nguyễn Đức Sơn 14 Toán tin K59 ĐHBKHN


Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron

Tóm tắt các công thức trong quá trình tiến (forward pass), để đơn giản chúng
ta tạm thời bỏ qua đô lệch:

c̃t = tanh(Wc xt + Uc ht−1 ) = tanh(ĉt ) (2.9)


it = σ(Wi xt + Ui ht−1 ) = σ(ît ) (2.10)
f t = σ(Wf xt + Uf ht−1 ) = σ(fˆt ) (2.11)
ot = σ(Wo xt + Uo ht−1 ) = σ(ôt ) (2.12)

Ta đặt:
   
ĉt W c Uc
" #
 ît   W i U i  x t
zt =  t =  f  × t−1 (2.13)
   
ˆ
f  W U  f h
ôt W o Uo
= W × It (2.14)

ct = f t ∗ ct−1 + it ∗ c̃t (2.15)

ht = ot ∗ tanh(ct ) (2.16)
Quá trình lùi được mô tả dưới đây với E là hàm mất mát:

Quá trình tiến: ht = ot ⊙ tanh(ct )


∂E
Ta có: δht = t
, Cần tìm: δot , δct
∂h

∂E ∂E ∂hti
= ·
∂oti ∂hti ∂oti
= δhti · tanh(cti )
∴ δot = δht ∗ tanh(ct ) (2.17)

∂E ∂E ∂hti
= ·
∂cti ∂hti ∂cti
= δhti · oti · (1 − tanh2 (cti ))
∴ δct + = δht ∗ ot ∗ (1 − tanh2 (ct )) (2.18)

Nguyễn Đức Sơn 15 Toán tin K59 ĐHBKHN


Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron

Dấu += chỉ ta rằng δct được cộng thêm δct+1 theo công thức 2.22 do trong quá
trình tiến, trạng thái tế bào ct+1 phụ vào trạng thái tế bào ct .

Quá trình tiến: ct = f t ∗ ct−1 + it ∗ c̃t


∂E
Ta có: δct = , cần tìm δit , δc̃t , δf t , δct−1
∂ct

∂E ∂E ∂cti
= ∗
∂iti ∂cti ∂iti
= δcti · c̃ti
∴ δit = δct ∗ c̃t (2.19)

∂E ∂E ∂cti
= ·
∂fit ∂cti ∂fit
= δcti · ct−1
i
∴ δf t = δct ∗ ct−1 (2.20)

∂E ∂E ∂cti
= ·
∂c̃ti ∂cti ∂c̃ti
= δcti · iti
∴ δc̃t = δct ∗ it (2.21)

∂E ∂E ∂cti
= ·
∂ct−1
i
∂cti ∂ct−1
i
= δcti · fit
∴ δct−1 = δct ∗ f t (2.22)

 
ĉt
 ît 
Quá trình tiến: z =  ˆt  = W × I t
t  
f 
ôt
Ta có δc̃t , δit ,δf t , δot , cần tìm δz t

Nguyễn Đức Sơn 16 Toán tin K59 ĐHBKHN


Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron

δĉt = δc̃t ⊙ (1 − tanh2 (ĉt )) (2.23)


δ ît = δit ⊙ it ⊙ (1 − it ) (2.24)
δ fˆt = δf t ⊙ f t ⊙ (1 − f t ) (2.25)
δôt = δot ⊙ ot ⊙ (1 − ot ) (2.26)
t T
δz t = δât , δ ît , δ fˆt , δô (2.27)
 

Quá trình tiến: z t = W × I t


Ta có δz t , cần tìm δW t , δht−1

δI t = W T × δz t (2.28)
" #
xt
Với I t = ,
ht−1
δht−1 có được từ δI t (2.29)
δW t = δz t × (I t )T (2.30)

Nếu đầu vào của chúng ta có T bước thời gian hay T chính là số mô-đun trong
kiến trúc mạng LSTM mà ta thiết kế thì:
T
X
δW = δW t (2.31)
t=1
(2.32)

W sau đó sẽ được cập nhật bằng cách sử dụng các thuật toán hướng giảm
gradient thích hợp như RMSprop, Adadelta, Adam,... Do thời gian và phạm vi của
đồ án có giới hạn nên bản báo cáo sẽ không trình bày thêm.

Nguyễn Đức Sơn 17 Toán tin K59 ĐHBKHN


Chương 3

Phát triển mô hình

18
Chương 4

Thí nghiệm và kết quả

19
Chương 5

Kết luận

Gõ nội dung chương kết luận ở đây.

20
Tài liệu tham khảo

[1] C. Narendra Babu and B. Eswara Reddy. A moving-average filter based hybrid
ARIMA-ANN model for forecasting time series data. Applied Soft Computing
Journal, 23:27–38, 2014.

[2] Hyeong Kyu Choi. Stock Price Correlation Coefficient Prediction with ARIMA-
LSTM Hybrid Model. 2018.

[3] Amritendu Mukherjee and Parthasarathy Ramachandran. Prediction of GWL


with the help of GRACE TWS for unevenly spaced time series data in India
: Analysis of comparative performances of SVR, ANN and LRM. Journal of
Hydrology, 558(August 2002):647–658, 2018.

[4] Thanh Tung Nguyen, Quynh Nguyen Huu, and Mark Junjie Li. Forecasting
Time Series Water Levels on Mekong River Using Machine Learning Models.
Proceedings - 2015 IEEE International Conference on Knowledge and Systems
Engineering, KSE 2015, (October):292–297, 2016.

[5] Ji Youn Sung, Jeongwoo Lee, Il Moon Chung, and Jun Haeng Heo. Hourly water
level forecasting at tributary affecteby main river condition. Water (Switzer-
land), 9(9):1–17, 2017.

[6] Ching-Ju -J Wang and E. John Staba. Peppermint and spearmint tissue cul-
ture II. Dual-carboy culture of spearmint tissues. Journal of Pharmaceutical
Sciences, 52(11):1058–1062, 1963.

[7] Peter G. Zhang. Time series forecasting using a hybrid ARIMA and neural
network model. Neurocomputing, 50:159–175, 2003.

[8] Li Zhao. Stock price prediction based on multivariate Hamacher-ANFIS. Agro


Food Industry Hi-Tech, 28(1):1748–1752, 2017.

21

You might also like