Data Science & AI hoạt động

Phân tích chuỗi thời gian

Time Series — Chuỗi thời gian

Đã chạy được. Mục này có công cụ tính toán thật trên nền tảng, không phải mô tả lộ trình.

Dự báo chuỗi thời gian từ file Holt–Winters, chấm điểm bằng MASE so với naive

Tải chuỗi lịch sử lên, nhận dự báo VÀ điểm số trung thực: mô hình có thắng nổi dự báo ngây thơ hay không. Dữ liệu mẫu là chuỗi hành khách hàng không kinh điển.

Đang chạy trên dữ liệu mẫu, không phải dữ liệu của bạn. Các ô còn nguyên mẫu dựng sẵn: Chuỗi số liệu (dán hoặc tải CSV). Chọn nguồn dữ liệu khác ở cột bên trái rồi chạy lại để có kết quả của riêng bạn.
MASE 0.5498
MAPE (holdout) 7.22%
Phán quyết TỐT HƠN naive
Dự báo kỳ tới 190.8419
Kết luận Tốt hơn naive
① Nguồn dữ liệu

Nhận dấu phẩy, chấm phẩy hoặc tab; tự nhận dòng tiêu đề; hiểu cả 1.234.567 lẫn 1.234,56.

Chỉ tải http/https tới địa chỉ công khai; địa chỉ nội bộ bị từ chối.

② Tham số
124
136
148

Giá trị mặc định là ví dụ chạy được — bấm Tính ngay để xem kết quả, rồi thay dữ liệu của bạn vào.

Thực tế · holdout · dự báo

Thực tếMô hình trên holdoutDự báo tương lai
Thực tế · holdout · dự báo258.6201.5144.587.44

Phần holdout (12 kỳ cuối) là dữ liệu mô hình CHƯA nhìn thấy khi huấn luyện. Chỉ đoạn đó mới nói được mô hình có dự báo được hay không.

Diễn giải nhanh

MASE = 0.550 — thắng dự báo naive

MASE là MAE của mô hình chia MAE của 'kỳ này bằng kỳ trước'. Từ 1 trở lên nghĩa là mô hình không tạo ra giá trị nào so với quy tắc đơn giản nhất có thể.

MAE 14.75 so với naive 26.83

Đo trên 12 kỳ holdout mà mô hình chưa từng nhìn thấy. Đo trên dữ liệu huấn luyện luôn cho kết quả đẹp hơn thực tế.

Bias = -14.75

Sai số lệch hẳn một phía nghĩa là mô hình có thiên lệch hệ thống — chỗ này sửa được, khác với nhiễu ngẫu nhiên.

Khoảng 90% cho kỳ tới: 176.69 – 204.99

Dựng từ độ lệch chuẩn phần dư trên holdout. Nó rộng, và đó là sự thật về mức bất định — con số điểm duy nhất che mất điều đó.

Khi nào con số này sai: MASE là chỉ số quyết định: dưới 1 nghĩa là mô hình thắng dự báo ngây thơ, từ 1 trở lên nghĩa là công sức bỏ ra không tạo giá trị nào. Rất nhiều mô hình phức tạp thua 'kỳ này bằng kỳ trước' và không ai kiểm tra.

Chi tiết

Số điểm dữ liệu 48 (train 36 · holdout 12)
Chu kỳ mùa vụ 12
MAE mô hình / naive 14.7529 / 26.8333
Bias -14.7529 — dự báo thấp hơn thực tế
Dự báo 6 kỳ 190.84 · 196.43 · 212.75 · 202.76 · 202.13 · 222.83
Khoảng 90% kỳ tới 176.69 – 204.99
Phương pháp Holt–Winters cộng tính (α=0.4, β=0.1, γ=0.3)

Thực tế · holdout · dự báo

Thực tếMô hình trên holdoutDự báo tương lai
Thực tế · holdout · dự báo258.6201.5144.587.44

Phần holdout (12 kỳ cuối) là dữ liệu mô hình CHƯA nhìn thấy khi huấn luyện. Chỉ đoạn đó mới nói được mô hình có dự báo được hay không.

Sai số trên holdout: mô hình vs naive

mô hìnhnaive
Sai số trên holdout: mô hình vs naive49.0232.6816.34-7.105e-15t+1 — naive: 26t+1 — mô hình: 11.27t+2 — naive: 30t+2 — mô hình: 14.48t+3 — naive: 15t+3 — mô hình: 8.656t+4 — naive: 18t+4 — mô hình: 5.359t+5 — naive: 11t+5 — mô hình: 9.226t+6 — naive: 40t+6 — mô hình: 29.38t+7 — naive: 31t+7 — mô hình: 21.7t+8 — naive: 43t+8 — mô hình: 32.63t+9 — naive: 25t+9 — mô hình: 11.46t+10 — naive: 29t+10 — mô hình: 13.47t+11 — naive: 26t+11 — mô hình: 9.561t+12 — naive: 28t+12 — mô hình: 9.835t+1t+3t+5t+7t+9t+11

Cột sáng thấp hơn cột tối ở đa số kỳ thì mô hình mới thực sự thắng, chứ không phải chỉ thắng ở trung bình.

Toàn bộ chỉ số

Số điểm dữ liệu 48 (train 36 · holdout 12)
Chu kỳ mùa vụ 12
MAE mô hình / naive 14.7529 / 26.8333
Bias -14.7529 — dự báo thấp hơn thực tế
Dự báo 6 kỳ 190.84 · 196.43 · 212.75 · 202.76 · 202.13 · 222.83
Khoảng 90% kỳ tới 176.69 – 204.99
Phương pháp Holt–Winters cộng tính (α=0.4, β=0.1, γ=0.3)

Công thức đang dùng

MASE = MAE(mô hình) / MAE(naive) — dưới 1 mới có giá trị

Đây là công thức thật mà mã nguồn chạy, không phải mô tả gần đúng. API tại /api/v1/tools/ts-forecast gọi đúng hàm này, nên kết quả trên trang và qua API không thể lệch nhau.

Cách dùng

  1. Điền tham số ở cột trái. Mọi ô đã có sẵn giá trị ví dụ chạy được, nên bạn có thể bấm Tính ngay trước rồi sửa sau.
  2. Với ô dữ liệu: dán vài chục dòng để thử, hoặc tải file CSV/TXT lên để chạy thật. File tối đa 32 MB, 200.000 dòng; bộ đọc nhận dấu phẩy, chấm phẩy hoặc tab, tự nhận dòng tiêu đề, và hiểu cả 1.234.567 lẫn 1.234,56.
  3. Đọc thẻ số ở trên cùng, rồi mục Diễn giải nhanh để biết con số đó nói gì.
  4. Đọc dòng “Khi nào con số này sai” trước khi dùng kết quả để quyết định — đó là giả định vỡ đầu tiên.
Giới hạn chung. Công cụ này tính đúng công thức của nó trên dữ liệu bạn đưa vào. Nó không kiểm tra dữ liệu của bạn có phù hợp với giả định của phương pháp hay không — phần đó vẫn là việc của người dùng, và mục “sai ở đâu” bên dưới trang liệt kê các chỗ hỏng thường gặp.

Phân tích chuỗi thời gian là gì

Phân tích chuỗi thời gian xử lý dữ liệu có thứ tự thời gian, nơi quan sát gần nhau tương quan với nhau. Chính tính tương quan này làm hỏng mọi phương pháp giả định mẫu độc lập — gồm cả cross-validation ngẫu nhiên.

Làm thế nào

  1. Kiểm tra tính dừng, sai phân nếu cần.
  2. Phân rã xu hướng, mùa vụ và phần dư.
  3. Chọn mô hình: ARIMA/SARIMA cho tuyến tính, gradient boosting với đặc trưng trễ cho phi tuyến.
  4. Luôn chia tập theo thời gian, không bao giờ ngẫu nhiên.
  5. So với baseline naive trước khi kết luận mô hình có giá trị.

Đo bằng chỉ số nào

MASE sai số so với dự báo naive; dưới 1 mới có giá trị
MAPE dễ hiểu nhưng vô nghĩa khi giá trị gần 0
Coverage của khoảng dự báo khoảng 95% có phủ đúng 95% không

Sai ở đâu

Phần quan trọng nhất của trang này. Một phương pháp được mô tả mà không nói chỗ nó hỏng là phiên bản quảng cáo của phương pháp đó.

! Cross-validation ngẫu nhiên trên chuỗi thời gian cho kết quả đẹp giả vì mô hình nhìn thấy tương lai.
! Chuẩn hoá dữ liệu trên toàn bộ tập trước khi chia — rò rỉ thống kê của tập test vào tập train.

Mô hình định lượng dùng trong Data Science

Chưa có mô hình nào gắn riêng cho chủ đề này. Đây là những mô hình của cả ngành — liên quan ở cấp ngành, không phải cấp chủ đề.

Tất cả mô hình →
Transformersắp có

Cơ chế attention, nắm quan hệ xa.

Temporal Convolutional Networksắp có

Tích chập nhân quả với receptive field kiểm soát được.

Deflated Sharpe Ratiohoạt động

Sharpe sau khi phạt vì số lần thử và độ lệch/nhọn của đuôi.

Probability of Backtest Overfittinghoạt động

Tỉ lệ cấu hình thắng in-sample lại xếp dưới trung vị ngoài mẫu.

Câu hỏi thường gặp

Phân tích chuỗi thời gian là gì?

Phân tích chuỗi thời gian xử lý dữ liệu có thứ tự thời gian, nơi quan sát gần nhau tương quan với nhau. Chính tính tương quan này làm hỏng mọi phương pháp giả định mẫu độc lập — gồm cả cross-validation ngẫu nhiên.

Phân tích chuỗi thời gian được làm như thế nào?

1. Kiểm tra tính dừng, sai phân nếu cần. 2. Phân rã xu hướng, mùa vụ và phần dư. 3. Chọn mô hình: ARIMA/SARIMA cho tuyến tính, gradient boosting với đặc trưng trễ cho phi tuyến. 4. Luôn chia tập theo thời gian, không bao giờ ngẫu nhiên. 5. So với baseline naive trước khi kết luận mô hình có giá trị.

Phân tích chuỗi thời gian hay sai ở đâu?

Cross-validation ngẫu nhiên trên chuỗi thời gian cho kết quả đẹp giả vì mô hình nhìn thấy tương lai. Chuẩn hoá dữ liệu trên toàn bộ tập trước khi chia — rò rỉ thống kê của tập test vào tập train.

Đo phân tích chuỗi thời gian bằng chỉ số nào?

MASE — sai số so với dự báo naive; dưới 1 mới có giá trị; MAPE — dễ hiểu nhưng vô nghĩa khi giá trị gần 0; Coverage của khoảng dự báo — khoảng 95% có phủ đúng 95% không.

Phân tích chuỗi thời gian trên QuantHub đã dùng được chưa?

Đang thử nghiệm: chạy được nhưng phương pháp chưa kiểm định đầu-cuối, nên đừng dựa vào nó để ra quyết định tiền thật.

Chủ đề khác trong Data Science

Toàn bộ Data Science
Machine Learning Deep Learning NLP Computer Vision AutoML Feature Engineering Anomaly Detection Optimization