Table

Important

Tham khảo

1. General Information

1.x. Time series Types

Time series Tasks

2. Data Generation

Trong xử lý chuỗi thời gian, Data Augmentation là quá trình áp dụng các phép biến đổi để tạo ra các mẫu mới. Điều này giúp tăng kích thước và đa dạng dữ liệu, từ đó làm cho mô hình trở nên mạnh mẽ hơngiảm nguy cơ overfitting.

2.1. Data Augmentation – Basic Approaches

Ground truth Chuỗi dữ liệu gốc (không biến đổi) được coi là baseline để so sánh hiệu quả của các phương pháp tăng cường dữ liệu. image 81.png Homogeneous scaling Phương pháp này thực hiện việc co giãn đồng đều biên độ của toàn bộ chuỗi, giúp mô hình học được tính linh hoạt về cường độ.

image 1 41.png Rotation Biến đổi bằng cách đảo ngược hoặc xoay tín hiệu theo trục, giúp mô hình tránh phụ thuộc quá mức vào hướng của chuỗi.

image 2 39.png Jittering Thêm nhiễu ngẫu nhiên vào tín hiệu gốc để tạo sự đa dạng, tương tự như dữ liệu thực tế vốn chứa nhiễu đo lường. image 3 37.png Magnitude warping Áp dụng hàm phi tuyến lên biên độ, tạo ra sự thay đổi cục bộ trong độ lớn của chuỗi.
image 4 32.png Time warping Kéo giãn hoặc nén trục thời gian, làm thay đổi tốc độ dao động nhưng vẫn giữ nguyên hình dạng tổng thể. image 5 30.png Permutation Chia tín hiệu thành nhiều đoạn nhỏ và xáo trộn thứ tự, từ đó làm tăng khả năng mô hình học được tính không tuần tự.
image 6 28.png Window warping Chọn một cửa sổ con trong chuỗi và co giãn riêng phần đó, giúp mô hình nhận diện sự biến đổi cục bộ. image 7 23.png Time slicing window Cắt tín hiệu thành nhiều cửa sổ con để tăng số lượng mẫu huấn luyện, đặc biệt hữu ích khi dữ liệu ban đầu nhỏ. image 8 23.png Concatenating resampling Kết hợp các đoạn con bằng cách resampling và nối chuỗi, giúp mô hình học được tính đa dạng theo chiều dài. image 9 22.png Channel permutation Trong dữ liệu đa kênh, thay đổi thứ tự các kênh để tạo mẫu mới, giúp mô hình không bị phụ thuộc vào thứ tự kênh. image 10 21.png

2.2. Data Augmentation – Decomposition

Một hướng tiếp cận khác để tăng cường dữ liệu chuỗi thời gian là phân rã (decomposition). Ý tưởng là tách chuỗi gốc thành các thành phần cơ bản như xu hướng (trend), mùa vụ (seasonal)nhiễu (residual), sau đó biến đổi hoặc kết hợp lại để tạo mẫu mới. STL – Seasonal and Trend decomposition using Loess

  • STL tách chuỗi thời gian thành 4 thành phần: Data, Trend, Seasonal, Remainder.
  • Thích hợp khi độ biến thiên mùa vụ và phần dư (residuals) tương đối ổn định theo thời gian. Công thức: Trong đó:
  • S: thành phần mùa vụ
  • T: thành phần xu hướng
  • R: phần dư (nhiễu)

image 11 21.png MSTL – Trend and Multiple Seasonal decomposition using Loess

  • MSTL mở rộng STL, cho phép tách nhiều thành phần mùa vụ (daily, weekly, yearly, v.v.) cùng lúc.
  • Hữu ích khi dữ liệu có chu kỳ lặp lại phức tạp (ví dụ: nhu cầu điện có biến động theo ngày và theo tuần).
  • Phù hợp khi biến thiên mùa vụ và phần dư thay đổi theo tỷ lệ của xu hướng (trend level). Công thức: Trong đó:
  • S: nhiều thành phần mùa vụ (weekly, daily, yearly, …)
  • T: thành phần xu hướng
  • R: phần dư (nhiễu) image 12 20.png

2.3. Data Condensation

