几种最小二乘法递推算法的小结
- 格式:doc
- 大小:138.00 KB
- 文档页数:4
一、
递推最小二乘法
递推最小二乘法的一般步骤:
1. 根据输入输出序列列出最小二乘法估计的观测矩阵:
] )(u ... )1( )( ... )1([)(Tbqnkkunkykyk
没有给出输出序列的还要先算出输出序列。
本例中, 2)]-u(k1),-u(k2),-1),-y(k-[-y(k)(Tk。
2. 给辨识参数和协方差阵P赋初值。一般取0=0或者极小的数,取,20IP特别大,
本例中取=100。
3. 按照下式计算增益矩阵G:
)()1()(1)()1()(kkPkkkPkGT
4. 按照下式计算要辨识的参数:
)]1(ˆ)()()[()1(ˆ)(ˆkkkykGkkT
5. 按照下式计算新的协方差阵P:
)1()()()1()(kPkkGkPkPT
6. 计算辨识参数的相对变化量,看是否满足停机准则。如满足,则不再递推;如不满足,
则从第三步开始进行下一次地推,直至满足要求为止。
停机准则:)(ˆ)1(ˆ)(ˆmaxkkkiiii
本例中由于递推次数只有三十次,故不需要停机准则。
7. 分离参数:将a1….anab1….bnb从辨识参数中分离出来。
8. 画出被辨识参数的各次递推估计值图形。
为了说明噪声对递推最小二乘法结果的影响,程序5-7-2在计算模拟观测值时不加噪
声,
辨识结果为a1 =1.6417,a2 = 0.7148,b1 = 0.3900,b2 =0.3499,与真实值a1 =1.642,
a2 = 0.715, b1 = 0.3900,b2 =0.35相差无几。
程序5-7-2-1在计算模拟观测值时加入了均值为0,方差为0.1的白噪声序列,由于噪
声的影响,此时的结果为变值,但变化范围较小,现任取一组结果作为辨识结果。辨识结果
为a1 =1.5371, a2 = 0.6874, b1 = 0.3756,b2 =0.3378。
程序5-7-2-2在计算模拟观测值时加入了有色噪声,有色噪声为
E(k)+1.642E(k-1)+0.715E(k-2),E(k)是均值为0,方差为0.1的白噪声序列,由于有色噪
声的影响,此时的辨识结果变动范围远比白噪声时大,任取一组结果作为辨识结果。辨识结
果为a1 =1.6676, a2 = 0.7479, b1 = 0.4254,b2 =0.3965。
可以看出,基本的最小二乘法不适用于有色噪声的场合。
二、
广义最小二乘法
广义最小二乘法适用于AR模型,它的基本思想在于对数据先进行一次白化滤波处理,然
后利用基本的最小二乘法对滤波后的数据进行辨识。
广义最小二乘法的递推算法步骤如下:
1. 给定初始条件:
I)0(P0)0(ˆ(I)0(P0)0(ˆ(e))(2(f)e特别大)或者极小值
2.利用
)()()()()()(1(f)1(f)kuzCkukyzCky
计算)()(kyf及)()(kuf。
3.利用 ] )(...u )1( )( ... )1([)(T)()()()()(bffqfffnkkunkykyk
构造滤波后的观测矩阵)()(kf。
本例中, 2)]-(ku1),-(ku2),-(k1),-y-(k[-y)(T)()()()()(fffffk。
4.利用下式估计递推计算1ˆN
)()()()()()()()()()()()()()()1()()()1()()()(1)()1()()]1(ˆ)()([)()1(ˆ)(ˆfTfffffNfTffffTfffkPkkGkPkP
kPk
kkP
kG
kkkykGkk
5.由新得到的)(ˆk计算出新的残差估计值)(ˆke,并构造残差数据向量
由滤波前的观测向量
] )(u ... )1( )( ... )1([)(Tbankkunkykyk
计算出新的残差估计值)(ˆke
)(ˆ)()()(ˆkkkykeT
残差数据向量Tcenkekek)](ˆ ... )1(ˆ[)()(。
6. 利用下式估计递推计算)()(ˆek
)()()()()()(1)()()()()()()()()()()1()()()1()()()1()(1)()1()(])1(ˆ)()(ˆ[)()1(ˆ)(ˆeTeeeeeeTeeeeeTeeeekPkkGkPkP
kkPk
kkP
kG
kkkekGkk
7.返回第2步进行迭代计算,直至获得满意的辨识结果。
程序5-7-4使用广义最小二乘法,得到的结果为a1 =1.6363,a2 =0.7172,b1 = 0.3679,
b2 = 0.3603,c0 =-0.6951, c1 =-0.0214,结果a1、a2、b1、b2与真实值结果a1 =1.642,
a2 = 0.715, b1 = 0.39,b2 =0.35较为接近,但c0、c1与真实值1、-0.4相差较远。
三、
增广最小二乘法
增广最小二乘法是最小二乘法的一种推广,它只是扩充了参数向量和数据向量)(k的
维数,在辨识过程中考虑了噪声模型的参数,适用于MA模型。
增广最小二乘法的一般步骤如下:
1.根据输入输出序列以及噪声序列列出增广最小二乘法估计的数据向量:
] )( ... )1( )( )(u ... )1( )( ... )1([)(Tdbankkknkkunkykyk
没有给出输出序列的还要先算出输出序列。
本例中, ])2(, )1(, )( 2),-u(k1),-u(k2),-1),-y(k-[-y(k)(Tkkkk。
9. 给辨识参数和协方差阵P赋初值。一般取0=0或者极小的数,取,20IP特别大,
本例中取=100。
10. 按照下式计算增益矩阵G:
)()1()(1)()1()(kkPkkkPkGT
11. 按照下式计算要辨识的参数:
)]1(ˆ)()()[()1(ˆ)(ˆkkkykGkkT
12. 按照下式计算新的协方差阵P:
)1()()()1()(kPkkGkPkPT
13. 计算辨识参数的相对变化量,看是否满足停机准则。如满足,则不再递推;如不满足,
则从第三步开始进行下一次地推,直至满足要求为止。
停机准则:)(ˆ)1(ˆ)(ˆmaxkkkiiii
本例中由于递推次数只有三十次,故不需要停机准则。
14. 分离参数:将a1….anab1….bnbd1…dnd从辨识参数中分离出来。
15. 画出被辨识参数的各次递推估计值图形。
由以上可见,递推增广最小二乘法的算法与基本最小二乘法的递推算法形式是一致的,
只是参数向量和数据向量)(k的维数扩充了m维。
程序5-7-5在是运用增广最小二乘法来辨识系统参数,得到的结果为a1 =1.6412,a2 =
0.7144,b1 = 0.3900,b2 =0.3497,d0=0.9992,d1=1.6417,d2=0.7145与真实值a1 =1.642,
a2 = 0.715, b1 = 0.3900,b2 =0.35, d0=1,d1=a1=1.642,d2=a2=0.7145相差无几。