随着对数据驱动的工业检测与诊断方法的逐步深入,过程监测的多元统计需要总结的东西越来越多,那么今天来整理一下。
内容较多,理论较复杂,建议细品,你品!最好推一遍~
It’s time to conclude PLS!!!
PCA和偏最小二乘(PLS)是从数据中描述正常情况的首选方法。
天气热,冰凉一下吧~
偏最小二乘多用于寻求两个矩阵(X和Y)的基本关系,也就是一种在这两个向量空间中对协方差结构建模的隐变量方法。
偏最小二乘模型将试图找到X空间的多维方向来解释Y空间方差最大的多维方向。
偏最小二乘回归特别适合当预测矩阵比观测的有更多变量,以及X的值中有多重共线性的时候。通过投影预测变量和观测变量到一个新空间来寻找一个线性回归模型。
偏最小二乘回归 ≈ ≈ ≈ 多元线性回归分析 + + + 典型相关分析 + + + 主成分分析
与传统多元线性回归模型相比,偏最小二乘回归的特点是:
(1)能够在自变量存在严重多重相关性的条件下进行回归建模;
(2)允许在样本点个数少于变量个数的条件下进行回归建模;
(3)偏最小二乘回归在最终模型中将包含原有的所有自变量;
(4)偏最小二乘回归模型更易于辨识系统信息与噪声(甚至一些非随机性的噪声);
(5)在偏最小二乘回归模型中,每一个自变量的回归系数将更容易解释。
在计算方差和协方差时,求和号前面的系数有两种取法:当样本点集合是随机抽取得到时,应该取1/(n-1);如果不是随机抽取的,这个系数可取1/n。
在过程监控中,PLS类型的监控,包括非线性PLS,使用质量数据指导过程数据的分解,并提取与产品质量最相关的潜在变量。由于使用了质量数据,在质量相关性方面的诊断能力得到了增强,误报率降低。
首先让我们回顾一下 CCA 的知识。在CCA中,我们将X和Y分别投影到直线得到U和V,然后计算u和v的Pearson系数(也就是Corr(u,v)),认为相关度越大越好。形式化表示:
M a x : R ( U , V ) = a i T C o v ( x , y ) b j Max: R_(U,V)=a_i^TCov(x,y)b_j Max:R(U,V)=aiTCov(x,y)bj
S . t : V a r ( U ) = V a r ( V ) = 1 S.t: Var(U)=Var(V)=1 S.t:Var(U)=Var(V)=1
其中a和b就是所需要的投影方向,只需要求得 R ( U , V ) m a x R_(U,V)_{max} R(U,V)max即可。其中运用拉格朗日乘数法求解,具体可参考上面CCA链接。
关于CCA的缺点:对特征的处理方式比较粗糙,用的是线性回归来表示U和X的关系,U也是X在某条线上的投影,因此会存在线性回归的一些缺点。我们想把PCA的成分提取技术引入CCA,使得U和V尽可能更多的携带样本的最主要信息。Most important thing!CCA是寻找X和Y投影后U和V的关系,通过系数矩阵求其最优解使得 R ( U , V ) R_(U,V) R(U,V)最大,显然不能通过该关系来还原出X和Y,也就是找不到X到Y的直接映射。这也是使用CCA预测时大多配上KNN的原由吧。(关于KNN算法后续本菜研究后更新)
PLS兼顾了PCA和CCA,解决了X和Y在投影上映射问题。
如上图所示,假设对于CCA,X的投影直线是 p 1 p_1 p1,那么CCA只考虑了X的绿色点与Y在某条直线上投影结果的相关性,丢弃了X和Y在其他维度上的信息,因此不存在X和Y的映射。
然而,PLS回归会在CCA的基础上引用了PCA投影的办法,使得丢失部分得以映射。图上的原始蓝色点表示的是绿色点和红色点的叠加,故先对X的绿点 t 1 t_1 t1对Y做线性回归, Y = t 1 r 1 T + F Y=t_1r_1^T+F Y=t1r1T+F;同理,再对X的红色点 t 2 t_2 t2对Y的剩余部分 F F F做线性回归, F = t 2 r 2 T + F ′ F=t_2r_2^T+F' F=t2r2T+F′;这样Y就是两部分回归的叠加。
这样的话,当我们接受一个新 X ′ X' X′的时候,我们就会得到绿色点 t 1 t_1 t1和红色点 t 2 t_2 t2;然后,再通过两者的 r r r即可求得还原出 Y Y Y。从而可实现了X到Y的映射。
简而言之,为了实现偏最小二乘回归的基本思想,要求p1和q1的协方差最大,即求解下面优化后的目标函数:
M a x : < X p 1 , Y q 1 > S . t . : ∣ ∣ p 1 ∣ ∣ = 1 , ∣ ∣ q 1 ∣ ∣ = 1 Max:
\\ S.t.:||p_1||=1,||q_1||=1 Max:<Xp1,Yq1>S.t.:∣∣p1∣∣=1,∣∣q1∣∣=1
看似比CCA的简单,这里附上CCA的目标函数:
M a x : R ( U , V ) = Cov ( U , V ) Var [ U ] Var [ V ] = C o v ( U , V ) = t k T C o v ( A , B ) h k = t k T Σ 12 h k S . t . : V a r ( U k ) = V a r ( t k T A ) = t k T Σ 11 t k = 1 , V a r ( V k ) = V a r ( h k T A ) = h k T Σ 22 h k = 1 Max:R_{(U,V)}=\frac{\operatorname{Cov}(U, V)}{\sqrt{\operatorname{Var}[U] \operatorname{Var}[V]}}=Cov(U,V)={t_k}^TCov(A,B)h_k={t_k}^T\Sigma_{12} h_k\\ S.t.:Var(U_k)=Var({t_k^T}{A})={t_k^T}\Sigma_{11}t_k=1, Var(V_k)=Var({h_k^T}{A})={h_k^T}\Sigma_{22}h_k=1 Max:R(U,V)=Var[U]Var[V]Cov(U,V)=Cov(U,V)=tkTCov(A,B)hk=tkTΣ12hkS.t.:Var(Uk)=Var(tkTA)=tkTΣ11tk=1,Var(Vk)=Var(hkTA)=hkTΣ22hk=1
上面CCA是一次求解的过程,而我们的PLS回归只是对目前的第一主成分做了优化计算,剩下的主成分还得再计算。
关于优化的目标求解的办法,和CCA一样,也是引用了拉格朗日乘数法来求解。(下面给出详细计算步骤)
首先,引入拉格朗日乘子:
L = p 1 T X T Y q 1 − λ 2 ( p 1 T p 1 − 1 ) − θ 2 ( q 1 T q 1 − 1 ) \mathcal{L}=p_{1}^{T} X^{T} Y q_{1}-\frac{\lambda}{2}\left(p_{1}^{T} p_{1}-1\right)-\frac{\theta}{2}\left(q_{1}^{T} q_{1}-1\right) L=p1TXTYq1−2λ(p1Tp1−1)−2θ(q1Tq1−1)
分别对 p 1 p_1 p1和 q 1 q_1 q1求偏导,
∂ L ∂ p 1 = X τ Y q 1 − λ p 1 = 0 ∂ L ∂ q 1 = Y τ X p 1 − θ q 1 = 0 \begin{array}{l} \frac{\partial \mathcal{L}}{\partial p_{1}}=X^{\tau} Y q_{1}-\lambda p_{1}=0 \\\\ \frac{\partial \mathcal{L}}{\partial q_{1}}=Y^{\tau} X p_{1}-\theta q_{1}=0 \end{array} ∂p1∂L=XτYq1−λp1=0∂q1∂L=YτXp1−θq1=0
和CCA一样,可求得 λ \lambda λ和 θ \theta θ相等。
将 λ − 1 X τ Y q 1 = p 1 \lambda^{-1}X^{\tau} Y q_{1}= p_{1} λ−1XτYq1=p1代入上面第二式子,可得
Y τ X X τ Y q 1 = λ 2 q 1 Y^{\tau}XX^{\tau} Y q_{1}= \lambda^{2} q_{1} YτXXτYq1=λ2q1
两边均乘以 p 1 p_1 p1或 q 1 q_1 q1,再利用约束条件 ∣ ∣ p 1 ∣ ∣ = 1 , ∣ ∣ q 1 ∣ ∣ = 1 ||p_1||=1,||q_1||=1 ∣∣p1∣∣=1,∣∣q1∣∣=1,可得:
X τ Y Y τ X p 1 = λ 2 p 1 X^{\tau}YY^{\tau} X p_{1}= \lambda^{2} p_{1} XτYYτXp1=λ2p1
故上式 λ 2 \lambda^{2} λ2则为 X τ Y Y τ X p 1 X^{\tau}YY^{\tau} X p_{1} XτYYτXp1的特征值, p 1 p_1 p1为相应的单位特征向量, q 1 q_1 q1一样。
求得 p 1 p_1 p1、 q 1 q_1 q1这样 ⟨ X p 1 , Y q 1 ⟩ → p 1 τ X τ Y q 1 → p 1 τ ( λ p 1 ) → λ \left\langle X p_{1}, Y q_{1}\right\rangle \rightarrow p_{1}^{\tau} X^{\tau} Y q_{1} \rightarrow p_{1}^{\tau}\left(\lambda p_{1}\right) \rightarrow \lambda ⟨Xp1,Yq1⟩→p1τXτYq1→p1τ(λp1)→λ可得到最优解。
可见 p 1 p_1 p1和 q 1 q_1 q1是投影方差最大和两者相关性最大上的权衡,而CCA只是相关性上最大化。
到此,我们可以得到 u 1 、 v 1 u_1、v_1 u1、v1值,这里的 u 1 、 v 1 u_1、v_1 u1、v1在图上面只是表示为绿色点,如果这样就完成求解,那和CCA的过程一样,得不到X到Y的映射。
让我们回到上面的介绍,从新建立我们的回归方程:
X = u 1 c 1 T + E Y = v 1 d 1 T + G \begin{array}{l} X=u_{1} c_{1}^{T}+E \\\\ Y=v_{1} d_{1}^{T}+G \end{array} X=u1c1T+EY=v1d1T+G
这里的 c c c和 d d d不同于上面的 p p p和 q q q,但是它们之间有一定联系,待会下面证明。其中, E E E和 G G G是残差矩阵。
然后,进行以下几步操作:
到此,所有的PLSR回归模型的计算结束,下面再度请出我的灵魂画手,来言简意赅的总结一下上述流程:
虽然类似PCA的过程监控可以检测和诊断过程数据中的异常情况,但它无法判断检测到的异常情况是否会导致产品质量问题。这是PCA从业者经常提出的投诉,如监测和干扰警报,若检测到的过程故障最终不会导致质量问题,则会发生。
为了检测与质量相关的过程问题,PLS模型用于利用质量输出数据中的信息划分输入数据空间,如下图所示。PLS还将输入空间划分为以PLS分数为特征的主子空间和与分数互补的剩余子空间。早期文献表明,主子空间由T2监控,T2被认为反映了与Y相关的主要变化,剩余子空间由Q监控,Q被认为包含与输出Y无关的变化。
在过程监控中建立PLS模型。收集正常过程和质量数据,形成输入矩阵 X ∈ R N × m \mathbf{X} \in \mathfrak{R}^{N×m} X∈RN×m 和一个输出矩阵 Y ∈ R N × p \mathbf{Y} \in \mathfrak{R}^{N×p} Y∈RN×p 和 p p p 个质量变量。
PLS 将 X X X 和 Y Y Y 投影到由 l l l 潜变量定义的低维空间,如下所示:
{ X = ∑ i = 1 l t i p i T + E = T P T + E Y = ∑ i = 1 l t i q i T + F = T Q T + F (1) \left\{\begin{array}{l} \mathbf{X}=\sum_{i=1}^{l} \mathbf{t}_{i} \mathbf{p}_{i}^{T}+\mathbf{E}=\mathbf{T P}^{T}+\mathbf{E} \\ \mathbf{Y}=\sum_{i=1}^{l} \mathbf{t}_{i} \mathbf{q}_{i}^{T}+\mathbf{F}=\mathbf{T} \mathbf{Q}^{T}+\mathbf{F} \end{array}\right.\tag{1} { X=∑i=1ltipiT+E=TPT+EY=∑i=1ltiqiT+F=TQT+F(1)
其中 T = [ t 1 , . . . , t l ] T=[t_1,...,t_l] T=[t1,...,tl]是潜在得分向量, P = [ p 1 , . . . , p l ] P=[p_1,...,p_l] P=[p1,...,pl]和 Q = [ q 1 , . . . , q l ] Q=[q_1,...,q_l] Q=[q1,...,ql]分别为 X \mathbf{X} X和 Y \mathbf{Y} Y的荷载。 E \mathbf{E} E和 F \mathbf{F} F是对应于 X \mathbf{X} X和 Y \mathbf{Y} Y的PLS残差。潜在因素 l l l 的数量通常通过交叉验证确定,交叉验证根据排除在训练数据之外的数据给出最大预测能力。
从数据顺序计算潜在向量 t i t_i ti,以便最大化缩小的输入数据之间的协方差, X i = X i − 1 − t i − 1 p i − 1 T ; X 1 = X \mathbf{X}_{i}=\mathbf{X}_{i-1}-\mathbf{t}_{i-1} \mathbf{p}_{i-1}^{T} ; \mathbf{X}_{1}=\mathbf{X} Xi=Xi−1−ti−1pi−1T;X1=X,并输出每个因子的数据 Y \mathbf{Y} Y。其中,权重向量 w i \mathbf{w_i} wi用于计算得分 t i = X i w i \mathbf{t_i}=\mathbf{X_i}{w_i} ti=Xiwi。
得分可以用原始数据 X \mathbf{X} X表示为,
T = X R (2) \mathbf{T}=\mathbf{X}\mathbf{R}\tag{2} T=XR(2)
其中, R = W ( P T W ) − 1 \mathbf{R}=\mathbf{W(P^TW)^{-1}} R=W(PTW)−1,由此可得以下关系,
R T R = R T P = I l (3) \mathbf{R^TR=R^TP=I_l} \tag{3} RTR=RTP=Il(3)
为了计算新数据样本x上的模型估计值和残差,PLS模型将斜投影引入输入数据空间
x ^ = P R T x (4) \hat\mathbf{x}=\mathbf{PR^Tx}\tag{4} x^=PRTx(4)
y ^ = Q R T x (5) \hat\mathbf{y}=\mathbf{QR^Tx}\tag{5} y^=QRTx(5)
x ~ = ( I − P R T ) x (6) \tilde\mathbf{x}=\mathbf{(I-PR^T)x}\tag{6} x~=(I−PRT)x(6)
其中 x ^ \hat \mathbf{x} x^ 和 x ~ \tilde\mathbf{x} x~ 是 x \mathbf{x} x 的斜投影,这使得它们不同于正交PCA投影。
最近读的一篇Paper提出了一种并行PLS(CPLS)算法和相关监测指标,以提供对输出变化的完整监测,并将输入数据空间简洁地分解为输出相关子空间和输入相关子空间。
下面具体介绍模型建立的思路。
为了提供质量数据和过程操作数据的完整监控方案,提出了一种并行PLS(CPLS)模型,以实现三个目标:(i)从标准PLS投影中提取与输出的可预测变化直接相关的分数,形成协变量子空间(CVS)(ii)将不可预测的输出变化进一步投影到输出主子空间(OPS)和输出剩余子空间(ORS),以监测这些子空间中的异常变化;和(iii)将与预测输出无关的输入变化进一步投影到输入主子空间(IPS)和输出子空间(IRS),以监测这些子空间中的异常变化。
基于CPLS算法,数据矩阵X和Y分解如下:
X = U c R c † + T x P x T + X ~ Y = U c Q c T + T y P y T + Y ~ \begin{array}{l} \mathbf{X}=\mathbf{U}_{c} \mathbf{R}_{c}^{\dagger}+\mathbf{T}_{x} \mathbf{P}_{x}^{T}+\widetilde{\mathbf{X}} \\ \mathbf{Y}=\mathbf{U}_{c} \mathbf{Q}_{c}^{T}+\mathbf{T}_{y} \mathbf{P}_{y}^{T}+\widetilde{\mathbf{Y}} \end{array} X=UcRc†+TxPxT+X Y=UcQcT+TyPyT+Y
CPLS模型以负载Rc、Px、Qc和Py为特征。分数Uc表示X中与可预测部分 Y ~ \tilde{Y} Y~相关的协变,TX表示X中对预测Y无效的变化,Ty表示X未预测的Y中的变化。
x = R c † T u c + P x t x + x ~ y = Q c u c + Q y t y + y ~ \begin{array}{l} \boldsymbol{x}=\mathbf{R}_{c}^{\dagger T} \boldsymbol{u}_{c}+\mathbf{P}_{x} \boldsymbol{t}_{x}+\tilde{\boldsymbol{x}} \\ \boldsymbol{y}=\mathbf{Q}_{c} \boldsymbol{u}_{c}+\mathbf{Q}_{y} \boldsymbol{t}_{y}+\tilde{\boldsymbol{y}} \end{array} x=Rc†Tuc+Pxtx+x~y=Qcuc+Qyty+y~
给出了CPLS的模型关系。
根据上面给出的CPLS模型,设计故障监测指标非常简单。输出相关得分可通过以下方法进行监控:
T c 2 = u c T Λ c − 1 u c T_{c}^{2}=\boldsymbol{u}_{c}^{T} \boldsymbol{\Lambda}_{c}^{-1} \boldsymbol{u}_{c} Tc2=ucTΛc−1uc
式中, Λ − 1 \Lambda^{-1} Λ−1是根据正常数据计算的样本协方差。
输入相关分数和残差可通过以下 T 2 T^2 T2统计量和Q-统计量进行监控:
T x 2 = t x T Λ x − 1 t x Q x = ∥ x ~ ∥ 2 \begin{array}{l} T_{x}^{2}=\boldsymbol{t}_{x}^{T} \boldsymbol{\Lambda}_{x}^{-1} \boldsymbol{t}_{x} \\ \\ Q_{x}=\|\tilde{\boldsymbol{x}}\|^{2} \end{array} Tx2=txTΛx−1txQx=∥x~∥2
式中, Λ x \Lambda_{x} Λx是根据正常数据计算的 t x \mathbf{t_x} tx的样本协方差。
不可预测的输出分数和残差可分别通过以下 T 2 T^2 T2统计量和Q-统计量进行监控:
T y 2 = t y T Λ y − 1 t y Q y = ∥ y ~ ∥ 2 \begin{array}{l} T_{y}^{2}=\boldsymbol{t}_{y}^{T} \boldsymbol{\Lambda}_{y}^{-1} \boldsymbol{t}_{y} \\ \\ Q_{y}=\|\tilde{\boldsymbol{y}}\|^{2} \end{array} Ty2=tyTΛy−1tyQy=∥y~∥2
其中 Λ y \Lambda_{y} Λy是根据正常数据计算的 t y \mathbf{t_y} ty样本协方差。
为了根据上述指标进行监测,应根据正常数据的统计数据计算控制限值。监测程序概述如下。
将原始数据缩放为零平均值和单位方差,得到X和Y。使用(1)对X和Y执行PLS,得出T、Q和R。PLS因子l的数量通过交叉验证确定。
通过 Y ^ = T Q T \hat {Y}=\mathbf{TQ^T} Y^=TQT形成可预测输出,并执行奇异值分解(SVD)
Y ^ = Y c D c V c T = U c Q c T \hat{Y}=\mathbf{Y_{c}D_{c}V_{c}^{T}}=\mathbf{U_c}\mathbf{Q}_{c}^{T} Y^=YcDcVcT=UcQcT
式中, Q c = V c D c \mathbf{Q}_{c}=\mathbf{V}_{c}\mathbf{D}_{c} Qc=VcDc包括所有 l c l_{c} lc降序非零奇异值和相应的右奇异向量。由于 V c \mathbf{V_c} Vc是正交的,
U c = Y ^ V c D c − 1 = X R Q T V c D c − 1 ≡ X R c \mathbf{U}_{c}=\widehat{\mathbf{Y}} \mathbf{V}_{c} \mathbf{D}_{c}^{-1}=\mathbf{X R Q}^{T} \mathbf{V}_{c} \mathbf{D}_{c}^{-1} \equiv \mathbf{X} \mathbf{R}_{c} Uc=Y VcDc−1=XRQTVcDc−1≡XRc
其中, R c = R Q T V c D c − 1 \mathbf{R_c}=\mathbf{RQ^{T}V_{c}D_{c}^{-1}} Rc=RQTVcDc−1.
形成不可预测的输出 Y c ^ = Y − U c Q c T \hat\mathbf{Y_{c}}=\mathbf{Y-U_{c}Q_{c}^{T}} Yc^=Y−UcQcT,和使用 l y l_{y} ly主成分执行PCA
Y c ~ = T y P y T + Y ~ \tilde\mathbf{Y_{c}}=\mathbf{T_{y}P_{y}^{T}+\tilde\mathbf{Y}} Yc~=TyPyT+Y~
以生成输出成分得分 T y \mathbf{T_y} Ty和输出残差 Y ~ \tilde\mathbf{Y} Y~。
通过投影在Span{ R c \mathbf{R_c} Rc}的正交补上形成输出无关输入; X ~ c = X − U c R c † \widetilde{\mathbf{X}}_{c}=\mathbf{X}-\mathbf{U}_{c} \mathbf{R}_{c}^{\dagger} X c=X−UcRc†,其中 R c † = ( R c T R c ) − 1 R c T \mathbf{R}_{c}^{\dagger}=\mathbf{(R_{c}^{T}R_{c})^{-1}R_{c}^{T}} Rc†=(RcTRc)−1RcT,并对 l x l_{x} lx主成分进行主成分分析
X ~ c = T x P x T + X ~ \mathbf{\tilde X_{c}=T_{x}P_{x}{T}+\tilde X} X~c=TxPxT+X~
得出输入主成分得分系数 T x T_{x} Tx和输入残差 X ~ \tilde X X~。
❤坚持读Paper,坚持做笔记❤!!!
To Be No.1哈哈哈哈
创作不易,过路能❤关注、收藏、点个赞❤三连就最好不过了
ღ( ´・ᴗ・` )
❤
『
理性的人追求的并非快乐,而只是避免痛苦。
』