几种最小二乘法递推
算法的小结
精品资料
一、
递推最小二乘法
递推最小二乘法的一般步骤:
1. 根据输入输出序列列出最小二乘法估计的观测矩阵?: ?(k)?[?y(k?1) ... ?y(k?nq) u(k?1) ... u(k?nb) ]T 没有给出输出序列的还要先算出输出序列。 本例中,?(k)?[-y(k-1),-y(k-2),u(k-1),u(k-2)]T 。
2. 给辨识参数?和协方差阵P赋初值。一般取?0=0或者极小的数,取
P0??2I,?特别大,本例中取?=100。
3. 按照下式计算增益矩阵G: G(k)?P(k?1)?(k) T1??(k)P(k?1)?(k)4. 按照下式计算要辨识的参数?:
?(k)???(k?1)?G(k)[y(k)??(k)T??(k?1)] ?5. 按照下式计算新的协方差阵P: P(k)?P(k?1)?G(k)?(k)TP(k?1)
6. 计算辨识参数的相对变化量,看是否满足停机准则。如满足,则不再递推;如不满足,则从第三步开始进行下一次地推,直至满足要求为止。 停机准则:maxi?(k)???(k?1)?ii??
??i(k) 本例中由于递推次数只有三十次,故不需要停机准则。 7. 分离参数:将a1….anab1….bnb从辨识参数?中分离出来。 8. 画出被辨识参数?的各次递推估计值图形。
仅供学习与交流,如有侵权请联系网站删除 谢谢2
精品资料
为了说明噪声对递推最小二乘法结果的影响,程序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. 给定初始条件:
仅供学习与交流,如有侵权请联系网站删除 谢谢3