任务二 查表

知识目标

掌握查表的两种方法插值和曲线拟合,掌握线性内插法原理,了解其他插值原理和方法;了解曲线拟合的原理和方法。

能力目标

能用Excel软件采用单元格驱动、ExcelVBA自定义插值函数进行插值,能用Excel软件进行曲线拟合。

在生产和科学实验中,经常采用表格的形式来反映实际生产数据和实验观测数据,如表1-7为碳酸氢钠溶解度实验数据表,这种用数据表格形式给出的因变量溶解度(Ct)与自变量温度(t)之间的关系,即函数Ct=ft),通常称作列表函数。

表1-7 NaHCO3溶解度Ct(g/100g)数据表

列表函数通常具有以下特点:①自变量与函数值一一对应(不允许多值);②函数值具有相当可靠的精确度;③自变量与函数间的解析表达式可能不清楚,或者函数关系的解析表达式非常复杂不便于计算。

思考:1.何谓插值?常用的插值方法有哪几种?

  2.何谓线性插值、Lagrange插值、三次样条插值?

  3.何谓曲线拟合?

由表1-7可知,表格中只提供了几个温度为整数值时所对应的溶解度数据,当我们需要某一表格中未给出温度(如26.8℃)的溶解度数据时,该如何处理呢?

目前,处理表格函数的方法可分为两大类:①插值;②曲线拟合。插值就是通过列表函数中若干点数据构造一个比较简单的函数来近似表达原表格函数进行数据处理的方法,显然选用不同的插值函数,就有不同的计算方法和计算结果。曲线拟合也称经验建模,通常是将表格中的全部数据作为处理对象,将其描述成数学表达式的方法。

本任务将着重介绍插值中的线性插值法和Lagrange多项式插值法及借助于Excel进行曲线拟合的方法。

一、采用常用插值方法处理表格函数

为便于写出计算通式,将表1-7中的实验数据抽象为表1-8中的表格函数。

表1-8 表格函数

(一)线性插值法

线性插值就是将表格函数中的相邻两点之间的函数关系视为直线关系,即通过两点的数据构造一直线方程来处理位于两点之间数据关系的方法,以点1、点2为例,两点之间的因变量(y)的计算式为:

线性插值又称两点插值,其几何意义见图1-9。可见,线性插值将原函数(曲线)fx)近似为直线px)处理,原函数fx)在点Q的值yQ被现函数px)在点Q’的值所替代,这势必导致误差的存在。因此,线性插值是一种比较近似的插值处理方法,只有当原函数fx)近似为直线或插值区间(x1x2)比较小时才可应用,否则误差较大。

图1-9 线性插值法示意图

【例1-3】 利用表1-7采用线性插值方法查温度为26.8℃时NaHCO3的溶解度?

分析:该题在利用公式(1-2)时,公式中自变量x对应于本题中的温度t,因变量y对应于系统中的溶解度Ct

解:由题意可得如下数据表

由式(1-2)得:

(二)拉格朗日(Lagrange)分段插值法

下面以一元三点拉格朗日插值法为例说明分段插值法的要点。

已知n+1个数据点的数值,其顺序依次为x0x1,…,xn。插值点的数值为x,则

xxi时,使用结点xi-1xixi+1i=1,2,…,n-1);

x>xn-1时,使用结点xn-2xn-1xn

Lagrange插值计算式如下:

【例1-4】 利用Lagrange插值方法重新计算例1-3中温度为26.8℃时溶解度值。

解:由式(1-3)得:

此结果与线性内插值不完全一致,相对而言,查表时采用拉格朗日分段插值法的精度要高于线性插值,尤其是当表格函数偏离直线关系时此法更适用。

*(三)其他插值法

前面所述的线性插值法和分段拉格朗日插值法只是众多插值法中的两种,工程上还存在着多种其他类型的插值法,限于篇幅以下只简单介绍一下其他几种常用的插值方法的名称和定义,详细内容可参阅有关书籍。

(1)差商与牛顿插值法

