Multi-way PCA——多维主成分分析

Posted 府学路18号车神

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Multi-way PCA——多维主成分分析相关的知识,希望对你有一定的参考价值。

💖作者简介:大家好,我是车神哥,府学路18号的车神🥇
⚡About—>车神:从寝室实验室快3分钟,最慢3分半(那半分钟其实是等绿
📝个人主页:应无所住而生其心的博客_府学路18号车神_CSDN博客
🎉点赞评论收藏 == 养成习惯(一键三连)😋
📖本系列主要以学习Go语言打怪升级为标准,实现自我能力的提升为目标⚡
⚡希望大家多多支持🤗~一起加油 😁


最近在项目中,发现批次过程(Batch Process)的应用还比较广泛,主要是面临一个三维特征的问题,平时我们面临的问题一般都只是二维的,一个是特征维度,另外一个是样本或者时刻(单指的采样时刻);但是会存在这样一个问题,当我们遇到的是一个采样时间很长,或者是连贯性不是那么好的实验样本时,但从采样时刻来进行特征提取,会在时间特性上有所丢失,由此我们应该加上不同时刻,而不只是单个时间段的采样点,或许是day1、day2、…的采样点,这样考虑会出现定义更为准确的结果。因为包含了时空特征进去,所有批次处理过程技术就由此诞生。

或许到这里你还不是特别明白是什么意思,接着看下面你就懂了。

目前用的最多的,效果最好的,永远是最经典的方法——Macgregor Method,也称作Multi-way PCA。

1994的paper,放在这里:Monitoring Batch Processes Using Multiway Principal Component Analysis

这是在谷歌学术上的,可能得想点办法才能刚打开哟!~


Multi-way PCA

一种可以处理此类数据的方法是MPCA (Wold et al., 1987b),它在统计和算法上与PCA一致,具有相同的目标和效益。MPCA和PCA之间的关系是MPCA相当于在一个大的二维矩阵上进行普通的PCA,该二维矩阵是由三种可能的方式之一展开的。在这项工作中,我们将以这样一种方式展开 X X X ,将它的每一个垂直切片 ( I × J ) (I×J) (I×J)并排放在右边,从对应于第一个时间间隔的开始。得到的二维矩阵具有维数 ( I × J K ) (I×JK) (I×JK) 。这种展开使我们能够通过总结数据中关于变量及其时间变化的信息来分析中批次之间的可变性。该版本MPCA的目标是将三向数组分解为一系列由得分向量 ( t r ) (t_r) (tr) 和加载矩阵 ( P r ) (P_r) (Pr),加上残差矩阵 E E E(如图1)。它根据主成分分析法的原理完成了这种分解,并以最优的方式将数据分成两部分。噪声或剩余部分 ( E ) (E) (E)在最小二乘意义下尽可能小,系统部分 ( ∑ r = 1 R t r ⊗ P r ) \\left(\\sum_r=1^R t_r \\otimes P_r\\right) (r=1RtrPr) 表示为一个分数 ( t ) (t) (t)只与批次有关,第二个分数 ( P ) (P) (P)与变量及其时间变化有关。

MPCA算法直接来源于NIPALS算法,其公式如下:

  • Step1:用每一列减去其平均值并除以其标准差来缩放X。

  • Step2:选择X的任意一列作为t。

  • E ‾ = X ‾ \\underlineE=\\underlineX E=X


  1. P = E ′ ⋅ t P=E^\\prime \\cdot t P=Et
  2. P = P / ∥ P ∥ P=P /\\|P\\| P=P/P
  3. t = E ‾ ∘ P t=\\underlineE \\circ P t=EP
  4. 如果t已经收敛,则转到步骤5,否则转到步骤1。
  5. E = E − t ⊗ P E=E-t \\otimes P E=EtP

上述算法中的矩阵运算为:

E ′ ( j , i , k ) = E ‾ ( i , j , k ) P = E ′ ⋅ t P ( k , j ) = ∑ i = 1 l E ′ ( i , j , k ) t ( i ) ∥ P ∥ = ∑ k = 1 K ∑ j = 1 J P ( k , j ) 2 t = E ‾ ∘ P t ( i ) = ∑ j = 1 J ∑ k = 1 K E ‾ ( i , j , k ) P ( k , j ) X = t ⊗ P X ( i , j , k ) = t ( i ) P ( j , k ) \\beginarrayc E^\\prime(j, i, k)=\\underlineE(i, j, k) \\\\\\\\ P=E^\\prime \\cdot t P(k, j)=\\sum_i=1^l E^\\prime(i, j, k) t(i) \\\\\\\\ \\|P\\|=\\sqrt\\sum_k=1^K \\sum_j=1^J P(k, j)^2 \\\\\\\\ t=\\underlineE \\circ P t(i)=\\sum_j=1^J \\sum_k=1^K \\underlineE(i, j, k) P(k, j) \\\\\\\\ X=t \\otimes P \\quad X(i, j, k)=t(i) P(j, k) \\endarray E(j,i,k)=E(i,j,k)P=EtP(k,j)=i=1lE(i,j,k)t(i)P=k=1Kj=1JP(k,j)2 t=EPt(i)=j=1Jk=1KE(i,j,k)P(k,j)X=tPX(i,j,k)=t(i)P(j,k)

图2清楚地显示,这个版本的MPCA解释了从参考数据库计算出的测量变量的平均轨迹的变化。从每个变量中减去平均轨迹可以消除过程的主要非线性行为。t-score向量的第i个元素对应于第i批,并总结该批相对于数据库中其他批在其整个持续时间内的总体变化。P加载矩阵总结了测量变量关于其平均轨迹的时间变化,它们的元素是权重,当在批内的每个时间间隔应用于每个变量时,给出该批的t分数。


阴影区域表示M PCA 解释的变化

其实方法很简单,就是切片,然后再处理,意思就是化繁为简,将三维转化为二维再进行特征提取!

References

  1. Nomikos P, MacGregor J F. Monitoring batch processes using multiway principal component analysis[J]. AIChE Journal, 1994, 40(8): 1361-1375.
  2. Chang P, Qiao J, Lu R, et al. Multiphase batch process monitoring based on higher‐order cumulant analysis[J]. The Canadian Journal of Chemical Engineering, 2020, 98(2): 513-524.
  3. Ramos M, Ascencio J, Hinojosa M V, et al. Multivariate statistical process control methods for batch production: a review focused on applications[J]. Production & Manufacturing Research, 2021, 9(1): 33-55.

❤坚持读Paper,坚持做笔记,坚持学习,坚持刷力扣LeetCode❤!!!
坚持刷题!!!打天梯!!!
To Be No.1

⚡⚡


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

ღ( ´・ᴗ・` )


天不生我李淳罡,剑道万古长如夜。

以上是关于Multi-way PCA——多维主成分分析的主要内容,如果未能解决你的问题,请参考以下文章

主成分分析PCA

详解主成分分析PCA

主成分分析(PCA)

统计学习主成分分析PCA(Princple Component Analysis)从原理到实现

主成分分析-PCA

主成分分析(PCA)原理及R语言实现