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

Ứ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

85 42 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 85
Dung lượng 3,72 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

ĐẠI HỌC QUỐC GIA TP 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 máy tính

MÃ SỐ: 60.48.01

LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH, tháng 09 năm 2014

Trang 2

ĐẠI HỌC QUỐC GIA TP 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 máy tính

MÃ SỐ: 60.48.01

LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH, tháng 09 năm 2014

Trang 3

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học: PGS.TS Dương Tuấn Anh

Cán bộ chấm nhận xét 1: TS Võ Thị Ngọc Châu

Cán bộ chấm nhận xét 2: TS Võ Đình Bảy

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG TP.HCM ngày 14 tháng 07 năm 2014

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:

1 Chủ tịch hội đồng: TS Nguyễn Văn Minh Mẫn

2 Cán bộ hướng dẫn: PGS TS Dương Tuấn Anh

3 Cán bộ chấm nhận xét 1: TS Võ Thị Ngọc Châu

4 Cán bộ chấm nhận xét 2: TS Võ Đình Bảy

5 Thư ký: TS Lê Thanh Vân

Xác nhận của Chủ tịch Hội đồng đánh giá Luận văn và Trưởng khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA

Trang 4

ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

- -oOo -

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ và tên học viên: Trần Duy Lộc MSHV: 12070518 Ngày, tháng, năm sinh: 24/05/1988 Nơi sinh: TP.HCM Chuyên ngành: Khoa học máy tính Mã số: 60.48.01

III NGÀY GIAO NHIỆM VỤ:

Trang 5

LỜI CẢM ƠN

Tôi xin gửi lời cảm ơn chân thành và sâu sắc đến PGS.TS Dương Tuấn Anh, người thầy đã luôn tận tình hướng dẫn và tạo mọi điều kiện để tôi có thể hoàn thành luận văn này Tôi xin cảm ơn quý thầy cô, những người đã chỉ bảo và giảng dạy giúp tôi có những kiến thức cần thiết để thực hiện luận văn này

Tôi cũng xin cảm ơn gia đình và bạn bè đã quan tâm giúp đỡ và động viên tôi để tôi có thể tiếp tục theo đuổi việc học tập và nghiên cứu

Tôi xin gửi lời cảm ơn chân thành và sâu sắc đến tất cả mọi người

Trang 6

TÓM TẮT LUẬN VĂN

Dữ liệu chuỗi thời gian ngày càng được sử dụng rộng rãi trong nhiều lĩnh vực và đóng một vai trò rất quan trọng Vì vậy dự báo dữ liệu chuỗi thời gian ngày càng nhận được nhiều sự quan tâm của cộng đồng nghiên cứu Nhiều phương pháp và mô hình dự báo đã được đề xuất và đã mang lại nhiều kết quả thiết thực Phương pháp dự báo dữ liệu chuỗi thời gian dùng mô hình Holt-Winters áp dụng được trên các dữ liệu có tính xu hướng

(Trend) và tính mùa (Seasonal) là một phương pháp rất được ưu chuộng vì tính đơn giản,

dễ hiện thực, cần ít dữ liệu quá khứ để dự báo và kết quả dự báo tốt Tuy nhiên, đối với chuỗi dữ liệu thời gian có chứa đựng yếu tố bất thường thì chất lượng dự báo bằng mô hình Holt-Winters bị suy giảm đáng kể

Trong luận văn này, chúng tôi đề xuất và xây dựng một phương pháp cải tiến chất lượng

dự báo trên dữ liệu chuỗi thời gian bằng mô hình Holt-Winters Ý tưởng là cần khắc phục khuyết điểm của mô hình Holt-Winters khi dữ liệu có chứa đựng yếu tố bất thường Đầu tiên chúng tôi áp dụng giải thuật phát hiện bất thường chân phương để phát hiện bất thường trên dữ liệu chuỗi thời gian Sau đó, tiến hành xử lý bất thường phát hiện được bằng cách làm trơn bất thường đó bằng phương pháp trung bình di động đơn giản để loại bỏ hoặc giảm thiểu yếu tố bất thường khỏi dữ liệu chuỗi thời gian Sau đó, chúng tôi tiến hành dự báo trên dữ liệu chuỗi thời gian đã xử lý bất thường bằng mô hình Holt-Winters

