李穎瑩 郭亦可 蔡藝茗
華北水利水電大學 河南 鄭州 450045
推動生產(chǎn)企業(yè)高質(zhì)量發(fā)展,最根本的底線是保證安全、防范風險,而生產(chǎn)過程中產(chǎn)生的數(shù)據(jù)能夠?qū)崟r反映潛在的風險。在工廠一天的生產(chǎn)中,各物理量不可能保持恒定不變,其觀測數(shù)值必將產(chǎn)生波動,這可能是電機設(shè)備的功率浮動、車間氣溫變化亦或是供電電壓產(chǎn)生跌落導致的,也可能是傳感器自身精度所致。溫度、濃度、壓力等與安全密切相關(guān)的數(shù)據(jù)的波動十分重要,對其數(shù)據(jù)波動的判定和預(yù)測值得深入研究。
假設(shè)1:數(shù)據(jù)庫內(nèi)的所有數(shù)據(jù)都是真實有效的;
假設(shè)2:假設(shè)某一類事件出現(xiàn)頻率較多時,該事件的某個屬性對應(yīng)的參數(shù)分布概率可用同類事件中該參數(shù)出現(xiàn)的頻率近似表示;
假設(shè)3:忽略主成分分析中次要成分帶來的微小影響;假設(shè)4:假設(shè)傳感器的精度保持不變
考慮到數(shù)據(jù)庫的數(shù)據(jù)龐大,首先對數(shù)據(jù)進行歸一化預(yù)處理,將這些數(shù)據(jù)轉(zhuǎn)為[0,1]之間的數(shù),可以消除數(shù)據(jù)因大小不一而造成的偏差。數(shù)據(jù)的歸一化有很多方法,本文采用最大最小法對傳感器的數(shù)據(jù)進行歸一化處理。數(shù)據(jù)進行歸一化的公式如下所示:
考慮到數(shù)據(jù)集中傳感器有100組數(shù)據(jù),過多的數(shù)據(jù)量對分析造成了影響,故選用主成分分析法進行分析,并對指標進行聚類?,F(xiàn)有由100個樣本作為行(行數(shù)為n),5519個指標作為列(列數(shù)為p)而組成的551900個元素的樣本矩陣x(由于該矩陣過于龐大,故略去出變化過程中的矩陣,以范式代表它的變化):
本文選取累積貢獻率達到百分之八十的主成分,其中前36個主成分的累計貢獻率為80.61%,故將100個指標降為36個指標進行分析。
ARIMA模型是時間序列分析的典型模型,是一種分析時間序列的最為發(fā)達和廣泛應(yīng)用的方法。ARIMA模型,也叫Box-Jenkins模型,能夠擴展成分析時間序列,包括周期性趨勢?;陉P(guān)于時間序列的特征的先前研究,可以指定時間序列,即自回歸順序(p)、差分次數(shù)(d)和移動平均順序(q)三個參數(shù)來分析。ARIMA模型表示與時間組有關(guān)的隨機變量與相應(yīng)的數(shù)學模型之間的關(guān)系,以便根據(jù)過去的時間序列和目前的數(shù) 值預(yù)測該序列的持續(xù)發(fā)展及其未來的數(shù)值。ARIMA模型主要通過以下4個步驟進行建模:序列平穩(wěn)化處理、模型階數(shù)判定、參數(shù)估計、模型監(jiān)測應(yīng)用。
由于數(shù)據(jù)的波動較為頻繁,不利于尋找規(guī)律,故對序列進行濾波處理,將波動較小的部分去除,將主成分分析完成后的36個主成分濾波前后的數(shù)據(jù)做可視化處理,如下圖所示(篇幅有限,僅展示部分):
圖4-1 濾波波動圖
首先觀察藍色曲線,濾波濾除的即是短暫且較小的波動,這類波動是獨立且隨機的,因此可以認為是傳感器誤報,將其視為非風險性異常。進行濾波后,觀察紅色曲線,可以看到主成分三、四等的紅色曲線沒有較大的波動,且具有一定的周期性,很有可能是自動化生產(chǎn)線器械的自然規(guī)律,如異步電機的調(diào)速等,因此亦判定為非風險性異常。而主成分一、二、五等具有明顯的持續(xù)性和聯(lián)動性,其波動表現(xiàn)在時間序號1931等處呈集中爆發(fā)樣式,且在此之后并未快速回復(fù),因此將它們判定為風險性異常數(shù)據(jù)。
綜上所述,小組使用主成分分析法和ARIMA時間序列模型,提出了風險性異常數(shù)據(jù)的判定方法,使問題一得到解決。
為了按照真實的比重給各個波動的主成分,需要使用臨近分析法對主成分進行加權(quán),NCA是一種基于鄰域分量的特征選擇方法,在有監(jiān)督的機器學習方法中,通過NCA多步跌代算法對用于分類的特征向量進行分析,以此獲得不同的特征向量的分類中的權(quán)重大小,可根據(jù)權(quán)重的大小對原始的特征向量進行進一步篩選,進一步對數(shù)據(jù)進行降維,對整個訓練網(wǎng)絡(luò)進行優(yōu)化。在第一問中我們已經(jīng)通過PCA降維算法對傳感器數(shù)據(jù)進行了排序和權(quán)重計算,在本問中進一步利用NCA對影響恐怖襲擊等級的特征向量的排序和權(quán)重進行進一步的討論,以此來得出風險性異常數(shù)據(jù)異常程度的量化評價方法。
計算得出的NCA與PCA特征向量權(quán)重/得分如下圖所示:
圖4-2 NCA特征向量得分示意圖
由此,小組對每一時刻的主成分均進行了加權(quán)后計算數(shù)值結(jié)果,并將其線性映射到(0,100)的區(qū)間內(nèi),并挑選出結(jié)果最高的五個時刻并記錄。部分異常傳感器的波動圖像如下圖所示:
圖4-3 部分異常傳感器的波動圖
為了建立預(yù)測模型對未來(23:00-24:00)進行預(yù)測,分別采用數(shù)據(jù)擬合和灰色預(yù)測模型進行建模。數(shù)據(jù)擬合采用Matlab數(shù)據(jù)擬合工具箱進行,通過嘗試不同的擬合函數(shù)。采用機器學習的算法進行網(wǎng)絡(luò)訓練,其一般的網(wǎng)絡(luò)如圖7.1所示。其中恐怖等級特征向量作為網(wǎng)絡(luò)的輸入,等級標簽作為網(wǎng)絡(luò)的輸出,輸入信號從輸入層經(jīng)隱含層逐層處理,直至輸出層,每一層神經(jīng)元只影響下一層神經(jīng)元狀態(tài)。如果輸出得不到期望輸出,則轉(zhuǎn)入反向傳播。
步驟1:網(wǎng)絡(luò)初始化。根據(jù)系統(tǒng)輸入輸出序列(X,Y)確定網(wǎng)絡(luò)輸入層節(jié)點n、
隱含層節(jié)點數(shù)I,輸出層節(jié)點數(shù)m,初始化輸入層、隱含層和輸出層神經(jīng)元之間的連接權(quán)值Wij,Wjk。初始化隱含層閾值a,輸出層閾值b,給定學習速率和神經(jīng)元激勵函數(shù)。
步驟2:隱含層輸出計算。根據(jù)輸入變量X,輸入層和隱含層連接權(quán)值ijw以及隱含層閾值a,計算隱含層輸出H。
式中,l為隱含層節(jié)點數(shù);f為隱含層激勵函數(shù),該函數(shù)有多種表達形式,其中默認的激勵函數(shù)為:
步驟3:輸出層計算。根據(jù)隱含層輸出H,連接權(quán)值Wjk和閾值b,計算BP神經(jīng)網(wǎng)絡(luò)預(yù)測OK。
步驟4:誤差計算。根據(jù)網(wǎng)絡(luò)預(yù)測輸出O和期望輸出Y,計算預(yù)測誤差。
步驟5:權(quán)值更新。根據(jù)網(wǎng)絡(luò)預(yù)測誤差e更新網(wǎng)絡(luò)連接權(quán)值Wij,Wjk。
步驟6:判斷算法迭代是否結(jié)束,若沒有結(jié)束,返回步驟2。
可以看到訓練后的模型預(yù)測值與訓練集數(shù)據(jù)已經(jīng)十分接近,故將訓練后的參數(shù)代入到ARIMA時間序列預(yù)測模型中。
在第三問中已經(jīng)預(yù)測了23:00-24:00的數(shù)據(jù),小組已經(jīng)掌握了全面的時間序列分析,則由一二問的數(shù)學模型可以得到任意時間點的異常程度得分,由于異常程度與安全性是相反的邏輯關(guān)系,故異常程度得分取線性負相關(guān)后映射到(0,1)內(nèi),并以30分鐘為域進行積分,將積分后得到的結(jié)果映射到(0,100)內(nèi)。
敏感性分析一般借助simlab軟件,首先通過simlab軟件進行樣本采樣,生成.SAM文件(我定義了7個參數(shù)),然后讀取文件中的參數(shù)值,代入PROSAIL模型得到的結(jié)果生成是simlab可以讀取的模型結(jié)果文件,得到敏感性分析如下圖所示:
圖4-4 敏感性分析效果圖
由此可見,本模型的敏感性程度適中,不存在明顯問題。
本模型的優(yōu)點是使用主成分分析法降低了數(shù)據(jù)的維度,使得算法的空間復(fù)雜度大大降低,同時使用ARIMA時間序列模型進行波動異常值篩選,經(jīng)檢驗有較高的準確性。同時,為了準確預(yù)測23:00-24:00的未來走勢,使用機器學習來對ARIMA模型的參數(shù)進行優(yōu)化,得到了精準的預(yù)測,并對敏感性進行了檢驗。
在算力足夠的情況下,應(yīng)該繼續(xù)擴大主成分的權(quán)值到95%左右,這樣得到的結(jié)果將更為精確;同時,對波動的濾波可以分段分層進行,以保證將所有異常值全部找到,目前使用的濾波方法的閾值選擇過于主觀,并未客觀分析異常波動與波動幅值之間的關(guān)聯(lián)性。