Întreținerea Predictivă (PdM) este o metodă de înlocuire a pieselor exact înainte ca acestea să se defecteze. Scopul este de a calcula Durata de Viață Utilă Rămasă (RUL) a unui motor pe bazaÎntreținerea Predictivă (PdM) este o metodă de înlocuire a pieselor exact înainte ca acestea să se defecteze. Scopul este de a calcula Durata de Viață Utilă Rămasă (RUL) a unui motor pe baza

Predicția Defecțiunilor Motoarelor cu Reacție cu Python și AutoML

2025/12/22 16:43

În aviație, „a strica lucrurile" nu este o opțiune.

Dacă un server se prăbușește, îl repornești. Dacă un motor de avion eșuează în timpul zborului, consecințele sunt catastrofale. De aceea industria aviației trece de la Întreținerea Preventivă (înlocuirea pieselor conform unui program, indiferent dacă au nevoie sau nu) la Întreținerea Predictivă (PdM) (înlocuirea pieselor exact înainte de a se defecta).

Pentru Data Scientists, aceasta este problema supremă de regresie a seriilor temporale. Scopul este de a calcula Durata de Viață Utilă Rămasă (RUL) a unui motor pe baza datelor de la senzori (temperatură, presiune, vibrație).

Tradițional, acest lucru necesita modele fizice complexe sau arhitecturi Deep Learning reglate manual (LSTM-uri). Dar recent, Machine Learning Automatizat (AutoML) a ajuns la maturitate până în punctul în care poate depăși reglajul manual.

În acest ghid, pe baza analizei utilizând setul de date NASA C-MAPSS, vom construi un pipeline pentru a prezice defecțiunea motorului folosind doi giganți open-source: AWS AutoGluon și H2O.ai.

Pipeline-ul PdM

Nu clasificăm doar imagini aici; avem de-a face cu date de serii temporale multivariate. Pipeline-ul necesită transformarea jurnalelor brute de la senzori într-o țintă de regresie (RUL).

Faza 1: Datele (NASA C-MAPSS)

Utilizăm renumitul set de date NASA Commercial Modular Aero-Propulsion System Simulation (C-MAPSS). Conține date simulate până la defecțiune.

  • Input: 21 de Senzori (Temperatură Totală, Presiune la Admisia Ventilatorului, Viteza Miezului, etc.).
  • Țintă: Durata de Viață Utilă Rămasă (RUL).

Calcularea RUL

Setul de date nu ne oferă explicit RUL; ne oferă ciclul curent. Trebuie să calculăm ținta.

Logica: RUL = MaxCycleofEngine - CurrentCycle

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())

Faza 2: Metrica (De ce Acuratețea este Greșită)

În întreținerea predictivă, simpla „Acuratețe" nu funcționează. Trebuie să măsurăm cât de departe este predicția noastră.

Ne bazăm pe RMSE (Root Mean Square Error).

  • Dacă motorului îi mai rămân 50 de zile și prezicem 45, eroarea este 5.
  • Dacă prezicem 100, eroarea este 50 (Penalizare uriașă).

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)

Notă: Analiza evidențiază de asemenea RMSLE (Eroarea Logaritmică). Aceasta este crucială deoarece sub-prezicerea duratei de viață (prezicerea defecțiunii mai devreme) este sigură, dar supra-prezicerea (prezicerea defecțiunii mai târziu decât realitatea) este periculoasă. RMSLE gestionează mai bine erorile relative pe diferite scale.

Faza 3: Confruntarea AutoML

Am testat două framework-uri pentru a vedea care poate gestiona mai bine datele complexe și zgomotoase de la senzori fără reglaj manual extensiv.

Concurent 1: AutoGluon (Câștigătorul)

AutoGluon (dezvoltat de AWS) folosește o strategie de stacking și ensemble a mai multor modele (Rețele Neuronale, LightGBM, CatBoost) în mod automat.

Codul:

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']}")

Concurent 2: H2O AutoML

H2O este un veteran în domeniu, cunoscut pentru capacitățile sale de calcul distribuit scalabil.

Codul:

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()}")

Faza 4: Rezultatele

Analiza a dezvăluit o disparitate masivă în performanță când a fost aplicată pe acest set specific de date de la senzori.

| Bibliotecă | Metrică | Țintă: RUL | Rezultat (Mai Mic este Mai Bun) | |----|----|----|----| | AutoGluon | RMSE | RUL | 14.07 | | H2O | RMSE | RUL | 44.85 |

**Analiză: \ AutoGluon a depășit semnificativ H2O (14.07 vs 44.85). În contextul motoarelor de avioane, o marjă de eroare de 14 cicluri este acceptabilă pentru programarea întreținerii. O marjă de eroare de 44 cicluri face modelul inutil.

De ce a câștigat AutoGluon?

  1. Stacking: AutoGluon excelează la stacking multi-nivel, combinând punctele forte ale modelelor bazate pe arbori și ale rețelelor neuronale.
  2. Gestionarea Caracteristicilor: A gestionat mai bine zgomotul brut de la senzori fără a necesita pași manuali de denoising.

Concluzie: Oprește Reglajul, Începe Stacking-ul

Pentru aplicațiile industriale care implică date multivariate complexe, AutoML nu mai este doar un instrument de prototipare—este o capacitate de producție.

Prin trecerea de la selecția manuală a modelelor la o abordare automată de tip ensemble precum AutoGluon, dezvoltatorii pot reduce timpul de engineering de la săptămâni la ore, obținând în același timp o acuratețe superioară.

Concluzie Cheie pentru Dezvoltatori: Când construiți aplicații Industrial IoT, concentrați-vă efortul pe Faza 1 (Data Engineering) curățarea jurnalelor de la senzori și calcularea corectă a RUL. Lăsați AutoML să gestioneze selecția modelului.

\

Oportunitate de piață
Logo Cyberlife
Pret Cyberlife (LIFE)
$0.0376
$0.0376$0.0376
-1.05%
USD
Cyberlife (LIFE) graficul prețurilor în timp real
Declinarea responsabilității: Articolele publicate pe această platformă provin de pe platforme publice și sunt furnizate doar în scop informativ. Acestea nu reflectă în mod necesar punctele de vedere ale MEXC. Toate drepturile rămân la autorii originali. Dacă consideri că orice conținut încalcă drepturile terților, contactează service@support.mexc.com pentru eliminare. MEXC nu oferă nicio garanție cu privire la acuratețea, exhaustivitatea sau actualitatea conținutului și nu răspunde pentru nicio acțiune întreprinsă pe baza informațiilor furnizate. Conținutul nu constituie consiliere financiară, juridică sau profesională și nici nu trebuie considerat o recomandare sau o aprobare din partea MEXC.