Qua thực nghiệm dự báo trên các bộ dữ liệu chuỗi thời gian có chứa đựng yếu tố bất thường, phương pháp chúng tôi đề xuất cho kết quả dự báo tốt hơn nhiều so với mô hình Holt-Winters truyền thống

Trang 7

ABSTRACT

Nowadays, time series forecasting is used in several important situations So time series forecasting is getting more attention from the community Numerous methods have been developed to forecast time series data and have been achieved many accomplishments The Holt-Winters method is popular because it is simple, has low data-storage requirements, easy to implement, and has good results It can adapt to changes in trends and seasonal patterns in data when they occur But Holt-Winters has an issue when forecast with time series that contains anomaly The forecast results are worse as a consequence

In this thesis, we proposed a method to improve the Holt-Winters's prediction result when the time series contains anomaly First, we use the brute force algorithm to discover time series discords Then we use simple moving average to smooth anomaly The smoothed time series is forecasted using Holt-Winters method

The experiments's results show that our method is much better than the classic Winters method when time series has anomaly

Trang 8

Holt-LỜI CAM ĐOAN

Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như đã ghi

rõ trong luận văn, các công việc trình bày trong luận văn là do chính tôi thực hiện và chưa

có phần nội dung nào của luận văn này được nộp để lấy một bằng cấp ở trường này hoặc trường khác

Ngày 06 tháng 09 năm 2014

Trần Duy Lộc

Trang 9

MỤC LỤC

MỤC LỤC v

DANH MỤC CÁC HÌNH MINH HỌA vii

DANH MỤC CÁC BẢNG xi

I MỞ ĐẦU 1

II NỘI DUNG 2

Chương 1: Phát biểu vấn đề 2

1.1 Dữ liệu chuỗi thời gian 2

1.2 Phát hiện bất thường trên dữ liệu chuỗi thời gian 2

1.3 Dự báo trên dữ liệu chuỗi thời gian 3

1.4 Mục tiêu và giới hạn của đề tài 3

1.5 Cấu trúc luận văn 3

Chương 2: Cơ sở lý thuyết 4

2.1 Một số khái niệm cơ bản 4

2.2 Hệ số tự tương quan, hàm tự tương quan, hàm tự tương quan riêng phần 6

2.3 Các thành phần của chuỗi thời gian 7

2.4 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 15

2.6 Kết luận 17

Chương 3: Tổng thuật các công trình liên quan 18

3.1 Các phương pháp tính độ đo tương tự 18

3.2 Các phương pháp biểu diễn dữ liệu chuỗi thời gian 21

3.3 Các giải thuật phát hiện bất thường 24

3.4 Các mô hình dự báo chuỗi thời gian khác 27

3.5 Kết luận 31

Chương 4: Hiện thực và thực nghiệm 32

4.1 Mô hình hiện thực 32

Trang 10

4.2 Thực nghiệm 35

4.3 So sánh và đánh giá kết quả thực nghiệm 62

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

5.1 Tổng kết 63

5.2 Kết quả đạt được 63

5.3 Hướng phát triển 64

III DANH MỤC CÁC TÀI LIỆU THAM KHẢO 65 PHỤ LỤC A: BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH-VIỆT A1 PHỤ LỤC B: HƯỚNG DẪN SỬ DỤNG CHƯƠNG TRÌNH B1 PHỤ LỤC C: LÝ LỊCH TRÍCH NGANG C1

Trang 11

DANH MỤC CÁC HÌNH MINH HỌA

Hình 1.1: Chuỗi thời gian biểu diễn số lượng khách đi máy bay 2

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 5

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

Hình 2.3: Tính xu hướng của dữ liệu chuỗi thời gian 8

