Optimizing the preventive maintenance frequency with causal machine learning
T. Vanderschueren, R. Boute, T. Verdonck, B. Baesens, W. Verbeke [2023]
We propose a prescriptive framework for preventive maintenance optimization. We leverage causal inference and machine learning to learn the effect of preventive maintenance on an asset's overhaul and failure rates, based on asset-specific characteristics, from observational data on assets that were maintained in the past. The learned effects allow for finding each asset's optimal preventive maintenance frequency, minimizing the combined cost of failures, overhauls, and preventive maintenance. We compare an individualized, causal approach to non-individualized and non-causal ablations.
This repository is organised as follows:
|- scripts/
|- main_IJPE.py
|- main.py
|- src/
|- data/
|- generate_data.py
|- methods/
|- nn_supervised.py
|- SCIGAN.py
|- utils/
|- evaluation_utils.py
|- evaluation.py
|- model_utils.pyWe have provided a requirements.txt file:
pip install -r requirements.txtPlease use the above in a newly created virtual environment to avoid clashing dependencies.
Due to reasons of confidentiality, we unfortunately cannot share raw data and related preprocessing code. We provide comments in the code to guide researchers and practitioners interested in applying our methodology to their own data.
We build upon the code from SCIGAN [1].
[1] Bica, I., Jordon, J., & van der Schaar, M. (2020). Estimating the effects of continuous-valued interventions using generative adversarial networks. Advances in Neural Information Processing Systems, 33, 16434-16445.
Please cite our paper and/or code as follows:
@article{vanderschueren2023maintenance,
title={Optimizing the preventive maintenance frequency with causal machine learning},
author={Vanderschueren, Toon and Boute, Robert and Verdonck, Tim and Baesens, Bart and Verbeke, Wouter},
journal={International Journal of Production Economics},
volume={258},
pages={108798},
year={2023},
publisher={Elsevier}
}