最小二乘搜索法
模糊度固定问题可以用一下方式表达:
a
ˇ
=
a
r
g
m
i
n
(
a
−
a
^
)
T
Q
a
^
−
1
(
a
−
a
^
)
(1)
\check{a} = arg\quad min(a-\hat{a})^TQ_{\hat{a}}^{-1}(a-\hat{a})\tag{1}
aˇ=argmin(a−a^)TQa^−1(a−a^)(1)
若
Q
a
^
Q_{\hat{a}}
Qa^为对角阵(即模糊度参数之间不相关),直接对模糊度进行取整便可。因此必须对模糊度进行搜索。直接对模糊度进行搜索,其搜索空间十分狭长,一般采用降相关,再进行搜索。
LAMBDA搜索法采用Z变换的降相关方法:
z
=
Z
T
a
z
^
=
Z
T
a
^
Q
z
^
=
Z
T
Q
a
^
Z
(2)
z=Z^Ta\\ \hat{z}=Z^T\hat{a}\\ Q_{\hat{z}}=Z^TQ_{\hat{a}}Z\tag{2}
z=ZTaz^=ZTa^Qz^=ZTQa^Z(2)
因此新的模糊度固定问题可转化为下列式子:
z
ˇ
=
a
r
g
m
i
n
(
z
−
z
^
)
T
Q
z
^
−
1
(
z
−
z
^
)
(3)
\check{z} = arg\quad min(z-\hat{z})^TQ_{\hat{z}}^{-1}(z-\hat{z})\tag{3}
zˇ=argmin(z−z^)TQz^−1(z−z^)(3)
1、LDL分解
Q
a
^
=
L
ˉ
T
D
ˉ
L
ˉ
(4)
Q_{\hat{a}}=\bar{L}^T\bar{D}\bar{L}\tag{4}
Qa^=LˉTDˉLˉ(4)
Q
z
^
=
L
T
D
L
(5)
Q_{\hat{z}}=L^TDL\tag{5}
Qz^=LTDL(5)
L
L
L矩阵对应的元素为
l
l
l,
L
ˉ
\bar{L}
Lˉ矩阵对应的元素为
l
ˉ
\bar{l}
lˉ,均为下三角矩阵
将(5)带入(3)可重写为:
F
(
z
)
=
(
z
−
z
^
)
T
L
−
T
D
−
1
L
−
1
(
z
−
z
^
)
(6)
F(z) = (z-\hat{z})^TL^{-T}D^{-1}L^{-1}(z-\hat{z})\tag{6}
F(z)=(z−z^)TL−TD−1L−1(z−z^)(6)
2、高斯变换
通过LDL分解的下三角矩阵
L
L
L中的元素并不为零,说明模糊度参数之间存在相关性,给定下三角矩阵
L
L
L,找出幺模矩阵
Z
Z
Z使得
L
Z
LZ
LZ尽可能对角化,从而降低模糊度之间的相关性,使得通过
Z
Z
Z变换的模糊度相关性大大降低.
对
L
L
L下三角的元素
l
i
,
j
l_{i,j}
li,j,当
∣
l
i
,
j
∣
>
0.5
(
j
>
i
)
|l_{i,j}| > 0.5(j>i)
∣li,j∣>0.5(j>i) 时,对应的高斯变换矩阵为:
Z
i
,
j
=
I
n
−
[
l
i
,
j
]
∗
e
i
e
j
T
(7)
Z_{i,j}=I_n-[l_{i,j}]*e_ie_j^T\tag{7}
Zi,j=In−[li,j]∗eiejT(7)
其中,
I
n
I_n
In为
n
n
n维单位向量,
[
⋅
]
[\cdot]
[⋅]为取整算子,
e
i
e_i
ei和
e
j
e_j
ej分别为
i
,
j
i,j
i,j对应的单位向量:
e.g.
e
i
=
[
0
0
⋅
⋅
⋅
1
0
⋅
⋅
⋅
0
]
e_i = \left[ \begin{matrix} 0&0&···&1&0&···&0 \end{matrix} \right]
ei=[00⋅⋅⋅10⋅⋅⋅0]
1在第
i
i
i位。
l
ˉ
k
,
j
=
l
k
,
j
−
[
l
i
,
j
]
l
k
,
i
(
k
=
i
,
i
+
1
,
⋅
⋅
⋅
,
n
)
(8)
\bar{l}_{k,j}=l_{k,j}-[l_{i,j}] l_{k,i}\quad(k=i,i+1,···,n)\tag{8}
lˉk,j=lk,j−[li,j]lk,i(k=i,i+1,⋅⋅⋅,n)(8)
举例:
给定单位下三角矩阵
L
L
L如下:
L
=
[
1
0
0
0
l
21
1
0
0
l
31
l
32
1
0
l
41
l
42
l
43
1
]
L= \left[ \begin{matrix} 1&0&0&0\\ l_{21}&1&0&0\\ l_{31}&l_{32}&1&0\\ l_{41}&l_{42}&l_{43}&1\\ \end{matrix} \right]
L=
1l21l31l4101l32l42001l430001
通过右乘高斯变换矩阵的方式,将
L
L
L尽可能对角化,其中[*]为取整操作,
0
~
\tilde{0}
0~表示接近零。
L
Z
21
=
[
1
0
0
0
l
21
1
0
0
l
31
l
32
1
0
l
41
l
42
l
43
1
]
[
1
0
0
0
−
[
l
21
]
1
0
0
0
0
1
0
0
0
0
1
]
=
[
1
0
0
0
l
21
−
[
l
21
]
∗
1
1
0
0
l
31
−
[
l
21
]
∗
l
32
l
32
1
0
l
41
−
[
l
21
]
∗
l
42
l
42
l
43
1
]
LZ_{21}= \left[ \begin{matrix} 1&0&0&0\\ l_{21}&1&0&0\\ l_{31}&l_{32}&1&0\\ l_{41}&l_{42}&l_{43}&1\\ \end{matrix} \right] \left[ \begin{matrix} 1&0&0&0\\ -[l_{21}]&1&0&0\\ 0&0&1&0\\ 0&0&0&1\\ \end{matrix} \right] = \left[ \begin{matrix} 1&0&0&0\\ l_{21}-[l_{21}]*1&1&0&0\\ l_{31}-[l_{21}]*l_{32}&l_{32}&1&0\\ l_{41}-[l_{21}]*l_{42}&l_{42}&l_{43}&1\\ \end{matrix} \right]
LZ21=
1l21l31l4101l32l42001l430001
1−[l21]00010000100001
=
1l21−[l21]∗1l31−[l21]∗l32l41−[l21]∗l4201l32l42001l430001
L
Z
21
Z
31
=
[
1
0
0
0
0
~
21
1
0
0
l
31
(
2
)
l
32
(
2
)
1
0
l
41
(
2
)
l
42
(
2
)
l
43
(
2
)
1
]
[
1
0
0
0
0
1
0
0
−
[
l
31
(
2
)
]
0
1
0
0
0
0
1
]
=
[
1
0
0
0
0
~
21
1
0
0
l
31
(
2
)
−
[
l
31
(
2
)
]
∗
1
l
32
(
2
)
1
0
l
41
(
2
)
−
[
l
31
(
2
)
]
∗
l
43
(
2
)
l
42
(
2
)
l
43
(
2
)
1
]
LZ_{21}Z_{31}= \left[ \begin{matrix} 1&0&0&0\\ \tilde{0}_{21}&1&0&0\\ l_{31}^{(2)}&l_{32}^{(2)}&1&0\\ l_{41}^{(2)}&l_{42}^{(2)}&l_{43}^{(2)}&1\\ \end{matrix} \right] \left[ \begin{matrix} 1&0&0&0\\ 0&1&0&0\\ -[l_{31}^{(2)}]&0&1&0\\ 0&0&0&1\\ \end{matrix} \right] = \left[ \begin{matrix} 1&0&0&0\\ \tilde{0}_{21}&1&0&0\\ l_{31}^{(2)}-[l_{31}^{(2)}]*1&l_{32}^{(2)}&1&0\\ l_{41}^{(2)}-[l_{31}^{(2)}]*l_{43}^{(2)}&l_{42}^{(2)}&l_{43}^{(2)}&1\\ \end{matrix} \right]\\
LZ21Z31=
10~21l31(2)l41(2)01l32(2)l42(2)001l43(2)0001
10−[l31(2)]0010000100001
=
10~21l31(2)−[l31(2)]∗1l41(2)−[l31(2)]∗l43(2)01l32(2)l42(2)001l43(2)0001
.
.
.
...
...
L
Z
=
[
1
0
0
0
0
~
21
1
0
0
0
~
31
0
~
32
1
0
0
~
41
0
~
42
0
~
43
1
]
,
Z
=
Z
21
Z
31
Z
32
Z
41
Z
42
Z
43
=
[
1
0
0
0
−
[
l
21
]
1
0
0
−
[
l
31
(
2
)
]
−
[
l
32
(
3
)
]
1
0
−
[
l
41
(
4
)
]
−
[
l
42
(
5
)
]
−
[
l
43
(
6
)
]
1
]
LZ= \left[ \begin{matrix} 1&0&0&0\\ \tilde{0}_{21}&1&0&0\\ \tilde{0}_{31}&\tilde{0}_{32}&1&0\\ \tilde{0}_{41}&\tilde{0}_{42}&\tilde{0}_{43}&1\\ \end{matrix} \right], Z=Z_{21}Z_{31}Z_{32}Z_{41}Z_{42}Z_{43}= \left[ \begin{matrix} 1&0&0&0\\ -[l_{21}]&1&0&0\\ -[l_{31}^{(2)}]&-[l_{32}^{(3)}]&1&0\\ -[l_{41}^{(4)}]&-[l_{42}^{(5)}]&-[l_{43}^{(6)}]&1\\ \end{matrix} \right]
LZ=
10~210~310~41010~320~420010~430001
,Z=Z21Z31Z32Z41Z42Z43=
1−[l21]−[l31(2)]−[l41(4)]01−[l32(3)]−[l42(5)]001−[l43(6)]0001
码表示为:
输入:下三角矩阵L, 矩阵维度n
输出:变换矩阵Z
初始化:
check(n >= 2)
check(L ? unit lowr triangular)
开始:
for row = 2 : n
for col= 1 : row - 1
u = [L(row, col)]
if (u != 0)
L(row : n, col) = L(row : n, col) - u * L(row: n, row)
Z(row, col) = -u
end
end
end
c代码如下
int8_t gauss_transform(matrix_t *L, matrix_t *Z)
{
if (!lower_matrix_check(L))
{
return -1;
}
if (L->col <= 2)
{
return -1;
}
uint32_t col = 0;
uint32_t row = 0;
for (row = 1; row < L->row; ++row)
{
for (col = 0; col < row; ++col)
{
fp64 u = get_integer(L->element[row][col]);
if (!IS_ZEROS(u))
{
Z->element[row][col] = -u;
uint32_t i = 0;
for (i = row; i < L->row; ++i)
{
L->element[i][col] -= u * L->element[i][row];
}
}
}
}
return 1;
}
3、条件方差排序
满足条件:
d
i
+
l
ˉ
i
+
1
,
i
2
d
i
+
1
⩽
d
i
+
1
(9)
d_i+\bar{l}_{i+1,i}^2d_{i+1} \leqslant d_{i+1}\tag{9}
di+lˉi+1,i2di+1⩽di+1(9)
详情后续不上
4、确定模糊度的搜索空间
模糊度的搜索空间无法根据
Q
a
^
Q_{\hat{a}}
Qa^直接得到,所以我们定义:
z
−
z
~
=
L
(
z
−
z
^
)
(10)
z-\tilde{z}=L(z-\hat{z})\tag{10}
z−z~=L(z−z^)(10)
对(10)展开可得:
[
z
1
−
z
~
1
.
.
.
z
1
−
z
~
1
]
=
[
1
0
0
.
.
.
l
21
1
⋅
⋅
⋅
.
.
.
0
l
n
(
n
−
1
)
1
]
(
[
z
1
.
.
.
z
n
]
−
[
z
^
1
.
.
.
z
^
n
]
)
\left[ \begin{matrix} z_1-\tilde{z}_1\\ ...\\ z_1-\tilde{z}_1 \end{matrix} \right]=\left[ \begin{matrix} 1&0&0&...\\ l_{21}&1&\cdot_{\cdot_{\cdot}}\\ ...&0&l_{n(n-1)}&1 \end{matrix} \right] \left( \left[ \begin{matrix} z_1\\ ...\\ z_n \end{matrix} \right] - \left[ \begin{matrix} \hat{z}_1\\ ...\\ \hat{z}_n \end{matrix} \right] \right)
z1−z~1...z1−z~1
=
1l21...0100⋅⋅⋅ln(n−1)...1
z1...zn
−
z^1...z^n
因此(6)可以更新为:
F
(
z
)
=
(
z
−
z
~
)
T
D
(
z
−
z
~
)
=
d
11
(
z
1
−
z
~
1
)
+
⋅
⋅
⋅
+
d
n
n
(
z
n
−
z
~
n
)
≤
χ
2
(11)
F(\pmb{z})=(\pmb{z}-\tilde{\pmb{z}})^T\pmb{D}(\pmb{z}-\tilde{\pmb{z}}) =d_{11}(z_1-\tilde{z}_1)+···+d_{nn}(z_n-\tilde{z}_n) \leq \chi^2\tag{11}
F(z)=(z−z~)TD(z−z~)=d11(z1−z~1)+⋅⋅⋅+dnn(zn−z~n)≤χ2(11)
从(11)中可以得到
z
−
z
~
\pmb{z}-\pmb{\tilde{z}}
z−z~的搜索空间:
{
∣
z
1
−
z
~
1
∣
=
χ
2
d
11
∣
z
2
−
z
~
2
∣
=
χ
2
−
(
z
1
−
z
~
1
)
2
d
11
d
22
⋅
⋅
⋅
∣
z
n
−
z
~
n
∣
=
χ
2
−
[
(
z
1
−
z
~
1
)
2
d
11
+
⋅
⋅
⋅
+
(
z
n
−
1
+
z
~
n
−
1
)
2
d
(
n
−
1
)
(
n
−
1
)
]
d
n
n
(12)
\left\{ \begin{aligned} |z_1-\tilde{z}_1| &= \sqrt{\frac{\chi^2}{d_{11}}}\\ |z_2-\tilde{z}_2| &= \sqrt{\frac{\chi^2 -(z_1-\tilde{z}_1)^2 d_{11}}{d_{22}}}\\ &···\\ |z_n-\tilde{z}_n| &= \sqrt{\frac{\chi^2 -[(z_1-\tilde{z}_1)^2 d_{11} + ···+(z_{n-1}+\tilde{z}_{n-1})^2 d_{(n-1)(n-1)}]}{d_{nn}}} \end{aligned} \right.\tag{12}
⎩
⎨
⎧∣z1−z~1∣∣z2−z~2∣∣zn−z~n∣=d11χ2=d22χ2−(z1−z~1)2d11⋅⋅⋅=dnnχ2−[(z1−z~1)2d11+⋅⋅⋅+(zn−1+z~n−1)2d(n−1)(n−1)](12)
将(10)代入(12)中:
{
∣
z
1
−
z
^
1
∣
=
χ
2
d
11
∣
l
21
(
z
1
−
z
^
1
)
+
(
z
2
−
z
^
2
)
∣
=
χ
2
−
(
z
1
−
z
^
1
)
d
11
d
22
⋅
⋅
⋅
∣
l
n
1
(
z
1
−
z
^
1
)
+
⋅
⋅
⋅
+
l
n
(
n
−
1
)
(
z
n
−
1
−
z
^
n
−
1
)
+
(
z
n
−
z
^
n
)
∣
=
χ
2
−
[
(
z
1
−
z
^
1
)
2
d
11
+
(
l
21
(
z
1
−
z
^
1
)
+
(
z
2
z
^
2
)
)
2
d
22
+
⋅
⋅
⋅
]
d
n
n
(13)
\left\{ \begin{aligned} &|z_1-\hat{z}_1| = \sqrt{\frac{\chi^2}{d_{11}}}\\ &|l_{21}(z_1-\hat{z}_1)+(z_2-\hat{z}_2)| = \sqrt{\frac{\chi^2 -(z_1-\hat{z}_1) d_{11}}{d_{22}}}\\ &···\\ &|l_{n1}(z_1-\hat{z}_1)+···+l_{n(n-1)}(z_{n-1}-\hat{z}_{n-1})+(z_n-\hat{z}_n)| = \sqrt{\frac{\chi^2 -[(z_1-\hat{z}_1)^2 d_{11} + (l_{21}(z_1-\hat{z}_1)+(z_{2}\hat{z}_{2}))^2d_{22} + ···]}{d_{nn}}} \end{aligned} \right.\tag{13}
⎩
⎨
⎧∣z1−z^1∣=d11χ2∣l21(z1−z^1)+(z2−z^2)∣=d22χ2−(z1−z^1)d11⋅⋅⋅∣ln1(z1−z^1)+⋅⋅⋅+ln(n−1)(zn−1−z^n−1)+(zn−z^n)∣=dnnχ2−[(z1−z^1)2d11+(l21(z1−z^1)+(z2z^2))2d22+⋅⋅⋅](13)
为了方便表达,我们有如下定义:
{
z
ˉ
1
=
z
^
1
z
ˉ
2
=
z
^
2
−
l
21
(
z
1
−
z
^
1
)
z
ˉ
3
=
z
^
3
−
l
31
(
z
1
−
z
^
1
)
−
l
32
(
z
2
−
z
^
2
)
⋅
⋅
⋅
z
ˉ
n
=
z
^
n
−
l
n
1
(
z
1
−
z
^
1
)
−
l
n
2
(
z
2
−
z
^
2
)
−
⋅
⋅
⋅
−
l
n
(
n
−
1
)
(
z
n
−
1
−
z
n
−
1
^
)
(14)
\left\{ \begin{aligned} \bar{z}_1 &= \hat{z}_1\\ \bar{z}_2 &= \hat{z}_2 - l_{21}(z_1 - \hat{z}_1)\\ \bar{z}_3 &= \hat{z}_3 - l_{31}(z_1 - \hat{z}_1)- l_{32}(z_2-\hat{z}_2)\\ &···\\ \bar{z}_n &=\hat{z}_n - l_{n1}(z_1-\hat{z}_1)-l_{n2}(z_2-\hat{z}_2)-···-l_{n(n-1)}(z_{n-1}-\hat{z_{n-1}}) \end{aligned} \right.\tag{14}
⎩
⎨
⎧zˉ1zˉ2zˉ3zˉn=z^1=z^2−l21(z1−z^1)=z^3−l31(z1−z^1)−l32(z2−z^2)⋅⋅⋅=z^n−ln1(z1−z^1)−ln2(z2−z^2)−⋅⋅⋅−ln(n−1)(zn−1−zn−1^)(14)
将(14)代入(13),则有:
{
∣
z
1
−
z
ˉ
1
∣
=
χ
2
d
11
∣
(
z
2
−
z
ˉ
2
)
∣
=
χ
2
−
(
z
1
−
z
ˉ
1
)
d
11
d
22
⋅
⋅
⋅
∣
(
z
n
−
z
ˉ
n
)
∣
=
χ
2
−
[
(
z
1
−
z
ˉ
1
)
2
d
11
+
(
z
2
−
z
ˉ
2
)
2
d
22
+
⋅
⋅
⋅
+
(
z
n
−
1
−
z
ˉ
n
−
1
)
2
d
(
n
−
1
)
(
n
−
1
)
]
d
n
n
(15)
\left\{ \begin{aligned} &|z_1-\bar{z}_1| = \sqrt{\frac{\chi^2}{d_{11}}}\\ &|(z_2-\bar{z}_2)| = \sqrt{\frac{\chi^2 -(z_1-\bar{z}_1) d_{11}}{d_{22}}}\\ &···\\ &|(z_n-\bar{z}_n)| = \sqrt{\frac{\chi^2 -[(z_1-\bar{z}_1)^2 d_{11} + (z_2-\bar{z}_2)^2 d_{22}+···+(z_{n-1}-\bar{z}_{n-1})^2 d_{(n-1)(n-1)}]}{d_{nn}}} \end{aligned} \right.\tag{15}
⎩
⎨
⎧∣z1−zˉ1∣=d11χ2∣(z2−zˉ2)∣=d22χ2−(z1−zˉ1)d11⋅⋅⋅∣(zn−zˉn)∣=dnnχ2−[(z1−zˉ1)2d11+(z2−zˉ2)2d22+⋅⋅⋅+(zn−1−zˉn−1)2d(n−1)(n−1)](15)
因此可以确定
z
\pmb{z}
z的搜索空间:
{
z
ˉ
1
−
χ
2
d
11
≤
z
1
≤
z
ˉ
1
+
χ
2
d
11
z
ˉ
2
−
χ
2
−
(
z
1
−
z
ˉ
1
)
d
11
d
22
≤
z
2
≤
z
ˉ
2
+
χ
2
−
(
z
1
−
z
ˉ
1
)
d
11
d
22
⋅
⋅
⋅
z
ˉ
n
−
χ
2
−
[
(
z
1
−
z
ˉ
1
)
2
d
11
+
(
z
2
−
z
ˉ
2
)
2
d
22
+
⋅
⋅
⋅
+
(
z
n
−
1
−
z
ˉ
n
−
1
)
2
d
(
n
−
1
)
(
n
−
1
)
]
d
n
n
≤
z
n
≤
z
ˉ
n
+
χ
2
−
[
(
z
1
−
z
ˉ
1
)
2
d
11
+
(
z
2
−
z
ˉ
2
)
2
d
22
+
⋅
⋅
⋅
+
(
z
n
−
1
−
z
ˉ
n
−
1
)
2
d
(
n
−
1
)
(
n
−
1
)
]
d
n
n
(16)
\left\{ \begin{aligned} \bar{z}_1 - \sqrt{\frac{\chi^2}{d_{11}}} &\leq z_1 \leq \bar{z}_1 + \sqrt{\frac{\chi^2}{d_{11}}}\\ \bar{z}_2 - \sqrt{\frac{\chi^2 -(z_1-\bar{z}_1) d_{11}}{d_{22}}} &\leq z_2 \leq \bar{z}_2 + \sqrt{\frac{\chi^2 -(z_1-\bar{z}_1) d_{11}}{d_{22}}}\\ &···\\ \bar{z}_n - \sqrt{\frac{\chi^2 -[(z_1-\bar{z}_1)^2 d_{11} + (z_2-\bar{z}_2)^2 d_{22}+···+(z_{n-1}-\bar{z}_{n-1})^2 d_{(n-1)(n-1)}]}{d_{nn}}} &\leq z_n \leq \bar{z}_n + \sqrt{\frac{\chi^2 -[(z_1-\bar{z}_1)^2 d_{11} + (z_2-\bar{z}_2)^2 d_{22}+···+(z_{n-1}-\bar{z}_{n-1})^2 d_{(n-1)(n-1)}]}{d_{nn}}} \end{aligned} \right. \tag{16}
⎩
⎨
⎧zˉ1−d11χ2zˉ2−d22χ2−(z1−zˉ1)d11zˉn−dnnχ2−[(z1−zˉ1)2d11+(z2−zˉ2)2d22+⋅⋅⋅+(zn−1−zˉn−1)2d(n−1)(n−1)]≤z1≤zˉ1+d11χ2≤z2≤zˉ2+d22χ2−(z1−zˉ1)d11⋅⋅⋅≤zn≤zˉn+dnnχ2−[(z1−zˉ1)2d11+(z2−zˉ2)2d22+⋅⋅⋅+(zn−1−zˉn−1)2d(n−1)(n−1)](16)
5、恢复模糊度
通过(16)依次搜索的到最优的变换后的模糊度
z
\pmb{z}
z后,根据(2)可得到变换前的模糊度参数
a
\pmb{a}
a的固定解:
a
=
Z
−
T
z
(17)
\pmb{a} = Z^{-T}\pmb{z}\tag{17}
a=Z−Tz(17)