Bảo trì dự đoán (PdM) là cách thay thế các bộ phận chính xác trước khi chúng hỏng. Mục tiêu là tính toán Tuổi thọ còn lại hữu ích (RUL) của động cơ dựa trênBảo trì dự đoán (PdM) là cách thay thế các bộ phận chính xác trước khi chúng hỏng. Mục tiêu là tính toán Tuổi thọ còn lại hữu ích (RUL) của động cơ dựa trên

Dự đoán lỗi động cơ phản lực với Python và AutoML

Trong ngành hàng không, "phá vỡ mọi thứ" không phải là một lựa chọn.

Nếu một máy chủ gặp sự cố, bạn khởi động lại nó. Nếu động cơ phản lực bị hỏng giữa chuyến bay, hậu quả sẽ thảm khốc. Đây là lý do tại sao ngành hàng không đang chuyển từ Bảo trì Phòng ngừa (thay thế các bộ phận theo lịch trình bất kể chúng có cần hay không) sang Bảo trì Dự đoán (PdM) (thay thế các bộ phận chính xác trước khi chúng hỏng).

Đối với các Nhà khoa học Dữ liệu, đây là bài toán hồi quy Chuỗi Thời gian tối thượng. Mục tiêu là tính toán Tuổi thọ Còn lại Hữu ích (RUL) của động cơ dựa trên dữ liệu cảm biến (nhiệt độ, áp suất, rung động).

Theo truyền thống, điều này đòi hỏi các mô hình vật lý phức tạp hoặc kiến trúc Học Sâu được điều chỉnh thủ công (LSTM). Nhưng gần đây, Học Máy Tự động (AutoML) đã trưởng thành đến mức có thể vượt trội hơn việc điều chỉnh thủ công.

Trong hướng dẫn này, dựa trên phân tích sử dụng bộ dữ liệu NASA C-MAPSS, chúng ta sẽ xây dựng một pipeline để dự đoán hỏng hóc động cơ bằng hai công cụ mã nguồn mở hàng đầu: AWS AutoGluon và H2O.ai.

Pipeline PdM

Chúng ta không chỉ phân loại hình ảnh ở đây; chúng ta đang xử lý dữ liệu chuỗi thời gian đa biến. Pipeline yêu cầu chuyển đổi nhật ký cảm biến thô thành mục tiêu hồi quy (RUL).

Giai đoạn 1: Dữ liệu (NASA C-MAPSS)

Chúng ta đang sử dụng bộ dữ liệu nổi tiếng NASA Commercial Modular Aero-Propulsion System Simulation (C-MAPSS). Nó chứa dữ liệu mô phỏng chạy đến khi hỏng.

  • Đầu vào: 21 Cảm biến (Nhiệt độ Tổng thể, Áp suất tại Cửa Quạt, Tốc độ Lõi, v.v.).
  • Mục tiêu: Tuổi thọ Còn lại Hữu ích (RUL).

Tính toán RUL

Bộ dữ liệu không cung cấp rõ ràng cho chúng ta RUL; nó cung cấp cho chúng ta chu kỳ hiện tại. Chúng ta phải tính toán mục tiêu.

Logic: RUL = ChukỳTốiđacủaĐộngcơ - ChukỳHiệntại

import pandas as pd # Load dataset (Simulated example structure) # Columns: ['unit_number', 'time_in_cycles', 'sensor_1', ... 'sensor_21'] df = pd.read_csv('train_FD001.txt', sep=" ", header=None) # 1. Calculate the maximum life of each engine unit max_life = df.groupby('unit_number')['time_in_cycles'].max().reset_index() max_life.columns = ['unit_number', 'max_life'] # 2. Merge back to original dataframe df = df.merge(max_life, on='unit_number', how='left') # 3. Calculate RUL (The Target Variable) df['RUL'] = df['max_life'] - df['time_in_cycles'] # Drop columns we don't need for training (like max_life) df = df.drop(columns=['max_life']) print(df[['unit_number', 'time_in_cycles', 'RUL']].head())

Giai đoạn 2: Chỉ số (Tại sao Độ chính xác là Sai)

Trong bảo trì dự đoán, "Độ chính xác" đơn giản không hoạt động. Chúng ta cần đo lường dự đoán của chúng ta sai lệch bao nhiêu.

Chúng ta dựa vào RMSE (Căn bậc hai của Sai số Bình phương Trung bình).

  • Nếu động cơ còn 50 ngày, và chúng ta dự đoán 45, sai số là 5.
  • Nếu chúng ta dự đoán 100, sai số là 50 (Phạt nặng).

import numpy as np def calculate_rmse(y_true, y_pred): """ y_true: The actual Remaining Useful Life y_pred: The model's prediction """ mse = np.mean((y_true - y_pred)**2) return np.sqrt(mse)

Lưu ý: Phân tích cũng nhấn mạnh RMSLE (Sai số Logarit). Điều này rất quan trọng vì dự đoán tuổi thọ thấp hơn (dự đoán hỏng sớm hơn) là an toàn, nhưng dự đoán cao hơn (dự đoán hỏng muộn hơn thực tế) là nguy hiểm. RMSLE xử lý sai số tương đối tốt hơn trên các quy mô khác nhau.

