Bối cảnh và vấn đề nghiên cứu

Dự báo chuỗi thời gian đóng vai trò then chốt trong nhiều lĩnh vực như kinh tế, tài chính, khí tượng thủy văn và quản lý sản xuất, nhằm hỗ trợ việc ra quyết định, giảm thiểu rủi ro và tối ưu hóa quy trình vận hành. Tuy nhiên, các chuỗi thời gian trong thực tế thường mang tính chất phức tạp, chứa đựng đồng thời cả các thành phần biến đổi tuyến tính (xu hướng đều đặn, tính chu kỳ) và các thành phần phi tuyến tính (biến động ngẫu nhiên, sự kiện bất thường).

Các mô hình thống kê truyền thống như ARIMA (AutoRegressive Integrated Moving Average) có ưu thế vượt trội trong việc phân tích cấu trúc chuỗi thời gian và nắm bắt các thành phần tuyến tính, nhưng lại bị hạn chế đối với dữ liệu có tính chất phi tuyến phức tạp. Ngược lại, mạng đối nghịch tạo sinh GAN (Generative Adversarial Networks) là mô hình học sâu có khả năng tạo ra dữ liệu mới từ phân phối của dữ liệu huấn luyện, mô phỏng các mối quan hệ phi tuyến phức tạp nhưng không được thiết kế chuyên biệt cho cấu trúc phụ thuộc thời gian. Xuất phát từ thực tế đó, đề tài "Dự báo dữ liệu chuỗi thời gian sử dụng mô hình lai ghép GAN và ARIMA" được thực hiện nhằm khai thác đồng thời thế mạnh của cả hai phương pháp, nâng cao độ chính xác và giảm thiểu sai số dự báo.

Khóa luận xác định các mục tiêu và nhiệm vụ nghiên cứu cụ thể như sau:

  • Mục tiêu nghiên cứu: Phát triển mô hình lai ghép GAN và ARIMA bằng ba phương pháp: tuần tự cộng, tuần tự nhân và song song, nhằm đưa ra những dự đoán chính xác, khám phá các mẫu tiềm ẩn trong chuỗi thời gian, hỗ trợ ra quyết định và tối ưu hóa quy trình.
  • Nhiệm vụ nghiên cứu:
    1. Nghiên cứu cơ sở lý thuyết về mô hình ARIMA và mô hình GAN trong bài toán dự báo chuỗi thời gian.
    2. Nghiên cứu các phương pháp lựa chọn bộ tham số $(p, d, q)$ tối ưu cho mô hình ARIMA.
    3. Nghiên cứu và xây dựng các phương pháp lai ghép GAN và ARIMA theo phương pháp tuần tự (mô hình cộng, mô hình nhân) và mô hình song song.
    4. Cài đặt chương trình thử nghiệm (demo) hoàn chỉnh cho các mô hình.
    5. Thực nghiệm, đánh giá và so sánh hiệu năng của các mô hình lai ghép GAN - ARIMA với mô hình GAN và ARIMA độc lập dựa trên hai tiêu chí: độ chính xác dự báo và thời gian thực thi.
  • Đối tượng nghiên cứu: Các mô hình kết hợp giữa mạng GAN và mô hình thống kê ARIMA áp dụng trên các tập dữ liệu chuỗi thời gian đa miền.
  • Phạm vi và giới hạn đề tài: Đề tài được thực hiện trong khuôn khổ đồ án tốt nghiệp kỹ sư ngành Kỹ thuật Dữ liệu, Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (thời gian thực hiện từ tháng 01/2024 đến tháng 06/2024, mã số tài liệu SKL013439). Nghiên cứu giới hạn ở việc khảo sát lý thuyết, thiết kế 3 cấu trúc lai ghép, cài đặt thực nghiệm trên 4 bộ dữ liệu thực tế và xây dựng giao diện tương tác.

Cơ sở lý thuyết và phương pháp nghiên cứu

