韓 偉, 王 帥, 張筱辰, 李義婷, 陳翁祥
(1.福建師范大學(xué)數(shù)學(xué)與信息學(xué)院數(shù)字福建環(huán)境監(jiān)測物聯(lián)網(wǎng)實驗室,福建福州350007;2.南瑞集團(國網(wǎng)電力科學(xué)研究院)有限公司,江蘇南京211106)
與傳統(tǒng)電池技術(shù)相比,鋰離子電池因其電壓高、能量密度高、自放電率低、工作溫度范圍寬等特點被廣泛應(yīng)用于電子產(chǎn)品、交通運輸、航空航天等各個領(lǐng)域。然而鋰離子電池的健康程度隨著使用次數(shù)的增加而下降,當(dāng)電池壽命下降到一定閾值時,電池的穩(wěn)定性和可靠性下降。因鋰離子電池失效,可能導(dǎo)致設(shè)備停機,甚至?xí)蜻^熱或短路引起爆炸,從而造成經(jīng)濟損失和人身安全問題。為進一步對鋰離子電池進行預(yù)測和健康管理,需要了解電池在一定運行條件下的降解機制,準(zhǔn)確地估計鋰離子電池的剩余使用壽命(remaining useful life,RUL),以確保電池運行在設(shè)計限制和存儲壽命之內(nèi)[1]。
目前,鋰離子電池RUL 預(yù)測的常用方法有兩種:基于濾波理論的方法和基于統(tǒng)計機器學(xué)習(xí)理論的方法。前者將粒子濾波、卡爾曼濾波等濾波算法與指數(shù)衰減、多項式等數(shù)學(xué)模型相結(jié)合,擬合鋰離子電池健康狀態(tài)(state of health,SOH)變化曲線[2];該方法依賴于數(shù)據(jù)的先驗知識[3],在數(shù)據(jù)中存在不確定信息的情況下,這些方法難以取得滿意的結(jié)果。后者利用收集的歷史數(shù)據(jù)建立模型,有效地預(yù)測目標(biāo)電池的SOH。在現(xiàn)有的機器學(xué)習(xí)算法中,支持向量回歸(SVR)因其良好的非線性回歸能力而成為預(yù)測電池RUL 的一種流行方法。SVR 可以實現(xiàn)從低維數(shù)據(jù)空間到高維特征空間的映射,從而將一個低維非線性問題轉(zhuǎn)化為高維線性可分問題。許多人在該方面進行研究:Wang Shuai 等[4]提出F-SVR 預(yù)測鋰離子電池的SOH;Dong 等[5]提出結(jié)合SVR 和粒子濾波的方法預(yù)測鋰離子電池的SOH;Ng 等[6]使用樸素貝葉斯SVR 預(yù)測鋰離子電池的RUL。
SVR 的回歸性能取決于核函數(shù)的選擇[7]。核函數(shù)中存在許多直接影響預(yù)測性能的超參數(shù),這些參數(shù)決定核函數(shù)的映射能力。Qin 等[8]提出一種PSO-SVR 模型,利用粒子群算法優(yōu)化核參數(shù)。遺傳算法(GA)也是常用的優(yōu)化算法。然而,基于SVR 的研究大多直接使用RBF 核函數(shù)來預(yù)測鋰離子電池的SOH,缺乏通過實驗數(shù)據(jù)比較四種核函數(shù)映射能力的研究。本文應(yīng)用粒子群算法和遺傳算法對核函數(shù)的參數(shù)進行優(yōu)化。為提高模型對鋰離子電池RUL 的預(yù)測能力,實驗數(shù)據(jù)被分為前期、中期和后期三個階段對模型進行訓(xùn)練。
SVR 是一種結(jié)構(gòu)風(fēng)險最小化理論的回歸算法,利用核技巧來解決非線性回歸問題,即從輸入空間S映射到特征空間F[3]。
訓(xùn)練數(shù)據(jù){(x1, y1),…,(xi, yi)}未知其分布函數(shù),當(dāng)有線性關(guān)系時,回歸函數(shù)如下:
式中:w 和b 為模型參數(shù)。
SVR 將線性回歸問題轉(zhuǎn)化為凸二次規(guī)劃問題。ε-SVR 是最常用的SVR 模型,通過引入?yún)?shù)ε,優(yōu)化問題表示為:
式中:ε 表示允許f(xi)和yi之間的偏差小于ε-tube 的寬度;C 為懲罰參數(shù),通過調(diào)整C 可以改變模型復(fù)雜度和誤差之間的權(quán)重;松弛變量ξi和ξi*描述第i 個樣本不滿足約束的程度。
懲罰參數(shù)C 影響四個核函數(shù)[5],當(dāng)C 趨近于無窮大時,不允許出現(xiàn)樣本分類誤差,容易導(dǎo)致過擬合問題;當(dāng)C 趨于0時,不再關(guān)注樣本的分類是否正確,會導(dǎo)致欠擬合問題。另一個與核函數(shù)有關(guān)的參數(shù)是帶寬σ,σ 越大,支持向量的數(shù)量越少。
遺傳算法通過模擬自然進化過程來尋找最優(yōu)解。以目標(biāo)函數(shù)值作為適應(yīng)度,變量編碼為基因。在每一代中,個體都是根據(jù)其適應(yīng)度被選擇的。交叉和變異使用自然遺傳學(xué)的遺傳算子進行。通過這些運算,逐代得到較好的近似解[9]。
粒子群算法(PSO)是一種尋求最優(yōu)解和群內(nèi)個體間信息共享的算法。一組粒子在搜索空間中移動,通過迭代找到最優(yōu)解,每次迭代中粒子的d 維速度的更新公式為:
式中:pbestid和gbestid分別代表第i 個粒子的歷史最優(yōu)位置向量和種群的歷史最優(yōu)位置向量[10]。
粒子d 維位置的更新公式為:
遺傳算法在空間的所有解中快速搜索而避免陷入局部最優(yōu)的陷阱。但是,三種算子的實現(xiàn)涉及到很多參數(shù),如交叉率和突變率,這些參數(shù)的選擇極大地影響解的質(zhì)量。目前,這些參數(shù)的選擇大多是基于積累的經(jīng)驗。粒子群算法需調(diào)整的參數(shù)較少,結(jié)構(gòu)簡單,代碼編寫容易。在迭代中只需最優(yōu)的粒子把信息傳給其他粒子,搜索速度快。由于缺乏速度的動態(tài)調(diào)節(jié),粒子群算法容易陷入局部最優(yōu)的困境,參數(shù)選擇因問題而異。兩種優(yōu)化算法主要應(yīng)用在函數(shù)優(yōu)化、神經(jīng)網(wǎng)絡(luò)訓(xùn)練和工程領(lǐng)域。
在本研究中,鋰離子電池的數(shù)據(jù)來自NASA PcoE(電池編號為5 號、6 號和7 號)。這三種電池在室溫(24 ℃)下通過三種不同的操作方法(充電、放電和阻抗)運行。電池的故障閾值設(shè)置為其額定容量的70%。以TIECVD 和TIEDVD 作為模型輸入變量[11],輸出為鋰離子電池的剩余容量,與傳統(tǒng)輸入相比,它們可以更準(zhǔn)確地預(yù)測電池的RUL。圖1 為鋰離子電池容量退化曲線。
圖1 NASA 三組鋰離子電池容量退化曲線
(1)時間
執(zhí)行優(yōu)化算法花費的時間,以秒為單位。時間越少說明程序執(zhí)行速度越快,從花費的時間可以看出算法的一定優(yōu)化程度。
(2)均方根誤差(RMSE)[12]
用于衡量預(yù)測值同真實值之間的誤差。RMSE 的值越小,模型的預(yù)測效果越好。
(3)剩余電池壽命預(yù)測誤差
預(yù)測電池壽命達到閾值的循環(huán)與實際電池壽命達到閾值的循環(huán)之間差值的絕對值,其定義如下:
ERUL體現(xiàn)預(yù)測的電池閾值和真實閾值之間的誤差,值越小說明模型的預(yù)測效果越佳,當(dāng)值趨于0 時,正是實驗期望達到的結(jié)果。
本研究先采用遺傳算法全局搜索核函數(shù)所需參數(shù)C 和g的最優(yōu)組合,以提高預(yù)測精度。
GA-SVR 模型的構(gòu)建步驟如下。
(1)參數(shù)初始化:最大種群設(shè)置為20。結(jié)束點為早期60個循環(huán),中期80 個循環(huán),后期100 個循環(huán)。C 的范圍從1 到103,g 的取值范圍是10-2到1;程序執(zhí)行50 次。
(2)生成初始種群:在參數(shù)范圍內(nèi)隨機生成20 個個體作為第一代。
(3)計算適應(yīng)度:用訓(xùn)練集訓(xùn)練SVR 模型,計算RMSE 作為個體的適應(yīng)度。
(4)確定終止條件:如果適應(yīng)度達到閾值或代數(shù)達到最大值,轉(zhuǎn)到步驟(7),否則轉(zhuǎn)到步驟(5)。
(5)根據(jù)個體的適應(yīng)度進行選擇、交叉和突變,生成子代。
(6)更新種群,返回步驟(3)。
(7)獲得參數(shù)C、g 和時間。
接著使用粒子群算法來優(yōu)化參數(shù),構(gòu)建PSO-SVR 模型的步驟如下。
(1)參數(shù)初始化:參數(shù)初始化同GA-SVR。
(2)計算所有粒子的適應(yīng)度值:找到全局極值(gbest),更新個體極值(pbest)。
(3)根據(jù)公式(4)、(5)更新位置和速度。
(4)確定終止條件:若粒子達到最優(yōu)適應(yīng)度或進化代數(shù)最大,終止算法,否則返回步驟(2)。
(5)返回最優(yōu)參數(shù)Cbest、gbest和時間。這些參數(shù)用于實驗數(shù)據(jù)的訓(xùn)練和回歸,比較實驗數(shù)據(jù)和預(yù)測數(shù)據(jù)的誤差。
圖2 展示遺傳算法和粒子群優(yōu)化算法的參數(shù)優(yōu)化執(zhí)行時間。隨著訓(xùn)練數(shù)據(jù)規(guī)模的增加,兩種優(yōu)化算法所需要的時間也在增加。遺傳算法在每一個階段的耗費實際較少。
圖2 模型平均優(yōu)化時間
表1、表2 分別列出GA-SVR 和PSO-SVR 在三個時期預(yù)測的RMSE。
早期訓(xùn)練集只有60 個循環(huán),模型的預(yù)測結(jié)果偏差較大。當(dāng)中期訓(xùn)練集規(guī)模擴大到80 個循環(huán)時,SVR 的回歸能力得到改善。遺傳算法能有效地優(yōu)化RBF 核函數(shù)和Sigmoid 核函數(shù)。此時,PSO 優(yōu)化RBF 核函數(shù)的能力然并不令人滿意。利用前100 次循環(huán)作為訓(xùn)練集進行模型訓(xùn)練,GA 和PSO 的優(yōu)化結(jié)果都有明顯的提高。由于實驗數(shù)據(jù)特征維數(shù)較少,且訓(xùn)練數(shù)據(jù)規(guī)模不大,通過算法優(yōu)化后的SVR 的RBF 核可以獲得較高的預(yù)測精度。為研究電池的剩余使用壽命,在最小RMSE下,ERUL值的差異列于表3。
表1 GA 優(yōu)化結(jié)果的RMSE
表2 PSO 優(yōu)化結(jié)果的RMSE
表3 鋰離子電池剩余壽命預(yù)測誤差
在RBF 核作用下,GA-SVR 和PSO-SVR 在前中后三個時期多步預(yù)測5 號電池的結(jié)果如圖3 所示。從圖中可以看出兩個模型對早期和中期電池RUL 的預(yù)測比實際值晚一個循環(huán)。兩個模型后期的回歸能力基本相同,電池RUL 的預(yù)測比實際值提前一個周期。為進一步驗證兩種優(yōu)化算法和核函數(shù)的穩(wěn)定性及適應(yīng)性,對模型進行交叉驗證,結(jié)果展示于圖4。在不同時期,RBF 的RMSE 低于其他三個核函數(shù)。后期的模型在實際生產(chǎn)生活中更具有預(yù)警意義。
在相同的鋰離子電池組(5 號電池)和循環(huán)(60 和80 個循環(huán))中,Wang Shuai 等[4]提出的F-SVR 模型預(yù)測鋰離子電池的ERUL分別為12 和16 個循環(huán)。本模型預(yù)測的鋰離子電池RUL與實際只差1 個循環(huán),優(yōu)化效果明顯。
以6 號電池為例,采用四種核函數(shù)的GA-SVR 在三個時期測試集的最佳預(yù)測結(jié)果如圖5 所示。與其他核函數(shù)相比,RBF 在三個階段的RMSE 最低。但隨著訓(xùn)練集大小的增加,GA-SVR 在四個核函數(shù)下RMSE 和ERUL之間的差距縮小。不同階段的核選擇準(zhǔn)則是不同的,在前期和中期,因訓(xùn)練時間接近,所以更多地考慮RMSE 和ERUL。而在后期因接近閾值周期還應(yīng)當(dāng)考慮程序運行效率。在預(yù)測的中期采用RBF 預(yù)測的ERUL比實際提前一個循環(huán),后期表現(xiàn)也不遜色。
圖3 GA-SVR 和PSO-SVR在三個時期的優(yōu)化結(jié)果
圖5 GA-SVR 三個時期的水平和垂直比較
為準(zhǔn)確預(yù)測鋰離子電池的剩余使用壽命,本文采用遺傳算法和粒子群優(yōu)化算法對核參數(shù)進行優(yōu)化;對GA-SVR 和PSO-SVR 的回歸能力按前期、中期和后期進行檢驗;利用程序運行時間和RMSE 來確定算法的優(yōu)化效率,比較了四種核函數(shù)影響下SVR 回歸能力的ERUL和RMSE 值。實驗結(jié)果驗證了本模型的有效性。
本研究的貢獻如下:
(1)比較了GA 和PSO 優(yōu)化SVR 核函數(shù)參數(shù)的能力,遺傳算法具有較低的運行時間和較強的參數(shù)優(yōu)化能力;
(2)比較GA-SVR 和PSO-SVR 在四種核函數(shù)作用下對鋰離子電池SOH 的預(yù)測能力;
(3)后期基于RBF 核函數(shù)的GA-SVR 和PSO-SVR 對鋰離子電池RUL 的預(yù)測精度較高。
未來的工作將注重于提高遺傳算法和粒子群算法優(yōu)化核函數(shù)參數(shù)的能力。提高精度的同時對鋰離子實驗數(shù)據(jù)進行更詳細的劃分,來驗證上述結(jié)論是否適用于其他類型的鋰離子電池。