偏最小二乘(Partial Least Squares,PLS)原理及模型建立

这篇具有很好参考价值的文章主要介绍了偏最小二乘(Partial Least Squares,PLS)原理及模型建立。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

随着对数据驱动的工业检测与诊断方法的逐步深入,过程监测的多元统计需要总结的东西越来越多,那么今天来整理一下。

内容较多,理论较复杂,建议细品,你品!最好推一遍~

It’s time to conclude PLS!!!

PCA和偏最小二乘(PLS)是从数据中描述正常情况的首选方法。

天气热,冰凉一下吧~

偏最小二乘,算法,故障诊断,PLS,偏最小二乘法,PLSR,算法

偏最小二乘法(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(xy)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(UV)最大,显然不能通过该关系来还原出X和Y,也就是找不到X到Y的直接映射。这也是使用CCA预测时大多配上KNN的原由吧。(关于KNN算法后续本菜研究后更新)

PLS兼顾了PCA和CCA,解决了X和Y在投影上映射问题。

偏最小二乘,算法,故障诊断,PLS,偏最小二乘法,PLSR,算法
图片来自<网络>

如上图所示,假设对于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的映射。

PLS算法

  1. 将X和Y经过标准化(包括减均值除标准差等)(此操作可参考 这里 的CCA算法)。
  2. 设X的第一个主成分为 p 1 p_1 p1,Y的第一个主成分为 q 1 q_1 q1,两者都经过单位化。(注意:这里的主成分并不是通过PCA得到的主成分)(~~菜鸡解释:~~这里主成分可简单的看成CCA系数矩阵中的第一系数成分,如 a 1 a_1 a1)。
  3. u 1 = X p 1 , v 1 = Y q 1 u_1=Xp_1,v_1=Yq_1 u1=Xp1v1=Yq1,这和CCA几乎一样,可得下面的期望的约束条件。
  4. V a r ( u 1 ) → M a x , V a r ( v 1 ) → M a x Var(u_1)\rightarrow Max,Var(v_1)\rightarrow Max Var(u1)MaxVar(v1)Max,代表在主成分分量上的投影,得到了期望的方差最大化值(貌似这样解释有点奇怪)。
  5. R ( u 1 , v 1 ) → M a x R_(u_1,v_1)\rightarrow Max R(u1,v1)Max,和CCA一样。
  6. 综合以上条件,可得 C o v ( u 1 , v 1 ) = V a r ( u 1 ) V a r ( v 1 ) R ( u 1 , v 1 ) → M a x Cov(u_1,v_1)=\sqrt{Var(u_1)Var(v_1)}R_(u_1,v_1) \rightarrow Max Cov(u1v1)=Var(u1)Var(v1) R(u1,v1)Max

简而言之,为了实现偏最小二乘回归的基本思想,要求p1和q1的协方差最大,即求解下面优化后的目标函数:

M a x : < X p 1 , Y q 1 > S . t . : ∣ ∣ p 1 ∣ ∣ = 1 , ∣ ∣ q 1 ∣ ∣ = 1 Max:<Xp_1,Yq_1> \\ 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=p1TXTYq12λ(p1Tp11)2θ(q1Tq11)
分别对 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} p1L=XτYq1λp1=0q1L=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,Yq1p1τXτYq1p1τ(λp1)λ可得到最优解。

可见 p 1 p_1 p1 q 1 q_1 q1是投影方差最大和两者相关性最大上的权衡,而CCA只是相关性上最大化。

到此,我们可以得到 u 1 、 v 1 u_1、v_1 u1v1值,这里的 u 1 、 v 1 u_1、v_1 u1v1在图上面只是表示为绿色点,如果这样就完成求解,那和CCA的过程一样,得不到X到Y的映射。

PLSR 回归算法

让我们回到上面的介绍,从新建立我们的回归方程
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是残差矩阵。