Nghiên cứu được xây dựng trên nền tảng lý thuyết phân tích chuỗi thời gian thống kê kết hợp với kỹ thuật học sâu tạo sinh:

  • Lý thuyết chuỗi thời gian và tính dừng: Chuỗi thời gian được phân tích qua 4 thành phần cơ bản: xu hướng (trend), tính thời vụ (seasonality), tính chu kỳ (cyclical) và tính bất thường (irregularity). Khái niệm chuỗi dừng (stationary series) — nơi kỳ vọng, phương sai và hiệp phương sai không thay đổi theo thời gian — được sử dụng làm điều kiện tiên quyết cho mô hình hóa thống kê. Các dạng chuỗi dừng được khảo sát bao gồm: chuỗi dừng nghiêm ngặt (Strict Stationary), chuỗi dừng mùa vụ (Seasonal Stationary) và chuỗi dừng xu hướng (Trend Stationary). Phương pháp kiểm tra tính dừng gồm trực quan hóa đồ thị, kiểm định Augmented Dickey-Fuller (ADF Test), kiểm định Kwiatkowski-Phillips-Schmidt-Shin (KPSS Test) và kỹ thuật lấy sai phân bậc 1 ($y_t = x_t - x_{t-1}$) hoặc sai phân bậc 2 ($z_t = y_t - y_{t-1}$).
  • Mô hình thống kê ARIMA: Kết hợp ba thành phần: Tự hồi quy $\text{AR}(p)$, Tích hợp $\text{I}(d)$ và Trung bình trượt $\text{MA}(q)$. Biểu thức toán học đầy đủ của mô hình được biểu diễn: $$X(t) = c + \sum_{i=1}^p \beta_i X_{t-i} + \sum_{i=1}^q \phi_i \varepsilon_{t-i} + \varepsilon_t$$ Trong đó, tham số $p$ được xác định thông qua hàm tự tương quan từng phần (PACF), tham số $q$ và bậc sai phân $d$ được xác định thông qua hàm tự tương quan (ACF).
  • Mạng đối nghịch tạo sinh (GAN): Gồm bộ tạo (Generator) và bộ phân biệt (Discriminator) tham gia vào quá trình học đối kháng dạng min-max. Trong đề tài, các kiến trúc mạng nơ-ron hồi quy như LSTM, GRU, RNN và mạng truyền thẳng FFNN được nghiên cứu để tích hợp vào Generator và Discriminator của GAN nhằm xử lý dữ liệu dạng chuỗi.
  • Phương pháp lai ghép (Ensemble Hybrid Methods): Nghiên cứu thiết kế 3 kiến trúc lai ghép toán học:
Mô hình lai ghép Giả định cấu trúc chuỗi Cơ chế xử lý phi tuyến của GAN Công thức dự báo kết hợp cuối cùng
Tuần tự Cộng (Add Model) $Y_t = L_t + N_t$ GAN học phần dư sai số cộng: $N_t = Y_t - \hat{L}_t$ $\hat{Y}_t = \hat{L}_t + \hat{N}_t$
Tuần tự Nhân (Multiply Model) $Y_t = L_t \times N_t$ GAN học phần dư sai số nhân: $N_t = \frac{Y_t}{\hat{L}_t}$ $\hat{Y}_t = \hat{L}_t \times \hat{N}_t$
Mô hình Song song (Parallel Model) Kết hợp độc lập tuyến tính GAN dự báo trực tiếp trên dữ liệu chuỗi thời gian $Y_{Hybrid} = \omega Y_{ARIMA} + (1 - \omega) Y_{GAN}$

Trọng số $\omega$ trong mô hình song song được xác định tối ưu theo phương pháp bình phương tối thiểu: $$\omega = \frac{\sum_{i=1}^n (Y_{ARIMA,i} - Y_{GAN,i})(Y_i - Y_{GAN,i})}{\sum_{i=1}^n (Y_{ARIMA,i} - Y_{GAN,i})^2}$$

  • Tổng quan các công trình tiền nhiệm: Tác giả khảo sát các nghiên cứu liên quan bao gồm: mô hình lai ARIMA-ANN trên nền phân rã DWT của Khandelwal; thuật toán kết hợp ARIMA-ANFIS dự báo tiêu thụ năng lượng của Sasan Barak; mô hình lai ARIMA-LSSVM tối ưu bầy đàn (PSO) dự báo giá carbon của Bangzhu Zhu và Yi-Ming Wei; mô hình ARIMA-ANN dự báo giá dầu thô của Hleil Alrweili và Haitham Fawzy; và mô hình lai ARIMA-ANN dự báo tốc độ gió tại Mexico của Erasmo Cadenas và Wilfrido Rivera.
  • Nguồn dữ liệu: Dữ liệu thực nghiệm được thu thập từ các nguồn công khai, đại diện cho 4 miền dữ liệu khác nhau (khí tượng, tài chính, năng lượng và công nghiệp sản xuất).

