Author: Augustine Osaigbevo
- Project Description
- Repository Structure
- Instructions (How to Run)
- Technical Approach
- Results & Performance
- Challenges & Mitigations
- Next Steps
- Credits
This project implements a similarity-based Remaining Useful Life (RUL) estimation workflow for turbofan jet engines.
By analysing run-to-failure trajectories from historical engines, the method estimates how much useful life a current engine has left, along with confidence bounds.
- Safety: Early and reliable failure prediction prevents in-flight shutdowns and unscheduled removals, ensuring higher operational safety.
- Cost savings: Predictive maintenance avoids unnecessary preventive part replacements, while also minimising costly unplanned downtime (aircraft-on-ground events).
- Operational efficiency: Condition-based maintenance allows airlines and MROs to schedule interventions just-in-time, improving fleet utilisation.
In short: predictive maintenance = safer flights, lower costs, smarter scheduling.
Similarity_RUL.mlx # Main MATLAB Live Script: end-to-end workflow
helperLoadData.m # Load/convert NASA turbofan data into timetables
helperPlotEnsemble.m # Visualize run-to-failure ensemble
helperPlotClusters.m # Visualize operating-regime clusters
helperPlotRULDistribution.m # Plot RUL PDF, estimate, and confidence bands
README.md
The dataset (NASA C-MAPSS / PHM08) is automatically downloaded and preprocessed by the live script.
- MATLAB (R2022b or later recommended)
- Predictive Maintenance Toolbox
git clone https://github.com/austineaero/Remaining-Useful-Life-RUL-Estimation.git
cd Remaining-Useful-Life-RUL-Estimation- Open Similarity_RUL.mlx in MATLAB.
- Run all sections sequentially:
- Load and preprocess data
- Normalise across operating regimes
- Construct health indicators
- Train residual-similarity RUL model
- Evaluate predictions at different observation horizons
- Use NASA turbofan run-to-failure dataset.
- Split into training and validation engine sets.
- Cluster trajectories by operating condition (e.g., throttle/altitude).
- Apply regime-specific normalisation to remove biases.
- Compute trendability, monotonicity, and prognosability scores.
- Retain only features that evolve consistently with degradation.
- Fuse selected sensor features into a single HI.
- Apply offsetting and smoothing so engines align at time zero.
- Fit a polynomial model to each training HI.
- For a test engine, compute residuals against each trained model.
- Use L1 distance to find K most similar histories.
- Estimate RUL distribution from the selected neighbors → provides both point estimate and confidence intervals.
- Compare RUL estimates when 50%, 70%, 90% of trajectory observed.
- Assess accuracy, bias, and spread of prediction intervals.
- Early in life: RUL distributions are wide (greater uncertainty).
- Closer to failure: estimates tighten significantly, giving high confidence.
- Method balances accuracy with uncertainty quantification, providing safer decision-making for maintenance.
- Ensemble of run-to-failure trajectories (health indicator over time)
- Clustered operating regimes visualisation
- Trendability/monotonicity/prognosability scores for feature selection
- KNN vs. RUL (by % life observed)
| % Observed | KNN (nearest neighbours in HI space) | RUL PDF (mean + 90% CI) |
|---|---|---|
| 50% life | ![]() |
![]() |
| 70% life | ![]() |
![]() |
| 90% life | ![]() |
![]() |
| Observation | Mean Absolute Error (MAE) | 90% CI Coverage |
|---|---|---|
| 50% life | Higher error, wide CI | ~95% |
| 70% life | Improved accuracy | ~92% |
| 90% life | High accuracy, narrow CI | ~90% |
--
| Challenge | Mitigation |
|---|---|
| Engines operate under multiple regimes → sensor drift | Cluster regimes and normalise within each cluster |
| Noisy or inconsistent sensor channels | Feature scoring → select only robust indicators |
| Misaligned degradation progression | Offset and smooth health indicators |
| Mid-life predictions have wide uncertainty | Provide RUL PDFs with confidence bands, update as new data arrives |
- Experiment with alternative distance metrics (Dynamic Time Warping, Mahalanobis).
- Explore deep learning-based HI extraction (autoencoders, LSTMs).
- Calibrate confidence intervals via conformal prediction.
- Extend to Python implementation (PyTorch/tslearn) for open-source portability.
- Package workflow as a deployable web service for maintenance engineers.
-
MATLAB Predictive Maintenance Toolbox
-
NASA Ames PCoE Datasets (C-MAPSS / PHM08 turbofan engine run-to-failure data):
https://www.nasa.gov/intelligent-systems-division/discovery-and-systems-health/pcoe/pcoe-data-set-repository/