Hình 2.4: Hàm tự tương quan của dữ liệu có tính xu hướng 8

Hình 2.5: Giá trị dự báo được xấp xỉ 9

Hình 2.6: Tính mùa của dữ liệu chuỗi thời gian 9

Hình 2.7: Hàm tự tương quan của dữ liệu có tính mùa 10

Hình 2.8: Tính chu trình của dữ liệu chuỗi thời gian 10

Hình 2.9: Tính chu kỳ như là một phần của thành phần xu hướng 11

Hình 3.1: Độ đo Minkowski giữa hai chuỗi con 19

Hình 3.2: Độ đo xoắn thời gian động giữa hai chuỗi con 20

Hình 3.3: Phép biến đổi PAA 21

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] 22

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] 23

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] 23

Hình 3.7: Giải thuật Brute Force trong phát hiện bất thường [4] 25

Hình 3.8: Giải thuật phát hiện chuỗi con bất thường HOTSAX [4] 26

Hình 3.9: Hai cấu trúc dữ liệu hỗ trợ giải thuật HOTSAX [4] 27

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] 30

Hình 4.1: Giao diện chương trình – Phát hiện và xử lý bất thường 36

Hình 4.2: Giao diện chương trình – Kết quả dự báo 37

Hình 4.3: Giao diện chương trình – Biểu diễu kết quả dự báo 37

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 38

Bảng 4.2: Kết quả thực nghiệm cho bộ dữ liệu AirPassengers (có một bất thường) 39

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) 39

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) 39

Bảng 4.3: Kết quả thực nghiệm cho bộ dữ liệu AirPassengers (có hai bất thường) 40

Trang 12

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) 40Hì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) 40Bảng 4.4: Kết quả thực nghiệm cho bộ dữ liệu CO2 (có một bất thường) 41Hình 4.8: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu CO2 (có một bất thường) 41Hì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 CO2 (có một bất thường) 42Bảng 4.5: Kết quả thực nghiệm cho bộ dữ liệu CO2 (có hai bất thường) 42Hình 4.10: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu CO2 (có hai bất thường) 42Hì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 CO2 (có hai bất thường) 43Bảng 4.6: Kết quả thực nghiệm cho bộ dữ liệu Mdeaths (có một bất thường) 43Hì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) 44Hì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) 44Bảng 4.7: Kết quả thực nghiệm cho bộ dữ liệu Mdeaths (có hai bất thường) 44Hì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) 45Hì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 (có hai bất thường) 45Bảng 4.8: Kết quả thực nghiệm cho bộ dữ liệu Fancy (có một bất thường) 46Hì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) 46Hì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) 46Bảng 4.9: Kết quả thực nghiệm cho bộ dữ liệu Fancy (có hai bất thường) 47Hì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) 47Hì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) 47Bảng 4.10: Kết quả thực nghiệm cho bộ dữ liệu UKgas (có một bất thường) 48Hì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) 48

Trang 13

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) 49Bảng 4.11: Kết quả thực nghiệm cho bộ dữ liệu UKgas (có hai bất thường) 49Hì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) 49Hì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) 50Bảng 4.12: Kết quả thực nghiệm cho bộ dữ liệu Milk (có một bất thường) 50Hì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) 51Hì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 (có một bất thường) 51Bảng 4.13: Kết quả thực nghiệm cho bộ dữ liệu Milk (có hai bất thường) 51Hì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) 52Hì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 (có hai bất thường) 52Bảng 4.14: Kết quả thực nghiệm cho bộ dữ liệu Sales (có một bất thường) 53Hình 4.28: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu Sales (có một bất thường) 53Hình 4.29: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu Sales (có một bất thường) 53Bảng 4.15: Kết quả thực nghiệm cho bộ dữ liệu Sales (có hai bất thường) 54Hình 4.30: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu Sales (có hai bất thường) 54Hình 4.31: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu Sales (có hai bất thường) 54Bảng 4.16: Kết quả thực nghiệm cho bộ dữ liệu Expenditure (có một bất thường) 55Hình 4.32: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu Expenditure (có một bất thường) 55Hình 4.33: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu Expenditure (có một bất thường) 56Bảng 4.17: Kết quả thực nghiệm cho bộ dữ liệu Expenditure (có hai bất thường) 56Hình 4.34: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu Expenditure (có hai bất thường) 56Hình 4.35: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu Expenditure (có hai bất thường) 57