Thiết kế và triển khai hệ thống thực nghiệm

Hệ thống thực nghiệm được thiết kế và triển khai bài bản từ khâu tiền xử lý dữ liệu, xây dựng module mạng nơ-ron, tối ưu tham số đến giao diện kiểm thử trực quan:

  • Môi trường triển khai:

    • Hạ tầng phần cứng: Máy ảo của Khoa Công nghệ Thông tin - Trường Đại học Sư phạm Kỹ thuật TP.HCM, trang bị vi xử lý Intel Xeon Gold 6152.
    • Hạ tầng phần mềm: Ngôn ngữ lập trình Python, các thư viện tính toán và học máy chuyên sâu: NumPy, Pandas, Scikit-learn, TensorFlow, Keras, Statsmodels, Pmdarima; môi trường phát triển Visual Studio Code và framework giao diện Streamlit.
  • Pipeline xử lý dữ liệu:

    • preprocess_data: Kiểm tra kiểu dữ liệu chuỗi, chuyển đổi sang chuẩn datetime, gán làm chỉ mục (set_index), chuẩn hóa tần suất theo ngày (asfreq('D')), xử lý giá trị thiếu bằng phương pháp điền tiến ffill() và sắp xếp lại chuỗi theo thứ tự thời gian sort_index().
    • split_train_test: Chia tách tập dữ liệu với tỷ lệ chuẩn $80%$ dành cho tập huấn luyện (train) và $20%$ dành cho tập kiểm tra (test).
    • create_sequences: Trượt cửa sổ dữ liệu với độ dài chuỗi cố định sequence_length để tạo ma trận đầu vào $X$ và nhãn mục tiêu $Y$.
    • normalize_data và denormalize_data: Sử dụng MinMaxScaler từ Scikit-learn để chuẩn hóa toàn bộ dữ liệu về khoảng $[0, 1]$ phục vụ huấn luyện mạng nơ-ron và khôi phục giá trị thực tế sau dự báo.
  • Kiến trúc các module học máy:

    • Module GAN: Hàm make_generator_model hỗ trợ khởi tạo linh hoạt các cấu trúc mạng tuần tự (LSTM, GRU, RNN, FFNN) kết hợp các lớp Dense có kích thước giảm dần (128, 64, 32, 8, output_dim) với hàm kích hoạt tanh ở lớp cuối. Hàm make_discriminator_model tiếp nhận đầu vào để phân biệt chuỗi thực/giả. Quá trình tối ưu sử dụng hàm mất mát nhị phân cross_entropy, cập nhật trọng số thông qua tf.GradientTape trong hàm train_step. Thuật toán grid_search_gan được triển khai để tìm kiếm lưới bộ tham số tối ưu (learning rate, batch size, epochs).
    • Module ARIMA: Hàm ArimaModel sử dụng thuật toán auto_arima từ thư viện pmdarima để tự động dò tìm bậc $(p, d, q)$ tối ưu. Hàm TestArimaModel sử dụng thư viện statsmodels, thực hiện dự báo cuốn chiếu và liên tục cập nhật dữ liệu huấn luyện sau mỗi bước thử nghiệm.
    • Module Lai ghép & Kiểm thử: Triển khai các hàm huấn luyện chuyên biệt TrainAddModel, TrainMultiModel, TrainParallelModel và hàm kiểm thử hợp nhất testhybridmodel tiếp nhận 8 tham số đầu vào để xuất kết quả dự báo cuối cùng predictFinal.

Nội dung chính theo từng chương

Chương 1: Các kiến thức cơ bản