然后,进行以下几步操作:

  1. Y = u 1 r 1 T + F Y=u_{1} r_{1}^{T}+F Y=u1r1T+F,使用 u 1 u_1 u1 Y Y Y进行回归,先利用 X X X的主成分对 Y Y Y进行回归。
  2. 使用最小二乘法,计算 c , d , r c,d,r cdr分别为:
    c 1 = X T u 1 ∥ u 1 ∥ 2 d 1 = Y τ v 1 ∥ v 1 ∥ 2 r 1 = Y τ u 1 ∥ u 1 ∥ 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=u12XTu1d1=v12Yτv1r1=u12Yτu1
    实际上这一步计算出了各个投影向量。
    其中 p 1 p_1 p1 c 1 c_1 c1的关系是:
    p 1 T c 1 = p 1 T X τ u 1 ∥ u 1 ∥ 2 = u 1 T u 1 ∥ u 1 ∥ 2 = 1 p_{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}}=1 p1Tc1=p1Tu12Xτu1=u12u1Tu1=1
    再谈谈 p 1 p_1 p1 c 1 c_1 c1的关系,虽然这里将 c 1 c_1 c1替换成 p 1 p_1 p1可以满足等式要求和几何要求,而且 p 1 p_1 p1就是X投影出 u 1 u_1 u1的方向向量。但这里我们想做的是回归(让 E E E尽可能小),因此根据最小二乘法得到的 c 1 c_1 c1一般与 p 1 p_1 p1不同。
  3. 将剩余的E当做新的X,剩余的F当做新的Y,然后按照前面的步骤求出 p 2 p_2 p2 q 2 q_2 q2,得到:
    u 2 = E p 2 v 2 = F q 2 \begin{array}{l} u_{2}=E p_{2} \\ v_{2}=F q_{2} \end{array} u2=Ep2v2=Fq2
    目标函数变为 ⟨ E p 2 , F q 2 ⟩ → p 2 T E τ F q 2 → p 2 τ ( λ p 2 ) → λ \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,Fq2p2TEτFq2p2τ(λp2)λ,和之前操作一样, p 2 、 q 2 p_2、q_2 p2q2分别为 E T F F T E 、 F T E E T F \mathbf{E^{T}FF^{T}E}、\mathbf{F^{T}EE^{T}F} ETFFTEFTEETF的最大特征值对应的单位特征向量。
  4. 计算得到第二组回归系数:
    c 2 = E τ u 2 ∥ u 2 ∥ 2 r 2 = F τ u 2 ∥ u 2 ∥ 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=u22Eτu2r2=u22Fτu2
    这里的 u 2 u_2 u2和之前的 u 1 u_1 u1是正交的,证明如下:
    u 1 τ u 2 = u 1 τ E p 2 = u 1 T ( X − u 1 c 1 T ) p 2 = [ u 1 τ X − u 1 T u 1 u 1 τ X ∥ u 1 ∥ 2 ] p 2 = 0 u_{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}=0 u1τu2=u1τEp2=u1T(Xu1c1T)p2=[u1τXu1Tu1u12u1τX]p2=0
    其实 u i u_i ui和不同的 u j u_j uj都是相互正交的。同理, p i p_i pi p j p_j pj也是正交的。
    p 1 T p 2 = p 1 T 1 λ E τ F q 2 = p 1 T 1 λ E τ v 2 = 1 λ p 1 T ( X − u 1 c 1 T ) T v 2 = 1 λ ( X p 1 − u 1 c 1 T p 1 ) T v 2 = 1 λ ( u 1 − u 1 ) T v 2 = 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(Xu1c1T)Tv2=λ1(Xp1u1c1Tp1)Tv2=λ1(u1u1)Tv2=0
    c i c_i ci和不同的 c j c_j cj一般不是正交的。
  5. 从上一步得到回归方程:
    E = u 2 c 2 T + E ′ F = u 2 r 2 T + F ′ \begin{array}{c} E=u_{2} c_{2}^{T}+E^{\prime} \\\\ F=u_{2} r_{2}^{T}+F^{\prime} \end{array} E=u2c2T+EF=u2r2T+F
    若还有残差矩阵的话,可以继续计算下去。
  6. 如此计算下去,最终得到:
    X = u 1 c 1 T + u 2 c 2 T + u 3 c 3 T + ⋯ + u n c n T + E Y = u 1 r 1 T + u 2 r 2 T + u 3 r 3 T + ⋯ + u n r n T + 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中表达式不一样的是这里的 c i c_i ci和不同的 c j c_j cj之间一般不是正交的。
    其实这里不必一直计算到n,可以采用类似于PCA的截尾技术,计算到合适的r即可。关于r数目的选取可以使用交叉验证方法,这与PCA里面的问题类似。
    此外, p i 、 c i p_i、c_i pici的关系是 p i T c j = 1 ( i = j ) , p i τ c j = 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 = U C T + E Y = U R T + F = X P R T + F = X B + 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 → Y X\rightarrow Y XY的回归方程,其中, B = P R T B=PR^T B=PRT,在计算过程中记录下得到的 P 、 R P、R PR值。
  7. 使用PLSR来进行预测
    从6)中可以发现Y其实是多个回归的叠加(其实 u 1 r 1 T u_1r_1^T u1r1T已经回归出Y的最主要信息)。我们在计算模型的过程中,得到了p和r。那么新来一个x,首先计算u(这里的u变成了实数,而不是向量了),得到
    u 1 = x T p 1 , u 2 = x T p 2 , u 3 = x τ p 3 … u_{1}=x^{T} p_{1}, u_{2}=x^{T} p_{2}, u_{3}=x^{\tau} p_{3} \ldots u1=xTp1,u2=xTp2,u3=xτp3
    然后代入Y的式子即可求出预测的y向量,或者直接代入 y T = x T B y^T=x^TB yT=xTB.

