Phân Tích Rủi Ro An Toàn Hàng Không Và Đánh Giá Kỹ Thuật Bay - Giải Pháp Toàn Diện MathorCup 2023

Cuộc Thi Mô Hình Toán MathorCup Lần Thứ 13 Năm 2023

Bài Toán D: Phân Tích Rủi Ro An Toàn Hàng Không Và Đánh Giá Kỹ Thuật Bay

Tổng Quan Bài Toán

An toàn bay là nền tảng tồn tại và phát triển của ngành vận tải hàng không dân dụng. Với sự phát triển nhanh chóng của ngành hàng không Việt Nam, việc nghiên cứu các vấn đề liên quan đến an toàn bay trở nên ngày càng quan trọng. Tai nạn hàng không nghiêm trọng không chỉ gây ra thiệt hại kinh tế lớn cho các hãng hàng không mà còn đe dọa tính mạng của hành khách. Do đó, cần tập trung vào vấn đề an toàn bay, tăng cường nghiên cứu an toàn hàng không, tận dụng tối đa dữ liệu hiện có để quản lý khoa học, thông qua các biện pháp kiểm soát có mục đích và hệ thống để nâng cao chất lượng của nhân viên, giám sát và cảnh báo rủi ro, từ đó giảm thiểu xác suất xảy ra tai nạn bay.

Dữ liệu an toàn hàng không lớn chủ yếu bao gồm dữ liệu từ thiết bị ghi nhanh (QAR - Quick Access Recorder), thiết bị này ghi lại các thông số bay trong quá trình máy bay hoạt động. Trong giám sát chất lượng bay (FOQA), dữ liệu vượt ngưỡng giới hạn do con người đặt ra trong QAR được gọi là dữ liệu vượt giới hạn. Ngoài ra, trong quá trình nghiên cứu thực tế, còn liên quan đến dữ liệu âm thanh cabin trong chuyến bay. Bài toán này chủ yếu liên quan đến dữ liệu QAR, dữ liệu này tương đối chuẩn hóa.

Trong nghiên cứu và ứng dụng giám sát chất lượng bay, hiện tại ngành hàng không trong nước chủ yếu tập trung vào hai khía cạnh: một là nghiên cứu, phân tích và ứng dụng các sự kiện vượt giới hạn; hai là phân tích thống kê và ứng dụng dữ liệu không vượt giới hạn. Đối với nghiên cứu sự kiện vượt giới hạn, thông thường是通过 đặt ngưỡng giới hạn cho các khu vực tập trung của các thông số bay, tìm ra các bản ghi bay vượt ngưỡng để phân tích trọng điểm, phòng ngừa các mối nguy hiểm tiềm ẩn gây ra tai nạn bay nghiêm trọng. Hiện tại, loại phân tích này là công việc chính của giám sát chất lượng bay, đảm bảo tốt công việc an toàn hiện tại, nhược điểm của nó là thiếu phân tích nguyên nhân vượt giới hạn. Bởi vì việc vượt giới hạn không phải hoàn toàn do yếu tố con người gây ra, ví dụ nhiều trường hợp là do điều kiện môi trường đặc biệt, thậm chí có thể là do yếu tố thiết kế, sản xuất của máy bay, do đó chỉ thông qua phân tích vượt giới hạn đơn thuần rất khó nhận diện; nếu chỉ dựa vào sự kiện vượt giới hạn để quản lý tổ bay, rất dễ đi sai hướng. Dữ liệu vượt giới hạn QAR có thể được sử dụng để hỗ trợ quản lý an toàn hàng không và dữ liệu huấn luyện bay.

Giá trị G là phản ánh trực tiếp tình trạng quá tải trong quá trình bay của máy bay, trong phân tích an toàn hạ cánh, G thường là chỉ tiêu quan trọng mô tả tính an toàn tại thời điểm tiếp đất. Giá trị G tại thời điểm hạ cánh được định nghĩa là giá trị G lớn nhất trong dữ liệu 2 giây trước và 5 giây sau khi máy bay tiếp đất.

Dựa trên bối cảnh trên, yêu cầu các đội giải quyết các vấn đề sau:

Bài toán 1: Một số dữ liệu QAR có sai sót, cần tiền xử lý dữ liệu, loại bỏ dữ liệu giả, giữ dữ liệu thực, để giảm thiểu ảnh hưởng của dữ liệu sai đến nghiên cứu phân tích. Hãy tiến hành nghiên cứu độ tin cậy của chất lượng dữ liệu trong Phụ lục 1, trích xuất một số mục dữ liệu chính liên quan đến an toàn bay và phân tích mức độ quan trọng của chúng.

Bài toán 2: Trong toàn bộ quá trình bay từ cất cánh đến hạ cánh, máy bay được đảm bảo an toàn thông qua một loạt các thao tác điều khiển bay, bao gồm điều khiển nghiêng, điều khiển gập... Hiện tại, các hàng không trong nước giám sát các thao tác điều khiển bay thông qua việc theo dõi vượt giới hạn, mặc dù phương pháp này có thể nhanh chóng phân biệt trạng thái sai lệch của máy bay, nhưng nó chỉ có thể cho nhân quản lý biết điều gì đã xảy ra, không thể ngay lập tức xác định nguyên nhân gây ra sai lệch đó. Để giải quyết vấn đề này, có thể phân tích nguyên nhân gây ra sai lệch thông qua sự thay đổi của cần điều khiển. Theo Phụ lục 1, hãy mô tả định lượng hợp lý các thao tác điều khiển bay.

Bài toán 3: Nguyên nhân dẫn đến các trường hợp vượt giới hạn khác nhau là khác nhau, đôi khi là sân bay cụ thể dễ xuất hiện các loại vượt giới hạn cụ thể, đôi khi là thời tiết cụ thể dễ xuất hiện các loại vượt giới hạn cụ thể, đôi khi là phi công cụ thể dễ xuất hiện các loại vượt giới hạn cụ thể. Hãy nghiên cứu dữ liệu trong Phụ lục 2, phân tích các trường hợp vượt giới hạn khác nhau, nghiên cứu các đặc điểm cơ bản của các loại vượt giới hạn khác nhau, như phân tích máy bay dễ xuất hiện loại vượt giới hạn nào trên tuyến đường bay hoặc tại sân bay nào.

Bài toán 4: Nghiên cứu dữ liệu vận hành máy bay thường được chia thành hai loại: một loại là hiệu suất vận hành của phi công thu được thông qua kiểm tra an toàn vận hành tuyến đường (LOSA), loại còn lại là đánh giá kỹ thuật bay dựa trên các thông số bay theo đề xuất của các học giả liên quan. Theo Phụ lục 3, hãy xây dựng mô hình toán học, thảo luận về phương pháp đánh giá kỹ thuật bay dựa trên các thông số bay, phân tích kỹ thuật bay của phi công, trong đó "trình độ khác nhau" đại diện cho các cấp độ kỹ thuật khác nhau của phi công.

Bài toán 5: Với sự tiến bộ của công nghệ, trong tương lai, việc lắp đặt hệ thống ghi dữ liệu QAR truyền thời gian thực trên máy bay chở khách hàng không đã trở thành khả thi. Công nghệ "dữ liệu bay thời gian thực" này có thể truyền dữ liệu chuyến bay đến hệ thống phân tích mặt đất gần như trong thời gian thực, nâng cao đáng kể khả năng nhận diện rủi ro và mức độ phòng ngừa. Giả sử dữ liệu bay đã có thể truyền thời gian thực giữa máy bay và mặt đất, nếu bạn là nhân quản lý an toàn của hãng hàng không đó, hãy xây dựng cơ chế cảnh báo tự động thời gian thực của hãng hàng không để phòng ngừa các sự cố an toàn có thể xảy ra, kết hợp với dữ liệu trong Phụ lục 1, đưa ra kết quả mô phỏng.

Tổng Quan Quá Trình Giải Quyết (Tóm tắt)

Bài toán này chủ yếu phát triển mô hình cảnh báo sớm dựa trên phân tích rủi ro an toàn hàng không và đánh giá kỹ thuật bay. Thông qua các mô hình toán học như phương pháp trọng số entropy, rừng ngẫu nhiên, sử dụng các phần mềm như Python, Matlab, Spsspro, tiến hành mô tả định lượng các thao tác, phân tích thống kê các trường hợp vượt giới hạn khác nhau, cuối cùng, xây dựng mô hình cảnh báo tự động dựa trên các thông số để đánh giá kỹ thuật bay. Từ đó giảm thiểu tai nạn hàng không tại Việt Nam.

Đối với bài toán 1, đầu tiên sử dụng quy tắc Pauta và biểu đồ hộp để tiền xử lý dữ liệu trong Phụ lục 1, sau đó sử dụng Python để loại bỏ dữ liệu QAR bất thường trong Phụ lục 1, sau đó sử dụng trực quan hóa bằng Python để nghiên cứu độ tin cậy của dữ liệu, cuối cùng sử dụng phương pháp trọng số entropy để tính toán trọng số cụ thể của mỗi yếu tố ảnh hưởng, trong đó yếu tố có ảnh hưởng lớn nhất là trọng lượng máy bay, năm mục dữ liệu chính đầu tiên lần lượt là: tốc độ gió, độ cao vô tuyến, hướng gió, vị trí cần ga động cơ phải, vị trí cần ga động cơ trái.

Đối với bài toán 2, đầu tiên sử dụng phân tích hồi quy tuyến tính để phân tích giá trị F, sau khi xác minh kết quả, có thể bác bỏ rõ ràng giả thuyết gốc rằng tổng hệ số hồi quy bằng 0 (P<0.05). Điều này cho thấy có mối quan hệ tuyến tính và thông qua phân tích giá trị R² để đánh giá mức độ phù hợp của mô hình, đồng thời phân tích giá trị VIF, sau khi mô hình xuất hiện hiện tượng đa cộng tuyến, X thể hiện tính có ý nghĩa, kết hợp với giá trị B để khám phá mối quan hệ giữa X và Y và xác định công thức mô hình. Cuối cùng đưa ra kết luận: tổng của CAP CLM 1 POSN và CAP WHL 1 POSN làm đại lượng đặc trưng, khi tổng này lớn, cho thấy thao tác không ổn định, ngược lại là ổn định.

Đối với bài toán 3, đầu tiên phân tích vượt giới hạn đối với dữ liệu trong Phụ lục 2, thu được các loại vượt giới hạn khác nhau trong các trường hợp khác nhau (độ lệch đường bay quá cao hoặc quá thấp, tỷ lệ góc nghiêng quá cao hoặc quá thấp, v.v.), sau đó, sử dụng thuật toán phân tích tần suất và phân tích thông minh để phân tích tần suất dữ liệu vượt giới hạn, sử dụng spsspro để vẽ biểu đồ tỷ lệ tần suất vượt giới hạn. Thu được biểu đồ và bảng phân tích tần suất, cuối cùng có thể kết luận: loại vượt giới hạn máy bay dễ xuất hiện nhất là: khoảng cách từ 50 feet đến tiếp đất quá xa, khi giai đoạn bay là 6, sân bay đích là 68, dễ xuất hiện vượt giới hạn nhất.

Đối với bài toán 4, đầu tiên tiền xử lý dữ liệu trong Phụ lục 3, loại bỏ dữ liệu không liên quan và dữ liệu trống. Sau đó, dựa trên các thông số bay để đánh giá kỹ thuật bay, xây dựng các mô hình toán học như rừng ngẫu nhiên, hồi quy logistic, LGBM, sử dụng thuật toán học máy để đo lường độ chính xác tập huấn luyện và độ chính xác tập kiểm tra cũng như sai số tuyệt đối trung bình để đánh giá mô hình, từ hai phương pháp để đánh giá kỹ thuật bay của phi công (điểm huấn luyện, xác nhận chéo). Từ kết quả cuối cùng của mô hình, mô hình LGBM có độ chính xác dự báo tốt đối với dữ liệu.

Đối với bài toán 5, đầu tiên khai thác chuỗi thời gian của các đặc điểm hành vi học tập, thiết kế cơ chế cảnh báo sớm dựa trên mô hình tăng cường bộ nhớ thời gian, khai thác và dự báo cơ chế ra quyết định và can thiệp. Sau đó chọn ba thuật toán gần tối ưu để so sánh thực nghiệm, sau khi huấn luyện và kiểm tra đầy đủ dữ liệu, tính toán độ chính xác của ba tập con dữ liệu điển hình trong hình. Với sự gia tăng của các dấu thời gian dự báo, ưu thế của ILA + GAN càng rõ rệt hơn.

Giả Thuyết Mô Hình:

Kết hợp với thực tế của bài toán, để đảm bảo tính chính xác và hợp lý của việc giải mô hình, đề xuất các giả thuyết sau:

  1. Giả thuyết rằng tất cả dữ liệu trong các phụ lục được cung cấp trong bài toán này đều là thật và đáng tin cậy.
  2. Giả thuyết rằng ngoài các yếu tố được xem xét trong bài toán này, các yếu tố khác không ảnh hưởng đến tính toán của bài toán.
  3. Giả thuyết rằng các mẫu trong bài toán này không ảnh hưởng lẫn nhau, không liên quan với nhau, độc lập với nhau, các chỉ tiêu không gây nhiễu lẫn nhau.

Phân Tích Bài Toán:

Phân tích bài toán 1
Cần tiền xử lý dữ liệu QAR, loại bỏ dữ liệu giả, giữ dữ liệu thực, giảm thiểu ảnh hưởng và sai số của dữ liệu sai đối với nghiên cứu, tiến hành nghiên cứu độ tin cậy và chạy phân tích dữ liệu theo dữ liệu trong Phụ lục 1. Xử lý dữ liệu sơ bộ là kiểm tra, lọc và sắp xếp cần thiết cho dữ liệu thu thập trước khi phân loại hoặc nhóm. Trong bài toán này, đầu tiên chúng tôi sử dụng quy tắc Pauta và biểu đồ hộp để tiền xử lý dữ liệu, loại bỏ dữ liệu sai trong dữ liệu QAR đã biết, tiến hành phân tích ở mức độ sâu hơn, sử dụng phương pháp trọng số entropy và trực quan hóa bằng Python để tính toán trọng số, phân tích trọng số của các chỉ tiêu, vẽ biểu đồ trực quan hóa trọng số, cuối cùng đưa ra kết luận: trọng số càng cao, mức độ quan trọng càng cao; ngược lại càng thấp.

Phân tích bài toán 2
Trong toàn bộ quá trình bay, từ cất cánh đến hạ cánh, an toàn bay chịu ảnh hưởng của điều khiển bay (chủ yếu bao gồm điều khiển nghiêng, điều khiển gập, v.v.), các hàng không chỉ có thể giám sát các thao tác điều khiển bay để thông báo cho nhà quản lý điều gì đã xảy ra, nhưng không thể ngay lập tức xác định nguyên nhân gây ra sai lệch đó. Do đó, cần mô tả hợp lý điều khiển bay theo Phụ lục 1, phân tích nguyên nhân gây ra sai lệch thông qua sự thay đổi của cần điều khiển. Trong bài toán này, chúng tôi sử dụng phân tích hồi quy tuyến tính (bình phương tối thiểu), phân tích giá trị F, phân tích xem giá trị F có thể bác bỏ rõ ràng giả thuyết gốc rằng tổng hệ số hồi quy bằng 0 hay không (P<0.05), nếu thể hiện tính có ý nghĩa, thì cho thấy giá trị F và nó có mối quan hệ tuyến tính và sau khi phân tích giá trị R² để đánh giá mức độ phù hợp của mô hình, và phân tích giá trị VIF, (VIF lớn hơn 5 hoặc 10) nếu mô hình thể hiện hiện tượng đa cộng tuyến, thì sử dụng phương pháp hồi quy từng bước. Tiến hành phân tích tính có ý nghĩa của X; (P<0.05) nếu thể hiện tính có ý nghĩa, thì sử dụng nó để phân tích mối quan hệ ảnh hưởng của X đến Y. Kết hợp với hệ số hồi quy B, so sánh và phân tích ảnh hưởng của X đến Y. Xác định mô hình (trước khi áp dụng hồi quy tuyến tính, có thể xác minh và làm sạch dữ liệu thông qua các phương pháp thống kê như kiểm tra tính chuẩn hoặc xử lý dữ liệu phần dư).

