第7章 非线性模型参数估值

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第7章 非线性模型参数估值

7.1 引言

数学模型是观测对象各影响因素相互关系的定量描述。在获得实验数据并做了整理之后,就要建立数学模型。这一工作在科学研究中有着十分重要的意义。 人们选用的模型函数可以是经验的,可以是半经验的,也可以是理论的。模型函数选定之后,需要对其中的参数进行估值并确定该估值的可靠程度。对于线性模型,待求参数可用线性最小二乘法求得,即用前一章中介绍的确定线性回归方程的方法。对于非线性模型,通常是通过线性化处理而化为线性模型,用线性最小二乘法求出新的参数,从而再还原为原参数。这种方法在处理经验模型时,简便易行,具有一定的实用价值。但要注意到,这样做是使变换后的新变量y '的残差平方和(即剩余平方和)最小,这并不能保证做到使原变量y 的残差平方和也达最小值。因此,得到的参数估计值就不一定是最佳的估计值。可见在求理论模型的参数时,这种线性化的方法尚有其不足之处。此外,还有些数学模型无法线性化,所以用线性化的方法是行不通的。为此,需要一种对非线性模型通用的(不管是经验模型还是理论模型,不管这个模型能否线性化),能够得到参数最佳估计值的参数估计方法。

在工程中,特别是在化学工程中的数学模型大多是非线性、多变量的。设y ˆ为变量x 1,x 2,…,x p ,的函数,含有m 个参数b 1,b 2,…,b m ,则非线性模型的一般形式可表示为:

=y ˆf (x 1,x 2,…,x p ;b 1,b 2,…,b m ) (7.1) 或写为 ),(ˆb x f y

= (7.2) 式中x 为p 维自变量向量,b 为m 维参数向量。

设给出n 组观测数据

x 1 ,x 2 ,… ,x n y 1 ,y 2 ,… ,y n

我们的目的是由此给出模型式(7.2)中的参数b 的最佳估计值。可以证明,这个最佳估计值就是最小二乘估计值。

按最小二乘法原理,b 应使Q 值为最小,即

∑==-=n

i i i y

y Q 12min )ˆ( 或写成 ∑==-=n

i i i f y Q 1

2min )],([b x (7.3)

现在的问题是根据已知的数学模型和实验数据,求出使残差平方和最小,即

目标函数式(7.3)取极小值时的模型参数向量b 。这显然是一个最优化的数学问题,可以采用逐次逼近法求解。这种处理方法实质上是逐次线性化法或某种模式的搜索法。在下面各节中将介绍几个适用方法。

7.2 高斯——牛顿法

高斯——牛顿法是非线性最小二乘法的最基本方法。其基本思想是把非线性模型函数在一局部范围内进行泰勒一阶展开,作为原函数的线性近似,代入目标函数则成为线性最小二乘法,因为它有解析解,所以可求出它的精确的极小值,以此点作为下一次线性近似的出发点。这样反复采用同样方法逐次逼近真正的极小点,从而得到最佳的估计参数向量b 。所以此法实质是逐次线性化法。 参数估计的目标函数为式(7.3)。求解参数向量b 的思路是这样的,先给定初值b (0),然后一次次修正

)()()1(k k k Δb b +=+ (7.4) 式中角标k 代表迭代回次,Δ(k )代表第k 次的修正量,每次修正须保证Q 值下降,这样一步步逼近目标函数的极小值min Q ,最后得到b 的解。

为确定Δ,对非线性函数,在初值点b (0)处进行泰勒一阶展开得:

∑=∂∂+≈+m

j j j i i i b f f f 1)0()

0()0(Δ),(),(b x Δb x (7.5)

或简记为 ∑=∆∂∂+≈m

j j j

i i

i b f f f 1)

0()

0( (7.6)

代入式(7.3),得 ∑∑==∆∂∂--=n

i m

j j j

i i

i b f f y Q 1

21)0()

0(][ (7.7) 当b (0)给定后,)0(i f 和]/[)0(j i b f ∂∂都是自变量x 的函数,根据实验点均可计算求得。因此目标函数化为对未知的Δ的线性函数,并可用线性最小二乘法求得Q (Δ)的极小点。

由极值条件0)/(=∂∂ΔQ ,对式(7.7)求导数,并令其为零,得

∑∑===∂∂∆∂∂---n i m j k i j j i

i i b f b f f y 11)0()0()0(0][2 (k=1,2,…,m)

由此得

∑∑∑===∂∂-=∆∂∂∂∂n

i m

j n

i k

i

i i j k i j i b f f y b f b f 111)0()0()0()

0()

( (k=1,2,…,m) (7.8) 令

⎥⎥

⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∂∂⋯∂∂∂∂⋯⋯⋯⋯∂∂⋯∂∂∂∂∂∂⋯∂∂∂∂=m n n n m m b f b f b f b f b f b f b f b f b f )0(2)0(1

)0()0(22)0(21

)0(2

)0(12

)0(11)

0(10A (7.9) )0(i i i f y r -= (7.10) ],,,[21n T r r r ⋯=r (7.11)

代入式(7.8)则有

r A ΔA A T

T 000= (7.12) 令

00A A A T = (7.13) r A D T 0= (7.14)

则有线性方程组

D A Δ= (7.15)

解之便得Δ,从而代入式(7.4),得到修正的b 。经过反复迭代直至Δ的值很小,满足误差要求为止,这时的b 即为所求。 以上计算过程归纳如下: (1)人为地给定初值b (0)

(2)求偏导值j i b f ∂∂/)0(,构成矩阵0A ; (3)计算并构成向量r ;

(4)计算并构成矩阵A 和向量D ; (5)求解线性方程组得到Δ; (6)按式(7.4)修正b ;

(7)若Δ满足误差要求则结束,否则返回步骤(2)。

在求解过程中之所以需要反复地迭代和修正,是因为泰勒级数展开式(7.6)只是近似的式子,故得到的b 也是近似的。

高斯——牛顿法对初值的要求是比较严格的,若初值选取不当,很可能得不到结果,即“发散”。 7.3 单纯形法及其Excel 程序

高斯——牛顿法或麦夸特法都需要一阶导数矩阵0A ,当函数关系复杂时,就会给运算带来很大的困难。这时可以采用不需要利用一阶导数矩阵的单纯形法。

我们的目的是寻求一组参数b 使目标函数Q 值为最小,寻求到的b 值称为最优估计值,简称最优值。

单纯形法的思路是先算出若干点处的目标函数值,然后进行比较,从它们之间的大小情况来判断函数的变化趋势,按照一定的模式确定搜索方向。这个模式就是利用单纯形进行反射、扩张、压缩和收缩等方法进行搜索,不断形成新的单纯形,直到单纯形缩得很小时,便得到最优值。 那么,什么是单纯形呢?所谓单纯形就是一定的空间中的最简单的图形。如二维空间(平面上),单纯形为三角形,三维空间为四面体,m 维空间为由m +1个顶点而构成的最简单的图形。如果m +1个顶点的距离都相等,则称为正规的单纯形,简称正单纯形。

为了讨论的方便,把式(7.3)表示为

相关文档
最新文档