Chương 1 cung cấp cơ sở lý luận tổng quan về bài toán phân tích và dự báo dữ liệu chuỗi thời gian. Tác giả làm rõ 4 thành phần động thái của chuỗi (xu hướng, tính thời vụ, chu kỳ, tính bất thường) và trình bày bản chất toán học của tính dừng thông qua kỳ vọng, phương sai và hiệp phương sai. Các công cụ kiểm định thống kê ADF và KPSS được hệ thống hóa để phục vụ tiền xử lý chuỗi phi dừng thành chuỗi dừng bằng sai phân. Chương này cũng phân tích khái niệm mô hình lai ghép (Ensemble Model) trong máy học, đồng thời tổng hợp 5 công trình nghiên cứu quốc tế tiêu biểu kết hợp mô hình thống kê và mạng nơ-ron nhân tạo trong dự báo tốc độ gió, giá dầu, giá carbon và năng lượng.

Chương 2: Mô hình lai ghép GAN và ARIMA

Chương 2 tập trung phân tích chi tiết cấu tạo toán học của mô hình thống kê ARIMA thông qua từng thành phần $\text{AR}(p)$, $\text{I}(d)$, $\text{MA}(q)$ và kỹ thuật xác định bậc trễ bằng biểu đồ ACF/PACF. Tiếp đó, nguyên lý hoạt động đối kháng giữa mạng tạo sinh (Generator) và mạng phân biệt (Discriminator) trong GAN được trình bày cụ thể. Nội dung trọng tâm của chương là thiết kế chi tiết 3 cơ chế lai ghép: mô hình cộng tuần tự ($Y_t = L_t + N_t$), mô hình nhân tuần tự ($Y_t = L_t \times N_t$) và mô hình song song kết hợp trọng số tối ưu sai số $\omega$. Cơ chế trích xuất sai số từ ARIMA để GAN học cấu trúc phi tuyến được mô tả chi tiết bằng các sơ đồ nguyên lý hoạt động.

Chương 3: Cài đặt mô hình

Chương 3 trình bày toàn bộ quá trình lập trình và hiện thực hóa các thuật toán đã thiết kế. Các thuật toán tiền xử lý dữ liệu được module hóa thành các hàm cụ thể: xử lý chuỗi thời gian preprocess_data, phân chia tập mẫu split_train_test, tạo cửa sổ trượt create_sequences, chuẩn hóa và hoàn nguyên dữ liệu normalize_data/denormalize_data. Trong module GAN, tác giả xây dựng chi tiết mã nguồn khởi tạo Generator (make_generator_model), Discriminator (make_discriminator_model), các hàm tính toán hàm mất mát Cross-Entropy (generator_loss, discriminator_loss), quy trình lan truyền ngược bằng Gradient Tape (train_step), vòng lặp huấn luyện lưu mô hình tối ưu (train) và thuật toán tìm kiếm lưới siêu tham số (grid_search_gan). Module ARIMA và các kiến trúc lai ghép được đóng gói thành các hàm TrainAddModel, TrainMultiModel, TrainParallelModel cùng hàm đánh giá tích hợp testhybridmodel.

Chương 4: Thực nghiệm và đánh giá kết quả

Chương 4 thiết lập môi trường thực nghiệm hoàn chỉnh trên máy ảo trang bị CPU Intel Xeon Gold 6152 và hệ sinh thái thư viện Python. Tác giả tiến hành thực nghiệm trên 4 bộ dữ liệu thực tế có đặc tính đa dạng:

  1. Dữ liệu thời tiết Việt Nam (2009–2021): Quy mô $181.961$ dòng và 10 thuộc tính (province, max, min, wind, wind_d, rain, humnidi, cloud, pressure, date).
  2. Dữ liệu giá vàng (2013–2023): Quy mô $2.539$ dòng giao dịch và 6 thuộc tính (Date, Close/Last, Volume, Open, High, Low).
  3. Dữ liệu dầu thô thế giới (2007–2023): Quy mô $4.242$ dòng giao dịch và 7 thuộc tính (Date, Open, High, Low, Close, Volume, Change %).
  4. Dữ liệu sản xuất bia: Bộ dữ liệu đo lường sản lượng phục vụ kiểm thử mô hình.

