回歸算法及SOC估計實例

2021-01-09 動力電池技術

回歸算法,是一種應用比較廣泛的機器算法。智能算法中,回歸算法往往與其他算法結合使用。在鋰電池SOC估計中,開路電壓估計SOC的方法,就是一種典型的回歸算法應用形式。詳細過程在本文最後一部分說明。

1 什麼是回歸算法

簡單的理解回歸,就是找到模型函數中未知係數的方法。我們常常會遇到這樣的情形,一個系統的輸入變量與輸出變量之間,關係比較複雜,不存在現成的理論公式描述這種關係。而我們知道,輸入與輸出之間一定存在著某種穩定的確定關係,並且我們需要這個函數的具體形式,來指導後續的實驗或者生產。於是回歸算法就應運而生。

回歸算法使用的典型過程是這樣的:

首先,準備好我們想要了解的典型系統。

第二,給系統一系列典型輸入,並測量相應的輸出,獲得n組由輸入、輸出數據構成的空間點數據。

第三,根據系統的特點,選擇系統模型的典型函數形式,參數待定;

第四,將第二步獲得的數據,帶入第三步函數式中,解出系統模型的每個參數。這樣,我們就獲得了一個描述系統輸入與輸出關係的經驗公式。

第五,選取另外一組實驗數據,代入經驗公式,驗證公式的準確性。如果精度在要求範圍內,則確定公式可用。

第六,在後續工作過程中,可以利用公式,估計不同輸入獲得的輸出範圍。

2 回歸算法分類

線性回歸

線性回歸,自變量和因變量的冪次方都不超過1,則將方程稱為線性回歸方程。回歸方程往往不能直接求解,而需要找到函數最小誤差公式,求解函數誤差最小時,函數參數的取值。求解最小值的方法有梯度法,最小二乘法等。

局部加權線性回歸

線性回歸形式比較簡單,易於求解,可以描述函數的整體趨勢。但對於函數的局部波動無能為力。於是,人們在線性回歸的基礎上改進,得到局部加權方法。局部加權方法,允許估計中出現稍大的誤差,進而減小系統均方誤差,函數圖形演變成了折線形。

邏輯回歸

當函數值只有0和1兩種取值時,我們需要用到邏輯回歸。邏輯回歸主要應用於數據分類。

多項式回歸

多項式回歸,顧名思義,就是自變量指數超過1的回歸模型,是最具普遍意義的一種擬合形式,很多工程問題都可以應用這種回歸算法。

相比於線性回歸,多項式回歸會耗費更多計算資源,指數越大計算量越大。當我們選擇多項式模型時,需要關注,擬合曲線的首尾指數較高的函數,評判在實際應用中是否有對應的意義。

逐步回歸

當系統中存在多個自變量時,需要用到逐步回歸。計算可以從最顯著的變量開始,逐步加入次顯著的變量,叫前進法;先加入全部變量,再逐步剔除一些影響不顯著的變量,叫做後退法。

其他回歸算法

除了上面的回歸模型,常見的還有嶺回歸、LASSO回歸、ElasticNet回歸等,都是前述回歸算法的改進和組合。

3 過擬合和欠擬合

選擇的回歸方法是否合適,主要是觀察擬合結果,實驗數據點與函數曲線的貼合程度越高,說明擬合效果越好。在網上看到兩張圖,看一眼就明白什麼是欠擬合、過擬合、恰當的擬合,盜圖一用。

觀察下面三幅圖。欠擬合,由於選取函數模型的冪次不夠,擬合曲線除了體現劃分邊界的大體趨勢,並不能對數據做出準確的劃分;過擬合,函數曲線精準分割數據點,但因為一兩個數據點,卻極大提高了函數複雜度,計算量顯著增加;恰當的擬合,如第三幅圖所示。

個人理解,過擬合和恰當的擬合之間,可能並沒有非常明晰的界限。隨著計算機算力的不斷提高,過擬合的起點肯定會相應提高。過擬合與適當的擬合之間,實際上是準確性與計算代價之間的平衡,無關乎對錯。