Data Condensation là kỹ thuật nén tập dữ liệu huấn luyện quy mô lớn thành một tập nhỏ tổng hợp (synthetic set). Mục tiêu là vẫn giữ được khả năng biểu diễn của dữ liệu gốc để mô hình có thể đạt hiệu năng tương đương khi huấn luyện. image 13 18.png

  • Thay vì dùng hàng chục ngàn hoặc hàng triệu mẫu, ta tạo ra một số lượng nhỏ dữ liệu tổng hợp nhưng vẫn đủ giàu thông tin.
  • Các mẫu tổng hợp này được sinh ra bằng các kỹ thuật tối ưu (ML,DL,…) , đảm bảo chúng đại diện tốt cho phân phối gốc. Ưu điểm:
  • Giảm chi phí huấn luyện: tiết kiệm thời gian và tài nguyên tính toán.
  • Chia sẻ dữ liệu tổng hợp: dễ dàng phân phối dữ liệu mà không cần toàn bộ tập gốc.
  • Bảo vệ quyền riêng tư: dữ liệu gốc (có thông tin nhạy cảm) không cần phải chia sẻ, thay vào đó dùng dữ liệu tổng hợp. Nhược điểm:
  • Distribution shift: dữ liệu tổng hợp có thể bị lệch phân phối so với dữ liệu thật, làm giảm độ chính xác.
  • Cần kỹ thuật tối ưu để cân bằng giữa tính nhỏ gọnđộ đại diện của dữ liệu.

Lưu ý: Kĩ thuật này không thật sự tạo ra data mà nó là nén data lại.

3. Data Valuation

Data Valuation là quá trình định lượng và đánh giá giá trị của dữ liệu trong quá trình phân tích. Mục tiêu là xác định những đặc trưng quan trọng giúp mô hình học máy hoặc phân tích thống kê trở nên hiệu quả hơn. Khái niệm này bao gồm nhiều hướng tiếp cận khác nhau, trong đó phổ biến nhất là dựa trên đặc trưng thống kê, đặc trưng thời gian, hoặc các phương pháp tiên tiến như influence functionsShapley value.

3.1. Data Valuation – Statistical Properties

Statistical Properties mô tả sự phân bố của các giá trị trong chuỗi dữ liệu, nhưng không phản ánh trực tiếp hành vi theo thời gian. Các đặc trưng này thường được dùng để tóm tắt, so sánh nhóm dữ liệu, phát hiện bất thường hoặc chuẩn hóa.

Các đặc trưng thống kê cơ bản

  • Min: giá trị nhỏ nhất trong tập dữ liệu.
  • Max: giá trị lớn nhất trong tập dữ liệu.
  • Mean: trung bình cộng (tổng các giá trị chia cho số lượng).
  • Median (Q2): trung vị, biểu diễn vị trí trung tâm, ít nhạy cảm với outlier.
  • Range: khoảng giá trị, được tính bằng Max – Min.
  • IQR (Interquartile Range): Q3 – Q1, thể hiện mức độ phân tán dữ liệu giữa tứ phân vị.
  • Outlier: phần tử bất thường: Ví dụ: Với tập dữ liệu: 2, 4, 4, 5, 7, 9, 10
  • Min = 2
  • Max = 10
  • Mean ≈ 5.86
  • Median (Q2) = 5
  • Range = 8
  • Q1 = 4, Q3 = 9 → IQR = 5 image 14 18.png Ý nghĩa và ứng dụng:
  • Dùng summary statistics để so sánh nhóm dữ liệu, phát hiện outlier, lựa chọn phương pháp chuẩn hóa.
  • Các thống kê này không xét đến thứ tự thời gian, do đó sẽ được bổ sung bằng các phương pháp khai thác mẫu (temporal patterns) trong các bước sau.

Skewness

Skewness đo lường mức độ bất đối xứng của phân phối dữ liệu. Đây là một đặc trưng quan trọng để nhận diện thiên lệch trong dữ liệu, đặc biệt trước khi áp dụng các kiểm định thống kê giả định dữ liệu tuân theo phân phối chuẩn.

  • Positive skew (lệch phải): dữ liệu có đuôi dài về phía phải; Mean > Median > Mode.
  • Negative skew (lệch trái): dữ liệu có đuôi dài về phía trái; Mean < Median < Mode.
  • Zero skew (đối xứng): phân phối chuẩn, Mean = Median = Mode.