Trang 14

Bảng 4.18: Kết quả thực nghiệm cho bộ dữ liệu BeerProduction (có một bất thường) 57Hình 4.36: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu BeerProduction (có một bất thường) 58Hình 4.37: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu BeerProduction (có một bất thường) 58Bảng 4.19: Kết quả thực nghiệm cho bộ dữ liệu BeerProduction (có hai bất thường) 58Hình 4.38: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu BeerProduction (có hai bất thường) 59Hình 4.39: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu BeerProduction (có hai bất thường) 59Bảng 4.20: Kết quả thực nghiệm cho bộ dữ liệu Plan (có một bất thường) 60Hình 4.40: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu Plan (có một bất thường) 60Hình 4.41: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu Plan (có một bất thường) 60Bảng 4.21: Kết quả thực nghiệm cho bộ dữ liệu Plan (có hai bất thường) 61Hình 4.42: Kết quả phát hiện và xử lý bất thường cho bộ dữ liệu Plan (có hai bất thường) 61Hình 4.43: Kết quả dự báo khi xử lý và không xử lý bất thường cho bộ dữ liệu Plan (có hai bất thường) 61

Trang 15

DANH MỤC CÁC BẢNG

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 38

Bảng 4.2: Kết quả thực nghiệm cho bộ dữ liệu AirPassengers (có một bất thường) 39

Bảng 4.3: Kết quả thực nghiệm cho bộ dữ liệu AirPassengers (có hai bất thường) 40

Bảng 4.4: Kết quả thực nghiệm cho bộ dữ liệu CO2 (có một bất thường) 41

Bảng 4.5: Kết quả thực nghiệm cho bộ dữ liệu CO2 (có hai bất thường) 42

Bảng 4.6: Kết quả thực nghiệm cho bộ dữ liệu Mdeaths (có một bất thường) 43

Bảng 4.7: Kết quả thực nghiệm cho bộ dữ liệu Mdeaths (có hai bất thường) 44

Bảng 4.8: Kết quả thực nghiệm cho bộ dữ liệu Fancy (có một bất thường) 46

Bảng 4.9: Kết quả thực nghiệm cho bộ dữ liệu Fancy (có hai bất thường) 47

Bảng 4.10: Kết quả thực nghiệm cho bộ dữ liệu UKgas (có một bất thường) 48

Bảng 4.11: Kết quả thực nghiệm cho bộ dữ liệu UKgas (có hai bất thường) 49

Bảng 4.12: Kết quả thực nghiệm cho bộ dữ liệu Milk (có một bất thường) 50

Bảng 4.13: Kết quả thực nghiệm cho bộ dữ liệu Milk (có hai bất thường) 51

Bảng 4.14: Kết quả thực nghiệm cho bộ dữ liệu Sales (có một bất thường) 53

Bảng 4.15: Kết quả thực nghiệm cho bộ dữ liệu Sales (có hai bất thường) 54

Bảng 4.16: Kết quả thực nghiệm cho bộ dữ liệu Expenditure (có một bất thường) 55

Bảng 4.17: Kết quả thực nghiệm cho bộ dữ liệu Expenditure (có hai bất thường) 56

Bảng 4.18: Kết quả thực nghiệm cho bộ dữ liệu BeerProduction (có một bất thường) 57

Bảng 4.19: Kết quả thực nghiệm cho bộ dữ liệu BeerProduction (có hai bất thường) 58

Bảng 4.20: Kết quả thực nghiệm cho bộ dữ liệu Plan (có một bất thường) 60

Bảng 4.21: Kết quả thực nghiệm cho bộ dữ liệu Plan (có hai bất thường) 61

