1. Trang chủ
  2. » Luận Văn - Báo Cáo

Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng

206 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 206
Dung lượng 3,36 MB

Cấu trúc

  • 1.1 Autoregressive Integrated Moving Average - ARIMA (27)
  • 1.2 Seasonal Autoregressive Integrated Moving Average - SARIMA (34)
  • 1.3 Wavelet Analys - WA (40)
  • 1.4 Artificial neutral network – ANN (46)
  • 1.5 Recurrent neural network – RNN (50)
  • 1.6 Tiêu chí đánh giá các mô hình (57)
  • CHƯƠNG 2. Mô hình học trực tuyến 40 (59)
    • 2.1 Dữ liệu thực tế được cập nhật liên tục (60)
    • 2.2 Cơ sở của mô hình trực tuyến (62)
    • 2.3 Phương pháp giảm gradient trực tuyến (65)
    • 2.4 Phương pháp trực tuyến ONS (71)
    • 2.5 Mô hình trực tuyến cho ARIMA và SARIMA (88)
      • 2.5.1 Mô hình ARIMA Online Newton step (88)
      • 2.5.2 Mô hình SARIMA Online Newton step (93)
    • 2.6 Mô hình RNN trực tuyến (116)
      • 2.6.1 Một số vấn đề trong mô hình RNN (116)
      • 2.6.2 Xây dựng cơ sở thuật toán trực tuyến (118)
      • 2.6.3 Mô tả thuật toán (130)
    • 2.7 Thực nghiệm mô hình SARIMA online với dữ liệu thực tế (142)
      • 2.7.1 Dữ liệu so sánh: dữ liệu Australia (142)
      • 2.7.2 Dữ liệu phụ tải điện miền bắc Việt Nam (142)
    • 2.8 Kết quả thực nghiệm thực tế (143)
      • 2.8.1 Dữ liệu so sánh: dữ liệu Australia (143)
      • 2.8.2 Dữ liệu phụ tải điện của miền bắc Việt Nam (146)
  • CHƯƠNG 3. Mô hình lai 93 (151)
    • 3.1 Mô hình lai ARIMA và ANN (154)
    • 3.2 Mô hình lai ARIMA - LSTM được lọc qua bộ lọc MA (156)
    • 3.3 Mô hình lai ARIMA - Neural Network có sử dụng lọc nhiễu bằng Wavelet 104 (162)
    • 3.4 Mô hình lai ARIMA-LSTM được tách dữ liệu bằng MA (165)
      • 3.4.1 Dữ liệu so sánh: dữ liệu Sunspot (165)
      • 3.4.2 Dữ liệu mực nước (166)
      • 3.4.3 Kết quả (167)
    • 3.5 Mô hình lai ARIMA-ANN lọc nhiễu bằng Wavelet (172)
      • 3.5.1 Dữ liệu so sánh: dữ liệu Sunspot (173)
      • 3.5.2 Dữ liệu mực nước sông Hồng (173)
      • 3.5.3 Kết quả (174)
  • CHƯƠNG 4. Mô hình lai máy học trực tuyến 123 (181)
    • 4.1 Mô hình lai máy học trực tuyến Multi-seasonal - ARIMA online - RNN online (181)
    • 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 (184)
      • 4.2.1 Dữ liệu (184)

Nội dung

Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng.

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

Vấn đề Phương pháp Dữ liệu Năm

Dự báo xu hướng của 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ự báo lượng nước ở Sanan- daj, Iran

Dự báo lượng mưa trên lưu vực sông

ARIMA Dữ liệu sông Ấn, Ấn Độ

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.

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 giữ nguyên các tham số trong các thành phần:

•AR: tự hồi quy - một giá trị đằng sau có thể được tính toán thông qua một 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 giá trị quá khứ của chuỗi thời gian).

•I: sai phân - sử dụng sai phân để tạo tính dừng cho chuỗi thời gian Trong trường hợp chuỗi thời gian đã là chuỗi dừng thì đơn giản d = 0.

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

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 đề Phương Dữ liệu Năm pháp

Dự báo nhu cầu multiple Dữ liệu nhiệt 2016 [15] nhiệt linear re- sưởi ấm, Phần gression Lan model và

Dự báo lượng SARIMA Dữ liệu mưa từ 2017 [35] mưa 2008 tới 2012 ở

SARIMA Dự báo lưu SARIMA Sông Waterval 2017 [43] lượng nước sông

Dự báo số SARIMA Lưu lượng 2018 [31] lượng khách đi khách đi tàu ở tàu hỏa Serbia (04-14)

So sánh mô SARIMA - Nhiều bộ dữ 2019 [46] hình dự báo SVM liệu về vận tải hàng không

Dự báo lượng SARIMA Vùng 2020 [30] mưa 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ô hình ARIMA Chúng là các siêu tham số sau đây:

•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 ).

•q : bậc trung bình trượt của xu hướng (Trend moving average order ).

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ố để chỉ ra thời gian lặp của tính mùa

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

Khi đó, ta có thể viết mô hình SARIMA thành công thức như sau:

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.

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 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,

Wavelet Analys - WA

Vấn đề Phương pháp Dữ liệu Năm

2 lưu vực sông trong vùng

Dự báo lưu lượng chảy của sông

WA, EMD, SSA áp dụng cho ANN và ARMA

WA-ANN và WA-SVM

Vùng An Huy, Trung Quốc

Dự báo chất lượng nước

WA-ANN Dữ liệu tại Ba

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à AdaptiveNeuro-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.

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: Σ 1

•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 chuyển vị trí.

•ψ 0 ∗ là hàm của Wavelet, đây là hàm liên hiệp phức.

Từ phương trình trên ta có thể thấy, phép biến đổi Wavelet là một ánh xạ 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/√ s (gọi là hệ số chuẩn hóa) đảm bảo cho sự chuẩn hóa sóng 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 Σ 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 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 Ψ(x) và bộ lọc thông thấp sử dụng hàm tỉ lệ (scaling function) Φ(x).