image 15 18.png Ví dụ: image 16 15.png Ứng dụng

  • Giúp nhận diện bias trong dữ liệu trước khi áp dụng các thuật toán hoặc kiểm định giả định tính chuẩn.
  • Hỗ trợ lựa chọn phép biến đổi dữ liệu (ví dụ: log transform, Box-Cox transform) để đưa dữ liệu về gần phân phối chuẩn.

Kurtos

Kurtosis đo lường mức độ “nặng đuôi” (tailedness) hay “độ nhọn” (peakedness) của phân phối dữ liệu. Nó cho biết dữ liệu có xu hướng chứa nhiều giá trị cực đoan (outlier) hay không.

  • High kurtosis (kurtosis lớn): phân phối có đỉnh nhọn, đuôi dày → nhiều outlier, rủi ro cao.
  • Low kurtosis (kurtosis nhỏ): phân phối có đỉnh phẳng, đuôi nhẹ → ít outlier.
  • Normal distribution: kurtosis ≈ 3 (nếu báo cáo excess kurtosis thì giá trị này ≈ 0). image 17 14.png Ví dụ: image 18 14.png Ứng dụng:
  • Phát hiện outliers hoặc dữ liệu có đuôi nặng.
  • Giúp đánh giá rủi ro trong các lĩnh vực như tài chính (đặc biệt với các biến động lớn).
  • Kết hợp với skewness để xác định dữ liệu có tuân theo phân phối chuẩn hay không, từ đó lựa chọn phép kiểm định thống kê phù hợp.

3.2. Time Series Characteristics

Đặc trưng của chuỗi thời gian mô tả hành vi của dữ liệu theo thời gian hoặc cấu trúc tuần tự. Hai yếu tố quan trọng nhất là Seasonality (tính mùa vụ)Trend (xu hướng).

Seasonality và Non-Seasonality

  • Seasonality: các mẫu lặp lại tại khoảng thời gian cố định.
    • Ví dụ: “Doanh số kem đạt đỉnh vào mùa hè.”
  • Non-Seasonality: biến động không có quy luật rõ ràng, khó dự đoán.
    • Ví dụ: “Giá cổ phiếu dao động thất thường.”

image 19 14.png

Trend và Non-Trend

  • Trend: xu hướng tăng hoặc giảm dài hạn.
    • Ví dụ: “Nhiệt độ trung bình toàn cầu tăng dần.”
  • Non-Trend: dữ liệu chỉ chứa nhiễu ngẫu nhiên, không thể hiện hướng rõ ràng.
    • Ví dụ: “Nhiễu hàng ngày trong dữ liệu cảm biến.”

image 20 13.png Việc xác định tính mùa vụxu hướng là bước quan trọng để:

  • Chọn mô hình dự báo phù hợp.
  • Giúp phân rã dữ liệu (decomposition) để phân tích chi tiết.
  • Tránh nhầm lẫn giữa nhiễu ngẫu nhiêntín hiệu thực sự.

Quantitative Measures

Ngoài việc quan sát trực quan, chuỗi thời gian còn có thể được định lượng các đặc trưng chính: xu hướng (trend), mùa vụ (seasonality), và phần dư (remainder). Các công thức này giúp đo lường mức độ mạnh/yếu của từng thành phần. Original Observations

  • Dữ liệu ban đầu (original data) chứa tổng hợp của trend + seasonality + remainder.

  • Độ phân tán dữ liệu được đo bằng phương sai (variance):

    Trong đó:

    • xi: giá trị quan sát
    • μ: trung bình
    • n: số lượng quan sát image 21 12.png Long-term Direction (Trend Strength)
  • Xu hướng dài hạn phản ánh sự thay đổi ổn định (tăng hoặc giảm) theo thời gian.

  • Được định lượng bởi công thức:

    Trong đó:

    • R: phần dư
    • S: thành phần mùa vụ
    • X: dữ liệu gốc image 22 10.png Repeating Patterns (Seasonality Strength)
  • Tính mùa vụ là các mẫu lặp lại có chu kỳ cố định.

  • Được định lượng bởi công thức:

    Trong đó:

    • T: thành phần xu hướng
    • R: phần dư
    • X: dữ liệu gốc image 23 10.png Random Noise (Remainder)
  • Phần dư là biến động không giải thích được sau khi loại bỏ trend và seasonality:

  • Nếu phương sai của remainder lớn → mô hình có thể đang bỏ sót những mẫu quan trọng. image 24 10.png

