logo资料库

系统辨识期末大作业.docx

第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
资料共19页,剩余部分请下载后查看
系统辨识大作业 最小二乘法及其相关估值方法应用 学院:自动化学院 专业:信息工程 学号:2007302171 姓名:马志强 日期:2010.11.14
基于最小二乘法的多种系统辨识方法研究 1. 最小二乘法的引出 (5.1.1) 在系统辨识中用得最广泛的估计方法是最小二乘法(LS)。 设单输入-单输出线性定长系统的差分方程为 +1−1 +…+− =0 +…+− ,=1,2,3,⋯ 式中: 为随机干扰; 为理论上的输出值。 只有通过观测才能得到,在观测过程 中往往附加有随机干扰。 的观测值 可表示为 = + 式中: 为随机干扰。由式(5.1.2)得 = − +1−1 +…+− (−) =0 +1−1 +…+− + +=1 我们可能不知道 的统计特性,在这种情况下,往往把 看做均值为 0 的白噪声。 将式(5.1.3)带入式(5.1.1)得 (5.1.2) (5.1.3) (5.1.4) 设 (5.1.5) 则式(5.1.4)可写成 (−) ()=()+=1 =−1−1 −2−2 −…−− +0 +1−1 +… +− +() 在观测 时也有测量误差,系统内部也可能有噪声,应当考虑它们的影响。因此假定 ()不仅包含了 的测量误差,而且包含了 的测量误差和系统内部噪声。假定()是 不相关随机序列(实际上()是相关随机序列)。 现 分 别测 出+ 个 随 机输 入 值1 ,2 ,⋯,+ ,1 ,2 ,⋯,(+ ),则可写成个方程,即 +1 =−1 −2−1 −…−1 +0+1 +1 +…+1 +( +1) +2 =−1+1 −2 −…−2 +0+2 +1+1 +…+2 +(+2) 上述个方程可写成向量-矩阵形式 + =−1+−1 −2+−2 −…− +0+ +1+−1 +…+ +(+) (5.1.6) ⋮
(+1) (+2) (+) = ⋮ 设 则式(5.1.7)可写为 1⋮0⋮ + (+1) (+2) ⋮ (+3) (5.1.7) ⋯⋯ −(1) (+1) ⋯ (1) −() −(2) (+2) ⋯ (2) −(+1) −(+−1) ⋯ −() (+) ⋯ () × ⋮ ⋮ ⋮ ⋮ ⋮ 1⋮0⋮ ,= (+1) = (+1) (+2) (+2) (+) ,= ⋮ ⋮ (+) ⋯⋯ −(1) (+1) ⋯ (1) −() −(2) (+2) ⋯ (2) −(+1) ⋮ ⋮ ⋮ ⋮ ⋮ −(+−1) ⋯ −() (+) ⋯ () =+ = (5.1.8) =− =−−− 式中:为维输出向量;为维噪声向量;为(2+1)维参数向量;为×(2+1)测 量矩阵。因此式(5.1.8)是一个含有(2+1)个未知参数,由个方程组成的联立方程组。如 果<2+1,方程数少于未知数数目,则方程组的解是不定的,不能唯一地确定参数向量。 如果=2+1,方程组正好与未知数数目相等,当噪声=时,就能准确地解出 如果噪声≠,则 从上式可以看出噪声对参数估计是有影响的,为了尽量较小噪声对估值的影响。在给定 输出向量和测量矩阵的条件下求系统参数的估值,这就是系统辨识问题。可用最小二乘 法来求的估值,以下讨论最小二乘法估计。 设表示的最优估值,表示的最优估值,则有 = = (+1) (+2) (+) ,= ⋮ 2. 最小二乘法估计算法 (5.1.11) (5.1.9) (5.1.10) 写出式(5.1.11)的某一行,则有 1⋮0⋮
(5.1.12) = 式中 则有 (−) +=0 设()表示()与()之差,即 = - = =−1−1 −2−2 −…−− +0 +1−1 +… , (−) +− + =−=1 =+1,+2,⋯,+ − − − =—=1 +=0 1+1−1+⋯+− − 0+1−1+⋯+− =−1 −−1 ,=+1,+2,⋯,+(5.1.13) −1 =1+1−1+⋯+− −1 =0+1−1+⋯+− 成为残差。把=+1,+2,⋯,+分别代入式(5.1.13)可得残差+1 ,+2 ,⋯,+ 。设=[+1+2⋯+]T =−=− ==(−)(−) 为最小来确定估值。求对的偏导数并令其等于 0 可得 ∂J∂=−2− = = 由式(5.1.17)可得的最小二乘估计 =()− 设已获得的观测数据长度为,将式(5.1.8)中的和分别用YN,,来代替, YN=+ 用表示的最小二乘估计,则=()− 为了实现实时控制,必须采用递推算法,这种辨识方法主要用于在线辨识。 最小二乘估计要求残差的平方和为最小,即按照指数函数 (5.3.1) (5.3.2) (5.1.14) (5.1.15) (5.1.16) (5.1.17) (5.1.18) 3.递推最小二乘法 即
设 于是 式中 式中 +1=++1 ,+1=(++1) 如果再获得 1 组新的观测值++1 和(++1),则又增加 1 个方程 + =[−+ ⋯ −+1 ++1 ⋯ (+1)] = ()− = +1=+ ++1 + +1 +1 = + += + + +1 =+ + −1 + +1 =+(+++1) + += + −1= (+++)− +=++(+1−+) +=++(1+++)−1 +=−+(1+++)−1+ 根据矩阵求逆引理可以求得递推最小二乘法辨识公式 (5.3.5) (5.3.6) (5.3.7) (5.3.8) (5.3.9) (5.3.19) (5.3.20) 将式(5.3.1)和式(5.3.7)合并,并写成分块矩阵形式,可得 根据上式可得到新的参数估值 由于进行递推计算需要给出和初值和,通过计算证明,可以取初值:=,= 2,c 是充分大的常数,为2+1(2+1)单位矩阵,则经过若干次递推之后能够得到较 (5.3.21) 好的参数估计。 3. 辅助变量法 辅助变量法是一种可克服最小二乘有偏估计的一种方法,对于原辨识方程 =+ 当()是不相关随机序列时,最小二乘法可以得到参数向量的一致无偏估计。但是,在实 际应用中()往往是相关随机序列。 假定存在着一个(2+1)×的矩阵满足约束条件 (5.4.1)
→∞1=0 →∞1= 式中是非奇异的。用乘以式(5.4.1)等号两边得 =+ =()−1−()−1 由上式得 如果取 IV=()−1 (5.4.2) (5.4.3) (5.4.4) ()= 1(1)⋮(1) 0(1)⋮(1) 作为估值,则称IV为辅助变量估值,矩阵成为辅助变量矩阵,中的元素称为辅助变量。 常用的辅助变量法有递推辅助变量参数估计法,自适应滤波法,纯滞后等。 4. 广义最小二乘法 (5.4.5) 广义最小二乘法是能克服最小二乘法有偏估计的另一种方法,这种方法计算比较复杂 但效果比较好。 下面直接介绍广义最小二乘法的计算步骤: (1)应用得到的输入和输出数据()和(=1,2,3,⋯,+),按模型 求出 的最小二乘估计 −1 =−1 + (2)计算残差1() 1 =(1)−1 −(1)−1 (3)用残差1 代替 ,计算()=[(())()]−(()) (4)计算1()和1() 1 = +11−1 +⋯+1(−) 1 = +11−1 +⋯+1(−) (5)应用得到的1()和1()按模型 −11 =−11 +() 用最小二乘法重新估计,得到的第 2 次估值()。然后按步骤(2)计算残差2(),按步骤 (3)重新估计,得到估值 。再按照步骤(4)计算2()和2 ,按照步骤(5)求的第 3 次估值()。重复上述循环,之道的估值()收敛为止。 5. 一种交替的广义最小二乘法求解技术(夏式法) 这种方法是夏天长提出来的,又称夏式法。以上讨论过的广义最小二乘法的特点在于系 统的输入和输出信号反复过滤。一下介绍的夏式法是一种交替的广义最小二乘法求解技术, 它不需要数据反复过滤,因而计算效率较高。这种方法可消去最小二乘估计中的偏差,而且
由这种方法导出的计算方法也比较简单。 基于以上的几种方法,有 =+ =+ (5.7.1) k u(k) 因而有 可以推出 = +1−1 +2−2 y=++= + (5.7.2) 应用最小二乘法可得到参数估值 = − (5.7.3) =()−−()− (5.7.11) 上式中的第1 项是最小二乘估计,第2 项是偏差项,所以必须准确计算。 为了准确计算,可采用迭代的方法。 6. 专题解答 设但输入-单输出系统的差分方程为 =−1−1 −2−2 +1−1 +2−2 +() 取真实值= = 1.642 0.715 0.39 0.35 ,输入数据如下所示 -0.958 0.485 1 0.810 2 1.633 -0.044 3 0.043 0.947 1.326 4 -1.474 5 1.706 -0.719 6 -0.340 0.890 -0.086 7 -1.099 8 1.144 1.450 9 1.177 1.151 10 -0.390 用的真实值利用查分方程求出 作为测量值, 为均值为0,方差为0.1,0.5 的 (1) 用最小二乘法估计参数= 。 (2) 用递推最小二乘法估计= 。 (3) 用辅助变量法估计参数= 。 (4) 设 +2 = ,用广义最小二乘法估计参数= 。 (5) 用夏式法估计参数= 。 (6) 详细分析和比较所获得的参数辨识结果,并说明上述参数便是方法的优缺点。 根据题目要求的解法,利用Matlab 编程实现系统辨识的估值 11 12 13 14 15 16 17 18 19 20 u(k) 1.147 0.201 -0.787 -1.159 -1.052 0.866 1.152 1.573 0.626 0.433 k 21 22 23 24 25 26 27 28 29 30 k u(k) 不相关随机序列。
利用最小二乘法估计的结果如下: 方差 0.0001 0.001 0.01 0.1 0.5 部分程序运行结果 1 1.6280 1..6316 1.6354 1.6362 1.6360 1.6289 1.1543 1.5577 1.6050 1.6060 1.6195 1.5670 1.3538 0.8956 1.0008 1.3403 1.0574 1.1231 1.1424 1.0255 0.8896 0.8182 0.8100 0.7715 0.9751 0.8938 0.1927 0.5506 0.7560 0.9459 最小二乘法 2 0.7028 0.7059 0.7120 0.7082 0.7165 0.7046 0.6766 0.6371 0.6860 0.6816 0.7030 0.6572 0.5010 0.1637 0.2036 0.4707 0.2289 0.2963 0.2710 0.1736 0.1109 0.1114 0.0153 0.1311 0.1017 0.0740 0.0197 0.0392 0.0494 0.1377 1 0.3971 0.3947 0.3918 0.3970 0.3906 0.3908 0.4064 0.3868 0.3737 0.3583 0.3907 0.3752 0.3486 0.4237 0.4236 0.3826 0.3682 0.3592 0.3284 0.3766 0.3893 0.4298 0.4122 0.4714 0.0271 0.3484 0.3762 0.6510 0.3372 0.3815 2 3.449 0.3494 0.3463 0.3527 0.3534 0.3437 0.3304 0.3249 0.3244 0.3167 0.3366 0.3140 0.1709 0.0697 0.1268 0.2615 0.1317 0.1506 0.2216 0.1844 0.0813 0.0923 0.1352 0.0640 0.0792 0.1634 0.1521 0.0584 0.1437 0.1853
分享到:
收藏