欠擬合

過擬合

恰當的擬合

4 回歸算法的特點

1)回歸算法與眾多機器算法的鮮明區別在於,它可以解決多自變量對一個因變量的問題,也可以處理多個自變量對多個因變量的問題。

2)經過轉化以後,回歸算法與支持向量機實際上具有等價性質。孫德山在他的論文《支持向量機分類與回歸算法的關係研究》中闡述了這個觀點並加以證明。回歸算法的方程,能夠直接求解的情形微乎其微,基本上都需要把參數求解轉化成求函數最小誤差問題。而支持向量機的求解,同樣是轉化為超平面到每個數據點的距離總和最大的優化問題,進而求解超平面方程的相關參數。

5 回歸算法在SOC估計中的應用實例

作者曾潔在其論文《基於多項式回歸算法的鋰電池SOC估測》中詳細介紹了利用回歸算法,獲得鋰電池開路電壓與荷電狀態對應關係函數的過程。

1)將充滿電的電池組與大電阻串聯,形成放電迴路。採用電池多功能參數測量儀( 可以測得電池電壓、充放電電流、溫度、容量、內阻)監測放電過程中電池電壓和放電量;

2)放電電池組可用容量的5%,暫停,靜置30分鐘後,測量電池組開路電壓;以此類推,直到電池荷電量為16.8%截止。(實驗描述,中間調整了一次放電步長)。實驗結束,獲得每個測試點電池荷電量與開路電壓的對應數據。

3) 選取3次多項式方程作為回歸方程,計算方程各項係數,獲得3次曲線方程。

4)選取另外一組相同型號、規格的鋰電池,重新獲得一組SOC-OCV數據,將開路電壓數據帶入方程,計算模型估計SOC值。將SOC估計值與實測值對比,最大誤差5.79%。

以上即為回歸算法在常用的鋰電池SOC估計中的具體使用過程。

參考

1 曾潔,基於多項式回歸算法的鋰電池SOC估測

2 孫德山,支持向量機分類與回歸算法的關係研究

3 楊濱,自適應迭代最小二乘支持向量機回歸算法

4 華德宏,一種改進的一元線性回歸算法

5 李雪,一種改進的偏最小二乘回歸方法研究

6 雷歌陽,鋰離子電池組的SOC估計

7 成鵬9,常見的七種回歸技術

8 機器學習之回歸算法

9 對線性回歸、邏輯回歸、各種回歸的概念學習

(圖片來自網際網路)

