
最小二乘算法总结
1
支强
zhistar@163.com
西安交通大学自动化系
2009 年 9
1
©本文仅限用于学习交流,转载请注明出处。文中如有不对之处,欢迎指正!

西安交通大学科技报告 zhistar@163.com
1
目录
1. 一般最小二乘法 ...............................................................................1
1.1. 一次计算最小二乘算法 .............................................................1
1.2. 递推最小二乘算法 .....................................................................1
2. 遗忘因子最小二乘算法 ...................................................................4
2.1. 一次计算法 .................................................................................4
2.2. 递推算法......................................................................................4
3. 限定记忆最小二乘递推算法 ...........................................................7
4. 偏差补偿最小二乘法 .......................................................................9
5. 增广最小二乘法 .............................................................................11
6. 广义最小二乘法 .............................................................................13
7. 辅助变量法 .....................................................................................15
8. 二步法 .............................................................................................17
9. 多级最小二乘法 .............................................................................19
10. Yule-Walker 辨识算法 ....................................................................21
Matlab 程序附录 ......................................................................................22
附录 1、最小二乘一次计算法 ...............................................................22
附录 2、最小二乘递推算法 ...................................................................23
附录 3、遗忘因子最小二乘一次计算法 ...............................................24
附录 4、遗忘因子最小二乘递推算法 ...................................................25
附录 5、限定记忆最小二乘递推算法 ...................................................27
附录 6、偏差补偿最小二乘递推算法 ...................................................29
附录 7、增广最小二乘递推算法 ...........................................................30

西安交通大学科技报告 zhistar@163.com
2
附录 8、广义最小二乘递推算法 ...........................................................32
附录 9、辅助变量法 ...............................................................................34
附录 10、二步法......................................................................................36
附录 11、多级最小二乘法......................................................................37
附录 12、Yule-Wa lke r 辨识算法 ............................................................40
图 1一般最小二乘参数过渡过程 .....................................................2
图 2 一般最小二乘方差变化过程 ....................................................3
图 3 遗忘因子法参数过渡过程 ........................................................5
图 4 遗忘因子法方差变化过程 ........................................................6
图 5 限定记忆法参数过渡过程 ........................................................8
图 6 限定记忆法方差变化过程 ........................................................8
图 7 偏差补偿最小二乘参数过渡过程 ..........................................10
图 8 偏差补偿最小二乘方差变化过程 ..........................................10
图 9 增广最小二乘辨识模型 ..........................................................11
图 10 增广最小二乘参数过渡过程 ................................................12
图 11 广义最小二乘参数过渡过程 ................................................14
图 12 广义最小二乘方差变化过程 ................................................14
图 13 辅助变量法参数过渡过程 ....................................................16
图 14 辅助变量法方差变化过程 ....................................................16
图 15 二步法参数过渡过程 ............................................................18
图 16 二步法方差变化过程 ............................................................18

1. 一般最小二乘法
例 1 考虑如下仿真对象 ( 2) 1.5 ( 1) 0.7 ( ) ( 1) 0.5 ( ) ( )zk zk zk uk uk vk+− ++ = ++ +
其中,
()vk 为服从 (0,1)N 分布的白噪声。输入信号 ()uk 采用 M 序列,幅度为 1。M 序列
由 9 级移位寄存器产生,
49ii i
x
xx
−−
=⊕。
选择如下的辨识模型
1212
(2) (1) () (1) ()()zk azk azk buk buk vk+=− +− + ++ +
观测数据长度取 400L
=
。加权阵取
I
Λ
= 。
1.1. 一次计算最小二乘算法
^
1
^
^
2
1
^
1
^
2
-1.4916
0.7005
()
1.0364
0.4268
TT
LS
LL LL
a
a
HH HZ
b
b
θ
−
⎛⎞
⎜⎟
⎛⎞
⎜⎟
⎜⎟
⎜⎟
⎜⎟
== =
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎝⎠
⎜⎟
⎝⎠
(1.1)
其中,
(3)
(4)
...
(402)
L
Z
Z
Z
Z
⎛⎞
⎜⎟
⎜⎟
=
⎜⎟
⎜⎟
⎝⎠
,
(3)
(2) (1) (2) (1)
(3) (2) (3) (2)
(4)
... ... ... ...
...
(401) (400) (401) (400)
(402)
T
T
L
T
h
ZZ u u
ZZ u u
h
H
ZZuu
h
⎛⎞
−−
⎛⎞
⎜⎟
⎜⎟
−−
⎜⎟
⎜⎟
==
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
−−
⎝⎠
⎝⎠
Matlab 程序见附录 1
。
1.2. 递推最小二乘算法
递推最小二乘算法公式:
^^ ^
'
'1
'
() ( 1) ()[() ()( 1)]
1
() ( 1)()[ ()( 1)() ]
()
() [ () ()]( 1)
kk Kkzkhkk
Kk Pk hk h kPk hk
k
Pk I Kkh k Pk
θθ θ
−
=−+ − −
=− − +
Λ
=− −
(1.2)

西安交通大学科技报告 zhistar@163.com
2
初始条件
^
1
^
^
2
^
1
^
2
3
3
(0)
3
3
a
a
b
b
θ
⎛⎞
⎜⎟
⎛⎞
⎜⎟
⎜⎟
⎜⎟
⎜⎟
==
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎝⎠
⎜⎟
⎝⎠
,
44
(0) 100*PI
×
=
。
经过编程计算,各个参数的估计值为
^
1
^
^
2
^
1
^
2
-1.4976
0.6802
1.0284
0.3341
LS
a
a
b
b
θ
⎛⎞
⎜⎟
⎛⎞
⎜⎟
⎜⎟
⎜⎟
⎜⎟
==
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎝⎠
⎜⎟
⎝⎠
(1.3)
Matlab 程序见附录 2。
0 50 100 150 200 250 300 350 400 450
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
3
待估参数过渡过程
b1
a2
b2
a1
图 1一般最小二乘参数过渡过程