舒一飛,郭汶昇,樊 博,康潔瀅,許詩雨,楊 林
(1.國網(wǎng)寧夏電力有限公司營銷服務中心,銀川 750000; 2.四川大學 電氣工程學院,成都 610065)
我國電氣急速發(fā)展,電氣化進程顯著改善人民生活,但由諸多因素引起的電氣故障時有發(fā)生,給用電安全、經(jīng)濟建設及電氣市場發(fā)展帶來直接影響。因此及時、快速、準確地對電氣故障進行分類,對后續(xù)檢修、防治,用電線路升級都具有重要意義。居民用電過程中的電氣故障主要有漏電,短路,過壓,斷相等,而電氣故障診斷分類的傳統(tǒng)方法是基于知識驅(qū)動的,該方法由故障診斷知識庫、專家知識庫、故障診斷推理機等組成,通過將監(jiān)視的物理征兆導入推理機,并由故障診斷推理機與專家知識庫交互,求解出物理征兆下的故障類型,從而完成分類。該方法簡單易行,但存在較大的主觀性,不能做到對電網(wǎng)監(jiān)測數(shù)據(jù)的實時充分利用和準確的故障分析分類。
近年來,諸如神經(jīng)網(wǎng)絡、支持向量機、K近鄰、決策樹等快速發(fā)展的數(shù)據(jù)驅(qū)動方式為故障分類提供了新的手段,由于具備堅實的數(shù)學基礎,無需先驗知識,可僅利用原始的數(shù)據(jù)特征就完成故障分類任務。但目前這種方法面臨挑戰(zhàn),數(shù)據(jù)驅(qū)動方式對數(shù)據(jù)的數(shù)量及質(zhì)量都有著較高的要求。不充分的數(shù)據(jù)量將導致網(wǎng)絡架構無法擬合,過差的數(shù)據(jù)質(zhì)量將使得網(wǎng)絡的推廣能力下降,對于居民用電故障分類來說,缺乏大量真實故障數(shù)據(jù),需通過仿真機產(chǎn)生大量的模擬故障數(shù)據(jù)片段,不具有較強的推廣能力。同時這種方法無法明確地表征數(shù)據(jù)特征,僅在架構內(nèi)部進行學習,沒有充分完整地對數(shù)據(jù)屬性及特征進行分析和利用,造成了數(shù)據(jù)資源的浪費。
而樸素貝葉斯將貝葉斯概率、統(tǒng)計學理論和特征條件獨立假設相結合,對樣本的數(shù)據(jù)信息進行了嚴密的推理計算,形成了穩(wěn)固的理論體系與方法,可以解決數(shù)據(jù)分析不確定性和不完整性問題。同時為降低屬性條件獨立假設所帶來的負面影響,改進樸素貝葉斯網(wǎng)絡分類算法引起了越來越多學者的廣泛關注,并由此產(chǎn)生了許多改進的分類模型和學習算法;其中包括通過增加有向邊限制條件獨立假設的結構擴展、根據(jù)待測實例領域選擇的實例選擇、選擇最合理屬性子集的屬性選擇以及屬性加權、實例加權五種改進方式。
其中效果較優(yōu)的為屬性加權樸素貝葉斯和實例加權樸素貝葉斯。屬性加權是根據(jù)屬性對分類預測的影響力來為不同的屬性分配不同的權值,然后在加權以后的實例樣本集上構建貝葉斯分類器;實例加權則根據(jù)實例分布情況對訓練實例賦予不同的權重,然后在加權的訓練實例集上構建分類器;加權方式可以科學嚴謹?shù)乇碚鲾?shù)據(jù)特征,并且能夠充分對其進行計算與分析,使得輸入算法框架內(nèi)的特征信息濃度更高,較充分地提升算法性能表現(xiàn)。
但目前的研究局限于僅采用一種加權方法,未將屬性加權與實例加權有機結合在樸素貝葉斯框架內(nèi),文章充分考慮不同屬性應具有不同重要性,不同實例應具有不同可靠性,在樸素貝葉斯框架內(nèi)采用雙重加權,解決數(shù)據(jù)分析不確定性和數(shù)據(jù)不完整性問題,增加對數(shù)據(jù)片段特征的捕捉和利用,提高算法的實用性和魯棒性,完成對電氣故障高效準確的分類,并可推廣至其他分類情形;并與其他基于數(shù)據(jù)驅(qū)動方式的電力故障分類方法進行對比,驗證文中算法的有效性。
樸素貝葉斯分類是依據(jù)貝葉斯定理計算條件概率從而實現(xiàn)分類預測,而貝葉斯定理的前提條件是各條件屬性相互獨立且對分類結果影響相同,但這在現(xiàn)實中常常難以滿足。
如果D
={A
,A
,…,A
,C
}為訓練數(shù)據(jù)集,其中{A
,A
,…,A
}為m
個屬性變量,a
為是屬性A
的取值,C
={c
,c
,…,c
}是類別總數(shù)為q
的類別變量。一個待分類實例x
=[a
,a
,…,a
]屬于c
類的條件概率,根據(jù)貝葉斯定理有:(1)
其中:為進行分類預測的后驗概率,P
(a
,a
,…,a
∣c
)為給定第c
類下屬性值為[a
,a
,…,a
]的條件概率,P
(c
)是第c
類的先驗概率,P
(a
,a
,…,a
)是屬性的先驗概率,對于各類別都相同。基于各屬性相互獨立的前提條件,條件概率可表示為:
(2)
其中:P
(a
∣c
)表示第c
類下屬性a
的條件概率。對于待分類實例x
,基于后驗概率最大的原則,樸素貝葉斯分類可表示為:(3)
式中,P
(c
)和P
(a
∣c
)可以通過訓練樣本而求得,其計算方式如下:(4)
(5)
其中:n
為訓練樣本總數(shù),a
為第i
個訓練樣本的第j
個屬性值,n
為第j
個屬性值在訓練樣本中的個數(shù),δ
(r
,t
)為二值函數(shù),定義為:(6)
樸素貝葉斯分類基于各條件屬性相互獨立且對分類結果影響相同的假設條件,這在現(xiàn)實中難以滿足。事實上,屬性集中的一些屬性比其他屬性對預測分類更加重要,因此,可以通過屬性加權為每個屬性分配一個不同的權重,通常,對預測分類越重要的屬性為其分配越大的權重,反之亦然。此外,一些訓練實例比其他實例對預測分類更可靠,它們對最終模型的影響應該也更大,因此實例加權也是另一種緩解樸素貝葉斯劣勢的有效方法。
鑒于此,本文融合屬性加權和實例加權的優(yōu)勢,提出屬性和實例加權的樸素貝葉斯分類(AIWNB)。改進后的AIWNB,一方面采用屬性加權方法對不同的屬性分別賦予不同的權重,另一方面,采用實例加權方法更準確地估計先驗概率和條件概率。因此,AIWNB可以同時繼承屬性加權的優(yōu)點和實例加權的優(yōu)點,從而獲得比單一屬性加權或單一實例加權更好的性能。
在AIWNB中,將屬性權重納入樸素貝葉斯分類公式中,并將實例權重納入先驗概率和條件概率中。 因此,AIWNB的預測分類可表示為:
(7)
(8)
(9)
圖1 AIWNB算法架構
尋找實例權值的方法通常采用積極學習方法和消極學習方法,文中采用了這兩種實例加權方法,并通過實驗比較兩種實例加權算法的差異性;并據(jù)此提出二者的較為適宜的使用環(huán)境,發(fā)揮更大的算法優(yōu)勢。
2.2.1 積極實例加權
為了保持樸素貝葉斯的計算簡單性,采用一種簡單、高效、有效的方法——基于屬性值頻度的實例加權濾波器來學習每個實例的權重。這種方法是基于以下觀察結果:1)每個屬性值的頻率包含一些重要的信息,這些信息可以用來定義訓練實例的權重;2)每個訓練實例的權重與其屬性值頻率向量和整個訓練數(shù)據(jù)集的屬性值個數(shù)向量呈正相關。
首先,計算每個屬性值的頻率,
(10)
f
是a
(第i
個實例第j
個屬性值)的頻率,n
是訓練實例的數(shù)量,a
是第r
個實例第j
個屬性值。令n
為第j
個屬性的值的數(shù)量,并且可表示為[n
,n
,…,n
];則第i
個實例的權重定義為屬性值頻率向量與屬性值個數(shù)向量的內(nèi)積,(11)
2.2.2 消極實例加權
不同于積極實例加權,消極實例加權集中注意力于計算并統(tǒng)計訓練實例與測試實例間的相關性,雖然時間復雜度較積極加權方式更高,但是可以在分類準確率上得到提升。x
為測試實例,y
為第i
個訓練實例,它們間的相似性定義為:(12)
從式(16)可以看出,s
(x
,y
)簡單地對x
和y
的相同屬性的數(shù)量進行統(tǒng)計的函數(shù),進而粗略地衡量兩個實例間的相似程度,定義第i
個訓練實例的權重為:(13)
鑒于互信息可以度量每對隨機離散變量之間的相關性,因此,文中利用互信息來度量屬性-類之間、屬性-屬性之間的相關性,從而計算得到類關聯(lián)度和屬性間的相互關聯(lián)度。每個屬性的權重可以通過對歸一化后的類關聯(lián)度與平均相互關聯(lián)度之間的差值進行Sigmoid變換后獲取,具體的計算步驟如下所示:
1)屬性(A
)-類(C
)的相關性、屬性(A
)-屬性(A
)的相關性采用互信息來度量,分別定義為:(14)
(15)
I
(A
;C
)和I
(A
;A
)進行歸一化操作:(16)
(17)
其中:NI
(A
;C
)和NI
(A
;A
)分別為歸一化類關聯(lián)度和相互關聯(lián)度;歸一化后的各相關性可直接用于運算,不受相關屬性的單位限制。3) 將屬性權重定義為類關聯(lián)度與平均相互關聯(lián)度的差值。
(18)
根據(jù)上式計算得到的權值可能為負數(shù),應使權值范圍落入[0,1],利用sigmoid函數(shù)對其進行變換,可得到各屬性權值,
(19)
進一步地,將屬性加權和兩種實例加權相結合,由此得到如下兩種用于電氣設備故障分類的算法,AIWNB(屬性-積極實例加權樸素貝葉斯)和AIWNB(屬性-消極實例加權樸素貝葉斯)。
算法1:AIWNB
輸入:原始訓練集
輸出:屬性權值向量w
,實例權值向量w
,類別c
1.計算訓練集各實例的屬性值頻率f
及屬性值個數(shù)n
;A
的I
(A
;C
)與I
(A
;A
);4.對各屬性的I
(A
;C
)與I
(A
;A
)歸一化得到NI
(A
;C
),NI
(A
;A
);P
(c
),條件概率P
(a
|c
),類別概率c
(x
);8.返回類別。
算法2:AIWNB
輸入:原始訓練集
輸出:屬性權值向量w
,實例權值向量w
,類別c
1)計算訓練實例y
和待測實例x
的相似性s
(x
,y
);A
的I
(A
;C
)與I
(A
;A
);4)對各屬性的I
(A
;C
)與I
(A
;A
)歸一化得到NI
(A
;C
),NI
(A
;A
);P
(c
),條件概率P
(a
|c
),類別概率c
(x
);7)返回類別。
用電數(shù)據(jù)采集于國網(wǎng)寧夏電氣有限公司計量中心,包含高低壓用戶783戶為期31天的三相電壓,三相電流,功率及功率因數(shù)8項數(shù)據(jù)。獲得數(shù)據(jù)后對異常數(shù)據(jù)進行清洗,因電氣故障的發(fā)生將導致各項數(shù)據(jù)發(fā)生相應變化,僅去除掉空值、數(shù)值偏差極大、重復值的數(shù)據(jù)段。
根據(jù)已統(tǒng)計到的用電情況,并結合故障發(fā)生時電壓電流變化情況,經(jīng)由相關文獻[17-20]及專家標注,可總結為如表1的故障類別及判定依據(jù)。如果設備負載是家用熱電偶、燈、加熱器等,供電線路出現(xiàn)以下4種故障時設備電流、電壓和功率變化趨勢如表1所示,正常運行數(shù)據(jù)段標簽為“1”。
由于數(shù)據(jù)集內(nèi)包含的故障數(shù)據(jù)段過少,通過在故障數(shù)據(jù)段內(nèi)的每個屬性疊加隨機高斯噪聲,增加少量故障數(shù)據(jù)片段,提升加權樸素貝葉斯對其特征的捕捉能力;隨機噪聲與真實情況接近,保證數(shù)據(jù)可用,較大程度模擬真實故障數(shù)據(jù)。公式如下:
表1 電氣故障判據(jù)
(20)
其中:μ
為高斯噪聲的均值,設置為0;δ
為高斯噪聲的標準差,設置為0.1;Gauss
(x
)為生成的噪聲,將其與原始數(shù)據(jù)疊加,完成數(shù)據(jù)增強。僅對4種電氣故障類型進行數(shù)據(jù)增強,正常運作片段不作處理。原始數(shù)據(jù)及數(shù)據(jù)增強后的各電氣故障類型數(shù)量對比如表2所示。表2 數(shù)據(jù)增強前后故障類型數(shù)量
經(jīng)由數(shù)據(jù)增強后總共獲得58 209條數(shù)據(jù)段,隨機取得10 000條數(shù)據(jù)作為測試集,并對訓練集與測試集進行歸一化,歸一化可提高AIWNB的收斂速度以及分類精度,文章采取min-max歸一化方法,其公式如下,
(21)
其中:min
為所有數(shù)據(jù)段的當前屬性A
的最小值,max
為所有數(shù)據(jù)段的當前屬性A
的最大值。Accuracy
)和F
1分數(shù)也作為衡量模型性能和有效性的指標,其計算公式如下:(22)
(23)
其中:精準率(Precision
)及召回率(Recall
)計算公式如下,(24)
(25)
式中,TP
表示正類別中準確分類樣本的數(shù)量;TN
表示負類別中準確分類樣本的數(shù)量;FP
表示正類別中錯誤分類樣本的數(shù)量;FN
是負類別中錯誤分類樣本的數(shù)量。按前文所述,對屬性及實例分別求解其權值,為使實驗更嚴謹、更具說服性,將分別使用單獨屬性加權,單獨積極實例加權,單獨消極實例加權,屬性-積極實例加權,屬性-消極實例加權與原始樸素貝葉斯實驗結果進行對比,獲取到效果最佳的加權樸素貝葉斯方式。
3.3.1 屬性及實例權值
積極實例加權依賴于對各屬性的屬性值頻率計算,而觀察采集到的數(shù)據(jù)得知實際運行數(shù)據(jù)的各屬性值分散,導致屬性值頻率f
極小,并不利于計算;因此借用模糊化思想,文中按照表1所述的各屬性值變化界定范圍,按照類別進行劃分,進而計算得到各類實例的權值,如表3所示。表3 積極實例加權各類實例權值
消極實例加權更注重于訓練實例與測試實例的相似性,通過計算每條訓練實例與每條測試實例的相似性對實例進行權值的劃分,進而改善樸素貝葉斯對不同實例的注意程度,提升分類精度。因數(shù)據(jù)片段過多,部分實例權值如表4所示。
表4 消極實例加權-部分實例權值
通過對屬性-類相關性和屬性-屬性相關性的殘差進行sigmoid變化得到各屬性權值,基于互信息的各屬性權值如表5所示。
表5 基于互信息的各屬性權值
3.3.2 算法性能分析
為全面評價算法的整體性能,文章對各算法的準確率及F1分數(shù)進行計算,具體值如表6~7所示,各算法總體準確率如圖2所示。
表6 算法準確率對比
表7 算法F1分數(shù)對比
圖2 算法總準確率曲線圖
可以看出,加權樸素貝葉斯在納入不同屬性、實例的權值后,相較于單一樸素貝葉斯提高了對電氣故障分類的準確率,同時獲得較高的F1分數(shù),證明在加權樸素貝葉斯能夠提取到更多的全局特征,可較大程度提高分類準確率。積極實例加權與消極實例加權的準確率相差較小,但在實驗過程中,消極實例加權因需要對訓練實例及測試實例逐條計算相關性,耗費更多的運算時間,實際使用中偏向于實時性,可考慮使用積極實例加權。而在電氣數(shù)據(jù)分析和診斷中,消極實例加權的優(yōu)勢更大,可以獲得最高的分類準確率。
雙重加權樸素貝葉斯較單一樸素貝葉斯的準確率提升為0.11%~3.09%,F(xiàn)1分數(shù)提升為0.32%~9.39%。屬性-實例雙重加權樸素貝葉斯對于待分類的電氣故障的高準確率來源于對屬性和實例兩者權值的同時分析,完整又準確地提取各電氣故障的特征分布;并且在第4類與第5類取得接近完全準確的分類效果。屬性-積極實例加權樸素貝葉斯(AIWNB)及屬性-消極實例加權樸素貝葉斯(AIWNB)的混淆矩陣如圖3所示。
圖3 雙重加權樸素貝葉斯分類混淆矩陣
AIWNB與AIWNB在面對第2,3,4,5類時幾乎可以取得完全準確的分類結果,且在1類的偏差較??;由于消極實例加權更注重于對測試實例的分析,進而會取得更加優(yōu)良的分類效果,而代價則是增加運算時間,積極實例加權的分類效果稍弱,但運算時間較少,僅需根據(jù)屬性范圍確定權值。
文中基于屬性-消極實例加權樸素貝葉斯的電氣故障分類在實際數(shù)據(jù)中取得了98.06%的準確率,為進一步驗證算法有效性,選取K近鄰(KNN,k-nearest neighbor),決策樹(DT,decision tree)、支持向量機(SVM,support vector machine)、極端梯度提升(XGBoost)等基于數(shù)據(jù)驅(qū)動方式作為電氣故障分類方法進行對比;上述機器學習方法使用廣泛,分類效果較好,可形成較好的對比組。
為保證對比實驗的可信度,在完全相同的訓練集與測試集下收集各電氣故障分類方法的分類準確率,如表8所示。
表8 其他電氣故障分類方法準確率對比
對各方法指標數(shù)據(jù)的進一步觀察可知,雙重加權樸素貝葉斯在獲得屬性及實例的權值后,能夠更加準確地對電氣故障進行分類,相較于KNN、DT與SVM取得了更好的分類效果;而XGBoost在第4類取得了更好的分類效果,但XGBoost依賴于梯度的下降,計算量較大,根據(jù)實驗數(shù)據(jù)顯示運算時間為1.18 s;而AIWNB的運算時間僅為0.536 s,具有更好的實時性。
文章采用樸素貝葉斯架構,提出了基于屬性加權和實例加權的電氣故障分類算法。該算法通過互信息統(tǒng)計屬性-類間依賴性和屬性-屬性冗余度獲取各屬性權值,提升算法對各屬性特征的提取與利用能力;分別計算實例屬性值頻率和實例間相關性完成積極、消極實例加權,進一步提升算法對數(shù)據(jù)全局特征的把控能力。在實驗過程中,雙重加權樸素貝葉斯在準確率、F1分數(shù)優(yōu)于單獨加權樸素貝葉斯、單一樸素貝葉斯與其他常用分類方法,較顯著降低誤分數(shù)量,提高分類實時性。文章算法是通用算法,可以推廣至其他待分類情形,譬如心電信號、巖爆等。