PCA故障檢測步驟

2021-08-20 17:29:05 字數 1473 閱讀 1309

pca故障檢測步驟

1. 利用正常資料作為訓練集,例如 a = 4 * 5;(此處4 * 5代表行列數,以下相同)

2. 標準化處理這個矩陣,即減去均值的方法,使得每列元素的平均值為0,那麼各個元素的平方和就是方差;

3. 求得這個矩陣a的協方差矩陣,即c = (1 / 5) * (at * a),c =  5 * 5;

4. 需要求出協方差矩陣的特徵向量以及特徵值,記為p1,p2,p3,p4,p5, λ1,λ2,λ3,λ4,λ5;

5. 按照特徵值大小排列,取前一些的大的特徵值,按照例子,應該是5個特徵值,(這裡有固定的方法決定選取幾個,例如貢獻率法,讀者自己查一下吧)若取3個作為主元,那麼取p1,p2,p3這三個向量組成負荷矩陣p =(p1,p2,p3) =  5 * 3;

6. 規定得分矩陣為t = x * p,這裡的t就是降維後的結果,由於p是正交矩陣(即p * pt = e),所以有些**中在最開始寫成x = t * (pt );

7. 而我們規定的主元模型就是  p *(pt) = 5 * 5;(這裡是我們所規定的故障檢測用的模型,不是降維結果,請讀者分辨清楚)

8. 故障檢測方法,這裡只記錄一下spe統計(還有乙個t²統計):

利用  原資料x* 主元模型(即p *(pt)) = (4* 5) * (5*5) = (4 * 5) = x~

這裡 x~ 其實就是正常資料在主元模型上的投影

設定乙個e  =  x  -  x~ ,(差不多算是誤差吧);

9. 那麼spe = (et) *  e,(就是取誤差的平方,所以也叫平方**誤差)

因為是在正常資料下確定的這個spe,所以就一定小於乙個q值(稱為控制限,也叫閾值,也可以認為是最大值),這個q值是通過我們計算的特徵值等相關量計算得出的,我們在訓練資料的時候,主要目的就是為了得到這個值。

10. 然後在有新的測量資料時,通過以上9條計算出(新測量資料的)spe值,然後和正常資料下確定的q值(控制限)對比,如果高於這個值就認為是故障資料(實際測試時要高於好幾次以上才算)。

下面給一下pca降維的步驟:

還是假設有n個樣本,每個樣本的特徵用n維表示,生成矩陣a(n * m);

1. 將a的每一列進行零均值化,即用每一列的資料減去該列的均值得到矩陣x;

2. 計算協方差矩陣c = xt x;

3. 計算協方差矩陣c的特徵值與特徵向量; 

4. 將特徵向量按照對應特徵值的大小按列排列生成矩陣p; 

5. 假設我們要將m維的向量降維成k維,只需要取p的前k列構成矩陣p1; 

6. 求解降維後的資料s = x * p1;

我一直沒弄懂用**如何實現上面講的故障檢測,如果有大神剛好路過,必要留下****把酒言歡一下。

PCA降維步驟

資料在低維下更容易處理 更容易使用 相關特徵,特別是重要特徵更能在資料中明確的顯示出來 如果只有兩維或者三維的話,更便於視覺化展示 去除資料雜訊 降低演算法開銷 降維通俗點的解釋 一些高維度的資料,比如 交易資料,為便於解釋降維作用,我們在這假設有下單數,付款數,商品類別,售價四個維度,資料量上百萬...

PCA用於異常檢測思路

用pca進行異常檢測的原理是 pca在做特徵值分解之後得到的特徵向量反應了原始資料方差變化程度的不同方向,特徵值為資料在對應方向上的方差大小。所以,最大特徵值對應的特徵向量為資料方差最大的方向,最小特徵值對應的特徵向量為資料方差最小的方向。原始資料在不同方向上的方差變化反應了其內在特點。如果單個資料...

基於PCA的人臉識別步驟

人臉識別是乙個有監督學習過程,首先利用訓練集構造乙個人臉模型,然後將測試集與訓練集進行匹配,找到與之對應的訓練集頭像。最容易的方式是直接利用歐式距離計算測試集的每一幅影象與訓練集的每一幅影象的距離,然後選擇距離最近的影象作為識別的結果。這種直接計算距離的方式直觀,但是有乙個非常大的缺陷 計算量太大。...