第 1 页 共 16 页
PCA 方法在工艺故障诊断中的仿真研究与总结
1.算法的基本步骤
Step1:历史工艺数据的选取与预处理. 历史工艺数据选取的合理性直接
决定了我们所建立的 PCA 模型的准确性和有效性,为了保证这一点,我们筛选
历史数据必须要进行以下工作:[1]数据样本大小的确定,这一点我们主要是根
据建立主元模型时主元的个数来确定,在下文中我们将详细介绍. [2]数据样本
类型的一致性(包括样本的维数(包含变量的个数)、样本的阶段数(对于我们
工艺来讲,我们大部分时间关注的都是工艺的主刻阶段)、样本的个数). [3]
数据样本的正确性,即我们所选取的数据必须是历史正常工艺的数据。
根据以上筛选规则,我们本次一共选取了 2006 年 8 月 23——2006 年 8 月
29 日内的 18 组工艺数据,所有 18 组工艺数据的 Recipe 均为 Daily_Poly,
样本的阶段数均为工艺的主刻阶段并且每组工艺数据我们只考虑 26 个重点的工
艺参数。
样本数据选好之后,我们接下来的工作就是数据的预处理过程. 这部分的
工作主要包括以下两个方面:(1)每组工艺数据的去噪和平均化,大家都知道,
我们每组样本数据均选自工艺的主刻阶段,而这一阶段一般要持续 45-60 秒的
时间,按照传感器每 0.5 秒采一次数据进行计算,我们每次主刻阶段的数据一
般是一个(90-120)*26 的矩阵,对于这样一组工艺数据,我们要将其转化成
一个数据样本(也称样本向量,维数 1*26),就必须要进行去噪和平均化. (2)
数据的标准正态化,由于工艺生产中各工艺参数的量纲(单位)均不相同,在进
行工艺计算时,为了消除不同量纲对模拟结果所造成的影响,我们在计算前必须
要对初始样本数据进行标准正态化。
根据以上分析,本文下面就来给出一组实例数据进行预处理过程,设
ijx
为一组工艺数据,这里 n 为数据的个数, m 为变量的个数:
)
mn
X
(
1
第 2 页 共 16 页
X
11
x
x
21
x
n
1
m
m
1
12
x
x
x
x
22
2
x
x
2
n
nm
[1]工艺数据的去噪,去噪的目的是为了减小主刻刚开始阶段工艺数据的
不稳定所造成的计算误差,根据经验,工艺进入主刻后各工艺参数并不能马上达
到稳定状态,需要有 1—2 秒的调整过程,因此,在进行主刻阶段的数据处理时,
我们要去掉前面的 6 个数据点,即从第 7 个点开始才是有效的数据点. 对于上
述工艺数据 X ,经去噪后它就变成
x
x
x
x
82
8
x
x
x
x
81
x
X
72
71
qz
m
m
7
n
1
n
2
nm
[2]工艺数据的样本化,前面已经提到,要将一组工艺数据转化成一个样
本向量,就必须对其进行平均化. 平均化的过程比较简单,即求矩阵 qzX 各列的
平均值:
X
1
e
1[
n
6
n
i
7
x
1
i
,
1
6
n
n
i
7
x
i
2
,
,
1
6
n
n
i
7
x
im
]
[3]样本数据的标准正态化,按照[2]中所给出的方法,将所有 18 组工艺
数据进行平均化,就可以得到一个 18*26 的初始样本矩阵 26*18Y :
上 式 中 , 18k
,
p
p
18
,
,
2
p
1
,各列的标准差为
化为:
Y
,
e
1
e
X
X
2
X
26m
ke
y
y
12
1
m
y
y
22
2
y
y
y
11
y
21
y
, 又 设 上 述 矩 阵 的 各 列 的 平 均 值 分 别 为
km
m
2
1
k
k
s
1
,
s
2
,
,
s
18
,则矩阵Y 经标准化后可转
2
第 3 页 共 16 页
Z
p
1
p
1
p
1
y
11
y
21
y
k
1
s
1
s
1
s
1
p
2
p
2
p
2
y
12
y
22
y
k
2
s
2
s
2
s
2
y
1
m
y
2
y
km
s
18
m
s
18
s
18
p
18
p
18
p
18
Step2:样本数据的协方差矩阵或相关系数矩阵的计算. 初始样本确定后,
根据 PCA 算法的基本原理,我们接下来的工作就是计算样本数据的协方差矩阵
或相关矩阵,至于这里究竟计算那种矩阵,我们可根据以下定理来选取:
定 理:初始样本的相关性矩阵与经过标准正态化后得到的变量矩阵的协方差
矩阵是相等的。
上述定理也即告诉我们,若我们选择样本矩阵Y (未经标准正态化)作为初
始样本,则在进行 PCA 建模时,我们必须要计算矩阵Y 的相关系数矩阵;若我
们选择样本矩阵 Z (已经标准正态化)作为初始样本,则只需要计算矩阵 Z 的协
方差矩阵。
基于上述分析,本文下面给出矩阵Y 的相关性矩阵的计算过程.考虑到下文
叙述的方便性,我们先令:
y
y
[
1
11
y
2
[
y
12
y
21
y
22
,
,
,
,
ky
1
]
ky
2
]
,
,
y
m
[
y
1
m
,
y
2
m
,
,
y
km
]
这样初始样本矩阵Y 就可以简写为:
Y
[
y
1
,
y
2
,
,
my
]
,对于矩阵Y ,其协方
差矩阵为:
COV
)(
Y
y
1
,
)
y
1
)
)
2
,
y
2
y
)
cov(
y
1
var(
cov(
,
y
1
)
cov(
y
m
,
y
2
)
cov(
var(
y
2
y
m
cov(
cov(
y
1
y
2
var(
,
,
y
m
y
m
)
)
y
m
)
上述矩阵中,
Var
(
jy
)
为列向量 jy (
j
,2,1
,
m
)的方差,其计算公式如下:
var(
y
)
j
(
yE
2
j
)
2
(
yE
)
j
(
yE
j
(
yE
2
))
j
1
n
k
i
1
(
y
ij
(
yE
2
))
j
1
n
k
i
1
(
y
ij
1
n
k
i
1
2
y
ij
)
3
第 4 页 共 16 页
Cov
(
y
i
,
y
j
)
为两随机变量的协方差矩阵,
i
,
j
,2,1
,
m
,其具体的计
算公式如下:
cov(
y
i
,
y
j
)
((
yE
i
(
yE
i
))
(
y
j
(
yE
)))
j
又设随机变量
y
1
,
y
2
,
,
my
的标准差分别为
s
1
,
s
2
,
,
ms
,则任意两
个随机变量之间的相关系数为:
(
y
i
,
y
j
)
y
j
)
cov(
s
i
y
i
*
,
s
j
由上式可知:初始样本矩阵
Y
[
y
1
,
y
2
,
,
my
]
的相关系数矩阵为:
)(
Y
(
y
1
,
2
y
1
)
y
2
)
(
,
y
1
1
(
y
m
,
y
1
)
(
y
m
,
y
2
)
(
(
y
1
y
2
,
,
1
y
m
y
m
)
)
Step3:对于步骤 2 中已计算好的协方差矩阵或相关系数矩阵,再计算出
它们的特征向量与特征值,从而建立起相应的主元模型。
根据上述的相关系数矩阵
求得的特征值分别为
1
2
)(Y ,计算其特征值与特征向量. 假设我们所
mp
,
,相应的特征向量分别记为
m
p
1
p
,
,
,
2
则 矩 阵
P
[
p
1
,
p
2
,
,
mp
]
称 为 矩 阵
)(Y 的 负 荷 矩 阵 , 矩 阵
A
[
1
p
1
,
2
p
2
,
,
m p
m
]
称为矩阵
)(Y 的荷载矩阵。
矩阵
)(Y 的特征值与特征向量求出以后,我们接下来要做的工作就是确定
PCA 建模时所需要的主元个数. 根据 PCA 方法的基本原理,主元个数的确定主
要有以下两个因素确定:(1)主元(主成分)所覆盖的信息必须要达到原信息的
85%以上;(2)前面我们已经提到,主元的个数一般与所选取的初始样本的大小
有关,因此,在选取初始样本时,我们一定要选取合适的样本大小,从而使最终
的主元个数介于 3—5 之间。
对于第一个条件,主元(主成分)所覆盖的信息必须要达到原信息的 85%
以上,我们可通过下式来控制:
4
第 5 页 共 16 页
k
i
i
1
m
j
j
1
k
,,, 21
m
在上式中,通过调节 k 值,我们就可以改变信息覆盖率的大小,找出第
一个满足
85.0
的 k 值,该值即为我们所确定的主元个数。
对于第二个条件,我们可采用多次实验的方法来找到一个最佳的样本个数,
从而使主元个数介于 3—5 之间. 本文开始所确定的样本个数 18n
这种方法来确定的:基于对多组工艺数据的反复计算,我们得到了以下结论:当
,也是通过
初始样本数 8n 时,主元的个数一般为三个,当初始样本数
]20,9[n
时,主
元的个数一般是 4—5 个,当初始样本数 n 取较大值时,主元的个数就比较多了.
因此,从主元模型的有效性以及主元的复杂性来考虑,我们最终确定了本文所采
取的初始样本数 18n
。
主元个数确定以后,我们下一步的工作就是建立起用于工艺故障诊断的主
元模型. 假设我们最终所确定的主元个数 4k ,并且它们用
f
1
,
f
2
,
f
3
,
f
4
表
示,特征值
1
4
3
2
,
,
,
所对应的特征向量为:
a
1
[
a
11
a
2
[
a
21
a
3
[
a
31
a
4
[
a
41
,
,
,
,
a
12
,
,
ma
1
]
a
22
,
,
ma
2
]
a
32
,
,
ma
3
]
a
42
,
,
ma
4
]
根据以上条件,我们即可以建立起相应的工艺故障诊断模型,如下所示:
f
f
f
f
1
2
3
4
21
a
11
a
a
31
a
41
*
*
*
*
y
1
y
1
y
1
y
1
22
a
12
a
a
32
a
42
2
*
y
2
*
y
*
y
2
*
y
2
a
1
m
a
a
3
a
2
4
m
*
y
m
*
y
*
y
m
*
y
m
m
m
m
Step4:在上述主元模型的基础上,采用 Q 统计方法(平方预测误差,SPE)
和霍特林 T 方统计方法建立起样本的 Q 统计控制图和 T 方统计控制图(本部分
的内容我们在此不再详细介绍,如有疑问请参考前段时间给大家发送的文档
《PCA 技术》)。
Step5:通过 Q 统计控制图和 T 方统计控制图,我们就可以实现对工艺过
5
第 6 页 共 16 页
程的在线监控,但是若要很快的找出引起故障的原因,我们最后还应该给出主元
的散点图以及主元的得分贡献图。
对于主元的散点图,它实际上是由所有主元中的任意两个主元所组成的平
,则它们一共可以组成 12 个主元平
面,如假设我们有四个主元
f
f
f
f
,
,
,
1
4
3
2
面
1Of
f 、
2
f 、
1Of
3
1Of
f 等。
4
至 于 主 元 得 分 贡 献 的 计 算 方 法 , 我 们 下 面 以 实 例 的 方 式 来 给 出 : 设
Z
[
z
1
,
z
2
,
,
mz
]
为一待检测的样本数据(注意:这里 Z 必须是经过标准正态
化后的数据),则该样本对 4 个主元的得分贡献分别为:
a
C
Z
*
*
*
a
a
a
z
z
T
1
m
12
1
1
11
1
2
*
z
m
C
2
a
2
T
*
Z
a
21
*
z
1
a
22
*
z
2
a
2
m
*
z
m
C
3
a
3
T
*
Z
a
31
*
z
1
a
32
*
z
2
a
3
m
*
z
m
C
4
a
4
T
*
Z
a
41
*
z
1
a
42
*
z
2
a
4
m
*
z
m
仔细观察上式,我们不难发现,样本 Z 对 4 个主元的得分贡献实际上就相
当于将数据样本
Z
[
z
1
,
z
2
,
,
mz
]
代入到主元模型后所得到的主元值。
推 论:若设
A
[
a
1
,
a
,2
a
3
,
a
4
]
为四个主元所对应的特征向量所构成的矩
阵(人们一般将其成为主元子空间),则对于一待检测的样本数据矩阵 mnR ,矩
阵
T
mn
(
t
ij
)
mn
R
mn
*
A
称为样本数据矩阵 mnR 的得分矩阵,其中元素 ijt 表示
第i 个样本对第 j 个主元的得分贡献。
上面我们已经讨论了样本对主元的得分贡献的问题,在实际应用的过程中,
特别是在应用 PCA 进行工艺故障诊断时,我们有时还需求出同一个样本中各变
量 值 对 某 一 主 元 ia (
) 的 得 分 贡 献 向 量 , 譬 如 数 据 样 本
4,3,2,1i
Z
[
z
1
,
z
2
,
,
mz
]
,现要求出 Z 对主元 ia 的得分贡献向量. 对于这样一个问
题,我们下面也以实例的方式来给出它的求解方法:
顾名思义,一个样本中各变量对主元的得分贡献就应该等于该变量值乘以
,它对主元 ia
该主元负荷向量的对应分量,即对于数据样本
mz
Z
z
z
]
[
,
,
,
2
1
的得分贡献向量应为:
6
第 7 页 共 16 页
q
i
*[
z
1
a
1
i
,
z
2
*
a
i
2
,
,
z
m
*
a
im
]
为了方便大家更好、更形象的理解主元的散点图,得分贡献图,本文下面
就来给出我们在近阶段的一些计算结果:
数据采样:2006 年 8 月 23 日—2006 年 8 月 29 日内 18 组工艺数据,其
中 Recipe 均为 Daily_Poly,样本的数据均为工艺的主刻阶段的数据,并且
每组工艺数据我们只考虑 26 个重点的工艺参数。
第 一 、 二 主 元 的 散 点 图
样 本 1
样 本 6
样 本 8
样 本 2
样 本 3
1.5
1
0.5
0
元
主
二
第
-0.5
样 本 5
样 本 9
样 本 4
样 本 7
-1
-1.5
-1
-0.5
0
第 一 主 元
0.5
1
1.5
7
元
主
三
第
元
主
三
第
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1.5
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
第 8 页 共 16 页
第 一 、 三 主 元 的 散 点 图
样 本 3
样 本 1
样 本 8
样 本 4
样 本 7
样 本 5
样 本 2
样 本 9
样 本 6
-1
-0.5
0
第 一 主 元
0.5
1
1.5
第 二 、 三 主 元 的 散 点 图
样 本 3
样 本 5
样 本 7
样 本 4
样 本 9
样 本 1
样 本 8
样 本 2
样 本 6
-0.5
0
第 二 主 元
0.5
1
1.5
8