Transition

Transition trong chuỗi thời gian là những đặc trưng cố định, có thể nhận diện rõ ràng, chẳng hạn như sự xuất hiện của trend, chu kỳ (periodicity) hoặc sự kết hợp đồng thời giữa seasonality và trend. Chúng phản ánh sự thay đổi trạng thái (regime changes) của chuỗi.

  • Transition xuất hiện khi dữ liệu di chuyển từ một trạng thái này sang trạng thái khác.

  • Có thể là chuyển mức, chuyển pha, hoặc thay đổi chế độ vận hành trong dữ liệu.

  • Ví dụ: giá cổ phiếu chuyển từ pha tăng trưởng sang pha giảm, hoặc cảm biến hoạt động trong nhiều chế độ khác nhau. image 25 10.png Công thức định lượng Transition: Thuật toán giúp tính toán giá trị Transition Value (Δ) từ chuỗi thời gian X.

  • Input: chuỗi thời gian

  • Output: giá trị

image 26 7.png Các bước chính:

  1. Tìm điểm zero-crossing đầu tiên của hàm tự tương quan (autocorrelation).

  2. Giảm mẫu chuỗi theo bước τ.

  3. Sinh vector đặc trưng Z.

  4. Xây dựng ma trận chuyển trạng thái M ∈ ℝ^(3×3).

  5. Chuẩn hóa M → M′.

  6. Tính ma trận hiệp phương sai C giữa các cột của M′.

  7. Tính giá trị transition:

    Trong đó C là ma trận hiệp phương sai của xác suất chuyển trạng thái.

Ý nghĩa của Transition:

  • Phát hiện thay đổi chế độ (regime changes) trong chuỗi thời gian.
  • Phát hiện bất thường (anomaly detection).
  • Phân biệt hành vi khác nhau của các chuỗi thời gian.

4. Model

4.1. By IO Shape and IO Type

Khi xây dựng mô hình dự báo chuỗi thời gian, một cách phân loại quan trọng là dựa trên Input–Output (IO) ShapeIO Type. Cách phân loại này quyết định cách mô hình xử lý dữ liệu lịch sử và sinh ra dự báo.

By IO Shape

  • Short-term
    • Sử dụng một số lượng nhỏ bước thời gian cho cả đầu vào và đầu ra.
    • Độ dài đầu ra độ dài đầu vào.
    • Thường phù hợp với dự báo ngắn hạn hoặc trong phạm vi một chu kỳ nhỏ. image 27 7.png
  • Long-term
    • Sử dụng số lượng lớn bước thời gian cho cả đầu vào và đầu ra.
    • Độ dài đầu ra độ dài đầu vào.
    • Dùng cho dự báo dài hạn, có tính chu kỳ hoặc xu hướng mạnh. image 28 6.png

By IO Type

  • Point / Deterministic
    • Đầu ra của mô hình là giá trị chính xác duy nhất cho mỗi bước thời gian trong tương lai.
    • Dùng khi dữ liệu có ít nhiễu hoặc khi cần giá trị cụ thể để ra quyết định. image 29 5.png
  • Probabilistic
    • Đầu ra là một khoảng giá trị (upper bound và lower bound) hoặc phân phối xác suất.
    • Thể hiện độ không chắc chắn trong dự báo.
    • Hữu ích khi dữ liệu có nhiễu hoặc cần đánh giá rủi ro. image 30 5.png

4.2. By Method

Một cách phân loại mô hình dự báo chuỗi thời gian là dựa trên phương pháp dự báo. Hai cách tiếp cận phổ biến là DirectRecursive.

