This project aims to predict the remaining useful life of a bearing by analysing vibration data with Random Forest regressor. We currently built a failure probability estimator by trainning the Random Forest regressor with polynomial coefficients of a cummulative sum curve and a linear decreasing array (1 to 0) which starts from the explosion index (where a correlation coefficient stats to fall) to the end of the bearing life.
* The correlation coefficient is used to assess the condition of bearing degradation.
pip install -r requirements.txt
* If you want to use the derivative function (Implemented using Cython) :
python setup.py build_ext --inplace
This notebook process all .csv in orignal FEMTO dataset. For each bearing, it:
- Merge all .csv files of acceleration
- Merge all .csv files of temperatures
- Removes μs from accelaration .csv files
- Create folders for processed data
* It also checks the .csv separator and use ',' separator in the merged .csv file
(In original FEMTO dataset some files are separated by ',' and others by ';').
This notebook loads the bearing model with the specified data (.csv or binary) and compute the needed results for regression (cumsum, hankel matrix singular values and correlation coefficients). It also process some other data analysis functions (fft, emd, rms, ...) which are commented. In the end there are some plots to see the results.
This notebook:
- Loads cumsum and correlation coefficients
- Define a bearing for training
- Train a random forest model where X are the coefficients of a fitted polynomial in cumsum data and Y are an decreasing array (from 1 to 0) which size is the number of recordings from the explosion index (index where the correlation coefficient is bellow 0.95) to the end of life.
- Test in all bearings
To be documented.
* We choose Bearing 2_4 for trainning.
Bearing1_1 cummulative sum coefficient interpolation (second image is a zoom in the inperpolation part):
python -m cProfile -o results.prof code.py
- You can use snakeviz to visualize the profiler results.
pip install snakeviz
snakeviz results.prof
- Use the regressor to predict RUL time.
- Document failure_probability_predict notebook.
[1] Patrick Nectoux, Rafael Gouriveau, Kamal Medjaher, Emmanuel Ramasso, Brigitte Chebel-Morello, et al.. PRONOSTIA : An experimental platform for bearings accelerated degradation tests.. IEEE International Conference on Prognostics and Health Management, PHM’12., Jun 2012, Denver, Colorado, United States. pp.1-8. hal-00719503