到此,所有的PLSR回归模型的计算结束,下面再度请出我的灵魂画手,来言简意赅的总结一下上述流程:

偏最小二乘,算法,故障诊断,PLS,偏最小二乘法,PLSR,算法
手绘大致流程图

PLS 模型

虽然类似PCA的过程监控可以检测和诊断过程数据中的异常情况,但它无法判断检测到的异常情况是否会导致产品质量问题。这是PCA从业者经常提出的投诉,如监测和干扰警报,若检测到的过程故障最终不会导致质量问题,则会发生。

为了检测与质量相关的过程问题,PLS模型用于利用质量输出数据中的信息划分输入数据空间,如下图所示。PLS还将输入空间划分为以PLS分数为特征的主子空间和与分数互补的剩余子空间。早期文献表明,主子空间由T2监控,T2被认为反映了与Y相关的主要变化,剩余子空间由Q监控,Q被认为包含与输出Y无关的变化。

偏最小二乘,算法,故障诊断,PLS,偏最小二乘法,PLSR,算法

在过程监控中建立PLS模型。收集正常过程和质量数据,形成输入矩阵 X ∈ R N × m \mathbf{X} \in \mathfrak{R}^{N×m} XRN×m 和一个输出矩阵 Y ∈ R N × p \mathbf{Y} \in \mathfrak{R}^{N×p} YRN×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=Xi1ti1pi1T;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~=(IPRT)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 = 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=RcTuc+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Λc1uc

式中, Λ − 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Λx1txQx=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Λy1tyQy=y~2

其中 Λ y \Lambda_{y} Λy是根据正常数据计算的 t y \mathbf{t_y} ty样本协方差。

