본문 바로가기
Battery/Battery Paper review

[Energy Procedia-2019] Lithium-ion battery modeling based on Big Data

by 노마드공학자 2021. 9. 23.

논문 전문 : https://www.sciencedirect.com/science/article/pii/S1876610218313419

[출처] Shuangqi Li, Jianwei Li, Hongwen He, Hanxiao Wang, Lithium-ion battery modeling based on Big Data,
Energy Procedia,Volume 159, 2019, Pages 168-173, ISSN 1876-6102,
https://doi.org/10.1016/j.egypro.2018.12.046.

 

※ The picture and content of this article are from the original paper.


[논문요약]
Lithium-ion battery modeling based on Big Data

 

배터리 데이터 분석을 통해 전압추정 모델링을 진행하는 논문입니다.

저는 시계열데이터 학습모델로 이것에 관해 연구를 진행한적이 있는데, 제가 하던것과는 조금 다른곳에 포커스를 두어 진행되는 논문입니다.

 

Purpose

Data Cleaning이라고 하여, 논문의 필자는 데이터에서 소실된 정보가 많다는것을 가정하고(실제로도), 모든 데이터가 확실하게 전처리된 데이터가 아니라는 전제하에서 시작합니다.

필자는 일부가 훼손된 데이터를 Auto Encoder를 통해 복구시키고, 여러가지 Regression Model들을 사용하여 최종적으로 가장 성능이 좋은 모델을 뽑아냅니다.

Input Data로는 Current, SOC, Temperature를 사용하고 Output Data로는 Terminal Voltage를 추정합니다.

 

Contents

AutoEncoder에서 데이터 전처리가 되지 않은 Input들을 넣고, Output으로 데이터 전처리가 완료된 데이터를 넣고 학습을 하게되면, 둘의 상관관계를 찾아내고 Data Cleaning을 진행할 수 있습니다.

즉, 중간중간에 전압이 0으로 찍혀있다던가, 값이 없다던가 하는 이런 Missing Data 그 자체를 "Noise"로보고 "Noise"를 없애고자 하는것이 목적입니다.

이것을 진행하기위해 기존 AutoenConder에서 Noise를 제거하기 위해 활용하던 모델인 SDAE(Stacked Denoising AutoEncoder)를 사용합니다.

https://limitsinx.tistory.com/149?category=948978

 

[Pytorch-11] Auto Encoder

[pytorch 따라하기-1] 구글 Colab에 pytorch 세팅하기 https://limitsinx.tistory.com/136 [pytorch 따라하기-2] Tensor생성 및 Backward https://limitsinx.tistory.com/137 [pytorch 따라하기-3] 경사하강법을..

limitsinx.tistory.com

 

이렇게 Data Cleaning을 끝낸 다음 여러가지 Regression을 진행하고, Data Cleaning을 진행하지 않았을때의 데이터로도 학습을 진행하여, 결과적으로 Data Cleaning이 효과가 있는지 + 가장 정합성 높은 Regression Method는 무엇인지를 찾고자 합니다.

 

출처 : Big data driven lithium-ion battery modeling method based on SDAE-ELM algorithm and data pre-processing technology (동저자가 동일한 시기에 제출한 논문)

 

의문이 드는점은, 필자는 전기버스(Electric Bus) 데이터를 가지고 해당 모델을 학습시켰다고 합니다.

하지만, 하기 그래프의 맨 아랫쪽 Current를 보시면 모두 방전만 하고 있음을 알 수 있습니다.

 

즉, 실차 주행조건에서 발생하는 회생제동(Regenerative)은 없고 오로지 방전만 하고 있는 데이터임을 알 수 있는데요,

해당 버스를 만든 업체가 어디인진 모르겠으나 회생제동이 없나.. 하는 의문이 들었습니다.

 

이게 데이터학습에 왜 중요하냐면, 저도 이 연구를 진행해보았을때 100ms단위로 충전/방전이 반복되는 전류가 인가되면 배터리의 분극정도에 영향을 주기때문에 Terminal Voltage를 추정할때의 복잡도가 증가하게 됩니다.

하지만 only 충전/ 혹은 only 방전만 하는 상황에서는 상대적으로 추정이 쉽습니다. (ESS데이터가 주로 그렇습니다. 일정한 C-rate의 전류로 충전 혹은 방전만 진행하는 프로파일이 다수입니다.)

따라서, 이부분이 조금 아쉬웠는데요 SOC 프로파일을 보면 일부로 패턴부분만 잘라놓았습니다. 즉, 충전하는 과정은 모두 데이터에서 빼버린것을 알 수 있었습니다. 

 

Results

모델 성능 검증표입니다.

BP Neural Network라는건 그냥 일반적으로 Back Propagation을 진행하여 학습한 Neural Network라는 뜻입니다.

아무래도 배터리는 전기화학적 히스테리시스가 존재하는 시계열 데이터이다보니 일반 NN으로는 이정도 성능밖에 안나오더라구요 저도 연구해보았던 결과로는 4~5%정도가 한계였습니다.

ELM은 Extreme Learning Machine으로, 이름은 복잡하지만 Regression의 한 방법중 하나라고 보시면 됩니다.

SVR은 Support Vector Regression이고, 마지막으로 위에서 정리한 SDAE(Stacked Denoising AutoEncoder)으로 Data Cleaning을 진행하고 ELM을 수행한것입니다.

결과를 보면, MAPE(Mean Absolute Percentage Error)를 기준으로 가장 낮은 오차와 표준편차임을 보여주며, SDAE를 통한 Data Cleaning이 실제로 효과가 있다라는것을 보여주고 있습니다.

 

이 논문에서 한가지 아쉬운점은, SDAE를 적용한것과 안한것의 비교가 아니라 SDAE를 통해 데이터 전처리를 한것과 다른 기법을 통해 데이터 전처리를 한것을 동일한 학습모델을 통해 검증하여, 실제로 다른 데이터 전처리(Data Cleaning)기법 대비 SDAE가 확실히 효과가 있었다 라는 식으로 정리가 되었다면 더 좋지 않았을까 하는 생각이 들었습니다.

 

참조

1. Shuangqi Li, Jianwei Li, Hongwen He, Hanxiao Wang, Lithium-ion battery modeling based on Big Data,
Energy Procedia,Volume 159, 2019, Pages 168-173, ISSN 1876-6102,
https://doi.org/10.1016/j.egypro.2018.12.046.

 

2. Shuangqi Li, Hongwen He, Jianwei Li,Big data driven lithium-ion battery modeling method based on SDAE-ELM algorithm and data pre-processing technology,Applied Energy,Volume 242,2019,Pages 1259-1273,ISSN 0306-2619,
https://doi.org/10.1016/j.apenergy.2019.03.154.

댓글