Direct Method

  • Cách hoạt động: Mô hình được huấn luyện để dự báo trực tiếp số bước thời gian tương lai theo yêu cầu.
  • Đặc điểm:
    • Mỗi điểm tương lai được dự báo bởi một mô hình riêng hoặc một mạng nhiều đầu ra.
    • Giảm sự tích lũy sai số, vì không phụ thuộc vào dự báo trước đó.
  • Ví dụ: Dự báo trực tiếp T+1, T+2, T+3 từ dữ liệu quá khứ T−n…T−1. image 31 5.png

Recursive Method

  • Cách hoạt động: Mô hình dự báo từng bước một. Dự báo ở bước trước sẽ được dùng làm đầu vào để dự báo bước tiếp theo.
  • Đặc điểm:
    • Chỉ cần một mô hình cho tất cả các bước.
    • Nhược điểm: sai số tích lũy theo thời gian, vì mỗi dự báo phụ thuộc vào giá trị dự báo trước đó.
  • Ví dụ: Từ dữ liệu quá khứ T−n…T−1, mô hình dự báo T+1; sau đó dùng cả T+1 để dự báo T+2; rồi tiếp tục đến T+3. image 32 5.png

4.3. By Architecture

MLP

Một trong những kiến trúc cơ bản để dự báo chuỗi thời gian là MLP (Multi-Layer Perceptron). Đây là mô hình mạng nơ-ron truyền thẳng (feed-forward neural network), có thể áp dụng trực tiếp cho dữ liệu chuỗi sau khi được biến đổi thành các vector đầu vào/đầu ra.

  • Ưu điểm:
    • Cấu trúc rất đơn giản và huấn luyện nhanh.
    • Phù hợp để thử nghiệm ban đầu với dữ liệu chuỗi thời gian.
  • Nhược điểm:
    • Không có trí nhớ về dữ liệu trong quá khứ.
    • Không hiểu rõ thứ tự thời gian của các điểm dữ liệu. image 33 5.png Các biến thể của MLP cho Time Series:
  • Linear: chỉ có 1 tầng tuyến tính.
  • NLinear: 1 tầng tuyến tính + chuẩn hóa (normalization).
  • DLinear: 1 tầng tuyến tính + decomposition.
  • N-BEATS: mô hình thuần MLP, không dùng kiến thức đặc thù chuỗi thời gian, nhưng hiệu quả nhờ nhiều tầng chồng lên nhau.
  • FITS: linear layer được chỉnh sửa, có khả năng học biến đổi biên độ và dịch pha.
  • TSMixer: kết hợp MLP với Mixer.
  • TimeMixer: MLP + đa tỉ lệ (multi-scale) + decomposition + Mixer. Khi nào dùng MLP
  • Khi cần baseline model đơn giản để so sánh với các mô hình khác.
  • Khi chuỗi thời gian đã được tiền xử lý tốt (ví dụ decomposition, feature engineering).
  • Khi cần tốc độ huấn luyện nhanh để thử nghiệm nhiều kịch bản.

RNN

RNN (Recurrent Neural Network) là một kiến trúc phổ biến cho chuỗi thời gian, có khả năng ghi nhớ và khai thác thông tin tuần tự nhờ cơ chế hồi tiếp (recurrent connections). Đặc điểm:

  • Ưu điểm:
    • Có bộ nhớ để hiểu và xử lý dữ liệu tuần tự.
    • Có thể làm việc với chuỗi có độ dài khác nhau.
    • Phù hợp với dữ liệu có tính phụ thuộc theo thời gian.
  • Nhược điểm:
    • Huấn luyện chậm, khó song song hóa.
    • Dễ gặp vấn đề quên thông tin xa (vanishing gradient).

image 34 5.png Các biến thể của RNN cho Time Series

  • LSTNet: kết hợp convolution (bắt đặc trưng ngắn hạn) + LSTM/GRU (bắt đặc trưng dài hạn).
  • DA-RNN: RNN + Dual Attention, gán trọng số cao hơn cho các biến đặc trưng quan trọng.
  • SegRNN: RNN/LSTM/GRU + segment-wise iteration để giảm số vòng lặp hồi quy + Parallel Multi-step Forecasting.
  • xLSTM: kết hợp sLSTM (memory mixing mới) + mLSTM (matrix memory, cập nhật theo covariance rule), có khả năng song song hóa.
  • xLSTMTime: decomposition + xLSTM + normalization. Khi nào dùng RNN
  • Khi dữ liệu có chuỗi dài hạn nhưng không quá phức tạp.
  • Khi cần mô hình có thể học từ phụ thuộc thời gian mà MLP không xử lý được.
  • Khi muốn kết hợp với attention hoặc convolution để tăng hiệu quả.