为了根据上述指标进行监测,应根据正常数据的统计数据计算控制限值。监测程序概述如下。

  1. 如果 T c 2 > τ l c 2 = χ l c , α 2 \mathbf{T_c^2}> \mathbf{\tau}_{lc}^{2}=\chi _{lc, \alpha}^{2} Tc2>τlc2=χlc,α2,根据新的输入测量x检测到输出相关故障。
  2. 如果 T x 2 > τ l x 2 = χ l x , α 2 \mathbf{T_x^2}> \mathbf{\tau}_{lx}^{2}=\chi _{lx, \alpha}^{2} Tx2>τlx2=χlx,α2,根据新的输入测量x检测到输出无关但与输入相关的故障。
  3. 如果 Q x > δ l x 2 = g x χ h x , α 2 \mathbf{Q_x}> \mathbf{\delta}_{lx}^{2}=g_x\chi _{hx, \alpha}^{2} Qx>δlx2=gxχhx,α2,根据新的输入测量x检测到潜在的输出相关故障。
  4. 一旦测量到输出y, f T y 2 > τ y 2 = χ l y , α 2 f\mathbf{T}_{y}^2> {\tau}_y^{2}=\chi _{ly, \alpha}^{2} fTy2>τy2=χly,α2 Q y > δ l y 2 = g y χ h y , α 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 ^ = 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 VcDc1=XRQTVcDc1XRc
其中, R c = R Q T V c D c − 1 \mathbf{R_c}=\mathbf{RQ^{T}V_{c}D_{c}^{-1}} Rc=RQTVcDc1.

形成不可预测的输出 Y c ^ = Y − U c Q c T \hat\mathbf{Y_{c}}=\mathbf{Y-U_{c}Q_{c}^{T}} Yc^=YUcQcT,和使用 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=XUcRc,其中 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~

References

  1. PCA and PLS based process monitoring, as reviewed thoroughly in the previous sections of this paper;
  2. Dynamic PCA and PLS based monitoring (Wang, Seborg, & Larimore, 1997; Qin & Li, 2001; Qin & McAvoy, 1996);
  3. Kernel and nonlinear PCA and PLS based methods (Qin & McA-voy, 1992; Kramer, 1991; Dong & McAvoy, 1996; Cho et al.,
    2005);
  4. Multi-block analysis for decentralized, hierarchical monitoring(Westerhuis, Kourti, & MacGregor, 1998; Qin et al., 2001);
  5. Recursive PCA and PLS approaches for adaptive monitoring (Li,Yue, Valle-Cervantes, & Qin, 2000; Qin, 1998);
  6. Multi-modal and non-Gaussian approaches, such as ICA; Multi-way data extension for batch operations (Nomikos &MacGregor, 1995; Smilde, 2001);
  7. Multi-scale approaches using wavelets (Bakshi, 1998; Misra,Qin, Yue, & Ling, 2002); and Control-related monitoring problems (Harris, 1989; McNabb &Qin, 2005).
  8. https://www.cnblogs.com/jerrylead/archive/2011/08/21/2148625.html

❤坚持读Paper,坚持做笔记❤!!!
To Be No.1


创作不易,过路能❤关注收藏点个赞三连就最好不过了