拉格朗日插值法定义具有直观性,计算机程序也很简明,这是它的优点。但如精度不满足要求,需要增加插值节点时原来计算出的数据不能利用,必须重新计算。牛顿插值公式能克服这一缺点。

(2)差分与等距节点插值法

上面所介绍的插值法是采用节点任意分布的插值公式,但实际应用时经常遇到等距节点的情形,这时插值公式可进一步简化,计算也简单得多。这就是差分与等距节点插值法的优点。

(3)分段插值法

由于有些函数会在某些取值范围发生突变,因此,对于处于此种类型下的插值,并不意味插值点越多精度越高,在实际进行插值计算时,通常将插值范围分为若干段,然后在每个分段上使用低阶插值(如线性插值或二次插值),这就是所谓的分段插值法。

(4)三次样条插值

在工程上经常要求通过平面上n+1个已知点作一条连接光滑的曲线。譬如船体放样与机翼设计均要求曲线不仅连续而且处处光滑。就高速飞机机翼的设计来说,要求尽可能采用流线型,使气流沿机冀表面能形成平滑的流线,以减少空气的阻力。解决此类问题,当节点很多时,构造一个高次插值多项式是不理想的,可能出现龙格(C.Runge)现象(所谓龙格现象即插值多项式在插值区间发生剧烈振荡,出现函数不收敛的现象)。所以,在工程上进行放样时,描图员常用富有弹性的细长木条称样条,把它用压铁固定在样点上,其他地方让它自由弯曲,然后画下长条的曲线,称为样条曲线。该曲线可以看成由一段一段的三次多项式曲线拼合而成,在拼接处,不仅函数自身是连续的,而且它的一阶和二阶导数也是连续的,这种对描图员描出的样条曲线进行数学模拟得出的函数叫做样条插值函数。此插值函数需通过求解一个三对角矩阵(采用追赶法)才能求得。

思考:如何采用Excel进行线性插值、Lagrange插值?

二、基于Excel单元格的常用插值法

Excel具有强大的计算功能,同样可用来处理上述插值问题。下面采用单元格驱动法以例1-3的线性插值和例1-4的拉格朗日(Lagrange)分段插值为例加以说明。

步骤1:打开Excel表,在单元格B19、C19、D19、E19、B21、D21、E21依次输入已知各数据点和待插数据点,如图1-10所示。

步骤2:在待插值单元格C21中输入线性插值计算公式(1-2),即:

=B21+(D21-B21)/(D19-B19)*(C19-B19),按“Enter”键,得计算值10.62;

若采用Lagrange插值计算法,则在单元格C23中输入:

=B21*(C19-D19)*(C19-E19)/(B19-D19)/(B19-E19)+D21*(C19-B19)*(C19-E19)/(D19-B19)/(D19-E19)+E21*(C19-B19)*(C19-D19)/(E19-B19)/(E19-D19)

按“Enter”键,得计算值10.61。

由图1-10可知,插值计算结果与前面例题计算结果完全一致。

图1-10 采用Excel单元格驱动线性内插与Lagrange内插示意图

思考:如何利用ExcelVBA开发线性插值和Lagrange插值自定义函数?

三、采用Excel曲线拟合法处理表格函数

线性插值处理表格函数时需要相邻两点数据且要求数据密度较大或相互之间有直线关系或近似直线关系,Lagrange分段插值需相邻三点数据,改变插值要求,常常需要重新选择插值区间。当需同时处理若干插值点时,计算工作量相对相大。当然,通过编写VBA自定义函数(参阅本任务技能拓展部分)也能利用插值方法实现对离散数据表连续查询数据的功能。

若能将表格中离散的数据描述成数学表达式,则可很方便地实现连续插值。在数学上利用回归分析可实现将离散型数据描述成函数式,这种方法也称曲线拟合或经验建模(常用的方法有线性与非线性最小二乘法,具体可参阅有关数学资料,本任务的知识拓展部分简单介绍了线性二乘法的相关知识)。Excel软件已具备了部分曲线拟合功能,拟合的表达式类型有:①线性;②指数;③对数;④多项式;⑤幂;⑥移动平均六种类型,以下通过具体例子详细说明Excel曲线拟合过程。

