Chương 1: CƠ SỞ LÝ LUẬN Trong chương này, tôi sẽ lần lượt giới thiệu các khái niệm cũng như các phương pháp nghiên cứu khi tiến hành phân tích dữ liệu chuỗi thời gian để người đọc có thể nắm bắt các kiến thức cơ bản trước khi đi sâu vào xem xét các mô hình dự báo dữ liệu chuỗi thời gian cụ thể là ANN và Holt-Winters. Khái niệm dữ liệu chuỗi thời gian (Time Series data) Dữ liệu có yếu tố thời gian là sự quan sát tuần tự theo thời gian. Dữ liệu này có thể là 2 chiều hay nhiều chiều nhưng phải có 1 chiều là thời gian. Có rất nhiều loại dữ liệu khác nhau có yếu tố thời gian và thông thường đây là những dữ liệu rất lớn (very large database).
Theo khảo sát từ 4000 hình ngẫu nhiên trên các tờ báo xuất bản giai đoạn 1974 – 1989 thì 75% là các hình biểu diễn dữ liệu chuỗi thời gian. Đặt biệt, trong thời đại hiện nay, thông tin là rất quan trọng. Tuy nhiên, dữ liệu thì quá lớn nên cần phải sử dụng công cụ máy tính để tìm được những thông tin từ nguồn dữ liệu đó. Chính vì vậy những nghiên cứu và ứng dụng dữ liệu chuỗi thời gian là những lĩnh vực rất rộng lớn và cần thiết của khoa học máy tính và các ngành khoa học khác.1: Ví dụ về Time-series (a) chỉ số chứng khoán.
Các thành phần của chuỗi thời gian Trang 2 Các mẫu hay hành vi của dữ liệu chuỗi thời gian có nhiều thành phần. Theo lý thuyết, bất dữ liệu kỳ chuỗi thời gian nào cũng có thể được phân giải thành các thần phần sau: Tính xu hướng (Trend) Thành phần này giải thích cho sự dịch chuyển dần dần của dữ liệu chuỗi thời gian thành các giá trị tương đối thấp hơn hoặc cao hơn qua một khoảng thời gian dài. Tính xu hướng thường là kết quả của các yếu tố dài hạn như những sự thay đổi về dân số, nhân khẩu học, công nghệ và sở thích tiêu dùng.1: Hình biểu diễn Tính xu hướng của chuỗi thời gian Tính chu kỳ (Cyclical) Khi phát hiện bất ký bộ mẫu đều đặn nào của chuỗi giá trị ở trên hay ở dưới đường xu hướng mà kéo dài hơn một năm thì có thể gán cho nó là thành phần mang tính chu kỳ. Thông thường thành phần này là do sự biến động theo chu kỳ nhiều năm trong kinh tế.2: Hình biểu diễn Tính mùa của chuỗi thời gian Trang 3 Tính mùa (Seasonal) Thành phần này giải thích cho các mẫu thường xuyên biến đổi trong những khoảng thời gian nhất định, chẳng hạn như một năm.
Sự biến đổi không phải lúc nào cũng tương ứng với mùa của năm (như Xuân, Hạ, Thu, Đông), ví dụ các hành vi theo mùa trong Tuần hay trong Ngày.3: Hình biểu diễn Tính chu kỳ của chuỗi thời gian Tính 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 [5]. Tuy nhiên, sự phân giải này thường không dễ dàng vì các yếu tố này có ảnh hưởng đan xen với nhau. Đánh giá các phương pháp dự báo Có 3 cách đo độ chính xác của các mô hình là MAPE, MAD và MSD. Đối với tất cả 3 cách đo này, giá trị càng nhỏ thì càng tốt hơn cho mô hình.
Chúng ta sẽ sử dụng các số liệu thống kê để so sánh mức độ phù hợp của các phương pháp khác nhau. Sai số % tuyệt đối trung bình – MAPE (Mean Absolute Percentage Error) Trung bình của các khoảng chênh lệch tuyệt đối giữa các giá trị thực và giá trị dự báo, được thể hiện như là tỷ lệ của các giá trị thực. 1 n |( y t - y ' t )| MAPE = ∑ n t =1 yt × 100 % ( y t ≠ 0 ) Trang 4 yt: là giá trị thực, y’t: là giá trị dự báo, n: là số mẫu quan sát được. Sai số tuyệt đối trung bình – MAE (Mean Absolute Error) Đo lường sai số dự báo tổng thể cho một mô hình.
n 1 MAE = ∑ | y t - y ' t| n t =1 yt: là giá trị thực, y’t: là giá trị dự báo, n: là số mẫu quan sát được. Sai số bình phương trung bình – MSE (Mean Squared Error) Trung bình của các khoảng chênh lệch bình phương giữa các giá trị dự báo và giá trị thực. n 1 MSE = ∑ ( y - y ' t )2 n t =1 t yt: là giá trị thực, y’t: là giá trị dự báo n: là số mẫu quan sát được 1. Các phương pháp làm trơn dữ liệu chuỗi thời gian Phương pháp làm trơn dữ liệu chuỗi thời gian được dùng để khử đi các biến động ngắn hạn hoặc đột biến bất thường, nó cũng được dùng để loại bỏ các biến động có tính mùa.
Ghi chú: Các mô hình này đều phải là tất định (deterministic) nghĩa là các biến của các thành phần trong dữ liệu chuỗi thời gian là xác định chứ không phải là ngẫu nhiên. Các mô hình này liên quan đến các kỹ thuật ngoại suy (extrapolation). Có 2 phương pháp thông dụng nhất để làm trơn dữ liệu chuỗi thời gian: Trang 5 Phương pháp Trung bình Dịch chuyển Số học (Arithmetic Moving Average) Tính toán một giá trị trung bình của n mẫu dữ liệu gần đây nhất để dự đoán giá trị dữ liệu chuỗi thời gian cho thời điểm tiếp theo. ∑ (n mẫu gần đây nhất) Trung bình dịch chuyển = n Phương pháp này đơn giản, nhưng dữ liệu cần phải giữ sự ổn định theo thời gian.
Nếu số mẫu dữ liệu lớn thì các dữ liệu trong quá khứ càng cũ thì càng ít quan trọng hơn, nên chúng ta sẽ thêm các trọng số cho các dữ liệu này, bằng cách đánh trọng số càng nhỏ cho các dữ liệu càng cũ, trọng số càng lớn cho các dữ liệu càng gần đây nhất. Gọi là Trung bình dịch chuyển có trọng số (Weighted Moving Average – WMA). Tổng các trọng số phải bằng 1. ∑ [(Trọng số cho mẫu n)×(giá trị của mẫu n)] WMA = ∑Trọng số Lưu ý: Các mô hình Trung bình Dịch chuyển không cung cấp độ tin cậy cao trong dự báo.
Chúng ta không thể tính toán được các sai số tiêu chuẩn. Chúng ta không thể giải thích được các thành phần có tính ngẫu nhiên của chuỗi thời gian. Các thành phần có tính ngẫu nhiên này sẽ tạo ra các sai số trong dự báo của chúng ta. Phương pháp làm trơn cấp số mũ (Exponential Smoothing Method) Có 3 Phương pháp làm trơn cấp số mũ (chương sau tôi sẽ trình bày kỹ hơn về 3 phương pháp này) Trang 6 Làm trơn cấp số mũ đơn (Single Exponential Smothing): dùng cho các dữ liệu chuỗi thời gian mà thành phần không có tính xu hướng và không có tính mùa.
Làm trơn cấp số mũ đôi (Double Exponential Smoothing) – phương pháp của Holt: dùng cho các dữ liệu chuỗi thời gian mà thành phần có tính xu hướng và không có tính mùa. Làm trơn cấp số mũ Tam (Triple Exponential Smoothing) – Phương pháp của Holt-Winters: dùng cho các dữ liệu chuỗi thời gian mà thành phần có tính xu hướng và có tính mùa. Có nhiều phương pháp dự báo đã được phát triển bởi nhiều nhà nghiên cứu và những người làm kinh doanh. Một số phương pháp phổ biến để dự đoán dữ liệu chuỗi thời gian, chẳng hạn như Phương pháp làm trơn cấp số mũ (xem bài viết [3], [4], [5], [9]), mô hình ARIMA (xem bài viết [3], [11], [14], [15]) và phương pháp sử dụng ANN (xem bài viết [1], [2], [6], [12], [18], [19], [20], [21]) là thành công trong một số trường hợp thử nghiệm.
Trong các chương tiếp theo, tôi sẽ đề cập đến các mô hình được nghiên cứu: ANN và Holt-Winters. Dựa trên các kết quả thu được để xây dựng nên mô hình lai. Trang 7 Chương 2: MÔ HÌNH DỰ BÁO CỦA MẠNG NƠ-RON NHÂN TẠO VÀ HOLT-WINTERS Chương này tôi sẽ trình bày chi tiết về 2 mô hình dự báo cho dữ liệu chuỗi thời gian là ANN (Artificial Nơ-ron Network) và Holt-Winters. Trong đó: ANN: là một trong những mô hình thường được sử dụng nhất, mạng truyền thẳng một lớp ẩn được sử dụng cho dự báo dữ liệu chuỗi thời gian.
Mô hình được đặc trưng bởi một mạng lưới 3 lớp của các phần tử đơn được kết nối bởi các liên kết mạch hở. Nói chung, mô hình có thể được huấn luyện bằng các dữ liệu lịch sử của một dữ liệu chuỗi thời gian để nắm bắt được các đặc tính phi tuyến của dữ liệu chuỗi thời gian cụ thể. Các tham số của mô hình (trọng số kết nối và độ lệch nút bias) sẽ được cập nhật lặp đi lặp lại theo một quy trình giảm thiểu các sai số dự đoán. Phương pháp làm trơn cấp số mũ: cho dữ liệu chuỗi thời gian có tính xu hướng và tính mùa: đây là sự kết hợp và cải tiến giữa 2 phương pháp của 2 nhà nghiên cứu Holt và Winters.
Phần này sẽ trình bày sâu hơn và giải thích vì sao bài luận văn này lại chọn mô hình Holt-Winters. Mô hình Mạng nơ-ron nhân tạo 2.1 Giới thiệu Bộ não là một tập hợp của khoảng 10 tỷ nơ-ron được nối kết nội tại với nhau. Mỗi nơ-ron là một tế bào sử dụng các phản ứng có cơ chế sinh hóa để nhận, xử lý và truyền dẫn thông tin. Hình một cho thấy cấu tạo của một nơ-ron sinh học trong bộ não: Trang 8 Hình 2.1: Cấu tạo một nơ-ron sinh học Dendrite là tô-pô hình cây được kết nối đến hàng trăm nơ-ron lân cận.
Khi một trong số các nơ-ron được kích hoạt, một tín hiệu sẽ được nhận bởi một trong các dentrite của nơ-ron lân cận nối tiếp. Tổng gộp tín hiệu đầu vào sau đó sẽ được chuyển đến soma (thể sinh dưỡng) – thân nơ-ron. Soma và hạt nhân (Nucleus) không thực hiện vai trò đặc biệt gì trong việc xử lý dữ liệu đến và đi. Chức năng chính của chúng là thực hiện việc duy trì sự sống cho nơ-ron để giữ các chức năng khác của nơ-ron.
Chỉ có một phần của thể sinh dưỡng liên quan đến các tín hiệu đó là axon hillock (mô trục thần kinh). Nếu tổng gộp tín hiệu đầu vào lớn hơn giá trị ngưỡng của axon hillock, thì nơ-ron sẽ được kích hoạt và một tín hiệu đầu ra sẽ được truyền xuống axon (sợi trục thần kinh). Cường độ của tín hiệu đầu ra là một hằng số, cho dù tín hiệu đầu vào có lớn hơn ngưỡng bao nhiêu lần đi nữa. Cường độ tín hiệu đầu ra không bị ảnh hưởng bởi những sự phân chia của axon; nó đến mỗi terminal button (nút đầu cuối) với cùng cường độ tại axon hillock.