ღ( ´・ᴗ・` )


理性的人追求的并非快乐,而只是避免痛苦。
文章来源地址https://www.toymoban.com/news/detail-602519.html

到了这里,关于偏最小二乘(Partial Least Squares,PLS)原理及模型建立的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 代理模型:最小二乘支持向量回归(LSSVR)--- MATLAB程序

    写在开头:       代理模型是工程问题中常用的一个优化方法。当实际问题计算量很大、不容易求解时,可以使用计算量较小、求解迅速的简化模型来替代原模型,加速优化过程。代理模型采用一个数据驱动的、自下而上的办法来建立:首先,通过抽样得到有限个样本点【输

    2024年02月08日
    浏览(37)
  • 故障诊断 | 一文解决,PLS偏最小二乘法的故障诊断(Matlab)

    故障诊断 | 一文解决,PLS偏最小二乘法的故障诊断(Matlab) 偏最小二乘法(Partial Least Squares, PLS)是一种统计建模方法,用于建立变量之间的线性关系模型。它是对多元线性回归方法的扩展,特别适用于处理高维数据和具有多重共线性的数据集。 PLS的主要目标是通过找到输入

    2024年04月12日
    浏览(32)
  • 非线性最小二乘

    在经典最小二乘法估计中,假定被解释变量的条件期望是关于参数的线性函数,例如 E ( y ∣ x ) = a + b x E(y|x) = a+bx E ( y ∣ x ) = a + b x 其中 a , b a,b a , b 为待估参数, E ( y ∣ x ) E(y|x) E ( y ∣ x ) 是关于参数 a , b a,b a , b 的线性函数。但 E ( y ∣ x ) E(y|x) E ( y ∣ x ) 是关于参数的非线

    2024年02月04日
    浏览(48)
  • 最小二乘估计理论

    不需输入输出为随机过程,求最优权向量使得输出估计结果的样本均方误差最小 b ^ ⃗ H = w ⃗ H A H { b ^ H = [ d ^ ( M ) d ^ ( M + 1 ) ⋯ d ^ ( N ) ] A H = [ u ( M ) u ( M + 1 ) ⋯ u ( N ) ] = [ u ( M ) u ( M + 1 ) ⋯ u ( N ) u ( M − 1 ) u ( M ) ⋯ u ( N − 1 ) ⋮ ⋮ ⋱ ⋮ u ( 1 ) u ( 2 ) ⋯ u ( N − M + 1 ) ] w =

    2024年02月09日
    浏览(30)
  • 最小二乘估计心得

    存在一组观察值 ( x i , y i ) (x_i, y_i) ( x i ​ , y i ​ ) ,其中 y i y_i y i ​ 和 x i x_i x i ​ 之间满足一定的线性关系,如 y = a 0 f 0 ( x ) + a 1 f 1 ( x ) + . . . + a m − 1 f m − 1 ( x ) y = a_0 f_0(x) + a_1 f_1(x) + ... + a_{m-1} f_{m-1}(x) y = a 0 ​ f 0 ​ ( x ) + a 1 ​ f 1 ​ ( x ) + ... + a m − 1 ​ f m −

    2024年02月08日
    浏览(29)
  • 方程组的最小二乘解

            对于线性方程组求解,我们一般写成矩阵形式 Ax = y。 当 矩阵A满秩(即这q个变量是线性无关的) 时:         pq 时,为欠定方程组,方程个数少于未知数个数,有多解;         p=q 时,为方阵,方程个数等于未知数个数,有唯一解;          pq 时,

    2024年02月01日
    浏览(31)
  • 最小二乘问题,,而不是方法

    最小二乘是一大类问题,而不是一个简单的方法 适用于 :线性(非线性)方程组问题,如果观测带有噪声,我们需要建立最小二乘模型。如果噪声符合高斯分布,即最小二乘问题的解对应于原问题的最大似然解。 如果方程组是线性的(很好将测量值和待估计值分离),我们

    2023年04月08日
    浏览(32)
  • 最小二乘问题和非线性优化

    转载自此处,修正了一点小错误。 在求解 SLAM 中的最优状态估计问题时,我们一般会得到两个变量,一个是由传感器获得的实际观测值 z boldsymbol{z} z ,一个是根据目前估计的状态量和观测模型计算出来的预测值 h ( x ) h(boldsymbol{x}) h ( x ) 。求解最优状态估计问题时通常我们

    2024年02月13日
    浏览(29)
  • uwb最小二乘空间定位+python模拟

    传统最小二乘空间定位原理 假设UWB定位系统里有n个基站。基站坐标设为 ( x i , y i , z i ) (x_{i},y_{i},z_{i}) ( x i ​ , y i ​ , z i ​ ) (i=1,2,3…),标签坐标为(x,y,z),标签到基站的距离设为 d i ( i = 1 , 2 , 3... ) d_{i}(i=1,2,3...) d i ​ ( i = 1 , 2 , 3... ) 可得以下关系式 { ( x − x 1 ) 2 + ( y − y

    2024年02月19日
    浏览(32)
  • 26 用lsqnonlin求解最小二乘问题(matlab程序)

    1. 简述        函数语法 x = lsqnonlin(fun,x0) 函数用于: 解决非线性最小二乘(非线性数据拟合)问题 解决非线性最小二乘曲线拟合问题的形式 变量x的约束上下限为ub和lb, x = lsqnonlin(fun,x0)从x0点开始,找到fun中描述的函数的最小平方和。函数fun应该返回一个向量(或数组),而不

    2024年02月15日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包