偏最小二乘法在传感器误差补偿中的应用

2021-08-19 20:20徐建忠张彦超李永生于广浩苏奎
软件 2021年2期

徐建忠 张彦超 李永生 于广浩 苏奎

摘 要:在实际测量中由于湿度温度等不确定性使得传感器数据出现无法避免的随机性误差。为了减小误差,一种快捷简便的处理方式是使用最小二乘法对数据进行线性回归修正。线性补偿的方式能解决很多传感器测量对于噪声等随机现象出现的误差,但通常测量数据的实际函数本身都是非线性的,用线性函数来模拟非线性的测量数据往往会出现精度不足的问题。为此,本文设计了一种增加自变量阶次及变量系数的方式来提高补偿精度,由于增加的变量系数可能导致多重相关性等问题,改用单因变量偏最小二乘法来建立补偿模型。

关键词:传感器数据;数据补偿;偏最小二乘

中图分类号: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.