Trang 16

I MỞ ĐẦU

Trong thời đại thông tin ngày nay, lượng dữ liệu sinh ra ngày càng lớn và nhanh chóng Một vấn đề quan trọng là làm sao để sử dụng tốt những dữ liệu đó để phục vụ cho cuộc sống Từ nhu cầu thực tế đó nảy sinh một vấn đề quan trọng là làm thế nào để rút trích được những thông tin quan trọng từ các nguồn dữ liệu rất lớn Các nguồn dữ liệu rất lớn này có thể đuợc sinh ra từ nhiều lĩnh vực khác nhau như chứng khoán, y tế, thời tiết, Khai phá dữ liệu là một trong những lĩnh vực quan trọng giúp rút trích những thông tin quan trọng và có giá trị từ những nguồn dữ liệu rất lớn Một nhu cầu thực tế là đưa ra những thông tin dự báo dựa trên những dữ liệu thu thập được theo thời gian

Một mô hình dự báo đơn giản mà cho kết quả tốt là mô hình dự báo bằng phương pháp làm trơn hàm mũ Holt Winters, cho phép dự báo trên các chuỗi dữ liệu thời gian có

tính xu hướng (Trend) và tính mùa (Seasonal) Tuy nhiên, một khuyết điểm của mô hình

dự báo này là bị ảnh huởng bởi yếu tố bất thường trên dữ liệu chuỗi thời gian Nếu dữ liệu chuỗi thời gian có chứa những yếu tố bất thường thì kết quả dự báo của mô hình này sẽ giảm rõ rệt

Đề tài này đưa ra một hướng giải quyết khuyết điểm của mô hình dự báo bằng phương pháp làm trơn hàm mũ Holt-Winters bằng cách phát hiện và loại trừ bất thường trên dữ liệu chuỗi thời gian sau đó tiến hành dự báo trên chuỗi thời gian đã loại bỏ bất thường bằng phương pháp làm trơn hàm mũ Holt-Winters

Trang 17

II NỘI DUNG

Chương 1: Phát biểu vấn đề

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

Hình 1.1: Chuỗi thời gian biểu diễn số lượng khách đi máy bay 1.2 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

Trang 18

1.3 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

1.4 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

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

Trang 19

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

2.1 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

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

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

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

Trang 20

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

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

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ị

Trang 21

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

2.2 Hệ số tự tương quan, hàm tự tương quan, hàm tự tương quan riêng phần 2.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 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

𝜌𝑘

̂ = ∑𝑇−𝑘𝑡=1(𝑋𝑡− 𝑋̅) (𝑋𝑡+𝑘− 𝑋̅)

∑𝑇 (𝑋𝑡− 𝑋̅)2 𝑡=1

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

𝜌𝑘 = 𝛾𝑘

𝛾0

Và các giá trị của được tính như sau:

0 = 11 + 22 + + pp + 2

Trang 22

- 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

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)…

Trang 23

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)

Trang 24

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

Trang 25

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

Trang 26

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]

2.4 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]

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 = 𝛼𝑌𝑡 + (1 − 𝛼)𝑌̂𝑡 (1) 𝑌̂𝑡+1 = 𝑌̂𝑡 + 𝛼(𝑌𝑡− 𝑌̂𝑡) Trong đó:

- 𝑌̂𝑡+1: giá trị dự báo ở thời điểm t+1

- 𝑌̂𝑡: giá trị dự báo ở thời điểm t

Trang 27

- 𝑌𝑡: 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:

