- 矿物加工测试技术
- 李龙江 黄宋魏 成奖国
- 8764字
- 2020-08-28 19:55:03
2.2 测量数据的处理
2.2.1 测量误差
(1)测量误差的概念
测量结果不能准确地反映被测量的真值,存在一定的偏差,这个偏差就是测量误差。
误差产生的原因主要有:
①检测系统(仪表)不可能绝对精确。
②测量原理的局限性、测量方法的不尽完善。
③环境因素和外界干扰。
④测量过程中被测对象原有状态的改变。
(2)误差的表示方法
误差有两种表示方法:绝对误差(absolute error,E)和相对误差(relative error,Er)。绝对误差是测量值(x)与真实值(xT)之间的差值,即
E=x-xT (2-2)
绝对误差的单位与测量值的单位相同,误差越小,表示测量值与真实值越接近,测量的准确度越高;反之,误差越大,测量的准确度越低。绝对误差有正负之分,当测量值大于真实值时,误差为正值,表示测量结果偏高;反之,误差为负值,表示测量结果偏低。
相对误差是指绝对误差相当于真实值(或实际值)的百分率,表示为
(2-3)
由绝对误差的定义可知,相对误差也有大小、正负之分。相对误差反映的是误差在真实值中所占的比例大小,因此在绝对误差相同的条件下,待测量的值越大,相对误差越小;反之,则相对误差越大。相对误差通常用于衡量测量的准确程度。相对误差越小,准确程度越高。
使用相对误差只能说明不同测量结果的准确程度,但不适用于衡量测量仪表本身的质量。为了更合理地评价仪表质量,采用了引用误差的概念。
引用误差是绝对误差E与仪表量程A的比值,通常以百分数表示。引用误差也是一种相对误差,常应用于多挡和连续刻度的仪器仪表中,用于衡量测量仪表本身的质量。
最大引用误差:如果以测量仪表整个量程中,可能出现的绝对误差最大值Emax代替E,则可得到最大引用误差。一台确定的仪表或一个检测系统的最大引用误差是一个定值。
(3)真值
在计算绝对误差和相对误差的过程中,均涉及真实值(xT),简称真值。真值是指某一物理量本身具有的、客观存在的真实数值,一般将严格定义的理论值叫作理论真值。严格地说,用测量的方法是得不到真值的。
常见的主要有约定真值和相对真值两种形式。
约定真值主要是从计量学的角度而言的,如国际计量大会上确定的长度、质量、物质的量单位等。根据国际计量委员会通过并发布的各种物理参量单位的定义,利用当今最高科学技术复现的这些实物单位基准,其值被公认为国际或国家基准,称为约定真值。
相对真值是指人们设法采用各种可靠的分析方法,使用最精密的仪器,经过不同实验室、不同人员进行平行分析,用数理统计方法对分析结果进行处理,从而确定出的一个相对准确的标准值。如果高一级检测仪器(计量器具)的误差仅为低一级检测仪器误差的1/10~1/3,则可认为前者是后者的相对真值。
(4)误差的分类
根据误差出现的规律可将误差分为系统误差、随机误差和粗大误差。
①系统误差 在相同条件下,多次重复测量同一被测参量时,其测量误差的大小和符号保持不变,或在条件改变时,误差按某一确定的规律变化,或误差与某一个或几个因素成函数关系,这种测量误差称为系统误差。误差值恒定不变的又称为定值系统误差,误差值变化的则称为变值系统误差。系统误差主要是由某种固定的原因造成的,具有重复性、单向性。从理论上讲,系统误差的大小、正负是可以测定的,所以又称可测误差。
根据系统误差产生的具体原因,可以将其分为:方法误差、仪器误差、操作误差和主观误差等几类。系统误差产生原因主要有:仪器的制造、安装或使用方法不正确,不良的读数习惯等。系统误差是一种有规律的误差,可以采用修正值或补偿校正的方法来减小或消除。
②随机误差 亦称偶然误差,是指在相同条件下多次重复测量同一被测参量时,测量误差的大小与符号均无规律变化,这类误差称为随机误差。随机误差往往是由某些难以控制且无法避免的偶然因素造成的,是服从统计规律的误差。
随机误差产生原因主要是测量环境的偶然变化。虽然单次测量的随机误差没有规律,但多次测量的总体却服从统计规律,通过对测量数据的统计处理,能在理论上估计其对测量结果的影响。通常,用精密度表征随机误差的大小。精密度是指几次平行测量结果之间的相互接近程度。精密度越低,随机误差越大;精密度越高,随机误差越小。
③粗大误差 又称为坏值或异常值,是一种显然与实际值不符的误差。粗大误差是指明显超出预期的误差,特点是误差数值大,明显歪曲了测量结果。正常的测量数据应是剔除了粗大误差的数据,因此我们通常研究的测量结果误差中仅包含系统误差和随机误差。
产生粗大误差的原因主要有:测错、读错、记错以及未达到条件匆忙实验等。这种误差的实质就是错误,一旦发生只能重新进行测量和实验。
各次测量值的绝对误差等于系统误差和随机误差的代数和。
此外,根据使用条件还可将误差划分为基本误差和附加误差。基本误差是指仪器在标准条件下使用所具有的误差。附加误差是指当使用条件偏离标准条件时,在基本误差的基础上增加的新的系统误差。
研究测量误差的目的主要是:
a.研究测量误差的性质,分析产生的原因,以寻求最大限度地消除或减小测量误差的途径。
b.寻求正确处理测量数据的理论和方法,以便在同样条件下能获得最精确、最可靠地反映真实值的测量结果。
2.2.2 随机误差的统计处理
凡是测量都存在误差,用数字表示的测量结果都具有不确定性。如何更好地表达测量结果,对测量的可疑值或离群值有根据地进行取舍;如何比较不同测量工作者的测量结果以及用不同的方法得到的测量结果等,这些问题都需要用数理统计的方法加以解决。
随机误差是由没有规律的大量的微小因素共同作用产生的结果,因而不易掌握,也难以消除。但随机误差具有随机变量的一切特点,它的概率分布通常服从一定的统计规律。因此,可以用数理统计的方法,对其分布范围做出估计。
2.2.2.1 随机误差的分布规律
假定对某个被测参量等精度重复测量n次,其测量值分别为X1、X2、…、Xi、…、Xn,则每次测量的测量误差,即随机误差(假定已消除系统误差)分别为:
x1=X1-X0
x2=X2-X0
…… (2-4)
xi=Xi-X0
xn=Xn-X0
式中,X0为真值。
大量的试验结果还表明:随机误差的分布规律多数都服从正态分布。如果以偏差幅值(有正负)为横坐标,以偏差出现的次数为纵坐标,作图可以看出,满足正态分布的随机误差整体上具有下列统计特性:
①有界性 随机误差的幅度均不超过一定的界限。
②单峰性 幅度小的随机误差比幅度大的随机误差出现的概率大。
③对称性 等值而符号相反的随机误差出现的概率接近相等。
④抵偿性 随机误差满足在相同条件下,当测量次数n→∞时,全体随机误差的代数和等于0,即
(2-5)
因此,提出随机误差符合一定的分布规律需满足以下两个前提:
①系统误差被尽力消除或减小到可以忽略的程度。
②随机误差虽然是由大量的没有规律的微小因素共同作用产生的,但是随机误差具有随机变量的一切特点。概率分布通常服从一定的统计规律,且多数都服从正态分布。
(1)正态分布
高斯于1795年提出的连续型正态分布随机变量x的概率密度函数表达式为:
(2-6)
(2-7)
式中 σ——随机变量x的标准偏差(简称标准差),代表了随机误差对测量结果的影响程度;
μ——随机变量的数学期望值,即总体平均值;
e——自然对数的底;
σ2——随机变量的方差;
n——随机变量的个数。
μ和σ是决定正态分布曲线的特征参数。μ是正态分布的位置特征参数;σ为正态分布的离散特征参数。μ值改变,σ值保持不变,正态分布曲线的形状保持不变而位置由于μ值改变而沿横坐标移动,如图2-2所示。μ值不变,σ值改变,则正态分布曲线的位置不变,但形状改变,σ对正态分布的影响如图2-3所示。
图2-2 μ对正态分布的影响示意图
图2-3 σ对正态分布的影响示意图
从图2-2和图2-3中可看出:分析随机误差时,标准差σ表征测量数据的离散程度。σ越小,数据越集中,测量的精密度(表示几次平行测量结果之间的相互接近程度)越高。
(2)均匀分布
均匀分布的特点是:在某一区域内,随机误差出现的概率处处相等,而在该区域外随机误差出现的概率为零。均匀分布的概率密度函数φ(x)为:
(2-8)
式中,a为随机误差x的极限值。
均匀分布的随机误差概率密度函数的图形呈直线形,如图2-4所示。
图2-4 均匀分布曲线
2.2.2.2 测量数据的随机误差估计
测量数据的随机误差可以通过测量真值、测量值的均方根误差、算术平均值的标准差和测量结果的置信度(正态分布时)等进行估计。
(1)测量真值估计
在实际工程测量中,测量次数n不可能无穷大,而测量真值X0通常也不可能已知。根据对已消除系统误差的有限次等精度测量数据样本X1、X2、…、Xi、…、Xn求其算术平均值,即:
(2-9)
式中,为被测参量真值X0(或数学期望μ)的最佳估计值。
(2)测量值的均方根误差估计
对已消除系统误差的一组n个等精度测量数据X1、X2、…、Xi、…、Xn采用其算术平均值近似代替测量真值X0后,计算结果总会有偏差,偏差的大小,常使用贝塞尔(Bessel)公式来计算:
(2-10)
(3)算术平均值的标准差估计
算术平均值的标准差为:
(2-11)
测量次数n是一个有限值,为了不产生误解,建议用算术平均值的标准差和方差的估计值与代替。
算术平均值的方差仅为单次测量值Xi方差的1/n,算术平均值的离散度比测量数据Xi的离散度要小。因此,在有限次等精度重复测量中,用算术平均值估计被测量值要比用测量数据序列中的任何一个都更为合理和可靠。
式(2-11) 表明:
①n较小时,增加测量次数n,可减小测量结果的标准偏差,提高测量的精密度。
②增加测量次数n,使数据采集和处理的工作量增加,且因测量时间不断增大而使“等精度”的测量条件无法保持,由此产生新的误差。
③测量次数n一般取4~24次。
(4)正态分布时测量结果的置信度
对于正态分布,由于测量值在某一区间出现的概率与标准差σ的大小相关,故一般把测量值Xi与真值X0的偏差Δx的置信区间取为σ的若干倍,即
Δx=±kσ (2-12)
式中,k为置信系数。
对于正态分布,测量偏差Δx落在某区间的概率表达式:
(2-13)
令δ=x-μ,则有:
(2-14)
置信系数k 值确定后,置信概率便可确定。由式(2-14)知,当k 分别选取1、2、3时,测量误差Δx分别落入正态分布置信区间±σ、±2σ、±3σ的概率值分别如下:
图2-5为不同置信区间的概率分布示意图。
图2-5 不同置信区间的概率分布示意图
2.2.3 系统误差的处理方法
在工程测量中,系统误差与随机误差总是同时存在的,但系统误差往往远大于随机误差。为保证和提高测量精度,需要研究发现系统误差,进而研究校正和消除系统误差的原理、方法与措施。系统误差的特点是具有规律性,一般可通过实验和分析研究确定与消除。
系统误差主要有以下类型:①大小与方向不随时间变化的恒差型系统误差。②随时间呈线性变化的线性变差型系统误差。③随时间作某种周期性变化的周期变差型系统误差。
系统误差(Δx)随测量时间变化的几种常见关系曲线如图2-6所示。
图2-6 系统误差的集中常见关系曲线
图2-6中,曲线1表示测量误差的大小与方向不随时间变化的恒差型系统误差;曲线2为测量误差随时间以某种斜率呈线性变化的线性变差型系统误差;曲线3表示测量误差随时间作某种周期性变化的周期变差型系统误差;曲线4为上述三种关系曲线的某种组合形态,呈现复杂规律变化的复杂变差型系统误差。
2.2.3.1 系统误差的判别和确定
(1)恒差系统误差的确定
①实验比对法 对于不随时间变化的恒差型系统误差,通常可以用实验比对的方法发现和确定。实验比对的方法又分为标准器件法(简称标准件法)和标准仪器法(简称标准表法)两种。
②原理分析与理论计算法 因转换原理、检测方法或设计制造方面存在不足而产生的恒差型系统误差可通过原理分析与理论计算来加以修正。此类误差的表现形式为:在传感器转换过程中存在零位、传感器输出信号与被测参量间存在非线性、传感器内阻大而信号调理电路输入阻抗不够高、处理信号时可略去高次项或采用精简化的电路模型等。
③改变外界测量条件法 有些检测系统在工作环境或被测参量数值变化的情况下,测量系统误差也会随之变化。对这类检测系统需要通过逐个改变外界测量条件,以发现和确定仪器在不同工况条件下的系统误差。
(2)变差系统误差的确定
变差系统误差即测量系统误差按照某种确定规律变化。可采用以下方法确定是否存在变差系统误差:
①残差观察法 残差(也即剩余偏差)是各测量值与全部测量数据算术平均值之差。根据测量数据的各个剩余误差大小和符号的变化规律来判断有无按某种规律变化的变差系统误差。该法仅适用于规律变化的系统误差的确定。
残差观察法使用的前提是系统误差比随机误差大。具体通过如下过程来实现:
把测量值及其残差按先后次序分别列表,观察和分析残差值的大小和符号的变化。若残差序列呈递增或递减的规律,且残差序列减去其中值后的新数列在以中值为原点的数轴上呈正负对称分布,则存在累进性的线性系统误差;如果偏差序列呈有规律的交替重复变化,则存在周期性系统误差。
②马利科夫准则 马利科夫准则适用于判断、发现和确定线性系统误差。
(2-15)
准则的使用方法是:首先将同一条件下重复测量得到的一组测量值X1、X2 、…、Xi 、…、Xn按序排列,并按照上式求出相应的残差ν1、ν2 、…、νi 、…、νn,将残差序列以中间值νk为界分为前后两组,分别求和,然后把两组残差和相减,即:
(2-16)
当n为偶数时,取k=n/2、s=n/2+1;当n为奇数时,取k=(n+1)/2=s。
若D近似等于零,表明不含线性系统误差;若D明显不为零(且大于νi),则表明存在线性系统误差。
③阿贝-赫梅特准则 阿贝-赫梅特准则适用于判断、发现和确定周期性系统误差。
该准则的使用方法是:将同一条件下重复测量得到的一组测量值X1、X2、…、Xn按序排列,并根据式(2-15)求出残差ν1、ν2 、…、νn,然后计算A:
(2-17)
如果式(2-17)中成立(σ2为本测量数据序列的方差),则表明存在周期性系统误差。
2.2.3.2 减小和消除系统误差的方法
(1)针对产生系统误差的主要原因采取对应措施
对测量过程中可能产生的系统误差的环节作仔细分析,寻找产生系统误差的主要原因,并采取相应措施是减小和消除系统误差最基本和最常用的方法。
(2)采用修正方法减小恒差系统误差
具体做法是:测量前先通过标准器件法或标准仪器法比对,得到该检测仪器系统误差的修正值,制成系统误差修正表;用该检测仪器进行具体测量时将测量值与修正值相加,从而大大减小或基本消除该检测仪器原先存在的系统误差。
(3)采用交叉读数法减小线性系统误差
交叉读数法,又称对称测量法,这种方法用于消除线性变化的系统误差,是在时间上将测量顺序等间隔对称安排,取各对称点两次交叉读入测量值,然后取其算术平均值作为测量值,即可有效地减小测量的线性系统误差。
(4)采用半周期偶数测量法减小周期性系统误差
对于周期性变化的系统误差,可用半周期偶数测量法消除,即相隔半个周期进行一次测量。取两次读数的算术平均值,即可有效地减小周期性系统误差。因为相差半周期的两次测量,其误差在理论上具有大小相等、符号相反的特征。所以这种方法在理论上能很好地减小和消除周期性系统误差。如图2-7所示。
图2-7 半周期法读数示意图
此外,对于系统误差,还可以采用交换法、补偿法、差分法、比值补偿法等进行减小和消除。
2.2.4 粗大误差的处理方法
在测量和实验中,当对同一试样进行多次平行测定时,发现某一组测量值中,往往有个别数据与其他数据相差较大,将这一测量数值称为可疑值(也称离群值或极端值)。如果确定该数值是由于过失造成的,则可以直接弃去不要,否则不能随意舍弃或保留,应该用统计检验的方法,确定该可疑值与其他数据是否来源于同一总体,是否存在粗大误差,以决定其取舍。常用拉伊达(Pauta)准则和格鲁布斯(Grubbs)准则进行处理和判断。
(1)拉伊达准则
拉伊达准则是对于服从正态分布的等精度测量,其某次测量误差|Xi-X0|大于3σ的可能性仅为0.27%。因此,把测量误差大于标准误差σ(或其估计值)的3倍测量值作为测量坏值予以舍弃。实际应用的拉伊达准则表达式为:
(2-18)
在应用拉伊达准则时,需要注意以下几点:
①拉伊达准则只适用于测量次数较多(n>25)、测量误差分布接近于正态分布的情况使用。
②当等精度测量次数较少(n≤20)时,采用基于正态分布的拉伊达准则,其可靠性将变差,且容易造成鉴别值界限太宽而无法发现坏值。
③当测量次数n<10时,拉伊达准则将彻底失效,不能判别任何粗大误差。
当测量次数n<10时,则需采用4法,即用s代替σ,用代替δ,故可粗略地认为,偏差大于4的个别测量值可以舍去。
采用该法在判断可疑值取舍时虽然存在较大误差,但是由于其使用起来比较简单,不需要查表,至今仍被许多人采用。但是当该法与其他检验法判断的结果发生矛盾时,应以其他法判断的结果为准。
采用4法判断可疑值时,首先应求出除可疑值外的其余测量数值的平均值和平均偏差,然后将可疑值与平均值进行比较,如可疑值与平均值的差的绝对值大于4,则将该可疑值舍去,否则应保留。
(2)格鲁布斯准则
格鲁布斯准则是以小样本测量数据,以t分布为基础用数理统计方法推导得出的。在小样本测量数据中满足表达式:
(2-19)
格鲁布斯准则的鉴别值KG(n,α)是和测量次数n、危险概率α相关的数值,可通过查相应的数表获得。表2-1是工程常用α=0.05和α=0.01在不同测量次数时,对应的格鲁布斯准则鉴别值KG(n,α)表。
表2-1 KG(n,α)数值表
当α=0.05或0.01时,可得到鉴别值KG(n,α)的置信概率P分别为0.95和0.99。即按式(2-19)得出的测量值大于按表2-1查得的鉴别值KG(n,α)的可能性仅分别为0.5%和1%,说明该数据是正常数据的概率很小,可以认定该测量值为坏值并予以剔除。
注意:若按式(2-19)和表2-1查出多个可疑测量数据时,只能舍弃误差最大的可疑数据,然后按剔除后的测量数据序列重新计算、,并重复进行以上判别,直到判明无坏值为止。
2.2.5 测量数据的MATLAB处理
在实际的实验和工程测量以及电子信号处理中,通常是通过不同的方式测得或采集到一些离散数据点,在对这些数据点进行利用之前,必须先对这些数据点进行分析和处理,如剔除误差较大的或明显不正确的点,以提高数据的准确性;有时由于条件限制,不能通过现有的测量手段得到希望的数据量,则可以通过测量其他的量, 并对所测得的数据进行运算, 便可间接地得到所希望的数据等等,这些都称为数据处理。目前,可以进行数据处理的数学软件大约有30多个,但是比较起来,它们在数值分析、算法处理和绘制图形等方面的效率远远低于MATLAB软件。
MATLAB是美国MathWorks公司从1984年开始推出的一种高性能数值计算软件, 经过多年来的升级、改进和不断完善,现已发展成为集数学运算、图形处理、程序设计和系统建模为一体的著名编程语言软件。MATLAB以矩阵运算为基础, 把计算、可视化、程序设计融合到一个交互的工作环境中,从而实现工程计算、仿真、数据分析及可视化、绘图、应用程序开发等功能。
MATLAB具有用法简单、灵活、程序结构性强、延展性好等优点,已经逐渐成为科学计算、视图交互系统和程序中首选的编程语言工具。由于它功能强大、适合多学科和多种工作平台,所以在国外的大学里已经成为一种必须掌握的基本编程语言。而在国内的研究设计单位和工业部门中,MATLAB也已经成为研究和解决工程问题的重要应用软件。MATLAB在测量数据测试处理领域有着多个方面的应用,具体安装可以参考相关手册,下面介绍MATLAB在测试分析技术中常用的几种功能。
(1)简单数值运算
MATLAB中提供了许多简单的功能函数,可以直接对测量得到的数据进行数值计算,由于其命令名字和英文意思相当,因此命令十分简单。
【例2-1】 随机测量矿浆管道的公称直径,测得它们(样本)的直径(单位:mm)分别为:74.001,74.005,74.003,74.001,74.000,73.998,74.006,74.002。试求样本的平均值d、方差a2,标准差a和平均标准偏差anp。
解 用MATLAB编程如下:
>>d=[74.001 74.005 74.003 74.001 74.000 73.998 74.006 74.002];k=8;
>>mean(d)%求平均值
>>a2=var(d)%方差=a2
>>a=std(d)%标准差=a
>>anp=a/sqrt(k)%平均标准偏差=anp
ans=
74.0020 %输出平均值
a2=
6.8571e-006 %输出方差
a=
0.0026 %输出标准差
anp=
9.2582e-004 %输出平均标准偏差
(2)数据误差处理
对测量所得的数据进行处理时,有时需要首先找出粗大误差的数据并将其剔除,这样可以增加测量的准确性。判断粗大误差的依据有拉伊达准则和肖维涅(chauvenet)准则,而肖维涅准则的精度更高。下面举例来说明采用肖维涅准则先剔除粗大误差,然后再求平均值和标准误差。
【例2-2】 有一组电阻测量值为:101.2,101.8,101.3,101.0,101.5,101.3,101.2,101.4,101.3,101.1(单位:Ω)。现求其平均值及其标准误差,如有异常值舍去。
解 用MATLAB编程如下:
>>R=[101.2 101.8 101.3 101.0 101.5 101.3 101.2 101.4 101.3 101.1];
>>R1=sort(R);%对实验数据递增排序
>>r=R1';
>>n=length(r);
>>mean1=mean(r);
>>std1=std(r);
>>c=log(n-1.69)/2.84+1.22-n/3300;%求肖维涅准则的系数
>>min=mean1-c*std1; %找出具有粗大误差的数据
>>B=find(r<P);
>>m1=length(B);
>>max=mean1+c.*stdl;
>>A=find(r>max);
>>m2=length(A);
>>k=r(m1+1/n-m2);%剔除具有粗大误差的数据
>>mean2=mean(k);%求平均值
>>std2=std(k);%求标准误差
>>sprintf('%s%0.1f%s%0.1f%s','R=',mean2, '±',std2,'Ω');%输出结果
ans=
R=101.3±0.2Ω
结果符合误差理论的要求,增加了科学性。
(3)绘制数据图
MATLAB软件拥有强大的绘图功能,可以非常容易地产生在测量数据处理中经常使用的柱形图和散点图,还可以用散点图描绘测量图线。这使得图示图解法在处理测量数据时变得很方便,把一些繁杂的工作变得简单明了。
【例2-3】 平面光栅单色仪的使用实验中,波长(λ)和光强(I)的数据有几十个,见表2-2。
表2-2 波长和光强关系表
如果用手工绘图将十分费事,使用MATLAB绘图命令就可以很方便地绘出光谱图。
解 用MATLAB编程如下:
>>x=300:20:800;
>>y=[1,2,7,25,62,120,218,368,546,732,919,1096,1252,1368,1446,1533,1538,1458,1258,988,696,455,266,143,72,42];
>>scatter(x,y,'*');
>>hold on;
>>xi=300:1:800;
>>yi=interp1(x,y,xi,'spline');
>>plot(x,y,'*',xi,yi,'b-');
>>grid on
(4)MATLAB线性回归分析
①多元线性回归 在MATLAB统计工具箱中使用命令regress( )实现多元线性回归,调用格式
b=regress(y,x)
或
[b,bint,r,rint,statsl]=regess(y,x,alpha)
其中,因变量y为n*1的矩阵;自变量x为[ones(n,1),x1,…,xm]的矩阵;n表示数据点个数;m表示自变量个数;alpha为显著性水平(缺省时设定为0.05);输出向量b、bint为回归系数估计值和它们的置信区间;r、rint为残差及其置信区间。stats是用于检验回归模型的统计量,有三个数值,第一个是R°,其中R是相关系数,第二个是F统计量值,第三个是与统计量F对应的概率P,当P<α时拒绝H0,回归模型成立。
画出残差及其置信区间,用命令rcoplot(r,rint)
【例2-4】 已知某湖八年来湖水中COD浓度实测值(y)与影响因素湖区工业产值(x1)、总人口数(x2)、捕鱼量(x3)、降水量(x4)资料,建立污染物y的水质分析模型。
解 a.输入数据
x1=[1.376, 1.375, 1.387, 1.401, 1.412, 1.428, 1.445, 1.477]
x2=[0.450, 0.475, 0.485, 0.500, 0.535, 0.545, 0.550, 0.575]
x3=[2.170 ,2.554, 2.676, 2.713, 2.823, 3.088, 3.122, 3.262]
x4=[0.8922, 1.1610 ,0.5346, 0.9589, 1.0239, 1.0499, 1.1065, 1.1387]
y=[5.19, 5.30, 5.60,5.82,6.00, 6.06,6.45, 6.95]
b.保存数据(以数据文件.mat形式保存,便于以后调用)
save data x1 x2 x3 x4 y
load data%(取出数据)
c.执行回归命令
x=[ones(8,1),x1,x2,x3,x4];
或者
x=[x1' x2' x3' x4'];
[b,bint,r,rint,stats]=regress(y,x)
得结果:
b=(-16.5283,15.7206,2.0327,-0.2106,-0.1991)’
stats=(0.9908,80.9530,0.0022)
即最终拟合曲线模型为:
y=-16.5283+15.7206*xl+2.0327*x2-0.2106*x3+0.1991*x4
R2=0.9908,F=80.9530,P=0.0022
②非线性回归 非线性回归可由命令nlinfit来实现,调用格式为
[beta,r,j]=nlinfit(x,y,'model’,beta0)
其中,输入数据x,y分别为n×m矩阵和n维列向量,对一元非线性回归,x为n维列向量model是事先用m-文件定义的非线性函数,beta0是回归系数的初值,beta是估计出的回归系数,r是残差,j是Jacobian矩阵,它们是估计预测误差需要的数据。
预测和预测误差估计用命令
[y,delta]=nlpredci(’model’,x,beta,r,j)
【例2-5】 对例2-4中COD浓度实测值(y),建立时序预测模型,这里选用logistic模型。
解 a.对所要拟合的非线性模型建立的m-文件mode1.m如下:
function yhat=model(beta,t)
yhat=beta(1)./(1+beta(2)*exp(-beta(3)*t))
b.输入数据
t=1:8
load data y%在data.mat中取出数据y
beta0=[50,10,1]’
c.求回归系数
[beta,r,j]=nlinfit(t’,y’,’model’,beta0)
得结果:
beta=(56.1157,10.4006,0.0445)’
d.预测及作图
[yy,delta]=nlprodei(’model’,t’,beta,r,j);
plot(t,y,’k+’,t,yy,’r’)
③逐步回归 逐步回归的命令是stepwise,它提供了一个交互式画面,通过此工具可以自由地选择变量,进行统计分析。调用格式为:
stepwise(x,y,inmodel,alpha)
其中x是自变量数据,y是因变量数据,分别为n×m和n×l矩阵,inmodel是矩阵的列数指标(缺省时为全部自变量),alpha为显著性水平(缺省时为0.5)。
结果产生三个图形窗口,在stepwise plot窗口,虚线表示该变量的拟合系数与0无显著差异;实线表示有显著差异,红色线表示从模型中移去的变量,绿色线表明存在模型中的变量,点击一条会改变其状态。在stepwise table窗口中列出一个统计表,包括回归系数及其置信区间,以及模型的统计量剩余标准差(RMSE),相关系数(R-square),F值和P值。
对不含常数项的一元回归模型 ,在MATLAB中进行回归分析的程序为:
b=regress(y,x)
[b,bint,r,rint,stats]=regress(y,x)
[b,bint,r,rint,stats]=regress(y,x,alpha)
说明
b=regress(y,x)返回基于观测y和回归矩阵x的最小二乘拟合系数的结果。
[b,bint,r,rint,stats]=regress(y,x)则给出系数的估计值b;系数估计值的置信度95%的置信区间bint;残差r及各残差的置信区间rint;向量stats给出回归的R2统计量和F以及P值。
[b,bint,r,rint,stats]=regess(y,alpha)给出置信度为1~alpha的结果,其他符号意义同上。
结果说明:b为回归模型中的常数项及回归系数; bint为各系数的95%置信区间;r和rint为对应每个实际值的残差和残差置信区间;stats向量的值分别为拟合优度、F值和显著性概率P。
MATLAB的其他应用功能不再一一列举,感兴趣的读者可以参考MATLAB的相关应用手册。