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

Sự gia tăng nhanh chóng của nhu cầu đi lại tại các đô thị phát triển đặt ra thách thức lớn đối với công tác điều phối giao thông và quy hoạch đô thị. Mật độ phương tiện cao, cùng với các tác động bất lợi từ thời tiết, hoạt động sửa chữa công trình và những sự cố kỹ thuật phát sinh bất ngờ trên tuyến, thường xuyên gây ra tình trạng chậm trễ lịch trình di chuyển của các phương tiện công cộng. Thực trạng này khiến người tham gia giao thông gặp khó khăn trong việc chủ động quản lý thời gian và sắp xếp lộ trình cá nhân.

Nhằm giải quyết vấn đề cấp thiết trên, khóa luận "Xây dựng mô hình dự đoán thời gian đến cho các phương tiện giao thông công cộng" được thực hiện nhằm xây dựng giải pháp tính toán và ước lượng thời gian đến bến thực tế cho các phương tiện như xe buýt và tàu điện ngầm. Nghiên cứu thực hiện 5 nhiệm vụ cụ thể sau:

  1. Thu thập, khảo sát và tiền xử lý các tập dữ liệu vận hành từ phương tiện giao thông công cộng thực tế.
  2. Xây dựng đường ống (pipeline) thu thập và xử lý luồng dữ liệu thời gian thực (Event Stream Processing) dựa trên nền tảng Apache Kafka và Spark Streaming.
  3. Nghiên cứu lý thuyết, thiết kế và huấn luyện các thuật toán học máy (Machine Learning) truyền thống và mạng nơ-ron học sâu (Deep Learning), bao gồm mô hình kết hợp mạng nơ-ron đa tầng.
  4. Đánh giá, đối sánh hiệu năng dự đoán giữa các mô hình thông qua hệ thống chỉ số đo lường sai số chuẩn mực.
  5. Triển khai tích hợp mô hình vào hệ thống phần mềm hoàn chỉnh với giao diện ứng dụng web trực quan nhằm phục vụ người dùng cuối.

Đối tượng nghiên cứu của đề tài bao gồm: dữ liệu lịch trình di chuyển và báo cáo sự cố chậm trễ của phương tiện công cộng; các nền tảng xử lý dữ liệu luồng phân tán (Apache Kafka, Apache Spark Streaming); cùng hệ thống thuật toán hồi quy học máy (Ridge Regression, Decision Tree, Random Forest, Gradient-boosted Trees) và học sâu (CNN, LSTM, BiLSTM, GRU, BiGRU-BiLSTM-CNN). Phạm vi không gian nghiên cứu sử dụng dữ liệu từ Ủy ban Vận tải Toronto (TTC - Toronto Transit Commission) tại Toronto, Canada trong năm 2023, tập trung vào hai loại hình phương tiện vận tải chủ lực là xe buýt (Bus Dataset) và tàu điện ngầm (Subway Dataset).


Cơ sở lý thuyết và phương pháp

Khóa luận thiết lập nền tảng dựa trên các trụ cột công nghệ dữ liệu lớn (Big Data), kỹ thuật xử lý luồng sự kiện (Event Stream Processing), các giải thuật hồi quy học máy và kiến trúc mạng nơ-ron sâu:

  • Khung lý thuyết dữ liệu lớn và xử lý luồng: Đề tài ứng dụng đặc tính "3Vs" của Big Data (Volume, Velocity, Variety). Để tiếp nhận luồng dữ liệu liên tục không gián đoạn, hệ thống sử dụng kiến trúc phân tán của Apache Kafka với các thành phần cốt lõi: Producer (nạp thông điệp), Kafka Topic (lưu trữ theo chủ đề), Partition (phân vùng dữ liệu hỗ trợ mở rộng) và Consumer (đọc và phân phối dữ liệu). Tầng tính toán sử dụng Apache Spark (Spark Streaming) với cơ chế xử lý dữ liệu trong bộ nhớ (in-memory computing) và hỗ trợ phân tán trên cụm máy tính để xử lý luồng dữ liệu từ Kafka theo thời gian thực.
  • Mô hình học máy (Machine Learning):
    • Ridge Regression: Hồi quy tuyến tính có chính quy hóa $L_2$ nhằm xử lý hiện tượng đa cộng tuyến và ngăn ngừa hiện tượng quá khớp (overfitting), sử dụng ước lượng hệ số ma trận bằng phương pháp bình phương tối thiểu $\beta = (X^T X)^{-1} X^T y$.
    • Decision Tree Regressor: Thuật toán phân chia không gian dữ liệu đệ quy dựa trên tiêu chí tối thiểu hóa độ biến thiên tại các nút nhánh.
    • Random Forest Regressor: Phương pháp tổ hợp (ensemble learning) dựa trên cơ chế Bootstrap Aggregating (Bagging) và chọn mẫu đặc trưng ngẫu nhiên để trung bình hóa kết quả từ nhiều cây quyết định độc lập.
    • Gradient-boosted Trees Regression: Kỹ thuật học tăng cường (Boosting) xây dựng cây tuần tự, trong đó mỗi cây mới được huấn luyện để dự đoán phần dư (residual) của mô hình trước đó nhằm tối thiểu hóa hàm mất mát (loss function).
  • Mô hình học sâu (Deep Learning):
    • Long Short-Term Memory (LSTM): Mạng nơ-ron hồi quy chuỗi thời gian giải quyết vấn đề biến mất/bùng nổ đạo hàm (vanishing/exploding gradient) qua cơ chế ô trạng thái nhớ (cell state) được điều tiết bởi 3 cổng: cổng vào (input gate), cổng quên (forget gate) và cổng ra (output gate), huấn luyện thông qua thuật toán lan truyền ngược qua thời gian (BPTT).
    • Convolutional Neural Networks (CNN): Cấu trúc gồm lớp tích chập (Convolutional Layer) trích xuất đặc trưng cục bộ, lớp kích hoạt phi tuyến (ReLU), lớp gộp (Pooling Layer) giảm chiều không gian và lớp kết nối đầy đủ (Fully Connected Layer).
    • Bidirectional LSTM (BiLSTM): Kết hợp hai luồng LSTM xử lý dữ liệu theo hai chiều thuận (forward) và nghịch (backward) để nắm bắt ngữ cảnh toàn diện của chuỗi dữ liệu.
    • Gated Recurrent Unit (GRU): Biến thể tối giản của LSTM với cấu trúc gồm 2 cổng: cổng cập nhật (update gate) và cổng xóa bỏ (reset gate), giúp giảm số lượng tham số huấn luyện.
    • BiGRU-BiLSTM-CNN: Kiến trúc mạng lai kết hợp đường dẫn song song Bi-GRU và Bi-LSTM đi qua lớp Spatial Dropout, sau đó chuyển tiếp qua các lớp CNN-1D, áp dụng Global Average Pooling và Global Max Pooling, ghép nối đặc trưng (Concatenate) và đưa qua lớp kết nối đầy đủ (Dense) để đưa ra giá trị dự đoán.
  • Phương pháp đánh giá: Sử dụng 5 thang đo thống kê tiêu chuẩn để kiểm định độ chính xác:
    • Mean Squared Error (MSE): Đo lường trung bình bình phương sai số.
    • Root Mean Square Error (RMSE): Căn bậc hai của MSE, có cùng đơn vị với biến mục tiêu.
    • Mean Absolute Error (MAE): Trung bình sai số tuyệt đối, ít bị ảnh hưởng bởi các giá trị ngoại lai (outliers).
    • Mean Absolute Percentage Error (MAPE): Đo lường trung bình tỷ lệ phần trăm sai số tuyệt đối.
    • Hệ số xác định ($R^2$ - R-squared): Đo lường tỷ lệ biến thiên của biến phụ thuộc được giải thích bởi các biến độc lập trong mô hình.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình phân tầng từ thu nhận dữ liệu đến hiển thị kết quả:

[Nguồn dữ liệu TTC] 
[Apache Kafka: Producer ➔ Topic/Partition ➔ Consumer]
[Spark Streaming Engine: In-Memory Stream Processing & ML/DL Inference]
[Giao diện ứng dụng Web: Trực quan hóa thời gian đến thời gian thực]

1. Môi trường phần cứng và hệ điều hành thực nghiệm

Quá trình huấn luyện mô hình và thử nghiệm hệ thống được thực hiện trên hai cấu hình phần cứng:

  • Máy 1: CPU Intel Core i5-12500H thế hệ 12 (2.50 GHz), GPU NVIDIA GeForce RTX 3060, RAM 16 GB, Hệ điều hành Windows 11.
  • Máy 2: CPU AMD Ryzen 5 5600H (3.30 GHz), GPU NVIDIA GeForce RTX 3050, RAM 16 GB, Hệ điều hành Windows 11.

2. Tiền xử lý dữ liệu và cấu trúc tập dữ liệu

Dữ liệu gốc từ Ủy ban Vận tải Toronto (TTC) ghi nhận hoạt động năm 2023 được làm sạch, xử lý trùng lặp và trích xuất thêm các đặc trưng thời gian phục vụ bài toán hồi quy:

Thuộc tính Bus Dataset (Gốc) Bus Dataset (Sau xử lý) Subway Dataset (Gốc) Subway Dataset (Sau xử lý)
Số dòng dữ liệu 56.207 dòng 49.051 dòng 20.882 dòng 7.382 dòng
Số lượng cột 10 cột 14 cột 10 cột 15 cột
Các thuộc tính thời gian trích xuất mới Không có Day_month, Month, Hour, Min Không có Day_month, Month, Hour, Min
Thuộc tính trạm dừng/vị trí bổ sung Location (11.684 giá trị) Location (10.107 giá trị) Station (359 giá trị) Station (77 giá trị), bổ sung At_station
Thuộc tính độ trễ mục tiêu Min_delay (500 giá trị) Min_delay (84 giá trị) Min_delay (108 giá trị) Min_delay (39 giá trị)
Khoảng cách giữa các đợt xe Min_gap (538 giá trị) Min_gap (141 giá trị) Min_gap (113 giá trị) Min_gap (45 giá trị)
Định danh phương tiện/Tuyến Route (264), Vehicle (2392) Route (214), Vehicle (2327) Line (13), Vehicle (697) Line (4), Vehicle (615)

Quá trình tiền xử lý cũng bao gồm việc đánh giá phương pháp mã hóa thuộc tính dạng văn bản (so sánh giữa Word2vec và Label Encoding) và khảo sát tác động của siêu tham số huấn luyện (Batch Size, Epoch) đối với đường cong hàm mất mát (loss và val_loss) của các mạng học sâu.


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

Chương 1. Mở đầu

Chương này nêu rõ lý do chọn đề tài xuất phát từ nhu cầu đi lại tăng cao và áp lực giao thông đô thị; xác định mục tiêu xây dựng công cụ hỗ trợ người dân nắm bắt thông tin thời gian đến thực tế của xe buýt và tàu điện ngầm. Tác giả xác định đối tượng nghiên cứu gồm dữ liệu di chuyển, hệ sinh thái xử lý dữ liệu Spark Streaming / Kafka và các thuật toán học máy / học sâu; đồng thời phân định phạm vi nghiên cứu và thiết lập cấu trúc 5 chương của khóa luận.

Chương 2. Tổng quan đề tài

Trình bày tổng quan lý thuyết về công nghệ dữ liệu lớn (Big Data) với mô hình phân tán Hadoop (HDFS, MapReduce), Apache Spark và hệ quản trị cơ sở dữ liệu NoSQL. Chương phân tích ứng dụng của Big Data trong quản lý giao thông đô thị như dự đoán lưu lượng, tối ưu hóa lộ trình và giám sát hành vi lái xe. Đồng thời, tác giả khảo sát các công trình nghiên cứu liên quan tiêu biểu (công trình của Nazirkar Reshma Ramchandra & C. Rajabhushanam; công trình của Parinith R. Iyer và cộng sự) về việc ứng dụng mạng nơ-ron học sâu (DAN, DBN, LSTM) trên nền tảng Python để dự đoán lưu lượng giao thông.

