基于最小二乘法的系统辨识
3 最小二乘法的原理
3.1 最小二乘法一次完成推导 本文中以一个 SISO 系统为例说明最小二乘法的原理。 假设一个 SISO 系统如下图所示:
其离散传递函数为:
G( z 1 )
B(z 1) A( z 1 )
b1z 1 b2 z 2 bn z n 1 a1z 1 a2 z 2 an z n
的数据是实时采集的系统输入输出数据,应用递推算法对参数估计值进行不断修正,以 取得更为准确的参数估计值。由于在线辨识方法具有实时采集系统输入输出数据,实时
辨识模型参数,且占据计算机存储量小的优点,因此与离线辨识相比,在线辨识方法得到 了更为广泛的应用。在线辨识的参数估计的最小二乘递推算法如下:
^θ(k+1) = ^θ(k)+K(k+1)[y(k+1)-xT(k+1)^θ(k)]
N
)
bn
(6)
设
y(n 1)
y
=
y(n
2)
y(n
N
)
a1
,
bn
,
b0
bn
(n 1)
=
(n
2)
(n N )
取泛函 J ( ) 为
N
J ( ) (Y )2 e2 (n i) eT e (Y )T (Y ) i 1
最小二乘法原理既是使 J ( ) 最小,对其求极值得:
J
[(Y
)T (Y
)] 0
由此可得系统的最小二乘法估计值为:
关键词:最小二乘法;系统辨识;参数估计
1 引言
最小二乘理论是有高斯(K.F.Gauss)在 1795 年提出:“未知量的最大可能值是这样 一个数值,它使各次实际观测值和计算值之间的差值的平方乘以度量其精度的数值以后 的和最小。”这就是最小二乘法的最早思想。
最小二乘辨识方法提供一个估算方法,使之能得到一个在最小方差意义上与实验数 据最好拟合的数学模型。递推最小二乘法是在最小二乘法得到的观测数据的基础上,用 新引入的数据对上一次估计的结果进行修正递推出下一个参数估计值,直到估计值达到 满意的精确度为止。
得到渐消记忆的最小二乘递推算法如下:
^θ(k+1) = ^θ(k)+K(k+1)[y(k+1)-xT(k+1)^θ(k)] K(k+1) = P(k)x(k+1)[λ+xT(k+1)P(k)x(k+1)]-1 P(k+1) =1λ[P(k)-K(k+1)xT(k+1)P(k)]
递推初值:^θ(0) =任意值;P(0) =α 2 I,α取计算机容许的最大值。
课程(论文)题目:基于最小二乘法的系统辨识 : 摘要 最小二乘法是一种经典的数据处理方法。最小二乘的一次性完成辨识算法(也称批处理算
法),他的特点是直接利用已经获得的所有(一批)观测数据进行运算处理。在系统辨识领域中,最 小二乘法是一种得到广泛应用的估计方法,可用于动态系统,静态系统,线性系统,非线性系统。在随 机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果, 却有相当好的统计特性。
到式 3.5 中,写成矩阵的形式为:
Y e
3.6
y(n)
y(n 1) y(1) u(n) u(1)
y(n
1)
y(n)
y(2)
u(n 1)
u(2)
y(n N ) y(n N 1) y(N ) u(n N ) u(N )
3.4
令(k) [ y(k 1) y(k 2) y(k n) u(k 1) u(k 2) u(k n)]T
[a1 a2 an b1 b2 bn ]
则式 3.4 可以写为:
y(k) T (k) e(k)
3.5
将上述式子扩展到 N 个输入、输出观测值{ u(k), y(k) },k=1,2,…,N+n。将其代入
分别测出 n+N 个输出输入值 y(1), y(2), y(n N ),u(1),u(2),,u(n N ) ,则可以写
出 N 个方程,即 y(n 1) a1 y(n) a2 y(n 1) an y(1) b0u(n 1) b1u(n) bnu(1) (n 1) y(n 2) a1 y(n 1) a2 y(n) an y(2) b0u(n 2) b1u(n 1) bnu(2) (n 2) y(n N ) a1 y(n N 1) a2 y(n N 2) an y(N )
=
(x
T m
x
m
)
1
其最优性准则函数为:
m
J = e2 (i) i 1
其中 m 为数据采集的次数,e 为残差向量。由于上述递推算法无法反映参数随时间变化 的特点,新数据被大量的老数据所淹没,对于慢时变参数的辨识来说,这必然得不到跟
踪参数变化的实时估计,因此又进一步有了改进的最小二乘递推算法,即带遗忘因子的 渐消记忆的递推算法,该算法贬低老数据的作用,强调新数据的作用,选取遗忘因子λ,
在观测过程中往往附加有随机干扰。 x(k) 的观测值 y(k) 可表示为
y(k) x(k) n(k)
(2)
将式(2)代入式(1)得 y(k) a1y(k 1) an y(k n) b0u(k) b1u(k 1)
n
bnu(k n) n(k) ai n(k i)
2 最小二乘法的系统辨识
设单输入—单输出线性定常系统的差分方程为: x(k) a1x(k 1) an x(k n) b0u(k) bnu(k n), k 1,2,3, (1)
上式中: u(k) 为输入信号; x(k) 为理论上的输出值。 x(k) 只有通过观测才能得到,
(3)
i 1
我们可能不知道 n(k) 的统计特性,在这种情况下,往往把 n(k) 看做均值为 0 的白噪
声。 设
n
(k) n(k) ain(k i) i 1
则式(3)可以写成 y(k) a1y(k 1) an y(k n) b0u(k) b1u(k 1)
bnu(k n) (k)
(4) (5)
在测量 u(k) 时也有测量误差,系统内部也可能有噪声,应当考虑它们的影响。
因此假定 (k) 不仅包含了 x(k) 的测量误差,而且还包含了 u(k) 的测量误差和系统
内部噪声。假定 (k) 是不相关舱机序列(实际上 (k) 是相关随机序列)。
参考程序
%
待
辨
识
系
统
z(k)=0.1*z(k-1)-0.5*z(k-2)+0.6*z(k-3)+u(k-1)+0.5*u(k-2)-0.2*u(k-3)+v(k)/800%
对工程实践中测得的数据进行理论分析,用恰当的函数去模拟数据原型是一类十分 重要的问题,最常用的逼近原则是让实测数据和估计数据之间的距离平方和最小,这即 是最小二乘法。最小二乘法是一种经典的数据处理方法。在随机的环境下,利用最小二 乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的 统计特性。
N (2n 1) 测量矩阵。因此 N<2n+1,方程数少于未知数数目,则方程组的解是不定的,
不能唯一的确定参数向量。如果 N=2n+1,方程数正好与未知数数目相等,当噪声 =0
时,就能准确的解出
1y
如果噪声 0 ,则
1y 1
从上式可以看出噪声 对参数估计有影响,为了尽量减小噪声 对 估值的影响,应取 N>(2n+1),即方程数大于未知数数目。在这种情况下,不能用解方程的办法来求 ,而要 采用数理统计的办法,以便减小噪声对 估值的影响。在给定输出向量 y 和测量矩阵 的条件下求系统参数 的估值,这就是系统辨识问题。可用最小二乘法来就 的估值。
3.1
输入输出的关系为:
u(k) G(z 1 ) e(k) y(k)Байду номын сангаас
3.2
进一步,我们可以得到:
y(k) A(z 1 ) u(k) B(z 1 ) e(k)
3.3
其中,扰动量 e(k) 为均值为 0,不相关的白噪声。 将式 3.3 写成差分方程的形式: y(k) a1 y(k 1) a2 y(k 2) an y(k n) b1u(k 1) b2u(k 2) bnu(k n) e(k)
其最优性准则函数为:
m
J = mie2 (i) i 1
其中加权系数 0<λ≤1。λ通常在 0.9 与 0.99 之间取值。
5 参考文献
[1].郭利辉,朱励洪,基于 MATLAB 的最小二乘法系统辨识与仿真,许昌学院学报,第 29 卷 第 2 期,2010 年 [2].程婵娟,系统辨识的线性规划方法研究,2009 年 [3].吴进华,基于 BP 神经网络的非线性动态系统辨识方法,2009 年 [4].刘静纨,最小二乘法在系统辨识中的应用,北京建筑工程学院学报,第 20 卷 第 3 期,2004 年9月 [5].王浩宇等,系统辨识及自适应控制系统算法仿真实现,控制工程,第 15 卷增刊,2008 年 [6].徐洪泽等,基于遗传算法的系统辨识方法可靠性分析,模式识别与人工智能,第 13 卷 第 4 期,2000 年 [7].黄文梅等,系统分析与仿真,长沙:国防科技大学出版社,1999 年 [8].李言俊,张科,系统辨识理论及应用,北京:国防工业出版社,2009 年