Uncertainty-calibrated remaining-useful-life prediction and cost-aware maintenance decisions.
RULGuard is a reproducible predictive-maintenance framework built on the NASA C-MAPSS turbofan-engine dataset. It combines remaining useful life estimation, uncertainty quantification, and cost-sensitive maintenance analysis to address three practical questions:
- How accurate is the RUL prediction?
- How reliable is the estimated uncertainty?
- How can prediction uncertainty influence maintenance decisions?
- Leakage-resistant, engine-level data splitting
- Comparison of four machine-learning models
- Evaluation using RMSE, MAE, R², and the asymmetric PHM08 score
- Distribution-free 90% split-conformal prediction intervals
- Point-estimate and uncertainty-aware maintenance policies
- Cost-sensitivity analysis for maintenance decisions
- Reproducible experiments using fixed random seeds
- Automated tests, saved predictions, figures, and machine-readable results
- Data Card, Model Card, technical report, and citation metadata
| Dataset | RMSE | R² | 90% interval coverage |
|---|---|---|---|
| FD001 | 17.78 | 0.817 | 98% |
| FD003 | 22.13 | 0.714 | 92% |
The best-performing model was not identical across both datasets. HistGradientBoosting performed best on FD001, while Ridge regression performed best on FD003. This difference is retained to provide a transparent and realistic evaluation.
python -m venv .venv
. .venv/bin/activate
pip install -e .[dev]
python -m rulguard.data --download
python -m rulguard.experiment --subsets FD001 FD003 --seed 42
pytest -qThe download command retrieves the C-MAPSS dataset directly from NASA. Generated predictions, metrics, and figures are saved in the artifacts/ directory.
Engines, rather than individual observations, are assigned to model-training, conformal-calibration, and validation sets. This prevents measurements belonging to the same degradation trajectory from appearing in multiple internal splits.
The evaluation uses seeded late-life observations from held-out engines. Final test metrics are calculated using the official C-MAPSS test endpoints and NASA-provided remaining-useful-life ground truth.
RUL values are capped at 125 cycles, following a common C-MAPSS benchmark convention in which the early healthy operating period is treated as approximately constant. This assumption is explicit and can be modified in the data-processing configuration.
src/: data processing, modeling, uncertainty calibration, and evaluation codescripts/: reproducibility and experiment scriptstests/: automated testsartifacts/: generated metrics, predictions, and figuresdeliverables/: technical documentation and release materialsDATA_CARD.md: dataset description and limitationsMODEL_CARD.md: model scope, evaluation, and responsible-use informationCITATION.cff: citation metadata
- C-MAPSS contains simulated turbofan-engine data and does not demonstrate performance on real aircraft, ships, or industrial equipment.
- Hyperparameters are fixed rather than exhaustively optimized.
- Conformal coverage is marginal and depends on an exchangeability assumption.
- The maintenance-cost analysis is a sensitivity study, not an operational maintenance prescription.
- The current release evaluates FD001 and FD003. FD002 and FD004 remain planned extensions.
- Prediction intervals are relatively wide, reflecting the trade-off between coverage and informativeness.
If you use RULGuard, cite the archived project:
Khani, P. (2026). RULGuard: Uncertainty-calibrated remaining-useful-life prediction and cost-aware maintenance decisions (v0.1.1). Zenodo.
https://doi.org/10.5281/zenodo.21902487
Additional citation metadata is available in CITATION.cff.
RULGuard is released under the MIT License.
The NASA C-MAPSS dataset is not redistributed as part of this repository. Users should download it from the official NASA source and review the applicable data-use terms.