(−1) k h N−k Φ(2x + k − N + 1) = Σ g k Φ(2x + k − N + 1) (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.

Artificial neutral network – ANN

Vấn đề Phương pháp Dữ liệu Năm

Dự báo năng lượng tái sinh

Wavelet, ANN Dữ liệu tốc độ gió, Quebec

Dự báo sản lượng dầu mỏ

Dự báo lượng nước tiêu thụ

Dự báo chất lượng nước biển

ANN Data chất lượng nước biển Singapore

Dự đoán hành vi chuyển làn đường

ANN Một số dữ liệu 2018 [19]

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.

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ứ (x t˘1, x t˘2, , x t˘p ) thành giá trị dự đoán x t : x t = f

+ ε t (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 q p 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 bằng các liên kết Đầu ra (x t ) có thể nhận được từ các đầu vào (x t˘1, x t˘2, , x t˘p ) với biểu thức toán học: x t = α0 + Σ j=1 α j g. β 0,j + Σ i=1 β ij x t−i Σ

+ ε t (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 x t từ các giá trị trước đây của chuỗi (x t−1, x t−2, , x t−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.

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.

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

Hình 1.3: Ví dụ về mô hình RNN.

Vấn đề Phương pháp Dữ liệu Năm

Dự báo lượng lưu RNN sông Hema- vathi, Ấn Độ

Dự báo nước hồ mực RNN, ARMA, ANFIS

So sánh các mô hình

Một số bộ dữ liệu

Dự báo nước biển mực RNN Dữ liệu của Hà

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. 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 x t sẽ được kết hợp với lớp ẩn h t−1 bằng hàm f W để tính toán ra lớp ẩn h t hiện tại và đầu ra y t sẽ được tính ra từ h t ,

W là tập các trọng số và nó được ở tất cả các cụm, các L1, L2 , , L t là các 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 h t−1 tính ra h t để tăng độ chính xác cho những dự đoán ở 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: h t = f W (h t−1, x t ) (1.16)

Trong đó hàm f W ở đâ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: h t = tanh(W hh h t−1 + W xh x t ) (1.17) hoặc h t = sigmoid(W hh h t−1 + W xh x t ) (1.18)

Khi đó ta có: y t = W hy h t (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: W hh kết hợp với "bộ nhớ trước" h t−1 và W xh kết hợp với x t để tính ra "bộ nhớ của bước hiện tại" h t từ đó kết hợp với W hy để tính ra y t Hay có thể định nghĩa các ma trận như sau:

•W hh : Ma trận trọng số cho vector trạng thái ẩn.

•W xh : Ma trận trọng số cho vector đầu vào x.

•W hy : Ma trận trọng số dùng để tính vector đầu ra y.

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}. Để 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.

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

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. i= 1 y i

Mô hình học trực tuyến 40

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 tiêu có dạng một tổng các hàm thành phần như sau:

L(θ) = L i (θ) (2.1) i=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 L i (θ) đượ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 này Ví dụ như:

•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ị L i (θ) bên trên 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: Σ

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.

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 đó.

Hình 2.2: Cơ sở của việc tính toán tham số cho mô hình trực tuyến.

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 của y ứng với tốc độ thay đổi của x.

•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 mỗi điểm (x, y).

Nếu y = ax + b với a, b ∈ R thì f’(x) = a Độ dốc a là: y a =δyδyx. δ x

Nếu f(x) không phải là hàm tuyến tính theo x thì δy không phải là hằng số: y δy dy x δy dx = f ′ (x)

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.

Phương pháp giảm gradient là một thuật toán mà:

•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 của f(x), tức

•Nếu x ′ = x − α∇ (x)f , với α 0 > đủ bé thì f(x ′ ) ≤ f(x)

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, , x i , sao cho: x i+1 = x i − α∇ (xf i ) với i ≥ 0.

Chuỗi {x i } 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. i= 1 i 2 i 2 i

Trong đó hàm L i (θ) là hàm mất mát, tính bằng công thức:

Ta có thể dễ dàng thấy được rằng, thuật toán giảm gradient theo loạt có một số đặc tính sau đây:

•Có thể coi mỗi hàm thành phần L i (θ) ứng với một mẫu dữ liệu trong bài toán học có giám sát. i i= 1

Thuật toán 2.1 giảm gradient theo loạt

Kết quả: θ θ ← ⃗0 (hoặc lấy ngẫu nhiên) repeat for i =1 to N do

•Trong mỗi bước, thuật toán cần tính gradient của các hàm thành phần L i (θ) trên toàn bộ tập dữ liệu.

•Nếu các hàm thành phần L i (θ) là phức tạp thì việc tính các gradient ∇L i (θ) đòi hỏi khối lượng tính toán lớn.

•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 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:

Khi chạy qua toàn bộ tập huấn luyện (i = 1, 2, , N ), tham số θ được cập nhật dần trên từng mẫu.

•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 khi hội tụ.

Thuật toán được trình bày ở bảng sau:

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.

Thuật toán 2.2 Giảm gradient ngẫu nhiên

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 θ θ α∇ ← − L i (θ) (L i (θ) tính theo (2.3)) endfor; until hội tụ;

•Trong các thuật toán giảm gradient, tốc độ học αcó thể thay đổi theo bước lặp mà không cố định.

•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à: θ (t+1) ← θ (t) − α (t) ∇L i (θ (t) ). trong đó, (t) là chỉ số của bước cập nhật tham số.

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:

•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ó 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 Newton.

Tuy nhiên trong thực tế, ta không cần giá trị đúng của α (t) mà chỉ cần giá 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 hội tụ.

•Các tốc độ học cần phải giảm dần.

•Các tốc độ học không được giảm quá nhanh về hằng số.

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 {(x i ,y i )} N , và tập {α t }; for t = 1 to T do

Phương pháp trực tuyến ONS

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 : R n → R được gọi là α-exp-concave trên tập quyết định K ⊆ R n nếu hàm g sau là hàm lõm (concave function), với g: K → R thỏa mãn: g(x) = exp(− fα (x)) (2.5) γ

Ta cũng có thể hiểu rằng exp-concave là lõm mạnh theo hướng của gradient Với hàm một biến thì ta có thể viết hàm exp-concave dưới dạng: f ′′ (x) ≥ fα ′ (x) 2 (2.6)

Tổng quát hơn, một hàm khả vi hai lần f : R n → R là một hàm exp-concave khi:

∇ 2 f(x) ≽ α∇ (x)f ∇ (x)f ⊤ (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:

Tính chất: cho f : K → R là một α− exp − concave, khi đó: với γ≤

2 (x − y) ⊤ ∇ (y)f ∇ (y)f ⊤ (x − y) (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.

Vì hàm f là một α-exp-concave, và γ 2α ≤ , nên ta có h(x) = exp(−2γ (x))f

Ta có: h(x) ≤ h(y) + ∇ (y)h ⊤ (x − y) (2.9) Ngoài ra, chúng ta có thể tính được giá trị của ∇ (y) h như sau: h

Từ đó, ta có: exp(−2γ (x)) ≤ exp(−2f γ (y))[1 − 2f γ∇ (y)f ⊤ (x − y)] (2.11)

51 Lấy logarithm cả 2 vế, ta được biểu thức đơn giản hơn: f(x) ≥ f(y) − 1 log(1 − 2γ∇ (y)f ⊤ (x − y)) (2.12)

Từ điều kiện đã có của bổ đề đối với biến γ, ta có:

Dùng bất đẳng thức Cauchy-Schwarz, ta tính được:

Từ các bất đẳng thức 2.13 và 2.14, ta có:

Ta xem xét 1 số phức z thỏa mãn |z| ≤ frac14, khi đó − log(1 − z) ≥ z + z 2 Nếu ta cho z 2γ∇ (y)f ⊤ (x − y), thì ta sẽ đạt được công thức cần chứng minh: f(x) ≥ f(y) + ∇ (y)f ⊤ (x − y) +

2 (x − y) ⊤ ∇ (y)f ∇ (y)f ⊤ (x − y) (2.16)Khi đó chúng ta chịu hàm mất mát (loss function): t t t t 2 t t

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 L t và tham số γ = 1 min{ 1 , } α, ε= 1 , T > 4 guarantees:

Với x ∗ argmin∈ x∈ P Σ T f t (x) là giá trị tối ưu, khi đó, theo tính chất vừa t t= 1 t t t 2 t t t t β

− chứng minh trên, ta có: f (x) − f (x ∗ ) ≤

Khi đó, nếu chúng ta đặt y t+1 = x t = 1 A t −1 ∇ t thì công thức sẽ có chỉ số chạy phù hợp với biến x t+1 = Q A t

(y t+1), và ta sẽ có công thức sau: y − x ∗ = x − x ∗ − 1 A −1 ∇ (2.19)

Hay ta có thể viết là:

Vì x t+1 là ánh xạ của y t+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ó:

Như vậy, bất đẳng thức (2.21) sẽ trở thành:

Thay t = 1 T vào, ta sẽ được: Σ

− x ∗ ). Ở đây, ta đã thay đẳng thức A t −A t−1 = ∇ t ∇ ⊤ T vào Bằng cách thay biểu thức β Σ T

Nếu ta chọn ε = 1 , thì ta sẽ nhận được kết quả:

. Áp dụng bổ đề 3 (chứng minh bên dưới) với V t = A t , u t = ∇ t , r = G, cùng với điều kiện đầu bài là ε= 1 và β = 1 min{ 1 , }α, ta có:

Vì V T = Σ T u t u ⊤ + εI và ∥uu t ∥u≤ r nên mọi giá trị riêng của ma trận V T đều

T không lớn hơn r 2 T + ε, hay det(V ) ≤ (r 2 T + ε) n

Dễ thấy, vì β = 1 min{ 1 , } α nên 1 ≤ 8(GD + ).

Từ đó ta đã chứng minh được bất phương trình ước lượng Regret: t t t

Ta chứng minh thêm các bổ đề sau để áp dụng vào phần chứng minh định lý trên.

Bổ đề 1: cho n là một tập lồi, y n và z = A (y) là hình chiếu của

P y lên P theo ma trận A ⪰0 Khi đó với mọi điểm x P ∈ ta đều có:

Khi mà exp(− fα (x)) là hàm lõm, và 2β α ≤ thì dĩ nhiên hàm h(x) = exp(−2β (x))f cũng là hàm lõm. h(x) ≤ h(y) + (y) ⊤ (x − y)

|2β∇ (y)f ⊤ (x − y)| ≤ 2βGD ≤ 1 Đặt z = 2β∇ (y)f ⊤ (x − y), thì ta có |z| ≤ 1 , và khi đó − log(1 − z) ≥ z + 1 z 2 □

Bổ đề 2: với 2 ma trận vuông và dương bậc n A B ⪰ ≻ 0, ta có:

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)

Xét một phép tính giữa 2 ma trận được định nghĩa và ký hiệu như sau: n

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 trận Ta cú:

Bổ đề 3: với u t ∈ R n (t = 1, , T ) là một chuỗi các vector thỏa mãn ||u t || ≤ r

(với r > 0 nào đó) Ta định nghĩa:

Từ bổ đề 2, ta có: với 2 ma trận A, B ∈ R n×n thỏa mãn A B ⪰ ≻ 0:

Ta lấy giá trị V0 = εI n , ta sẽ được:

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 R n , γ ε 0 , > và A0 = εI n :

Thuật toán 2.4 ARIMA Online Newton Step

Tham số p; giá trị m; tham số d; seasonal period s; learning rate η; ma trận Hessian (.p + m) × (p + mΣ) ban đầu A0.

Lấy y t và tính giá trị mất mát (loss) f t (ϕ t ) Đặt ▽ t = ▽f t (ϕ t ) endfor;

Mỗi lần lặp, chúng ta đều phải tính toán ma trận A − t 1 Ma trận A t này khả nghịch, và có thể tính theo công thức:

1 + x ⊤ A −1 x (2.33) ma x t Ở đây chúng ta có thể thấy rằng, tài nguyên tiêu tốn sẽ là O(n 2 ) khi chúng ta xử lý ma trận A t Regret cho thuật toán ONS cũng giống với việc tính cho OGD Ở đây, ta tính t 2 4L

T t t t α hàm mất mát (loss function) ℓ , chọn γ= 1 min{ 1 , }α, ε= 1 và T ≥ 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 x t+1 được tính theo các giá trị trước đó của chuỗi thời gian {x t } theo công thức: p−1 q−1

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ó ∇x t = x t − x t−1 Với lần sai t= 1 i= 0 j=

0 phân thứ 2 thì ta có ∇ 2 x t = ∇ 1 x t − ∇ 1 x t−1.

Chuỗi {∇ d x t } 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á trị tương lai {X t } của mô hình như sau:

•Chọn các bộ tham số của mô hình là {φ i } (i =0, ,p-1) và {θ j } (j =0, ,q-1) theo bài toán đã ra.

•Trong bước lặp thứ t (bước lặp thứ i sẽ tính giá trị X i ), 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ị Xˆ t dựa 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 hề tiết lộ các giá trị {φ i } và {θ j } cũng như các giá trị ồn trắng {ε t }.

•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 Xˆ t thì giá trị thực tế X t sẽ được đưa ra để chúng ta tính giá trị mất mát (loss).

Chúng ta có thể tính được hàm mất mát theo công thức sau: f t (φ, θ) = ℓ t

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.

Cụ thể, chúng ta có thể tính được giá trị đó theo công thức sau:

R T = ℓ t (X t , Xˆ t ) min ℓ t (X t , Xˆ t (φ, θ)) (2.37) t=1 φ,θ t=1 Ở đâ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 R T ≤ 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 Xˆ t 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ô hình sẽ có đặc điể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 Σ ε 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 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 lượng như sau: Σ Σ t Σ i j t s t p+m

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:

Ta nhắc lại rằng K = { γ∈ R p+m , |γ i | ≤ 1, i = 1, , m} là tập quyết định của mô hình, và K là một tập lồi Ngoài ra còn có D = 2c√p +˙ m là đường kính của

K, và G là cận trên của ∥u∇ℓ m (γ)∥uvới mọi t và γ∈ K.

Khi đó bình phương của giá trị mất mát sẽ bằng 2c√p + m˙(X max ) 2 Tính tất cả hàm mất mát thì chúng ta sẽ có công thức: f t (γ (t) )

2.5.2 Mô hình SARIMA Online Newton step

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 thì các giá trị ước lượng của x t sẽ được tính theo công thức dưới đây: ϕ(B)Φ(B s )∇ d ∇ D x (λ) = θ(B)Θ(B s )ε t (2.42) i Σ Σ trong đó: Σ Σ Σ Σ

Q Θ¯ (B s ) = Θ i B is (2.46) i=1 còn sai phân ∇được tính theo công thức:

∇ s x t = (1 − B ) x t (2.50) với tham số λlà Box–Cox power transformation, c là số lần lặp của mùa, và η = ns.

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 X t là dừng Khi đó ta có thể viết gọn công thức ở dạng sau: ϕ(B)Φ(B s )X (λ) = θ(B)Θ(B s )ε t (2.51) Biến đổi phương trình trên, ta được:

(λ ) Ở trong mô hình này, tham số của chúng ta gồm 4 tham số là ϕ = (ϕ1, ϕ2, , ϕ p ), Φ = (Φ1, Φ2, , Φ P ), θ= (θ1, θ2, , θ q ), Θ = (Θ1, Θ2, , Θ Q ).

Hoặc có thể viêt gọn ở dạng: p P q Q

Xˆ (α,β) = Σ Σ α i,j X t−(i+js) + Σ Σ β i,j ε t−(i+js) (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 ARIMA online bên trên:

•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ị X 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 X t 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.

Khi đó, phương trình của mô hình sẽ có dạng sau: p P

Xˆ t (γ) = Σ Σ γ i,j X t−(i+js) (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 i= 0 j=

Lúc này, hàm tổn thất sẽ là: f t (γ) =

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=1 f t (γ (t) ) min α,β Σ t=1

E. f t (α, β) Σ Các tham số D là đường kính tập K,

G là chặn trên của ∥u∇ ∥uf , learning rate η = 1 min(4GD, η), ε = 1 , ma trận t t 2

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.

Bước 1: hàm mất mát loss function {ℓ m,M } T là một λ-exp-concave, nên chúng ta có thể chứng minh rằng: t t=1 Σ t=1 f t (γ (t) ) min γ Σ t=1 f t f t (γ) Σ

(đây là kết quả phần chứng minh trong chuyên đề 2)

Bước 2: ta định nghĩa một đệ quy như sau: p P q Q

1 với X (all) = X1, còn X (all) (αβ) , là giá trị mất mát ở thời điểm t.

Ta thấy rằng một giá trị X (all) sẽ phụ thuộc vào các giá trị trước nó với một vector hệ số nào đó theo công thức X (all) = Σ t−1 c i (α β)X, t−i (các hệ số ở đây sẽ Khi đó, ta có thể dùng hàm f (all) sau thay thế cho tổng mất mát f t trong mô là c i (α, β). t t t t

Quay trở lại với X (all) , ta xét một giá trị m, M ∈ N và xem xét phương trình: p P q Q t i=1 j=1 i=1 j=1 t−(i+js)

(2.60) với giá trị ban đầu là X m,M (αβ) = X, t nếu m, M ≤ 0 Khi đó ta có thể tính được hàm mất mát tương ứng với giá trị này dựa như sau: f m,M (α, β) = ℓ t

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 được gọi là mini-batch gradient descent.

•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

Ngày đăng: 30/08/2023, 17:16

HÌNH ẢNH LIÊN QUAN

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. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
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 (Trang 28)
Bảng 1.3: Một số nghiên cứu về mô hình có xử lý dữ liệu bằng Wavelet. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Bảng 1.3 Một số nghiên cứu về mô hình có xử lý dữ liệu bằng Wavelet (Trang 40)
Hình 1.1: Phân tách dữ liệu tín hiệu qua 4 bậc. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Hình 1.1 Phân tách dữ liệu tín hiệu qua 4 bậc (Trang 44)
Bảng 1.4: Một số nghiên cứu về mạng thần kinh nhân tạo - Artificial Neural Network. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụ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 (Trang 46)
Hình 1.2: Mô hình Recurrent Neural Networks - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Hình 1.2 Mô hình Recurrent Neural Networks (Trang 50)
Hình 1.3: Ví dụ về mô hình RNN. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Hình 1.3 Ví dụ về mô hình RNN (Trang 51)
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. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
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 (Trang 51)
Hình 1.4: Một mô hình RNN với nhiều đầu vào và 1 đầu ra. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Hình 1.4 Một mô hình RNN với nhiều đầu vào và 1 đầu ra (Trang 55)
Bảng 2.1: Mô hình máy học trực tuyến. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Bảng 2.1 Mô hình máy học trực tuyến (Trang 59)
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. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
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 (Trang 63)
Hình 2.2: Cơ sở của việc tính toán tham số cho mô hình trực tuyến. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Hình 2.2 Cơ sở của việc tính toán tham số cho mô hình trực tuyến (Trang 64)
Hình 2.3: Dữ liệu của Australia. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Hình 2.3 Dữ liệu của Australia (Trang 144)
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 - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
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 (Trang 147)
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. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
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 (Trang 152)
Hình 3.1: Mô hình lai ARIMA-LSTM. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Hình 3.1 Mô hình lai ARIMA-LSTM (Trang 157)
Hình 3.2: Mô hình lai ARIMA - WA - Neural Networks - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Hình 3.2 Mô hình lai ARIMA - WA - Neural Networks (Trang 164)
Hình 3.3: Dữ liệu Sunspot từ năm 1870 tới năm 1987. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Hình 3.3 Dữ liệu Sunspot từ năm 1870 tới năm 1987 (Trang 166)
Hình 3.4: Dữ liệu mực nước từ năm 2016 tới năm 2018. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Hình 3.4 Dữ liệu mực nước từ năm 2016 tới năm 2018 (Trang 167)
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). - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
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) (Trang 169)
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). - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
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) (Trang 170)
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). - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
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) (Trang 171)
Bảng 3.6: So sánh kết quả dự báo mực nước. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Bảng 3.6 So sánh kết quả dự báo mực nước (Trang 172)
Bảng 3.7:  Dữ liệu Sunspot. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Bảng 3.7 Dữ liệu Sunspot (Trang 173)
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 - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
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 (Trang 179)
Hình 4.1: Mô hình lai trực tuyến đề xuất. - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Hình 4.1 Mô hình lai trực tuyến đề xuất (Trang 183)
Hình 4.2: Dữ liệu phụ tải điện của Australia - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Hình 4.2 Dữ liệu phụ tải điện của Australia (Trang 184)
Hình 4.7: Thực nghiệm lai trực tuyến: Mô hình Multi-seasonal - ARIMA online - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
Hình 4.7 Thực nghiệm lai trực tuyến: Mô hình Multi-seasonal - ARIMA online (Trang 191)
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 - Cải tiến phương pháp học máy trong chuỗi thời gian và ứng dụng
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 (Trang 193)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w