Phân tích chuỗi thời gian và dự báo: xu hướng, mùa vụ, trung bình trượt, làm trơn mũ, ARIMA

Phân tích chuỗi thời gian và dự báo: xu hướng, mùa vụ, trung bình trượt, làm trơn mũ, ARIMA
Nội dung bài viết 9 mục
  1. Ứng dụng trong doanh nghiệp sản xuất
  2. Phân rã chuỗi thời gian
  3. Các phương pháp dự báo
  4. Làm trong Excel
  5. Làm trong Python
  6. Đánh giá sai số dự báo
  7. Liên hệ với SPC
  8. Lỗi hay gặp
  9. Cần người làm giúp?

Tóm tắt nhanh

  • Chuỗi thời gian = dữ liệu đo theo thứ tự thời gian đều nhau (ngày, tuần, tháng).
  • Gồm 3 thành phần: xu hướng, mùa vụ/chu kỳ, nhiễu ngẫu nhiên.
  • Bắt đầu từ phương pháp đơn giản (dự báo ngây thơ, trung bình trượt) làm mốc so sánh; mô hình phức tạp phải tốt hơn mốc đó mới đáng dùng.
  • Đánh giá dự báo trên giai đoạn sau cùng (không chia ngẫu nhiên).

Biểu đồ chuỗi thời gian thực tế và dự báo

Ứng dụng trong doanh nghiệp sản xuất

Dự báoPhục vụ
Nhu cầu, đơn hàng theo thángKế hoạch sản xuất, mua vật tư, cân bằng sản xuất Heijunka
Tiêu thụ điện, khí nénQuản lý năng lượng, EnB/EnPI theo ISO 50001
Số giờ dừng máy, tiêu hao phụ tùngKế hoạch bảo trì, tồn kho phụ tùng
Nhân lực theo mùaKế hoạch tuyển dụng thời vụ

Phân rã chuỗi thời gian

  • Xu hướng (Trend): tăng/giảm dài hạn — doanh số tăng đều 5%/năm.
  • Mùa vụ (Seasonality): lặp lại theo chu kỳ cố định — cao điểm trước Tết, thấp tháng 2.
  • Chu kỳ (Cycle): dao động dài, không cố định — theo chu kỳ kinh tế.
  • Nhiễu (Residual): phần còn lại không giải thích được.

Vẽ biểu đồ đường theo thời gian là bước đầu tiên bắt buộc: nhìn thấy xu hướng, mùa vụ, điểm gãy (đổi khách hàng lớn, dịch bệnh) trước khi chọn mô hình.

Các phương pháp dự báo

Phương phápÝ tưởngPhù hợp
Ngây thơ (Naive)Kỳ tới = kỳ nàyMốc so sánh
Ngây thơ mùa vụTháng 12 năm nay = tháng 12 năm trướcMốc khi có mùa vụ rõ
Trung bình trượtTrung bình N kỳ gần nhấtDữ liệu ổn định, không xu hướng
Làm trơn mũ đơnTrung bình có trọng số giảm dần về quá khứKhông xu hướng, không mùa vụ
HoltLàm trơn mũ + xu hướngCó xu hướng
Holt-Winters (ETS)+ mùa vụCó xu hướng và mùa vụ
ARIMA/SARIMAMô hình hoá tự tương quan của chuỗiChuỗi dài, cần dừng (stationary)
Hồi quy có biến ngoàiThêm biến giải thích (khuyến mãi, ngày lễ)Biết rõ yếu tố tác động

Làm trong Excel

  • FORECAST.ETS(ngày_dự_báo, giá_trị, dòng_thời_gian) — Holt-Winters tự động phát hiện mùa vụ.
  • FORECAST.ETS.CONFINT — khoảng tin cậy của dự báo.
  • Data → Forecast Sheet — tạo nhanh biểu đồ dự báo có khoảng tin cậy.

Dòng thời gian phải đều nhau (đủ các tháng, không thiếu kỳ).

Làm trong Python

import pandas as pd
from statsmodels.tsa.holtwinters import ExponentialSmoothing

s = (df.set_index("thang")["don_hang"].asfreq("MS"))   # chuỗi theo tháng
train, test = s[:-6], s[-6:]                            # 6 tháng cuối để kiểm tra

model = ExponentialSmoothing(train, trend="add", seasonal="mul",
                             seasonal_periods=12).fit()
fc = model.forecast(6)

naive = s.shift(12)[-6:]                                # mốc: cùng tháng năm trước
mape = lambda a, f: ((a - f).abs() / a).mean() * 100
print("MAPE Holt-Winters:", round(mape(test, fc), 1), "%")
print("MAPE mốc mùa vụ :", round(mape(test, naive), 1), "%")

Đánh giá sai số dự báo

Chỉ sốÝ nghĩa
MAESai số tuyệt đối trung bình (đơn vị gốc)
RMSEPhạt nặng sai số lớn
MAPESai số % — dễ trao đổi, không dùng khi giá trị gần 0
BiasDự báo có thiên lệch cao/thấp có hệ thống không

Theo dõi sai số dự báo hằng tháng như một KPI của bộ phận kế hoạch; dự báo luôn thiên cao là dấu hiệu tồn kho sẽ tăng.

Liên hệ với SPC

Control chart giả định các điểm độc lập. Dữ liệu chuỗi thời gian có tự tương quan (hôm nay giống hôm qua) có thể tạo ra quá nhiều tín hiệu giả trên biểu đồ kiểm soát. Khi đó cần mô hình hoá chuỗi trước rồi theo dõi phần dư.

Lỗi hay gặp

  • Chia ngẫu nhiên dữ liệu chuỗi thời gian → mô hình “nhìn thấy tương lai”.
  • Dự báo từ dữ liệu quá ngắn (cần ít nhất 2 chu kỳ mùa vụ, tức 24 tháng cho mùa vụ năm).
  • Bỏ qua sự kiện bất thường (dịch bệnh, mất khách lớn) trong dữ liệu huấn luyện.
  • Chỉ đưa một con số dự báo, không có khoảng tin cậy.

Cần người làm giúp?

Industrial Knowledge hỗ trợ dựng dashboard dự báo nhu cầu, năng lượng, phụ tùng trên Excel hoặc Power BI. Xem dịch vụ.

Bản tin Industrial Knowledge

Mỗi tuần một công cụ, đọc trong 5 phút

Đăng ký nhận bản tin và checklist 8D miễn phí (PDF). Không spam, hủy bất cứ lúc nào.