Chương này thiết kế các kịch bản thực nghiệm toàn diện so sánh mô hình GAN đơn lẻ, mô hình lai ghép cộng, mô hình lai ghép nhân và mô hình lai ghép song song trên từng bộ dữ liệu nhằm đánh giá độ chính xác dự báo và thời gian thực thi.


Kết quả và đóng góp

  • Kết quả thực nghiệm chính:
    • Hoàn thiện việc lập trình, đóng gói và thực nghiệm thành công 3 mô hình lai ghép GAN - ARIMA (mô hình cộng, mô hình nhân, mô hình song song) trên 4 tập dữ liệu chuỗi thời gian thực tế với quy mô từ $2.539$ đến $181.961$ mẫu.
    • Xây dựng thành công bộ công cụ tiền xử lý tự động cho dữ liệu chuỗi thời gian, hỗ trợ làm sạch dữ liệu, xử lý tần suất ngày, điền khuyết bằng ffill và chuẩn hóa tỉ lệ bằng MinMaxScaler.
    • Thiết kế kiến trúc Generator linh hoạt, cho phép tích hợp và so sánh 4 dạng lớp nơ-ron hồi quy/truyền thẳng (LSTM, GRU, RNN, FFNN) kết hợp chuỗi lớp Dense đa tầng (128-64-32-8-output) phục vụ bài toán dự báo chuỗi.
  • Giải pháp và ứng dụng đề xuất:
    • Tích hợp thành công thuật toán tự động dò tìm tham số ARIMA (auto_arima) kết hợp tìm kiếm lưới Grid Search cho GAN, tự động hóa quy trình huấn luyện mô hình lai ghép.
    • Xây dựng ứng dụng giao diện trực quan bằng framework Streamlit, cho phép người dùng cấu hình tham số, chạy mô hình và trực quan hóa kết quả dự báo một cách tiện lợi.
  • Đóng góp của đề tài:
    • Hệ thống hóa cơ sở lý thuyết và phương pháp toán học kết hợp giữa mô hình thống kê cổ điển ARIMA và mạng đối nghịch tạo sinh GAN.
    • Chứng minh tính khả thi của việc sử dụng mạng GAN để mô hình hóa thành phần sai số phi tuyến từ ARIMA, mở ra hướng tiếp cận kết hợp mới trong lĩnh vực kỹ thuật dữ liệu chuỗi thời gian.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế của nghiên cứu:
    • Nghiên cứu tập trung giải quyết bài toán trong phạm vi dữ liệu chuỗi thời gian một biến hoặc chuỗi đơn kênh theo các tập dữ liệu thực nghiệm đã lựa chọn.
    • Quá trình tìm kiếm lưới (Grid Search) cho GAN và việc tối ưu tham số tự động cho ARIMA đòi hỏi chi phí tính toán lớn và thời gian huấn luyện đáng kể khi quy mô dữ liệu mở rộng.
  • Hướng nghiên cứu tiếp theo:
    • Tiếp tục tối ưu hóa thuật toán lựa chọn trọng số động trong mô hình lai ghép song song để nâng cao khả năng thích ứng với các biến động đột ngột của thị trường.
    • Mở rộng thử nghiệm trên các bộ dữ liệu chuỗi thời gian đa biến (Multivariate Time Series) có độ phức tạp cao hơn.
    • Nghiên cứu áp dụng thêm các biến thể cấu trúc học sâu tiên tiến khác cho bộ tạo sinh và bộ phân biệt trong mạng GAN.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo hữu ích cho:

  • Sinh viên và học viên chuyên ngành Kỹ thuật Dữ liệu, Khoa học Dữ liệu, Công nghệ Thông tin: Cung cấp tài liệu tham khảo hoàn chỉnh về quy trình xây dựng mô hình học máy kết hợp (Hybrid/Ensemble Model) từ lý thuyết toán học đến cài đặt thực tế.
  • Các nhà nghiên cứu về chuỗi thời gian: Cung cấp phương pháp luận chi tiết trong việc phân tách thành phần tuyến tính/phi tuyến và kỹ thuật ứng dụng mạng GAN xử lý chuỗi thời gian thay thế cho các mạng nơ-ron truyền thống.
  • Các phần đáng tham khảo: Mã nguồn và thuật toán chi tiết tại Chương 3 (pipeline tiền xử lý, cấu trúc Generator đa tầng, hàm mất mát tùy biến và cơ chế kiểm thử cuốn chiếu TestArimaModel, testhybridmodel).

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

