毛正濤
(同濟大學汽車學院,上海,201804)
在新能源汽車中,動力電池是最重要的部件之一。控制電池的影響因素達到減緩電池衰變,將有助于增加電池壽命,起到降低成本,節能減排的作用[1]。但影響電池性能的衰變的因素眾多,如電池充放電模式、內阻增大、兩極的接觸金屬損壞、電池放電達到總額定量、電池充放電循環次數達到極限和駕駛員的操作等[2]。
目前,新能源汽車運營中產生了海量數據,數據中蘊含著電池性能下降與其他因素相關的模式。從海量數據中提取電池性能下降的模式,并對該模式的可信度進行評估,是本研究主要的工作。將汽車運行時的電池性能變化視為一個馬爾科夫過程,則電池性能下降模式對應最大可能影響因子狀態組合,等同于在電池性能下降模式發生下的最大后驗概率的參數組合。
隱馬爾科夫模型是關于時序的概率模型,描述由一個隱藏的馬爾科夫鏈隨機生成不可觀測的狀態序列的過程,再由各個狀態生成一個觀測隨機序列的過程。隱藏的馬爾科夫鏈隨機生成的狀態的序列,成為狀態序列;每個狀態生成一個觀測,而由此產生的觀測的隨機序列,成為觀測序列。序列的每一個位置可以看成是一個時刻[3]。
在新能源汽車電池性能評估中,假設電池性能的衰變是隨著駕駛過程效果、停車時長以及充電次數的累加引起的,可觀測層是電池性能的時序序列,隱含層是影響電池性能的不同因子狀態組合序列。用現有數據進行訓練作為評估器,就可以用于尋找導致不同性能下降變化的最大可能參數組合。
隱馬爾科夫是由初始概率分布、狀態轉移概率分布以及觀測概率分布確定。隱馬爾科夫的形式可以定義如下:
設Q是所有可能的狀態集合,V是所有可能的觀測的集合(影響因子狀態集)。

N是可能的狀態數,M是可能的觀測數。
I是長度為T的狀態序列,O是對應的觀測序列(性能衰變序列)。

A是狀態轉移矩陣:

其中:
B是觀測概率矩陣:

π是初始狀態概率向量:

其中:πi=P(i1=qi),i=1,2,3,…,N,是時刻t=1處于狀態qi的概率。
隱馬爾科夫模型由初始狀態向量π、狀態轉移矩陣A和觀測概率矩陣B決定。π和A決定狀態序列,B決定觀測序列。因此,隱馬爾科夫模型λ可以用三元符號表示,即:

隱馬爾科夫可解決三個基本問題:
(1)概率計算問題,給定模型λ=(A,B,π)和觀測(當前車輛電池性能衰減狀態)序列O=(o1,o2,…,oT),計算在模型λ下的觀測序列O出現的概率。
(2)學習問題,已知觀測(當前車輛電池性能衰減狀態)序列O=(o1,o2,…,oT),估計模型λ=(A,B,π)的參數,使得該模型下觀測序列概率最大,即用最大似然估計的方法估計參數。
(3)預測問題,也稱為解碼問題,已知λ=(A,B,π)和觀測(當前車輛電池性能衰減狀態)序列O=(o1,o2,…,oT),求給定觀測序列條件概率最大的狀態序列I=(i1,i2,…,iT)。即給定觀測序列,求最有可能的對應的狀態序列。
本研究解決的問題范式可歸類于預測問題,即已知觀測到的電池性能變化序列,求最大可能的影響因素參數區間組合。
為了對s種影響電池性能的因素參數區間組合進行尋優,一種概念上可行的方案是枚舉計算,即首先將s種變量進行區間切分,然后用排列組合出來的所有可能性作為狀態數M。但M的增長速度是以s的指數級增長,計算機開銷過大。因此,必須對狀態矩陣空間進行降維建模。算法如下:
輸入:觀測序列O=(o1,o2,…,oT),狀態序列I=(i1,i2,…,iT),
(1)統計狀態序列I=(i1,i2,…,iT)無重復數為d,按先后其在原有狀態的序號大小給定序號作為新的狀態編號。
(2)設樣本中時刻t處于狀態i時刻t+1轉移到j的頻數為Aij,那么狀態轉移矩陣概率aij的估計是

(3)設樣本中狀態為j并觀測為k的頻數為Bjk,那么狀態為j觀測為k的概率bj(k)的估計是:

(4)輸出狀態轉移概率矩陣A和觀測概率矩陣B。
常用的隱馬爾科夫模型預測的算法有兩種,一種被稱為近似算法,其思想是在每個時刻t選擇在該時刻最有可能出現的概率,從而得到一個狀態序列,將其作為預測結果,近似算法計算簡單,但確定是不能保證預測的狀態序列整體是最有可能的狀態序列。因此,本研究采取的是另一種算法,基于動態規劃的維特比算法。
維特比算法實際上是用動態規劃求解隱馬爾科夫模型的預測問題,即用動態規劃求概率最大路徑,這時一個路徑對應著一個狀態序列。算法如下:


本研究的輸入數據是基于純電動汽車實際運行中遠程采集的數據。
設影響電池性能的因素為:電池電流,電池電壓,電池包均溫,電池包溫度極小值,電池包溫度極大值,環境溫度。
設電池性能為:每1%soc行駛的里程。
狀態數:影響電池性能的因素的參數組合,共43234種。
觀測數:1%soc的行駛里程數,經過離散化處理分為9種。
本次訓練的樣本數為26。
利用降維算法得到對應的概率轉移矩陣和觀測概率矩陣如表1及表2所示。

表1 狀態轉移矩陣

表2 觀測概率矩陣
利用狀態概率矩陣和觀測概率矩陣,將數據全集作為訓練集,利用維比特算法,對數據集中的不同比例的數據進行預測,評估其準確率如下。
由圖可以看出,該模型對數據集中已有的序列分析預測能力較強。但若用于預測訓練集時,其預測能力未得到評估,模型可能存在過擬合問題。為了對本研究的模型和算法進行評估,將已有的數據序列進行7:1的數據劃分,分別劃分為訓練集和測試集。測試集上的模型準確率稱為模型的泛化能力。模型是否能最大程度得解釋觀測序列對應的狀態序列,需要對已有的數據集進行泛化能力的測試。本研究可以視為基于時序的多分類問題,易知分類準確率的基準,即隨機預測的情況下,準確率為:

圖1 訓練集上的預測能力

其中,h是待預測的階數。

圖2 測試集預測能力
由上可見,采取0/1損失策略的時候,隨著預測的時序的階數升高的時候,在測試集上的泛化能力快速下降。但依然比純粹的隨機預測能力更強。
本研究基于隱馬爾科夫模型建立了基于時序的電池性能影響因素參數組合尋優模型,并在已有的數據集上進行了泛化能力的測試。結果表明,模型具有較強的可解釋性和預測能力。具備一定的應用價值,但受限于樣本大小,對比模型在訓練集和測試集上的表現,模型依然存在過擬合問題,有待進一步優化測試。