Chương 3. Cơ sở lý thuyết và bộ dữ liệu

Giới thiệu bối cảnh hệ thống Ủy ban Vận tải Toronto (TTC) quản lý 70 ga, hơn 150 tuyến xe buýt, 9 tuyến xe điện với hơn 736 triệu lượt khách trong năm 2023. Mô tả chi tiết cấu trúc tập dữ liệu Bus Dataset và Subway Dataset trước và sau khi tiền xử lý. Chương này đi sâu vào cơ sở toán học của các giải thuật học máy (Ridge Regression, Decision Tree, Random Forest, Gradient-boosted Trees) và cấu tạo các lớp học sâu (LSTM, CNN, BiLSTM, GRU, kiến trúc lai BiGRU-BiLSTM-CNN). Cuối cùng, tác giả trình bày cơ chế hoạt động của Apache Kafka, Spark Streaming và định nghĩa toán học của 5 chỉ số đánh giá sai số (MSE, RMSE, MAE, MAPE, $R^2$).

Chương 4. Thực nghiệm và đánh giá

Trình bày cấu hình môi trường phần cứng máy tính cá nhân sử dụng GPU RTX 3060 và RTX 3050 trên hệ điều hành Windows 11. Thể hiện quy trình tiền xử lý dữ liệu, làm sạch các trường bản ghi, trích xuất đặc trưng ngày/tháng/giờ/phút. Chương thực hiện đối sánh phương pháp xử lý thuộc tính văn bản (Word2vec và Label Encoding), phân tích sự ảnh hưởng của Batch size và số lượng Epoch lên hiệu năng mô hình, đồng thời tổng hợp bảng kết quả đánh giá các mô hình học máy và học sâu trên hai bộ dữ liệu xe buýt và tàu điện ngầm. Toàn bộ kiến trúc hệ thống xử lý luồng và giao diện ứng dụng web hoàn chỉnh được kiểm thử và trình bày chi tiết.

Chương 5. Tổng kết và hướng phát triển

Đánh giá tổng quan mức độ hoàn thành mục tiêu nghiên cứu của khóa luận; chỉ ra các ưu điểm trong việc tích hợp công nghệ dữ liệu lớn với mô hình học sâu để xử lý dữ liệu thời gian thực; nhận định các mặt hạn chế còn tồn tại trong phạm vi đề tài và đề xuất các định hướng nghiên cứu mở rộng trong tương lai.


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

1. Kết quả thực nghiệm chính

  • Xử lý thành công dữ liệu giao thông thực tế quy mô lớn của hệ thống TTC năm 2023:
    • Tinh gọn và chuẩn hóa tập dữ liệu xe buýt (Bus Dataset) từ 56.207 dòng gốc (10 cột) thành 49.051 dòng dữ liệu đặc trưng hoàn chỉnh (14 cột).
    • Tinh gọn tập dữ liệu tàu điện ngầm (Subway Dataset) từ 20.882 dòng gốc (10 cột) thành 7.382 dòng dữ liệu sạch (15 cột), loại bỏ các giá trị nhiễu và tuyến/trạm không hợp lệ.
  • Xây dựng thành công quy trình xử lý dữ liệu chuỗi thời gian kết hợp mã hóa văn bản (Word2vec, Label Encoding) và khảo sát ảnh hưởng của siêu tham số (Batch Size, Epoch) đến quá trình hội tụ hàm mất mát (loss và val_loss).
  • Thiết lập hoàn chỉnh đường ống tích hợp Apache Kafka đóng vai trò trung gian tiếp nhận luồng dữ liệu liên tục và Apache Spark Streaming đảm nhiệm tính toán, dự đoán trong bộ nhớ.
  • Triển khai thành công ứng dụng giao diện web cho phép tiếp nhận thông tin đầu vào và hiển thị trực quan kết quả thời gian đến dự đoán cho người dùng.

