Skip to content

OKIC-CA/RUL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 

Repository files navigation

Survival Analysis with Machine Learning for Predicting Li-ion Battery Remaining Useful Life

2025

BibTeX

@article{RUL2025,
  author = {Xue, Jingyuan and Zhao, Xiaozhen and Jiang, Dongjing and Jiao, Qingchong and EL Bouchtaoui, Redouane and Zhang, Flynnwell Jianfei},
  title = {Survival Analysis with Machine Learning for Predicting Li-ion Battery Remaining Useful Life},
  journal = {arXiv: 2503.13558},
  year = {2025},
  doi = {10.48550/arXiv.2503.13558}
}

Data

NASA

NASA dataset: Download

Specifically, we only used the data contained in ./5.+Battery+Data+Set.zip/BatteryAgingARC-FY08Q4.zip as the experimental dataset.

Toyota

Download original Toyota data:

Dataset 1: Download

Dataset 2: Download

Dataset 3: Download

Dataset 4: Download

Dataset 5: Download

Dataset 6: Download

Dataset 7: Download

Dataset 8: Download

Use battery-survival to generate our preprocessed data from the original data

More

Acknowledgements

Many thanks to Flynnwell Jianfei Zhang and Qingchong Jiao for their contributions to the code.

Many thanks to battery-survival, Support provided for lithium battery data processing.

Some amazing enhancements will also come out this year.

Some amazing enhancements are under development. We warmly welcome anyone to collaborate to improve this repository. Please send us an email if you are interested!

Run

Clone the repo.

git clone https://github.com/OKIC-CA/RUL.git --recursive

Environment setup

conda create -n battery-notebook python=3.10.15

conda activate battery-notebook

# Enter the Nasa folder
# For both the NASA and Toyota folder, all installed libraries and their version information are listed in the requirements.txt file. The requirements.txt file under the NASA folder already supports running both NASA and Toyota. If any dependencies are still missing, please refer to the requirements.txt file in the Toyota folder for the required libraries and their versions.

pip install -r requirements.txt

NASA Run the codes

# Enter the NASA folder
pip install jupyter

jupyter notebook

# Read sequentially
deval-discharge.ipynb
deval-valid-data.ipynb
extractfeature.ipynb
model-Cox.ipynb
model-CoxPH.ipynb
model-CoxTime.ipynb
model-DeepHit.ipynb
model-MTLR.ipynb

Toyota Run the codes

When using the signature path method for battery representation extraction, the procedure is the same as that used for the NASA dataset. Please refer to the ./NASA/extractfeature.ipynb file. The ./Toyota/Signature/ExtractedData directory contains the data obtained through signature-based deep feature extraction.

For the Toyota dataset, we followed the processing example from battery-survival. Similar to their approach, we used the 50th cycle in the Toyota dataset as the experimental data, consisting of a total of 362 batteries. Among them, 174 batteries experienced uncensored events and 188 experienced censored events. The processed battery data can be found in the ./Toyota/TLSTM/OriginalData directory.

For the TLSTM model architecture, we drew inspiration from the encoder–decoder based TLSTM project. When extracting TLSTM representations of battery voltage and time, you only need to run:

# Enter the Toyota/TLSTM folder
python tlstm_ae_battery_feature_extractor.py

The data extracted by TLSTM was placed in the ./Toyota/TLSTM/ExtractedData folder for remaining useful life (RUL) analysis of the batteries. It is important to note that, in order to align with the experimental data reported in the paper, we modified the batch column in the TLSTM-extracted representations to a group column. Based on the group information, the data can be partitioned for survival analysis and predictive evaluation. Please note that if you directly run the downloaded code, it corresponds to the ungrouped case. The code can be executed as follows:

# Enter the Toyota/TLSTM folder
python Cox.py
python CoxPH.py
python CoxTime.py
python DeepHit.py
python MTLR.py

Results

Performance Comparison of Different Models on the Toyota Dataset

Model Charge Discharge
T-AUC C-Index IBS T-AUC C-Index IBS
Cox .909 (.027) .820 (.030) .031 (.006) .932 (.018) .859 (.020) .048 (.008)
CoxTime .919 (.024) .832 (.033) .028 (.006) .929 (.018) .853 (.021) .051 (.009)
CoxPH .889 (.006) .798 (.015) .035 (.001) .896 (.037) .826 (.020) .056 (.012)
DeepHit .730 (.076) .823 (.044) .085 (.012) .866 (.059) .816 (.046) .076 (.020)
MTLR .809 (.058) .844 (.024) .040 (.007) .922 (.029) .835 (.025) .051 (.009)

Performance Comparison of Different Models on the NASA Dataset

Model Discharge
T-AUC C-Index IBS
Cox .999 (.001) .965 (.004) .010 (.002)
CoxTime .998 (.001) .959 (.002) .007 (.001)
CoxPH .999 (.000) .966 (.004) .014 (.001)
DeepHit .975 (.005) .930 (.002) .045 (.005)
MTLR .982 (.009) .955 (.013) .048 (.000)

About

Survival Analysis with Machine Learning for Predicting Li-ion Battery Remaining Useful Life

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors