基于ICA的线性监督分类的故障诊断方法-AO统计量计算

ICA+AO统计量

数据预处理

此处同I2I^2统计量的预处理方法,见链接。下文部分未申明的变量均可在预处理部分找到含义。

AO统计量的计算

注:此部分原理比较复杂,以下总结可能会存在错误

必备公式

(1)

随机选择d维空间(与FastICA中选择维度数一致)的h个单位列向量(对随机向量进行单位化可得到随机的单位向量),h一般250左右即可(再大可能无明显增益),组成矩阵H:
H=(v1,v2,...vh)T {\rm{H = (}}{v_1},{v_2},...{v_h}{{\rm{)}}^{\rm{T}}}
(2)

对某从小到大排列的向量xn{{\rm{\vec x}}_{\rm{n}}}的中位数计算方案,定义为med,即:
med(xn)={(xn/2+x(x/2)+1)/2    if  n  is  evenx(n+1)/2                                        if  n  is  odd {\rm{med(}}{{\rm{\vec x}}_{\rm{n}}}{\rm{) = }}\left\{ \begin{array}{l} ({x_{n/2}} + {x_{(x/2) + 1}})/2{\rm{\;\;if\;}}n{\rm{\;is\;even}}\\ {x_{(n + 1)/2}}{\rm{\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;if\;}}n{\rm{\;is\;odd}} \end{array} \right.
含义就是,若长度为偶数,用中间两个数的均值作为中位数,若长度为奇数,用中间那个数作为中位数。

(3)

对某从小到大排列的向量xn{{\rm{\vec x}}_{\rm{n}}}(向量中元素个数为n),其四分位数计算方案如下:

Q1Q_1是第一 四分位数,Q3Q_3是第三 四分位数,IQR是四分位距:
Q1(xn)=xint(n0.25) {{\rm{Q}}_1}({\vec x_n}) = {{\rm{\vec x}}_{{\mathop{\rm int}} (n*0.25)}}

Q3(xn)=xint(n0.75) {{\rm{Q}}_3}({\vec x_n}) = {{\rm{\vec x}}_{{\mathop{\rm int}} (n*0.75)}}

IQR(xn)=Q3(xn)Q1(xn) IQR({\vec x_n}) = {Q_3}({\vec x_n}) - {Q_1}({\vec x_n})

注:上面定义的med中位数,可以看成是这里的第二 四分位数。

(4)

medcouple计算方法,记为MC:
MC(x)=medximed(x)xjh(xi,xj) {\rm{MC}}({\rm{\vec x}}) = \mathop {{\rm{med}}}\limits_{{x_i} \le {\rm{med}}({\rm{\vec x}}) \le {x_j}} h({x_i},{x_j})
其中,核函数h(xi,xj)h({x_i},{x_j})计算方法:

​ 当xixj{x_i} \ne {x_j}时:
h(xi,xj)=(xjmed(x))(ximed(x))xjxi h({x_i},{x_j}){\rm{ = }}\frac{{\left| {({x_j} - med({\rm{\vec x}})) - ({x_i} - med(\vec x))} \right|}}{{{x_j} - {x_i}}}
​ 当xi=med(x)=xj{x_i}{\rm{ = med}}({\rm{\vec x}}){\rm{ = }}{x_j},设从小到大的向量xn{{\rm{\vec x}}_{\rm{n}}}中,存在
xb+1=xb+2=...=xb+i=...=xb+j=xb+k=med(x) {x_{b + 1}} = {x_{b + 2}} = ... = {x_{b + i}} = ... = {x_{b + j}} = {x_{b + k}} = med({\rm{\vec x}})
​ 共k个元素与med(x){\rm{med}}({\rm{\vec x}})相等,则:
h(xb+i,xb+j)={1,if    i+j1<k      0,if    i+j1=k+1,if    i+j1>k h({x_{b + i}},{x_{b + j}}){\rm{ = }}\left\{ \begin{array}{l} {\rm{ - 1, if\;\;}}i + j - {\rm{1 < }}k\\ {\rm{ \;\;\;0 , if\;\;}}i + j - {\rm{1 = }}k\\ {\rm{ + 1, if\;\;}}i + j - {\rm{1 > }}k \end{array} \right.
可以证明 h(xi,xj)[1,1]h({x_i},{x_j}) \in [ - 1,1]

注:statsmodels库提供了medcouple计算函数,并且最新版修复了一个小误差。

(5)

向量xn{{\rm{\vec x}}_{\rm{n}}}的边界c1c_1c2c_2(与箱型图有关的一个量)的计算方法:
[c1(xn),c2(xn)]=[Q11.5e3.5MCIQR  ,  Q3+1.5e4MCIQR]if  MC(xn)0 [{c_1}({{\rm{\vec x}}_{\rm{n}}}),{c_2}({{\rm{\vec x}}_{\rm{n}}})] = \left[ {{{\rm{Q}}_1} - 1.5{e^{ - 3.5MC}}IQR{\rm{\;,\;}}{Q_3} + 1.5{e^{4MC}}IQR} \right]{\rm{ if\;MC}}({{\rm{\vec x}}_{\rm{n}}}) \ge {\rm{0}}

[c1(xn),c2(xn)]=[Q11.5e4MCIQR  ,  Q3+1.5e3.5MCIQR]if  MC(xn)0 [{c_1}({{\rm{\vec x}}_{\rm{n}}}),{c_2}({{\rm{\vec x}}_{\rm{n}}})] = \left[ {{{\rm{Q}}_1} - 1.5{e^{ - 4MC}}IQR{\rm{\;,\;}}{Q_3} + 1.5{e^{3.5MC}}IQR} \right]{\rm{ if\;MC}}({{\rm{\vec x}}_{\rm{n}}}) \le {\rm{0}}

注:上述Q1Q_1肯定是向量xn{{\rm{\vec x}}_{\rm{n}}}Q1Q_1值啦,其他类推。

(6)

向量xn{{\rm{\vec x}}_{\rm{n}}}的拒绝策略:
cutoff(x)={Q3(x)+1.5e4MC(x)IQR(x)    if    MC(x)0Q3(x)+1.5e3.5MC(x)IQR(x)    if    MC(x)0 {\rm{cutoff(}}\vec x{\rm{)}} = \left\{ \begin{array}{l} {Q_3}(\vec x) + 1.5{{\rm{e}}^{{\rm{4MC(\vec x)}}}}IQR(\vec x){\rm{\;\;if\;\;MC(}}\vec x{\rm{)}} \ge {\rm{0}}\\ {Q_3}(\vec x) + 1.5{{\rm{e}}^{{\rm{3}}{\rm{.5MC(\vec x)}}}}IQR(\vec x){\rm{\;\;if \;\;MC(}}\vec x{\rm{)}} \le {\rm{0}} \end{array} \right.
(7)

最为关键的AO统计量的计算公式啦啦啦:

矩阵X=(x1,...,xi,...,xn)T{\rm{X = (}}{\vec x_1},...,{\vec x_i},...,{\vec x_n}{{\rm{)}}^T}的中任一个样本向量xi{\vec x_i}的AO值计算方法:
AO(xi,X)=maxvHxiTvmed(Xv)(c2(Xv)med(Xv))I[xiTv>med(Xv)]+(med(Xv)c1(Xv))I[xiTv<med(Xv)] {\rm{AO(}}{\vec x_i},{\rm{X) = }}\mathop {\max }\limits_{v \in H} \frac{{\left| {\vec x_i^Tv - med({\rm{X}}v)} \right|}}{{({c_2}({\rm{X}}v) - med({\rm{X}}v))I[\vec x_i^Tv > med({\rm{X}}v)] + (med({\rm{X}}v) - {c_1}({\rm{X}}v))I[\vec x_i^Tv < med({\rm{X}}v)]}}
其中,I[]{I[·]}表示当内部条件成立时,该函数结果为1,否则为0。(暂不清楚为何上式内部条件中没有考虑等于号,实现该函数时,个人觉得可以把等于的情况归于大于号,即变成大于等于号。)

AO统计量的控制限

I2I^2统计量的控制限一样,采用KDE法求取,参见链接

将AO统计量应用于故障诊断的步骤

首先,经过FastICA变换,得到n个样本的所有源信号s(d维)组成的源矩阵:
S(nd)=XnmWdmT=(s1(d1),...,sn(d1))T {{\rm{S}}_{{\rm{(n*d)}}}}{\rm{ = }}{{\rm{X}}_{{\rm{n*m}}}}{\rm{W}}_{{\rm{d*m}}}^T = {({s_{1(d*1)}},...,{s_{n(d*1)}})^{\rm{T}}}
求取S所有样本向量的AO值:
AO(S)=[AO(s1,S),...,AO(si,S),...,AO(sn,S)]T {\rm{AO(S) = [AO(}}{s_{\rm{1}}}{\rm{,S)}},...,{\rm{AO(}}{s_i}{\rm{,S),}}...{\rm{,AO(}}{s_{\rm{n}}}{\rm{,S)}}{{\rm{]}}^T}
求取AO向量的cutoff值:
cutoff=cutoff(AO(S)) {\rm{cutoff = cutoff(AO(S))}}
AO(si)>cutoff{\rm{AO(}}{{\rm{s}}_i}{\rm{) > cutoff}},则将训练集样本XnmX_{n*m}中的xi{\vec x_i}标记为极端值。

从X中剔除掉所有极端值,得到XrobustX_{robust},重新进行FastICA,得到Srobust{S_{robust}}

计算SrobustS_{robust}的AO值向量:
AO(Srobust) {\rm{AO(}}{{\rm{S}}_{{\rm{robust}}}}{\rm{)}}
采用KDE估计此AO向量的概率密度函数,并求取置信区间,记控制限求取结果为AOα{AO}_{\alpha}

对于新的样本矩阵XnewX_{new},采用上述第二次FastICA的参数(包括均值化和变换矩阵等参数)对其进行FastICA变换,得到Snew=(s1,...,si,...,sn)T{{\rm{S}}_{{\rm{new}}}}{\rm{ = (}}{\vec s_{\rm{1}}}{\rm{,}}...{\rm{,}}{\vec s_i}{\rm{,}}...{\rm{,}}{\vec s_n}{{\rm{)}}^T},然后求取AO值(注意新样本,与训练样本此公式的异同):
AO(si,Srobust)=maxvHsiTvmed(Srobustv)(c2(Srobustv)med(Srobustv))I[siTv>med(Srobustv)]+(med(Srobustv)c1(Srobustv))I[siTv<med(Srobustv)] {\rm{AO(}}{\vec s_i}{\rm{,}}{{\rm{S}}_{{\rm{robust}}}}{\rm{) = }}\mathop {\max }\limits_{v \in H} \frac{{\left| {\vec s_i^Tv - med({{\rm{S}}_{{\rm{robust}}}}v)} \right|}}{{({c_2}({{\rm{S}}_{{\rm{robust}}}}v) - med({{\rm{S}}_{{\rm{robust}}}}v))I[\vec s_i^Tv > med({{\rm{S}}_{{\rm{robust}}}}v)] + (med({{\rm{S}}_{{\rm{robust}}}}v) - {c_1}({{\rm{S}}_{{\rm{robust}}}}v))I[\vec s_i^Tv < med({{\rm{S}}_{{\rm{robust}}}}v)]}}

故障判定

如果系统正常运行,新样本xix_i的AO值,应满足AO(si)<AOα{\rm{AO}}({\vec s_i}) < {\rm{A}}{{\rm{O}}_\alpha },反之,认为出现故障。

参考文献

Brys, G, M Hubert和A Struyf. 《A Robust Measure of Skewness》. Journal of Computational and Graphical Statistics 13, 期 4 (2004年12月): 996–1017. https://doi.org/10.1198/106186004X12632.

Brys, G., M. Hubert和P. J. Rousseeuw. 《A Robustification of Independent Component Analysis》. Journal of Chemometrics 19, 期 5–7 (2005年5月): 364–75. https://doi.org/10.1002/cem.940.

Hsu, Chun-Chin, Mu-Chen Chen和Long-Sheng Chen. 《A Novel Process Monitoring Approach with Dynamic Independent Component Analysis》. Control Engineering Practice 18, 期 3 (2010年3月): 242–53. https://doi.org/10.1016/j.conengprac.2009.11.002.

Lee, Jong-Min, ChangKyoo Yoo和In-Beum Lee. 《Statistical process monitoring with independent component analysis》. Journal of Process Control 14, 期 5 (2004年8月1日): 467–85. https://doi.org/10.1016/j.jprocont.2003.09.004.

DICA+AO统计量

X(l)生成过程同DPCA,参见链接

剩余步骤同此。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章