蘭鳳崇,陳繼開,陳吉清,蔣心平,李子涵,潘 威
(1.華南理工大學(xué)機(jī)械與汽車工程學(xué)院,廣州 510641;2.華南理工大學(xué),廣東省汽車工程重點實驗室,廣州 510641)
隨著鋰電池技術(shù)的發(fā)展,鋰電池的應(yīng)用越來越廣泛,鋰電池的安全問題也成為研究焦點。陳吉清等[1]研究了不同濫用條件下車用鋰電池安全性。黃蘆等[2]研究了電動汽車電池包底部錐狀物沖擊下的力學(xué)響應(yīng)。對于電動汽車而言,準(zhǔn)確評估鋰離子動力電池的健康狀態(tài)(SOH)和預(yù)測鋰電池的剩余使用壽命(RUL)在鋰電池健康管理中起十分重要的作用?;跀?shù)據(jù)驅(qū)動的鋰電池剩余壽命預(yù)測方法,無需了解電池失效的準(zhǔn)確物理化學(xué)機(jī)理參數(shù),可直接從鋰電池的電壓和電流等數(shù)據(jù)中挖掘出鋰電池性能退化的規(guī)律,具有較強(qiáng)的適用性,逐漸成為近年來主流的鋰電池剩余壽命預(yù)測方法。
Long 等[3]提出一種基于AR 模型的鋰離子電池RUL 預(yù)測方法。Zhou 等[4]將ARIMA 模型用于鋰電池的 RUL 預(yù)測中,結(jié)合經(jīng)驗?zāi)J椒纸猓‥MD)將全局退化趨勢和SOH分離,從而得到RUL和SOH。Wang等[5]在不確定的條件下使用相關(guān)向量機(jī)(RVM)進(jìn)行了鋰電池剩余壽命預(yù)測,機(jī)器學(xué)習(xí)模型的重點在于核函數(shù)的選擇和模型超參數(shù)的優(yōu)化。張朝龍等[6]提出集合經(jīng)驗?zāi)B(tài)分解和多核相關(guān)向量機(jī)的方法,將鋰電池衰退曲線分解后,進(jìn)行鋰電池剩余壽命預(yù)測。劉月峰等[7]提出一種融合多個核函數(shù)構(gòu)建相關(guān)向量機(jī)預(yù)測模型的方法,通過果蠅算法優(yōu)化多個核函數(shù)優(yōu)化組合的線性方程系數(shù),提高了預(yù)測模型的預(yù)測性能。
近年來,深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)模型的自適應(yīng)特征學(xué)習(xí)能力,已在多個領(lǐng)域得到了成功應(yīng)用。張瑞等[8]利用純電動車企業(yè)20 臺試驗車輛的25 萬條數(shù)據(jù),引入深度學(xué)習(xí)中的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)算法,并實現(xiàn)了電池數(shù)據(jù)管理的可視化、電池異常監(jiān)控和預(yù)警功能。李向南[9]使用深度長短時記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對鋰電池剩余使用壽命進(jìn)行預(yù)測,并開發(fā)了相關(guān)預(yù)測軟件。
為提高模型的泛化能力,融合不同模型的方法得到應(yīng)用,Liu 等[10]使用支持向量回歸(SVR)與多層感知機(jī)(MLP)的融合方法預(yù)測了鋰電池的剩余壽命,張吉宣等[11]提出了一種正則化粒子濾波和自回歸移動平均模型相融合的鋰電池剩余壽命預(yù)測算法,以鋰電池的經(jīng)驗退化模型作為融合算法的狀態(tài)方程,自回歸滑動平均模型的預(yù)測輸出值替代觀測值,構(gòu)建狀態(tài)空間模型,迭代更新電池容量,實現(xiàn)鋰電池的剩余使用壽命預(yù)測,胡天中等[12]提出基于多尺度分解和深度神經(jīng)網(wǎng)絡(luò)的電池 RUL 預(yù)測模型,用深度置信網(wǎng)絡(luò)(DBN)模型和 LSTM 模型分別進(jìn)行預(yù)測后融合。
基于統(tǒng)計學(xué)模型的時間序列預(yù)測方法具備預(yù)測長序列的能力,但模型對非線性較強(qiáng)的實車鋰電池SOH 衰退趨勢預(yù)測精度較低;基于深度學(xué)習(xí)的鋰電池剩余使用壽命預(yù)測模型大多是針對鋰電池SOH退化序列的單步預(yù)測建立的,此類模型的優(yōu)點是短期預(yù)測的精度較高,但對較長序列進(jìn)行預(yù)測時,須不斷迭代地進(jìn)行單步預(yù)測,直至預(yù)測終點,整個過程的預(yù)測次數(shù)越多,產(chǎn)生的累積誤差就越大。因此,迫切需要找到更合適的通用方法,解決基于復(fù)雜實車數(shù)據(jù)情況下更加精確可靠的預(yù)測問題。
綜上所述,在深度學(xué)習(xí)方法的基礎(chǔ)上,分析國家標(biāo)準(zhǔn)GB/T 32960[13]所要求的企業(yè)車輛電池數(shù)據(jù)采集規(guī)范。嘗試將編碼器-解碼器(ED)框架應(yīng)用于對LSTM 模型的改進(jìn),并融合ARIMA 模型方法進(jìn)行誤差修正,形成ARIMA-EDLSTM 融合模型的鋰離子動力電池RUL 預(yù)測方法。通過實例車型數(shù)據(jù)預(yù)測,表明該方法可靠,并具有精度方面的明顯優(yōu)勢。
電池RUL 預(yù)測屬于時間序列預(yù)測問題。ARIMA 模型是用于時間序列分析和預(yù)測的線性模型。使用ARIMA 進(jìn)行分析預(yù)測時須設(shè)置3 個參數(shù),分別為自回歸階數(shù)p、差分階數(shù)d和移動平均階數(shù)q,ARIMA(p,d,q)模型先對時間序列進(jìn)行平穩(wěn)性檢驗,如果不滿足平穩(wěn)性的要求,對時間序列進(jìn)行d階差分,然后再對序列進(jìn)行建模。ARIMA(p,d,q)的一般形式如下:
式中:Xt為序列當(dāng)前時刻值;Xt-j(j=1,2,…,p)是過去p個時刻的序列值;φi(i=1,2,…,p)表示各階自回歸項系數(shù);μt為殘差;θi(i=1,2,…,q)表示回歸系數(shù)。
ARIMA 模型的建模過程一般分4個步驟:
(1)序列平穩(wěn)化處理 一般可通過觀察法觀測時間序列樣本的平穩(wěn)性,若為非平穩(wěn)序列,進(jìn)行d階差分運算,化為平穩(wěn)時間序列。
(2)模型定階 通過觀察樣本的自相關(guān)系數(shù)圖和偏自相關(guān)系數(shù)圖來選取參數(shù)p和q。一般以自相關(guān)系數(shù)圖和偏自相關(guān)系數(shù)圖中各自結(jié)尾的位置作為p和q的最大值,得到多種參數(shù)組合,再利用 AIC 信息量準(zhǔn)則從中選擇一組最優(yōu)的模型參數(shù)。
(3)模型檢驗由以上得到的d、q、p獲得ARIMA 模型,通過檢驗?zāi)P蜌埐钍欠駷榘自肼曅蛄衼眚炞C模型有效性。
(4)預(yù)測 根據(jù)歷史序列數(shù)據(jù)對未來時刻值進(jìn)行預(yù)測。
LSTM 是在RNN 的基礎(chǔ)上進(jìn)行改進(jìn)的算法,能有效地學(xué)習(xí)時間序列數(shù)據(jù)中的特征,解決了RNN 訓(xùn)練過程中存在的梯度爆炸和梯度消失的問題,能夠?qū)W習(xí)長期依賴信息。在RNN 的基礎(chǔ)上,LSTM 增加了細(xì)胞單元的概念,細(xì)胞內(nèi)部結(jié)構(gòu)由輸入門、遺忘門和輸出門等組成。門結(jié)構(gòu)用于控制長期信息的儲存和丟棄。其中,輸入門旨在確定保留在存儲器單元中的新輸入信息,遺忘門用來消除無用的過去單元狀態(tài),輸出門用來確定傳播到下一個存儲單元的最終狀態(tài)。LSTM 基本結(jié)構(gòu)如圖1所示。
圖1 LSTM結(jié)構(gòu)
LSTM 的工作原理可以用式(2)~式(7)來表示:
式中:ft、it、Ot分別為遺忘門、輸入門和輸出門各自經(jīng)過sigmoid 函數(shù)的輸出,它們的值介于0 和1 之間,控制舊單元狀態(tài)Ct-1中要遺忘的信息、當(dāng)前單元狀態(tài)中新增的信息C?t和細(xì)胞單元t時刻的輸出ht;xt為當(dāng)前時刻的單元輸入;ht-1和ht分別為上一時刻和當(dāng)前時刻細(xì)胞單元的輸出;Wf、Wi、Wc和Wo是對于輸入xt的權(quán)重;bf、bi、bc和bo是相應(yīng)的偏置。
使用單步LSTM 模型進(jìn)行多步預(yù)測時,須把當(dāng)前時刻預(yù)測值作為下一次預(yù)測的輸入,不斷迭代直至預(yù)測終點。圖2 為單步LSTM 模型迭代預(yù)測k次的示意圖。
圖2 單步LSTM模型迭代預(yù)測
序列到序列的預(yù)測可以有效減少總的預(yù)測次數(shù),以此減小誤差隨著預(yù)測次數(shù)的累積,ED 結(jié)構(gòu)是一種序列到序列的預(yù)測結(jié)構(gòu),可以減少預(yù)測次數(shù)。已經(jīng)有人將ED 框架與LSTM 組合用于交通流的預(yù)測中[14],很好地解決了序列到序列的預(yù)測問題,收到了良好的效果。編碼器將歷史的序列信息壓縮為一個固定維度的狀態(tài)向量C,解碼器對向量C進(jìn)行解析,轉(zhuǎn)化成輸出序列,通過遞歸方式將預(yù)測結(jié)果反饋到網(wǎng)絡(luò)中。ED結(jié)構(gòu)如圖3所示。
圖3 Encoder-Decoder結(jié)構(gòu)
對于ED 結(jié)構(gòu),須選擇合適的編碼器和解碼器,LSTM可以學(xué)習(xí)序列中的長期依賴信息,對序列中每個數(shù)據(jù)的信息都能進(jìn)行提取,所以選擇LSTM 作為編碼器和解碼器,構(gòu)建EDLSTM模型。
EDLSTM 模型的預(yù)測過程如圖4 所示。在編碼時,作為編碼器的LSTM 模型對輸入長度為m的序列進(jìn)行特征提取,將輸入的序列信息壓縮為一個固定維度的狀態(tài)向量CT。在m時刻,編碼器的狀態(tài)hm由當(dāng)前輸入xm以及前一時刻狀態(tài)hm-1共同決定,狀態(tài)向量CT是對輸入序列所有狀態(tài)的加權(quán)平均。
圖4 EDLSTM模型預(yù)測過程
EDLSTM 模型在解碼時,將狀態(tài)向量CT通過RepeatVector 層作為解碼器的輸入,LSTM 模型的每個時間步的輸出通過TimeDistributed 層得到最終的預(yù)測結(jié)果,完成狀態(tài)向量的解碼,將狀態(tài)向量轉(zhuǎn)換為長度為n的輸出序列。
EDLSTM 模型可以實現(xiàn)序列到序列的預(yù)測,對于鋰電池剩余壽命預(yù)測,EDLSTM 模型輸入特征為序列長度為m的歷史時刻的SOH值,輸出為序列長度為n的未來時刻的SOH 值。圖5 為輸入序列長度為m、輸出序列長度為n(m>n)的EDLSTM 模型迭代預(yù)測k次的示意圖??梢妼τ陬A(yù)測相同序列長度的數(shù)據(jù),EDLSTM 模型相較于單步LSTM 模型可以明顯減少預(yù)測次數(shù)。
圖5 EDLSTM模型迭代預(yù)測
EDLSTM 模型進(jìn)行預(yù)測時,隨著預(yù)測序列長度增加,誤差會逐漸增加,通過ARIMA 模型預(yù)測誤差的線性趨勢,從而修正EDLSTM 模型的預(yù)測結(jié)果,提出一種ARIMA 和EDLSTM 融合的模型。在進(jìn)行鋰電池RUL 預(yù)測時,先構(gòu)建實車鋰電池SOH 衰退的時序數(shù)據(jù),再將時序數(shù)據(jù)按照歷史時刻數(shù)據(jù)和未來時刻數(shù)據(jù)劃分為訓(xùn)練集、誤差修正集和測試集,其中訓(xùn)練集和誤差修正集屬于歷史時刻數(shù)據(jù),用于建立融合模型,測試集屬于未來時刻數(shù)據(jù),用于驗證模型的預(yù)測結(jié)果。在訓(xùn)練集上對EDLSTM 模型進(jìn)行訓(xùn)練。EDLSTM模型的訓(xùn)練過程如下:
(1)隨機(jī)初始化EDLSTM 模型中的所有權(quán)重W和偏置b。
(2)設(shè)置固定步長的滑動窗口讀取訓(xùn)練數(shù)據(jù),將訓(xùn)練集中SOH 衰退數(shù)據(jù)輸入,并通過編碼器、解碼器等前向傳播得到模型的輸出。
(3)計算梯度,通過反向傳播更新模型中的權(quán)重W和偏置b。
(4)重復(fù)過程(2)~(3)直至達(dá)到設(shè)置的訓(xùn)練次數(shù),并檢查損失函數(shù)是否達(dá)到收斂。
使用訓(xùn)練好的EDLSTM 模型在誤差修正集和測試集上分別進(jìn)行預(yù)測。在誤差修正集上計算EDLSTM 模型的預(yù)測誤差,得到誤差的一條時序數(shù)據(jù),數(shù)據(jù)長度即誤差修正集的集合長度,使用ARIMA 模型對誤差數(shù)據(jù)進(jìn)行擬合,并在測試集上對誤差趨勢進(jìn)行預(yù)測,得到EDLSTM 模型在測試集上的預(yù)測誤差,將 ARIMA模型預(yù)測的誤差趨勢修正到EDLSTM模型的預(yù)測結(jié)果中,得到最終的預(yù)測結(jié)果。
ARIMA-EDLSTM 融合模型的預(yù)測流程如圖6所示。
圖6 ARIMA-EDLSTM 融合模型預(yù)測流程
鋰電池數(shù)據(jù)來自同一車型的4 輛純電動營運車輛,運行時間為9 個月,實車監(jiān)控的電池數(shù)據(jù)每10 s上傳記錄一次,數(shù)據(jù)形式均為基于時間的序列數(shù)據(jù),包括采集時間、行駛里程、電壓、溫度、SOH和剩余電量(SOC)等。
對于實車的鋰電池RUL 預(yù)測,本質(zhì)是預(yù)測鋰電池SOH 在未來一段時間內(nèi)的下降趨勢,計算直接采用實車電池管理系統(tǒng)(BMS)采集并上傳的SOH值,在BMS中SOH按照容量進(jìn)行計算:
式中:Caged為當(dāng)前鋰電池的容量;Crated為電池額定容量,在BMS中,鋰電池額定容量一般通過出廠進(jìn)行設(shè)置,鋰電池當(dāng)前容量一般通過充電過程計算得到。
由于實車數(shù)據(jù)中BMS 采集的精度為1%,無法反映小于1%的SOH 變化量,為更好地符合鋰電池SOH 實際的衰退情況,使用S-G 濾波器對SOH 衰退曲線進(jìn)行平滑,平滑前后的SOH 衰退曲線如圖7所示。
圖7 SOH衰退曲線
使用實車鋰電池運行數(shù)據(jù)進(jìn)行ARIMAEDLSTM 模型驗證時,每臺車按照500 km 等間隔劃分樣本點,車輛1、車輛2 和車輛3 共有130 個樣本點,其中前60 個劃分為訓(xùn)練集,中間35 個劃分為誤差修正集,后35 個作為測試集。車輛4 共有160 個樣本點,其中前70 個劃分為訓(xùn)練集,中間40 個劃分為誤差修正集,后50 個作為測試集。用于對比的其他模型,將訓(xùn)練集和誤差修正集合并作為訓(xùn)練集,測試集的劃分不變,總的預(yù)測比例超過了歷史時序數(shù)據(jù)的35%。
EDLSTM 模型基于Tensorflow 和Keras 深度學(xué)習(xí)框架建立。作為編碼器和解碼器的LSTM 隱藏層數(shù)均為1,隱藏層神經(jīng)元個數(shù)均為64。使用Relu 函數(shù)作為激活函數(shù),MSE 作為損失函數(shù),Adam 作為優(yōu)化器,batchsize 設(shè)置為10,設(shè)置訓(xùn)練次數(shù)為200次,用于對比的單步迭代預(yù)測的LSTM 模型內(nèi)部參數(shù)設(shè)置與上述一致。EDLSTM 模型的編碼器輸入序列長度設(shè)置為10,解碼器輸出序列長度設(shè)置為5,在進(jìn)行預(yù)測時,設(shè)置一個固定長度為10 的滑動窗口,不斷按輸出序列的長度5 進(jìn)行滑動,將預(yù)測值作為下一次預(yù)測的部分輸入值,迭代預(yù)測直至預(yù)測終點。統(tǒng)計模型 ARIMA 基于Pmdarima 庫建立,采用AIC 指標(biāo)篩選最佳模型。
為客觀評價ARIMA_EDLSTM 的預(yù)測性能,采用兩種具有代表性的誤差評價標(biāo)準(zhǔn),分別是均方根誤差(RMSE)和平均絕對百分比誤差(MAPE)。計算公式為
式中:Fi為第i個預(yù)測值;Ri為第i個真實值;n為時序數(shù)據(jù)的樣本點個數(shù)。RMSE和MAPE的值越小代表預(yù)測誤差越小,精度越高,模型的預(yù)測性能越好。
為驗證ARIMA_EDLSTM 融合模型的預(yù)測性能,選取ARIMA、EDLSTM 和單步預(yù)測的LSTM 進(jìn)行對比,各模型的鋰電池剩余壽命預(yù)測誤差見表1。4 臺車輛鋰電池剩余使用壽命最終預(yù)測的結(jié)果如圖8所示。
圖8 各模型預(yù)測結(jié)果
表1 各模型預(yù)測誤差
EDLSTM 模型在4 臺車輛上的平均RMSE和平均MAPE值均小于LSTM 模型。LSTM 模型在4 臺車上的RMSE平均為0.58,EDLSTM 模型在4 臺車上的RMSE平均為0.50,下降了約14%;LSTM 模型在4 臺車上的MAPE平均為0.55,EDLSTM 模型在4 臺車上的MAPE平均為0.41,下降了約25%,表明EDLSTM 模型能有效減少單步迭代預(yù)測產(chǎn)生的累積誤差。
ARIMA_EDLSTM 融合模型的預(yù)測精度明顯提高,在4臺車上預(yù)測的RMSE和MAPE值平均為0.36和0.3,相較于LSTM 模型分別下降了38%和45%,相較于EDLSTM 模型分別下降了28%和27%。各類方法的預(yù)測結(jié)果誤差如圖9 所示。4 輛電動汽車的鋰電池運行數(shù)據(jù)存在明顯不同的衰退趨勢,但模型在4 輛車上均取得了相較于對比模型更高的預(yù)測精度,可以說明ARIMA_EDLSTM 融合模型方法具有一定的普適性。
圖9 模型預(yù)測效果對比
針對實車數(shù)據(jù)驅(qū)動的鋰離子動力電池剩余使用壽命預(yù)測問題,基于現(xiàn)有深度學(xué)習(xí)和誤差分析理論,提出了ARIMA-EDLSTM 聯(lián)合預(yù)測解決方案,建立了從序列到序列的鋰電池剩余使用壽命預(yù)測通用方法和流程,完成了實車數(shù)據(jù)預(yù)處理、模型搭建、模型訓(xùn)練、模型預(yù)測和預(yù)測結(jié)果分析。該方法通過減少預(yù)測次數(shù),控制多次預(yù)測產(chǎn)生的累積誤差,并通過預(yù)測誤差趨勢對最終預(yù)測結(jié)果進(jìn)行修正,實現(xiàn)了較長期的預(yù)測過程,并有效保證了預(yù)測精度。
通過對比ARIMA、LSTM、EDLSTM 以及本文ARIMA-EDLSTM 方法在實車數(shù)據(jù)驅(qū)動下的預(yù)測誤差RMSE和MAPE,表明該方法能夠適應(yīng)實車運行的工況,且預(yù)測精度有大幅提升。實例數(shù)據(jù)預(yù)測結(jié)果表明,與對比方法相比,本文預(yù)測方法平均RMSE降低了28%~39%,平均MAPE降低了27%~56%。