【例1-5】 将表1-7的溶解度数据,用Excel拟合成函数关系Ct=ft),并利用此函数计算温度为26.8℃时的溶解度值。

步骤1:将表1-7中的数据按列依次输入如图1-11所示A27~I28的区域。

图1-11 例1-5数据表及拟合数据散点图

步骤2:选中表中数据区,即单元格A27~I28范围,选择“插入”⇒“散点图”⇒如图1-11。单击“第一张散点图”,出现如图1-12所示的散点图。

图1-12 例1-5散点图

步骤3:选中数据点⇒右击数据点,出现如图1-13所示的右键菜单。

图1-13 添加趋势线右键菜单

步骤4:单击如图1-13“添加趋势线”,出现如图1-14所示的“设置趋势线格式”对话框。在“趋势预测/回归分析类型”中选择“多项式”,在其后的“顺序”选择“3”,在“显示公式”、“显示R平方值”之前打勾,⇒如图1-15所示的拟合公式,即:

图1-14 “设置趋势线格式”对话框

图1-15 例1-5数据表拟合的初次表达式

y=2E-06x3+0.0004x2+0.126x+6.8595

式中“2E-06”是Excel科学记数表达形式,即2×10-6

注意:

①在图1-14中,Excel默认的趋势线是“线性”,在选择时可根据曲线形状和“R平方值”来选择回归分析类型,R2值越趋近于1,所拟合的方程与数据点之间的关系越接近,利用此方程计算的结果与原数据点的误差就越小。

②从图1-15中可看出,Excel初次拟合的表达式中自变量、应变量分别用xy表示,可通过修改成为tCt,使之与实际情况相符。

③初次表达式中,当系数较小时,Excel默认采用科学记数格式且只保留1位整数,直接应用此表达式时可能会带来一定的误差,此时可通过改变数据表达方式进行改善。

步骤5:选中图1-15的表达式,右击⇒选中右键菜单“设置趋势线标签格式”,如图1-16⇒“设置趋势线标签格式”对话框,如图1-17,选择其中“科学记数”,在“小数位数”中输入你想要的位数,如“5”⇒保留了5位小数的表达式。

图1-16 例1-5数据表拟合表达式“设置趋势线标签格式”

图1-17 例1-5数据表最终拟合表达式

由图1-17得拟合的表达式为:

Ct=2.31664×10-6t3+3.96321×10-4t2+0.126676t+6.85955

t=26.8℃代入上式得:

Ct=2.31664×10-6×26.83+3.96321×10-4×26.82+0.126676×26.8+6.85955

 =10.58(g/100g)

由此可见,计算结果与例1-3、例1-4十分接近。同时通过例1-3~例1-5的计算表明,即使同一数据来源处理相同的数据,当采用不同的处理方法时,其最终的结果不完全一致,具体采用何种方法,需认真考虑,正确选择。

用拟合表达式重新计算表1-7中的实验点的溶解度数据并列于同一表格中,如表1-9所示。

表1-9 例1-5拟合值与原值的对比表

由表1-9可看出,每一点的拟合值与实验值相对误差均很小,最大误差值不超过0.71%,工程上完全可用此拟合的表达式代替表1-7。

【例1-6】 如表1-10所示为一弹簧荷重与弹簧伸长之间的关系实验数据,试用线性内插法、Lagrange分段内插法、Excel曲线拟合法求当荷重为11.24kg时弹簧长度?

表1-10 弹簧荷重与弹簧伸长的关系

解:(1)线性内插法

由式(1-2)得:

(2)Lagrange分段内插法

由式(1-3)得:

(3)Excel曲线拟合法

处理步骤同例1-5相同,具体步骤省略,其最终拟合结果如图1-18。

图1-18 例1-6数据表及最终拟合直线图

根据力学知识,在弹簧的弹性限度内,符合虎克定律,弹簧伸长y与荷重x成正比,即yx的线性函数,因此拟合时选择“线性”。

由图1-18得拟合的直线方程为:

y=0.62275x+30.00578

将荷重x=11.24kg代入上式得:

