背景
实际的工业过程通常表现出时变特性 , 用主元分析法(PCA)建立的模型随着时间的推移将出现明显的偏差 , 为此 , 需及时对模型进行更新。Li Weihua (2000)提出一种自适应的递推主元分析监控算法,对数据矩阵的均值、标准差进行递推更新,从而递推求出规范化后的数据矩阵 , 进而得出自相关阵的更新公式,最后利用秩 1 更新得出负荷
向量和得分向量。
遗忘因子的思想就是“厚今薄古”,对于新产生数据,我们认为相比于旧的数据更具有价值,给予更高的权重;
递推更新
参数的递推更新包括**均值的更新**、**方差的更新**、**相关性矩阵的更新**这三部分。
均值的更新比较证明,这里就不具体叙述了
b k + 1 = N k N k + 1 b k + 1 N k + 1 X n k + 1 0 l k + 1 \bf {b_{k+1}}=\frac{N_k}{N_{k+1}}b_{k}+\frac{1}{N_{k+1}}\bf X^0_{n_{k+1}}\bf l_{k+1} bk+1=Nk+1Nkbk+Nk+11Xnk+10lk+1
方差的更新
σ k + 1 , i 2 = N k − 1 N k + 1 − 1 σ k + 1 , i 2 + 1 N k + 1 − 1 Δ b k + 1 2 ( i ) + 1 N k + 1 − 1 ∥ X n k + 1 0 ( : , i ) − l n k + 1 b k + 1 ( i ) ∥ \sigma_{k+1,i}^2=\frac{N_k-1}{N_{k+1}-1}\sigma_{k+1,i}^2+\frac{1}{N_{k+1}-1}\Delta {\bf b_{k+1}^2(i)}+\frac{1}{N_{k+1}-1}\|{\bf {X^0_{n_{k+1}}(:,i)- l_{n_{k+1}}}} b_{k+1}(i)\| σk+1,i2=Nk+1−1Nk−1σk+1,i2+Nk+1−11Δbk+12(i)+Nk+1−11∥Xnk+10(:,i)−lnk+1bk+1(i)∥
自相关阵的更新
R k + 1 = N k − 1 N k + 1 − 1 Σ k + 1 − 1 Σ k R k Σ k Σ k + 1 − 1 + N k N k + 1 − 1 Σ k + 1 − 1 Δ b K + 1 Δ b k + 1 T Σ k + 1 − 1 + 1 N k + 1 − 1 X n k + 1 T X n k + 1 \bf R_{k+1}=\frac{N_k-1}{N_{k+1}-1}\Sigma_{k+1}^{-1}\Sigma_{k}\bf R_{k}\Sigma_{k}\Sigma_{k+1}^{-1}+\frac{N_k}{N_{k+1}-1}\Sigma_{k+1}^{-1}\Delta b_{K+1}\Delta b_{k+1}^T\Sigma_{k+1}^{-1}+\frac{1}{N_{k+1}-1} \bf X^T_{n_{k+1}}X_{n_{k+1}} Rk+1=Nk+1−1Nk−1Σk+1−1ΣkRkΣkΣk+1−1+Nk+1−1NkΣk+1−1ΔbK+1Δbk+1TΣk+1−1+Nk+1−11Xnk+1TXnk+1
带遗忘因子自适应更新
遗忘因子的思想来自于控制领域的自适应系统辨识;f越小 ,对过去数据遗忘更“严重”。
当新数据来时,记为
均值的更新
均值的更新可以理解未等于过去的数据的均值乘以过去的权重f 加上现在的数据的均值乘以现在的权重(1-f).
b k + 1 = f b k + ( 1 − f ) 1 n k + 1 X n k + 1 0 l k + 1 {\bf {b_{k+1}}}=f{\bf b_{k}}+(1-f)\frac{1}{n_{k+1}}\bf {X^0_{n_{k+1}}} \bf l_{k+1} bk+1=fbk+(1−f)nk+11Xnk+10lk+1
方差的更新
σ k + 1 , i 2 = f ( σ k + 1 , i 2 + N k Δ b k + 1 2 ( i ) ) + ( 1 − f ) 1 n k + 1 ∥ X n k + 1 0 ( : , i ) − l n k + 1 b k + 1 ( i ) ∥ {\sigma_{k+1,i}^2=f(\sigma_{k+1,i}^2+N_{k}\Delta {\bf b_{k+1}^2(i)})+(1-f)\frac{1}{n_{k+1}}\|{\bf {X^0_{n_{k+1}}(:,i)- l_{n_{k+1}}}} b_{k+1}(i)\|} σk+1,i2=f(σk+1,i2+NkΔbk+12(i))+(1−f)nk+11∥Xnk+10(:,i)−lnk+1bk+1(i)∥
自相关阵的更新
R
k
+
1
=
f
Σ
k
+
1
−
1
(
Σ
k
R
k
Σ
k
+
Δ
b
K
+
1
Δ
b
k
+
1
T
)
Σ
k
+
1
−
1
+
(
1
−
f
)
1
n
k
+
1
X
n
k
+
1
T
X
n
k
+
1
{\bf R_{k+1}}=f{\bf\Sigma_{k+1}^{-1}(\Sigma_{k}R_{k}\Sigma_{k}+\Delta b_{K+1}\Delta b_{k+1}^T)\Sigma_{k+1}^{-1}}+(1-f)\frac{1}{n_{k+1}} \bf X^T_{n_{k+1}}X_{n_{k+1}}
Rk+1=fΣk+1−1(ΣkRkΣk+ΔbK+1Δbk+1T)Σk+1−1+(1−f)nk+11Xnk+1TXnk+1
Remark:
1. 当遗忘因子
f
=
N
k
N
k
+
1
f=\frac{N_k}{N_{k+1}}
f=Nk+1Nk 时,此时近似退化成一般递推形式,认为每个样本等权重;
2. 遗忘因子范围
0
<
f
<
N
k
N
k
+
1
<
1
0<f<\frac{N_k}{N_{k+1}}<1
0<f<Nk+1Nk<1 ,当
N
k
N
k
+
1
<
f
\frac{N_k}{N_{k+1}}<f
Nk+1Nk<f时,此时是“厚古薄今”
细心的你会注意到,
参考文献
[1]: Li, W., Yue, H.H., Valle-Cervantes, S., Qin, S.J., 2000. Recursive PCA for adaptiveprocess monitoring. J. Process Control 10, 471–486
[2]: 程龙, 王桂增. 改进的递推主元分析及递推主元回归算法[J]. 控制工程, 2010(01):9-12.