Chương 1: Phát biểu vấn đề 1. Dữ liệu chuỗi thời gian Dữ liệu chuỗi thời gian là dữ liệu đo đạc được tuần tự theo thời gian. Dữ liệu chuỗi thời gian được sinh ra trong nhiều ứng dụng thực tế, từ các lĩnh vực khoa học kỹ thuật cho đến kinh tế (Hình 1. Tầm quan trọng của dữ liệu chuỗi thời gian là rất lớn.
Vì vậy, dữ liệu chuỗi thời gian đã thu hút rất nhiều sự quan tâm và đã có nhiều nghiên cứu về dữ liệu chuỗi thời gian.1: Chuỗi thời gian biểu diễn số lượng khách đi máy bay 1. Phát hiện bất thường trên dữ liệu chuỗi thời gian Hiện nay, dữ liệu thời gian ngày càng nhiều và có mặt trong rất nhiều lĩnh vực quan trọng trong cuộc sống như y tế, kinh tế, thời tiết, âm nhạc,. Dữ liệu chuỗi thời gian vốn rất lớn và có tốc độ phát sinh rất nhanh nên việc tính toán và xử lý trên dữ liệu chuỗi thời gian đòi hỏi chi phí cao về tài nguyên và thời gian thực thi. Bên cạnh đó việc xử lý trên dữ liệu chuỗi thời gian còn vấp phải một khó khăn nữa là dữ liệu chuỗi thời gian thường chứa đựng yếu tố bất thường trong đó.
Yếu tố bất thường này làm cho việc xử lý trên dữ liệu chuỗi thời gian gặp nhiều khó khăn và làm cho kết quả dự báo không còn chính xác. Vì vậy, việc phát hiện và loại bỏ bất thường khỏi chuỗi thời gian là rất cần thiết. Dự báo trên dữ liệu chuỗi thời gian Dự báo trên dữ liệu chuỗi thời gian là dựa trên dữ liệu chuỗi thời gian và tìm kiếm các mối liên kết, các mẫu và các quy luật biến đổi để từ đó có thể dự đoán được các giá trị trong tương lai. Ngày nay, dự báo trên dữ liệu chuỗi thời gian đóng vai trò rất quan trọng và được ứng dụng trong nhiều lĩnh vực như dự báo thời tiết, thiên tai, động đất, lạm phát kinh tế hay sự biến động của thị trường chứng khoán.
Từ những kết quả dự báo ta có thể đưa ra các biện pháp để ngăn chặn các sự kiện không mong muốn hay tìm cách giảm thiểu thiệt hại xảy ra. Mục tiêu và giới hạn của đề tài Dự báo dữ liệu chuỗi thời gian hiện nay là một nhu cầu thực tế quan trọng và cần thiết và ngày càng thu hút được nhiều sự quan tâm. Một phương pháp dự báo trên dữ liệu chuỗi thời gian đơn giản và thường dùng là phương pháp làm trơn hàm mũ Holt-Winters. Mô hình này có thể làm việc hiệu quả trên chuỗi thời gian có tính xu hướng và tính mùa nhưng không thể làm việc tốt trên dữ liệu chuỗi thời gian có chứa bất thường.
Đối với dữ liệu chuỗi thời gian có chứa bất thường mô hình này cho kết quả không tốt. Mục tiêu của đề tài này là đưa ra một hướng khắc phục điểm yếu này của mô hình Holt-Winters để có thể dự báo tốt hơn trên chuỗi dữ liệu thời gian có chứa bất thường. Trong nghiên cứu này, chúng tôi đề xuất phát hiện và loại bỏ bất thường khỏi chuỗi thời gian bằng một giải thuật phát hiện bất thường để đảm bảo chuỗi dữ liệu đầu vào giảm thiểu bất thường sau đó mới tiến hành dự báo bằng phương pháp làm trơn hàm mũ Holt- Winters. Với sự kết hợp này có thể đem lại kết quả dự báo chính xác hơn khi dữ liệu chuỗi thời gian có chứa đựng bất thường.
Cấu trúc luận văn Phần còn lại của luận văn được tổ chức theo cấu trúc sau: Chương II: trình bày cơ sở lý thuyết của luận văn bao gồm một số khái niệm cơ bản, lý thuyết về chuỗi thời gian, dự báo và kỹ thuật làm trơn hàm mũ. Chương III: tổng thuật các công trình liên quan đến khai phá bất thuờng, một số mô hình dự báo dữ liệu chuỗi thời gian. Chương IV: trình bày mô hình hiện thực và thực nghiệm trên dữ liệu mẫu để so sánh và đánh giá phương pháp đề xuất. Chương V: những kết luận sau khi thực hiện luận văn, hướng phát triển của luận văn.
3 Chương 2: Cơ sở lý thuyết Chương này trình bày một số khái niệm cơ bản về dữ liệu chuỗi thời gian, dự báo dữ liệu chuỗi thời gian bằng các phương pháp làm trơn hàm mũ và các phương pháp đánh giá sai số trong dự báo dữ liệu chuỗi thời gian. Một số khái niệm cơ bản 2.1 Dữ liệu chuỗi thời gian (Time series) Dữ liệu chuỗi thời gian (Time series): Một dữ liệu chuỗi thời gian T = t1…tn là một tập hợp có thứ tự của n mẫu giá trị thực được đo đạc tại những thời khoảng liên tục bằng nhau.2 Chuỗi con (Subseries) Chuỗi con (subseries): Cho một dữ liệu chuỗi thời gian T có chiều dài là n, một chuỗi con C trong T có chiều dài m là một mẫu của những giá trị liên tục trích từ T, C = tp,…,tp+m-1 với 1 ≤ p ≤ n – m + 1.3 Cửa sổ trượt (Sliding Window) Cửa sổ trượt (Sliding Window): Cho một dữ liệu chuỗi thời gian T có chiều dài n, một cửa sổ có kích thước w do người dùng định nghĩa (thường w << n) sẽ trượt qua từng điểm giá trị trên chuỗi T, kết quả là ta được một danh sách n-w+1 các chuỗi con có kích thước w được rút trích từ chuỗi T. Một chuỗi con được sinh ra từ cửa sổ trượt cần đuợc kiểm tra xem có tương tự với một chuỗi con khác trong tất cả những chuỗi con còn lại hay không dựa vào một hàm tính khoảng cách. Ý tưởng này được gọi là khớp (match).4 Khớp (Match) Khớp (Match): Cho một số thực R (thường do người dùng định nghĩa) và một dữ liệu chuỗi thời gian T chứa một chuỗi con C bắt đầu tại vị trí p và một chuỗi con M bắt đầu tại vị trí q, nếu hàm tính khoảng cách từ C đến M ký hiệu D(C, M) ≤ R thì ta nói là chuỗi con M khớp được với chuỗi con C (Hình 2.1: Chuỗi con C và M sinh ra từ cửa sổ trượt và M khớp được với C Định nghĩa về khớp của hai chuỗi con thì rất rõ ràng và trực quan, tuy nhiên chúng ta cũng cần định nghĩa khái niệm khớp tầm thường (trivial match).
Hiển nhiên ta thấy một chuỗi con sẽ khớp tối đa (best match) với một chuỗi con khác mà gần nhất là chính nó, là chuỗi con mà cửa sổ trượt sinh ra khi trượt về bên trái hay bên phải của chính nó chỉ một vài điểm giá trị. Do đó trong định nghĩa bất thường cần phải loại bỏ những trường hợp khớp tầm thường này.5 Khớp tầm thường (Trivial match) Khớp tầm thường (Trivial match): Cho một dữ liệu chuỗi thời gian T và một chuỗi con C bắt đầu tại vị trí p và một chuỗi con M khớp được với C bắt đầu tại vị trí q. Chúng ta nói chuỗi con M là khớp tầm thường với chuỗi con C nếu p = q hoặc không tồn tại một chuỗi M’ nào bắt đầu tại vị trí q’ sao cho D(C, M’) > R và q < q’ < p hoặc p < q’ < q (Hình 2.2: Chuỗi con C khớp tầm thường với chuỗi con ngay chính vị trí của nó dịch sang trái hay sang phải một vài điểm giá trị 5 2.6 Bất thường (Anomaly) Bất thường (Anomaly): Cho một dữ liệu chuỗi thời gian T có chiều dài n, một chuỗi con C trong T là bất thường nếu khoảng cách từ C đến chuỗi con láng giềng gần nhất của nó là lớn nhất. Nói cách khác chuỗi con C là chuỗi con khác biệt nhất trong T.
Hệ số tự tương quan, hàm tự tương quan, hàm tự tương quan riêng phần 2.1 Hệ số tự tương quan (AutoCorrelation) Trong chuỗi thời gian các giá trị ở những thời điểm khác nhau có mối tương quan với nhau. Sự tương quan này được đánh giá bằng hệ số tự tương quan. Tự tương quan là sự tương quan của một biến với chính nó theo những độ trễ thời gian khác nhau [9]. Hệ số tự tương quan là đại lượng biểu diễn mức độ tự tương quan và được tính theo công thức sau: 𝐸[(𝑋𝑡 − 𝜇)(𝑋𝑡+𝑘 − 𝜇)] 𝜌𝑘 = √𝑉𝑎𝑟(𝑋𝑡 )𝑉𝑎𝑟(𝑋𝑡+𝑘 ) Ở đây 𝜌k là hệ số tự tương quan của X ở độ trễ k, 𝜇 là giá trị trung bình của Xt, E(X) là kỳ vọng của biến ngẫu nhiên X, Var(X) là phương sai của biến ngẫu nhiên X.2 Hàm tự tương quan (AutoCorrelation Function - ACF) Các hệ số tự tương quan của một biến ngẫu nhiên theo các độ trễ khác nhau được biểu diễn trên một đồ thị có trục hoành là các độ trễ và trục tung là các hệ số tự tương quan tạo thành hàm tự tương quan của biến đó.
Hàm tự tương quan là một công cụ quan trọng giúp xác định các thành phần cơ bản của chuỗi thời gian.3 Hàm tự tương quan riêng phần (Partial AutoCorrelation Function - PACF) Dùng để xác định bậc của một mô hình dự báo, cung cấp thông tin cụ thể và chi tiết hơn ACF. Chúng ta có thể biểu diễn lại công thức của ACF theo từng thời đoạn là: 𝛾𝑘 𝜌𝑘 = 𝛾0 Và các giá trị của được tính như sau: 0 = 11 + 22 +.+ p0 Và với điều kiện k > p k = 1k-1 + 2k-2 +.+ pk-p Lúc này hàm tự tương quan ACF cũng có thể biểu diễn như sau: 1 = 1 + 21 +.+ p Và với điều kiện k > p k = 1 k-1 + 2k-2 +.+ pk-p - Nếu p = 1 (bậc 1) thì 1 = 1 và ta có ’1 = ’1. Vậy ’1 sẽ được gán cho a1. - Nếu p = 2 (bậc 2) thì chúng ta có thể ước lượng được ’1 và ’2.
Vậy ’1 sẽ được gán cho a1 và ’2 sẽ được gán cho a2. - Tương tự cho p =3, p=4,. Như vậy, một chuỗi các giá trị a1, a2,… ap là một giá trị của hàm tự tương quan riêng phần tại thời đoạn đó. Các thành phần của chuỗi thời gian 2.1 Thành phần xu hướng (Trend) Biểu diễn cho sự thay đổi dần dần của dữ liệu chuỗi thời gian, mô tả sự biến động của các xu hướng có hướng đi lên hay đi xuống [9].
Xu hướng thường là kết quả của những nhân tố dài hạn như mật độ dân số, nhân khẩu, công nghệ, xu hướng của người tiêu dùng (Hình 2.3: Tính xu hướng của dữ liệu chuỗi thời gian Ta có thể xác định một chuỗi thời gian có chứa thành phần xu hướng hay không bằng việc kiểm tra hàm tự tương quan (Hình 2. Nếu một chuỗi thời gian có thành phần xu hướng sẽ có hệ số tự tương quan rất lớn ở những độ trễ đầu tiên và giảm dần về 0 khi độ trễ tăng lên.