𝑌̂𝑡+1 = 𝛼𝑌𝑡+ 𝛼(1 − 𝛼)𝑌𝑡−1+ 𝛼(1 − 𝛼)2𝑌𝑡−2+ 𝛼(1 − 𝛼)3𝑌𝑡−3+ ⋯ 𝑌̂𝑡+1 = 𝛼[𝑌𝑡+ (1 − 𝛼)𝑌𝑡−1+ (1 − 𝛼)2𝑌𝑡−2+ (1 − 𝛼)3𝑌𝑡−3+ ⋯ 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:

Trang 28

Đâ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

Thành phần mùa được xem là một thành phần cộng trong chuỗi thời gian

𝑌𝑡+𝑘 = (𝐿𝑡+ 𝑘 𝑇𝑡) + 𝑆𝑡+𝑘−𝑠

𝐿𝑡 = 𝛼(𝑌𝑡 − 𝑆𝑡−𝑠) + (1 − 𝛼)(𝐿𝑡−1+ 𝑇𝑡−1)

Trang 29

𝑇𝑡 = 𝛽(𝐿𝑡− 𝐿𝑡−1) + (1 − 𝛽)𝑇𝑡−1

𝑆𝑡 = 𝛾(𝑌𝑡− 𝐿𝑡) + (1 − 𝛾)𝑠𝑡−𝑠Trong đó:

- 𝐿𝑡, 𝑇𝑡, 𝑆𝑡 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 (0 ≤ α, β, γ ≤1)

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

Trang 30

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

Sau đó ta sẽ tìm trạng thái tốt hơn tiếp theo của T 0 Gọi a 0 là giá trị của α ứng với trạng thái T 0 Ở trạng thái tốt hơn tiếp theo, giá trị α có ba khả năng xảy

ra: tăng 0.1 hoặc giảm 0.1 hoặc không thay đổi Như vậy sẽ có ba trường hợp

xảy ra với giá trị α, 𝛽, 𝛾 Do đó, ta có tổng cộng 27 (3 x 3 x 3) trạng thái kế tiếp của T 0 Ta sẽ vét cạn trong 27 trạng thái này để tìm trạng thái tốt hơn rồi nhảy đến đó

 Điều kiện dừng: trong trường hợp không tìm được trạng thái tốt hơn từ trạng thái hiện tại, ta sẽ sinh ngẫu nhiên một giá trị trong khoảng [0, 1] Nếu giá trị này nhỏ hơn 0.1 ta sẽ nhảy đến trạng thái mới (tức là đối với phương pháp này ta sẽ có 10% xác suất nhảy đến trạng thái mới dù nó nó không tốt hơn trạng thái cũ) Nếu ngược lại, ta sẽ kết thúc quá trình tìm kiếm

 Ưu điểm của giải thuật này là giúp giảm khả năng rơi vào điểm cực trị cục

bộ của không gian trạng thái

2.4.5 Nhược điểm của dự báo dữ liệu chuỗi thời gian bằng làm trơn hàm mũ Holt-Winters

Một nhược điểm của phương pháp dự báo làm trơn hàm mũ Holt-Winters là không

làm trơn được thành phần bất thường trong dữ liệu chuỗi thời gian [14] Vì vậy, đối với

các chuỗi thời gian có chứa bất thường thì phương pháp làm trơn hàm mũ Holt-Winters không hiệu quả

Một vấn đề quan trọng đặt ra là làm sao có thể khắc phục được nhược điểm của phương pháp làm trơn hàm mũ Holt-Winters đối với các dữ liệu chuỗi thời gian có chứa yếu tố bất thường

2.5 Các phương pháp đánh giá sai số trong dự báo chuỗi thời gian

2.5.1 Sai số phần trăm trung bình tuyệt đối (Mean Absolute Percentage Error – MAPE)

Phương pháp này dùng để đánh giá mức độ chính xác đối với từng khoảng giá trị của dữ liệu chuỗi thời gian và nó được biểu diễn chính xác như là một tỷ lệ phần trăm theo công thức sau:

𝑀𝐴𝑃𝐸 = ∑ |(𝑦𝑡 − 𝑦′𝑡)/𝑦𝑡|

𝑛 × 100 (𝑦𝑡 ≠ 0) Trong đó, tính tại từng thời điểm:

- 𝑦𝑡: giá trị thực sự

Trang 31

- 𝑦′𝑡: giá trị tương đương với mỗi giá trị dữ liệu quan sát được

- 𝑛: số lượng dữ liệu quan sát được trong một khoảng thời gian

2.5.2 Sai số trung bình tuyệt đối (Mean Absolute Error – MAE)

Phương pháp này dùng để đánh giá mức độ chính xác trong một đơn vị dữ liệu, mô

tả mức độ chấp nhận được của số lượng lỗi trên tập dữ liệu thực sự đó và được tính theo công thức sau:

𝑀𝐴𝐸 = ∑ |𝑦𝑡 − 𝑦′𝑡|

𝑛Trong đó, tính tại từng thời điểm:

- 𝑦𝑡: giá trị thực sự

- 𝑦′𝑡: giá trị tương đương với mỗi giá trị dữ liệu quan sát được

- 𝑛: số lượng dữ liệu quan sát được trong một khoảng thời gian

2.5.3 Sai số trung bình bình phương (Mean Square Error – MSE)

Phương pháp này là một phương pháp chính xác hơn MAE dùng để đánh giá mức

độ chính xác trong một tập dữ liệu lỗi lớn không bình thường và được tính theo công thức sau:

𝑀𝑆𝐸 = ∑(𝑦𝑡 − 𝑦′𝑡)2

𝑛Trong đó, tính tại từng thời điểm:

- 𝑦𝑡: giá trị thực sự

- 𝑦′𝑡: giá trị tương đương với mỗi giá trị dữ liệu quan sát được

- 𝑛: số lượng dữ liệu quan sát được trong một khoảng thời gian

2.5.4 Sai số bình phương tổng (Sum Square Error – SSE)

Phương pháp này dùng trong việc đánh giá kết quả dự báo của kỹ thuật sử dụng mạng nơron và được tính theo công thức sau:

𝑆𝑆𝐸 = ∑(𝑌𝑡 − 𝑂𝑡)2

𝑁

𝑡=1

Ở đây n là số điểm trong tập dữ liệu dùng để kiểm tra mạng, Y t và O t lần lượt là giá

trị mong muốn trong bộ dữ liệu và giá trị xuất của mạng nơron Mạng nơron có tổng bình phương lỗi càng nhỏ càng tốt

Trang 32

2.6 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

Trang 33

Chương 3: Tổng thuật các công trình liên quan

Chương này trình bày một số khái niệm cơ bản được sử dụng trong khai phá bất thường của dữ liệu chuỗi thời gian và trình bày một số giải thuật khai phá bất thường của dữ liệu chuỗi thời gian Sau đó giới thiệu một số công trình liên quan về dự báo dữ liệu chuỗi thời gian

3.1 Các phương pháp tính độ đo tương tự

Trong các vấn đề liên quan đến dữ liệu chuỗi thời gian, việc tính mức độ tương tự giữa hai chuỗi con đóng vai trò rất quan trọng Khi so sánh hai chuỗi con có tương tự với nhau hay không ta phải dùng một phương pháp để tính mức độ tương tự giữa chúng gọi là hàm khoảng cách Nếu như khoảng cách giữa hai chuỗi con bằng không, ta nói hai chuỗi con là giống hệt nhau Nếu như khoảng cách giữa hai chuỗi con càng lớn (càng xa) thì mức độ khác biệt của hai chuỗi con càng cao Phương pháp tính độ đo trong luận văn này chỉ đề cập những phương pháp tính độ đo trên hai chuỗi con có chiều dài bằng nhau

Cho các chuỗi con x, y và z, D gọi là hàm khoảng cách giữa hai chuỗi con thì D phải

 Đơn giản, dễ tính toán

 Thích hợp với nhiều phương pháp biểu diễn dữ liệu

 Sử dụng được cho nhiều loại dữ liệu khác nhau với độ chính xác chấp nhận được

 Là chuẩn mực cho nhiều phương pháp biểu diễn khác dùng để định nghĩa hàm tính độ đo tương tự Đa số các phương pháp biểu diễn đều định nghĩa hàm tính

Trang 34

độ đo tương tự trong không gian thu giảm thỏa mãn điều kiện chặn dưới so với hàm Euclid

Nhược điểm:

 Không thích hợp khi ta sử dụng các phép biến đổi và rời rạc hóa dữ liệu DFT, DWT, PAA, APCA, SAX,

3.1.2 Độ đo Minkowski

Hầu hết các công trình nghiên cứu trên dữ liệu chuỗi thời gian dựa trên độ đo

Minkowski để tính khoảng cách (hay mức độ tương tự) giữa hai chuỗi con (Hình 3.1)

Hàm tính khoảng cách Minkowski được định nghĩa theo công thức sau:

D(X, Y) = √∑𝑛 (𝑥𝑖− 𝑦𝑖)𝑝

𝑖=1

𝑝

Khi p = 1 ta có khoảng cách Manhattan

Khi p = 2 ta có khoảng cách Euclid

Khi p = ∞ ta có khoảng cách Max

Hình 3.1: Độ đo Minkowski giữa hai chuỗi con

Ưu điểm:

 Dễ tính toán

 Sử dụng được cho nhiều bài toán khác như phân loại, gom cụm Đặc biệt là rất thích hợp khi ta sử dụng các phép biến đổi và rời rạc hóa dữ liệu DFT, DWT, PAA, APCA, SAX,

Nhược điểm:

 Nhạy cảm với dữ liệu nhiễu

Trang 35

 Không hiệu quả khi dữ liệu có đường cơ bản khác nhau, ví dụ như hai chuỗi giá chứng khoán A và B thay đổi rất giống nhau nhưng A giao động ở mức 100 còn

B giao động ở mức 40 như vậy độ tương tự của A và B rất khác nhau mặc dù hình dạng rất giống nhau

 Không thích hợp với dữ liệu có biên độ dao động khác nhau, giá chứng khoán của A và B thay đổi rất giống nhau nhưng biên độ giao động của A là 20-80 còn của B là 30-50 thì độ tương tự của A và B rất khác nhau mặc dù hình dạng rất giống nhau

3.1.3 Độ đo xoắn thời gian động (Dynamic Time Warping - DTW)

Với phương pháp Minkowski so sánh từng cặp điểm là không thể trong trường hợp hai chuỗi này sẽ rất giống nhau nếu như ta kéo giãn hoặc thu hẹp một khoảng nào đó theo trục thời gian thì kết quả của phương pháp Minkowski sẽ là rất lớn (hai chuỗi rất khác nhau) Để khắc phục nhược điểm này của phương pháp Minkowski bằng cách từ một điểm trong chuỗi này có thể ánh xạ tới nhiều điểm trong chuỗi kia và những ánh

xạ này là không thẳng hàng (Hình 3.2) Độ đo này gọi là độ đo xoắn thời gian động

(Dynamic Time Warping - DTW) do Bernt Clifford đề xuất năm 1994

Hình 3.2: Độ đo xoắn thời gian động giữa hai chuỗi con

Ưu điểm:

 Cho kết quả chính xác hơn so với độ đo Minkowski

 Cho phép nhận dạng những mẫu có hình dạng giống nhau nhưng có chiều dài khác nhau

Nhược điểm:

 Độ phức tạp tính toán cao, chạy lâu gấp nhiều lần so với phương pháp

Minkowski Với một chuỗi có chiều dài n thì độ phức tạp tính toán là O(n2)

Trang 36

3.2 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

Approximation - PAA)

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

Nhược điểm:

 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

Trang 37

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ố

Đị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)

Trang 38

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 alphai là ký tự thứ i trong bảng ký tự alphabet (alpha1 = a, alpha2 = 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 = alphaj ⇔ βj-1 ≤ ĉi < βj

Ưu điểm:

Trang 39

 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

Nhược điểm:

 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

3.3 Các giải thuật phát hiện bất thường

3.3.2 Giải thuật Tarzan

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

3.3.3 Giải thuật Brute Force

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

Trang 40

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

3.3.4 Giải thuật HOTSAX

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

Ngày đăng: 31/01/2021, 23:58

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm