系统辨识大作业最小二乘法及其相关估值方法应用学院:自动化学院专业:信息工程学号:2007302171姓名:马志强日期:2010.11.14基于最小二乘法的多种系统辨识方法研究1.最小二乘法的引出在系统辨识中用得最广泛的估计方法是最小二乘法(LS)。设单输入-单输出线性定长系统的差分方程为(5.1.1)式中:为随机干扰;为理论上的输出值。只有通过观测才能得到,在观测过程中往往附加有随机干扰。的观测值可表示为(5.1.2)式中:为随机干扰。由式(5.1.2)得(5.1.3)将式(5.1.3)带入式(5.1.1)得(5.1.4)我们可能不知道的统计特性,在这种情况下,往往把看做均值为0的白噪声。设(5.1.5)则式(5.1.4)可写成(5.1.6)在观测时也有测量误差,系统内部也可能有噪声,应当考虑它们的影响。因此假定不仅包含了的测量误差,而且包含了的测量误差和系统内部噪声。假定是不相关随机序列(实际上是相关随机序列)。现分别测出个随机输入值,则可写成个方程,即上述个方程可写成向量-矩阵形式(5.1.7)设则式(5.1.7)可写为(5.1.8)式中:为维输出向量;为维噪声向量;为维参数向量;为测量矩阵。因此式(5.1.8)是一个含有个未知参数,由个方程组成的联立方程组。如果,方程数少于未知数数目,则方程组的解是不定的,不能唯一地确定参数向量。如果,方程组正好与未知数数目相等,当噪声时,就能准确地解出(5.1.9)如果噪声,则(5.1.10)从上式可以看出噪声对参数估计是有影响的,为了尽量较小噪声对估值的影响。在给定输出向量和测量矩阵的条件下求系统参数的估值,这就是系统辨识问题。可用最小二乘法来求的估值,以下讨论最小二乘法估计。2.最小二乘法估计算法设表示的最优估值,表示的最优估值,则有(5.1.11)写出式(5.1.11)的某一行,则有(5.1.12)设表示与之差,即-(5.1.13)式中成为残差。把分别代入式(5.1.13)可得残差。设则有(5.1.14)最小二乘估计要求残差的平方和为最小,即按照指数函数(5.1.15)为最小来确定估值。求对的偏导数并令其等于0可得(5.1.16)(5.1.17)由式(5.1.17)可得的最小二乘估计(5.1.18)3.递推最小二乘法为了实现实时控制,必须采用递推算法,这种辨识方法主要用于在线辨识。设已获得的观测数据长度为,将式(5.1.8)中的和分别用来代替,即(5.3.1)用的最小二乘估计,则(5.3.2)设(5.3.5)于是(5.3.6)如果再获得1组新的观测值和,则又增加1个方程(5.3.7)式中将式(5.3.1)和式(5.3.7)合并,并写成分块矩阵形式,可得(5.3.8)根据上式可得到新的参数估值(5.3.9)式中根据矩阵求逆引理可以求得递推最小二乘法辨识公式(5.3.19)(5.3.20)(5.3.21)由于进行递推计算需要给出和初值和,通过计算证明,可以取初值:,,c是充分大的常数,为单位矩阵,则经过若干次递推之后能够得到较好的参数估计。3.辅助变量法辅助变量法是一种可克服最小二乘有偏估计的一种方法,对于原辨识方程(5.4.1)当是不相关随机序列时,最小二乘法可以得到参数向量的一致无偏估计。但是,在实际应用中往往是相关随机序列。假定存在着一个的矩阵满足约束条件(5.4.2)式中是非奇异的。用乘以式(5.4.1)等号两边得(5.4.3)由上式得(5.4.4)如果取(5.4.5)作为估值,则称为辅助变量估值,矩阵成为辅助变量矩阵,中的元素称为辅助变量。常用的辅助变量法有递推辅助变量参数估计法,自适应滤波法,纯滞后等。4.广义最小二乘法广义最小二乘法是能克服最小二乘法有偏估计的另一种方法,这种方法计算比较复杂但效果比较好。下面直接介绍广义最小二乘法的计算步骤:(1)应用得到的输入和输出数据和,按模型求出的最小二乘估计(2)计算残差(3)用残差代替,计算(4)计算和(5)应用得到的和按模型用最小二乘法重新估计,得到的第2次估值。然后按步骤(2)计算残差,按步骤(3)重新估计,得到估值。再按照步骤(4)计算和,按照步骤(5)求的第3次估值。重复上述循环,之道的估值收敛为止。5.一种交替的广义最小二乘法求解技术(夏式法)这种方法是夏天长提出来的,又称夏式法。以上讨论过的广义最小二乘法的特点在于系统的输入和输出信号反复过滤。一下介绍的夏式法是一种交替的广义最小二乘法求解技术,它不需要数据反复过滤,因而计算效率较高。这种方法可消去最小二乘估计中的偏差,而且由这种方法导出的计算方法也比较简单。基于以上的几种方法,有(5.7.1)因而有(5.7.2)应用最小二乘法可得到参数估值(5.7.3)可以推出(5.7.11)上式中的第1项是最小二乘估计,第2项是偏差项,所以必须准确计算。为了准确计算,可采用迭代的方法。6.专题解答设但输入-单输出系统的差分方程为取真实值,输入数据如下所示ku(k)ku(k)ku(k)11.14711-0.958210.48520.201120.810221.6333-0.78713-0.044230.0434-1.159140.947241.3265-1.05215-1.474251.70660.86616-0.71926-0.34071.15217-0.086270.89081.57318-1.099281.14490.626191.450291.177100.433201.15130-0.390用的真实值利用查分方程求出作为测量值,为均值为0,方差为0.1,0.5的不相关随机序列。(1)用最小二乘法估计参数。(2)用递推最小二乘法估计。(3)用辅助变量法估计参数。(4)设,用广义最小二乘法估计参数。(5)用夏式法估计参数。(6)详细分析和比较所获得的参数辨识结果,并说明上述参数便是方法的优缺点。根据题目要求的解法,利用Matlab编程实现系统辨识的估值利用最小二乘法估计的结果如下:最小二乘法方差0.00011.62800.70280.39713.4491..63160.70590.39470.34941.63540.71200.39180.34631.63620.70820.39700.35271.63600.71650.39060.35341.62890.70460.39080.34370.0011.15430.67660.40640.33041.55770.63710.38680.32491.60500.68600.37370.32441.60600.68160.35830.31671.61950.70300.39070.33661.56700.65720.37520.31400.011.35380.50100.34860.17090.89560.16370.42370.06971.00080.20360.42360.12681.34030.47070.38260.26151.05740.22890.36820.13171.12310.29630.35920.15060.11.14240.27100.32840.22161.02550.17360.37660.18440.88960.11090.38930.08130.81820.11140.42980.09230.81000.01530.41220.13520.77150.13110.47140.06400.50.97510.10170.02710.07920.89380.07400.34840.16340.19270.01970.37620.15210.55060.03920.65100.05840.75600.04940.33720.14370.94590.13770.38150.1853部分程序运行结果递推最小二乘法方差0.00011.67540.67870.52070.39241.30760.29000.00750.32841.51460.69631.14010.16391.57330.77820.41490.71101.16020.47530.67360.31591.20910.31920.52770.02750.0011.47670.40400.26790.55121.62590.75940.32530.37801.53930.47570.12680.43461.15480.17000.19260.82510.88580.07600.33850.04061.41290.31270.09920.83800.011.34850.34450.31940.37101.16390.32960.78130.21621.99461.23231.48520.03041.39240.35430.33190.45721.39820.36080.77730.31521.63460.72290.57800.39470.11.56240.71320.44220.41121.73350.71520.08440.63991.47630.53660.32550.31161.44770.34890.22180.22651.62160.70820.65950.42751.51050.40000.01130.22130.51.79270.94110.27300.34711.55560.88770.59720.12171.78681.25381.12480.21001.57330.74340.35890.13871.31930.60841.29710.30291.59590.53860.01410.6947部分程序运行结果:辅助变量法方差0.00011.77990.85880.41470.40461.30760.29000.00750.32841.67350.75780.40600.34841.58120.65460.37710.36111.66570.74690.37720.35611.52810.65090.36450.33020.0011.62950.67750.40820.35011.64250.73050.39370.35431.55950.60520.35630.33621.41450.49250.40210.28731.63710.72700.36810.34181.35390.47330.39060.24890.011.34510.47000.38220.26801.36570.48930.43490.24961.37020.50090.43880.26111.18840.37070.34570.15211.36360.53300.41350.20641.31580.48360.45620.21690.11.55450.61670.41040.35121.59000.66480.40980.36641.66100.70290.40010.34951.51040.60140.39680.32561.56200.64960.39500.30971.44180.57060.41830.27830.51.49520.57040.37690.34831.55920.65410.43870.33301.36370.53020.38650.19161.55430.63240.32080.29291.53850.59940.36610.35761.35110.48390.34120.2208部分程序运行结果:广义最小二乘法方差0.00011.64510.71820.38950.35031.64680.72050.38660.34921.63080.70380.38520.34571.64670.71880.38980.35441.64110.71560.38980.34771.64410.71850.38960.34880.0011.70270.76780.40590.37611.64770.71660.39730.36431.63910.71130.38360.35041.65860.71660.37910.36721.683