y=0.62275×11.24+30.00578=37.01(cm)

将拟合结果与实验值比较,如表1-11。

表1-11 例1-6拟合计算与实验值对比表

可见,拟合结果与实验值相当符合。因此,针对此题而言,方法(3)的计算结果优于方法(1)和方法(2)。

【例1-7】 某化学反应速率常数k与热力学温度T的实验数据如表1-12所示,试用线性内插法、Lagrange分段内插法、Excel曲线拟合法求当T=388.5K时的反应速率?

表1-12 例1-7反应速率与热力学温度的实验数据表

解:(1)线性内插法

由式(1-2)得:

(2)Lagrange分段内插法

由式(1-3)得:

(3)Excel曲线拟合法

处理步骤同例1-5相同,具体步骤省略,其最终拟合结果如图1-19。

图1-19 例1-7数据表最终拟合曲线图

由图1-19得拟合的方程为:

k=2.05974×10-13e0.0667705T

T=388.5K代入上式得:k=2.05974×10-13e0.0667705×388.5=3.7980×10-2(min-1

由反应动力学可知,反应动力学方程通常表示为,其中反应速率常数k与温度T的关系符合阿累尼乌斯(S.A.Arrhenius)方程,即k=k0exp[-E/(RT)]的形式,显然T-k之间的关系不符合直线关系。

本例若要使拟合方程符合阿累尼乌斯方程,可将原数据表1-12中T-k之间的关系转换为1/T-k之间的关系,再利用Excel进行曲线拟合,具体结果如图1-20所示。

图1-20 例1-7数据表采用1/T-k关系拟合曲线图

由图1-20得拟合的方程为:

k=3.27786×109e-9771.68/T

T=388.5K代入上式得:k=3.27786×109e-9771.68/388.5=3.9091×10-2(min-1

将两种曲线拟合结果与原实验数据进行比较,计算结果如表1-13所示。

表1-13 例1-7两种拟合计算结果与实验数据比较表

例1-7小结:

①由表1-13可看出,若已知自变量与因变量之间的关系,采用正确的拟合方程(1/T-k关系),所得结果与实验值之间的误差极小;若以1/T-k关系拟合计算k值为基准,则将其余三种方法的计算结果与之比较的误差值列于表1-14。

表1-14 例1-7四种计算结果之间的比较表

②由表1-14看出,线性插值法计算的误差较大,Lagrange分段插值的计算结果优于直接采用T-k关系拟合曲线的计算结果。

因此,若能已知原表格函数的函数类型,再与Excel曲线拟合相结合,可以得到更好的拟合效果。

四、技能拓展——ExcelVBA自定义插值函数插值

从Office97开始,微软为所有的Office组件引入了统一的应用程序自动化语言——Visual Basic For Application(VBA),并提供了VBA的IDE(Integrated Development Environment)环境。VBA集成开发环境是进行VBA程序和代码编写的地方,同一版本的Office共享同一IDE。VBA代码和Excel文件是保存在一起的,可以通过打开VBA的IDE环境进行程序设计和代码编写,以下以Excel2007为例介绍线性插值和Lagrange插值自定义函数LineIn、LagrangeIn的具体开发步骤。

步骤1:打开Excel⇒开发工具⇒Visual Basic,如图1-21所示。

图1-21 启动Excel中VisualBasic编辑器

步骤2:选择菜单“插入”⇒“模块”,如图1-22所示。在未插入模块之前,“过程”是灰色的,不可用。

图1-22 插入模块

步骤3:选择菜单“插入”⇒“过程”⇒“添加过程”对话框,如图1-23。在名称输入框中输入过程名:LineIn(意为线性插值,此过程名可根据函数的用途由用户自己取名),在“类型”中选择“函数”,“范围”中两者皆可选择,此处选择“公共的”。按“确定”按钮,出现图1-24的模块1(代码)编辑窗口。

图1-23 “添加过程”对话框

图1-24 模块1(代码)编辑窗口

步骤4:在函数LineIn的括号内依次输入计算用的变量:Y1、Y2、X1、X2、X,在函数体部分输入具体的计算公式,完整的代码如下:

Public Function LineIn(Y2,Y1,X2,X1,X)As Double

LineIn=Y1+(Y2-Y1)/(X2-X1)*(X-X1)     '线性内插计算公式

End Function

步骤5:利用已开发的线性插值自定义函数即可在Excel中进行插值计算,如图1-25在单元格C22中输入:=LINEIN(D21,B21,D19,B19,C19),按“Enter”键,可得与图1-10单元格C21相同的计算结果。

图1-25 自定义线性插值函数LineIn的计算示意

Lagrange自定义插值函数LagrangeIn的开发步骤与LineIn自定义函数的完全相同,其完整代码如下:

Public Function Lagrange In(Y2,Y1,Y0,X2,X1,X0,X)AsDouble   'Lagrange内插函数

Dim A1,A2,A3AsDouble

A1=Y0*(X-X1)*(X-X2)/(X0-X1)/(X0-X2)

A2=Y1*(X-X0)*(X-X2)/(X1-X0)/(X1-X2)

A3=Y2*(X-X0)*(X-X1)/(X2-X0)/(X2-X1)

LagrangeIn=A1+A2+A3

End Function

上述Lagrange自定义插值函数开发完成后,在图1-25的单元格C24中输入:

=LagrangeIn(E21,D21,B21,E19,D19,B19,C19),即可得结果10.61。显然,采用该法与在单元格中直接输入计算公式相比,既简单又可避免输入错误。

注意:在函数的括号内输入的变量不分大小写,输入顺序也无规定,只要在使用此函数时变量的顺序与此函数的变量顺序一致即可。

五、知识拓展——线性最小二乘法

(一)关联函数的选择和线性化

实测数据关联成数学模型的方法一般有以下几种:

①具有一定的理论依据,可直接根据机理选择关联函数的形式。

如反应动力学方程通常表示为,其中反应速率常数k与温度T的关系符合阿累尼乌斯(S.A.Arrhenius)方程,k=k0exp[-E/(RT)]的形式。此法的关键在于确定上述公式中knk0E等未知系数,以使模型密切逼近实测数据。这种模型称为半经验模型,工作要点在于参数估计。

②尚无任何理论依据,但已有一些经验公式可选择。

很多物性数据如热容、密度、饱和蒸气压等与温度的关系常表示为:

фT)=b0+b1T+b2T2+b3T3+b4lnT+b5/T

当然不一定上述公式中六个系数都很重要,有的物性也只取前三、四项即可满足精度要求,这样可使模型简单化。

③没有任何经验可循的情况。

对于此类情况,通常只能将实验数据画出图形与已知函数图形进行比较,选择图形接近的函数形式作拟合模型。

不论上述哪种情况,在选定关联函数的形式之后,就是如何根据实验数据去确定所选关联函数中的待定系数,最常用的方法是最小二乘法,具体可参阅有关数学专著。对于一些相对比较简单的函数类型,通常采用线性最小二乘法,以下介绍线性二乘法原理及其应用。

思考:何谓最小二乘法?

一元线性模型:

Y=A+BX  (1-4)

多元线性模型:

Y=B0+B1X1+B2X2+……  (1-5)

对于一些非线性模型,应事先将其变换成线性形式,即线性化处理,然后再用线性最小二乘法进行关联。

表1-15列出了化工中常用的几种函数类型及线性化的方法。此表中所列均为单变量问题,经线性化处理后的线性模型均可统一用式(1-4)表示。

表1-15 常用函数线性化方法

对于多变量函数关系

y=fx1x2,…)