Giai đoạn 3: Đối đầu AutoML

Chúng tôi đã thử nghiệm hai framework để xem cái nào có thể xử lý dữ liệu cảm biến phức tạp, nhiễu tốt hơn mà không cần điều chỉnh thủ công rộng rãi.

Ứng viên 1: AutoGluon (Người chiến thắng)

AutoGluon (do AWS phát triển) sử dụng chiến lược xếp chồng và kết hợp nhiều mô hình (Mạng Neural, LightGBM, CatBoost) tự động.

Mã code:

from autogluon.tabular import TabularPredictor # AutoGluon handles feature engineering automatically # 'RUL' is our target label calculated in Phase 1 predictor = TabularPredictor(label='RUL', eval_metric='root_mean_squared_error').fit( train_data=df_train, time_limit=600, # Train for 10 minutes presets='best_quality' ) # Inference y_pred = predictor.predict(df_test) results = predictor.evaluate(df_test) print(f"AutoGluon RMSE: {results['root_mean_squared_error']}")

Ứng viên 2: H2O AutoML

H2O là một cựu chiến binh trong lĩnh vực này, nổi tiếng với khả năng tính toán phân tán có khả năng mở rộng.

Mã code:

import h2o from h2o.automl import H2OAutoML h2o.init() # Convert pandas df to H2O Frame hf_train = h2o.H2OFrame(df_train) hf_test = h2o.H2OFrame(df_test) # Train aml = H2OAutoML(max_models=20, seed=1) aml.train(y='RUL', training_frame=hf_train) # Inference preds = aml.predict(hf_test) perf = aml.leader.model_performance(hf_test) print(f"H2O RMSE: {perf.rmse()}")

Giai đoạn 4: Kết quả

Phân tích tiết lộ sự chênh lệch lớn về hiệu suất khi áp dụng cho bộ dữ liệu cảm biến cụ thể này.

| Thư viện | Chỉ số | Mục tiêu: RUL | Kết quả (Thấp hơn là Tốt hơn) | |----|----|----|----| | AutoGluon | RMSE | RUL | 14.07 | | H2O | RMSE | RUL | 44.85 |

**Phân tích: \ AutoGluon vượt trội hơn H2O đáng kể (14.07 so với 44.85). Trong bối cảnh động cơ phản lực, biên độ sai số 14 chu kỳ là chấp nhận được để lên lịch bảo trì. Biên độ sai số 44 chu kỳ khiến mô hình trở nên vô dụng.

Tại sao AutoGluon thắng?

  1. Xếp chồng: AutoGluon xuất sắc trong việc xếp chồng đa lớp, kết hợp điểm mạnh của các mô hình dựa trên cây và mạng neural.
  2. Xử lý Đặc trưng: Nó xử lý nhiễu cảm biến thô tốt hơn mà không yêu cầu các bước khử nhiễu thủ công.

Kết luận: Dừng Điều chỉnh, Bắt đầu Xếp chồng

Đối với các ứng dụng công nghiệp liên quan đến dữ liệu đa biến phức tạp, AutoML không còn chỉ là công cụ tạo mẫu—nó là khả năng sản xuất.

Bằng cách chuyển từ lựa chọn mô hình thủ công sang phương pháp kết hợp tự động như AutoGluon, nhà phát triển có thể giảm thời gian kỹ thuật từ hàng tuần xuống hàng giờ trong khi đạt được độ chính xác vượt trội.

Bài học chính cho Nhà phát triển: Khi xây dựng ứng dụng IoT Công nghiệp, hãy tập trung nỗ lực vào Giai đoạn 1 (Kỹ thuật Dữ liệu) làm sạch nhật ký cảm biến và tính toán RUL chính xác. Để AutoML xử lý việc lựa chọn mô hình.

\

Cơ hội thị trường
Logo Cyberlife
Giá Cyberlife(LIFE)
$0.0362
$0.0362$0.0362
-4.73%
USD
Biểu đồ giá Cyberlife (LIFE) theo thời gian thực
Tuyên bố miễn trừ trách nhiệm: Các bài viết được đăng lại trên trang này được lấy từ các nền tảng công khai và chỉ nhằm mục đích tham khảo. Các bài viết này không nhất thiết phản ánh quan điểm của MEXC. Mọi quyền sở hữu thuộc về tác giả gốc. Nếu bạn cho rằng bất kỳ nội dung nào vi phạm quyền của bên thứ ba, vui lòng liên hệ service@support.mexc.com để được gỡ bỏ. MEXC không đảm bảo về tính chính xác, đầy đủ hoặc kịp thời của các nội dung và không chịu trách nhiệm cho các hành động được thực hiện dựa trên thông tin cung cấp. Nội dung này không cấu thành lời khuyên tài chính, pháp lý hoặc chuyên môn khác, và cũng không được xem là khuyến nghị hoặc xác nhận từ MEXC.