Professional Documents
Culture Documents
ĐỒ ÁN 3
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
ii
Mục lục
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
5 Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
iii
Chương 1
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.
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
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).
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.
Kiến thức cơ sở
5
Đồ án 3 Dự báo sử dụng chuỗi thời gian kết hợp mạng nơ-ron
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:
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
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)
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ũ
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
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.
Để 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.
• 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 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. Đó
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.
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.
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.
Đầ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.
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
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.
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.
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:
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)
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:
∂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)
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 .
∂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
δ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.
18
Chương 4
19
Chương 5
Kết luận
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.
[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.
21