偏最小二乘(Partial Least Squares,PLS)原理及模型建立
随着对数据驱动的工业检测与诊断方法的逐步深入,过程监测的多元统计需要总结的东西越来越多,那么今天来整理一下。
内容较多,理论较复杂,建议细品,你品!最好推一遍~
It’s time to conclude PLS!!!
PCA和偏最小二乘(PLS)是从数据中描述正常情况的首选方法。
天气热,冰凉一下吧~
偏最小二乘法(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)),认为相关度越大越好。形式化表示:
Max:R(U,V)=aiTCov(x,y)bjMax: R_(U,V)=a_i^TCov(x,y)b_jMax:R(U,V)=aiTCov(x,y)bj
S.t:Var(U)=Var(V)=1S.t: Var(U)=Var(V)=1S.t:Var(U)=Var(V)=1
其中a和b就是所需要的投影方向,只需要求得 R(U,V)maxR_(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的投影直线是p1p_1p1,那么CCA只考虑了X的绿色点与Y在某条直线上投影结果的相关性,丢弃了X和Y在其他维度上的信息,因此不存在X和Y的映射。
然而,PLS回归会在CCA的基础上引用了PCA投影的办法,使得丢失部分得以映射。图上的原始蓝色点表示的是绿色点和红色点的叠加,故先对X的绿点t1t_1t1对Y做线性回归,Y=t1r1T+FY=t_1r_1^T+FY=t1r1T+F;同理,再对X的红色点t2t_2t2对Y的剩余部分FFF做线性回归,F=t2r2T+F′F=t_2r_2^T+F'F=t2r2T+F′;这样Y就是两部分回归的叠加。
这样的话,当我们接受一个新X′X'X′的时候,我们就会得到绿色点t1t_1t1和红色点t2t_2t2;然后,再通过两者的rrr即可求得还原出YYY。从而可实现了X到Y的映射。
PLS算法
- 将X和Y经过标准化(包括减均值、除标准差等)(此操作可参考 这里 的CCA算法)。
- 设X的第一个主成分为p1p_1p1,Y的第一个主成分为q1q_1q1,两者都经过单位化。(注意:这里的主成分并不是通过PCA得到的主成分)(~~菜鸡解释:~~这里主成分可简单的看成CCA系数矩阵中的第一系数成分,如a1a_1a1)。
- u1=Xp1,v1=Yq1u_1=Xp_1,v_1=Yq_1u1=Xp1,v1=Yq1,这和CCA几乎一样,可得下面的期望的约束条件。
- Var(u1)→Max,Var(v1)→MaxVar(u_1)\rightarrow Max,Var(v_1)\rightarrow MaxVar(u1)→Max,Var(v1)→Max,代表在主成分分量上的投影,得到了期望的方差最大化值(貌似这样解释有点奇怪)。
- R(u1,v1)→MaxR_(u_1,v_1)\rightarrow MaxR(u1,v1)→Max,和CCA一样。
- 综合以上条件,可得Cov(u1,v1)=Var(u1)Var(v1)R(u1,v1)→MaxCov(u_1,v_1)=\sqrt{Var(u_1)Var(v_1)}R_(u_1,v_1) \rightarrow MaxCov(u1,v1)=Var(u1)Var(v1)R(u1,v1)→Max。
简而言之,为了实现偏最小二乘回归的基本思想,要求p1和q1的协方差最大,即求解下面优化后的目标函数:
Max:<Xp1,Yq1>S.t.:∣∣p1∣∣=1,∣∣q1∣∣=1Max:<Xp_1,Yq_1> \\ S.t.:||p_1||=1,||q_1||=1 Max:<Xp1,Yq1>S.t.:∣∣p1∣∣=1,∣∣q1∣∣=1
看似比CCA的简单,这里附上CCA的目标函数:
Max:R(U,V)=Cov(U,V)Var[U]Var[V]=Cov(U,V)=tkTCov(A,B)hk=tkTΣ12hkS.t.:Var(Uk)=Var(tkTA)=tkTΣ11tk=1,Var(Vk)=Var(hkTA)=hkTΣ22hk=1Max: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=p1TXTYq1−λ2(p1Tp1−1)−θ2(q1Tq1−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)
分别对p1p_1p1和q1q_1q1求偏导,
∂L∂p1=XτYq1−λp1=0∂L∂q1=YτXp1−θq1=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θ相等。
将λ−1XτYq1=p1\lambda^{-1}X^{\tau} Y q_{1}= p_{1}λ−1XτYq1=p1代入上面第二式子,可得
YτXXτYq1=λ2q1Y^{\tau}XX^{\tau} Y q_{1}= \lambda^{2} q_{1}YτXXτYq1=λ2q1
两边均乘以p1p_1p1或q1q_1q1,再利用约束条件∣∣p1∣∣=1,∣∣q1∣∣=1||p_1||=1,||q_1||=1∣∣p1∣∣=1,∣∣q1∣∣=1,可得:
XτYYτXp1=λ2p1X^{\tau}YY^{\tau} X p_{1}= \lambda^{2} p_{1}XτYYτXp1=λ2p1
故上式λ2\lambda^{2}λ2则为XτYYτXp1X^{\tau}YY^{\tau} X p_{1}XτYYτXp1的特征值,p1p_1p1为相应的单位特征向量,q1q_1q1一样。
求得p1p_1p1、q1q_1q1这样⟨Xp1,Yq1⟩→p1τXτYq1→p1τ(λp1)→λ\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)→λ可得到最优解。
可见p1p_1p1和q1q_1q1是投影方差最大和两者相关性最大上的权衡,而CCA只是相关性上最大化。
到此,我们可以得到u1、v1u_1、v_1u1、v1值,这里的u1、v1u_1、v_1u1、v1在图上面只是表示为绿色点,如果这样就完成求解,那和CCA的过程一样,得不到X到Y的映射。
PLSR 回归算法
让我们回到上面的介绍,从新建立我们的回归方程:
X=u1c1T+EY=v1d1T+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
这里的ccc和ddd不同于上面的ppp和qqq,但是它们之间有一定联系,待会下面证明。其中,EEE和GGG是残差矩阵。
然后,进行以下几步操作:
- Y=u1r1T+FY=u_{1} r_{1}^{T}+FY=u1r1T+F,使用u1u_1u1对YYY进行回归,先利用XXX的主成分对YYY进行回归。
- 使用最小二乘法,计算c,d,rc,d,rc,d,r分别为:
c1=XTu1∥u1∥2d1=Yτv1∥v1∥2r1=Yτu1∥u1∥2\begin{array}{l} c_{1}=\frac{X^{T} u_{1}}{\left\|u_{1}\right\|^{2}} \\\\ d_{1}=\frac{Y^{\tau} v_{1}}{\left\|v_{1}\right\|^{2}} \\\\ r_{1}=\frac{Y^{\tau} u_{1}}{\left\|u_{1}\right\|^{2}} \end{array}c1=∥u1∥2XTu1d1=∥v1∥2Yτv1r1=∥u1∥2Yτu1
实际上这一步计算出了各个投影向量。
其中p1p_1p1和c1c_1c1的关系是:
p1Tc1=p1TXτu1∥u1∥2=u1Tu1∥u1∥2=1p_{1}^{T} c_{1}=p_{1}^{T} \frac{X^{\tau} u_{1}}{\left\|u_{1}\right\|^{2}}=\frac{u_{1}^{T} u_{1}}{\left\|u_{1}\right\|^{2}}=1p1Tc1=p1T∥u1∥2Xτu1=∥u1∥2u1Tu1=1
再谈谈p1p_1p1和c1c_1c1的关系,虽然这里将c1c_1c1替换成p1p_1p1可以满足等式要求和几何要求,而且p1p_1p1就是X投影出u1u_1u1的方向向量。但这里我们想做的是回归(让EEE尽可能小),因此根据最小二乘法得到的c1c_1c1一般与p1p_1p1不同。 - 将剩余的E当做新的X,剩余的F当做新的Y,然后按照前面的步骤求出p2p_2p2和q2q_2q2,得到:
u2=Ep2v2=Fq2\begin{array}{l} u_{2}=E p_{2} \\ v_{2}=F q_{2} \end{array}u2=Ep2v2=Fq2
目标函数变为⟨Ep2,Fq2⟩→p2TEτFq2→p2τ(λp2)→λ\left\langle E p_{2}, F q_{2}\right\rangle \rightarrow p_{2}^{T} E^{\tau} F q_{2} \rightarrow p_{2}^{\tau}\left(\lambda p_{2}\right) \rightarrow \lambda⟨Ep2,Fq2⟩→p2TEτFq2→p2τ(λp2)→λ,和之前操作一样,p2、q2p_2、q_2p2、q2分别为ETFFTE、FTEETF\mathbf{E^{T}FF^{T}E}、\mathbf{F^{T}EE^{T}F}ETFFTE、FTEETF的最大特征值对应的单位特征向量。 - 计算得到第二组回归系数:
c2=Eτu2∥u2∥2r2=Fτu2∥u2∥2\begin{array}{l} c_{2}=\frac{E^{\tau} u_{2}}{\left\|u_{2}\right\|^{2}} \\\\ r_{2}=\frac{F^{\tau} u_{2}}{\left\|u_{2}\right\|^{2}} \end{array}c2=∥u2∥2Eτu2r2=∥u2∥2Fτu2
这里的u2u_2u2和之前的u1u_1u1是正交的,证明如下:
u1τu2=u1τEp2=u1T(X−u1c1T)p2=[u1τX−u1Tu1u1τX∥u1∥2]p2=0u_{1}^{\tau} u_{2}=u_{1}^{\tau} E p_{2}=u_{1}^{T}\left(X-u_{1} c_{1}^{T}\right) p_{2}=\left[u_{1}^{\tau} X-u_{1}^{T} u_{1} \frac{u_{1}^{\tau} X}{\left\|u_{1}\right\|^{2}}\right] p_{2}=0u1τu2=u1τEp2=u1T(X−u1c1T)p2=[u1τX−u1Tu1∥u1∥2u1τX]p2=0
其实uiu_iui和不同的uju_juj都是相互正交的。同理,pip_ipi和pjp_jpj也是正交的。
p1Tp2=p1T1λEτFq2=p1T1λEτv2=1λp1T(X−u1c1T)Tv2=1λ(Xp1−u1c1Tp1)Tv2=1λ(u1−u1)Tv2=0\begin{array}{l} p_{1}^{T} p_{2}=p_{1}^{T} \frac{1}{\lambda} E^{\tau} F q_{2}=p_{1}^{T} \frac{1}{\lambda} E^{\tau} v_{2}=\frac{1}{\lambda} p_{1}^{T}\left(X-u_{1} c_{1}^{T}\right)^{T} v_{2} \\ \quad=\frac{1}{\lambda}\left(X p_{1}-u_{1} c_{1}^{T} p_{1}\right)^{T} v_{2}=\frac{1}{\lambda}\left(u_{1}-u_{1}\right)^{T} v_{2}=0 \end{array}p1Tp2=p1Tλ1EτFq2=p1Tλ1Eτv2=λ1p1T(X−u1c1T)Tv2=λ1(Xp1−u1c1Tp1)Tv2=λ1(u1−u1)Tv2=0
但cic_ici和不同的cjc_jcj一般不是正交的。 - 从上一步得到回归方程:
E=u2c2T+E′F=u2r2T+F′\begin{array}{c} E=u_{2} c_{2}^{T}+E^{\prime} \\\\ F=u_{2} r_{2}^{T}+F^{\prime} \end{array}E=u2c2T+E′F=u2r2T+F′
若还有残差矩阵的话,可以继续计算下去。 - 如此计算下去,最终得到:
X=u1c1T+u2c2T+u3c3T+⋯+uncnT+EY=u1r1T+u2r2T+u3r3T+⋯+unrnT+F\begin{array}{l} X=u_{1} c_{1}^{T}+u_{2} c_{2}^{T}+u_{3} c_{3}^{T}+\cdots+u_{n} c_{n}^{T}+E \\ Y=u_{1} r_{1}^{T}+u_{2} r_{2}^{T}+u_{3} r_{3}^{T}+\cdots+u_{n} r_{n}^{T}+F \end{array}X=u1c1T+u2c2T+u3c3T+⋯+uncnT+EY=u1r1T+u2r2T+u3r3T+⋯+unrnT+F
与PCA中表达式不一样的是这里的cic_ici和不同的cjc_jcj之间一般不是正交的。
其实这里不必一直计算到n,可以采用类似于PCA的截尾技术,计算到合适的r即可。关于r数目的选取可以使用交叉验证方法,这与PCA里面的问题类似。
此外,pi、cip_i、c_ipi、ci的关系是piTcj=1(i=j),piτcj=0(i≠j)p_{i}^{T} c_{j}=1(i=j), p_{i}^{\tau} c_{j}=0(i \neq j)piTcj=1(i=j),piτcj=0(i=j)。
矩阵形式如下:
X=UCT+EY=URT+F=XPRT+F=XB+F\begin{array}{l} X=U C^{T}+E \\ Y=U R^{T}+F=X P R^{T}+F=X B+F \end{array}X=UCT+EY=URT+F=XPRT+F=XB+F
到此,基本介绍完毕由X→YX\rightarrow YX→Y的回归方程,其中,B=PRTB=PR^TB=PRT,在计算过程中记录下得到的P、RP、RP、R值。 - 使用PLSR来进行预测
从6)中可以发现Y其实是多个回归的叠加(其实u1r1Tu_1r_1^Tu1r1T已经回归出Y的最主要信息)。我们在计算模型的过程中,得到了p和r。那么新来一个x,首先计算u(这里的u变成了实数,而不是向量了),得到
u1=xTp1,u2=xTp2,u3=xτp3…u_{1}=x^{T} p_{1}, u_{2}=x^{T} p_{2}, u_{3}=x^{\tau} p_{3} \ldotsu1=xTp1,u2=xTp2,u3=xτp3…
然后代入Y的式子即可求出预测的y向量,或者直接代入yT=xTBy^T=x^TByT=xTB.
到此,所有的PLSR回归模型的计算结束,下面再度请出我的灵魂画手,来言简意赅的总结一下上述流程:
PLS 模型
虽然类似PCA的过程监控可以检测和诊断过程数据中的异常情况,但它无法判断检测到的异常情况是否会导致产品质量问题。这是PCA从业者经常提出的投诉,如监测和干扰警报,若检测到的过程故障最终不会导致质量问题,则会发生。
为了检测与质量相关的过程问题,PLS模型用于利用质量输出数据中的信息划分输入数据空间,如下图所示。PLS还将输入空间划分为以PLS分数为特征的主子空间和与分数互补的剩余子空间。早期文献表明,主子空间由T2监控,T2被认为反映了与Y相关的主要变化,剩余子空间由Q监控,Q被认为包含与输出Y无关的变化。
在过程监控中建立PLS模型。收集正常过程和质量数据,形成输入矩阵 X∈RN×m\mathbf{X} \in \mathfrak{R}^{N×m}X∈RN×m 和一个输出矩阵 Y∈RN×p\mathbf{Y} \in \mathfrak{R}^{N×p}Y∈RN×p 和 ppp 个质量变量。
PLS 将 XXX 和 YYY 投影到由 lll 潜变量定义的低维空间,如下所示:
{X=∑i=1ltipiT+E=TPT+EY=∑i=1ltiqiT+F=TQT+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=[t1,...,tl]T=[t_1,...,t_l]T=[t1,...,tl]是潜在得分向量,P=[p1,...,pl]P=[p_1,...,p_l]P=[p1,...,pl]和Q=[q1,...,ql]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残差。潜在因素 lll 的数量通常通过交叉验证确定,交叉验证根据排除在训练数据之外的数据给出最大预测能力。
从数据顺序计算潜在向量tit_iti,以便最大化缩小的输入数据之间的协方差,Xi=Xi−1−ti−1pi−1T;X1=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。其中,权重向量wi\mathbf{w_i}wi用于计算得分ti=Xiwi\mathbf{t_i}=\mathbf{X_i}{w_i}ti=Xiwi。
得分可以用原始数据X\mathbf{X}X表示为,
T=XR(2)\mathbf{T}=\mathbf{X}\mathbf{R}\tag{2}T=XR(2)
其中,R=W(PTW)−1\mathbf{R}=\mathbf{W(P^TW)^{-1}}R=W(PTW)−1,由此可得以下关系,
RTR=RTP=Il(3)\mathbf{R^TR=R^TP=I_l} \tag{3}RTR=RTP=Il(3)
为了计算新数据样本x上的模型估计值和残差,PLS模型将斜投影引入输入数据空间
x^=PRTx(4)\hat\mathbf{x}=\mathbf{PR^Tx}\tag{4}x^=PRTx(4)
y^=QRTx(5)\hat\mathbf{y}=\mathbf{QR^Tx}\tag{5}y^=QRTx(5)
x~=(I−PRT)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投影。
CPLS 模型(潜在结构的并行投影)
最近读的一篇Paper提出了一种并行PLS(CPLS)算法和相关监测指标,以提供对输出变化的完整监测,并将输入数据空间简洁地分解为输出相关子空间和输入相关子空间。
下面具体介绍模型建立的思路。
为了提供质量数据和过程操作数据的完整监控方案,提出了一种并行PLS(CPLS)模型,以实现三个目标:(i)从标准PLS投影中提取与输出的可预测变化直接相关的分数,形成协变量子空间(CVS)(ii)将不可预测的输出变化进一步投影到输出主子空间(OPS)和输出剩余子空间(ORS),以监测这些子空间中的异常变化;和(iii)将与预测输出无关的输入变化进一步投影到输入主子空间(IPS)和输出子空间(IRS),以监测这些子空间中的异常变化。
基于CPLS算法,数据矩阵X和Y分解如下:
X=UcRc†+TxPxT+X~Y=UcQcT+TyPyT+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+XY=UcQcT+TyPyT+Y
CPLS模型以负载Rc、Px、Qc和Py为特征。分数Uc表示X中与可预测部分Y~\tilde{Y}Y~相关的协变,TX表示X中对预测Y无效的变化,Ty表示X未预测的Y中的变化。
x=Rc†Tuc+Pxtx+x~y=Qcuc+Qyty+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模型,设计故障监测指标非常简单。输出相关得分可通过以下方法进行监控:
Tc2=ucTΛc−1ucT_{c}^{2}=\boldsymbol{u}_{c}^{T} \boldsymbol{\Lambda}_{c}^{-1} \boldsymbol{u}_{c}Tc2=ucTΛc−1uc
式中,Λ−1\Lambda^{-1}Λ−1是根据正常数据计算的样本协方差。
输入相关分数和残差可通过以下T2T^2T2统计量和Q-统计量进行监控:
Tx2=txTΛx−1txQx=∥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是根据正常数据计算的tx\mathbf{t_x}tx的样本协方差。
不可预测的输出分数和残差可分别通过以下T2T^2T2统计量和Q-统计量进行监控:
Ty2=tyTΛy−1tyQy=∥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是根据正常数据计算的ty\mathbf{t_y}ty样本协方差。
为了根据上述指标进行监测,应根据正常数据的统计数据计算控制限值。监测程序概述如下。
- 如果Tc2>τlc2=χlc,α2\mathbf{T_c^2}> \mathbf{\tau}_{lc}^{2}=\chi _{lc, \alpha}^{2}Tc2>τlc2=χlc,α2,根据新的输入测量x检测到输出相关故障。
- 如果Tx2>τlx2=χlx,α2\mathbf{T_x^2}> \mathbf{\tau}_{lx}^{2}=\chi _{lx, \alpha}^{2}Tx2>τlx2=χlx,α2,根据新的输入测量x检测到输出无关但与输入相关的故障。
- 如果Qx>δlx2=gxχhx,α2\mathbf{Q_x}> \mathbf{\delta}_{lx}^{2}=g_x\chi _{hx, \alpha}^{2}Qx>δlx2=gxχhx,α2,根据新的输入测量x检测到潜在的输出相关故障。
- 一旦测量到输出y,fTy2>τy2=χly,α2f\mathbf{T}_{y}^2> {\tau}_y^{2}=\chi _{ly, \alpha}^{2}fTy2>τy2=χly,α2或 Qy>δly2=gyχhy,α2\mathbf{Q_y}> \mathbf{\delta}_{ly}^{2}=g_y\chi _{hy, \alpha}^{2}Qy>δly2=gyχhy,α2,检测到与输入不可预测的输出相关的故障。
并行 PLS 算法
将原始数据缩放为零平均值和单位方差,得到X和Y。使用(1)对X和Y执行PLS,得出T、Q和R。PLS因子l的数量通过交叉验证确定。
通过Y^=TQT\hat {Y}=\mathbf{TQ^T}Y^=TQT形成可预测输出,并执行奇异值分解(SVD)
Y^=YcDcVcT=UcQcT\hat{Y}=\mathbf{Y_{c}D_{c}V_{c}^{T}}=\mathbf{U_c}\mathbf{Q}_{c}^{T}Y^=YcDcVcT=UcQcT
式中,Qc=VcDc\mathbf{Q}_{c}=\mathbf{V}_{c}\mathbf{D}_{c}Qc=VcDc包括所有lcl_{c}lc降序非零奇异值和相应的右奇异向量。由于Vc\mathbf{V_c}Vc是正交的,
Uc=Y^VcDc−1=XRQTVcDc−1≡XRc\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=YVcDc−1=XRQTVcDc−1≡XRc
其中,Rc=RQTVcDc−1\mathbf{R_c}=\mathbf{RQ^{T}V_{c}D_{c}^{-1}}Rc=RQTVcDc−1.
形成不可预测的输出Yc^=Y−UcQcT\hat\mathbf{Y_{c}}=\mathbf{Y-U_{c}Q_{c}^{T}}Yc^=Y−UcQcT,和使用lyl_{y}ly主成分执行PCA
Yc~=TyPyT+Y~\tilde\mathbf{Y_{c}}=\mathbf{T_{y}P_{y}^{T}+\tilde\mathbf{Y}}Yc~=TyPyT+Y~
以生成输出成分得分Ty\mathbf{T_y}Ty和输出残差Y~\tilde\mathbf{Y}Y~。
通过投影在Span{Rc\mathbf{R_c}Rc}的正交补上形成输出无关输入;X~c=X−UcRc†\widetilde{\mathbf{X}}_{c}=\mathbf{X}-\mathbf{U}_{c} \mathbf{R}_{c}^{\dagger}Xc=X−UcRc†,其中Rc†=(RcTRc)−1RcT\mathbf{R}_{c}^{\dagger}=\mathbf{(R_{c}^{T}R_{c})^{-1}R_{c}^{T}}Rc†=(RcTRc)−1RcT,并对lxl_{x}lx主成分进行主成分分析
X~c=TxPxT+X~\mathbf{\tilde X_{c}=T_{x}P_{x}{T}+\tilde X}X~c=TxPxT+X~
得出输入主成分得分系数TxT_{x}Tx和输入残差X~\tilde XX~。
References
- PCA and PLS based process monitoring, as reviewed thoroughly in the previous sections of this paper;
- Dynamic PCA and PLS based monitoring (Wang, Seborg, & Larimore, 1997; Qin & Li, 2001; Qin & McAvoy, 1996);
- Kernel and nonlinear PCA and PLS based methods (Qin & McA-voy, 1992; Kramer, 1991; Dong & McAvoy, 1996; Cho et al.,
2005); - Multi-block analysis for decentralized, hierarchical monitoring(Westerhuis, Kourti, & MacGregor, 1998; Qin et al., 2001);
- Recursive PCA and PLS approaches for adaptive monitoring (Li,Yue, Valle-Cervantes, & Qin, 2000; Qin, 1998);
- Multi-modal and non-Gaussian approaches, such as ICA; Multi-way data extension for batch operations (Nomikos &MacGregor, 1995; Smilde, 2001);
- Multi-scale approaches using wavelets (Bakshi, 1998; Misra,Qin, Yue, & Ling, 2002); and Control-related monitoring problems (Harris, 1989; McNabb &Qin, 2005).
- https://www.cnblogs.com/jerrylead/archive/2011/08/21/2148625.html
❤坚持读Paper,坚持做笔记❤!!!
To Be No.1哈哈哈哈
创作不易,过路能❤关注、收藏、点个赞❤三连就最好不过了
ღ( ´・ᴗ・` )
❤
『
理性的人追求的并非快乐,而只是避免痛苦。
』
偏最小二乘(Partial Least Squares,PLS)原理及模型建立相关推荐
- R语言实现偏最小二乘回归法 partial least squares (PLS)回归
偏最小二乘回归是一种回归形式 . 当使用pls时,新的线性组合有助于解释模型中的自变量和因变量. 最近我们被客户要求撰写关于偏最小二乘回归的研究报告,包括一些图形和统计输出. 在本文中,我们将使用p ...
- xgboost回归预测模型_偏最小二乘回归分析法 从预测角度对所建立的回归模型进行比较...
在实际问题中,经常遇到需要研究两组多重相关变量间的相互依赖关系,并研究用一组变量(常称为自变量或预测变量)去预测另一组变量(常称为因变量或响应变量), 除了最小二乘准则下的经典多元线性回归分析(MLR ...
- ESL第三章 回归的线性方法 系数近似置信集/高斯-马尔可夫定理/正交化、最优子集/向前向后逐步选择/向前分段回归、参数有效数量/最小角回归、主成分/偏最小二乘、多输出收缩、其他L1和路径相关算法
(ESL把线性回归讲的非常丰富,真的开阔视野) 目录 3.2 线性回归模型的最小二乘法 3.2.2 高斯-马尔可夫定理 3.2.3 从简单单变量回归到多重回归 3.2.4 多输出 3.3 子集选择 3 ...
- ESL第十八章 高维问题 对角LDA/最近收缩重心、RDA/对偶优化/L2带核、函数型数据/Fused Lasso/字符串核/距离矩阵、有监督PCA/生存分析/偏最小二乘/预处理、多重检验/FDR
(最后一章了,加油!) 目录 18.1 当 p p p远大于 N N N 18.2 对角线性判别分析Diagonal Linear Discriminant Analysis和最近收缩重心Neares ...
- 偏最小二乘(PLS)原理分析Python实现
目录 1 偏最小二乘的意义 2 PLS实现步骤 3 弄懂PLS要回答的问题 4 PLS的原理分析 4.1 自变量和因变量的主成分求解原理 4.1.1 确定目标函数 4.1 ...
- 【计量模型整理】偏最小二乘回归 PLS
partial least square PLS 原理 与MLS.PCR.MRA比较 适用情况 数学推导与软件实现 参考文献 原理 在影响因变量的大量的因素中,会存在隐形的影响因素但却具有很强的解释力 ...
- PLSR(偏最小二乘回归浅析)
问题描述 算法步骤 分别提取两变量组的第一对线性组合组成的向量 建立回归 迭代 最后 英文原文:Partial Least Squares (PLS) Regression. 相关博客:偏最小二乘回归 ...
- PLS-PM with R 偏最小二乘路径建模 (R语言)
1. 引入 1.1. 安装plspm包 plspm 是一个用于执行偏最小二乘路径建模分析的 r 程序包. 在 CRAN 上可以免费下载: Http://cran.r-project.org/web/p ...
- Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择
全文下载:http://tecdat.cn/?p=22319 本文建立偏最小二乘法(PLS)回归(PLSR)模型,以及预测性能评估.为了建立一个可靠的模型,我们还实现了一些常用的离群点检测和变量选择方 ...
- Python偏最小二乘回归(PLSR)测试
scikit learn机器学习包中包含了偏最小二乘回归,所以可以调用对应的函数来实现 class sklearn.cross_decomposition.PLSRegression(n_compon ...
最新文章
- java rtmp_搭建rtmp直播流服务之2:使用java实现ffmpeg命令接口化调用(用java执行ffmpeg命令)...
- PS5 发布,揭秘真假难辨的虚拟和现实
- 小清新简约风个人简历PPT模板
- Verilog 中的移位(算术移位, 逻辑移位, 循环移位)
- 标准模板库之容器-《C++标准库(第二版)》读书笔记
- Linux下的gdb调试makefile的编写
- hdu 1754/zstu 3121 I Hate It(线段树)
- EsayUI + MVC + ADO.NET(仓储基类)
- mysql在同一台机器上实现主从_MySQL 5.7主从搭建(同一台机器)
- 大数据之-Hadoop之HDFS_HDFS的内容介绍---大数据之hadoop工作笔记0047
- 【免费毕设】课程指导平台的开发(源代码+lunwen)
- Transform.GetComponentsInChildRen()
- java wmic_wmic
- 操写一盒酥三字于盒上
- 30天自制操作系统 学习笔记1
- 十进制转8421BCD码详解
- android支付宝系统繁忙,支付宝支付 系统繁忙,请稍后再试 62008 难道没人碰到过吗...
- 关于RabbitMQ连接不上None of the specified endpoints were reachable的几个原因
- mysql常见函数面试题_MySql三到常见面试题,整理总结一下
- 详解modprobe的用法
热门文章
- android内录音软件,安卓内录声音软件(能内录音频的手机软件)
- 2009国内免费网盘横向评测
- 关于Python 向pdf添加印章效果的思考及实现
- 百度初级认证考试知识点
- python爬取链家租房信息_使用python爬取链家广州12108条租房信息,并做一些基础分析...
- java word在线编辑_[原创]Java开发在线打开编辑保存Word文件(支持多浏览器)
- 如何用计算机画地形地貌图,地形图是如何绘制出来的
- 计算机专业Java毕业设计思路分享(项目+设计+源码)
- MINA框架客户端的使用
- 详解K均值聚类算法(K-means Clustering)简易实例:从空调温度判别使用者