基於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,參見鏈接

剩餘步驟同此。

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