CNN

CNN (Convolutional Neural Network) thường được biết đến trong xử lý ảnh, nhưng cũng được ứng dụng mạnh mẽ trong chuỗi thời gian. CNN đặc biệt hiệu quả trong việc phát hiện các mẫu cục bộ (local patterns) xuất hiện trong khoảng thời gian ngắn. CNN trong không gian 1D:

  • Cách hoạt động: áp dụng convolution trực tiếp trên chuỗi 1D.
  • Ưu điểm:
    • Phát hiện tốt các mẫu lặp ngắn hạn (motifs).
    • Học được quan hệ cục bộ theo thời gian gần.
  • Hạn chế: khó nắm bắt quan hệ dài hạn.

image 35 5.png CNN trong không gian 2D

  • Cách hoạt động: chuỗi 1D được reshape thành tensor 2D (theo inner-periodinter-period), sau đó áp dụng 2D convolution.
  • Ưu điểm:
    • Phát hiện cấu trúc lặp trong một chu kỳ (inner-period).
    • Đồng thời học được mối quan hệ giữa các chu kỳ khác nhau (inter-period).
  • Ứng dụng: hữu ích với dữ liệu có chu kỳ phức tạp (ví dụ: nhu cầu năng lượng, chu kỳ kinh tế). image 36 5.png Khi nào dùng CNN?
  • Khi dữ liệu có mẫu cục bộ rõ ràng (ví dụ: sóng điện tim ECG, chu kỳ bán hàng ngắn hạn).
  • Khi muốn tăng tốc huấn luyện (CNN thường song song hóa tốt hơn RNN).
  • Khi dữ liệu có chu kỳ lặp lại phức tạp → dùng 2D CNN để khai thác cả inner và inter-period.

TCN

Temporal Convolutional Networks (TCN) là một dạng CNN chuyên biệt cho chuỗi thời gian. Khác với RNN, TCN sử dụng convolution nhân quả (causal convolution) để đảm bảo không có “leakage” từ tương lai, đồng thời mở rộng khả năng quan sát quá khứ bằng dilated convolution. Đặc điểm chính:

  • Causality: chỉ sử dụng thông tin từ quá khứ để dự đoán → không rò rỉ thông tin tương lai.
  • Dilations: mở rộng receptive field theo cấp số nhân, cho phép nắm bắt quan hệ dài hạn mà vẫn giữ chi phí tính toán hợp lý.
  • Residual connections: giúp huấn luyện ổn định hơn, tránh gradient vanish.
  • Fully convolutional: xử lý hiệu quả chuỗi dài nhờ hoàn toàn dựa trên convolution thay vì tính tuần tự. image 37 4.png
  • Ưu điểm
    • Song song hóa tốt hơn RNN, huấn luyện nhanh.
    • Nắm bắt được cả đặc trưng ngắn hạn và dài hạn nhờ dilated convolution.
    • Cấu trúc đơn giản, dễ mở rộng.
  • Nhược điểm
    • Thiếu cơ chế chú ý (attention), nên với chuỗi có phụ thuộc phức tạp, có thể kém hiệu quả hơn Transformer.
    • Độ linh hoạt thấp hơn RNN/LSTM khi dữ liệu có tính phi tuyến cao. Ứng dụng
  • Dự báo nhu cầu (demand forecasting).
  • Nhận dạng tín hiệu (speech recognition).
  • Phân tích chuỗi cảm biến IoT.
  • Mô hình nổi tiếng: Wavenet (Google DeepMind), sử dụng causal + dilated convolution cho xử lý âm thanh. image 38 3.png Visualization of a stack of dilated causal convolutional layers. Tại sao phải dilate (giãn, mở rộng) như vậy? → Để tăng độ dài thời gian cho dữ liệu đầu vào, giữ lại được khung thời gian dài hơn, nhiều thông tin seasonal