Stationarity – Điều kiện cần cho mô hình Time Series
Stationarity – Điều kiện cần cho mô hình Time Series
Giới thiệu
Trong lĩnh vực phân tích và dự báo chuỗi thời gian, stationarity (tính dừng) là một trong những khái niệm nền tảng và thiết yếu nhất. Việc hiểu rõ stationarity không chỉ giúp lựa chọn đúng mô hình mà còn ảnh hưởng trực tiếp đến độ chính xác của dự báo. Nếu bỏ qua tính dừng, các mô hình sẽ trở nên sai lệch, kém hiệu quả hoặc thậm chí không sử dụng được.
Bài viết này sẽ làm rõ khái niệm stationarity, vai trò của nó trong phân tích chuỗi thời gian, các phương pháp kiểm định, và cách xử lý khi dữ liệu không dừng.
Stationarity là gì?
Một chuỗi thời gian được gọi là stationary nếu các đặc trưng thống kê của nó không thay đổi theo thời gian. Cụ thể bao gồm:
Kỳ vọng (mean) không thay đổi theo thời gian.
Phương sai (variance) là hằng số, không dao động theo chuỗi.
Hiệp phương sai (covariance) giữa hai thời điểm chỉ phụ thuộc vào khoảng cách thời gian giữa chúng (độ trễ), không phụ thuộc vào thời điểm cụ thể.
Ví dụ, một chuỗi giá cổ phiếu thường không dừng vì có xu hướng tăng hoặc giảm theo thời gian, trong khi chuỗi sai phân của giá cổ phiếu (chênh lệch giữa các ngày) có thể là chuỗi dừng.
Vì sao stationarity quan trọng?
Hầu hết các mô hình thống kê truyền thống trong phân tích chuỗi thời gian như AR (Autoregressive), MA (Moving Average), ARMA, ARIMA hay SARIMA đều giả định rằng chuỗi dữ liệu đầu vào là stationary. Nếu chuỗi không dừng, các mối quan hệ thống kê sẽ không ổn định theo thời gian, khiến mô hình học sai quy luật và dự báo thiếu chính xác.
Ngoài ra, stationarity giúp quá trình mô hình hóa và kiểm định trở nên đơn giản hơn. Với chuỗi không dừng, các hệ số ước lượng thường thiếu ý nghĩa hoặc không thể suy diễn đúng bản chất của dữ liệu.
Các loại stationarity
Stationarity được chia thành ba dạng chính:
Strict Stationarity: Mọi phân phối xác suất của chuỗi không thay đổi theo thời gian. Đây là điều kiện rất mạnh và hiếm gặp trong thực tế.
Weak Stationarity (Covariance Stationarity): Chỉ yêu cầu mean, variance và covariance là không đổi theo thời gian. Đây là điều kiện thường được chấp nhận trong thực tế và trong hầu hết các mô hình thống kê.
Trend Stationarity: Dữ liệu có xu hướng tuyến tính theo thời gian nhưng có thể loại bỏ bằng cách trừ xu hướng.
Thông thường, các mô hình dự báo như ARIMA chỉ yêu cầu chuỗi đạt weak stationarity.
Cách kiểm tra stationarity
1. Kiểm tra trực quan
Vẽ đồ thị chuỗi thời gian theo thời gian thực. Nếu dữ liệu thể hiện xu hướng tăng, giảm rõ rệt hoặc phương sai thay đổi nhiều tại các khoảng thời gian khác nhau, chuỗi có thể không dừng.
2. Kiểm định thống kê
Augmented Dickey-Fuller (ADF) Test: Đây là kiểm định phổ biến nhất. Giả thuyết gốc (H0) là chuỗi không dừng. Nếu giá trị p-value nhỏ hơn mức ý nghĩa (thường là 0.05), ta bác bỏ H0 và kết luận chuỗi là dừng.
KPSS Test (Kwiatkowski-Phillips-Schmidt-Shin): Ngược với ADF, giả thuyết gốc là chuỗi dừng. Việc kết hợp ADF và KPSS sẽ cho cái nhìn toàn diện hơn về tính dừng của chuỗi.
Cách xử lý chuỗi không dừng
Nếu chuỗi thời gian không đạt tính dừng, có thể sử dụng các phương pháp sau để "stationarize" dữ liệu:
1. Lấy sai phân (Differencing)
Là phương pháp phổ biến nhất. Ta lấy sai phân cấp 1:
Yt′=Yt−Yt−1Y'_t = Y_t - Y_{t-1}Yt′=Yt−Yt−1
Nếu vẫn chưa đạt được tính dừng, có thể lấy sai phân cấp 2. Đây là thành phần “I” trong mô hình ARIMA (Autoregressive Integrated Moving Average).
2. Biến đổi logarit hoặc căn bậc hai
Giúp làm giảm ảnh hưởng của phương sai thay đổi lớn theo thời gian. Thường được dùng khi dữ liệu có tính chất tăng trưởng theo cấp số nhân.
3. Loại bỏ xu hướng (Detrending)
Dùng hồi quy tuyến tính để loại bỏ phần xu hướng trong chuỗi. Sau đó lấy phần dư (residual) để phân tích tiếp.
4. Loại bỏ yếu tố mùa vụ (Deseasonalizing)
Nếu chuỗi có thành phần mùa vụ rõ ràng, có thể áp dụng phương pháp điều chỉnh mùa vụ để loại bỏ phần dao động mang tính chu kỳ.
Ví dụ minh họa
Giả sử một doanh nghiệp muốn dự báo doanh số bán hàng theo tháng. Quan sát chuỗi cho thấy doanh số có xu hướng tăng dần theo thời gian. Khi kiểm định ADF, p-value > 0.05, chứng tỏ chuỗi không dừng. Sau khi áp dụng sai phân cấp 1, chuỗi không còn xu hướng, và kiểm định ADF cho p-value < 0.05. Lúc này, chuỗi đã đạt tính dừng và có thể được đưa vào mô hình ARIMA để dự báo.
Kết luận
Stationarity là điều kiện bắt buộc đối với hầu hết các mô hình phân tích chuỗi thời gian truyền thống. Việc nhận diện và xử lý đúng tính dừng không chỉ giúp tăng độ chính xác của dự báo mà còn đảm bảo kết quả phân tích có ý nghĩa thống kê. Trước khi áp dụng bất kỳ mô hình dự báo nào, hãy kiểm tra stationarity một cách cẩn trọng.
Việc xử lý chuỗi để đạt tính dừng không phải là bước làm phức tạp, nhưng nếu bỏ qua, toàn bộ mô hình sẽ mất hiệu lực. Do đó, stationarity nên được xem là nền móng vững chắc trong mọi dự án liên quan đến chuỗi thời gian.
Tài liệu tham khảo
Hyndman, R. J., & Athanasopoulos, G. (2018). Forecasting: Principles and Practice. OTexts.
Box, G. E. P., Jenkins, G. M., Reinsel, G. C., & Ljung, G. M. (2015). Time Series Analysis: Forecasting and Control. Wiley.