徐建忠 張彥超 李永生 于廣浩 蘇奎



摘 要:在實際測量中由于濕度溫度等不確定性使得傳感器數據出現無法避免的隨機性誤差。為了減小誤差,一種快捷簡便的處理方式是使用最小二乘法對數據進行線性回歸修正。線性補償的方式能解決很多傳感器測量對于噪聲等隨機現象出現的誤差,但通常測量數據的實際函數本身都是非線性的,用線性函數來模擬非線性的測量數據往往會出現精度不足的問題。為此,本文設計了一種增加自變量階次及變量系數的方式來提高補償精度,由于增加的變量系數可能導致多重相關性等問題,改用單因變量偏最小二乘法來建立補償模型。
關鍵詞:傳感器數據;數據補償;偏最小二乘
中圖分類號:TP391 文獻標識碼:A DOI:10.3969/j.issn.1003-6970.2021.02.022
本文著錄格式:徐建忠,張彥超,李永生,等.偏最小二乘法在傳感器誤差補償中的應用[J].軟件,2021,42(02):075-077
Application of Partial Least Squares in Sensor Error Compensation
XU Jianzhong, ZHANG Yanchao, LI Yongsheng, YU Guanghao, SU Kui
(Mudanjiang Medical University, Mudanjiang? Heilongjiang? 157011)
【Abstract】:In practice, uncertainties such as humidity and temperature cause unavoidable random errors in the sensor data. In order to reduce the error, a quick and easy way to deal with it is to use the least squares method to correct the data by linear regression. The linear compensation method can solve many sensor measurement errors for random phenomena such as noise, but usually the actual function of the measurement data itself is nonlinear, and using a linear function to simulate nonlinear measurement data often results in a lack of accuracy. For this reason, this paper designs a way to increase the order of independent variables and variable coefficients to improve the compensation accuracy, and because the increased variable coefficients may lead to problems such as multiple correlations, a single dependent variable partial least squares method is used instead to build the compensation model.
【Key words】:sensor data;least square;data compensation
由于傳感器本身屬性或者濕度、溫度、噪聲等影響,傳感器在測量中不可避免的發生隨機誤差[1-2]。現今傳感器的數據補償方式主要分為硬件補償與軟補償(數字補償)兩大類[3-4]。前一種方式為改進傳感器工藝、提高精度或通過對測量電路與軟補償各自的優勢進行綜合以達進行優化來達到對傳感器測量數據補償[5]。后一種方式則通過智能算法-包括數值分析或神經網絡學習等方式對采集數據進行回歸[6]。亦可以綜合硬件補償到提高精確測量的目的[7]。
基于最小二乘方法的回歸補償由于其可適用范圍廣、建模簡單、操作方便等特性現已廣泛應用于各式傳感器的軟補償方式中[8-10]。當傳感器輸入輸出函數為線性且測量誤差完全隨機且呈正態分布時根據Gauss-Markov定理,由最小二乘法求得的補償函數是實際函數的無偏估計。然而現實狀態下很難保證實際函數一定為線性關系,測量誤差亦不一定完全呈正態分布。為了解決實際函數可能存在非線性時存在的誤差性,本文探討增加自變量階次及變量系數的方式來提高補償精度。理論上只要n足夠大,那么n階多項式可以表示任意自由函數。那么只要自變量的階次增加的足夠多,就可以在數據補償中提高更多精度。但階次的增加導致了系數項的增加,當采集樣本數不足時可能引起多重相關性等問題。為解決此類問題文中采用了偏最小二乘法來建立求解模型從而消去無關項,從而減小誤差。
1基于最小二乘的傳感器數據誤差的線性補償方法
設傳感器有輸入值矩陣X(Xn×p),輸出值矩陣Y(Yn×1),真實函數關系式可表示為Y=f(X),其中n為輸入和輸出測量值個數,p為輸入變量總數。在實際測量中由于環境濕度溫度等隨機因素造成的誤差矩陣記為ε(εn×1),于是有Y=f(X)+ε。當f相對于參數為近似線性關系且近似標準正態分布時,有近似補償函數關系式Yn×1=Xn×(p+1)B(p+1)×1+εn×1。此時補償函數f的系數矩陣B(p+1)×1=[β0 β1 &βp]T,(β0,β1,β2,…,βp)為f對應的線性系數。此時輸入值矩陣X可以表示為
。
記B(p+1)×1的待估值為,由最小二乘法Y與估值
的平方和應最小,即,既。對前式左側展開并求的偏導數可得:
(1)
2現實建模中出現的問題和一種改進方式
理想狀態下當給出傳感器的n組觀測數據時,由式1可求出線性補償模型的回歸系數,然后根據回歸方程求得修正輸出。由最小二乘法建立的線性補償模型需滿足以下基本假設:(1)輸入變量之間沒有明顯的線性相關性。(2)實際函數為線性函數。(3)誤差獨立并且隨機。
在現實測量中一般只能觀測到各個輸入量和輸出量的數據集,而并不清楚具體的模型函數關系。即不知道究竟函數是線性還是非線性的,通常只能通過估計來假設函數關系為線性關系。根據Weierstrass逼近定理,在閉區間上任一個連續函數都可用m次多項式進行逼近,只要m足夠大。本文利用上述定理的基本思想對基于最小二乘方法的線性補償模型進行改進,通過增加自變量階次及變量系數的方式來提高補償精度。
現假設傳感器有輸入與輸出關系為y=f(Xp).建立的線性補償模型為y=β0+β1x1+β2x2+…+βpxp+ε。通過逼近定理可以提高自變量的階次,當階次提高為2時有
y=β0+β01x1+…+β0pxp+β11x12+…+βppxp2+β12x1x2+…β(p-1)px(p-1)xp+ε? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)
通過變量代換亦可以表示為:y=β0+β1'x'1+β2'x'2+…βm'x'm+ε,在本質上依然等同于
y=β0+β1x1+β2x2+…+βpxp+ε? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3)
當階次m足夠大,甚至階次提高后各項系數總和逼近于觀測數n時,可以直接求解n元線性方程,此時補償函數通過了每個觀測值點。但由于增加了過多的變量系數導致了將隨機誤差也當成真實函數來處理,這樣建立的模型并不能真實的反映出實際函數,對函數輸出值也沒有任何誤差補償。同時增加的階次又帶來了嚴重的線性相關性問題,由于增加的額外項并不一定能夠真實反映實際函數,因此本文利用偏最小二乘法消除無關項來解決線性相關性和系數總和可能大于等于數據項所帶來的問題。
3偏最小二乘法解決傳感器數據誤差補償
3.1解決問題的基本思路
首先通過最小二乘法建立數據補償模型并通過(1)式求解相應系數,將得到的數據誤差補償模型進行誤差的精度驗證,如果精度滿足則停止,否則增加階次。在增加階次的同時進行變量代換將形如(2)式的各項變為(3)式的形式。對變換后的(3)式對數據進行標準化并代入標準化后的數據應用偏最小二乘法進行主成分分析、典型相關分析,建立回歸模型消除無關項。進行誤差判別,如果精度在合理范圍內則保留合適的項作為自變量同時獲得相應的系數并代換為原來的模型形式,如果誤差不夠則繼續提高階次。算法的流程圖如圖1所示。
3.2數據標準化
數據的中心化即通過平移變換將變換的坐標中心平移到樣本點集的重心,這樣可以使計算簡便同時不會改變變量間的相關性。數據的壓縮則是使每個變量的方差均為1,這樣可以消除變量的量綱效應,使得每個變量的量綱都相同。數據的標準化即同時對數據進行中心化和數據的壓縮處理。設有矩陣X=(xij)n×p,對其中每個元素,其中i=1,2,…,n,j=1,2,…, p,是xj的均值,sj是xj的方差。通過數據標準化變換可將輸入矩陣X和輸出矩陣Y變為E0=(xij*)n×p,F0=(yi*)n×1。
3.3偏最小二乘法求解方法
當輸入矩陣X和輸出矩陣Y通過數據標準化變換為E0和F0后,則首先從E0和F0中抽取第一個成分t1和u1,t1是x1,x2,…xp的線性組合,由于是單輸出因此u1=F0。此t1和u1應更多攜帶各自數據中的特異性,并使得t1和u1的相關程度能夠達到最大,在公式中即t1和u1的協方差最大,同時t1和u1各自的方差最大。
設有t1=E0w1,根據拉格朗日簡化算法有w1=E0TF0/ ‖E0TF0‖。于是可以建立E0對t1的回歸方程,p1=(E0T t1)/‖t1‖2,E0=E1+t1p1t.? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (4)
根據(4)式可求得E1和F1,然后用E1和F1取代E0和F0進行迭代。直至交叉滿足條件為止。
圖2使用最小二乘法與改進偏最小二乘法對比
Fig.2 Comparison of least squares and modified partial least squares
4實驗分析
為便于實驗并呈現直觀的二維坐標觀察效果現拿電壓傳感器的一組單一輸入與輸出數據進行測試,當電壓逐漸增大時傳感器輸入電壓和輸出平均觀測值如表1中所示。
從圖2中可以直觀感覺出采用最小二乘法和采用改進的增加階次的偏最小二乘法的區別。當采用最小二乘法進行線性補償時擬合為一條直線,當增加階次到2后的擬合曲線更能反映真實點,擬合效果更好。
5結語
為了形象直觀文中采用了單輸入單輸出的實驗數據,但算法同樣適用于多輸入單輸出的數據補償。從實驗可以看出適當增加階次可以更好的擬合補償數據。為解決增加階次帶來的線性相關性和數據樣本過少,采用偏最小二乘方法來替代最小二乘法不失為一種有效的方式。
結果表明采用基于偏最小二乘法的改進方法可以對傳感器誤差補償起到較好的效果。
參考文獻
[1] Volponi A J.Sensor error compensation in engine performance diagnostics[C]//Turbo Expo:Power for Land,Sea,and Air.American Society of Mechanical Engineers,1994,78873:V005T15A008.
[2] Yi B,Chu B C B,Chiang K S.Temperature compensation for a fiber-Bragg-grating-based magnetostrictive sensor[J].Microwave and Optical Technology Letters, 2003,36(3):211-213.
[3] 羅瀟.傳感器數據補償算法的設計與實現[D].武漢:華中科技大學,2011.
[4] 龍達峰,劉俊,李杰,等.地磁傳感器誤差參數估計與補償方法[J].傳感技術學報,2014,27(12):1649-1653.
[5] 黃超.數據驅動傳感器故障誤差補償與容錯控制方法研究[D].蘭州:蘭州理工大學,2016.
[6] 齊明,鄒繼斌,胡建輝.神經網絡在感應同步器零位誤差補償中的應用[J].中國電機工程學報,2008(9):105-110.
[7] 陳殿生,邵志浩,雷旭升,等.基于遞階遺傳RBF網絡的MEMS陀螺溫度補償[J].中國機械工程,2009,20(17):2063-2066.
[8] 樊鵬輝,楊光永,程滿,等.基于線性補償的測距傳感器結構設計與參數優化[J].單片機與嵌入式系統應用,2021,21(2):82-85.
[9] 滕斌,石安,李天龍.基于PLC控制的最小二乘法的平面度測量系統設計[J].自動化應用,2020(10):11-13.
[10] 張亞強.基于最小二乘法的四足機器人地形估計[J].南方農機,2020,51(17):120-122.