二 几个基本概念
1、误差:
若令测量误差为,测得值为x,真值为,则有
或 (2-1)
由于实际应用中真值一般是无从知道或无法确定的,所以,在统计学中,常以测量次数足够大时的测得值的算术平均值近似代替真值。
2、算术平均值:
对一真值为的物理量进行等精度的n次测量,得n个测得值,它们都含有随机误差,统称真差。我们常以算术平均值作为n次测量的结果,即
(2-2)
3、残差v:
各测得值对其算术平均值的误差量叫做残余误差,简称残差,即
(2-3)
4、标准差(标准偏差):
在计量学中,常用标准差来评定测得值的精度,即
(2-4)
式中::真差(随机误差);
n:测量次数。
但在实际应用中,真差往往是不可知的,而常根据有限个测量值的残差v来求取随机测量误差方差的估计值,开方,得
(2-5)
式2-5称为贝塞尔(Bessel)公式,称为试验标准差,即是标准差的估计值。
5、随机误差的正态分布:
正态分布是随机误差的一种重要分布。实践
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
明,在大多数情况下,在测量过程中产生的误差服从正态分布。
正态分布的分布曲线如图1所示,
其分布密度函数为
(2-6)
式中,y:概率密度;
x:随机变量;
:标准差;
:理论均值或随机变量x的数学期望。
因被测量的真值无法知道,对连续型随机函数,可将理论均值看作真值,故式2-6可写作
(2-7)
若用代替,则分布密度函数又可化为
(2-8)
式2-8
说明
关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书
,测量次数足够大时,正态分布方程式同样适用于残差v。
6、非等精度测量的加权平均值及其精度参数:
“权”即各组测量结果相对的可信赖程度,一般用符号p代表“权”,所以求取加权平均值可使用下式
(2-9)
而各组测量的“权”,与各组测量结果的方差成反比,即
(2-10)
单位权化以后所得的单位权的标准差为
(2-11)
式中:
m:测量组数。
而加权平均值的标准差为
(2-12)
三 在计算几个基本的数字特征中的应用
1、求算术平均值:
计算一组数据的算术平均值,使用mean函数,其语法格式为:
m=mean(x)
x为所求的一组数据组成的行向量。
测量一个长度10次,所得结果如表1,求数据的算术平均值:
表1
序号 1 2 3 4 5 6 7 8 9 10
长度(mm) 25.125 25.126 25.127 25.128 25.129 25.130 25.131 25.132 25.133 25.134
程序如下,可得结果为=25.1295。
>> y=25.125:.001:25.134;
>> m=mean(y)
m =
25.1295
2、求残差v:
计算一组数据
样本
保单样本pdf木马病毒样本下载上虞风机样本下载直线导轨样本下载电脑病毒样本下载
的程序十分简单,故MATLAB中没有相应的子程序供调用,但我们可以用下面的程序进行求解(设m是数据样本的算术平均值):
例2.求例1中的数据样本的残差:
程序如下:
>> y=25.125:.001:25.134;
>> m=mean(y);
>> vi=y-m
vi =
-0.0045 -0.0035 -0.0025 -0.0015 -0.0005 0.0005 0.0015 0.0025 0.0035 0.0045
所得vi即为所求的残差。
3、求标准差:
如二.4所述,计算一组数据的标准差,常用计算试验标准差代替,此时使用std函数,其格式为
=std(x)
x为数据样本组成的一组行向量。
例3.计算例1中的数据的标准差:
程序如下,可得结果为=0.0030。
>> y=25.125:.001:25.134;
>> s=std(y)
s =
0.0030
4、正态分布的随机误差的一些参数的求法:
数据样本的随机误差多服从正态分布,用normstat函数求正态分布的均值和方差,其语法格式为:
[m,v]=normstat(mu,sigma)
5、计算非等精度测量的加权平均值及其精度参数:
例4.1m米尺由3位观测者测量,其结果如表2,求加权平均值及标准差:
表2
组别 一 二 三
(mm) 1000.045 1000.015 1000.060
(m) 5 20 10
程序如下:
>> format long
>> sig=[5 20 10];
>> mx=[1000.045 1000.015 1000.060];
>> p=1./sig.^2
p =
0.0400 0.0025 0.0100
>> p=p.*400
p =
16 1 4
>> xp=sum(mx.*p)/sum(p) %求加权平均值
xp =
1.000046428571429e+003
>> sis=sqrt(sum(p.*(mx-xp).^2)/(3-1)) %求单位权组的标准差
sis =
0.02964070560175
>> simx=sis/(sqrt(sum(p))) %求加权平均值的标准差
simx =
0.00646813224152
四 在使用最小二乘法时的应用
众所周知,最小二乘法在数据处理中具有无法取代的重要地位。最小二乘法既可处理满足线性函数关系的数据样本,也可以处理满足非线性函数关系的数据样本。
1、线性函数的最小二乘法处理:
已知数据样本符合线性函数关系,即:y=ax+b,测得的数据样本为长度相等的x,y向量。在MATLAB中通常使用矩阵除法来求解:
设矩阵A、c、y如下:
、、
则问题可化为解线性方程:cA=y,在MATLAB中可用c=Ay进行求解,求得列向量c即可得出系数a=c(1,1)、b=(2,1),然后得出线性函数关系。
例5.为研究20mm轴的几何形状误差,在40mm长度内选5个断面测得直径偏差如表3,试确定沿长度方向形状误差的规律。
表3 数据表
被测断面距端面距离/mm 2 10 20 30 40
直径偏差/m +3 +5 +8 +15 +18
解:先将(,)图示于图2上(图中黑色“+”所示),
经初步分析即知误差呈线性规律。
设此规律的线性方程为:
然后在MATLAB中用最小二乘法线性拟合可得近似y、x值为:y=0.4185; x=1.2617。
程序如下:
>> li=[2 10 20 30 40];
>> dd=[3 5 8 15 18];
>> a=[li;ones(size(li))]';
>> y=dd';
>> c=Ay
c =
0.4185
1.2617
>> A=c(1,1),b=c(2,1)
A =
0.4185
b =
1.2617
所以,所求的规律近似为:
图示于图2(图中黑色实线)。
尽管MATLAB中没有直接供调用的最小二乘法处理系统函数,但我们可以自己直接编写.m文件来供调用,文件如下:
function [a,b]=lsline(x,y)
%拟合曲线y=ax+b
xmean=mean(x);ymean=mean(y);
sumx2=(x-xmean)*(x-xmean)';
sumxy=(y-ymean)*(x-xmean)';
a=sumxy/sumx2;
b=ymean-a*xmean;
文件保存为lsline.m,即可供调用。调用程序如下:
>> li=[2 10 20 30 40];
>> dd=[3 5 8 15 18];
>> [a,b]=lsline(li,dd)
a =
0.4185
b =
1.2617
即可得出所求的线性规律。
2、非线性函数的最小二乘法处理:
MATLAB中非线性最小二乘的处理使用nlinfit函数,下面我们通过一个例子来介绍它的使用方法。
例6.在化工生产中获得的氯气的等级y随生产时间x下降,已知在x>=8时,y与x之间有如下的非线性模型:
现收集了10组数据,如表4:
表4 数据表
x 8 10 12 14 16 18 20 22 24 26
y 0.49 0.48 0.46 0.43 0.43 0.45 0.41 0.40 0.40 0.40
要求利用该数据样本求a、b的值,以确定模型。
解:我们先将数据图形化如图3:
首先定义非线性函数的.m文件 model.m:
function yy=model(be,x)
a=be(1);
b=be(2);
yy=a+(0.49-a)*exp(-b*(x-8));
然后在命令窗口中输入程序:
>> x=[8 10 12 14 16 18 20 22 24 26];
>> y=[0.49 0.48 0.46 0.43 0.43 0.45 0.41 0.40 0.40 0.40];
>> be=[0 0];
>> befit=nlinfit(x,y,'model',be)
befit =
0.3584 0.0692
故a=0.3584,b=0.0692,模型为:。
结果图示于图3中。
五 在回归分析与经验公式中的应用
在日常生活中,人们常应用试验的方法,寻找出数据样本之间的相互关系。但是通常使用的方法往往不能深刻反映变量间的内在关系,而应用经验公式却能充分表达数据样本各变量之间的变化规律,而且便于从理论上作进一步的研究。回归分析法就是应用数理统计的方法,对数据样本进行分析和处理,从而得出反映各变量间相互关系的经验公式,这就是回归方程。
1、一元线性经验公式
一元线性经验公式是指自变量x与因变量y存在的线性变化的规律,其形式为
y=ax+b
式中:a、b即为需要由数据样本确定的回归参数。
在MATLAB中,我们通常使用一次曲线拟合的方法来求解回归参数,曲线拟合的命令语法格式为
p=polyfit(x,y,1)
求得的p为向量[a,b]。
例7. 用X光机检查镁合金铸件内部缺陷时,为获得最佳灵敏度,透视电压y应随被透视件的厚度x而改变,试验中获得了如表5所示的数据表,试用其中数据确定其一元线性经验公式:
表5 数据表
x/mm 12 13 14 15 16 18 20 22 24 26
y/kV 52 55 58 61 65 70 75 80 85 91
程序如下,得所求公式为:y=2.7429x+19.8286,图示于图4中:
>> x=[12:16,18:2:26];
>> y=[52 55 58 61 65 70 75 80 85 91];
>> p=polyfit(x,y,1)
p =
2.7429 19.8286
2、一元非线性经验公式
首先将初步选定的经验公式变换为直线式
Y=AX+B
式中,Y,X为只含有一个变量x或y的函数,A和B是与变换前经验公式参数a、b有关的常数和系数。
常用的变换如下面的表6:
表6 非线性方程的线性化
序号 非线性方程 线性化方程 线性化变量
1 y
2 lny=lna+blnx lny lnx
3 y
下面我们通过一个具体的例子来说明求解的方法。
例8.下面的测量数据(表7),若用指数形式的经验公式拟合,试计算公式的参数a与b。
表7 数据表
x 2 4 8 16 25 32 50 64 100
y 24.5 37 56.8 85.5 112.5 129.5 171.5 200 260.5
如表6中所示,用lny=lna+blnx对非线性方程线性化,写作
其中,,,即
MATLAB中程序如下,可得结果为:,图示于图5:
>> x=[2 4 8 16 25 32 50 64 100];
>> y=[24.5 37 56.8 85.5 112.5 129.5 171.5 200 260.5];
>> xs=log(x);
>> ys=log(y);
>> p=polyfit(xs,ys,1);
>> a=exp(p(2))
a =
16.0539
>> b=p(1)
b =
0.6050
3、多元线性经验公式
多元线性经验公式是反映一个因变量与两个或两个以上自变量关系的线性函数式,多元线性经验公式的一般形式为
式中,:多元回归参数。
计算多元线性回归参数用regress函数,调用格式为
b=regress(y,x)
y为因变量,是一m行1列的列向量;x为自变量,是一m行n列的矩阵;b返回各个自变量的系数,与自变量x中各变量的顺序对应一致,也是一个m行1列的列向量。
六 后记
MATLAB功能强大,从数学计算到数据处理,从信号处理到控制理论,MATLAB正在逐渐深入到我们生活和学习中的方方面面,即使仅在数据处理一方面,其强大的功能也绝非一篇小文所能充分论述。我仅希望本文能够抛砖引玉,对大家在数据处理课程中使用MATLAB起到一定的引进作用,为MATLAB在数据处理中的更为普遍的推广应用起到一点作用。
参考文献
[1] 梁晋文,陈林才,何贡. 误差理论与数据处理[M]. 北京:中国计量出版社,2001
[2] 苏金明,张莲花,刘波. MATLAB工具箱应用[M]. 北京:电子工业出版社,2004
[3] 聂桂根. MATLAB在测量数据测量中的应用[J]. 《测绘通报》,2001,2
转载自:http://deeepsea.blogchina.com/4418709.html
Matlab中如何作线性回归(拟合)-
一元线性回归
用y=a*x+b来拟合一组数据{{x1,y1},{x2,y2}…{xn,yn}}
matlab中使用polyfit
x=data(:,1);
y=data(:,2);
p=polyfit(x,y,1);
p(1)为斜率a,p(2)为截距b
多元线性回归
用y=a1*x1+a2*x2+..+am*xm来拟合数据点{x1i,x2i,…xmi,yi} (i=1~n)
|x11,x21,…xm1|
A=|x12,x22,…xm2|
|… … … … … |
|x1n,x2n,…xmn|
Y={y1,y2,y3,…,yn}'
则系数{a1,a2,…,am}'=pinv(A)*Y
在matlab中使用
coeff=AY
则可以得到最小二乘意义上的拟合系数