若采用幂函数的乘积作为关联函数,即将上面的函数关系写成如下形式

可作如下线性化处理,令

Y=lnyX1=lnx1X2=lnx2,…

B0=lnaB1=bB2=c,…

经线性化处理后的模型即式(1-5)。

对于一元非线性化方程,如:

y=a+bx+cx2+dx3…  (1-7)

Y=yX1=xX2=x2,…

B0=aB1=bB2=c,…

经线性化处理后的模型也为式(1-5)。

(二)线性最小二乘法

关联函数的形式确定之后,如何由实验数据比较精确地去确定关联函数中的待定系数仍是一个重要问题,最常用的方法就是线性最小二乘法,以下先以例1-6的表1-10数据加以说明。

将表1-10数据点画在图1-26上,可以看出尽管荷重与伸长两者呈直线关系,但不同的人可能所画的直线并不严格在一条直线上,说明由于读数或其他影响因素造成数据包含有随机误差。

图1-26 荷重与弹簧伸长长度关系

根据力学上的虎克定律,弹簧伸长y应该与荷重x成正比,即yx的线性函数,通过实验确定比例系数(弹簧的弹性系数)。一般地直线方程模型表示为

y'=a+bx  (1-8)

如果用直尺将图1-26上的点连成直线,由于9个点不在一直线上,所以可以画出多条直线。也即式(1-8)线性模型中参数ab可以有多种取值,于是产生这样一个问题,图1-26众多的连线中哪一条直线最能体现物理现象的本质呢?换句话说线性模型式(1-8)中截距a和斜率b取什么值为最佳选择?为说明这个问题,这里引入“残差”的概念。

