Thách thức lớn hiện nay là các nếu chỉ dùng dữ liệu lịch sử về các chuyến bay như Mã hang hàng không, Mã chuyến, Ngày bay, Thời gian cất cánh, Thời gian hạ cánh, Khoảng thời gian bay, và
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA HỆ THÓNG THÔNG TIN
NGÔ HONG HAI - 19521463
LÊ BÙI DĨ HOÀ - 19521517
KHÓA LUẬN TÓT NGHIỆP
DU BAO KHẢ NANG HUY CHUYEN, TRE CHUYEN
CUA CHUYEN BAY NOI DIA VIET NAM
FORECASTING THE POSSIBILITY OF FLIGHT CANCELLCATION AND DELAY OF VIETNAM DOMESTIC
FLIGHTS
KY SU/ CU NHAN NGANH HE THONG THONG TIN
GIANG VIEN HUONG DAN
TS CAO THI NHAN
TP HO CHÍ MINH, 2023
Trang 2MỤC LỤC
"6/05/21 4
M.9:80000:ì).007 7 .-” Ò 7 DANH MUC BANG c1 Ừ°“<-^4 10
Chương 1 TONG QUAN - 5:5: 52 2t 2 t2E2E2EEEEEEEEEEerkekertrrrrrerrrrrrer 1
LL Lí do chọn đề tiicciccccccssssesssssecsssssesssssessssssessssiesesssesssssesesssesessssesessneseesse 1
I0 ÒỤ3 1
In nha ` 2
1.4 Phạm vi nghiên CỨU - ¿ok 11 31 1 113 E1 nh Hàn ngư 2
Chương 2_ CƠ SỞ LÝ THUYÉT VÀ CÁC NGHIÊN CỨU LIÊN QUAN 3
2.1 Cơ sở lý thuyết
2.2 Các nghiên cứu liên quan - + + +65 * SE £‡E+E£sEEEskeskrkeekeske 7
Chương3_ XÂY DỰNG MÔ HINH HỌC MAY.
3.1 Quy trình tổng quan -2:-2+22+222++2E++t2EEEEEEESEEErtrxrerrrrrrrrrrrk 9
3.2 Quá trình khảo sát, thu thập
3.2.1 Khảo sát các nguồn dữ liệu -. ¿-©+¿+22+2cvrvtrxrerrrrsrrrccrs 10
Trang 3Chuong4 THIẾT KE, XÂY DỰNG VÀ TRIÊN KHAI CÔNG CỤ DỰ BAO
TINH TRANG CHUYEN BAY -22¿-©22222222E+22EEErtEEEEErerrrrrrrrrrrrrrrk 48 4.1 Phân tích, xác định các yêu cầu chức nang va phi chức năng
4.2 Đặc tả quy trình, luồng dữ liệu -2-©22+22E+22EEtSrxerrrxerrrscrrk 49
4.2.1 Quy trình thu thập dữ liệu
4.2.2 Quy trình dự đoán trễ/huỷ chuyến của người dùng 50 4.3 Thiết kế cơ sở dữ liệu
4.4.3 Machine Learning Service cccccccccesceceseseseseeeeseseseseseeeeseseseeneeees 70
4.5 Triển khai hệ thống trên Cloud .: ¿-2++22+++2++2zx++zzx++zxsesrx 71 4.5.1 Tu động triỀn Khai occ ececeeceessesseseessesseseesseseeseessessessessesseseesnesneeses 71 4.5.2 Kiến trúc hạ tang cccccccscscssecsssecssecsseecssecsssecsseecsseesssecsssecsseessseessneesse 72
Chương 5 KET LUẬN ¿-©22¿222+22EEEt2EEE2221222212711 227122221222 76 5.1 Kết quả dat được :-©22<222+c22EEt22EEE2E1E2211 271.221.111 76 5.2 Ưu điểm và hạn chế của để tài -cccnrrrrrrrrrrrrrrrrrrrrrrrrrrrrriee 77
—" 71
TT 71
Trang 45.3 Đề xuất hướng phát triển trong tương lai 2-z+2+++cszcszsce+ T1
TÀI LIỆU THAM KHẢO.
Trang 5DANH MỤC HÌNH
Hình 3-1 Quy trình xử lý dữ liệu thô.
Hình 3-2 Quy trình xử lý mắt cân bằng và trích chọn đặc trưng.
Hình 3-3 Quy trình áp dụng các mô hình học máy và đánh giá „10
Hình 3-4 Sơ đồ quá trình thu thập dữ liệu chuyến bay đợt 2 - - 18
Hình 3-5 Sơ đồ quá trình thu thập dữ liệu thời tiết đợt 2 : + 19
Hình 3-6 Biểu đồ cột thé hiện phân bó của dữ liệu “flights” theo năm 21
Hình 3-7 Biểu tròn thể hiện phan trăm số lượng các lớp sau khi thu thập 23
Hình 3-8 Dữ liệu minh họa các cột dữ liệu liên quan đến thời gian - 24
Hình 3-9 Dữ liệu minh hoa các mẫu dữ liệu có “signal” là “gray” - 25
Hình 3-10 Dữ liệu minh họa cột ““WÏnndÌ” - - s3 s + * + svserxerssrrrrrrresee 26 Hình 3-11 Dữ liệu minh hoa cột ““teImp”” - ¿5+ +2 S++vE+v£sexeksxseeeesrexee 27 Hình 3-12 Dữ liệu minh họa cột “humidity” Hình 3-13 Biểu đồ cột thé hiện các giá trị rỗng của dữ liệu thời tiết 28
Hình 3-14 Dữ liệu minh họa các giá trị bất thường ở cột “direcfion” 30
Hình 3-15 Dữ liệu minh họa cột ““weather”” c sc + 3+3 ssvereersereesesee 31 Hình 3-16 Mô tả kỹ thuật tách rời giá tri cột '“weafler” - ««-« «xxx 32 Hình 3-17 Dữ liệu minh họa cột “đire€fi0W”” óc 2c s*+£sstsvsexeeeeessee 32 Hình 3-18 Mô tả kỹ thuật tạo tách rời đặc trưng từ cột “direction” 33
Hình 3-19 Mô tả kỹ thuật gan giá trị cho đặc trưng của cột “direction” 33
Hình 3-20 Biéu đồ tròn thể hiện phan trăm số lượng các lớp trong dữ liệu trước tiền Hình 3-21 Biểu đồ cột thé hiện tổng các chuyến hủy, dời và trễ của từng hãng hàng |qUdVY 5 36
Hình 3-22 Biểu đồ tròn thể hiện phan trăm các chuyến hủy, dời và trễ theo từng hang hang KhOng 00 ốốố ố ố ố 36
Hình 3-23 Biểu đồ so sánh sự tác động của đặc trưng “airline” 37
Trang 6Hình 3-24 Ma trận nhằm lẫn của AdaBoost khi không có đặc trưng “month” 39
Hình 3-25 Ma trận nhằm lẫn của AdaBoost khi có đặc trưng “month” 39
Hình 3-26 Ma trận nhằm lẫn của Gradient Boosting khi không có đặc trưng “MONE” oe eee ố ố ẻ ẻ 40
Hình 3-27 Ma trận nhằm lẫn của GBDT khi có đặc trưng “month” - 40
Hình 3-28 Biểu đồ tròn thé hiện phan trăm số lượng các nhãn sau tiền xử lý 42
Hình 3-29 Biểu đồ so sánh độ do Fl-score giữa các mô hình - 43
Hình 3-30 Biểu đồ cột thé hiện thời gian huấn luyện các mô hình 44
Hình 3-31 Biểu đồ cột thê hiện thời gian kiểm thir các mô hình - 44
Hình 3-32 Ma trận nhằm lẫn của mô hình Random FOrest -:-+ 45
Hình 3-33 Ma trận nhằm lẫn của mô hình AdaBoost ¿-¿-z+ 45 Hình 3-34 Ma trận nhằm lẫn của GBDT -:::::++++++++++++++ttttttttrtrrrrre 46 Hình 3-35 Ma trận nhằm lẫn của mô hình Logistic Regression 46
Hình 4-1 Quy trình dự đoán tré/huy chuyền của người dùng - - 50
Hình 4-2 Kiến trúc tổng quan 5Ó Hình 4-3 Giao diện nhập thông tin tra cứu lịch trình bay một chiêu 57
Hình 4-4 Giao diện kết quả tra cứu lịch trình bay phù hop một chiều „58
Hình 4-5 Giao diện nhập thông tin tra cứu lịch trình bay hai chiều 58
Hình 4-6 Giao diện kết quả tra cứu lịch trình bay phù hợp hai chiều đi, về 59
Hình 4-7 Giao diện nhập thông tin tra cứu mã chuyến bay -: -:+ 59
Hình 4-8 Giao diện kết quả tra cứu mã chuyến bay - 2 2©sz+22sz+++ 60 Hình 4-9 Dữ liệu json thô từ trang Flightradar24 ¿-¿ s -+++++++c+c+zcexx+ 61 Hình 4-10 Dữ liệu thô thời tiết tương lai -¿-22©2++22+t2c+rverxrerrxrsrrrrsrs 62 Hình 4-11 Xác định selector của 6 cần lấy dữ liệu trong cây DOM 63
Hình 4-12 Dữ liệu thô html
Hình 4-13 Dữ liệu thô thời tiết quá khÍ - 6k kg Hy 64 Hình 4-14 Xác định selector của 6 cần lấy dữ liệu trong cây DOM 64
Hình 4-15 Dữ liệu thô htiml ¿+ + 525 S922*E£+#ExSEerrrrrrkrkrkrrererrree 65 Hình 4-16 Quy trình tự động thu thập dữ liệu chuyến bay - 65
Trang 7Hình 4-17 Quy trình tự động thu thập dữ liệu thời tIẾT, à St nen 66 Hình 4-18 Quy trình tự động triển khai từ GitHub lên VPS 5: c5c¿ 71
Hình 4-19 Định nghĩa Docker Container Front-end s «+5 +c+s+ze£e++ 72
Hình 4-20 Quy trình xây dựng web site và serve web của Nginx 72
Hình 4-21 Xây dựng Docker Image từ Source Code và Dockerfile - 73 Hình 4-22 Các Container bên trong Docker Compose - 5+2 74
Hình 4-23 Luồng hoạt động của Nginx và Certbot trong hệ thống - 74
Trang 8DANH MỤC BANG
Bảng 3-1 Bảng mô tả thông tin các đặc trưng của tập dữ liệu “flights” 20
Bang 3-2 Bảng thống kê số lượng các nhãn sau khi thu thập . - 21
Bang 3-3 Bảng mô tả thông tin các đặc trưng của tập dữ liệu “weathers” 22
Bang 3-4 Bang thống kê chỉ tiết số lượng các giá trị rong của dữ liệu thời tiết 29
Bang 3-5 Bảng thông tin tong hợp cho quá trình trích chon đặc trưng 35
Bảng 3-6 Bảng thống kê độ đo recall và F1-score khi có và không có đặc trưng “ARTI” 37
Bang 3-7 Bảng thống kê độ do recall và F1-score khi có và không có đặc trưng `" 38
Bang 3-8 Bảng thống kê số lượng mỗi nhãn trước và sau tiền xử lý 41
Bảng 3-9 Bảng thống kê tap dir liệu trong quá trình thực nghiệm 4
Bang 3-10 Bảng kết quả độ đo F1-score và thời gian của các mô hình 4
Bang 4-1 Bang aiTDOTS -cc 2S 1v ST H121 2101012 12210101210 20 0x 51
Bang 4-2 Bang flight_schedules óc 6 1S 1E 1 1 2E 1 51 1 1 21v 52 Bang 4-3 Bang flighis óc S2 Sàn 1 1 HH HH HH HH0 re 53
Bang 4-4 Bang weather_locations cccccceccccssecesesescceseeeeeseseeeeeeseseseeeeeeseseneees 54
Bang 4-5 Bang weather óc ng HH HH 55
Trang 9LỜI CÁM ƠN Kính gửi quý thầy cô và nhà trường đại học công nghệ thông tin,
Chúng em xin gửi lời cảm ơn chân thành và sâu sắc nhất đến quý thầy cô và nhà trường đã tạo điều kiện cho chúng em được học tập và nghiên cứu tại một môi trường
chuyên nghiệp, hiện đại và thân thiện Quý thầy cô đã truyền đạt cho chúng em những
kiến thức quý báu, những kỹ năng thiết thực và những tư duy sáng tạo trong lĩnh vực
công nghệ thông tin Nhờ đó, chúng em đã có được những nền tảng vững chắc dé
phát triển năng lực của mình và chuẩn bị cho những bước tiếp theo trong sự nghiệp.
Đặc biệt, chúng em xin bày tỏ lòng biết ơn sâu sắc đến cô Cao Thị Nhạn, giảng viên
hướng dẫn của nhóm, đã luôn tận tình hỗ trợ, động viên và góp ý cho chúng em trong
quá trình thực hiện đề tài này Cô đã là người thầy, người bạn và người anh chị của chúng em, giúp chúng em vượt qua những khó khăn và hoàn thành đề tài một cách
tôt nhât.
Chúng em xin cam kết sẽ không ngừng học hỏi, nỗ lực va phân đâu dé xứng đáng với
niềm tin và kỳ vọng của quý thầy cô và nhà trường Sau này luôn luôn thực hiện tốt
phương châm của trường đã thấm nhuan bao năm qua, tư duy “Học tập suốt đời” và
ra sức đóng góp sức lực nhỏ vào phát triển của đất nước.
Xin chân thành cảm ơn!
Trân trọng,
Nhóm sinh viên
Trang 10NHAN XÉT CUA GVHD
Người nhận xét
(Ký và ghi rõ họ tên)
Trang 11Từ đây đủ
CSDL Cơ sở dữ liệu
NCHMF Trung tâm Dự báo Khí tượng Thủy
văn Quốc gia
HTTP HyperText Transfer Protocol
HTML Hypertext Markup Language
API Application Programming Interface VPS Virtual Private Server
JSON JavaScript Object Notation
GBDT _ Gradient Boosting Decision Trees
Trang 12LỜI MỚ ĐẦU
Việt Nam đang là một trong những điểm nóng kinh tế của thế giới, được tổ chức Quỹ Tiền tệ Quốc tế dự báo mức tăng trưởng dự kiến đạt 5,8% ở năm 2023 và 6,9% vào năm 2024! Chính vì vậy, nhu cầu về sử dụng phương tiện di chuyển tăng
đáng kể, trong đó bao gồm cả việc sử dụng máy bay Tốc độ di chuyền và các dịch
vụ đi kèm đa đạng là những điểm sáng đối với hình thức di chuyên bằng máy bay Tuy nhiên, theo thống kê của Cục Hàng không Việt Nam toàn ngành có 32.260
chuyến bị trễ (chiếm 10,3%)? gây nhiều khó khăn, bắt tiện cho hành khách Nắm bắt
được nhu cầu, nhóm quyết định thực hiện đề tài “Dự báo khả năng hủy chuyến, trễ
chuyến của chuyến bay nội địa Việt Nam”.
Trên thế giới, đây cũng là một chủ đề được nhiều nhà nghiên cứu quan tâm và còn nhiều thách thức Bởi việc dự báo tốt có lợi cho nhiều bên liên quan như hãng
hàng không, khách đi máy bay, thân nhân người đi máy bay, và các dịch vụ kinh
doanh trong hệ thống hàng không Thách thức lớn hiện nay là các nếu chỉ dùng dữ
liệu lịch sử về các chuyến bay như Mã hang hàng không, Mã chuyến, Ngày bay, Thời gian cất cánh, Thời gian hạ cánh, Khoảng thời gian bay, và nhãn là Đúng giờ, Trễ chuyến, hay Hủy chuyến thì độ chính xác không cao do trên thực tế còn phụ thuộc rất nhiều thông tin khác như thời tiết, tình hình dịch bệnh, kinh tế, chính trị, xã hội Trong đó, yếu tô thời tiết được quan tâm nghiên cứu những năm gần đây như là các nhân tố bổ sung bởi có nhiều ảnh hưởng đến chất lượng chuyến bay nhằm nâng cao
kết quả dy đoán Nhóm nghiên cứu Mingdao Lu và cộng sự đề xuất mô hình kết hợp
thông tin thời tiết và các mô hình học máy năm 2021 [2] nhằm dự đoán khả năng trễ
chuyến bay tại Trung Quốc Bên cạnh đó, nhóm nghiên cứu cũng dé xuất kỹ thuật
phân tích trên bộ dữ liệu nhằm chọn ra các đặc trưng quan trọng và loại bỏ những đặc trưng dư thừa trong dữ liệu thô ban đầu Kết quả thực nghiệm của nhóm nghiên cứu cho thấy độ chính xác đều được nâng cao hơn sau khi kết hợp yếu tổ thời tiết và kỹ
thuật lựa chọn đặc trưng trên hai thuật toán là GBDT (gradient boosting decision tree)
và XGBoost Trước đó, năm 2018, nhóm nghiên cứu Michael Schultz và cộng sự đã
xuất bản bài báo “Weather Impact on Airport Performance” trên tạp chí Aerospace [5] tập trung nghiên cứu các yếu tố thời tiết ảnh hưởng thế nào đến chất lượng của các chuyền bay ở khía cạnh trễ chuyến và hủy chuyến Ở nghiên cứu này, nhiều yếu
tố thời tiết ở khu vực Châu Âu được xem xét đánh giá như tầm nhìn, sức gió, lượng
mưa, đóng băng, độ nguy hiểm Kết quả nghiên cứu của nhóm đã chỉ ra rằng các yếu
tố thời tiết có ảnh hưởng quan trọng đến việc đảm bảo giờ giấc của các chuyến bay
từ Châu Âu đến các sân bay quốc tế khác.
Mục tiêu của nghiên cứu này là sử dụng một số mô hình học máy đề dự đoán khả năng trễ và hủy chuyến bay nội địa Việt Nam có kết hợp các yếu tố thời tiết.
! Tham khảo tại: IMF dự báo tăng trưởng kinh tế Việt Nam năm 2023 đạt 5.8%
(nhandan.vn) truy cập gần nhất 1-5-202.
? Tham khảo tại: Vietnam Airlines 'đội sé’ tỉ lệ chậm chuyến bay - Tudi Trẻ Online (tuoitre.vn) truy cập gần nhất 29-4-2023.
Trang 13Nhóm nghiên cứu sẽ sử dụng dữ liệu lịch sử về các chuyến bay nội địa của các hãng hàng không khác nhau dé huấn luyện mô hình học máy Mô hình sẽ được huấn luyện dé dự đoán khả năng trễ và hủy chuyến bay dựa trên các yếu tó thời tiết,
mã chuyến bay, nơi khởi hành, điểm đến và các yếu tố khác Sau đó, mô hình sẽ được đánh giá hiệu suất trên một số độ đo khác nhau nhằm đánh giá nhiều góc độ của mô hình cũng như khả năng tích hợp vào các hệ thống thông tin trên thực tế Nghiên cứu
này mong muốn đưa ra một giải pháp thông minh giúp dự đoán khả năng trễ và hủy chuyến bay nội địa Việt Nam và hành khách có thể lên kế hoạch và tổ chức chuyến
đi của mình một cách hiệu quả hơn.
Việc nghiên cứu về dự báo khả năng trễ, huỷ chuyến bay nội địa Việt Nam dựa trên việc kết hợp dữ liệu chuyến bay và các yếu tố thời tiết kỳ vọng sẽ nâng cao
độ chính xác của dự báo cũng như đánh giá được mô hình máy học phù hợp cho bài
toán này Bên cạnh đó, nhóm nghiên cứu cũng xây dựng một hệ thống dự báo với các chức năng cơ bản nhằm giúp người sử dụng quan tâm có thể tra cứu, từ đó có thể hỗ
trợ ra quyết định nhằm tối ưu thời gian, chỉ phí cho người dùng.
Trang 14Chương! TONG QUAN
1.1 Lí do chọn đề tai
e Tính thực tiễn: Với việc số lượng hành khách sử dụng dịch vụ bay trong nước
ngày càng tăng, khả năng trễ và huỷ chuyến bay cũng tăng theo Vì vậy, việc
dự báo trễ và huỷ chuyến bay sẽ giúp cho hành khách có thé lên kế hoạch hợp
lý và giảm thiéu sự bat tiện và chi phí không đáng có.
© Tac động đến kinh tế: Những chuyến bay bị trễ hoặc huỷ có thé gây thiệt hai
đến kinh tế và sự phát triển của ngành hàng không cũng như du lịch trong
nước.
© Đóng góp vào nghiên cứu khoa học: Việc nghiên cứu về dự báo khả năng trễ,
huỷ chuyến bay nội địa Việt Nam dựa trên dữ liệu thời tiết sẽ đóng góp vào việc phát triển các phương pháp dự báo và mô hình học máy dé dự báo các điều kiện thời tiết ảnh hưởng đến chuyền bay Điều này có thé cung cap những giá trị cho các nghiên cứu về khoa học đữ liệu, khoa học máy và nhiều lĩnh
vực khác.
° Ứng dụng thực tiễn: Việc dự báo khả năng trễ, huỷ chuyến bay nội địa Việt
Nam dựa trên dữ liệu thời tiết có thể ứng dụng rộng rãi trong ngành hàng không
và cung cấp cho các hãng hàng không một công cụ hữu ích dé giảm thiểu sự
cố và đảm bảo hoạt động hiệu quả hơn.
12 Mục đích
e - Nghiên cứu va phân tích các yếu tố ảnh hưởng đến kha năng trễ và huỷ chuyến
bay nội địa Việt Nam.
e Ap dụng các phương pháp dự báo dé đưa ra kết quả dự báo chính xác và đáng
tin cậy về khả năng trễ và huy chuyến bay.
e _ Xây dựng một công cụ dự đoán trễ/huỷ chuyến bay dựa trên dữ liệu thời tiết
và lịch trình chuyến bay
Trang 151.3 Đối tượng
¢ _ Các chuyến bay nội địa Việt Nam của các hãng hàng không khác nhau.
e Dữ liệu thời tiết tại các sân bay nội địa Việt Nam.
1.4 Pham vi nghiên cứu
¢ T§p trung vào các chuyến bay nội địa Việt Nam.
e Sir dụng dữ liệu từ các năm trước đến năm hiện tại để phân tích và đưa ra kết
quả dự báo.
e Áp dụng các phương pháp dự báo khác nhau để tìm ra phương pháp tối ưu
nhất để dự báo khả năng trễ và huỷ chuyến bay.
Trang 16Chương2 CO SỞ LÝ THUYET VÀ CÁC NGHIÊN CỨU LIEN QUAN
2.1 Cơ sở lý thuyết
Nhóm sinh viên thực hiện khảo sát và thu thập dữ liệu của các chuyến bay nội địa Việt Nam Tập dữ liệu thu thập được từ 22 sân bay ở Việt Nam từ năm 2019 đến
năm 2023 Dựa vào ngày xuất phát, nơi khởi hành và nơi hạ cánh nhóm tiếp tục thu
thập dữ liệu về thời tiết Hai bộ dữ liệu được kết với nhau dựa vào địa điểm và giờ khởi hành dự kiến Đề tài áp dụng các thuật toán Random Forest, Adaboost, GBDT
và Logistic Regression cho bài toàn phân loại nhiều lớp với các ưu điểm sau:
e Random Forest: thuật toán xây dựng dựa trên cây quyết định Hoạt động
bằng cách xây dựng nhiều cây quyết định và kết hợp với nhau để tạo ra
một mô hình phân loại Thuật toán có thé giảm thiêu hiện tượng quá khớp (overfitting) và có cân bằng tốt giữa độ chệch và phương sai.
e Adaboost: là một thuật toán học máy tăng cường Hoạt động bằng cách
kết hợp nhiều bộ phân loại yéu xếp chồng lên nhau dé tạo một phân loại mạnh Ít xảy ra tình trạng overfitting.
¢ GBDT: là một thuật toán học máy tăng cường dựa trên cây quyết định.
Hoạt động bằng cách xây dựng các cây quyết định tuần tự, các cây sau
giảm thiêu lỗi cây trước Đạt được kết quả tốt trong bài nghiên cứu [2].
¢ Logistic Regression: một thuật toán học máy dựa trên xác suất, sử dụng
hàm logistic để ước tính xác suất một sự kiện Thông thường, thời gian
huấn luyện và kiểm thử ngắn.
Để đánh giá kết quả của bài toán phân loại nhiều lớp, nhóm sử dụng độ đo
recall và Fl-score Bên cạnh việc đánh giá mô hình dựa trên các độ đo, việc xem xét
ma trận nhằm lẫn để đưa ra kết luận là một sự cần thiết để tránh việc độ chính xác
phụ thuộc vào một lớp đa sé.
Hệ thống sẽ được xây dựng theo mô hình kiến trúc khách hang - máy chủ
(client-server architecture) và sử dụng các công nghệ sau:
Trang 17o React JS là một thư viện JavaScript cho phép xây dựng giao diện
người dùng động và tái sử dụng được React JS có nhiều ưu điểm như tốc độ nhanh, khả năng mở rộng cao, hỗ trợ TypeScript và cộng
đồng lớn Chon React JS dé làm front-end vì nó phù hợp với các
ứng dụng hiện đại, phản ứng nhanh với các sự kiện của người dùng
và dễ dàng tích hợp với các thư viện khác như Mantine dé xây dựng
giao diện đẹp mắt, nhanh chóng và ít lỗ hồng.
o Cộng đồng React JS rất lớn, có nhiều tài liệu và hỗ trợ, giúp giảm
thời gian phát triển và tìm kiếm giải pháp.
o_ Gửi các yêu cầu HTTP đến Back-end để lấy hoặc gửi dữ liệu, nhận
kết quả và hiền thị cho người dùng.
Back-end Service:
o NestJS là một framework Node.js cho phép xây dựng các ứng dụng
server-side hiệu quả, đáng tin cậy và có thé mở rộng Nest JS cung cấp một kiến trúc gọn gàng, dễ bảo trì và mở rộng Chọn Nest JS
để làm back-end vì nó hỗ trợ TypeScript, cung cấp các tính năng
như dependency injection, middleware, pipes, guards và
decorators, giúp cho mã nguồn chương trình dé đọc, dé duy trì
và mở rộng.
o_ Sử dụng TypeORM để định nghĩa các entity và các cột tương ứng
với các bảng và các trường trong cơ sở dữ liệu Thực hiện các thao
tác CRUD (Create, Read, Update, Delete) với cơ sở dữ liệu Tạo và
chạy các migration khi có thay đổi trong câu trúc cơ sở dữ liệu.
o Sử dụng Nest JS dé xử lý các yêu cầu HTTP từ front-end Thực
hiện các chức năng như xử lý logic nghiệp vụ, kết nối với cơ sở dữ
liệu Gọi đến ML Service để sử dụng model machine learning khi cần thiết Trả về kết quả cho front-end qua API.
Trang 18e ML Service:
o Python là ngôn ngữ phổ biến trong lĩnh vực học máy và có nhiều
thư viện hỗ trợ mạnh mẽ Một trong số đó là sk-learn, thư viện đã dùng để viết mô hình học máy.
o Để deploy mô hình học máy lên server, cần sử dụng một framework
được viết bằng Python Django REST Framework là một lựa chọn tốt cho nhu cầu này.
o ML Service nhận các yêu cầu từ Back-end Service và gửi kết quả
dự đoán của mô hình học máy về.
o Django REST Framework làm cho việc deploy mô hình học máy
lên server trở nên dễ dàng hơn.
® Database:
o PostgreSQL là một hệ quản trị cơ sở dit liệu mã nguồn mở, có cộng
đồng người dùng và nhà phát trién lớn và tích cực.
o PostgreSQL được công nhận là một trong những hệ quản tri cơ sở
dữ liệu phổ biến nhất hiện nay Theo bảng xếp hạng của Engines, PostgreSQL đứng thứ 4 trong số 420 hệ thống cơ sở dữ liệu được đánh giá theo mức độ phổ biến ! PostgreSQL cũng được
DB-trao giải “Database System Of The Year” nhiều lần 2, chứng tỏ sự
tin tưởng và đánh giá cao của cộng đồng người dùng.
o_ Sử dụng PostgreSQL để lưu trữ và quản lý các dữ liệu của đề tài.
Chọn PostgreSQL vì nó là một hệ quản trị cơ sở dữ liệu có độ phổ
biến cao, được hỗ trợ bởi một cộng đồng lớn và tích cực, và được tin tưởng bởi nhiều tổ chức và doanh nghiệp hang dau thế giới.
! Tham khảo tai: DB-Engines Ranking - popularity ranking of database
management systems truy cập lần cuối 22-06-2023
? Tham khảo tại: PostgreSQL is the DBMS of the Year 2020 (db-engines.com) truy
cập lần cuối 22-06-2023
Trang 19o Docker là một công nghệ cho phép tạo và chạy các ứng dung bằng
cách sử dụng các container, là các đơn vị phần mềm độc lập có chứa tất cả những gì cần thiết dé hoạt động Docker giúp đóng gói ứng
dụng với các thư viện, cấu hình và phụ thuộc của nó vào một
container nhỏ gọn và di động, có thể chạy trên bất kỳ máy tính nào
có cài đặt Docker.
Docker giúp tạo ra các ứng dụng nhất quán và có thể tái sử dụng trên các môi trường khác nhau, từ môi trường local đến môi trường
production.
Sử dụng Docker giúp đơn giản hóa việc triển khai và quản lý ứng
dụng trên nhiều môi trường khác nhau một cách nhất quán và linh
hoạt.
Docker Compose:
o Docker Compose là một công cụ cho phép lập trình viên định nghĩa
và chạy nhiều container như một dịch vụ duy nhất, sử dụng một tệp YAML Có thé chỉ định các phụ thuộc, cầu hình, mang, tập tin và
các khía cạnh khác của dịch vụ của bạn trong tệp này, và sau đó sử
dụng lệnh docker-compose để xây dựng, khởi động, dừng các
container.
Docker Compose giúp đơn giản hóa và thuận tiện hơn trong việc
quản lý các container, bằng cách cho phép chỉ cần một tệp và một lệnh để định nghĩa và chạy các dịch vụ.
Việc sử dung Docker và Docker Compose dé deploy lên server là
một giải pháp đơn giản, nhanh chóng và tiện lợi cho việc triển khai
ứng dụng.
Trang 202.2 Các nghiên cứu liên quan
Đây là lĩnh vực được rất nhiều nhà nghiên cứu quan tâm, bởi lợi ích thực tế cho
nhiều bên Bên cạnh đó, với sự phát triển của công nghệ thông tin, nhóm trình bày một số công trình nghiên cứu gần đây như sau:
Trong nghiên cứu của họ được xuất bản vào năm 201 §, Michael Schultz và cộng
sự đã áp dụng một thuật toán mới gọi là “Air Traffic Managemen Airport
Performance weather algorithm” dé khảo sát ảnh hưởng của các điều kiện thời tiết
đến hiệu suất hoạt động của sân bay Thuật toán này sử dụng dữ liệu về các lớp thời
tiết được xếp hạng theo mức độ tác động từ thấp đến cao dé tạo ra một chỉ số tông
hợp, dựa trên đó đánh giá tỉ lệ hủy bỏ và trễ chuyến của các chuyến bay Khóa luận
này tham chiếu đến nghiên cứu trên dé lựa chọn các biến thời tiết cần thiết cho phân
nhị phân, sau đó nhóm nghiên cứu đã sử dụng dữ liệu năm 2016 của lịch trình các
chuyến bay và thời tiết dé kiểm thử và đạt được độ chính xác 80,36% với tập dữ liệu kiểm thử nhưng đối với độ chính xác của lớp thiểu vẫn chưa được giải quyết hiệu quả [6] Day là bài báo nghiên cứu được nhóm sinh viên tham khảo chính đề áp dụng vào
đề tài, bao gồm: phương pháp xử lý dữ liệu mắt cân bằng và cách đánh giá mô hình học máy khi đữ liệu của tập kiểm thử mắt cân bằng.
Đến năm 2019, ứng dụng hệ thống tự động giám sát máy bay qua vệ tỉnh và
phát quảng bá B (tự động giám sát máy bay qua vệ tinh và phát quảng bá
ADS-B) để xây dựng bộ dữ liệu quy mô lớn, nhóm nghiên cứu của Guan Gui đã thu thập
được rất đa dạng dữ liệu từ đó kết hợp với thực nghiệm với hai toán: Random Forest
và Long Short-Term Memory đã đạt được độ chính xác 90.2% với bài toán phân lớp nhị phân [3].
Trang 21Vào năm 2021, sử dụng dữ liệu các chuyến bay và dữ liệu thời tiết của Trung Quốc từ năm 2016 đến năm 2017 với 19 cột và hơn 32.000 dòng, nhóm nghiên cứu
của Mingao Lu áp dụng thuật toán phân lớp GBDT và XGBoost đề huấn luyện mô hình và kiểm thử với tỉ lệ 75%/25% Kết quả trên 80% về độ chính xác, Fl-score, Recall và Precision đạt hơn 0,8 trong bài toán phân loại đa lớp (trễ 5 phút, 15 phút và
30 phút với thời gian hạ cánh theo kế hoạch) [2].
Nhóm nghiên cứu tham khảo các bài báo nghiên cứu của Guan Gui [3] và
Mingao Lu [2] nhằm tìm hiểu cách xây dựng và lựa chọn mô hình học máy về dự đoán trễ chuyến bay Về cách thức thu thập và các đặc trưng của bộ dữ liệu, do còn nhiều hạn chế về nguồn dữ liệu và khả năng của mỗi thành viên nhóm sinh viên không
tham khảo.
Trang 22Chuong3 XÂY DỰNG MÔ HÌNH HỌC MAY
3.1 Quy trình tổng quan
Tổng quan các bước áp dụng cho dé tai được trình bày theo tóm tắt tuần tự như sau:
Nhóm bắt đầu bằng việc khảo các nguồn cung cấp dữ liệu trên internet Cân
nhắc các yếu tố như: kha năng khai thác lâu dài, dữ liệu lịch sử có thé lấy, chi phí,
Sau đó tiền hành xây dựng các luồng thu thập và lưu trữ vào kho dữ liệu.
Hình 3-1 mô tả từ giai đoạn dữ liệu từ cơ sở dữ liệu sau đó được làm sạch và
biến đồi trước khi đưa vào mô hình học máy thông qua việc loại bỏ, quy đồi dữ liệu
tiếp đến các đặc trưng có kiểu dữ liệu phân loại được mã hóa one-hot.
Dữ liệuthô Quy đối, loại bỏ ễ Xử lý giá trị Mã hoá one hot Tép dữ liệu
kí tự dư thửa rỗng, bat thường dữ liệu phan loại
Hình 3-1 Quy trình xử lý dữ liệu thô
Hình 3-2 mô tả giai đoạn dữ liệu được xử lý mắt cân bằng thông qua 2 kỹ thuật
Random undersampling và Synthetic Minority Oversampling Technique (SMOTE),
sau khi áp dụng các kỹ thuật này tập dữ liệu được đưa vào các mô hình học máy nhằm đánh giá mức độ ảnh hưởng của một số đặc trưng.
Tp dữ liệu lâm thiểu mẫu đặc trưng cho mô hình học may
‘Chuan hóa dữ liệu
Hình 3-2 Quy trình xử lý mất cân bằng và trích chọn đặc trưng Hình 3-3 mô tả quy trình tổng quan việc áp dụng các mô hình học máy và các phương thức đánh giá nhằm lựa chọn ra mô hình phù hợp cho bài toán.
Trang 23„ Random 1 Forest
3.2.1 Khao sát các nguồn dữ liệu
3.2.1.1 Dữ liệu về thông tin chuyến bay trong nước
“> Trang Flightradar24 [10]
¢ Giới thiệu: Flightradar24 là một trang web theo dõi chuyến bay trực tiếp trên
toàn thế giới, cho phép bạn xem vị trí, hướng, tốc độ, độ cao và nhiều thông tin khác của các máy bay đang bay.
© Yếu tố nổi bat: Flightradar24 có một số tính năng nôi bật như:
o_ Hiển thị bản đồ 3D của các chuyến bay, cho phép bạn xem máy bay từ
nhiều góc độ khác nhau.
o_ Cung cấp thông tin chỉ tiết về các sân bay, như số hiệu đường băng,
thời tiết, lưu lượng khách và các chuyền bay đến va đi.
o Cho phép ban tìm kiếm các chuyến bay theo nhiều tiêu chí khác nhau,
như hãng hàng không, điểm khởi hành, điểm đến, thời gian và nhiều
hơn nữa.
o Có ứng dụng di động cho iOS và Android, cho phép bạn theo dõi không
lưu từ điện thoại của bạn.
¢ D6 tin cậy: Flightradar24 là một trong những trang web theo dõi chuyến bay
uy tín và phố biến nhất thế giới, với hơn 2 triệu người dùng mỗi ngày Flightradar24 sử dụng nhiều nguồn dữ liệu khác nhau để cập nhật vị trí của các máy bay, bao gồm ADS-B, MLAT, radar và dữ liệu từ các hãng hàng
10
Trang 24không va sân bay Tuy nhiên, Flightradar24 cũng có một số hạn chế, changhạn như không thể theo dõi được một số khu vực không có tín hiệu ADS-B
hoặc radar, hoặc có thé có sai số trong việc ước tính vị trí của các máy bay khi
mất kết nối
e Dữ liệu lich sử: Flightradar24 lưu trữ dit liệu lịch sử của các chuyến bay trong
7 ngày qua Bạn có thê xem lại các chuyến bay đã diễn ra trong quá khứ bằngcách chọn ngày va giờ mong muốn trên bản đồ Bạn cũng có thé xuất dữ liệulịch sử của các chuyến bay thành các tệp CSV hoặc KML để phân tích hoặc
sử dụng cho các mục đích khác.
e_ Giá: Flightradar24 cung cấp nhiều gói dịch vụ khác nhau, từ miễn phí đến trả
phí Gói miễn phí cho phép bạn xem bản đồ cơ bản của các chuyến bay hiện
tại và quá khứ trong 7 ngày qua Gói Silver (9.99 USD/năm) cho phép bạn
xem bản đồ 3D của các chuyến bay, xem thông tin chỉ tiết của các máy bay và
sân bay, va loc các chuyến bay theo nhiều tiêu chí Gói Gold (19.99 USD/năm)
cho phép bạn xem radar thời gian thực của các khu vực được chọn, xem thông
tin ATC (kiểm soát không lưu) và METAR (thông tin thời tiết hàng không),
và xuất đữ liệu lịch sử của các chuyến bay Gói Business (49.99 USD/tháng)cho phép bạn xem radar thời gian thực của toàn cầu, xem thông tin chỉ tiết củacác chuyên bay, sử dung API dé truy cập dữ liệu của Flightradar24, và có hỗ
trợ ưu tiên.
* > API aviationstack [11] >
e Giới thiệu: aviationstack là một API dữ liệu hàng không toàn cầu và trạng thái
chuyên bay thời gian thực, cho phép bạn truy cập vào các thông tin về các
chuyến bay, sân bay, hãng hàng không, máy bay, thành phó, quốc gia và thuế
hàng không.
e Yếu tổ nồi bật: aviationstack có một số tinh năng nổi bật như:
o_ Cung cấp dữ liệu về các chuyến bay hiện tại và quá khứ, bao gồm vị
trí, hướng, tốc độ, độ cao, thời gian khởi hành và đến, và nhiều thông
tin khác.
11
Trang 25o_ Cung cấp dữ liệu về các lịch trình bay, tuyến đường bay, thong tin ATC
(kiểm soát không lưu) và METAR (thông tin thời tiết hàng không) của
các hãng hàng không và sân bay trên toàn thế giới.
o Cung cấp dữ liệu về các sân bay, hãng hàng không, máy bay, thành phó,
quốc gia và thuế hàng không, bao gồm mã IATA, ICAO, tọa độ, múi giờ, dân số, diện tích và nhiều hơn nữa.
o Có một API REST đơn giản và mạnh mẽ, cho phép bạn truy cập vào
dữ liệu của aviationstack bằng các yêu cầu HTTP.
© Độ tin cậy: aviationstack là một API dữ liệu hàng không uy tín va chất lượng
cao, được sử dụng bởi hơn 5.000 công ty trên toàn thế giới aviationstack sử
dụng nhiều nguồn dữ liệu khác nhau để cập nhật dữ liệu của các chuyến bay, bao gồm ADS-B, MLAT, radar và dữ liệu từ các hãng hàng không và sân bay aviationstack cũng có một hệ thông an ninh ngân hang dé bảo vệ dữ liệu của
bạn.
e Dé liệu lịch sử: aviationstack lưu trữ dữ liệu lich sử của các chuyến bay trong
365 ngày qua Bạn có thé xem lại các chuyến bay đã diễn ra trong quá khứ
bằng cách sử dụng tham số date_from và date_to trong yêu cầu API của bạn.
Bạn cũng có thé xuất dữ liệu lịch sử của các chuyến bay thành các tệp CSV hoặc KML để phân tích hoặc sử dụng cho các mục đích khác.
¢ Giá: aviationstack cung cấp nhiều gói dịch vụ khác nhau, từ miễn phí đến trả
phí Gói miễn phí cho phép bạn có 100 yêu cầu API miễn phí mỗi tháng Gói
Basic (9.99 USD/tháng) cho phép bạn có 10.000 yêu cầu API mỗi tháng và
truy cập vào các tính năng như bản đồ 3D của các chuyến bay, thông tin ATC
và METAR Gói Professional (49.99 USD/tháng) cho phép bạn có 50.000 yêu
cầu API mỗi tháng và truy cập vào các tính năng như radar thời gian thực của toàn cau, thông tin chỉ tiết của các chuyến bay và hỗ trợ ưu tiên.
Lya chọn Flightradar24 làm nguồn dữ liệu chuyến bay vì có những ưu điểm quan
trọng như sau:
12
Trang 26e Dé liệu lịch sử chuyến bay: Flightradar24 cung cấp khả năng truy cập vào dữ
liệu lịch sử chuyến bay, cho phép xem lại các thông tin về các chuyến bay
trong quá khứ Điều này rất hữu ích để nghiên cứu và phân tích dữ liệu, so sánh và tìm hiểu xu hướng trong các hoạt động hàng không.
e Không giới hạn số lần request: Một ưu điểm quan trọng của Flightradar24 là
không bị giới hạn số lần request khi truy cập dữ liệu Điều này cho phép thu thập dữ liệu một cách tự do và linh hoạt mà không cần lo ngại về giới hạn yêu
cầu hoặc mức giới hạn sử dụng.
© Da dang thông tin chuyến bay: Flightradar24 cung cấp thông tin chỉ tiết về
chuyến bay, bao gồm tình trạng, mã chuyên bay,thời gian cat cánh, hạ cánh dự kiếnvà nhiều thông tin khác.
3.2.1.2 Dữ liệu về thời tiết trong nước
“+ Timeanddate [9]:
¢ Giới thiệu: timeanddate.com là một trang web cung cấp các dich vụ liên quan
đến thời gian và ngày tháng, như đồng hồ thế giới, lich, máy tính ngày, bộ đếm
thời gian, tin tức thời gian và các sự kiện.
e _ Yếu tố nổi bật: timeanddate.com có một số tính năng nỗi bật như:
o Cho phép ban xem thời gian hiện tai của bat kỳ thành phố nào trên thé
giới, cũng như các thông tin về múi giờ, thời tiết, mặt trời, mặt trăng và nhiều hơn nữa.
o Cho phép bạn tạo và in lịch cho bat ky năm nao, cũng như xem các
ngày lễ và sự kiện của các quốc gia khác nhau.
o_ Cho phép bạn tính toán khoảng cách thời gian giữa hai ngày bất kỳ,
đếm ngược đến bất kỳ ngày nào, hoặc sử dụng bộ đếm giờ hoặc báo
thức.
o_ Cung cấp các tin tức và bài viết về các chủ đề liên quan đến thời gian,
như các hiện tượng thiên văn, các thay đổi múi giờ, các cuộc khảo sát
vệ giờ mùa hè và nhiêu hơn nữa.
13
Trang 27e D6 tin cậy: timeanddate.com là một trong những trang web uy tín và phô biến
nhất về thời gian và ngày tháng, với hơn 20 năm kinh nghiệm và hàng triệungười dùng mỗi ngày timeanddate.com sử dụng các nguồn dữ liệu chính xác
và cập nhật dé cung cấp các thông tin về thời gian và ngày tháng cho các quốc
gia và thành phô trên toàn thế giới Tuy nhiên, timeanddate.com cũng có một
số hạn ché, chăng hạn như không thể theo đõi được một số khu vực không có
dữ liệu về múi giờ hoặc thời tiết, hoặc có thể có sai số trong việc hiển thị thờigian do sự khác biệt của các thiết bị
e Dé liệu lịch sử: timeanddate.com lưu trữ dữ liệu lịch sử của các ngày lễ và sự
kiện của các quốc gia khác nhau trong nhiều năm qua Bạn có thé xem lại các
ngày lễ và sự kiện đã diễn ra trong quá khứ băng cách chọn năm mong muốntrên trang web Bạn cũng có thể xem lại các tin tức và bài viết về các chủ đềliên quan đến thời gian trong quá khứ trên trang web
e Giá: timeanddate.com cung cấp các dich vụ miễn phí cho tat cả người dùng
Bạn không cần đăng ký hoặc thanh toán dé sử dụng các tính năng của trang
web Tuy nhiên, bạn cũng có thể đóng góp cho trang web bằng cách quyên
góp hoặc mua các sản phẩm như áo thun, cốc, sách hoặc ứng dụng đi động của
trang web.
¢ Trung tâm Dự báo Khí tượng Thủy văn Quốc gia (NCHME) [16]>
e Giới thiệu: NCHMF là đơn vi trực thuộc Tổng cục Khí tượng Thuỷ văn, Bộ
Tài nguyên và Môi trường, được thành lập theo quyết định 696/QD-BTNMT
ngày 08 tháng 03 năm 20181 Nhiệm vụ chính của NCHMF là thực hiện dự
báo, cảnh báo và phân tích các hiện tượng khí tượng thủy văn trên đất liền,biển và khu vực lân cận
e Yếu tố nồi bật: NCHMF sử dụng các sản phẩm mô hình, vệ tinh, radar, quan
trac dé cung cấp các thông tin dự báo, cảnh báo chính xác và kịp thời cho các
cơ quan quản lý nhà nước, các tô chức, doanh nghiệp và người dân NCHMF
cũng tham gia vào các hoạt động nghiên cứu khoa học và hợp tác quốc tế trong
lĩnh vực khí tượng thủy văn.
14
Trang 28e Độ tin cậy: NCHMF có đội ngũ nhân viên chuyên môn cao, có kinh nghiệm
và năng lực trong việc dự báo, cảnh báo các hiện tượng khí tượng thủy văn.
NCHMF cũng liên tục nâng cao chất lượng và hiệu quả của công tác dự báo,
cảnh báo bằng cách áp dụng các công nghệ tiên tiến và phù hợp với điều kiện
Việt Nam.
e - Dữ liệu lịch sử: NCHMF có hệ thống lưu trữ và quản lý dữ liệu khí tượng thủy
văn lâu dai va đa dạng, bao gồm các số liệu quan trắc, mô hình, ảnh vệ tinh,radar, bản đồ mưa, sóng biển, dòng chảy, nước dâng va các thông tin dự báo,
cảnh báo trong quá khứ NCHME cũng có website https://www.nchmf.gov vn/
dé công khai và cập nhật các dit liệu khí tượng thủy văn cho công chúng
e Giá: NCHMF không thu phí cho việc cung cấp các thông tin dự báo, cảnh báo
khí tượng thủy văn trên website https://www.nchmf.gov.vn/ Tuy nhiên, nếu
có yêu cầu về các dịch vụ khác như cung cấp dữ liệu lịch sử, phân tích chuyênsâu, tư vấn chuyên môn hoặc hợp tác nghiên cứu khoa học, có thể liên hệ trực
tiếp với NCHME đề được báo giá
Trên cơ sở cân nhac các tiêu chí vê độ tin cậy, độ phủ sóng, độ chính xác va khả năng
truy cập dữ liệu, Timeanddate được lựa chọn làm nguôn dữ liệu thời tiêt cho nghiên cứu này Timeanddate có các ưu điệm như:
e Có thé thu thập dữ liệu một cách dễ dang hon so với NCHMF
e Timeanddate cung cap dữ liệu thời tiết theo giờ, ngày và tuần, trong khi
NCHME chỉ cung cấp theo ngày và tuần
e_ Timeanddate cung cấp dữ liệu thời tiết lich sử từ năm 2009 đến nay, trong
khi NCHME không công khai dữ liệu lich sử trên website.
15
Trang 29Đầu tiên, tổng hợp toàn bộ các sân bay ở Việt Nam, duyệt theo từng sân bay
thực hiện các bước như sau:
1 Sử dụng thư viện requests:
e Gửi yêu cầu HTTP đến trang Flightradar24 và Timeanddate
©_ Lưu phản hồi vào biến response
e Lấy dữ liệu HTML từ phản hồi bằng cách truy cập thuộc tính chứa nội
dung cần lấy của response
2 Sử dụng thư viện BeautifulSoup:
e Tao đối tượng BeautifulSoup bằng cách sử dụng dữ liệu HTML từ
bước trước và lựa chọn trình phân tích cú pháp.
e Sử dụng các phương thức và thuộc tính của BeautifulSoup dé tìm các
thẻ chứa thông tin cần thiết
e_ Trích xuất dữ liệu từ các thẻ bằng cách sử dụng các phương thức và
thuộc tính của BeautifulSoup.
3 Sử dụng thư viện pandas:
e Tạo DataFrame rỗng với các cột tương ứng với dữ liệu cần thu thập
e_ Duyệt qua các phan tử đã trích xuất từ BeautifulSoup
e_ Trích xuất thông tin cần thiết từ các phan tử và thêm vào DataFrame
bang cách sử dụng phương thức append()
Sau khi thu thập xong 1 sân bay hoặc đến ngưỡng lưu trữ ram nhất định cầntiến hành lưu dữ liệu thành tệp CSV
16
Trang 30Trong quá trình thu thập dữ liệu lần 1, khi sử dụng các phương pháp và công
cụ như requests, beautifulsoup, pandas và numpy dé thu thập dữ liệu từ hai trang web
là Flightradar24 và Timeanddate Tuy nhiên, trong quá trình thực hiện, đã phát sinh
một số nhược điểm và hạn chế của phương pháp thu thập dữ liệu này:
1 Đơn luồng và không tối ưu về thời gian thu thập:
e Việc sử dụng đơn luồng trong quá trình thu thập dữ liệu trên một máy
tính đã làm giới hạn hiệu suất và tốc độ thu thập dit liệu Do đó, thời
gian đề thu thập dữ liệu từ nhiều chuyến bay và vị trí thời tiết là lâu hơn
và không tối ưu
2 Lưu trữ dữ liệu dưới dạng file CSV:
e Dữ liệu thu thập được lưu trữ dưới dạng các file CSV trên máy tính cá
nhân Việc lưu trữ dữ liệu local này không thuận tiện cho việc chia sẻ
dữ liệu giữa các thành viên trong nhóm và gây rủi ro khi máy tính bị
hỏng.
Từ những nhược điểm và hạn chế của đợt thu thập dữ liệu lần 1, nhận thức rõ
hơn về những van đề cần cải thiện và hoàn thiện Dot thu thập dữ liệu lần 2 sẽ tậndung framework NestJS, lưu trữ dữ liệu trong cơ sở dữ liệu Điều này sẽ giúp xâydựng một hệ thống thu thập dữ liệu mạnh mẽ, đáng tin cậy và có khả năng mở rộng
cho các mục đích phân tích và ứng dụng trong tương lai.
Kết quả thu được: Khảo sát dữ liệu, tệp danh sách mã chuyến bay và tệp vịtrí, thời gian của thời tiết phục vụ cho đợt thu thập thứ 2
17
Trang 313.2.2.2 Giai đoạn 2 — tháng 5/2023
Dot thu thập dir liệu lần 2 đã được tiến hành với mục tiêu xây dựng một API
bằng framework NestJS đề thu thập dữ liệu chuyến bay và dữ liệu thời tiết từ các vịtrí được xác định trước từ đợt 1 đồng thời lên lịch tự động thu thập dữ liệu hàng ngày
từ trang Flightradar24 thông qua gửi request đến API của Flightradar24, và dit liệu
thời tiết được trích xuất từ trang Timeanddate bằng thư viện Cheerio Cả hai loại dữ
liệu này sau đó được lưu trữ vào cơ sở dữ liệu.
s* Thu thập dữ liệu chuyến bay từ trang Flightradar24:
Crawl flights data
e Xây dựng một API thu thập dit liệu bang framework NestJS, cho phép gửi yêu
cầu và lưu trữ dữ liệu vào cơ sở dtr liệu trên VPS
2 Phân chia và thực hiện thu thập:
e Danh sách mã chuyến bay thu thập từ đợt 1 đã được chia thành các phần nhỏ
hơn.
18
Trang 32Mỗi phần đã được giao cho một máy worker riêng, các máy worker thay phiên
nhau gửi yêu cầu lên API với mã chuyến bay tương ứng dé thu thập dữ liệu.Các máy worker đã được cấu hình dé hoạt động đồng thời và tối ưu hóa thời
gian thu thập dữ liệu.
Thu thập dữ liệu thời tiết từ trang Timeanddate:
Đề thu thập dữ liệu thời tiết, đã sử dụng máy ảo VPS dé thực hiện việc này
Đã xây dựng một API thu thập dữ liệu bang framework NestJS, cho phép gửi
yêu cầu và lưu trữ dir liệu vào cơ so dtr liệu trên VPS
Thu thập dữ liệu từ các vi trí đã xác định:
Đã sử dụng danh sách các vi trí đã được xác định trước từ dot 1.
Mỗi vị trí đã được gửi yêu cầu đến trang Timeanddate thông qua một ứngdụng NodeJS dé thu thập dữ liệu thời tiết tại vị trí đó
Dữ liệu thu thập được từ mỗi vị trí đã được gửi đến API dé lưu trữ vào cơ sở
dữ liệu trên VPS.
3 Kết quả thu thập
Đợt thu thập dữ liệu lần 2 đã thu thập dữ liệu chuyến bay từ trang Flightradar24
và dữ liệu thời tiết từ trang Timeanddate Sự tận dụng hiệu qua của máy ao VPS và
xây dựng các API đã giúp thu thập và lưu trữ dữ liệu một cách tự động và hiệu quả.
Điêu này sẽ đáng giá trong các bước phân tích và ứng dụng dữ liệu trong dự án.
19
Trang 33cua trang Flight Radar 24
flightNumber Số hiệu chuyến bay
Mô tả trạng thái chuyến bay
statusText
dang van ban
Trang thai chuyén bay dang
statusIcon
nhãn (green, red, yellow)
aircraftCode Ma may bay
_ departure Mã sân bay điểm khởi hành
arrival Mã sân bay điểm đến
flightDate \ Ả Ngày bay
scheduledDeparture Thời gian dự kiến khởi hành
scheduledArrival Thời gian dự kiến đến
realDeparture Thời gian thực khởi hành
realArrival Thời gian thực đếnduration Thời gian bay (tính bang giây)
aircraftRegistration Định danh cho mỗi máy bay
20
Trang 34Biểu đồ thể hiện phân bố của tập dữ liệu "flights"
Hình 3-6 Biéu đồ cột thé hiện phân bố của dit liệu “flights” theo năm
Bang 3-2 Bảng thống kê số lượng các nhãn sau khi thu thập
Đúng giờ
Trễ < 1 tiếng 62.111Tré >= | tiếng
Không xác định Dời chuyên
21
Trang 35time Thoi gian thoi tiét
date Ngày thời tiết
temp Nhiệt độ thời tiết weather Thông tin về tình trạng thời tiết location Vị trí thời tiết
Trang 36Biểu đồ thể hiện phần trăm số lượng các lớp sau
khi thu thập
11.88
72.33
mĐúnggiờ "= 15p >= Trễ< 1h Tré>=1h =Khôngtínhiệu "mDời = Huy
Hình 3-7 Biéu tròn thé hiện phan trăm số lượng các lớp sau khi thu thập
Các nghiên cứu tham khảo [2][3][4], chi tập trung vào kha năng dự đoán 2 yếu tốchính là đúng giờ và trễ giờ Bài nghiên cứu của Sun Choi đề cập đến việc các chuyến
hủy và bị dời được gộp nhóm vào lớp hủy [6] Khác với các nghiên cứu đó, nhóm
mong muốn mô hình có khả năng dự đoán được khả năng hủy chuyến Hình 3-7, chothấy rằng mức độ mat cân bang giữa các nhãn là rất cao vì vậy rất khó dé có hiệu suất
tốt nếu dự đoán phân lớp dựa vào các phân lớp sau khi thu thập Sau nhiều khoảng
thời gian thực nghiệm với các mô hình phân lớp khác nhau, nhóm nghiên cứu quyếtđịnh lựa chọn bài toán phân lớp gồm có: đúng giờ, trễ giờ và hủy vì cho hiệu suất phùhợp nhất Trong đó lớp trễ giờ được gộp từ các từ các chuyến bay bị trễ từ 15 phút
đến 1 giờ và trễ trên 1 giờ, lớp hủy được gộp từ các chuyến bị hủy và bị dời
3.3.1 Cac vấn đề liên quan đến giá trị
Đề hạn chế trong việc mat mát thông tin, dữ liệu trong giai đoạn thu thập luôn
dé nguyên giá trị và kiểu dit liệu ban đầu Khi đã hoàn tất xong quá trình thu thập,các trường cần được xử lý lại để có kiểu dữ liệu và giá trị thích hợp
23
Trang 373.3.1.1 Dữ liệu về các chuyến bay
a) Các cột liên quan đến thời gian
Kiểu định dạng thu thập được ở định dạng chuẩn ISO 8601 Bao gồm các phần
sau:
e yyyy-mm-dd: Đại diện cho ngày tháng năm.
e hh:mm:ss:SSS: Đại diện cho giờ, phút, giây va mili giây trong định dạng
gid:phut:giay.mili giây.
e “UTC offset”: Đại diện cho múi giờ
Không cần sử dụng đến “UTC offset”, giây va mile giây Khi kết hợp với bộ dữliệu thời tiết thì thực hiện phép kết dựa trên địa địa điểm, giờ và phút
>,
+* Phuong thức xử ly
Loại bỏ “UTC offset”, giây va mili giây Việc loại bỏ giúp quá trình tai và xử lý
trong chương trình nhanh hơn đồng thời dữ liệu không chứa thông tin dư thừa
24
Trang 38b) Giá trị dư thừa, nhiễu
“ Mô tả
QH1334 03:34 (UTC) SGN 2021-10-27
VN1717 06:18 (UTC) HAN 2021-11-15
VJ310 17:04 HUI 20: 4-11 VI304 11:48 HUI 2020-11-27
Hình 3-9 Dữ liệu minh họa các mẫu dữ liệu có “signal” là “gray”
Trong quá trình thu thập, ngoài các nhãn liên quan, việc thu thập có một nhãn
không được xác định, nhãn này được gán khi trang chủ không chắc chắn về tín hiệunhận được Ngoài ra, dữ liệu có chứa các chuyến bay ra nước ngoài, các mẫu dữ liệu
có nơi đi với nơi đến giống nhau, thời gian bay là số âm, giá trị “Unknown” và
“Unknow” ở cột thời gian hạ cánh thực tế, thời gian cất cánh và hạ cánh có cùng thờigian, bi thiếu thôn g tin ở các cột thời gian hạ cánh dự ki ến và cột trạn g thái của chuyên
bay.
“+ Phuong thức xử lý
Loại bỏ tất cả các dòng giống với mô tả Vì số lượng mẫu giỗng mô tả ít nên
không gây ảnh hưởng nhiều
3.3.1.2 Dữ liệu thời tiết
1) Chuẩn hóa và loại bỏ ký hiệu don vi
+ Cột “wind”
o Mô tả
25
Trang 39Hình 3-10 Dữ liệu minh họa cột “wind”
Don vị trong cột “wind” bao gồm kilômét trên giờ (km/h) và dặm trên giờ
(miles per hour — mph) Ly do vì trong quá trình thu thập dir liệu, các máy có sử dụng
mạng riêng ảo (virtual private network) dẫn đến trường hợp địa chỉ IP ( IP adress)của máy có thé ở các nước sử dụng đơn vị đo sức gió bang mph hoặc km/h làm đơn
vị đo quốc gia
Trong cột này, có trường hợp giá tri của dữ liệu là “No wind” tức không có
gió.
o Phương thức xử lý
Thống nhát sử dụng đơn vị kilômét trên giờ làm đơn vị chung Biến đổi các
dòng giá tri có đơn vi dặm trên giờ với công thức sau:
V(km/h) = V(mph) x 1.609344
Đối với trường hợp “No wind”, biến đổi các dòng có giá trị này bang 0
Sau đó, loại bỏ ký tự đơn km/h trong các dòng, vì khi này tat cả đã chung 1
đơn vị đo.
“+ Cot “temp”
o Mô tả
26
Trang 40Hình 3-11 Dữ liệu minh họa cột “temp”
Don vi trong cột “temp” bao gồm Celsius (°C) va Fahrenheit (°F) Lý do vì
trong quá trình thu thập dữ liệu, các máy có sử dụng mạng riêng ảo (virtual private
network) dẫn đến trường hợp địa chỉ IP ( IP address) của máy có thể ở các nước sửdụng đơn vị đo sức gió bằng Celsius hoặc Fahrenheit làm đơn vị đo quốc gia
o Phương thức xử lý:
Thống nhất sử dụng đơn vị kilômét trên giờ làm đơn vị chung Biến đổi các
dòng giá tri có đơn vi dặm trên giờ với công thức sau:
°C = (°F — 32)/18
Sau khi chuyền sang độ °C cần làm tròn tới phần nguyên của giá trị trong cột
giảm thiểu bộ nhớ khi xử lý.
Sau đó, loại bỏ ký tự don km/h trong các dòng, vì khi này tat cả đã chung | đơn vị
đo.
27