, , ,
(1.福州大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福州 350108;2.福建星云電子股份有限公司,福州 350015)
現(xiàn)如今世界正在遭遇能源危機(jī),生態(tài)環(huán)境破壞嚴(yán)重,空氣污染的情況也是越來(lái)越不容樂(lè)觀,因此電動(dòng)汽車(chē)在汽車(chē)產(chǎn)業(yè)中脫穎而出。而在諸多汽車(chē)電池中,鋰電池因?yàn)樾阅芊€(wěn)定、壽命長(zhǎng)、承受力強(qiáng)等優(yōu)勢(shì),成為了電動(dòng)汽車(chē)動(dòng)力電池的絕佳選擇[1-2]。為了對(duì)鋰電池進(jìn)行高效管理,防止過(guò)充、過(guò)放的情況發(fā)生,保證鋰電池使用的安全性以及性能,需要對(duì)鋰電池的荷電狀態(tài)(state of charge,SOC)進(jìn)行準(zhǔn)確預(yù)測(cè)[3-4]。如果能夠精確地估計(jì)鋰電池的充電SOC值,可以根據(jù)充電SOC值的變化過(guò)程評(píng)估鋰電池的健康狀態(tài),以此來(lái)對(duì)鋰電池進(jìn)行定期維護(hù),從而使鋰電池的壽命更加長(zhǎng)久,使用的安全系數(shù)也大大提高。
針對(duì)鋰電池SOC預(yù)測(cè)的問(wèn)題,各個(gè)國(guó)家都在進(jìn)行深入研究,并在不同的方法上取得了一定的成果。文獻(xiàn)中提到的方法有PNGV等效電路模型法、安時(shí)積分法、開(kāi)路電壓結(jié)合卡爾曼濾波法、改進(jìn)的卡爾曼濾波法以及人工神經(jīng)網(wǎng)絡(luò)法[5-8]。但是這些方法都具有一定的局限性,安時(shí)積分法若電流測(cè)量不準(zhǔn)確,會(huì)導(dǎo)致SOC計(jì)算誤差,之后誤差還會(huì)隨著時(shí)間推移變大,而且還會(huì)受到充放電效率和溫度變化的影響。開(kāi)路電壓法的缺點(diǎn)是測(cè)量電池需要長(zhǎng)時(shí)間靜置,以達(dá)到電壓穩(wěn)定,實(shí)際情況下靜置時(shí)間需要長(zhǎng)達(dá)幾小時(shí)乃至十幾個(gè)小時(shí),這給測(cè)量造成了很大的困難。卡爾曼濾波法因?yàn)橄到y(tǒng)內(nèi)部較為復(fù)雜,用于電池管理系統(tǒng)中費(fèi)用昂貴,短板比較明顯。人工神經(jīng)網(wǎng)絡(luò)法存在算法過(guò)程繁雜的問(wèn)題,在實(shí)際工程應(yīng)用中不易于推廣[9]。
實(shí)驗(yàn)是基于鋰電池充電過(guò)程中的實(shí)際數(shù)據(jù),使用Python語(yǔ)言編程實(shí)現(xiàn),通過(guò)把充電機(jī)電壓,充電機(jī)電流,最大單體電壓,剩余充電時(shí)間,電池充電電壓,電池充電電流,充電時(shí)間,充電能量,充電總?cè)萘?,最大單體溫度,最小單體溫度這十一個(gè)特征變量數(shù)據(jù)作為輸入數(shù)據(jù),鋰電池的充電SOC作為輸出數(shù)據(jù),運(yùn)用多元線(xiàn)性回歸模型進(jìn)行訓(xùn)練。模型訓(xùn)練完成后導(dǎo)入新的輸入數(shù)據(jù),通過(guò)模型預(yù)測(cè)出鋰電池開(kāi)始充電到結(jié)束充電過(guò)程中準(zhǔn)確的SOC值。
多元線(xiàn)性回歸模型是用多個(gè)特征向量的給定值作為條件的回歸分析,得到一個(gè)輸出變量和多個(gè)輸入變量間的線(xiàn)性關(guān)系[10],通過(guò)數(shù)學(xué)公式的計(jì)算,訓(xùn)練相關(guān)數(shù)據(jù),建立反映輸入變量和輸出變量之間關(guān)系的模型,之后按照所得到的模型進(jìn)行預(yù)測(cè)。多元線(xiàn)性回歸模型的假設(shè)函數(shù)公式為:
Y=θ0+θ1X1+θ2X2+…+θnXn
(1)
公式(1)中,n為輸入變量的個(gè)數(shù),θi(i=1,2,…,n)為各個(gè)輸入變量的回歸系數(shù),θ0為截距,Xi(i=1,2,…,n)為輸入變量,Y為輸出變量。
若X的列滿(mǎn)秩可以采用普通最小二乘法,回歸系數(shù)矩陣為:
(2)
理論上只要知道了假設(shè)函數(shù), 就能夠用模型進(jìn)行數(shù)據(jù)預(yù)測(cè)了。關(guān)鍵在于假設(shè)函數(shù)存在多個(gè)未知量,即回歸系數(shù)及截距。當(dāng)選擇不同回歸系數(shù)和截距時(shí), 模型的預(yù)測(cè)效果就會(huì)不同。代價(jià)函數(shù)就是用于找到最優(yōu)解的目的函數(shù),它能幫助尋找最優(yōu)的回歸系數(shù)和截距,使模型的預(yù)測(cè)效果達(dá)到最好。多元線(xiàn)性回歸模型的代價(jià)函數(shù)公式為:
(3)
公式(3)中,J(θ)為代價(jià)函數(shù)值,θi(i=1,2,…,n)為各個(gè)輸入變量的回歸系數(shù),θ0為截距,m為訓(xùn)練樣本的數(shù)量,hθ為假設(shè)函數(shù)值即預(yù)測(cè)值,x(i)(i=1,2,…,n)為輸入變量,y(i)(i=1,2,…,n)為真實(shí)值。
梯度下降算法是一種優(yōu)化算法, 它的作用在于能夠找到一個(gè)函數(shù)的局部極小值點(diǎn),是求解機(jī)器學(xué)習(xí)算法模型參數(shù)的常用方法之一。在求解代價(jià)函數(shù)的最小值時(shí),可以通過(guò)梯度下降法來(lái)一步步迭代求解,最終得到最小化的代價(jià)函數(shù)和模型參數(shù)值。多元線(xiàn)性回歸模型的梯度下降法公式為:
(4)
在估計(jì)出多元線(xiàn)性回歸模型的參數(shù)之后,需要對(duì)模型進(jìn)行評(píng)價(jià),以此來(lái)判斷模型預(yù)測(cè)的效果。評(píng)價(jià)的指標(biāo)包括直接誤差,平均誤差,絕對(duì)平均誤差,標(biāo)準(zhǔn)差,均方根誤差,擬合優(yōu)度檢驗(yàn)(決定系數(shù))等。
1)直接誤差,指的是一個(gè)量的預(yù)測(cè)值或計(jì)算值與其真實(shí)值之差。
e=Sp-St
(5)
e為模型誤差,Sp為模型輸出值,St為實(shí)際值。
2)平均誤差,指的是預(yù)測(cè)得到所有值的隨機(jī)誤差的算術(shù)平均值。
(6)
3)絕對(duì)平均誤差,又叫平均絕對(duì)離差,它是所有單個(gè)預(yù)測(cè)值與算術(shù)平均值的偏差的絕對(duì)值的平均。
(7)
4)標(biāo)準(zhǔn)差,又常稱(chēng)均方差,是離均差平方的算術(shù)平均數(shù)的平方根,標(biāo)準(zhǔn)差能反映一個(gè)數(shù)據(jù)集的離散程度。
(8)
5)均方根誤差,是預(yù)測(cè)值與真實(shí)值偏差的平方與預(yù)測(cè)次數(shù)n比值的平方根。
(9)
(10)
公式(6)中,R2為決定系數(shù),決定系數(shù)越靠近1,模型的擬合度就越好。
模型訓(xùn)練數(shù)據(jù)的過(guò)程,實(shí)質(zhì)是求解模型參數(shù)最優(yōu)解的過(guò)程。假設(shè)函數(shù)hθ的值越接近真實(shí)值y時(shí),說(shuō)明此時(shí)的模型參數(shù)預(yù)測(cè)效果越好。這里選擇均方誤差來(lái)作為衡量標(biāo)準(zhǔn),目的是想要每個(gè)樣例的估計(jì)值與真實(shí)值之間差的平方的均值最小,即得到代價(jià)函數(shù)J(θ)的最小值。首先隨機(jī)選擇θ0,θ1,…,θn,然后不斷改變它們的值,使得J(θ)變小,直至最終找到J(θ)的最小值點(diǎn)。尋找過(guò)程中采用的就是梯度下降法,可以想象成下坡路,假如想盡可能快下坡,應(yīng)該每次都往坡度最大的方向下山。由于多維函數(shù)不好可視化,這里以回歸參數(shù)為二維的情況為例說(shuō)明,如圖1為梯度下降法求解代價(jià)函數(shù)J(θ)最小值的示意圖。迭代多次之后可以得到最優(yōu)的模型參數(shù),用最優(yōu)的模型參數(shù)對(duì)應(yīng)的假設(shè)函數(shù)來(lái)進(jìn)行預(yù)測(cè)。
圖1 梯度下降法求解最優(yōu)解示意圖
實(shí)驗(yàn)中使用了兩種不同鋰電池的充電數(shù)據(jù),記第一種鋰電池為A鋰電池,第二種鋰電池為B鋰電池,部分樣本數(shù)據(jù)如表1所示。
表1 部分樣本數(shù)據(jù)
數(shù)據(jù)預(yù)處理采用的是最大-最小值法(Max-Min normalization),最大-最小值法是對(duì)原始數(shù)據(jù)進(jìn)行線(xiàn)性變換。記xmin和xmax分別為屬性x的最小值和最大值,將x的一個(gè)原始值xk通過(guò)標(biāo)準(zhǔn)化映射成在區(qū)間[0,1]中的值。其轉(zhuǎn)換映射公式為:
(11)
步驟一:首先用Python語(yǔ)言讀取充電機(jī)電壓,充電機(jī)電流,最大單體電壓,剩余充電時(shí)間,電池充電電壓,電池充電電流,充電時(shí)間,充電能量,充電總?cè)萘?,最大單體溫度,最小單體溫度這十一個(gè)特征變量數(shù)據(jù)作為輸入數(shù)據(jù),鋰電池充電SOC作為輸出數(shù)據(jù)。
步驟二:使用最大-最小值法對(duì)輸入輸出數(shù)據(jù)進(jìn)行預(yù)處理,把每一維的數(shù)據(jù)都縮小到[0,1]之間。
步驟三:將數(shù)據(jù)預(yù)處理之后,對(duì)標(biāo)準(zhǔn)化了的輸入輸出數(shù)據(jù)進(jìn)行隨機(jī)分片,其中80%的數(shù)據(jù)集作為訓(xùn)練集,20%的數(shù)據(jù)集作為測(cè)試集。
步驟四:將訓(xùn)練集導(dǎo)入多元線(xiàn)性回歸模型,通過(guò)梯度下降法求解代價(jià)函數(shù)的最小值,從而得到最優(yōu)的回歸參數(shù)。
步驟五:分別用訓(xùn)練集和測(cè)試集數(shù)據(jù)對(duì)訓(xùn)練完成的多元線(xiàn)性回歸模型進(jìn)行測(cè)試,得到訓(xùn)練集和測(cè)試集預(yù)測(cè)的鋰電池充電SOC的值。
步驟六:根據(jù)多元線(xiàn)性回歸運(yùn)行結(jié)果的預(yù)測(cè)值和真實(shí)值,能夠繪制誤差分布圖,計(jì)算出回歸方程,直接誤差,平均誤差,絕對(duì)平均誤差,標(biāo)準(zhǔn)差,均方根誤差以及決定系數(shù)這些評(píng)價(jià)指標(biāo)。
步驟七:分析各項(xiàng)評(píng)價(jià)指標(biāo),評(píng)估多元線(xiàn)性回歸模型對(duì)鋰電池充電SOC的預(yù)測(cè)效果
實(shí)驗(yàn)首先用A鋰電池的訓(xùn)練集進(jìn)行測(cè)試,訓(xùn)練集鋰電池充電SOC的誤差分布如圖2所示。然后用A鋰電池的測(cè)試集進(jìn)行測(cè)試,測(cè)試集鋰電池充電SOC的誤差分布如圖3所示。兩個(gè)圖的橫坐標(biāo)表示測(cè)試數(shù)據(jù)的數(shù)量,縱坐標(biāo)表示鋰電池充電SOC的誤差。
圖2 A鋰電池訓(xùn)練集SOC誤差分布
圖3 A鋰電池測(cè)試集SOC誤差分布
程序執(zhí)行結(jié)束后在本地輸出判斷預(yù)測(cè)精度的評(píng)價(jià)指標(biāo),A鋰電池充電數(shù)據(jù)在多元線(xiàn)性回歸模型中擬合后的各個(gè)評(píng)價(jià)指標(biāo)如表2所示。第一行是訓(xùn)練集的評(píng)價(jià)指標(biāo),第二行是測(cè)試集的評(píng)價(jià)指標(biāo)。
表2 A鋰電池訓(xùn)練集和測(cè)試集評(píng)價(jià)指標(biāo)
由圖2可以看到A鋰電池訓(xùn)練集充電SOC的誤差在0附近上下小范圍內(nèi)波動(dòng),呈現(xiàn)出正態(tài)分布的樣子,再由表2中訓(xùn)練集一行的各項(xiàng)評(píng)價(jià)指標(biāo),可以看到平均誤差小到幾乎可以忽略不計(jì),決定系數(shù)達(dá)到99.422,沒(méi)有出現(xiàn)欠擬合的情況,從而能夠得到實(shí)驗(yàn)中多元線(xiàn)性回歸模型訓(xùn)練得相當(dāng)成功這一結(jié)論。
由圖3可以看到A鋰電池測(cè)試集充電SOC的誤差分布與圖1訓(xùn)練集中的十分相似,同樣是在0附近小范圍上下浮動(dòng),能直觀地看出對(duì)鋰電池充電SOC預(yù)測(cè)的效果不錯(cuò)。再由表2中測(cè)試集一行的各項(xiàng)指標(biāo)詳細(xì)分析,平均誤差,絕對(duì)平均誤差,標(biāo)準(zhǔn)差,均方根誤差都很小,決定系數(shù)達(dá)到了99.412,相當(dāng)接近去1,整體的結(jié)果都和訓(xùn)練集的結(jié)果非常相近。由此說(shuō)明多元線(xiàn)性回歸模型適用于A鋰電池充電SOC的預(yù)測(cè),能夠很準(zhǔn)確地估算出SOC值。
通過(guò)擬合的回歸系數(shù),可以得出A鋰電池的多元線(xiàn)性回歸方程為:
Y=0.16-1.627X1-0.0293X2+0.223X3+0.025X4+
2.496X5-0.224X6-0.004X7-7.517X8+7.327X9-
0.305X10+0.298X11
(12)
在測(cè)試完A鋰電池后,開(kāi)始對(duì)B鋰電池的實(shí)驗(yàn)。同樣先用B鋰電池的訓(xùn)練集進(jìn)行測(cè)試,訓(xùn)練集鋰電池充電SOC的誤差分布如圖4所示。然后用B鋰電池的測(cè)試集進(jìn)行測(cè)試,測(cè)試集鋰電池充電SOC的誤差分布如圖5所示。兩個(gè)圖的橫坐標(biāo)表示測(cè)試數(shù)據(jù)的數(shù)量,縱坐標(biāo)表示鋰電池充電SOC的誤差。
圖4 B鋰電池訓(xùn)練集SOC誤差分布
圖5 B鋰電池測(cè)試集SOC誤差分布
B鋰電池充電數(shù)據(jù)在多元線(xiàn)性回歸模型中擬合后的各個(gè)評(píng)價(jià)指標(biāo)如表3所示。第一行是訓(xùn)練集的評(píng)價(jià)指標(biāo),第二行是測(cè)試集的評(píng)價(jià)指標(biāo)。
表3 B鋰電池訓(xùn)練集和測(cè)試集評(píng)價(jià)指標(biāo)
從圖4可以看到B鋰電池訓(xùn)練集充電SOC的誤差分布在0左右,并且誤差值都非常小,整體也近似于正態(tài)分布,從表3中訓(xùn)練集一行的各項(xiàng)評(píng)價(jià)指標(biāo),能夠發(fā)現(xiàn)平均誤差幾乎為零,決定系數(shù)達(dá)到99.839,沒(méi)有出現(xiàn)欠擬合的情況,所以可以認(rèn)為B鋰電池充電數(shù)據(jù)在多元線(xiàn)性回歸模型中同樣訓(xùn)練得很好。
從圖5可以看到B鋰電池測(cè)試集充電SOC的誤差都保持在0.04以?xún)?nèi),誤差非常小,直觀地看出估算的準(zhǔn)確性,同A鋰電池的預(yù)測(cè)誤差相比,對(duì)B鋰電池的預(yù)測(cè)顯得更加優(yōu)秀。再對(duì)表3中測(cè)試集一行的各項(xiàng)指標(biāo)進(jìn)行分析,平均誤差,絕對(duì)平均誤差,標(biāo)準(zhǔn)差,均方根誤差都十分小,并且接近訓(xùn)練集的誤差指標(biāo),決定系數(shù)達(dá)到了99.823,這些評(píng)價(jià)指標(biāo)充分體現(xiàn)了多元線(xiàn)性回歸模型對(duì)B鋰電池充電SOC預(yù)測(cè)的準(zhǔn)確性。
通過(guò)擬合的回歸系數(shù),可以得出B鋰電池的多元線(xiàn)性回歸方程為:
Y=-0.242-0.179X1+0.088X2-0.076X3+
0.007X4+0.881X5+0.003X6+0.832X7-
1.269X8+0.917X9+0.573X10-0.044X11
(13)
從實(shí)驗(yàn)結(jié)果可以了解到,多元線(xiàn)性回歸模型對(duì)A鋰電池和B鋰電池充電SOC值的預(yù)測(cè)結(jié)果都十分理想。這說(shuō)明了鋰電池充電SOC的變化過(guò)程具有一定的線(xiàn)性規(guī)律,可以應(yīng)用多元線(xiàn)性回歸模型來(lái)做預(yù)測(cè)。而且,多元線(xiàn)性回歸針對(duì)該問(wèn)題還具有一定通用性,對(duì)不同的鋰電池進(jìn)行實(shí)驗(yàn),都能有不錯(cuò)的預(yù)測(cè)效果。
針對(duì)鋰電池充電SOC的預(yù)測(cè)問(wèn)題,使用了多元線(xiàn)性回歸模型對(duì)兩種不同的電動(dòng)汽車(chē)鋰電池的充電數(shù)據(jù)進(jìn)行訓(xùn)練,測(cè)試。研究結(jié)果表明,鋰電池充電SOC的變化過(guò)程具有一定的線(xiàn)性規(guī)律,多元線(xiàn)性回歸模型預(yù)測(cè)SOC值的誤差都能控制得很小,決定系數(shù)都高于99%,具有很好的預(yù)測(cè)效果且有一定的通用性。除此之外,多元線(xiàn)性回歸模型參數(shù)較少,結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn),更容易在實(shí)際應(yīng)用中推廣,這是諸如卡爾曼濾波法和神經(jīng)網(wǎng)絡(luò)法等方法所不具備的特點(diǎn)。