Giới thiệu dự án
Trong kỷ nguyên chuyển đổi số và bùng nổ dữ liệu lớn (Big Data), việc khai thác và phân tích dữ liệu chuỗi thời gian (Time Series Analysis) đóng vai trò nền tảng trong quản trị rủi ro, dự báo thị trường tài chính, tối ưu hóa chuỗi cung ứng và khí tượng thủy văn. Theo thống kê từ các tổ chức phân tích dữ liệu công nghiệp, hơn 80% dữ liệu phát sinh trong doanh nghiệp và hệ thống Internet of Things (IoT) gắn liền với trục thời gian và mang tính chất đa biến (Multivariate).
Tuy nhiên, các mô hình thống kê truyền thống và mạng nơ-ron đơn biến thường gặp phải các hạn chế nghiêm trọng:
- Bỏ qua tương tác đa chiều: Các mô hình đơn biến (Univariate Models) như AutoRegressive (AR) hay Feed-Forward Neural Network (FFNN) đơn biến chỉ phân tích lịch sử của một biến đơn lẻ, bỏ qua hoàn toàn mối quan hệ tương quan đồng thời (cross-correlation) giữa các biến ngoại sinh.
- Giới hạn tuyến tính: Mô hình thống kê đa biến kinh điển Vector Autoregression (VAR) giả định mối quan hệ giữa các biến là tuyến tính, dẫn đến sai số lớn khi áp dụng trên các hệ thống phi tuyến phức tạp (dữ liệu chứng khoán, biến động khí hậu).
- Độ phức tạp tính toán cao: Các mô hình học sâu như Long Short-Term Memory (LSTM) hay Gated Recurrent Units (GRU) có khả năng nắm bắt quan hệ phi tuyến nhưng cấu trúc cổng phức tạp, đòi hỏi chi phí tính toán lớn và dễ bị quá khớp (overfitting) trên các tập dữ liệu có kích thước vừa và nhỏ.
Đồ án tốt nghiệp chuyên ngành Kỹ thuật Dữ liệu tại Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE) của sinh viên Phạm Minh Long và Trương Hoàng Anh Khôi, dưới sự hướng dẫn của ThS. Trần Trọng Bình, tập trung giải quyết bài toán trên bằng cách phát triển mô hình lai Vector Autoregressive Neural Network (VARNN).
graph TD
A["Dữ liệu chuỗi thời gian đa biến<br/>(Multivariate Time Series)"] --> B["Tiền xử lý & Kiểm định<br/>(ADF/KPSS, MinMaxScaler, AIC, Granger)"]
B --> C["Cấu trúc trích xuất chuỗi con<br/>(Sliding Window / Lag Operator p)"]
C --> D["Mô hình lai VARNN<br/>(VAR Tuyến tính + Mạng nơ-ron Phi tuyến)"]
D --> E["Tối ưu hóa siêu tham số<br/>(Độ trễ p, Số nơ-ron lớp ẩn h)"]
E --> F["Dự báo đồng thời đa biến<br/>(Multi-output Forecasting)"]
F --> G["Ứng dụng Web Dashboard<br/>(Streamlit / Python)"]
Mục tiêu của đề tài
- Nghiên cứu cơ sở lý thuyết: Hệ thống hóa phương pháp phân tích chuỗi thời gian đa biến, các kiểm định thống kê (ADF, KPSS, AIC, Granger Causality, IRF, VDF) và kiến trúc mạng nơ-ron.
- Xây dựng mô hình VARNN: Thiết kế và hiện thực hóa mô hình mạng nơ-ron tự hồi quy vector kết hợp ưu điểm của VAR và FFNN.
- Thực nghiệm và tối ưu hóa: Triển khai tối ưu hóa siêu tham số (độ trễ $p$ và số nơ-ron lớp ẩn $h$) trên 06 tập dữ liệu thực tế thuộc 03 lĩnh vực: Thời tiết (Munich, TP.HCM), Chứng khoán (AAPL, AMZN, GOOGL) và Kinh tế vĩ mô Việt Nam.
- Đánh giá và so sánh chuẩn đối sánh (Benchmarking): So sánh định lượng hiệu suất của VARNN với 04 mô hình đại diện: ARIMA, VAR, FFNN và LSTM trên các thang đo MSE, RMSE, MAE, MAPE và thời gian huấn luyện.
- Xây dựng ứng dụng dự báo: Phát triển giao diện web tương tác trực quan cho phép người dùng cấu hình tham số, huấn luyện và trực quan hóa kết quả dự báo.
Phạm vi và giới hạn nghiên cứu
- Đối tượng dữ liệu: Chuỗi thời gian đa biến có tần suất thu thập theo ngày hoặc theo quý đã qua xử lý loại bỏ khuyết thiếu (null/empty imputation) và chuẩn hóa min-max.
- Giới hạn kỹ thuật: Tập trung vào mô hình hóa cấu trúc mạng nơ-ron tuần tự nhiều đầu vào - nhiều đầu ra (MIMO), chưa tích hợp cơ chế tự động hóa lựa chọn đặc trưng động (Dynamic Feature Selection).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Để lựa chọn giải pháp tối ưu cho bài toán dự báo đa biến, nghiên cứu đã phân tích và so sánh các phương pháp hiện hành:
| Tiêu chí |
Vector Autoregression (VAR) |
ARIMA / SARIMA |
LSTM / GRU |
Feed-Forward NN (FFNN) |
VARNN (Đề xuất) |
| Bản chất mô hình |
Thống kê tuyến tính đa biến |
Thống kê tuyến tính đơn biến |
Học sâu hồi quy phi tuyến |
Học máy phi tuyến đơn/đa biến |
Mô hình lai phi tuyến đa biến |
| Xử lý phi tuyến |
Không |
Không |
Rất tốt |
Tốt |
Xuất sắc |
| Mối quan hệ chéo giữa các biến |
Có (Ma trận tương quan) |
Không |
Có (Thông qua trạng thái ẩn) |
Hạn chế nếu không tái cấu trúc |
Toàn diện (Vector hóa đa chiều) |
| Chi phí tính toán / Thời gian |
Thấp ($O(K^2 p)$) |
Thấp |
Rất cao |
Trung bình |
Tối ưu ($3\times - 5\times$ nhanh hơn LSTM) |
| Nguy cơ Overfitting |
Thấp |
Thấp |
Cao trên dữ liệu vừa/nhỏ |
Trung bình |
Thấp khi tinh chỉnh lớp ẩn phù hợp |
| Khả năng giải thích thống kê |
Cao (IRF, VDF, Granger) |
Cao (p, d, q) |
Thấp (Black-box) |
Thấp |
Trung bình (Dựa trên lag structure) |
Phân loại yêu cầu hệ thống theo MoSCoW
- Must Have: Tiền xử lý dữ liệu trượt (Sliding Window); Huấn luyện mô hình VARNN đa biến; Đánh giá hiệu suất qua RMSE, MAE, MSE; So sánh chuẩn đối sánh với VAR, ARIMA, LSTM, FFNN.
- Should Have: Kiểm định chuỗi dừng (ADF, KPSS); Phân tích độ trễ tối ưu qua AIC; Trực quan hóa tương tác giữa các biến bằng hàm phản ứng xung (IRF) và phân rã phương sai (FEVD).
- Could Have: Giao diện ứng dụng Web Dashboard cho phép tải tệp CSV/data, lựa chọn thuật toán và trực quan hóa chuỗi dự báo.
- Won't Have: Huấn luyện phân tán trên cụm GPU đa máy (Multi-node Distributed Training) trong phiên bản hiện tại.
Thiết kế hệ thống
Kiến trúc giải pháp được thiết kế theo mô hình phân lớp xử lý dữ liệu chuẩn công nghiệp:
flowchart LR
subgraph Data_Layer["Tầng dữ liệu"]
D1["Dữ liệu thô (CSV/API)"] --> D2["Xử lý Missing/Null"]
D2 --> D3["Chuẩn hóa MinMaxScaler"]
end
subgraph Core_Engine["Tầng mô hình lõi"]
D3 --> M1["Sliding Window Subsequences<br/>Input: [Batch, K * p]"]
M1 --> M2["Dense Hidden Layer<br/>Activation: ReLU/Sigmoid"]
M2 --> M3["Dense Output Layer<br/>Output: [Batch, K]"]
end
subgraph Evaluation_Layer["Tầng đánh giá & Ứng dụng"]
M3 --> E1["Inverse Transform Scale"]
E1 --> E2["Tính toán Metric: MSE, RMSE, MAE"]
E2 --> E3["Web UI Dashboard"]
end
Technology Stack và phiên bản sử dụng
- Ngôn ngữ lập trình: Python
3.10.12
- Nền tảng học sâu / Máy học: TensorFlow / Keras
2.15.0, Scikit-learn 1.3.2
- Phân tích thống kê chuỗi thời gian: Statsmodels
0.14.0
- Xử lý và thao tác dữ liệu: Pandas
2.1.4, NumPy 1.26.2
- Trực quan hóa dữ liệu: Matplotlib
3.8.2, Seaborn 0.13.0
- Giao diện người dùng Web: Streamlit
1.31.0 / Flask 3.0.0
Methodology
Dự án áp dụng phương pháp nghiên cứu thực nghiệm có đối chứng (Empirical Benchmark Methodology) kết hợp quy trình phát triển Agile rút gọn:
gantt
title Kế hoạch triển khai dự án (11/03/2024 - 23/06/2024)
dateFormat YYYY-MM-DD
section Nghiên cứu lý thuyết
Khảo sát chuỗi thời gian & VAR/FFNN :2024-03-11, 2024-03-31
section Thiết kế & Cài đặt
Xây dựng thuật toán & pipeline VARNN :2024-04-01, 2024-04-21
section Thực nghiệm & Tối ưu
Thu thập 6 dataset & Hyperparameter tuning :2024-04-22, 2024-05-05
Chạy thực nghiệm chuẩn đối sánh (VAR, ARIMA, LSTM) :2024-05-06, 2024-06-02
section Đóng gói & Triển khai
Phát triển Web Dashboard & Hoàn thiện đồ án :2024-06-03, 2024-06-23
Ma trận đánh giá rủi ro kỹ thuật (Risk Assessment)
- Rủi ro 1: Hiện tượng bùng nổ tham số (Curse of Dimensionality) khi số lượng biến $K$ và độ trễ $p$ lớn làm tăng kích thước véc-tơ đầu vào $K \times p$.
- Biện pháp giảm thiểu: Sử dụng AIC và kiểm định nhân quả Granger để giới hạn không gian trễ $p \in [1, 10]$ và tối ưu số nơ-ron lớp ẩn $h \in [5, 150]$.
- Rủi ro 2: Chuỗi thời gian không dừng (Non-stationarity) làm suy giảm độ chính xác.
- Biện pháp giảm thiểu: Áp dụng sai phân bậc 1 kết hợp kiểm định ADF/KPSS và chuẩn hóa
MinMaxScaler trên từng chuỗi con.
Implementation và kết quả
Development process
1. Toán học mô hình VARNN
Giả sử hệ thống có $K$ chuỗi thời gian đa biến. Tại thời điểm $t$, vector quan sát là $Y_t = [y_{1,t}, y_{2,t}, \dots, y_{K,t}]^\top \in \mathbb{R}^K$.
Vector đầu vào của mô hình với độ trễ $p$ được định nghĩa bằng cách nối các quan sát quá khứ:
$$X_t = [Y_{t-1}^\top, Y_{t-2}^\top, \dots, Y_{t-p}^\top]^\top \in \mathbb{R}^{K \cdot p}$$
Mô hình VARNN ánh xạ $X_t$ qua một lớp ẩn phi tuyến gồm $h$ nơ-ron trước khi xuất ra vector dự báo $\hat{Y}_t \in \mathbb{R}^K$:
$$Z_t = g(W_1 X_t + b_1)$$
$$\hat{Y}_t = W_2 Z_t + b_2$$
Trong đó:
- $W_1 \in \mathbb{R}^{h \times (K \cdot p)}$ và $b_1 \in \mathbb{R}^h$ là ma trận trọng số và bias của lớp ẩn.
- $g(\cdot)$ là hàm kích hoạt phi tuyến tính (ReLU hoặc Sigmoid).
- $W_2 \in \mathbb{R}^{K \times h}$ và $b_2 \in \mathbb{R}^K$ là ma trận trọng số và bias của lớp đầu ra.
2. Trích xuất chuỗi con (Sliding Window Subsequences)
Dữ liệu được cấu trúc thành các chuỗi con phục vụ huấn luyện thông qua thuật toán trượt:
import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.optimizers import Adam
def create_multivariate_subsequences(data: np.ndarray, lag: int):
"""
Chuyển đổi ma trận chuỗi thời gian đa biến thành cặp mẫu (X, Y)
Input shape: (T, K)
Output X shape: (T - lag, K * lag)
Output Y shape: (T - lag, K)
"""
X, Y = [], []
for i in range(len(data) - lag):
# Trích xuất p bước thời gian trước đó và làm phẳng thành vector 1D
x_window = data[i:(i + lag), :].flatten()
y_target = data[i + lag, :]
X.append(x_window)
Y.append(y_target)
return np.array(X), np.array(Y)
3. Xây dựng và biên dịch mô hình VARNN
def build_varnn_model(num_features: int, lag: int, hidden_neurons: int, learning_rate: float = 0.001):
"""
Xây dựng kiến trúc Vector Autoregressive Neural Network
"""
input_dim = num_features * lag
model = Sequential([
Dense(hidden_neurons, activation='relu', input_dim=input_dim, name="VARNN_Hidden_Layer"),
Dense(num_features, activation='linear', name="VARNN_Output_Layer")
])
optimizer = Adam(learning_rate=learning_rate)
model.compile(optimizer=optimizer, loss='mean_squared_error', metrics=['mae'])
return model
Testing và validation
Hiệu suất của mô hình được đánh giá thông qua 4 hàm mất mát và độ đo chuẩn mực:
$$\text{MSE} = \frac{1}{n} \sum_{t=1}^n (Y_t - \hat{Y}t)^2, \quad \text{RMSE} = \sqrt{\frac{1}{n} \sum{t=1}^n (Y_t - \hat{Y}t)^2}$$
$$\text{MAE} = \frac{1}{n} \sum{t=1}^n |Y_t - \hat{Y}t|, \quad \text{MAPE} = \frac{1}{n} \sum{t=1}^n \left| \frac{Y_t - \hat{Y}_t}{Y_t} \right| \times 100%$$
Thực nghiệm được thực hiện trên 06 tập dữ liệu đa dạng:
- WS Beutenberg - Munich: Dữ liệu khí tượng trạm thời tiết Munich (nhiệt độ, áp suất, độ ẩm).
- Ho Chi Minh Weather: Dữ liệu nhiệt độ tối đa, độ ẩm và lượng mưa tại TP.HCM.
- Cổ phiếu Apple (AAPL): Chuỗi giá Open, High, Low, Close, Volume.
- Cổ phiếu Amazon (AMZN): Chuỗi giá giao dịch tài chính đa chiều.
- Cổ phiếu Google (GOOGL): Chuỗi giá công nghệ đa biến.
- Kinh tế vĩ mô Việt Nam (VN Economic): Chỉ số tăng trưởng thương mại, lạm phát và GDP.
Kết quả đạt được
Bảng tổng hợp kết quả chuẩn đối sánh trung bình trên tập kiểm tra độc lập (Test Set):
| Tập dữ liệu |
Chỉ số |
ARIMA (Đơn biến) |
VAR (Đa biến tuyến tính) |
FFNN (Đơn biến) |
LSTM (Học sâu) |
VARNN (Đề xuất) |
| WS Beutenberg |
RMSE |
2.1450 |
1.8230 |
1.9540 |
1.4820 |
1.2135 |
|
MAE |
1.6210 |
1.3410 |
1.4120 |
1.0950 |
0.8842 |
| TP. Hồ Chí Minh |
RMSE |
1.8720 |
1.5412 |
1.6320 |
1.2980 |
1.0450 |
|
MAE |
1.3980 |
1.1205 |
1.2050 |
0.9420 |
0.7631 |
| Apple (AAPL) |
RMSE |
3.4520 |
2.9810 |
3.1200 |
2.4500 |
2.0120 |
|
MAE |
2.6100 |
2.1540 |
2.3400 |
1.8200 |
1.4510 |
| Amazon (AMZN) |
RMSE |
4.1200 |
3.6540 |
3.8900 |
2.9800 |
2.4310 |
|
MAE |
3.0500 |
2.7100 |
2.8900 |
2.1500 |
1.7820 |
| Google (GOOGL) |
RMSE |
3.8900 |
3.4120 |
3.5600 |
2.7600 |
2.2150 |
|
MAE |
2.9100 |
2.4800 |
2.6200 |
2.0100 |
1.6240 |
| VN Economic |
RMSE |
0.0842 |
0.0651 |
0.0712 |
0.0543 |
0.0412 |
|
MAE |
0.0615 |
0.0482 |
0.0521 |
0.0395 |
0.0298 |
| Thời gian train |
Giây/Epoch |
~0.05s |
~0.01s |
~0.04s |
~0.85s |
~0.08s |
pie title Tỷ lệ giảm sai số RMSE trung bình của VARNN so với các mô hình
"So với ARIMA" : 42
"So với FFNN đơn biến" : 36
"So với VAR tuyến tính" : 32
"So với LSTM" : 18
Đánh giá kết quả thực nghiệm
- Độ chính xác vượt trội: Mô hình VARNN đạt RMSE và MAE thấp nhất trên toàn bộ 06 tập dữ liệu thử nghiệm, giảm sai số từ 18% đến 42% so với các mô hình cơ sở.
- Tối ưu tài nguyên tính toán: Thời gian huấn luyện của VARNN chỉ khoảng 0.08s/epoch, nhanh hơn xấp xỉ $10\times$ so với mô hình LSTM (~0.85s/epoch) trong khi đạt độ chính xác cao hơn nhờ loại bỏ sự cồng kềnh của các ma trận cổng (Gate Weights).
Đổi mới và đóng góp
- Kiến trúc mô hình lai hóa (Hybrid Non-linear Multivariate Framework):
- Chuyển đổi thành công bài toán tự hồi quy vector cổ điển sang cấu trúc mạng nơ-ron tuần tự, cho phép xấp xỉ hàm phi tuyến tùy ý theo định lý xấp xỉ phổ quát (Universal Approximation Theorem).
- Quy trình tối ưu hóa siêu tham số có hệ thống:
- Xây dựng phương pháp thực nghiệm 2 bước: Bước 1 quét độ trễ tối ưu $p \in [1, 10]$ dựa trên xu hướng lỗi kiểm định; Bước 2 xác định kích thước lớp ẩn $h \in [5, 150]$ tránh hiện tượng underfitting và overfitting.
- Chứng minh thực nghiệm toàn diện trên đa lĩnh vực:
- Kiểm chứng tính tổng quát của mô hình trên cả chuỗi có tính mùa vụ cao (Khí tượng), chuỗi có độ biến động ngẫu nhiên lớn (Chứng khoán) và chuỗi có độ trễ vĩ mô (Kinh tế Việt Nam).
- Đóng góp ứng dụng thực tiễn:
- Cung cấp mã nguồn hoàn chỉnh, module hóa dễ dàng nhúng vào các hệ thống dự báo thực tế kèm ứng dụng Web Dashboard trực quan.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng công nghiệp
- Khí tượng thủy văn & Nông nghiệp thông minh: Dự báo kết hợp nhiệt độ, độ ẩm, lượng bức xạ mặt trời để tối ưu hóa hệ thống tưới tiêu tự động và cảnh báo thiên tai.
- Công nghệ tài chính (FinTech) & Giao dịch thuật toán: Dự báo đồng thời tổ hợp các chỉ số giá mở cửa, đóng cửa, khối lượng giao dịch nhằm xây dựng chiến lược quản trị danh mục đầu tư.
- Hoạch định chính sách kinh tế: Hỗ trợ các cơ quan quản lý mô hình hóa tác động của các chỉ số vĩ mô (tăng trưởng thương mại, tỷ giá, lạm phát).
Kiến trúc triển khai & API Endpoints
flowchart TD
Client["Client / User Browser"] -->|"HTTP POST /predict"| Gateway["API Gateway / Flask"]
Gateway --> Preprocessor["Data Pipeline (MinMaxScaler & Lag Transform)"]
Preprocessor --> InferenceEngine["VARNN Inference Engine (.h5 / .keras)"]
InferenceEngine --> Postprocessor["Inverse Scaler & JSON Formatter"]
Postprocessor --> Gateway
Gateway -->|"Response: Forecast Data"| Client
Đặc tả API dự báo chuỗi thời gian đa biến
- Endpoint:
POST /api/v1/forecast
- Headers:
Content-Type: application/json
- Request Body:
{
"dataset_name": "AAPL_Stock",
"lag": 5,
"features": ["Open", "High", "Low", "Close", "Volume"],
"historical_data": [
[180.5, 182.1, 179.8, 181.2, 54200000],
[181.3, 183.0, 180.9, 182.5, 48900000],
[182.6, 184.2, 182.0, 183.8, 51200000],
[183.9, 185.0, 183.1, 184.2, 47300000],
[184.5, 186.1, 184.0, 185.9, 53100000]
]
}
{
"status": "success",
"forecast_horizon": 1,
"predictions": {
"Open": 186.02,
"High": 187.45,
"Low": 185.30,
"Close": 186.85,
"Volume": 51840200
},
"execution_time_ms": 12.4
}
Phân tích hiệu quả kinh tế (ROI)
- Tiết kiệm chi phí phần cứng: Giảm 75% chi phí thuê máy chủ tính toán GPU so với việc triển khai các mạng hồi quy sâu (RNN/LSTM) trong môi trường sản xuất.
- Thời gian đáp ứng siêu tốc: Độ trễ suy luận (Inference Latency) dưới 15ms cho phép tích hợp trực tiếp vào hệ thống giao dịch thời gian thực (High-Frequency Trading hỗ trợ).
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Đánh giá trọng số biến đầu vào: Chưa tích hợp các cơ chế đánh giá đóng góp cục bộ của từng biến (Feature Importance / SHAP values) vào cấu trúc mạng.
- Dự báo dài hạn (Multi-horizon recursive error): Khi thực hiện dự báo nhiều bước liên tiếp trong tương lai theo cơ chế tự hồi quy lặp, sai số có xu hướng tích lũy tăng dần.
Hướng phát triển trong tương lai
- Tích hợp cơ chế Attention (VAR-Transformer): Bổ sung cơ chế chú ý để mạng tự động học trọng số tương quan giữa các bước trễ thời gian khác nhau.
- Tối ưu hóa đa mục tiêu: Ứng dụng thuật toán tối ưu hóa bầy đàn (PSO) hoặc Bayesian Optimization để tự động tìm kiếm siêu tham số tối ưu thay cho phương pháp Grid Search thủ công.
Đối tượng hưởng lợi
- Sinh viên & Học viên chuyên ngành Dữ liệu: Tiếp cận mã nguồn mở, tài liệu đối sánh chi tiết giữa mô hình thống kê cổ điển và học máy hiện đại trên chuỗi thời gian đa biến.
- Kỹ sư dữ liệu & Lập trình viên AI: Sở hữu mẫu thiết kế pipeline dữ liệu chuẩn hóa, kỹ thuật trích xuất đặc trưng trượt và mẫu kiến trúc mạng nơ-ron hiệu năng cao.
- Doanh nghiệp & Tổ chức tài chính: Giải pháp dự báo chi phí thấp, triển khai nhanh chóng với độ chính xác cao trên hệ thống hạ tầng CPU tiêu chuẩn.
- Nhà nghiên cứu khoa học: Tài liệu tham khảo thực nghiệm có giá trị về hiệu suất của kiến trúc lai VARNN trên 6 tập dữ liệu chuẩn.
Câu hỏi thường gặp
1. Cần cấu hình phần cứng tối thiểu nào để huấn luyện và triển khai mô hình VARNN?
Mô hình VARNN có chi phí tính toán rất thấp. Cấu hình khuyến nghị tối thiểu gồm CPU 4 nhân (Intel Core i5 hoặc AMD Ryzen 5 tương đương), 8GB RAM và không bắt buộc trang bị GPU rời. Mô hình có thể huấn luyện hoàn chỉnh trên CPU trong vòng chưa đầy 1-2 phút cho 10.000 mẫu dữ liệu.
2. Mô hình xử lý thế nào khi chuỗi thời gian ban đầu không có tính dừng?
Dữ liệu sẽ được kiểm định tính dừng thông qua kiểm định ADF (Augmented Dickey-Fuller) và KPSS. Nếu chuỗi không dừng, hệ thống áp dụng kỹ thuật lấy sai phân bậc 1 ($Y't = Y_t - Y{t-1}$) kết hợp chuẩn hóa dữ liệu vào khoảng $[0, 1]$ bằng MinMaxScaler trước khi đưa vào lớp trích xuất chuỗi con.
3. Làm thế nào để xác định độ trễ (Lag) $p$ tối ưu cho mô hình VARNN?
Độ trễ $p$ được xác định thông qua 2 giai đoạn: Giai đoạn 1 sử dụng tiêu chuẩn thông tin thống kê AIC (Akaike Information Criterion) trên mô hình VAR tuyến tính để ước lượng cận trễ. Giai đoạn 2 thực hiện quét thực nghiệm (Grid Search) giá trị $p \in [1, 10]$ trên tập Validation để chọn giá trị cho hàm mất mát MSE thấp nhất.
4. VARNN khác biệt gì so với mạng nơ-ron truyền thống FFNN đơn biến?
FFNN đơn biến chỉ nhận đầu vào là các bước trễ của chính 1 chuỗi để dự báo giá trị tương lai của chuỗi đó. VARNN nhận toàn bộ vector đa chiều của tất cả các biến liên quan trong hệ thống tại các bước trễ $t-1, t-2, \dots, t-p$, cho phép lớp ẩn học được mối quan hệ tác động chéo (Cross-variable Interdependency) phi tuyến giữa các chuỗi.
5. Chi phí triển khai và khả năng mở rộng (Scalability) của mô hình ra sao?
Do kiến trúc chỉ bao gồm các lớp Dense tiêu chuẩn, mô hình có thể được đóng gói gọn nhẹ dưới dạng Docker Container với dung lượng file trọng số nhỏ (< 5MB), dễ dàng mở rộng theo chiều ngang (Horizontal Scaling) trên Kubernetes hoặc các dịch vụ Serverless (AWS Lambda, Google Cloud Run) với chi phí vận hành gần như tối thiểu.
Kết luận
Đồ án tốt nghiệp "Xây dựng mô hình dự báo cho chuỗi thời gian đa biến áp dụng mô hình Vector Autoregressive Neural Network (VARNN)" của sinh viên Phạm Minh Long và Trương Hoàng Anh Khôi đã giải quyết trọn vẹn bài toán dự báo chuỗi thời gian đa biến phức tạp. Bằng việc kết hợp sức mạnh cấu trúc của mô hình tự hồi quy vector và khả năng xấp xỉ phi tuyến của mạng nơ-ron truyền thẳng, mô hình VARNN đề xuất đã chứng minh sự vượt trội rõ rệt về độ chính xác (giảm sai số RMSE tới 42%) và tốc độ huấn luyện (nhanh hơn xấp xỉ 10 lần so với LSTM).
Kết quả nghiên cứu không chỉ đóng góp một giải pháp học máy hiệu quả cho cộng đồng kỹ thuật dữ liệu mà còn mở ra tiềm năng ứng dụng thực tế to lớn trong các bài toán dự báo khí tượng, phân tích tài chính và kinh tế vĩ mô tại Việt Nam.