相關焦點

  • 卡爾曼濾波及其衍生算法在SOC估計中的應用
    卡爾曼濾波作為一種去除幹擾數據,獲得優質估計結果的優秀算法,在許多領域得到應用。無人機定位、實驗數據處理以及動力電池的SOC、SOH等,需要作出參數估計的領域都有應用。本文意在初步的表述我可以理解到的卡爾曼濾波及其衍生算法的物理意義和算法間的區別。
  • 為你的回歸問題選擇最佳機器學習算法
    【IT168 編譯】在處理任何類型的機器學習(ML)問題時,我們有許多不同的算法可供選擇。而機器學習領域有一個得到大家共識的觀點,大概就是:沒有一個ML算法能夠最佳地適用於解決所有問題。不同ML算法的性能在很大程度上取決於數據的大小和結構。
  • 技術|基於改進擴展卡爾曼濾波的鋰電池SOC估計
    ,其估計精度受訓練數據和訓練方法的影響較大;(4)卡爾曼濾波算法[10-15],通過建立電池模型實現狀態空間描述,再使用卡爾曼濾波器對狀態量進行估計,該方法是一種自回歸數據處理算法,其核心思想是對動態系統的狀態做最小均方意義上的最優估計,因此其估計精度比較高,但是其對電池模型的精度要求也比較高,同時由於該方法運算量較大,算法較為複雜,對系統處理器的要求也較高。
  • 入門| 機器學習新手必看10大算法
    當你的數據是實值時,通常假設一個高斯分布(鐘形曲線),這樣你可以簡單的估計這些概率。K 近鄰算法 KNN 算法非常簡單且有效。KNN 的模型表示是整個訓練數據集。是不是很簡單? KNN 算法在整個訓練集中搜索 K 個最相似實例(近鄰)並匯總這 K 個實例的輸出變量,以預測新數據點。對於回歸問題,這可能是平均輸出變量,對於分類問題,這可能是眾數(或最常見的)類別值。
  • 機器學習算法——邏輯回歸算法簡介
    1 邏輯回歸的概念邏輯回歸又稱logistic回歸分析,是一種廣義的線性回歸分析模型,常用於數據挖掘,疾病自動診斷,經濟預測等領域。邏輯回歸從本質來說屬於二分類問題。之前我們已經介紹了線性回歸模型,如下圖所示,預測值h(x)和目標值y越接近,表名模型的預測能力越好。2 為什麼要用邏輯回歸既然已經有了線性回歸模型,我們為什麼還要使用邏輯回歸。
  • 十大機器學習算法之旅已啟程
    對於渴望了解機器學習基礎知識的機器學習新手,請瀏覽數據科學家使用的前10位的機器學習算法。  1 - 線性回歸  線性回歸可能是統計學和機器學習中最知名和最易理解的算法之一。  預測建模主要關注最小化模型的誤差或者以可解釋性為代價來做出最準確的預測。我們將借用、重用和竊取包括統計數據在內的許多不同領域的算法,並將其用於這些目的。
  • 數據科學家應該知道的頂級機器學習算法
    那都是神經網絡方法和基於實例的方法。也有具有相同名稱的類別。那描述了問題和算法的類別。例如回歸和聚類。我們可以通過兩次列出ML算法來處理這些情況。通過選擇主觀上最適合的組。我喜歡後一種方法,即不重複算法以保持簡單。回歸算法回歸算法與建模變量之間的關係有關。我們使用模型進行的預測中的誤差度量進行細化。這些方法是統計工作的主力軍。此外,已被選入統計機器學習。
  • 機器學習算法集錦:從貝葉斯到深度學習及各自優缺點
    )深度學習(Deep Learning)支持向量機(Support Vector Machine)降維算法(Dimensionality Reduction Algorithms)聚類算法(Clustering Algorithms)基於實例的算法(Instance-based Algorithms)貝葉斯算法(Bayesian Algorithms)關聯規則學習算法(Association Rule
  • 怎樣估計鋰電池剩餘電量SOC
    內阻法估計SOC,實際應用案例比較少。擴展卡爾曼濾波算法卡爾曼濾波法,引入時域的概念,就是把一個過程看作是在時間軸上連續播放的無數狀態集合。用狀態方程描述動態過程,用測量方程描述觀測信息,用前一時刻的估計值和當前時刻的觀測值相互迭代,更新對狀態變量的估計。
  • 機器學習初學者必須知道的十大算法
    還在為不知道學什麼算法入門機器學習感到頭疼?本文作者通過自身的學習向初學者介紹十大機器學習(ML)算法,並附有數字和實例以便於理解。哈佛商業評論稱數據科學家是21世紀最性感的工作。所以,對於那些ML剛剛開始的人來說,這篇博客機器學習算法工程師需要知道的十大算法是非常有用的。ML算法是可以從數據中學習並從中改進的算法,無需人工幹預。
  • 性能提升30%以上,實時實例分割算法SOLOv2實現產業SOTA
    本文介紹了產業 SOTA 的實時實例分割算法 SOLOv2。目標檢測無法精細獲得目標邊界形狀和面積,語義分割無法區分不同目標個體,並分別獲得位置。小夥伴們可能會疑惑,以上動圖展示的實例分割效果顯然兼具了目標檢測和語義分割二者的能力,是通過什麼技術實現的呢?下面給大家介紹的這類相當牛氣的方法:實時實例分割算法 SOLOv2!
  • 機器學習算法盤點:人工神經網絡、深度學習
    回歸算法是試圖採用對誤差的衡量來探索變量之間的關係的一類算法。回歸算法是統計機器學習的利器。常見的回歸算法包括:最小二乘法(Ordinary Least Square),邏輯回歸(Logistic Regression),逐步式回歸(Stepwise Regression),多元自適應回歸樣條(Multivariate Adaptive Regression Splines)以及本地散點平滑估計(Locally Estimated Scatterplot Smoothing)
  • 機器學習算法匯總:人工神經網絡、深度學習及其它
    回歸算法 回歸算法是試圖採用對誤差的衡量來探索變量之間的關係的一類算法。回歸算法是統計機器學習的利器。在機器學習領域,人們說起回歸,有時候是指一類問題,有時候是指一類算法,這一點常常會使初學者有所困惑。
  • Python環境下的8種簡單線性回歸算法
    選自Medium作者:Tirthajyoti Sarkar機器之心編譯參與:晏奇、劉曉坤本文中,作者討論了 8 種在 Python 環境下進行簡單線性回歸計算的算法,不過沒有討論其性能的好壞,而是對比了其相對計算複雜度的度量。
  • 流行的機器學習算法總結,幫助你開啟機器學習算法學習之旅
    流行的機器學習算法在熟悉了幾種類型的ML算法之後,我們繼續演示一些流行的算法。1.線性回歸線性回歸是一種監督型ML算法,可幫助找到點集合的近似線性擬合。線性回歸的核心是識別兩個變量之間關係的線性方法,其中兩個值之一是從屬值,另一個是獨立的。
  • 回歸、分類與聚類:三大方向剖解機器學習算法的優缺點(附Python和R...
    1、回歸方法回歸方法是一種對數值型連續隨機變量進行預測和建模的監督學習算法。使用案例一般包括房價預測、股票走勢或測試成績等連續變化的案例。回歸任務的特點是標註的數據集具有數值型的目標變量。也就是說,每一個觀察樣本都有一個數值型的標註真值以監督算法。1.1 線性回歸(正則化)線性回歸是處理回歸任務最常用的算法之一。
  • 一種FFT插值正弦波快速頻率估計算法
    對被噪聲汙染的正弦波信號進行頻率估計是信號參數估計中的經典問題,目前國內外已提出不少方法。文獻給出了在高斯白噪聲中對正弦波信號頻率進行最大似然估計算法,該算法能夠達到卡拉美-羅限(CRB),但計算量大,實現困難。
  • 利用LS-SVM回歸算法辨識模型參數實現傳感器非線性校正的研究
    打開APP 利用LS-SVM回歸算法辨識模型參數實現傳感器非線性校正的研究 吳德會 發表於 2020-04-26 09:32:03
  • 17個機器學習的常用算法!
    回歸算法是統計機器學習的利器。在機器學習領域,人們說起回歸,有時候是指一類問題,有時候是指一類算法,這一點常常會使初學者有所困惑。常見的回歸算法包括:最小二乘法(Ordinary Least Square),邏輯回歸(Logistic Regression),逐步式回歸(Stepwise Regression),多元自適應回歸樣條(Multivariate Adaptive Regression Splines)以及本地散點平滑估計(Locally Estimated Scatterplot Smoothing)
  • 技術篇:蟻群算法實例解析
    ,比如遺傳算法、魚群算法、粒子群算法、還有咱們今天要講的蟻群算法。而距離長的路正相反,因此越來越多的螞蟻聚集到最短路徑上來,我們下圖可以形象的表示蟻群算法的中心思想。在蟻群算法中,螞蟻的眼睛觀察到的範圍是一個方格世界,相關參數為速度半徑,一般為3,可觀察和移動的範圍為3x3方格。