Phân tích bài toán 3
Bài toán này yêu cầu phân tích các trường hợp vượt giới hạn khác nhau theo Phụ lục 2, phân tích đặc điểm của các loại vượt giới hạn khác nhau. Đầu tiên, phân tích vượt giới hạn đối với dữ liệu trong Phụ lục 2, thu được các loại vượt giới hạn khác nhau trong các trường hợp khác nhau, sau đó, sử dụng thuật toán phân tích tần suất để phân tích tần suất của các sân bay khác nhau và các loại vượt giới hạn khác nhau, thu được biểu đồ và bảng phân tích tần suất, cuối cùng đưa ra các đặc điểm vượt giới hạn khác nhau tại các địa điểm và thời gian khác nhau.

Phân tích bài toán 4
Bài toán này yêu cầu đánh giá kỹ thuật bay dựa trên các thông số bay và xây dựng mô hình toán học theo Phụ lục 3, sử dụng phương pháp đánh giá kỹ thuật bay để phân tích trình độ kỹ thuật bay của phi công. Và dựa trên việc xử lý trước dữ liệu Phụ lục 3 được cung cấp, đã loại bỏ nhiều dữ liệu không liên dung và dữ liệu trống trong Phụ lục 3. Sau đó, xây dựng các mô hình toán học như rừng ngẫu nhiên, hồi quy logistic, hồi quy LGBM, sử dụng thuật toán học máy để đo lường độ chính xác tập huấn luyện và độ chính xác tập kiểm tra cũng như sai số tuyệt đối trung bình để đánh giá mô hình, từ phương pháp đánh giá điểm huấn luyện và xác nhận chéo của phi công để phân tích kỹ thuật bay của phi công.

Phân tích bài toán 5
Đối với bài toán 5, dựa trên một số mục dữ liệu chính liên quan đến an toàn bay từ bài toán 1, phân tích hạ cánh nặng từ bài toán 2, phân tích các trường hợp vượt giới hạn khác nhau từ bài toán 3, đánh giá kỹ thuật bay từ bài toán 4, thiết kế cơ chế cảnh báo sớm dựa trên mô hình tăng cường bộ nhớ thời gian. Thông qua huấn luyện và kiểm tra với lượng lớn dữ liệu, phương pháp này có hiệu quả trong phân tích đặc điểm hành vi học tập, có độ tin cậy và hiệu quả mạnh mẽ. Thứ hai, khai thác và dự báo cơ chế ra quyết định và can thiệp. Nghiên cứu này phân tích đặc điểm của ba mật độ, tính toán tương quan giữa các đặc điểm, gộp các đặc điểm có hệ số tương quan mạnh ≥0.85. Khi số lượng đặc điểm trong một cụm vượt quá 60% tổng số đặc điểm, tập con dữ liệu đó được đánh dấu là điển hình, ngược lại được định nghĩa là không điển hình. Chọn ba thuật toán gần tối ưu để so sánh thực nghiệm, lần lượt là: (1) kết hợp hành vi ban đầu với mạng nơ-ron hồi quy (OB + RNN), (2) thuật toán cảnh báo sớm dựa trên hành vi tần suất tổng và mạng nơ-ron hồi quy (TF + RNN), (3) thuật toán cảnh báo sớm dựa trên LSTM-Autoencoder và cơ chế chú ý (LA + AM).

Mã Nguồn Minh Họa:

Mã nguồn mẫu cho phân tích hồi quy tuyến tính:

import numpy
import pandas
from spsspro.algorithm import statistical_model_analysis

# Tạo dữ liệu mẫu
data_features = pandas.DataFrame({
    "weight": numpy.random.random(size=100),
    "altitude": numpy.random.random(size=100)
})
data_category = pandas.DataFrame({"flight_type": numpy.random.choice(["A", "B", "C"], size=100)})
target_variable = pandas.Series(data=numpy.random.choice([0, 1], size=100), name="safety_index")

# Hồi quy tuyến tính
result = statistical_model_analysis.linear_regression(
    data_y=target_variable, 
    data_x1=data_features, 
    data_x2=data_category
)
print(result)

Mã nguồn mẫu cho xử lý dữ liệu và huấn luyện mô hình học máy:

import pandas as pd
import numpy as np
from sklearn.neural_network import MLPClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
import xgboost as xgb
import lightgbm as lgb
from sklearn.metrics import accuracy_score, recall_score, f1_score, mean_absolute_error
from sklearn.model_selection import train_test_split
import warnings
warnings.filterwarnings("ignore")

# Đọc dữ liệu
flight_data = pd.read_excel('data/flight_parameters.xlsx')

# Xử lý dữ liệu thiếu
for column in flight_data.columns:
    if flight_data[column].isnull().sum() > 0.15 * len(flight_data):
        del flight_data[column]

flight_data.dropna(inplace=True)

# Chuẩn bị đặc trưng
numeric_columns = []
for column in flight_data.columns:
    if flight_data[column].dtype in ['int64', 'float64']:
        numeric_columns.append(column)

categorical_columns = ['aircraft_type', 'pilot_role', 'landing_method', 'approach_type']
processed_data = pd.concat([
    flight_data[numeric_columns], 
    pd.get_dummies(flight_data[categorical_columns])
], axis=1)

# Chia dữ liệu huấn luyện và kiểm tra
X = processed_data
Y = flight_data['pilot_qualification']
train_x, test_x, train_y, test_y = train_test_split(X, Y, test_size=0.1, random_state=42)

# Mô hình mạng nơ-ron
mlp_model = MLPClassifier(hidden_layer_sizes=64, max_iter=1000)
mlp_model.fit(train_x, train_y)
pred_mlp = mlp_model.predict(test_x)
print("MLP - Training Accuracy: {:.3f}".format(mlp_model.score(train_x, train_y)))
print("MLP - Test Accuracy: {:.3f}".format(mlp_model.score(test_x, test_y)))

# Mô hình hồi quy logistic
logistic_model = LogisticRegression(C=1, solver='lbfgs', multi_class='auto')
logistic_model.fit(train_x, train_y)
pred_log = logistic_model.predict(test_x)
print("Logistic - Training Accuracy: {:.3f}".format(logistic_model.score(train_x, train_y)))
print("Logistic - Test Accuracy: {:.3f}".format(logistic_model.score(test_x, test_y)))
print("Logistic - MAE:", mean_absolute_error(test_y, pred_log))
print("Logistic - F1:", f1_score(test_y, pred_log, average='micro'))

# Mô hình cây quyết định
tree_model = DecisionTreeClassifier(max_depth=50, random_state=0)
tree_model.fit(train_x, train_y)
pred_tree = tree_model.predict(test_x)
print("Decision Tree - Training Accuracy: {:.3f}".format(tree_model.score(train_x, train_y)))
print("Decision Tree - Test Accuracy: {:.3f}".format(tree_model.score(test_x, test_y)))

# Mô hình rừng ngẫu nhiên
rf_model = RandomForestClassifier(max_depth=20, n_estimators=200, random_state=0)
rf_model.fit(train_x, train_y)
pred_rf = rf_model.predict(test_x)
print("Random Forest - Training Accuracy: {:.3f}".format(rf_model.score(train_x, train_y)))
print("Random Forest - Test Accuracy: {:.3f}".format(rf_model.score(test_x, test_y)))
print("Random Forest - MAE:", mean_absolute_error(test_y, pred_rf))

# Mô hình LightGBM
lgb_classifier = lgb.LGBMClassifier(num_leaves=31, learning_rate=0.1, n_estimators=100)
lgb_classifier.fit(train_x, train_y)
pred_lgb = lgb_classifier.predict(test_x)
print("LightGBM - Training Accuracy: {:.3f}".format(lgb_classifier.score(train_x, train_y)))
print("LightGBM - Test Accuracy: {:.3f}".format(lgb_classifier.score(test_x, test_y)))
print("LightGBM - MAE:", mean_absolute_error(test_y, pred_lgb))

Thẻ: mathematical-modeling aviation-safety qar-data risk-analysis machine-learning

Đăng vào ngày 19 tháng 5 lúc 11:54