摘" 要:為提高發(fā)電機組設備運行維護管理水平,提出一種基于PCA-Informer方法的發(fā)電設備故障預測技術(shù)。首先使用主成分分析(PCA)算法降低時間序列數(shù)據(jù)的特征維度;其次將數(shù)據(jù)分批次輸入Encoder中,由Encoder執(zhí)行蒸餾操作,提取長時間序列輸入間的Long-Range依賴,通過蒸餾操作為重要特征賦予更高的權(quán)重,并在下一層生成聚焦的Self-Attention Feature Map;最后由Decoder通過一個正向過程一步生成長序列輸出。通過實驗驗證,該方法能夠有效地對發(fā)電設備的故障進行預測。
關(guān)鍵詞:發(fā)電機設備;主成分分析;Informer;故障預測
中圖分類號:TP391;TP183 文獻標識碼:A 文章編號:2096-4706(2024)12-0121-04
Abnormal Analysis of Generator Equipment Based on Time Series
LU Zhao, LONG Faning, CHEN Guonian
(Yulin Normal University, Yulin" 537000, China)
Abstract: To improve the level of maintenance and management of power generation equipment operation, a fault prediction technology for power generation equipment based on PCA-Informer method is proposed. Firstly, it uses Principal Component Analysis (PCA) algorithm to reduce the feature dimension of time series data. Secondly, the data is inputted into the Encoder in batches, and the Encoder performs distillation operations to extract Long-Range dependencies between long time series inputs. The important features are given higher weights through distillation operation, and a focused Self-Attention Feature Map is generated in the next layer. Finally, the Decoder generates a long sequence output by one-step reaction through a forward process. Experimental results show this method can effectively predict the faults of power generation equipment.
Keywords: generator equipment; PCA; Informer; fault prediction
0" 引" 言
由于能源的需求不斷增加,我國持續(xù)推動風力、光伏發(fā)電場的建設。這些發(fā)電場一般位于相對較偏僻的平原、山頂或者海上,不利于對發(fā)電機組設備實施運行監(jiān)測和故障維修。為提高發(fā)電機組設備運行維護管理水平,采用智能系統(tǒng)成為故障診斷研究領域的一個重要發(fā)展方向和必然趨勢[1]。例如,張李煒等提出了基于Apriori算法和卷積神經(jīng)網(wǎng)絡的風電機組故障診斷模型[2],周凌等進行了基于FISSA-DBN模型的風電機組運行狀態(tài)監(jiān)測研究[3];劉志剛等進行了基于小波包-神經(jīng)網(wǎng)絡的電廠發(fā)電機組故障診斷研究[4];朱小超提出了基于聚類算法的光伏發(fā)電設備故障診斷方法[5];陳萬志等提出了融合LSTM和優(yōu)化SVM的風力發(fā)電機組故障預測方法[6]。這些方法在發(fā)電設備的監(jiān)測與故障診斷方面均取得了一定的成效。本文將基于Informer [7]模型為基礎,對某風電場群一年的SCADA系統(tǒng)數(shù)據(jù)進行分析,實現(xiàn)對風機短期的故障預測,同時為后續(xù)學者研究提供參考。
1" Informer模型
Informer模型是改進后的Transformer網(wǎng)絡模型,通過使用多頭概率稀疏自注意力機制,給重要特征分配更大的權(quán)重,降低了網(wǎng)絡模型的時間復雜度[8],同時基于生成式解碼提高預測速度,解決了時間序列數(shù)據(jù)的長時(Long-Range)依賴問題,對于長時間序列預測具有顯著優(yōu)勢。Informer模型保留了Transformer的基礎構(gòu)成,其在整體上是由編碼器(Encoder)以及解碼器(Decoder)兩個部分構(gòu)成。Informer模型的整體框架如圖1所示。
在Informer模型中,編碼器主要用于獲取原始輸入序列魯棒性的長期依賴,而解碼器則進一步實現(xiàn)序列預測[9]。如圖1所示,圖的左側(cè)部分為編碼器(Encoder)部分,它負責接收的是超長的輸入數(shù)據(jù)(feed_en),然后再將傳統(tǒng)的Self-Attention層替換為ProbSpare Self-Attention層。使用Self-Attention Disilling操作來進行特征壓縮。Encoder模塊通過堆疊上述的兩個操作來提高算法的魯棒性。右側(cè)是Decoder部分,它接收一系列的長序列輸入(feed_de),并將預測目標位置填充為0,再通過經(jīng)過Mask的Attention層,最后一步生成預測輸出。
2" 實驗數(shù)據(jù)及預處理
所使用的數(shù)據(jù)來源于微信公眾號“數(shù)據(jù)如琥珀”,數(shù)據(jù)主要描述的是某風電場群在2016年和2017年這兩年SCADA真實運行數(shù)據(jù),該數(shù)據(jù)集包含了風機正常運行時的SCADA的實時數(shù)據(jù)、故障日志、重要的事件日志、風機出廠參數(shù)等。從中選取htw-failures-2017.csv(2017年風電場群在運行時出現(xiàn)故障的時間以及故障類型等)和data_wind_prod.csv(2017年風電場群正常運行時的SCADA的實時數(shù)據(jù))分別進行預處理,最后合并成4臺風機(Turbine_ID)、82個特征(Timestamp、Gen_RPM_Max等)、1個標簽(Label)和210 235行記錄數(shù)據(jù)的數(shù)據(jù)集,如表1所示。
因為Informer模型的時間復雜度為O(LlogL),其中L是序列的長度。特征數(shù)量多造成計算量過大,需要進行降維處理。本文采用主成分分析(PCA)算法對特征參數(shù)進行訓練,并獲取其中與數(shù)據(jù)關(guān)聯(lián)性較高的部分特征。首先需要剔除數(shù)值一直沒有波動的列,再對數(shù)據(jù)進行歸一化處理。其次計算協(xié)方差矩陣,求解協(xié)方差矩陣的特征值與特征向量[10]。最后,特征值進行排序,獲取前20個最大的特征值。
3" 對比實驗
使用Informer模型進行長序列預測的命令行參數(shù)設置和訓練,包括數(shù)據(jù)選擇、模型參數(shù)設置、訓練循環(huán)以及額外選項。通過設置不同參數(shù)組合,可實現(xiàn)對不同類型數(shù)據(jù)的預測任務。為了驗證Informer模型對風機故障的預測效果,本文進行三個對比實驗,分別為:基于百度PaddleTs的RNN對比實驗,基于百度PaddleTs的MLP對比實驗,以及基于TensorFlow的LSTM對比實驗。并將均方誤差(MSE)以及平均絕對誤差(MAE)的結(jié)果作為模型性能的評價指標。
以下是Informer模型算法的偽代碼:
輸入:序列數(shù)據(jù)X = {x1,x2,…,xn},序列長度L,嵌入維度d,頭數(shù)h,層數(shù)N,dropout rate p
輸出:預測標簽?
初始化位置編碼PE
初始化輸入嵌入矩陣E = Embedding(X)
將輸入嵌入矩陣E與位置編碼PE相加得到輸入矩陣Input = E + PE
初始化多頭自注意力機制MultiHeadAttention和前饋神經(jīng)網(wǎng)絡FeedForward
初始化輸出矩陣Output = Input
for layer in range(N):
1)計算自注意力得分AttentionScores=MultiHeadAttention(Output,Output,Output)
2)對自注意力得分進行dropout操作AttentionScores=Dropout(AttentionScores,p)
3)將自注意力得分轉(zhuǎn)化為權(quán)重矩陣 AttentionWeights=Softmax(AttentionScores)
4)使用權(quán)重矩陣對輸入矩陣進行加權(quán)求和 WeightedSum = MatMul(AttentionWeights,Input)
5)將加權(quán)求和結(jié)果通過前饋神經(jīng)網(wǎng)絡得到輸出矩陣Output = FeedForward(WeightedSum)
6)對輸出矩陣進行dropout操作Output = Dropout(Output,p)
7)將輸出矩陣與輸入矩陣進行殘差連接并歸一化Output = LayerNorm(Output+Input)
通過線性層將輸出矩陣轉(zhuǎn)化為預測標簽? = Linear(Output)
返回預測標簽?
主Informer源文件(代碼略)提供了訓練和測試模型的過程,包括輸出信息、計算均方誤差和平均絕對誤差、保存結(jié)果為列表和DataFrame格式,并將DataFrame保存為CSV文件。主要思路和步驟如下:
1)導入所需的庫,包括argparse(用于處理命令行參數(shù))、os、numpy、pandas、torch等。
2)定義一個名為parser的ArgumentParser對象,這是argparse庫中的一個類,用于存儲所有需要解析的命令行參數(shù)信息。
3)使用add_argument()方法向parser對象中添加各種命令行參數(shù),如模型名稱、數(shù)據(jù)名稱、數(shù)據(jù)文件路徑、預測任務類型等。每個add_argument()調(diào)用都會創(chuàng)建一個新的命令行參數(shù)選項。
4)使用parse_args()方法解析命令行參數(shù),并將結(jié)果保存在一個名為args的對象中。這個對象包含了所有的命令行參數(shù)值。
5)根據(jù)args對象中的參數(shù)值,執(zhí)行相應的操作。例如,如果args.model的值為'informerstack',則創(chuàng)建一個Exp_Informer對象;如果args.use_gpu為True且torch.cuda.is_available()也為True,則將args.use_gpu設置為True。
6)在for循環(huán)中,根據(jù)不同的數(shù)據(jù)名稱(如'特征-標簽數(shù)據(jù)')和目標特征(如'M'),從data_parser字典中獲取相應的數(shù)據(jù)信息,并將其保存在args對象中。然后根據(jù)這些參數(shù)值執(zhí)行相應的操作。
首先將訓練結(jié)果按模型與特征選取數(shù)量進行分組,繪制特征選取數(shù)量與MSE、MAE的關(guān)系圖,如圖2至圖5所示。
將所有數(shù)據(jù)繪制于一起,所得結(jié)果如圖6、圖7所示。
由上述圖示可以得出,基于Informer算法所訓練的模型,其曲線較為平滑,在各參數(shù)訓練所得結(jié)果中,并未出現(xiàn)評價指標歸零的情況;而基于其他算法的模型結(jié)果,其曲線變化波動異常,不利于對發(fā)電設備健康預測的應用。
由上訴圖例中,基于Informer算法的模型,總體在特征選取數(shù)量為13時,MSE結(jié)果最小,對特征選取數(shù)量為13的參數(shù)訓練結(jié)果進行分析,繪制如圖8所示的關(guān)系圖。
由圖8可知,當特征選取數(shù)量為13,模型訓練次數(shù)為9時,能獲得最小的模型評價指標,即最大的模型性能。當特征選取數(shù)據(jù)為13,模型訓練次數(shù)為9時,獲得的各模型訓練結(jié)果如表2所示。
4" 結(jié)" 論
綜上所述,基于Informer算法所建立的模型在風機故障預測中取得了平穩(wěn)的評價結(jié)果。對于特征選取部分,本文僅在特征選取數(shù)為10~20個、模型訓練次數(shù)為1~10次的前提下進行研究,對于特征選取數(shù)量為其他值的結(jié)果,本文并未得知,存在更優(yōu)解的可能。同時,本文僅在是否發(fā)生故障這一單方面對數(shù)據(jù)進行訓練與預測,在實際生產(chǎn)過程中,應針對可能出現(xiàn)的多種故障類型進行訓練,精準的預測風機等多種發(fā)電設備可能出現(xiàn)的故障的時間節(jié)點以及故障類型。
參考文獻:
[1] ZHANG Y,SUN S M,YU P,et al. Research and application of fault diagnostics method for new energy power plant equipment based on big data mining [J/OL].IOP Conference Series: Earth and Environmental Science,2018,188(1):1-9[2023-04-10].https://iopscience.iop.org/article/10.1088/1755-1315/188/1/012115.
[2] 張李煒,李孝忠.基于Apriori算法和卷積神經(jīng)網(wǎng)絡的風電機組故障診斷模型 [J].天津科技大學學報,2022,37(5):50-55.
[3] 周凌,趙前程,朱岸鋒,等.基于FISSA-DBN模型的風電機組運行狀態(tài)監(jiān)測 [J].振動.測試與診斷,2023,43(1):80-87+199.
[4] 劉志剛,趙曉燕,張濤,等.基于小波包-神經(jīng)網(wǎng)絡的電廠發(fā)電機組故障診斷研究 [J].機械傳動,2018,42(8):179-182.
[5] 朱小超.基于聚類算法的光伏發(fā)電設備故障診斷方法 [J].寧夏電力,2022(4):12-18.
[6] 陳萬志,李昊哲,劉恒嘉,等.融合LSTM和優(yōu)化SVM的風力發(fā)電機組故障預測方法 [J].遼寧工程技術(shù)大學學報:自然科學版,2022,41(4):379-384.
[7] ZHOU H Y,ZHANG S H,PENG J,et al. Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting [C]//Proceedings of the AAAI Conference on Artificial Intelligence.Palo Alto:AAAI Press,2021,35(12):11106-11115.
[8] 左敏,胡天宇,董微,等.基于Informer神經(jīng)網(wǎng)絡的農(nóng)產(chǎn)品物流需求預測分析——以華中地區(qū)為例 [J].智慧農(nóng)業(yè):中英文,2023,5(1):34-43.
[9] 董浩,孫琳,歐陽峰.基于Informer的PM(2.5)濃度預測 [J].環(huán)境工程,2022,40(6):48-54+62.
[10] 黎嘉盈.基于并行冪法的分布式主成分分析算法研究及應用 [D].深圳:深圳大學,2022.
作者簡介:陸釗(1978—),男,壯族,廣西南寧人,
副教授,本科,研究方向:數(shù)據(jù)挖掘;通訊作者:龍法寧(1978—),男,漢族,廣西玉林人,高級工程師,碩士研究生,研究方向:機器學習;陳國年(1999—),男,漢族,廣西欽州人,本科在讀,研究方向:數(shù)據(jù)科學與大數(shù)據(jù)技術(shù)。