1. Mục tiêu cốt lõi của việc kết hợp mô hình ARIMA và mạng GAN trong khóa luận là gì?
Mục tiêu cốt lõi là tận dụng thế mạnh của ARIMA trong việc nắm bắt xu hướng tuyến tính và cấu trúc chuỗi thời gian, đồng thời sử dụng khả năng học phân phối dữ liệu phức tạp của mạng GAN để mô hình hóa và dự báo các thành phần sai số phi tuyến, từ đó nâng cao độ chính xác dự báo tổng thể.

2. Ba cơ chế lai ghép GAN và ARIMA được nghiên cứu và cài đặt trong đề tài hoạt động như thế nào?
Ba cơ chế gồm: (1) Mô hình cộng tuần tự ($Y_t = L_t + N_t$): ARIMA dự báo phần tuyến tính $L_t$, GAN dự báo phần dư hiệu số $N_t = Y_t - \hat{L}t$; (2) Mô hình nhân tuần tự ($Y_t = L_t \times N_t$): ARIMA dự báo $L_t$, GAN dự báo phần dư thương số $N_t = Y_t / \hat{L}t$; (3) Mô hình song song: ARIMA và GAN dự báo độc lập, kết quả được tổng hợp theo trọng số tối ưu $\omega$: $Y{Hybrid} = \omega Y{ARIMA} + (1 - \omega) Y_{GAN}$.

3. Hàm khởi tạo bộ tạo sinh (make_generator_model) trong đề tài hỗ trợ các kiến trúc mạng nào?
Hàm make_generator_model được thiết kế linh hoạt hỗ trợ 4 loại kiến trúc mạng nơ-ron gồm: LSTM, GRU, RNN và FFNN, sau đó kết nối tiếp nối với chuỗi các lớp Dense có số đơn vị lần lượt là 128, 64, 32, 8 và output_dim với hàm kích hoạt cuối cùng là tanh.

4. Bốn bộ dữ liệu được nhóm tác giả sử dụng trong chương thực nghiệm gồm những dữ liệu nào?
Bốn bộ dữ liệu thực nghiệm gồm: (1) Dữ liệu thời tiết Việt Nam 2009–2021 ($181.961$ dòng, 10 thuộc tính); (2) Dữ liệu giá vàng 2013–2023 ($2.539$ dòng, 6 thuộc tính); (3) Dữ liệu biến động giá dầu thô thế giới 2007–2023 ($4.242$ dòng, 7 thuộc tính); và (4) Dữ liệu sản lượng sản xuất bia.

5. Hệ thống thực nghiệm được triển khai trên môi trường phần cứng và phần mềm nào?
Thực nghiệm được thực hiện trên máy ảo của Khoa CNTT - Trường ĐH Sư phạm Kỹ thuật TP.HCM với CPU Intel Xeon Gold 6152. Môi trường phần mềm gồm Python, các thư viện NumPy, Pandas, Scikit-learn, TensorFlow, Keras, Statsmodels, Pmdarima, IDE Visual Studio Code và giao diện tương tác Streamlit.


Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Thanh Tuấn và Phạm Trung Nghĩa (ngành Kỹ thuật Dữ liệu, Trường Đại học Sư phạm Kỹ thuật TP.HCM) đã nghiên cứu toàn diện việc kết hợp mô hình thống kê ARIMA và mạng học sâu GAN trong bài toán dự báo chuỗi thời gian. Đề tài đã hoàn thành việc xây dựng lý thuyết, thiết kế 3 cấu trúc lai ghép (cộng, nhân, song song) và triển khai cài đặt mã nguồn hoàn chỉnh với pipeline tiền xử lý và tối ưu hóa tham số tự động. Toàn bộ hệ thống đã được thử nghiệm trên 4 bộ dữ liệu thực tế thuộc các lĩnh vực khí tượng, tài chính, năng lượng và sản xuất công nghiệp, khẳng định tính đúng đắn và giá trị tham khảo học thuật cao của mô hình lai ghép trong kỹ thuật xử lý dữ liệu chuỗi thời gian.