设有n对实验数据(xiyi)(i=1,2,…,n),需要寻找一个近似函数模型y'=fx)来拟合这一组数据。令第i点实测函数值yi与模型计算值之差为残差,即

显然,δi刻划了yi与回归模型计算值的偏离程度。如果每一个点的残差δi=0,说明实验数据(xiyi)完全可用直线拟合,但出于存在实验误差,δi=0是不可能的。也就是说最佳的ab应使δi的和最小。但用δi的和最小原则估计参数ab,在应用上不很方便,所以,一般采用最小二乘法,其原理可以这样描述:所谓最小二乘原理就是使残差的平方和最小,即

用最小二乘原理选择最佳拟合模型的物理意义是显见的,即在上例中找一条直线,使它与各实测点的距离(即δi)平方加和最小,这样得到的拟合方程就可完全替代原数据表中数据之间的关系。这种采用使拟合函数值与原函数值之间的差值即残差平方和最小的方法来确定拟合函数的方法称最小二乘法。

将式(1-9)代入式(1-10),可得

显然,Qab的函数。由数学分析多元函数求极值的必要条件,使Q最小的ab必须满足以下方程组

由式(1)得

其中

分别表示yixi的平均值。由式(2)可推得

由式(3)、式(4)经整理可得回归系数b的计算公式

具体计算时,先由式(1-11)或式(1-12)求得b,再代入式(3)得a

由于计算ab的公式中所有的量都可以从观测数据得出,因此回归直线方程

y'=a+bx

便可确定。

为了简化公式,将上述公式中的(下同)均用∑代替。令任一数据点xi与其平均值之差称为离差xi的离差的平方和记为lxx,即

同样,将yi的离差的平方和记为lyy,即

xi的离差与yi的离差的乘积之和记为lxy,即

则式(1-12)可表示为

利用式(1-17)、式(1-13)计算表1-10中的数据,列于表1-16中。

表1-16 弹簧荷重与弹簧伸长的关系采用最小二乘法计算数据

lxx=816-(72)2/9=240

lxy=2668.58-72×314.89/9=149.46

b=lxy/lxx=149.46/240=0.62275

a=314.89/9-0.62275×72/9=30.006

故回归方程为

y'=30.006+0.62275x

可见,与图1-18Excel拟合的曲线表达式完全一致。

对于非线性模型作了线性化处理后的回归方程

Y'=A+BX

需注意,此模型并非最终模型,最后需恢复线性化处理前的模型原样。

以例1-7表1-12数据为例,由反应动力学知,反应速率常数与热力学温度的关系一般服从阿累尼乌斯(S.A.Arrhenius)方程,即:

k=k0exp[-E/(RT)]

由于此式为非线性函数,需进行线性化处理,两边取对数后得

Y=lnkX=1/TA=lnk0B=-E/R

Y=A+BX

将原k-T数据组换算成X-Y数据组列于表1-17。

表1-17 例1-7反应速率与热力学温度的实验数据采用最小二乘法计算数据

将相关数据代入式(1-11)得:

代入式(1-13)得

A=-18.190/5-(-9771.68)×13.073×10-3/5=21.910

因为A=lnk0,所以k0=3.27786×109

所以原关联方程为:k=3.27786×109exp(-9771.68/T

同样与图1-20由Excel拟合的完全一致。

(三)曲线拟合效果分析

1.线性相关系数与显著性检验

需要指出,曲线拟合处理的是随机变量问题,观测值xy不存在确定性函数关系,而只是一种相关关系。线性最小二乘法只适宜处理变量xy具有相关的问题,但在线性最小二乘法应用过程中,并不需要限制两个变量之间一定具有线性相关关系,就是说即使平面图上一堆完全杂乱无章的散点,也可用此方法给它们配一条直线方程模型。显然这样做是毫无意义的。只有当两个变量大致呈线性关系时才适宜用直线模型去拟合数据,因此必须给出一个数量性指标描述两个变量线性关系的密切程度,该指标称相关系数,通常记作r,其表达式为

图1-27说明了r取各种不同数值时散点的分布情况。

图1-27 r不同时散点分布情况

r=0,此时lxy=0,因此b=0,即根据最小二乘法确定的回归直线平行于x轴,这说明y的变化与x无关,此时xy毫无线性关系,通常这时散点分布是完全不规则的。如图1-27中的(a)。

②0<|r|<1,这是绝大多数情形,xy之间存在一定的线性关系。当|r|越接近于1,说明线性相关越大,也就是散点与回归直线越靠近。当r>0时,b>0,yx增加而增加,称为正相关。当r<0时,b<0,yx增加而减小,称为负相关。如图1-27中的(b)、(c)。

③|r|=1,所有数据都在回归直线上,此时,xy完全相关,实际上此时xy间存在确定的线性函数关系。如图1-27中的(d)。

利用式(1-18)对表1-10中弹簧荷重与弹簧伸长长度之间关系的回归方程进行线性相关系数的计算。

由式(1-16)得

lyy=11110.42-(314.89)2/9=93.124

由此可见,此例变量间线性相关程度很好。

必须指出,相关系数只表示xy的线性关系的密切程度,当r很小或为零时,并不表示xy不存在其他关系。如图1-27中的(e),xy呈某种曲线关系。可以对它进行线性化处理,变换成为Y=A+BX直线方程模型,此时可以用相关系数来讨论新变量XY之间线性相关程度,但是,新变量XY线性相关程度并不能直接说明原始数据xy与非线性模型拟合效果的优劣。因此,对于非线性模型拟合的效果常用另一指标——相关指数来衡量,记作R2,Excel曲线拟合中提供的R2即相关指数,其计算式如下:

式中 yi——未经线性变换的原始数据;

y'i——非线性模型的计算值;

y——原始数据的平均值。

显然R2<1,R2值越接近于1,拟合曲线效果越好,当R2=1时,说明yi趋于一致,实测点完全落在拟合曲线上。

利用表1-16的数据采用式(1-19)计算相关指数R2,其计算数据列于表1-18。

表1-18 例1-6曲线拟合相关指数计算数据表

其中=314.89/9=34.988

将表1-18中的数据代入式(1-19)得:

与图1-18中由Excel拟合的结果R2=0.99949完全一致。

同样,利用表1-17的数据采用式(1-19)也可进行R2计算,其计算数据列于表1-19。

表1-19 例1-7曲线拟合相关指数计算数据表

其中=0.19645/5=3.9290×10-2

将表1-19中的数据代入式(1-19)得:

与图1-20中由Excel拟合的结果R2=0.999998完全一致。

2.相关系数r与显著性水平α

对于一个具体问题,只有当相关系数r的绝对值大到一定程度时方可用回归直线来近似表示xy之间的关系。表1-20给出了r的起码值,它与观测次数n及显著性水平α有关,当|r|大于表中相应的值时,所回归的直线才有意义。举例来说,当n-2=3时,即用5个数据来回归直线时,相关系数r至少为0.878,所得直线方程的置信度为95%。

表1-20 相关系数r与显著性水平α的关系