2. Đóng góp của đề tài

  • Kết hợp giải pháp kỹ thuật giữa nền tảng dữ liệu lớn phân tán (Kafka, Spark Streaming) với các mô hình học sâu (CNN, LSTM, BiLSTM, GRU, BiGRU-BiLSTM-CNN) để giải quyết bài toán dự đoán thời gian đến cho phương tiện giao thông công cộng.
  • Đề xuất và hiện thực hóa kiến trúc mạng lai BiGRU-BiLSTM-CNN, tận dụng khả năng biểu diễn chuỗi hai chiều của BiGRU/BiLSTM kết hợp cùng khả năng trích xuất đặc trưng cục bộ 1D của CNN và lớp Spatial Dropout để giảm thiểu hiện tượng quá khớp.
  • Cung cấp bức tranh thực nghiệm đối sánh định lượng toàn diện giữa các mô hình học máy cổ điển và học sâu trên hai loại hình phương tiện giao thông công cộng khác nhau (xe buýt mặt đất và tàu điện ngầm).

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

1. Hạn chế

  • Môi trường thực nghiệm hệ thống dữ liệu lớn và huấn luyện mô hình mới dừng lại ở việc triển khai trên các thiết bị máy tính cá nhân độc lập (sử dụng CPU Intel Core i5 / AMD Ryzen 5 và GPU đơn lẻ RTX 3050 / RTX 3060), chưa thực hiện trên cụm máy chủ phân tán quy mô công nghiệp (multi-node cluster).
  • Dữ liệu thực nghiệm được khai thác hoàn toàn từ hệ thống giao thông công cộng Toronto (TTC), có đặc điểm hạ tầng và quy chuẩn vận hành khác biệt so với mạng lưới giao thông tại Việt Nam.
  • Khả năng thích ứng của mô hình đối với các yếu tố biến động tức thời nghiêm trọng ngoài dữ liệu lịch sử (như thời tiết cực đoan đột xuất hoặc tai nạn giao thông nghiêm trọng) cần thêm các nguồn dữ liệu ngoại cảnh hỗ trợ.

2. Hướng nghiên cứu tiếp

  • Mở rộng thử nghiệm hệ thống trên các luồng dữ liệu GPS thời gian thực thu nhận trực tiếp từ các phương tiện giao thông công cộng tại các đô thị lớn ở Việt Nam (như hệ thống xe buýt TP. Hồ Chí Minh hoặc Hà Nội).
  • Triển khai cụm phân tán Apache Spark và Kafka trên môi trường điện toán đám mây để nâng cao khả năng chịu tải và mở rộng quy mô xử lý dữ liệu đồng thời.
  • Tích hợp thêm các nguồn dữ liệu đa phương thức vào mô hình dự đoán, bao gồm dữ liệu thời tiết thời gian thực, thông tin từ camera giám sát giao thông và dữ liệu bản đồ số.

Giá trị tham khảo

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

  • Sinh viên và học viên chuyên ngành Công nghệ Thông tin, Khoa học Dữ liệu, Kỹ thuật Phần mềm: Cung cấp tài liệu tham khảo chi tiết về quy trình xây dựng đường ống xử lý dữ liệu luồng (Event Stream Processing) kết hợp Apache Kafka và Spark Streaming.
  • Người nghiên cứu các bài toán giao thông thông minh (Intelligent Transportation Systems - ITS): Tham khảo kiến trúc mạng nơ-ron kết hợp BiGRU-BiLSTM-CNN trong xử lý dữ liệu chuỗi thời gian giao thông và phương pháp tiền xử lý dữ liệu vận hành từ hệ thống TTC.
  • Kỹ sư phát triển hệ thống: Tham khảo mô hình kiến trúc đầu-cuối (end-to-end architecture) từ tầng thu thập thông điệp dữ liệu lớn, tầng suy luận mô hình học máy đến tầng hiển thị ứng dụng web.

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

