HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA --- TRẦN DUY LỘC ỨNG DỤNG PHÁT HIỆN CHUỖI CON BẤT THƯỜNG TRONG DỰ BÁO DỮ LIỆU CHUỖI THỜI GIAN BẰNG PHƯƠNG PHÁP HOLT-WINTERS CHUYÊN NGÀNH: Khoa học
Phát biểu vấn đề
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.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.
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.
Cơ sở lý thuyết
Một số khái niệm cơ bản
2.1.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 = t 1 …t n 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
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
2.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 R và q < q’ < p hoặc p < 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ị
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
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 X t , 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.2.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
2.2.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à:
Và các giá trị của được tính như sau:
Lúc này hàm tự tương quan ACF cũng có thể biểu diễn như sau:
- Nếu p = 1 (bậc 1) thì 1 = 1 và ta có ’ 1 = ’ 1 Vậy ’ 1 sẽ được gán cho a 1
- 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 a 1 và ’ 2 sẽ được gán cho a 2
Như vậy, một chuỗi các giá trị a 1 , a 2 ,… a p 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.3.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)…
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.4) của nó 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
Hình 2.4: Hàm tự tương quan của dữ liệu có tính xu hướng
Có thể được xấp xỉ bằng 1 đường thẳng hoặc đường cong trơn (Hình 2.5)
Hình 2.5: Giá trị dự báo được xấp xỉ 2.3.2 Thành phần mùa (Seasonal)
Là thành phần thể hiện sự biến đổi lặp đi lặp lại tại từng thời điểm cố định theo từng năm của chuỗi thời gian [9] Nó có thể diễn ra trong phạm vi 1 quý (Hình 2.6), 1 tuần hay 1 ngày
Hình 2.6: Tính mùa của dữ liệu chuỗi thời gian Đối với chuỗi thời gian có thành phần mùa thì giá trị tại những thời điểm cố định theo từng năm sẽ có sự tương quan lớn với nhau Việc xác định một chuỗi thời gian có thành phần xu hướng hay thành phần mùa hay không rất quan trong trong bài toán dự báo chuỗi thời gian Nó giúp ta lựa chọn được mô hình dự báo phù hợp hay giúp cải tiến mô hình đã có chính xác hơn
Hệ số tự tương quan tại những thời điểm cố định theo từng năm sẽ có sự tương quan lớn với nhau (Hình 2.7)
Hình 2.7: Hàm tự tương quan của dữ liệu có tính mùa 2.3.3 Thành phần chu kỳ (Cyclical)
Là chuỗi biến đổi dạng sóng lên xuống quanh xu hướng (Hình 2.8) [9] Trong thực tế thành phần này rất khó xác định và người ta thường xem nó như là một phần của thành phần xu hướng (Hình 2.9)
Hình 2.8: Tính chu trình của dữ liệu chuỗi thời gian
Hình 2.9: Tính chu kỳ như là một phần của thành phần xu hướng 2.3.4 Thành phần bất thường (Irregular)
Là thành phần thể hiện sự biến đổi ngẫu nhiên không thể đoán được của chuỗi thời gian [9].
Dự báo dữ liệu chuỗi thời gian bằng phương pháp làm trơn hàm mũ Holt Winters [5] 11 2.5 Các phương pháp đánh giá sai số trong dự báo chuỗi thời gian
Các phương pháp làm trơn là tập hợp các phương pháp, trong đó các giá trị dự báo mới ở thời điểm tiếp theo sẽ được ước lượng bằng việc kết hợp giá trị dự báo và giá trị quan sát ở thời điểm ngay trước đó Đây là một trong những kĩ thuật đơn giản nhưng hiệu quả để sử dụng dự báo đối với dữ liệu chuỗi thời gian có tính chất tuyến tính Gồm có các phương pháp sau:
2.4.1 Dự báo dữ liệu chuỗi thời gian bằng phương pháp làm trơn theo hàm mũ đơn giản (Simple Exponential Smoothing)
Mô hình này được giới thiệu vào năm 1957 bởi C.C Holt [6] và được dùng cho các chuỗi thời gian không có tính xu hướng (Trend) và không có tính mùa (Seasonal) Trong mô hình này, giá trị dự báo mới ở thời điểm tiếp theo (t+1) sẽ được tính theo công thức:
- 𝑌̂ 𝑡+1 : giá trị dự báo ở thời điểm t+1
- 𝑌̂ 𝑡 : giá trị dự báo ở thời điểm t
- 𝑌 𝑡 : giá trị thật quan sát được ở thời điểm t
- Tham số α được gọi là hệ số làm trơn (0 < α < 1) Đây là phương pháp đơn giản nhất trong các phương pháp làm trơn dữ liệu Từ công thức (1), ta có thể biến đổi thành:
Giá trị quan sát gần nhất có trọng số 𝛼, các giá trị kế tiếp có trọng số 𝛼(1 − 𝛼), 𝛼(1 − 𝛼) 2 , … Vì thế phương pháp này mới được gọi là phương pháp làm trơn theo hàm mũ Đối với giá trị α ta hoàn toàn có thể ước lượng giá trị α bằng cách sử dụng các phương pháp ước lượng tối thiểu bằng các hàm sai số SSE (Sum Squared Error), MSE (Mean Squared Error), MAE (Mean Absolute Error)…
Nếu các giá trị dự đoán ổn định và biến đổi ngẫu nhiên ít, thì chọn giá trị α nhỏ, ngược lại nếu muốn tốc độ đáp ứng nhanh thì chọn α lớn
2.4.2 Dự báo dữ liệu chuỗi thời gian bằng phương pháp làm trơn theo hàm mũ Holt Đối với dữ liệu chuỗi thời gian có tính xu hướng rõ rệt, việc sử dụng phương pháp làm trơn đơn giản không còn hiệu quả Vì thế, năm 1958 C.C Holt [6] đưa ra một phương pháp cải tiến có khả năng dự báo dữ liệu có xu huớng đó là phương pháp làm trơn hàm mũ Holt Trong phương pháp này, dữ liệu chuỗi thời gian được tách thành hai thành phần là thành phần biên độ (level) và thành phần xu hướng (trend) Hai thành phần này phải được cập nhật lại tại mỗi thời điểm, khi đó giá trị dự báo tại thời điểm
(t+p) sẽ được tính bởi công thức:
Trong đó, L t và T t là hai thành phần biên độ và xu hướng được ước lượng bởi công thức sau:
𝑇 𝑡 = 𝛽(𝐿 𝑡 − 𝐿 𝑡−1 ) + (1 − 𝛽)𝑇 𝑡−1 (0 ≤ 𝛽 ≤ 1) Với tham số α, 𝛽 lần lượt là hệ số làm trơn cho thành phần biên độ và xu hướng Đây chính là một sự mở rộng từ phương pháp làm trơn đơn giản nếu cho thành phần xu hướng trong dữ liệu bằng không
2.4.3 Dự báo dữ liệu chuỗi thời gian bằng phương pháp làm trơn theo hàm mũ Holt-Winters Đặc biệt, đối với dữ liệu chuỗi thời gian có tính xu hướng và tính mùa thì phương pháp làm trơn theo hàm mũ Holt không còn hiệu quả Năm 1960, Winter đưa ra một phương pháp mới mở rộng từ phương pháp của Holt để có thể ước lượng tính mùa [7]
Do đó, phương pháp này còn có tên là phương pháp làm trơn hàm mũ Holt-Winters Phương pháp này thêm vào một tham số để giải quyết tính mùa và có hai mô hình hiện thực tùy thuộc vào tính mùa của dữ liệu:
Mô hình có tính nhân (Multiplicative Seasonal Model): mô hình nhân hiệu quả nhất khi sự biến thiên của chuỗi thời gian tăng cùng với biên độ và tăng dần theo thứ tự thời gian Nghĩa là các giá trị của chuỗi trải rộng ra khi xu hướng tăng gần và tập hợp các giá trị quan sát có hình phễu
Thành phần mùa được xem là một thành phần nhân trong chuỗi thời gian
Mô hình có tính cộng (Additive Seasonal Model): mô hình cộng hiệu quả khi chuỗi thời gian đang được phân tích có sự biến thiên xấp xỉ đều nhau suốt độ dài của chuỗi thời gian Nghĩa là các giá trị của chuỗi thời gian về cơ bản nằm trong một dải giá trị có độ rộng là một hằng số và trung tâm của dải này là đường xu thế
Thành phần mùa được xem là một thành phần cộng trong chuỗi thời gian
- 𝐿 𝑡 , 𝑇 𝑡 , 𝑆 𝑡 lần lượt là các thành phần biên độ, thành phần xu hướng và thành phần mùa của chuỗi thời gian
- s là chiều dài của thành phần mùa
- Tham số α, 𝛽, 𝛾 lần lượt là hệ số làm trơn cho thành phần bậc, xu hướng và mùa
Nếu hệ số 𝛾 bằng 0, nghĩa là trong dữ liệu không có thành phần mùa, phương pháp này trở thành phương pháp làm trơn hàm mũ Holt Nếu hệ số β bằng 0, nghĩa là trong dữ liệu không có thành phần xu hướng, phương pháp này trở thành phương pháp làm trơn hàm mũ đơn giản Như vậy, phương pháp này là phương pháp tổng quát nhất trong ba phương pháp
2.4.4 Ước lượng tham số dự báo tối ưu cho mô hình Holt-Winters Đối với dự báo bằng mô hình Holt-Winters thì một trong các yếu tố rất quan trọng quyết định tính chính xác của kết quả dự báo là chọn được bộ tham số α, 𝛽, 𝛾 phù hợp để giảm thiểu sai số dự báo Trong phần này chúng tôi sử dụng giải thuật tìm kiếm lưới tìm kiếm tuần tự và giải thuật mô phỏng luyện kim để tìm ra một bộ tham số α, 𝛽, 𝛾 tối ưu cho chuỗi dữ liệu đầu vào dựa theo tiêu chí bộ tham số tối ưu sẽ làm giảm thiểu sai số dự báo a Ước lượng tham số dùng giải thuật tìm kiếm lưới (Grid Search)
Mỗi tham số α, 𝛽, 𝛾 nằm trong khoảng [0, 1] Giải thuật tìm kiếm lưới bắt đầu với bộ tham số α = 0, 𝛽 = 0, 𝛾 = 0 và bắt đầu quá trình dự báo trên bộ tham số này rồi tính toán sai số trung bình bình phương của kết quả dự báo Sau đó ghi nhận bộ tham số và sai số dự báo tương ứng Tiếp tục tạo ra các bộ tham số dự báo mới bằng cách tăng lần lượt các tham số α, 𝛽, 𝛾 lên 0.1 sau đó tiến hành dự báo và tính toán sai số tương ứng Như vậy, sau 10 3 lần vét cạn ta sẽ chọn được bộ tham số α, 𝛽, 𝛾 tối ưu là bộ tham số có sai số dự báo trung bình bình phương là nhỏ nhất b Ước lượng tham số dùng giải thuật mô phỏng luyện kim (Simulated Annealing - SA)
Khác với giải thuật tìm kiếm lưới phải tính sai số trung bình bình phương của toàn bộ không gian trạng thái của các tham số α, 𝛽, 𝛾 Đối với giải thuật mô phỏng luyện kim ta sẽ làm như sau:
Gọi T 0 là trạng thái hiện tại của bộ ba hệ số α, 𝛽, 𝛾 Tính sai số trung bình bình phương dựa trên T 0
Kết luận
Từ cơ sở lý thuyết đã nêu, luận văn này đề xuất một phương pháp khắc phục nhược điểm đã nêu của phương pháp dự báo làm trơn hàm mũ Holt-Winters Để so sánh và đánh giá kết quả dự báo của phương pháp đề xuất luận văn này sử dụng các phương pháp đánh giá sai số đã nêu trong chương này.
Tổng thuật các công trình liên quan
Các phương pháp biểu diễn dữ liệu chuỗi thời gian
Kích thước của dữ liệu chuỗi thời gian thường rất lớn cho nên chi phí truy xuất, tính toán trên dữ liệu thô là rất cao Do đó, để giảm kích thước dữ liệu người ta dùng phương pháp thu giảm số chiều (dimensionality reduction) giúp nâng cao hiệu suất truy xuất và tính toán Các phương pháp rời rạc hóa (discretization) dữ liệu dưới dạng chuỗi bit hay chuỗi ký tự nhằm khai thác các kỹ thuật nén dữ liệu cũng như kỹ thuật khai phá dữ liệu văn bản (text mining) Ngoài ra chúng ta cũng cần chuẩn hóa dữ liệu (normalization) trước khi bắt đầu biểu diễn nhằm tránh những vấn đề dữ liệu có đường cơ bản khác nhau hoặc biên độ dao động khác nhau
3.2.1 Phương pháp xấp xỉ gộp từng đoạn (Piecewise Aggregate
Phương pháp xấp xỉ gộp từng đoạn (PAA) do E Keogh và cộng sự đề xuất năm
2000 [3] Phương pháp PAA tuần tự xấp xỉ k điểm giá trị liền kề nhau thành cùng một giá trị trung bình cộng của k điểm đó Quá trình được thực hiện từ trái sang phải và kết quả cuối cùng ta được một đường dạng bậc thang (Hình 3.3)
Hình 3.3: Phép biến đổi PAA Ưu điểm:
Thời gian tính toán rất nhanh
Hỗ trợ nhiều phương pháp tính khoảng cách
Hỗ trợ truy vấn với chiều dài khác nhau
Xây dựng lại chuỗi ban đầu là rất khó, thường sinh lỗi
Không quan tâm đến những điểm đặc biệt (điểm cực trị) trong từng đoạn xấp xỉ vì tính giá trị trung bình
3.2.2 Phương pháp xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate approXimation - SAX)
Từ dữ liệu chuỗi thời gian nguyên thủy, sau khi đã thu giảm số chiều bằng phương pháp PAA, dữ liệu sẽ tiếp tục được xử lý rời rạc hóa về chuỗi những ký tự rời rạc Rời rạc hóa là một quá trình ánh xạ từng đoạn trong dữ liệu đã biến đổi vào một bit hoặc một ký tự Kết quả của quá trình rời rạc hóa là ta chuyển một dữ liệu chuỗi thời gian nguyên thủy về một chuỗi bit hoặc chuỗi ký tự
Phương pháp rời rạc hóa được dùng nhiều nhất là phương pháp xấp xỉ gộp ký hiệu hóa (Symbolic Aggregate approXimation - SAX) chuyển dữ liệu chuỗi thời gian về chuỗi các ký tự Phương pháp này do J Lin đề xuất năm 2003 [1], dữ liệu ban đầu được rời rạc hóa bằng phương pháp PAA, mỗi đoạn xấp xỉ trong chuỗi PAA sẽ được ánh xạ với một ký tự tương ứng dựa trên phân bố chuẩn (Gauss) (Hình 3.6) Bấy giờ bài toán so trùng chuỗi trên dữ liệu chuỗi thời gian được chuyển về bài toán so trùng ký tự
Với dữ liệu chuỗi thời gian đã chuẩn hóa thường tuân theo một xác suất phân bố chuẩn (Gauss) (Hình 3.4)
Hình 3.4: Mẫu dữ liệu được vẽ có tính chất tuyến tính cho thấy dữ liệu tuân theo phân bố Gauss [1]
Khi dữ liệu đã tuân theo phân bố Gauss ta cần xác định những điểm ngắt (break point), cái mà sẽ sinh ra a những vùng có diện tích bằng nhau bên dưới đường cong
Gauss Định nghĩa 1: Những điểm ngắt (Breakpoints): những điểm ngắt là một danh sách có thứ tự B = β1, …, βa-1 bên dưới mật độ phân bố xác suất N(0,1) của đường cong Gauss, giá trị βi đến βi+1 = 1/a, β0 = -∞ và βa = ∞ (Hình 3.5)
Hình 3.5: Bảng thống kê dùng để tra những điểm ngắt theo phân bố Gauss với số vùng phân bố từ 3 đến 10 [1]
Tất cả các hệ số PAA hiện có sẽ được ánh xạ vào danh sách những điểm ngắt theo cơ chế như sau: nếu như hệ số PAA đang xét mà thấp hơn giá trị điểm ngắt nhỏ nhất thì nó sẽ được ánh xạ với ký tự “a”, nếu nó lớn hơn giá trị điểm ngắt nhỏ nhất nhưng bé hơn giá trị điểm ngắt nhỏ thứ nhì thì sẽ được ánh xạ với ký tự “b” (Hình 3.6), và tương tự như vậy
Hình 3.6: Rời rạc hóa về chuỗi ký tự cho một chuỗi có chiều dài n = 128, w = 8, a =
3 [1] Định nghĩa 2: Từ (Word): một chuỗi con C có chiều dài n có thể được biểu diễn bằng một từ có w ký tự 𝐶̂ = 𝑐̂ 1 , … , 𝑐̂ 𝑤 theo cách như sau: gọi alpha i là ký tự thứ i trong bảng ký tự alphabet (alpha 1 = a, alpha 2 = b, …) Để ánh xạ từ đường xấp xỉ PAA 𝐶̅ vào một từ tương ứng 𝐶̂ ta sử dụng công thức sau: ĉ i = alpha j ⇔ βj-1 ≤ ĉ i < βj Ưu điểm:
Thích hợp để đặc trưng hóa dữ liệu
Có thể tương tác với dữ liệu có kích thước lớn (hàng Terabyte)
Thích hợp với xử lý dữ liệu trên chuỗi, phù hợp với những bài toán nhận dạng motif
Các điểm ngắt được xác định dựa trên phân bố chuẩn (Gauss), có thể không thích hợp với mọi loại dữ liệu.
Các giải thuật phát hiện bất thường
Giải thuật Tarzan [2], do Keogh và các cộng sự đề xuất năm 2002, dựa trên sự kết hợp mô hình Markov ẩn bậc cao và cây hậu tố để phát hiện chuỗi con bất thường Mô hình Markov ẩn dùng để dự đoán xác suất xuất hiện của một chuỗi con nào đó so với chuỗi huấn luyện cho trước, còn cây hậu tố (suffix tree) dùng để đếm số lần xuất hiện của từng chuỗi con trong chuỗi lớn
Giải thuật bắt đầu với việc người dùng cung cấp chuỗi dữ liệu huấn luyện R được cho là không chứa chuỗi con bất thường, rời rạc hóa R và xây dựng cây hậu tố cho chuỗi này Tiếp tục ta rời rạc hóa và xây dựng cây hậu tố cho chuỗi cần kiểm tra X Dựa vào chiều dài l 2 của chuỗi con bất đồng mà người dùng cung cấp, ta lần lượt kiểm tra tất cả các chuỗi con có chiều dài l 2 trong X và tính xác suất xuất hiện của từng chuỗi con này trong R nhờ mô hình Markov Nếu độ khác biệt giữa xác suất xuất hiện của một chuỗi con nào đó trong X với xác suất xuất hiện của nó trong R vượt quá ngưỡng c nào đó
(ngưỡng c này do người dùng quy định) thì ta kết luận chuỗi con đó là bất thường
Giải thuật phát hiện bất thường chân phương (Brute Force) là một giải thuật đơn giản (Hình 3.7) Người dùng cung cấp chiều dài l của chuỗi con bất thường, tất cả các chuỗi con có chiều dài l của chuỗi ban đầu được rút trích Giải thuật sẽ vét cạn, kiểm tra khoảng cách từng cặp chuỗi con với nhau Nếu chuỗi con nào có khoảng cách tới lân cận gần nhất lớn nhất thì nó là chuỗi con bất thường Cần lưu ý là ta không rời rạc hóa các chuỗi con được rút trích mà cần phải kiểm tra trên không gian dữ liệu gốc, vì hai chuỗi có thể gần nhau trong không gian thu giảm nhưng lại xa nhau trong không gian gốc
Hình 3.7: Giải thuật Brute Force trong phát hiện bất thường [4]
Trong đó, n là chiều dài của chuỗi con bất thường Độ phức tạp giải thuật là O(n 2 ) Đặc điểm 1: Ở vòng lặp ngoài nếu như tại một lần lặp, chuỗi con bất thường thực sự đã được xét thì giá trị best_so_far_dist sẽ được gán với giá trị cực đại, những lần lặp sau đó sẽ không mang lại kết quả mới Đặc điểm 2: Ở vòng lặp trong, nếu như tại một lần lặp mà ta có khoảng cách dist nhỏ hơn best_so_far_dist thì ta có thể thoát khỏi vòng lặp này ngay vì chắc chắn là điều kiện ở dòng 14 sẽ luôn luôn sai
Từ đặc điểm 1 và đặc điểm 2 của giải thuật brute force, năm 2005 E Keogh cùng các cộng sự đề xuất giải thuật HOTSAX [4] cải tiến từ giải thuật brute force bằng cách áp dụng hai heuristic cho vòng lặp ngoài và vòng lặp trong với mong muốn:
Ở vòng lặp ngoài những chuỗi con có khả năng là bất thường thực sự cao sẽ được ưu tiên xem xét trước
Ở vòng lặp trong những chuỗi con là láng giềng gần nhất của của chuỗi đang xét ở vòng lặp ngoài sẽ được ưu tiên xem xét trước Điều này giúp cho giá trị best_so_far_dist đạt giá trị lớn ngay từ những lần lặp đầu, giúp tăng khả năng điều kiện dòng 9 (Hình 3.8) luôn đúng cho phép kết thúc sớm vòng lặp trong Để hiện thực hai heuristic này giải thuật HOTSAX (Hình 3.8) cần sự hỗ trợ của hai cấu trúc dữ liệu (Hình 3.9): một cấu trúc mảng và một cấu trúc dạng cây Trie
Dữ liệu sau khi đã rời rạc hóa, các chuỗi con sẽ được rút trích bởi cửa sổ trượt sẽ được lưu trong một dãy (array) Cột ngoài cùng bên trái là chỉ số vị trí của chuỗi con Cột ngoài cùng bên phải là số lần xuất hiện của chuỗi con đó trong tập dữ liệu đã rời rạc hóa Một cấu trúc cây Trie có chiều cao bằng với kích thước chuỗi con, mỗi cạnh tương ứng với một ký tự trong các chuỗi con Mỗi đường đi từ nút gốc đến nút lá tương ứng với một chuỗi con Mỗi nút lá của cây Trie chứa một danh sách các chuỗi con tương ứng với đường đi từ nút gốc đến nút lá đó ở dạng các chỉ mục (vị trí bắt đầu của các chuỗi con) Số lượng các chỉ mục ở nút lá sẽ được cập nhật ngược lại cột ngoài cùng bên phải của cấu trúc dãy các chuỗi con
Hình 3.8: Giải thuật phát hiện chuỗi con bất thường HOTSAX [4]
Hình 3.9: Hai cấu trúc dữ liệu hỗ trợ giải thuật HOTSAX [4] Đối với vòng lặp ngoài giải thuật sẽ tìm trên cấu trúc dãy, các chuỗi con ứng với số lần xuất hiện là tối thiểu sẽ được xét trước, các chuỗi con còn lại sẽ được chọn theo thứ tự ngẫu nhiên Tương ứng với mỗi chuỗi con ở vòng lặp ngoài giải thuật sẽ tìm trên cây Trie để lấy danh sách các chuỗi con giống với nó, các chuỗi con này sẽ được ưu tiên xét trước ở vòng lặp trong, các chuỗi còn lại có thể chọn theo thứ tự ngẫu nhiên
Không có khái niệm xấp xỉ cho chuỗi con bất thường nên các giải thuật khai phá bất thường phải cho kết quả chính xác
Giải thuật HOTSAX cải tiến giải thuật Brute-Force bởi hai heuristic xếp thứ tự các chuỗi con từ đó giải thuật có thể kết thúc sớm ở vòng lặp trong giúp tăng tốc giải thuật đáng kể [4].
Các mô hình dự báo chuỗi thời gian khác
3.4.1 Mô hình ARMA (AutoRegressive Moving Average)
Nhiều quá trình ngẫu nhiên tĩnh không thể mô hình hóa được như một quá trình trung bình di động hoặc quá trình tự hồi qui thuần túy vì chúng có đặc điểm của cả hai quá trình này Có nghĩa là giá trị biến dự đoán không những phụ thuộc tuyến tính các giá trị trong quá khứ (tính chất của mô hình tự hồi quy) mà còn phụ thuộc vào các giá trị lỗi trong quá khứ (tính chất của mô hình trung bình di động) Do đó ta sử dụng cùng cả hai mô hình AR(p) và MA(q) để mô tả cho các quá trình ngẫu nhiên này tạo ra mô hình pha trộn tự hồi qui – trung bình di động bậc (p, q) Ký hiệu là ARMA(p, q) và được biểu diễn như sau:
Mô hình ARMA(p, q) có chứa đựng mô hình AR(p) và MA(q) nên hàm tự tương quan và hàm tự tương quan riêng phần của nó thể hiện cả hành vi của mô hình AR(p) và của mô hình MA(q) Tức là hàm tự tương quan riêng phần và hàm tự tương quan giảm dần về không
3.4.2 Mô hình ARIMA (AutoRegressive Integrated Moving Average)
Mô hình ARMA(p, q) làm việc tốt với các dữ liệu tĩnh, tức là không có thành phần xu hướng (trend) Nhưng trong thực tế dữ liệu thường có một xu hướng đi lên hay đi xuống nào đó, đặc biệt với các chuỗi thời gian trong kinh tế Đối với các chuỗi thời gian có xu hướng tuyến tính ta cần chuyển nó thành tĩnh tuyến tính rồi mới áp dụng mô hình ARMA Một trong những cách chuyển một chuỗi thời gian có xu hướng về chuỗi thời gian tĩnh là phương pháp lấy hiệu (differencing)
Do đó người ta đưa thêm một hệ số d vào mô hình ARMA(p, q) để tạo thành mô hình ARIMA(p, d, q), với d là số lần lấy hiệu để chuỗi thời gian trở thành chuỗi tĩnh Khi d bằng không thì mô hình ARIMA(p, d, q) trở thành mô hình ARMA(p, q) Mô hình
ARIMA có thể làm việc tốt với dữ liệu tĩnh lẫn dữ liệu có xu hướng tuyến tính
Dạng toán học của mô hình ARIMA(p, d, q) là:
- 𝜙(𝐵) là phần mô hình AR(p), được tính theo công thức:
- 𝜃(𝐵) là phần mô hình MA(q), được tính theo công thức:
- (1 − 𝐵) 𝑑 là phần lấy hiệu d lần
- B là toán tử trễ (lag operator) thể hiện giá trị ở thời điểm trước:
3.4.3 Mô hình SARIMA (Seasonal ARIMA)
Mô hình ARIMA(p, d, q) có thể làm việc tốt với dữ liệu có xu hướng tuyến tính nhưng vẫn chưa xử lý tốt các chuỗi thời gian có tính mùa, tức là chuỗi thời gian có những thành phần thể hiện sự biến đổi lặp đi lặp lại tại từng thời điểm cố định theo từng năm Do đó người ta đưa vào bốn hệ số P, D, Q, s vào mô hình ARIMA(p, d, q) để tạo thành mô hình ARIMA(p, d, q)×(P, D, Q)S Ở đây s chính là thời điểm mà thành phần mùa sẽ lặp lại, nếu dữ liệu được quan sát theo tháng thì s = 12, nếu dữ liệu quan sát theo quý thì s = 4 Mô hình ARIMA cho dữ liệu có tính mùa đôi khi còn được gọi mô hình SARIMA
Dạng toán học của mô hình ARIMA(p, d, q)×(P, D, Q)S là:
- 𝜙(𝐵) là phần mô hình AR(p), được tính theo công thức:
- 𝜙 ∗ (𝐵 𝑆 ) là phần mô hình ARS(P) (thành phần mùa), được tính theo công thức:
- 𝜃(𝐵) là phần mô hình MA(q), được tính theo công thức:
- 𝜃 ∗ (𝐵 𝑆 ) là phần mô hình MAS(Q) (thành phần mùa), được tính theo công thức:
- (1 − 𝐵) 𝑑 là phần lấy hiệu d lần
- (1 − 𝐵 𝑆 ) 𝐷 là phần lấy hiệu D lần theo mùa
- B là toán tử trễ (lag operator) thể hiện giá trị ở thời điểm trước:
Việc xác định các thông số P, D, Q tương tự như việc xác định các hệ số p, d, q thông thường chỉ khác ở chỗ các dấu hiệu của hàm tự tương quan và hàm tự tương quan riêng phần khác thể hiện theo các độ trễ là bội của s
3.4.4 Mô hình mạng nơ ron (Neural Networks - NN)
Mạng nơ ron nhân tạo (ANN) là một lĩnh vực nghiên cứu rất lớn trong lĩnh vực trí tuệ nhân tạo, ANN được xem như một hệ thống kết nối tập hợp các ngõ vào (inputs) đến tập hợp các ngõ ra (outputs) qua một hay nhiều lớp nơ ron, các lớp này được gọi là các lớp ẩn (Hình 3.10) Việc xác định có bao nhiêu ngõ vào, ngõ ra, số lớp ẩn cũng như số lượng nơ ron của mỗi lớp tạo thành kiến trúc của mạng
Hình 3.10: Kiến trúc của một ANN cho dự báo chuỗi thời gian với 5 ngõ vào, một tầng ẩn 10 nơ ron và 2 ngõ ra (là giá trị dự báo) [8]
Trong ngữ cảnh chuỗi thời gian, ngõ ra là giá trị của chuỗi thời gian được dự báo, ngõ vào có thể là có giá trị quan sát trước thời điểm dự báo (xác định bởi độ trễ) của chuỗi thời gian và các biến giải thích khác Đối với các ANN một lớp ẩn có H nơ ron, phương trình tổng quát để tính giá trị dự báo x t (ngõ ra) sử dụng đến các mẫu quan sát quá khứ 𝑥 𝑡−𝑗 1 , 𝑥 𝑡−𝑗 2 , … , 𝑥 𝑡−𝑗 𝑘 làm ngõ vào được viết dưới dạng sau:
- {w ch } h=1,2, ,H biểu thị các trọng số cho kết nối giữa hằng số ngõ vào và các nút lớp ẩn
- w c0 là trọng số kết nối trực tiếp giữa ngõ vào hằng số và ngõ ra
- {w ih } và {w h0 } là các trọng số của các kết nối khác giữa các ngõ vào với các nút lớp ẩn và giữa các nút lớp ẩn với ngõ ra
- 𝜙 0 và 𝜙 ℎ là hai hàm kích hoạt lần lượt được sử dụng tại ngõ ra và tại các nơ ron lớp ẩn
ANN được áp dụng trong dự báo chuỗi thời gian bởi rất nhiều nhà nghiên cứu
N Ganesan và các cộng sự năm 2010 [10] đã phát triển mô hình mạng Neural để ứng dụng cho việc chuẩn đoán bệnh ung thư
A Azadeh và các cộng sự năm 2007 [11] đã sử dụng mô hình mạng nơ ron nhân tạo để dự báo về lượng điện năng tiêu thụ.
Kết luận
Từ các giải thuật phát hiện bất thường đã nêu trong chương này, luận văn này sử dụng giải thuật phát hiện bất thường chân phương (Brute Force) vì đối với phương pháp dự báo ngắn hạn như mô hình làm trơn hàm mũ Holt-Winters thì dữ liệu dự báo thường nhỏ Nếu dùng giải thuật HOTSAX để phát hiện bất thường thì cần phải rời rạc hóa dữ liệu chuỗi thời gian và sẽ làm giảm đáng kể độ chi tiết của dữ liệu dẫn đến bất thường phát hiện được không chính xác Giải thuật phát hiện bất thường chân phương (Brute Force) phải làm việc trên dữ liệu gốc ban đầu nên phù hợp cho dự báo ngắn hạn hơn giải thuật
Hiện thực và thực nghiệm
Mô hình hiện thực
Dữ liệu chuỗi thời gian đầu vào trước tiên sẽ được chuẩn hóa để đưa giá trị của các điểm trên chuỗi thời gian về cùng một miền giá trị để có thể dễ dàng tính toán và so sánh khoảng cách giữa các chuỗi con với nhau Chuỗi thời gian đầu vào sẽ được chuẩn hóa bằng phương pháp z-score để có giá trị trung bình (mean) là không và độ lệch chuẩn (standard deviation) là một Phương pháp chuẩn hóa này hữu ích khi dữ liệu có chứa các giá trị cá biệt (bất thường)
Các giá trị chuẩn hóa của chuỗi thời gian được tính theo công thức sau:
𝒵: giá trị đã chuẩn hóa
𝑥: giá trị gốc ban đầu chưa được chuẩn hóa
𝜇: giá trị trung bình của chuỗi thời gian
𝜎: độ lệch chuẩn của chuỗi thời gian
Sau khi chuẩn hóa dữ liệu, hệ thống tiến hành phát hiện bất thường trên chuỗi thời gian đã chuẩn hóa bằng giải thuật phát hiện bất thường chân phương (Brute Force) Trong luận văn này chúng tôi sử dụng giải thuật phát hiện bất thường chân phương (Brute Force) mà không sử dụng giải thuật phát hiện bất thường HOTSAX vì đối với dự báo ngắn hạn như mô hình làm trơn hàm mũ Holt-Winters thì dữ liệu thường nhỏ Nếu rời rạc hóa chuỗi thời gian sẽ làm giảm đáng kể mức độ chi tiết của dữ liệu dẫn đến các bất thường phát hiện được không chính xác
Giải thuật phát hiện bất thường chân phương (Brute Force) không yêu cầu rời rạc hóa dữ liệu mà phải thực hiện trên dữ liệu gốc ban đầu nên phù hợp hơn giải thuật phát hiện bất thường HOTSAX Vì vậy, để tính khoảng cách giữa các chuỗi con cần sử dụng độ đo khoảng cách Euclid Đối với dữ liệu nhỏ trong việc dự báo ngắn hạn giải thuật phát hiện bất thường chân phương (Brute Force) cho kết quả với độ chính xác tốt hơn so với giải thuật phát hiện bất thường HOTSAX và thời gian thực thi nhanh
Sau khi phát hiện bất thường, hệ thống tiến hành xử lý làm trơn bất thường để loại bỏ yếu tố ảnh hưởng không tốt đến quá trình dự báo của mô hình Holt-Winters
Bất thường trên dữ liệu chuỗi thời gian gốc sẽ được loại bỏ và thay thế bằng các giá trị đã được làm trơn Phương pháp làm trơn được sử dụng là phương pháp trung bình di động đơn giản (Simple Moving Average) Phương pháp này được sử dụng vì tính đơn giản, dễ hiện thực và cho kết quả tốt Mỗi điểm dữ liệu trong đoạn bất thường ở thời điểm t sẽ được thay thế bằng giá trị trung bình của w điểm dữ liệu ở thời điểm t - w, ,t – 1 theo công thức sau:
𝑆𝑀𝐴 𝑡 : giá trị làm trơn ở thời điểm t
𝑤: là chiều dài của chuỗi con bất thường phát hiện được
Sau khi xử lý bất thường hệ thống có thể tiến hành phát hiện thêm bất thường khác dựa trên dữ liệu chuỗi thời gian vừa xử lý bất thường để phát hiện thêm bất thường khác và tiếp tục xử lý bất thường
4.1.4 Dự báo bằng mô hình Holt-Winters
Sau khi xử lý bất thường đã tìm thấy, hệ thống tiến hành dự báo trên dữ liệu chuỗi thời gian đã xử lý bất thường và trên dữ liệu chuỗi thời gian gốc để so sánh đánh giá phương pháp đề xuất Một trong các yếu tố quan trọng ảnh hưởng đến kết quả dự báo bằng mô hình Holt-Winters là phương pháp chọn giá trị khởi tạo cho mô hình Trong phần này chúng tôi trình bày phương pháp chọn giá trị khởi tạo cho mô hình Holt- Winters Để khởi tạo giá trị cho mô hình ta cần giá trị quan sát của ít nhất là một mùa mới có thể tính toán giá trị tiếp theo cho thành phần mùa Phương pháp chọn giá trị khởi tạo này chúng tôi tham khảo từ giáo sư Rob Hyndman ở đại học Monash [12]
- Chọn giá trị khởi tạo cho thành phần biên độ: giá trị khởi tạo cho thành phần biên độ được chọn là giá trị quan sát (chu kỳ) đầu tiên của dữ liệu đầu vào
- Chọn giá trị khởi tạo cho thành phần xu hướng: giá trị khởi tạo cho thành phần xu hướng được tính theo công thức sau:
L: giá trị khởi tạo cho thành phần xu hướng
Y t : giá trị quan sát ở thời điểm t
S: chiều dài của thành phần mùa
Ta nhận xét thấy với cách khởi tạo này thì dữ liệu đầu vào cần có ít nhất dữ liệu của hai mùa hoàn chỉnh
- Chọn giá trị khởi tạo cho thành phần mùa: giá trị khởi tạo cho thành phần mùa được tính theo công thức sau:
Tính giá trị trung bình cho từng mùa theo công thức:
S k : giá trị khởi tạo thứ k cho thành phần mùa
P: tổng số mùa của dữ liệu đầu vào
Sau khi đã khởi tạo được giá trị ban đầu của mô hình Holt-Winters, hệ thống tiến hành dự báo cho một mùa trong tương lai dựa vào các thông số đầu vào của dữ liệu: chiều dài thành phần mùa, mô hình (mô hình cộng hay mô hình nhân), và bộ tham số của mô hình dự báo.
Thực nghiệm
Trong phần này chúng tôi sẽ trình bày cách thức tiến hành thực nghiệm trên các bộ dữ liệu thực tế khác nhau và kết quả thực nghiệm mà chúng tôi thu được Để chứng minh cho tính hiệu quả của việc xử lý làm trơn bất thường trong dự báo dữ liệu chuỗi thời gian bằng mô hình Holt-Winters, chúng tôi tiến hành chạy thực nghiệm trên mười bộ dữ liệu chuỗi thời gian khác nhau Chúng tôi sử dụng các bộ dữ liệu thời gian có tính mùa và chỉnh sửa dữ liệu để thêm vào các bất thường trong dữ liệu Với mỗi bộ dữ liệu, chúng tôi sẽ lần lượt thêm vào hai bất thường khác nhau và tiến hành chạy dự báo trên dữ liệu có một bất thường và đã xử lý một bất thường, dữ liệu có hai bất thường và đã xử lý hai bất thường và dữ liệu không xử lý bất thường Sai số dự báo trên các bộ dữ liệu có bất thường và đã xử lý bất thường sẽ được ghi nhận và so sánh với nhau Các độ đo sai số được sử dụng là MSE, MAE, MAPE Ứng với mỗi bộ dữ liệu chúng tôi chạy thực nghiệm trên hai cấu hình phát hiện bất thường khác nhau sau đó tiến hành dự báo dựa trên tham số dự báo tối ưu ước lượng được cho bộ dữ liệu đó
4.2.1 Cách tạo bất thường trên dữ liệu mẫu
Với đặc thù của phương pháp dự báo dùng mô hình Holt-Winters đòi hỏi dữ liệu đầu vào để dự báo cần phải có tính mùa và tính xu hướng, trong phạm vi luận văn này dữ liệu đầu vào cần phải có thêm yếu tố bất thường để có thể phát hiện và xử lý bất thường Một khó khăn trong quá trình thực nghiệm là tìm được các bộ dữ liệu có thể thỏa mãn cả ba tiêu chí trên Chính vì vậy chúng tôi đã sử dụng các bộ dữ liệu chuỗi thời gian có tính mùa và tính xu hướng, sau đó tạo ra các bất thường trên các bộ dữ liệu này để làm dữ liệu thực nghiệm
Với mỗi bộ dữ liệu ban đầu chúng tôi tạo ra bất thường cho dữ liệu bằng cách thay từ một đến hai chuỗi con trong bộ dữ liệu bằng các chuỗi con bất thường ở các vị trí tương ứng Các chuỗi con bất thường này có kích thước bằng đúng các chuỗi con được thay thế vì vậy kích thước của bộ dữ liệu vẫn đảm bảo như ban đầu
Các chuỗi con bất thường được tạo ra bằng cách chọn các chuỗi con ngẫu nhiên trong bộ dữ liệu ban đầu và tăng hoặc giảm giá trị của từng điểm dữ liệu trong chuỗi con đó theo một tỉ lệ phần trăm ngẫu nhiên Các chuỗi con bất thường sau đó được thay thế vào đúng vị trí của chuỗi con ban đầu để tạo ra các bộ dữ liệu chuỗi thời gian vừa có tính mùa vừa có tính xu hướng và bất thường
4.2.2 Giao diện chương trình
Các thành phần giao diện chính của chương trình được đánh dấu như trong Hình
4.1, Hình 4.2, Hình 4.3 và giải thích như trong Bảng 4.1
Hình 4.1: Giao diện chương trình – Phát hiện và xử lý bất thường
Hình 4.2: Giao diện chương trình – Kết quả dự báo
Hình 4.3: Giao diện chương trình – Biểu diễu kết quả dự báo
Thành phần Mô tả chức năng
1 Nút lệnh đọc dữ liệu từ tập tin txt hoặc dat và chuẩn hóa dữ liệu
2 Kích thước chuỗi dữ liệu đầu vào
3 Kích thước cửa sổ trượt
4 Nút lệnh tìm bất thường
5 Nút lệnh xử lý làm trơn bất thường
6 Chiều dài thành phần mùa của chuỗi dữ liệu thời gian
7 Dự báo theo mô hình nhân hay cộng
8 Giải thuật ước lượng tham số dự báo tối ưu
9 Nút lệnh ước lượng tham số dự báo tối ưu
13 Tham số dự báo ước lượng
15 Thẻ biểu diễn bất thường và kết quả xử lý bất thường (nếu có)
16 Thẻ kết quả dự báo
17 Thẻ biểu diễn kết quả dự báo
18 Ẩn/Hiện chuỗi dữ liệu gốc trên biểu đồ
19 Ẩn/Hiện chuỗi dữ liệu đã xử lý bất thường trên biểu đồ
20 Ẩn/Hiện chuỗi con bất thường trên biểu đồ
21 Giá trị quan sát của chuỗi dữ liệu
22 Giá trị dự báo khi có xử lý bất thường
23 Giá trị sai số khi có xử lý bất thường
24 Giá trị dự báo khi không xử lý bất thường
25 Giá trị sai số khi không xử lý bất thường
26 Bảng so sánh kết quả dự báo khi có xử lý bất thường và không xử lý bất thường bằng các độ đo sai số: SSE, MSE, MAE, MAPE
27 Ẩn/Hiện chuỗi dữ liệu gốc trên biểu đồ
28 Ẩn/Hiện chuỗi dự báo khi không xử lý bất thường trên biểu đồ
29 Ẩn/Hiện chuỗi dự báo khi có xử lý bất thường trên biểu đồ
Bảng 4.1: Chức năng của các thành phần trên giao diện chương trình
4.2.3 Bộ dữ liệu khách hàng dặt chỗ hàng tháng của hãng hàng không Pan
Am từ năm 1946 đến năm 1960 (AirPassengers) Đây là bộ dữ liệu chúng tôi lấy trong bộ dữ liệu có sẵn trong phần mềm R Bộ dữ liệu này là một chuỗi thời gian có chiều dài 144 điểm vừa có tính xu hướng vừa có tính mùa với chiều dài thành phần mùa là 12 Mô hình Holt-Winters sử dụng là mô hình có tính nhân Phát hiện bất thường với hai kích thước cửa sổ trượt (w) khác nhau
- Dữ liệu có một bất thường (phát hiện và xử lý một bất thường)
Thời gian phát hiện bất thường: w = 17 (32ms), w = 12 (31ms)
Kết quả thực nghiệm, kết quả phát hiện và xử lý bất thường và kết quả dự báo được thể hiện trong Bảng 4.2, Hình 4.4 và Hình 4.5
Tham số Sai số dự báo α 𝛽 𝛾 MSE MAE MAPE
Phát hiện và xử lý bất thường w = 17 0.2 0.3 0.1 774.594 20.699 7.359 w = 12 0.1 0.1 0.1 1326.086 24.386 7.773 Không phát hiện và xử lý bất thường 0.1 0.1 0.1 16385.115 61.218 12.63
Bảng 4.2: Kết quả thực nghiệm cho bộ dữ liệu AirPassengers (có một bất thường)
Hình 4.4: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu AirPassengers (có một bất thường)
Hình 4.5: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu
AirPassengers (có một bất thường)
- Dữ liệu có hai bất thường (phát hiện và xử lý hai bất thường)
Thời gian phát hiện bất thường: w = 17 (56ms), w = 12 (60ms)
Kết quả thực nghiệm, kết quả phát hiện và xử lý bất thường và kết quả dự báo được thể hiện trong Bảng 4.3, Hình 4.6 và Hình 4.7
Tham số Sai số dự báo α 𝛽 𝛾 MSE MAE MAPE
Phát hiện và xử lý bất thường w = 17 0.1 0.1 0.1 1297.459 26.486 8.962 w = 12 0.1 0.1 0.1 1429.19 26.083 8.29 Không phát hiện và xử lý bất thường 0.1 0.1 0.1 18693.447 84.289 18.636
Bảng 4.3: Kết quả thực nghiệm cho bộ dữ liệu AirPassengers (có hai bất thường)
Hình 4.6: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu AirPassengers (có hai bất thường)
Hình 4.7: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu
AirPassengers (có hai bất thường)
Nhận xét: đối với bộ dữ liệu này thì kết quả dự báo khi phát hiện và xử lý một bất thường và hai bất thường đều cho kết quả dự báo tốt hơn khi không phát hiện và xử lý bất thường
4.2.4 Bộ dữ liệu mật độ khí Cacbonic trong khí quyển hàng tháng ở Mauna Loa (Hawaii) (CO 2 ) Đây là bộ dữ liệu chúng tôi lấy trong bộ dữ liệu có sẵn trong phần mềm R Bộ dữ liệu này là một chuỗi thời gian có chiều dài 468 điểm vừa có tính xu hướng vừa có tính mùa với chiều dài thành phần mùa là 12 Mô hình Holt-Winters sử dụng là mô hình có tính nhân Phát hiện bất thường với hai kích thước cửa sổ trượt (w) khác nhau
- Dữ liệu có một bất thường (phát hiện và xử lý một bất thường)
Thời gian phát hiện bất thường: w = 17 (438ms), w = 12 (378ms)
Kết quả thực nghiệm, kết quả phát hiện và xử lý bất thường và kết quả dự báo được thể hiện trong Bảng 4.4, Hình 4.8 và Hình 4.9
Tham số Sai số dự báo α 𝛽 𝛾 MSE MAE MAPE
Phát hiện và xử lý bất thường w = 17 0.1 1.0 0.1 0.825 0.639 0.187 w = 12 0.1 0.8 0.1 0.692 0.62 0.182 Không phát hiện và xử lý bất thường 0.1 0.1 0.1 316.035 4.153 1.025
Bảng 4.4: Kết quả thực nghiệm cho bộ dữ liệu CO 2 (có một bất thường)
Hình 4.8: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu CO 2 (có một bất thường)
Hình 4.9: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu CO 2
- Dữ liệu có hai bất thường (phát hiện và xử lý hai bất thường)
Thời gian phát hiện bất thường: w = 17 (855ms), w = 12 (766ms)
Kết quả thực nghiệm, kết quả phát hiện và xử lý bất thường và kết quả dự báo được thể hiện trong Bảng 4.5, Hình 4.10 và Hình 4.11
Tham số Sai số dự báo α 𝛽 𝛾 MSE MAE MAPE
Phát hiện và xử lý bất thường w = 17 0.1 0.9 0.1 1.531 0.808 0.236 w = 12 0.1 0.5 0.1 0.968 0.725 0.213 Không phát hiện và xử lý bất thường 0.1 0.2 0.1 2274.512 17.786 6.082
Bảng 4.5: Kết quả thực nghiệm cho bộ dữ liệu CO 2 (có hai bất thường)
Hình 4.10: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu CO 2 (có hai bất thường)
Hình 4.11: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu CO 2
Nhận xét: đối với bộ dữ liệu này thì kết quả dự báo khi phát hiện và xử lý một bất thường và hai bất thường đều cho kết quả dự báo tốt hơn khi không phát hiện và xử lý bất thường
4.2.5 Bộ dữ liệu số người chết trung bình hàng tháng vì bệnh phổi ở Anh (Mdeaths) Đây là bộ dữ liệu chúng tôi lấy trong bộ dữ liệu có sẵn trong phần mềm R Bộ dữ liệu này là một chuỗi thời gian có chiều dài 72 điểm có tính mùa với chiều dài thành phần mùa là 12 Mô hình Holt-Winters sử dụng là mô hình có tính nhân Phát hiện bất thường với hai kích thước cửa sổ trượt (w) khác nhau
- Dữ liệu có một bất thường (phát hiện và xử lý một bất thường)
Thời gian phát hiện bất thường: w = 17 (3ms), w = 12 (4ms)
Kết quả thực nghiệm, kết quả phát hiện và xử lý bất thường và kết quả dự báo được thể hiện trong Bảng 4.6, Hình 4.12 và Hình 4.13
Tham số Sai số dự báo α 𝛽 𝛾 MSE MAE MAPE
Phát hiện và xử lý bất thường w = 17 0.1 0.1 0.1 118081.385 261.023 15.917 w = 12 0.1 0.1 0.1 107324.889 239.025 14.896 Không phát hiện và xử lý bất thường 0.1 0.2 0.1 183521.772 326.419 33.275
Bảng 4.6: Kết quả thực nghiệm cho bộ dữ liệu Mdeaths (có một bất thường)
Hình 4.12: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu Mdeaths (có một bất thường)
Hình 4.13: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu
Mdeaths (có một bất thường)
- Dữ liệu có hai bất thường (phát hiện và xử lý hai bất thường)
Thời gian phát hiện bất thường: w = 17 (6ms), w = 12 (8ms)
Kết quả thực nghiệm, kết quả phát hiện và xử lý bất thường và kết quả dự báo được thể hiện trong Bảng 4.7, Hình 4.14 và Hình 4.15
Tham số Sai số dự báo α 𝛽 𝛾 MSE MAE MAPE
Phát hiện và xử lý bất thường w = 17 0.2 0.1 0.1 145560.584 308.558 22.111 w = 12 0.1 0.1 0.1 83168.103 222.692 14.53 Không phát hiện và xử lý bất thường 0.1 0.7 0.1 480769.698 533.409 55.45
Bảng 4.7: Kết quả thực nghiệm cho bộ dữ liệu Mdeaths (có hai bất thường)
Hình 4.14: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu Mdeaths (có hai bất thường)
Hình 4.15: Kết quả dự báo khi xử lý và không xử lý bất thường cho chuỗi Mdeaths
Nhận xét: đối với bộ dữ liệu này thì kết quả dự báo khi phát hiện và xử lý một bất thường và hai bất thường đều cho kết quả dự báo tốt hơn khi không phát hiện và xử lý bất thường
4.2.6 Bộ dữ liệu doanh số bán hàng của cửa hàng bán đồ lưu niện ở Queensland, Úc, từ năm 1987 đến năm 1993 (Fancy) Đây là bộ dữ liệu chúng tôi lấy trong bộ dữ liệu có sẵn trong phần mềm R Bộ dữ liệu này là một chuỗi thời gian có chiều dài 84 điểm có tính mùa và một chút xu hướng với chiều dài thành phần mùa là 12 Mô hình Holt-Winters sử dụng là mô hình có tính nhân Phát hiện bất thường với hai kích thước cửa sổ trượt (w) khác nhau
- Dữ liệu có một bất thường (phát hiện và xử lý một bất thường)
Thời gian phát hiện bất thường: w = 17 (8ms), w = 12 (7ms)
Kết quả thực nghiệm, kết quả phát hiện và xử lý bất thường và kết quả dự báo được thể hiện trong Bảng 4.8, Hình 4.16 và Hình 4.17
Tham số Sai số dự báo α 𝛽 𝛾 MSE MAE MAPE
Phát hiện và xử lý bất thường w = 17 0.1 0.8 0.1 34346566.658 3151.506 25.971 w = 12 0.1 0.1 0.1 53521357.496 4342.348 29.288 Không phát hiện và xử lý bất thường 0.1 0.1 0.2 195924370.028 7371.751 32.376
Bảng 4.8: Kết quả thực nghiệm cho bộ dữ liệu Fancy (có một bất thường)
Hình 4.16: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu Fancy (có một bất thường)
Hình 4.17: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu
Fancy (có một bất thường)
- Dữ liệu có hai bất thường (phát hiện và xử lý hai bất thường)
Thời gian phát hiện bất thường: w = 17 (12ms), w = 12 (15ms)
Kết quả thực nghiệm, kết quả phát hiện và xử lý bất thường và kết quả dự báo được thể hiện trong Bảng 4.9, Hình 4.18 và Hình 4.19
Tham số Sai số dự báo α 𝛽 𝛾 MSE MAE MAPE
Phát hiện và xử lý bất thường w = 17 0.1 0.9 0.1 37260903.774 4328.428 30.766 w = 12 0.1 0.1 0.2 40106208.769 3951.131 29.204 Không phát hiện và xử lý bất thường 0.1 0.1 0.1 148398960.658 7619.778 34.495
Bảng 4.9: Kết quả thực nghiệm cho bộ dữ liệu Fancy (có hai bất thường)
Hình 4.18: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu Fancy (có hai bất thường)
Hình 4.19: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu
Fancy (có hai bất thường)
Nhận xét: đối với bộ dữ liệu này thì kết quả dự báo khi phát hiện và xử lý một bất thường và hai bất thường đều cho kết quả dự báo tốt hơn khi không phát hiện và xử lý bất thường
4.2.7 Bộ dữ liệu lượng tiêu thụ khí đốt trung bình theo quý tại Anh (UKgas) Đây là bộ dữ liệu chúng tôi lấy trong bộ dữ liệu có sẵn trong phần mềm R Bộ dữ liệu này là một chuỗi thời gian có chiều dài 84 điểm có vừa tính xu hướng vừa có tính mùa với chiều dài thành phần mùa là 4 Mô hình Holt-Winters sử dụng là mô hình có tính nhân Phát hiện bất thường với hai kích thước cửa sổ trượt (w) khác nhau
- Dữ liệu có một bất thường (phát hiện và xử lý một bất thường)
Thời gian phát hiện bất thường: w = 17 (15ms), w = 12 (14ms)
Kết quả thực nghiệm, kết quả phát hiện và xử lý bất thường và kết quả dự báo được thể hiện trong Bảng 4.10, Hình 4.20 và Hình 4.21
Tham số Sai số dự báo α 𝛽 𝛾 MSE MAE MAPE
Phát hiện và xử lý bất thường w = 17 0.6 0.1 0.1 6138.719 42.466 15.335 w = 12 0.6 0.2 0.1 3914.137 32.315 9.56 Không phát hiện và xử lý bất thường 0.1 0.7 0.1 18805.59 54.123 31.646
Bảng 4.10: Kết quả thực nghiệm cho bộ dữ liệu UKgas (có một bất thường)
Hình 4.20: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu UKgas (có một bất thường)
Hình 4.21: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu
UKgas (có một bất thường)
- Dữ liệu có hai bất thường (phát hiện và xử lý hai bất thường)
Thời gian phát hiện bất thường: w = 12 (32ms), w = 10 (27ms)
Kết quả thực nghiệm, kết quả phát hiện và xử lý bất thường và kết quả dự báo được thể hiện trong Bảng 4.11, Hình 4.22 và Hình 4.23
Tham số Sai số dự báo α 𝛽 𝛾 MSE MAE MAPE
Phát hiện và xử lý bất thường w = 12 0.1 1.0 0.1 11953.697 56.044 15.044 w = 10 0.1 1.0 0.1 15624.562 63.473 17.183 Không phát hiện và xử lý bất thường 0.1 0.8 0.1 30514.116 84.415 38.507
Bảng 4.11: Kết quả thực nghiệm cho bộ dữ liệu UKgas (có hai bất thường)
Hình 4.22: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu UKgas (có hai bất thường)
Hình 4.23: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu
UKgas (có hai bất thường)
Nhận xét: đối với bộ dữ liệu này thì kết quả dự báo khi phát hiện và xử lý một bất thường và hai bất thường đều cho kết quả dự báo tốt hơn khi không phát hiện và xử lý bất thường
4.2.8 Bộ dữ liệu sản lượng sữa bò hàng tháng từ năm 1962 đến năm 1975 (Milk) Đây là bộ dữ liệu chúng tôi lấy trong thư viện dữ liệu chuỗi thời gian của giáo sư Rob Hyndman ở đại học Monash, Úc [13] Bộ dữ liệu này là một chuỗi thời gian có chiều dài 119 điểm vừa có tính xu hướng vừa có tính mùa với chiều dài thành phần mùa là 12 Mô hình Holt-Winters sử dụng là mô hình có tính nhân Phát hiện bất thường với hai kích thước cửa sổ trượt (w) khác nhau
- Dữ liệu có một bất thường (phát hiện và xử lý một bất thường)
Thời gian phát hiện bất thường: w = 17 (19ms), w = 12 (19ms)
Kết quả thực nghiệm, kết quả phát hiện và xử lý bất thường và kết quả dự báo được thể hiện trong Bảng 4.12, Hình 4.24 và Hình 4.25
Tham số Sai số dự báo α 𝛽 𝛾 MSE MAE MAPE
Phát hiện và xử lý bất thường w = 17 0.1 1.0 0.1 1340.981 29.614 3.678 w = 12 0.1 0.9 0.1 1368.987 30.357 3.746 Không phát hiện và xử lý bất thường 0.1 0.1 0.1 12610.204 69.745 7.638
Bảng 4.12: Kết quả thực nghiệm cho bộ dữ liệu Milk (có một bất thường)
Hình 4.24: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu Milk (có một bất thường)
Hình 4.25: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu Milk
- Dữ liệu có hai bất thường (phát hiện và xử lý hai bất thường)
Thời gian phát hiện bất thường: w = 17 (36ms), w = 12 (36ms)
Kết quả thực nghiệm, kết quả phát hiện và xử lý bất thường và kết quả dự báo được thể hiện trong Bảng 4.13, Hình 4.26 và Hình 4.27
Tham số Sai số dự báo α 𝛽 𝛾 MSE MAE MAPE
Phát hiện và xử lý bất thường w = 17 0.1 0.9 0.1 1555.409 30.022 3.793 w = 12 0.1 0.5 0.1 2172.698 36.702 4.529 Không phát hiện và xử lý bất thường 0.5 1.0 0.1 1054990.563 766.703 105.657
Bảng 4.13: Kết quả thực nghiệm cho bộ dữ liệu Milk (có hai bất thường)
Hình 4.26: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu Milk (có hai bất thường)
Hình 4.27: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu Milk
So sánh và đánh giá kết quả thực nghiệm
Qua kết quả thực nghiệm trên mười bộ dữ liệu ta thấy rằng kết quả dự báo khi có áp dụng phát hiện và làm trơn bất thường chính xác hơn kết quả dự báo không làm trơn bất thường
Chúng tôi nhận thấy độ chính xác dự báo khi dữ liệu chuỗi thời gian có chứa đựng bất thường bị ảnh hưởng phụ thuộc vào các bất thường trong dữ liệu, yếu tố bất thường càng lớn thì mức độ sai số càng lớn hay nói cách khác là kết quả dự báo tị lệ nghịch với yếu tố bất thường Đối với những bộ dữ liệu có chứa bất thường nhưng thành phần bất thường không rõ rệt mà chỉ sai khác không đáng kể so với các phần còn lại thì độ chính xác dự báo khi phát hiện và làm trơn bất thường không được cải thiện nhiều Ngược lại, với những bộ dữ liệu có chứa các bất thường nổi bật so với các phần còn lại thì sau khi phát hiện và làm trơn bất thường thì độ chính xác dự báo tăng khá nhiều
Do đó, để tăng tính chính xác khi dự báo bằng phương pháp Holt-Winters trên dữ liệu chuỗi thời gian có chứa đựng bất thường thì một yếu tố rất quan trọng là phải phát hiện chính xác thành phần bất thường trong dữ liệu Điều này phụ thuộc vào việc chọn kích thước cửa sổ trượt cho giải thuật phát hiện bất thường Chúng tôi nhận thấy nếu chọn kích thước cửa sổ trượt trong khoảng bằng cho đến gấp đôi kích thước của đoạn bất thường sẽ cho ra kết quả phát hiện bất thường tương đối tốt
Một yếu tố quan trọng khác cũng ảnh hưởng đế kết quả dự báo là nếu vị trí bất thường nằm xa những điểm cần dự báo thì đoạn bất thường đó không ảnh hưởng nhiều đến kết quả dự báo mà chỉ có tác động làm giảm sai số tổng của quá trình dự báo Nguyên nhân của việc này là do mô hình Holt-Winters là mô hình dự báo ngắn hạn vì vậy mức độ ảnh hưởng của các giá trị càng gần điểm dự báo sẽ càng cao và các điểm dữ liệu càng xa điểm dự báo càng ít ảnh hưởng đến điểm dự báo
Thời gian thực hiện của phương pháp đề xuất chỉ tốn kém hơn thời gian dự báo bình thường ở thời gian cần để phát hiện và làm trơn bất thường Đối với dự báo ngắn hạn thì dữ liệu chuỗi thời gian không quá lớn (các bộ dữ liệu thực nghiệm đều dưới 1000 điểm) thời gian phát hiện và làm trơn bất thường đều dưới một giây.