线性拟合方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
线性拟合方法
第五章 实验数据及模型参数拟合方法
第一节 问题的提出
第一节 问题的提出
在化工设计及化工模拟计算中,需要大量的物性参数及各 种设备参数。这些参数有些可以通过计算得到,但大量的参 数还是要通过实验测量得到。实验测量得到的常常是一组离
散数据序列(xi ,yi)。 如果数据序列(xi ,yi)(为一般起见), i=1,2, …,m ,含有
0
解:设 p ( x ) a0 a1x a2 x2
将数据代入法方程组(1-12)中,得到:
21 567
18536879ba 28617933
解方程得:a = -1.5 , b = 1.5
拟合直线为: p( x ) 1.5 1.5x
相关系数R为1。
线性拟合VB清单
Private Sub Command1_Click() Dim x(5),y(5),c,d,m,p,a,b,eer Const n=5 For i =1 To 5
0.0
-30
-20
-10
0
10
20
30
40
50
t
数是一条直线。通过计算均方误差Q
(a,b)
最小值而确定直线方程。(见图5-3 )
第二节 拟合的标准__实例1
m
m
Q(a, b) ( p(ti ) pi )2 (a bti pi )2
i 1
i 1
拟合得到直线方程为: p 0.30324 0.0121t
拟合的标准
实例2
比较图5-3和图5-4以及各自的相关系数和平均绝对偏差可知: 对于DME饱和蒸汽压和温度之间的关系,在实验温度范围内用二次拟
合曲线优于线性拟合。
二次拟合曲线具有局限性,由图5-4观察可知,当温度低于-30℃时,饱 和压力有升高的趋势,但在拟合的温度范围内,二次拟合的平均绝对偏 差又小于一次拟合,故对物性数据进行拟合时,不仅要看在拟合条件下 的拟合效果,还必须根据物性的具体性质,判断在拟合条件之外的物性 变化趋势,以便使拟合公式在已做实验点数据之外应用。
m
yi
a
i1 m
xi yi
i1
m
xi
i1 m
xi2
i1
m
m xi
i1
m
m
xi
xi2
i1
i1
mm
mm
m
m
( yi xi2 xi xi yi ) /(m xi2 ( xi )2)
i1 i1
i1 i1
i1
i1
m
mm
m
m
b (m xi yi xi yi ) (m xi2 ( xi )2)
不可避免的误差(或称“噪声” ,如图5-1所示),或者无 法同时满足某特定的函数(如图5-2所示),那么,只能要求
所作逼近函数ψ(x)最优地靠近样点,即向量Q=(ψ(x1), ψ(x2), … , ψ(xm))T与Y=(y1,y2, …,ym)T的误差或距离最小。 按Q与Y之间误差最小原则作为“最优”标准构造的逼近函数,
称为拟合函数。
第一节 问题的提出
Y Y
200
150
100
50
0
-2
0
2
4
6
8
10 12 14 16 18 20
X
图5-1 含有噪声的数据
20
15
10
5
0
0
2
4
6
8
10
X
图5-2 无法同时满足某特定函数的数据序列
第一节 问题的提出
除了物性数据及设备参数需要利用数据拟合外, 在化学化工中,许多模型也要利用数据拟合技术,求 出最佳的模型和模型参数。如在某一反应工程实验中, 我们测得了如表5-1所示的实验数据。
n > 5时,法方程的系数矩阵是病态的,在用通常的迭代方法求解线性方 程时会发散,在计算中要采用一些特殊算法以保护解的准确性。关于线 性方程的求解方法,已在第三章中介绍。
3.二次拟合函数的拓展
和一次拟合一样,二次拟合也可以有多种变型,例如 P(x)=a0+a1x3+a2x5 套用上面的公式,可以得到关于求解此拟合函数的法方程(5-15)。值 得注意的是在此法方程的构建过程中,进行了变量的代换。首先是拟合 函数中变量的代换: x3 x, x5 x2。
第三节 单变量拟合和多变量拟合
5.3.1 单变量拟合 1. 单变量拟合—— 线性拟合
给定一组数据(xi,yi),i=1, 2 , …, m , 作拟合直线
p
(x)=a
+
bx
,
均方误差为Q(a,
b)
m
(
p(
xi
)
yi )2
m
(a bxi
yi )2
i 1
i 1
由数学知识可知,Q (a , b)的极小值需满足:
相关系数R为0.97296,平均绝对偏差SD为0.0707。
拟合的标准 —— 实例2
如果采用二次拟合,通过计
算下述均方误差
1.0
m
m
Q(a0, a1, a2 ) ( p(ti ) pi )2 (a0 a1ti a2ti2 pi )2
0.8
i1
i 1
拟合得二次方程为
0.6
压 力 , P(MPa)
x(i)=InputBox(“x(i)=”) y(i)=InputBox(“y(i)=”) Print “x(i)=”;x(i) Print “y(i)=”;y(i) Next I c=0 d=0 m=0 p=0
For i=1 To 5 c=c+x(i) d=d+x(i)^2 m=m+y(i) p=p+x(i)*y(i)
i 1
i 1
由数学知识可知,Q( a0 ,a1 ,a2 ) 的极小值满足 :
整理左式得二次多项式函数拟 合的满足条件方程(5-14):
Q a0
m
2 (a0 a1xi a2 xi2 yi ) 0
i1
Q
a1
m
2
i1
(a0
a1xi
a2 xi2
yi )xi
0
Q
a2
m
2 (a0
i1
m
m
xi3
i 1 m
xi5
i1
m
xi3
i 1
m
xi5
i 1
m
xi8
i 1
m xi5
m yi
i1 m
xi8
a0
a1
i 1
m
xi3
yi
i1 m
xi10
a2
i1
i 1 m
xi5
yi
i1
(5-15)
3.二次拟合函数的拓展
其次是法方程的代换:将相应拟合函数中的代换引入法方程中。同时应
a1xi
a2 xi2
yi )xi2
0
m
m
xi
i1 m
i1
xi2
m
xi
i1
m
xi2
i1
m
xi3
i1
m xi2
m
yi
i1
m
xi3
a0 a1
i1 m
xi yi
(5-14 )
i1
m i1
xi4
a2
i1 m
i1
xi2
yi
2.单变量拟合
二次拟合函数
解此方程得到在均方误差最小意义下的拟合函数p ( x )。式(5-14) 称为多项式拟合的法方程,法方程的系数矩阵是对称的。当拟合多项式
序号 1
2
温度 T 10 20
转化率 y 0.1 0.3
3
4
5
6
7
8
30
40
50
60
70
80
0.7 0.94 0.95 0.68 0.34 0.13
现在要确定在其他条件不变的情况下,转化率y和温度
T的具体关系,现拟用两种模型去拟合实验数据,两种模型
分别是
y a1 b1T c1T 2
y
a2
c2 b2 (T
45)2
第一节 问题的提出
y a1 b1T c1T 2
y
a2
c2 b2 (T
45)2
如何求取上述模型中的参数,并判断两种模型的 优劣,是化学化工工作者经常要碰到的问题,这个问题 的求解将在本章下面的有关章节中进行详细的讲解。
第二节 拟合的标准
第二节 拟合的标准
前面已经提到按Q与Y之间误差最小原则作为“最优”标 准构造的逼近函数,称为拟合函数,而向量Q与Y之间的误差
第二节 拟合的标准
式中R称为均方误差。由于计算均方误差的最小值的原 则容易实现而被广泛采用。按均方误差达到极小构造拟合曲 线的方法称为最小二乘法。同时还有许多种其他的方法构造 拟合曲线,感兴趣的读者可参阅有关教材。本章主要讲述用 最小二乘法构造拟合曲线。
第二节 拟合的标准__实例1
实验测得二甲醇(DME)的饱和蒸气压和温度的关系,见表5-2。
45
47
y
45
48
51
54
57
60
63
66
69
解:设拟合直线p(x)=a+bx ,并计算得下表:
编号
x
y
xy
x2
1
7
9
63
49
2
9
12
108
81
3
11
15
165
121
4
13
18
234
169
5
15
21
315
225
…
…
…
…
…
21
47
69
3243
2209
Σ
567
819
26733
18389
单变量拟合—— 线性拟合实例
或距离有各种不同的定义方法,一般有以下几种。
(1)用各点误差绝对值的和表示
m
R1
( xi ) yi
i 1
(2)用各点误差按绝对值的最大值表示
R max (xi ) yi 1im
(3)用各点误差的平方和表示
m
R R2 ( ( xi ) yi )2 i 1
或 R Q(x) - Y 2 2
注意法方程中x的4次幂是由两个2次幂相乘得到,x的3次幂是由一个2次幂和
一个1次幂相乘得到,而2次幂就是变量本身,而非两个1次幂相乘得到。这 个概念至关重要,在以后的二次拟合的各类变型中,均需利用这个概念,千 万不要用常规的思路去进行代入计算。
如果我们需要求解是下面的拟合函数:
ln
y
a0
x
a1 273
Q(a, b)
a
2
m i 1
(a
bxi
yi
)
0
Q(a, b)
b
m
2
i1
(a
bxi
yi )xi
0
整理得到拟合曲线满足的方程:
m
m
ma ( xi )b yi
i 1
i 1
m
m
m
(
i1
xi )a (
i 1
xi2 )b
i 1
xi yi
1.单变量拟合——线性拟合
该方程可用消元法或克莱姆方法解出方程(如下式所示)
p 0.24845 0.00957 t 0.00015 t 2
0.4
y=0.24845+0.00957 x+0.00015 x2
相关系数R为0.99972,平均绝对
0.2
偏差SD为0.00815,具体拟合曲线见
图5-4。
0.0
-30 -20 -10
0
10
20
30
40
50
温度 , t(℃ )
图5-4 DME饱和蒸气压和温度之间的 二次拟合
b1
(x
273)1.5
3.二次拟合函数的拓展
参照上面的方法,我们很容易得到求解该拟合函 数的法方程
m
m 1
i1 xi 273
m
(xi
273)1.5
i1
m 1
i1 xi 273
m
(xi 273)1.5
i 1
m
(xi 273)0.5
i 1
m (xi 273)1.5
i 1
Next i a=(m*d-c*p)/(n*d-c^2) b=(n*p-c*m)/(n*d-c^2) ‘参数计算 a=Int(a*1000+0.5)/1000 b=Int(b*1000+0.5)/1000
Text1.Text=Str(a) Text2.Text=Str(b) ‘参数输出 For i=1 To 5 eer=eer+(a+b*x(i)-y(i))^2 ‘误差计算
2.单变量拟合
二次拟合函数
给定数据(xi ,yi), i=1, 2 , …, m ,用二次多项式函数拟合这组数据。
设 p ( x ) a0 a1x a2 x2 ,作出拟合函数与数据序列的均方误差表达式
m
m
Q(a0 , a1, a2 ) ( p(xi ) yi )2 (a0 a1xi a2 xi2 yi )2
eer=Int(eer*100000+0.5)/100000 Next i
eer=eer/5 Text3.Text=Str(eer) End Sub
有关线性拟合变型问题
例如要拟合y=a+b/x2,只需在数据 输入后增加一语句x(i)=1/x(i)^2,而在 程序后面的误差eer 的计算中则不需要修 改。
m
(xi
273) 0.5
a0 a1
i 1
m
(xi
273)3
a2
m
m
ln yi
i 1
m ln yi
i1 xi 273
[(xi 273)1.5 ln
yi ]
i 1
i1
4.二次拟合实例
请用二次多项式函数拟合下面这组数据。
序号 1
2
3
4
x
-3
-2
-1
0
y
4
2
3
i1
i1 i1
i1
i1
单变量拟合—— 线性拟合实例
例: 下表为实验测得的某一物性和温度之间的关系数据,表中x为温度数据, y为物性数据。请用线性函数拟合温度和物性之间的关系。
x
7
9
11
13
15
17
19
21
23
25
27
29
y
9
12
15
18
21
24
27
30
33
36
39
42
x
31
33
35
37
39
41
43
表5-2 DME饱和蒸气压和温度的关系
图5-3 DME饱和蒸汽压和温度之间的线性拟合
1.0
序号
温度 ℃
蒸气压 MPa
1
-23.7
0.101
0.8
2
-10
0.174
3
0
0.254
4
10
0.359
0.6
5
20
0.495
p
第五章 实验数据及模型参数拟合方法
第一节 问题的提出
第一节 问题的提出
在化工设计及化工模拟计算中,需要大量的物性参数及各 种设备参数。这些参数有些可以通过计算得到,但大量的参 数还是要通过实验测量得到。实验测量得到的常常是一组离
散数据序列(xi ,yi)。 如果数据序列(xi ,yi)(为一般起见), i=1,2, …,m ,含有
0
解:设 p ( x ) a0 a1x a2 x2
将数据代入法方程组(1-12)中,得到:
21 567
18536879ba 28617933
解方程得:a = -1.5 , b = 1.5
拟合直线为: p( x ) 1.5 1.5x
相关系数R为1。
线性拟合VB清单
Private Sub Command1_Click() Dim x(5),y(5),c,d,m,p,a,b,eer Const n=5 For i =1 To 5
0.0
-30
-20
-10
0
10
20
30
40
50
t
数是一条直线。通过计算均方误差Q
(a,b)
最小值而确定直线方程。(见图5-3 )
第二节 拟合的标准__实例1
m
m
Q(a, b) ( p(ti ) pi )2 (a bti pi )2
i 1
i 1
拟合得到直线方程为: p 0.30324 0.0121t
拟合的标准
实例2
比较图5-3和图5-4以及各自的相关系数和平均绝对偏差可知: 对于DME饱和蒸汽压和温度之间的关系,在实验温度范围内用二次拟
合曲线优于线性拟合。
二次拟合曲线具有局限性,由图5-4观察可知,当温度低于-30℃时,饱 和压力有升高的趋势,但在拟合的温度范围内,二次拟合的平均绝对偏 差又小于一次拟合,故对物性数据进行拟合时,不仅要看在拟合条件下 的拟合效果,还必须根据物性的具体性质,判断在拟合条件之外的物性 变化趋势,以便使拟合公式在已做实验点数据之外应用。
m
yi
a
i1 m
xi yi
i1
m
xi
i1 m
xi2
i1
m
m xi
i1
m
m
xi
xi2
i1
i1
mm
mm
m
m
( yi xi2 xi xi yi ) /(m xi2 ( xi )2)
i1 i1
i1 i1
i1
i1
m
mm
m
m
b (m xi yi xi yi ) (m xi2 ( xi )2)
不可避免的误差(或称“噪声” ,如图5-1所示),或者无 法同时满足某特定的函数(如图5-2所示),那么,只能要求
所作逼近函数ψ(x)最优地靠近样点,即向量Q=(ψ(x1), ψ(x2), … , ψ(xm))T与Y=(y1,y2, …,ym)T的误差或距离最小。 按Q与Y之间误差最小原则作为“最优”标准构造的逼近函数,
称为拟合函数。
第一节 问题的提出
Y Y
200
150
100
50
0
-2
0
2
4
6
8
10 12 14 16 18 20
X
图5-1 含有噪声的数据
20
15
10
5
0
0
2
4
6
8
10
X
图5-2 无法同时满足某特定函数的数据序列
第一节 问题的提出
除了物性数据及设备参数需要利用数据拟合外, 在化学化工中,许多模型也要利用数据拟合技术,求 出最佳的模型和模型参数。如在某一反应工程实验中, 我们测得了如表5-1所示的实验数据。
n > 5时,法方程的系数矩阵是病态的,在用通常的迭代方法求解线性方 程时会发散,在计算中要采用一些特殊算法以保护解的准确性。关于线 性方程的求解方法,已在第三章中介绍。
3.二次拟合函数的拓展
和一次拟合一样,二次拟合也可以有多种变型,例如 P(x)=a0+a1x3+a2x5 套用上面的公式,可以得到关于求解此拟合函数的法方程(5-15)。值 得注意的是在此法方程的构建过程中,进行了变量的代换。首先是拟合 函数中变量的代换: x3 x, x5 x2。
第三节 单变量拟合和多变量拟合
5.3.1 单变量拟合 1. 单变量拟合—— 线性拟合
给定一组数据(xi,yi),i=1, 2 , …, m , 作拟合直线
p
(x)=a
+
bx
,
均方误差为Q(a,
b)
m
(
p(
xi
)
yi )2
m
(a bxi
yi )2
i 1
i 1
由数学知识可知,Q (a , b)的极小值需满足:
相关系数R为0.97296,平均绝对偏差SD为0.0707。
拟合的标准 —— 实例2
如果采用二次拟合,通过计
算下述均方误差
1.0
m
m
Q(a0, a1, a2 ) ( p(ti ) pi )2 (a0 a1ti a2ti2 pi )2
0.8
i1
i 1
拟合得二次方程为
0.6
压 力 , P(MPa)
x(i)=InputBox(“x(i)=”) y(i)=InputBox(“y(i)=”) Print “x(i)=”;x(i) Print “y(i)=”;y(i) Next I c=0 d=0 m=0 p=0
For i=1 To 5 c=c+x(i) d=d+x(i)^2 m=m+y(i) p=p+x(i)*y(i)
i 1
i 1
由数学知识可知,Q( a0 ,a1 ,a2 ) 的极小值满足 :
整理左式得二次多项式函数拟 合的满足条件方程(5-14):
Q a0
m
2 (a0 a1xi a2 xi2 yi ) 0
i1
Q
a1
m
2
i1
(a0
a1xi
a2 xi2
yi )xi
0
Q
a2
m
2 (a0
i1
m
m
xi3
i 1 m
xi5
i1
m
xi3
i 1
m
xi5
i 1
m
xi8
i 1
m xi5
m yi
i1 m
xi8
a0
a1
i 1
m
xi3
yi
i1 m
xi10
a2
i1
i 1 m
xi5
yi
i1
(5-15)
3.二次拟合函数的拓展
其次是法方程的代换:将相应拟合函数中的代换引入法方程中。同时应
a1xi
a2 xi2
yi )xi2
0
m
m
xi
i1 m
i1
xi2
m
xi
i1
m
xi2
i1
m
xi3
i1
m xi2
m
yi
i1
m
xi3
a0 a1
i1 m
xi yi
(5-14 )
i1
m i1
xi4
a2
i1 m
i1
xi2
yi
2.单变量拟合
二次拟合函数
解此方程得到在均方误差最小意义下的拟合函数p ( x )。式(5-14) 称为多项式拟合的法方程,法方程的系数矩阵是对称的。当拟合多项式
序号 1
2
温度 T 10 20
转化率 y 0.1 0.3
3
4
5
6
7
8
30
40
50
60
70
80
0.7 0.94 0.95 0.68 0.34 0.13
现在要确定在其他条件不变的情况下,转化率y和温度
T的具体关系,现拟用两种模型去拟合实验数据,两种模型
分别是
y a1 b1T c1T 2
y
a2
c2 b2 (T
45)2
第一节 问题的提出
y a1 b1T c1T 2
y
a2
c2 b2 (T
45)2
如何求取上述模型中的参数,并判断两种模型的 优劣,是化学化工工作者经常要碰到的问题,这个问题 的求解将在本章下面的有关章节中进行详细的讲解。
第二节 拟合的标准
第二节 拟合的标准
前面已经提到按Q与Y之间误差最小原则作为“最优”标 准构造的逼近函数,称为拟合函数,而向量Q与Y之间的误差
第二节 拟合的标准
式中R称为均方误差。由于计算均方误差的最小值的原 则容易实现而被广泛采用。按均方误差达到极小构造拟合曲 线的方法称为最小二乘法。同时还有许多种其他的方法构造 拟合曲线,感兴趣的读者可参阅有关教材。本章主要讲述用 最小二乘法构造拟合曲线。
第二节 拟合的标准__实例1
实验测得二甲醇(DME)的饱和蒸气压和温度的关系,见表5-2。
45
47
y
45
48
51
54
57
60
63
66
69
解:设拟合直线p(x)=a+bx ,并计算得下表:
编号
x
y
xy
x2
1
7
9
63
49
2
9
12
108
81
3
11
15
165
121
4
13
18
234
169
5
15
21
315
225
…
…
…
…
…
21
47
69
3243
2209
Σ
567
819
26733
18389
单变量拟合—— 线性拟合实例
或距离有各种不同的定义方法,一般有以下几种。
(1)用各点误差绝对值的和表示
m
R1
( xi ) yi
i 1
(2)用各点误差按绝对值的最大值表示
R max (xi ) yi 1im
(3)用各点误差的平方和表示
m
R R2 ( ( xi ) yi )2 i 1
或 R Q(x) - Y 2 2
注意法方程中x的4次幂是由两个2次幂相乘得到,x的3次幂是由一个2次幂和
一个1次幂相乘得到,而2次幂就是变量本身,而非两个1次幂相乘得到。这 个概念至关重要,在以后的二次拟合的各类变型中,均需利用这个概念,千 万不要用常规的思路去进行代入计算。
如果我们需要求解是下面的拟合函数:
ln
y
a0
x
a1 273
Q(a, b)
a
2
m i 1
(a
bxi
yi
)
0
Q(a, b)
b
m
2
i1
(a
bxi
yi )xi
0
整理得到拟合曲线满足的方程:
m
m
ma ( xi )b yi
i 1
i 1
m
m
m
(
i1
xi )a (
i 1
xi2 )b
i 1
xi yi
1.单变量拟合——线性拟合
该方程可用消元法或克莱姆方法解出方程(如下式所示)
p 0.24845 0.00957 t 0.00015 t 2
0.4
y=0.24845+0.00957 x+0.00015 x2
相关系数R为0.99972,平均绝对
0.2
偏差SD为0.00815,具体拟合曲线见
图5-4。
0.0
-30 -20 -10
0
10
20
30
40
50
温度 , t(℃ )
图5-4 DME饱和蒸气压和温度之间的 二次拟合
b1
(x
273)1.5
3.二次拟合函数的拓展
参照上面的方法,我们很容易得到求解该拟合函 数的法方程
m
m 1
i1 xi 273
m
(xi
273)1.5
i1
m 1
i1 xi 273
m
(xi 273)1.5
i 1
m
(xi 273)0.5
i 1
m (xi 273)1.5
i 1
Next i a=(m*d-c*p)/(n*d-c^2) b=(n*p-c*m)/(n*d-c^2) ‘参数计算 a=Int(a*1000+0.5)/1000 b=Int(b*1000+0.5)/1000
Text1.Text=Str(a) Text2.Text=Str(b) ‘参数输出 For i=1 To 5 eer=eer+(a+b*x(i)-y(i))^2 ‘误差计算
2.单变量拟合
二次拟合函数
给定数据(xi ,yi), i=1, 2 , …, m ,用二次多项式函数拟合这组数据。
设 p ( x ) a0 a1x a2 x2 ,作出拟合函数与数据序列的均方误差表达式
m
m
Q(a0 , a1, a2 ) ( p(xi ) yi )2 (a0 a1xi a2 xi2 yi )2
eer=Int(eer*100000+0.5)/100000 Next i
eer=eer/5 Text3.Text=Str(eer) End Sub
有关线性拟合变型问题
例如要拟合y=a+b/x2,只需在数据 输入后增加一语句x(i)=1/x(i)^2,而在 程序后面的误差eer 的计算中则不需要修 改。
m
(xi
273) 0.5
a0 a1
i 1
m
(xi
273)3
a2
m
m
ln yi
i 1
m ln yi
i1 xi 273
[(xi 273)1.5 ln
yi ]
i 1
i1
4.二次拟合实例
请用二次多项式函数拟合下面这组数据。
序号 1
2
3
4
x
-3
-2
-1
0
y
4
2
3
i1
i1 i1
i1
i1
单变量拟合—— 线性拟合实例
例: 下表为实验测得的某一物性和温度之间的关系数据,表中x为温度数据, y为物性数据。请用线性函数拟合温度和物性之间的关系。
x
7
9
11
13
15
17
19
21
23
25
27
29
y
9
12
15
18
21
24
27
30
33
36
39
42
x
31
33
35
37
39
41
43
表5-2 DME饱和蒸气压和温度的关系
图5-3 DME饱和蒸汽压和温度之间的线性拟合
1.0
序号
温度 ℃
蒸气压 MPa
1
-23.7
0.101
0.8
2
-10
0.174
3
0
0.254
4
10
0.359
0.6
5
20
0.495
p