1. Khóa luận sử dụng nguồn dữ liệu nào để thực nghiệm mô hình dự đoán và quy mô dữ liệu ra sao?
Nghiên cứu sử dụng dữ liệu năm 2023 từ Ủy ban Vận tải Toronto (TTC), Canada. Dữ liệu bao gồm hai tập chính:

  • Bus Dataset: Dữ liệu gốc gồm 56.207 dòng (10 cột), sau tiền xử lý còn 49.051 dòng (14 cột).
  • Subway Dataset: Dữ liệu gốc gồm 20.882 dòng (10 cột), sau tiền xử lý còn 7.382 dòng (15 cột).

2. Kiến trúc mô hình lai BiGRU-BiLSTM-CNN trong khóa luận được cấu tạo như thế nào?
Mô hình lai tiếp nhận dữ liệu đầu vào qua lớp Spatial Dropout để tránh quá khớp, sau đó phân tách thành hai nhánh xử lý song song: nhánh Bi-GRU và nhánh Bi-LSTM để nắm bắt phụ thuộc chuỗi hai chiều. Đầu ra của hai nhánh này được đưa vào các lớp tích chập một chiều (CNN-1D) nhằm trích xuất đặc trưng cục bộ, đi qua hai thao tác gộp (Global Average Pooling và Global Max Pooling), ghép nối (Concatenate) thành một vectơ đặc trưng duy nhất, chuyển qua lớp Dense và hàm kích hoạt để tạo ra giá trị dự đoán cuối cùng.

3. Vai trò của Apache Kafka và Spark Streaming trong hệ thống là gì?
Apache Kafka đóng vai trò là nền tảng phân phối luồng dữ liệu phân tán chịu lỗi cao, thu thập các thông điệp di chuyển và phân vùng vào các Topic/Partition với tốc độ cao. Spark Streaming đóng vai trò là công cụ xử lý luồng trong bộ nhớ (in-memory stream processing), liên tục tiếp nhận dữ liệu từ Kafka, thực hiện tiền xử lý và áp dụng mô hình học máy/học sâu để tính toán kết quả dự đoán thời gian thực.

4. Những thước đo thống kê nào được sử dụng để đánh giá độ chính xác của các mô hình trong khóa luận?
Khóa luận sử dụng 5 thang đo thống kê tiêu chuẩn để so sánh hiệu năng các mô hình: Mean Squared Error (MSE), Root Mean Square Error (RMSE), Mean Absolute Error (MAE), Mean Absolute Percentage Error (MAPE) và Hệ số xác định ($R^2$ - R-squared).

5. Môi trường phần cứng thực nghiệm của đề tài được cấu hình như thế nào?
Đề tài được thực nghiệm trên hai hệ thống máy tính cá nhân chạy hệ điều hành Windows 11:

  • Máy 1 trang bị CPU Intel Core i5-12500H thế hệ 12 (2.50 GHz), GPU NVIDIA GeForce RTX 3060 và 16 GB RAM.
  • Máy 2 trang bị CPU AMD Ryzen 5 5600H (3.30 GHz), GPU NVIDIA GeForce RTX 3050 và 16 GB RAM.

Kết luận

Khóa luận tốt nghiệp của sinh viên Đoàn Việt Bách và Phan Thành Nhân đã nghiên cứu và phát triển giải pháp dự đoán thời gian đến cho phương tiện giao thông công cộng bằng cách kết hợp các mô hình học máy, học sâu với công nghệ xử lý luồng dữ liệu lớn Apache Kafka và Spark Streaming. Thông qua việc làm sạch và phân tích thực nghiệm trên hai tập dữ liệu quy mô lớn của hệ thống giao thông TTC Toronto (xe buýt và tàu điện ngầm), nhóm tác giả đã đối sánh hiệu quả dự đoán của nhiều thuật toán và kiểm chứng kiến trúc mạng lai BiGRU-BiLSTM-CNN. Hệ thống được hoàn thiện từ khâu tiếp nhận luồng dữ liệu thời gian thực đến giao diện ứng dụng web trực quan, đóng góp giải pháp kỹ thuật hữu ích cho bài toán xây dựng hệ thống giao thông thông minh.