








摘要:在解決電網配網運行過程產生的故障診斷問題時,需要考慮到當前大電網運行過程中產生數據庫的規模大、維度高、模態多樣及類型復雜等特點,而故障診斷中應用傳統關聯規則挖掘算法已無法適應處理大數據庫數據量的實際需求。與此同時,以人工魚群算法為代表的新興智能算法在實際社會生產中得到了廣泛的應用,因而提出一種基于人工魚群算法改進Apriori數據挖掘算法的配電網故障診斷方法,構建出一種新型的改進Apriori算法模型。結合某一實際配網運行產生的數據,通過矩陣實驗室(matrix laboratory, MATLAB)仿真軟件進行仿真驗證所提到的新型算法,并與傳統數據挖掘算法進行比較。實驗結果表明,改進后算法的準確率較高,響應速度快,更適用于對大規模數據庫的處理。
關鍵詞:人工魚群優化算法; 關聯分析; 數據挖掘; 配電網故障診斷
中圖分類號:TM73文獻標志碼:A
doi:10.3969/j.issn.16735862.2023.04.013
Distribution network fault diagnosis based on artificial fish swarm improved Apriori algorithm
LI Haoxuan1, YUAN Manjiang1, CUI Ming1, HAO Yunfei2, GUO Lei2, SUN Yulai2, SUN Zhiqiang2, ZHU Zhen2, LI Yingxu3, QIAO Lilong4, ZHANG Dong1
(1. School of Electric Power, Shenyang Institute of Engineering, Shenyang 110136, China;
2. Shenyang Aircraft Industry(Group) Co., Ltd., Shenyang 110034, China;
3. State Grid Liaoning Electric Power Co., Ltd. Yingkou Power Supply Company, Yingkou 115002, China;
4. Dalian Changxing Island Secondary Vocational and Technical School, Dalian 116317, China)
Abstract:When solving the problem of fault diagnosis during the operation of power distribution network
, need to consider the characteristics of large-scale, high dimension, diverse modes and complex types of databases generated in the current large-scale power grid operation process, the application of traditional association rule mining algorithm in fault diagnosis has been unable to meet the actual needs of processing large database data. At the same time, the emerging intelligent algorithm represented by the artificial fish swarm algorithm has been widely used in the actual social production. Therefore, in this paper we propose a distribution network fault diagnosis method based on the improved Apriori data mining algorithm of the artificial fish swarm algorithm, construct a new improved Apriori algorithm model, and combine the data generated by an actual distribution network operation to verify the new algorithm through matrix laboratory(MATLAB) simulation software. Compared with the traditional data mining algorithm, the experimental results show that the improved algorithm has higher accuracy, faster response speed, and is more suitable for large-scale database processing.
Key words:artificial fish swarm optimization algorithm; association analysis; data mining; distribution network fault diagnosis
數據挖掘是一種從數據庫中提取出有效數據信息并加以整合的數據處理方式。關聯規則挖掘算法(association rule mining, ARM)是一種集統計學、數據庫、模式識別、專家系統等于一身,并且尋找數據庫中的頻繁項或屬性集之間相關性和因果關聯的數據挖掘算法[1],它是由Agrawal等于1993年首次針對購物籃物品擺放等問題而提出,用于發現不同數據之間隱藏的關聯性關系。目前,基于關聯規則挖掘算法的相關研究已經發展得較為成熟,并分化出幾種精確算法或智能算法,例如Apriori算法、FP-growth算法、Eclat算法等都是典型的數據挖掘算法。此類算法常常先在事務集合中找出相應的頻繁項集,然后在頻繁項集中挖掘出不同事務之間的強關聯規則,方法簡單穩定且容易實現。但在處理大量數據候選項集和復雜數據時需要多次掃描數據庫,從而導致I/O負荷水平加大,會帶來系統響應過慢、效率低下等問題,且算法運行產生的候選項集占用內存非常大,消耗設備大量的內存,內存不足時,極易導致內存抖動,造成運行時間劇增。因此,許多學者都對相關內容進行了研究。例如,文獻[2]中提出了用粒子群優化算法對關聯規則挖掘算法進行優化,并與其他各種智能算法相互比較,得出各種優化算法的優缺點。文獻[3]中采用并行Apriori算法,構建分布式日志故障挖掘系統,針對電網系統相關設備后臺日志數據,構建頻繁項集并挖掘關聯規則,形成系統故障規則庫,用于系統故障診斷。文獻[4]中采用模糊集結合關聯規則挖掘算法對電力系統進行故障診斷,所建模型的執行效率及準確度相比原Apriori算法更高,且可進一步運用至變壓器多源參數的關聯規則挖掘。文獻[5]中采用在進行K-means分析時利用規則產生的三角形迭代選擇初始點,再將刪除冗余后的規則進行聚類,有效提高了數據挖掘算法的效率。
以上研究表明,使用智能算法可以加快挖掘算法的響應速度,使得挖掘結果更具有參考價值。因此,本文采用人工魚群算法針對Apriori算法進行優化,利用MATLAB仿真對所提方法進行驗證。結果表明,改進后的算法準確率較高,響應速度快,可適用于龐大數據庫的處理。
1相關算法基本原理
1.1人工魚群算法基本原理
人工魚群算法(artificial fish swarm algorithm, AFSA)是一種新型仿生智能算法,該算法設定水域中魚數量最多的地方就是水中食物營養最豐富的地方。依據這一特征,人工魚群算法模擬魚群的行為,對魚群中每一個個體在其周邊視野范圍內進行尋優,從而使群體達到全局最優的狀態[6]。該算法在許多學科領域都有大量的研究成果和實際應用。在該類算法中,魚群中每一條人工魚封裝了其自身數據信息(例如視野范圍、移動步長等)和多種日常交互行為(覓食行為、聚群行為等),并且可以接收環境信息來做出相應動作反應,即通過AFSA仿生動作實現現實中魚的覓食、聚群和追尾等一系列真實行為,在給定的范圍中尋求最優解。
該算法采用X=(X1,X2,…,Xn)表示魚群中魚個體的狀態,魚所在地方的食物濃度設定為f(X)。Visual為人工魚的視野范圍;λ為擁擠因子;step為移動步長; try number為嘗試次數[7]。該算法中存在的行為動作如下:
第1個行為是自由游動行為,已知狀態為Xi的魚,在沒有執行其他任何行為的時候,魚個體會在自己視野范圍內隨機移動。第2個行為是覓食行為,魚個體在視野范圍內選擇一個新的狀態Xj,如果f(Xj)lt;f(Xi),則魚向該狀態移動一個步長,如果f(Xj)gt;f(Xi),則重選另一個狀態Xj,再次進行移動嘗試,嘗試次數超出設定次數后仍然不能完成移動動作時,則將魚向周圍隨機移動一個步長。第3個行為是聚群行為,處于Xi狀態的魚在其視野范圍內嘗試搜索魚群聚群的中心點位Xc,同時統計中心點位附近的同伴個數S。如果S/Nlt;λ,則表示該中心位置不擁擠,如果此時f(Xc)lt;f(Xi),則魚向該方向前進一個步長,否則執行覓食行為。第4個行為是追尾行為,某一狀態Xi的魚在其視野范圍內搜索其中表現最優的魚個體Xmin。該Xmin魚的視野領域范圍內的同伴數量為S′,如果f(Xi)lt;f(Xmin)并且S′/Nlt;λ,表明該位置食物較多,且不擁擠,則當前魚向該位置前進一個步長,否則繼續覓食行為。
1.2Apriori關聯規則挖掘算法
Apriori算法是一種迭代算法。關聯關系支持度表示某2種可能出現的事件同時出現的概率,如式(1)所示。
support(XY)=T(X∪Y)T(1)
關聯關系置信度表示一個事件和另一個事件同時出現的概率占第一個事件出現概率的比值[8],如式(2)所示。
confidence(XY)=T(X∪Y)T(2)
強關聯規則指的是2組以上的數據之間的關聯性能夠滿足關聯規則設定的最小支持度和最小置信度,則這2組數據具有強關聯規則的特性。
實際應用過程如下:
1) 得到頻繁1-項集,篩選出L1。
2) 拼接產生候選項集。2個頻繁(k-1)-項集拼接成候選k-項集,拼接條件為2個(k-1)-項集前k-2項相同。例如,2-項集(a,b)和(a,c)可拼接成候選3-項集(a,b,c)。
3) 掃描計數。依據Ck計數count,篩選出Lk。
4) 若執行結果非空,則跳轉步驟2。
Apriori數據挖掘算法實例如下:
1) 設min_sup=3,數據庫D中的事務分別為:〈(a, b, e), (b, d), (b,c), (a, b,d), (a, c), (b, c), (a, c), (a, b, c, e), (a, b, c)〉,首先對數據庫D執行掃描,得到L1, sup(a)=6, sup(b)=7, sup(c)=6。
2) 逐次遍歷數據庫D,迭代產生Ck。篩選出大于既定閾值min_sup=3的L,L=〈(a, b)(a, c)(b,c)〉,且不存在滿足條件的Ls。
3) 數據庫訪問記錄。見表1。
通過對比經典算法實例可知,Apriori算法存在明顯的缺陷,每個候選項集的計數都要掃描一次全部數據庫記錄(9條記錄),因而針對數據庫的優化使得掃描次數減少是針對Apriori算法優化的一種優化方式,可以提高算法的效率。
2人工魚群優化Apriori算法
2.1人工魚群優化Apriori算法
為了解決Apriori關聯規則挖掘算法中數據庫掃描時間長、次數過多的缺陷和需要人為設定置信度的難題,本文主要采用人工魚群優化Apriori算法的數據庫優化Apriori算法。
在人工魚群算法中,魚群的覓食行為指的是魚群循著食物多的方向游動的行為。人工魚Xi在其視野內隨機選擇一個狀態Xj, 分別計算它們的目標函數值進行比較,如果發現Yj比Yi優(Yj和Yi分別為Xj和Xi的適應度值),則Xi向Xj的方向移動一個步長;如果不滿足條件,Xi繼續在其視野內選擇狀態Xj,然后判斷是否滿足前進條件,反復嘗試設定的最大嘗試次數后,仍沒有滿足前進條件,則隨機移動一個步長使Xi到達一個新的狀態。通過人工魚群的覓食行為可以使得數據庫中的數據改變其原本雜亂無章的情況,并按照某一基本規律進行排序,使得無序的數據庫變為有序的數據庫排列。
魚群會為了保證自身的生存而聚集:人工魚Xi搜索其視野內(djlt;visual)的伙伴數目n的中心位置Xc,然后Xi朝伙伴聚集中心點移動一個步長,否則,繼續執行覓食行為。魚群的聚群行為可以更好地達到Apriori算法中的強關聯規則的數據集中的要求,相近或相似的數據被歸為一類,根據具體要求,魚群的聚群可以有不同的族群。魚群聚群后,通過對魚群數量的分析,提取關鍵的特征數據,過濾掉達不到最小設定值的無效數據和異常數據,進行數據整合,從而達到壓縮并精簡數據庫、縮短掃描時間的目的[9]。
根據人工魚群算法中人工魚向其視野區域內的最優方向移動的特點,在處理數以萬計的信息數據時,將人工魚群算法改進后可以加快數據庫壓縮標準化的效率,更快地達到聚群的目的,能夠避免經典Apriori算法處理數以萬計的數據時存在的響應時間過長的缺陷。依據人工魚群算法的特點,針對Apriori算法的改進的具體流程圖如圖1所示。
通過圖1所示流程,可以最大化地達到優化壓縮數據庫的目的,并減少Apriori數據挖掘算法的數據掃描時間和重復次數。
為驗證人工魚群優化算法的有效性,現設定某配電網系統設備電氣量特征信息量正常值為A,B,C,D,E,電氣量特征信息量異常值為F,G,最小支持度為3個數據的集合。以Apriori算法原始數據庫為例,取原始數據庫中的15組數據,采用人工魚群優化Apriori算法對Apriori算法數據庫C1進行優化。第1步遵循覓食原則順序排列生成L1;第2步壓縮數據庫,排除掉包含異常數據的數據組,生成數據庫C2;第3步依照設定的最小支持度刪除小于最小支持度的數據組,輸出新數據庫C3。相較于原始數據庫D,C3數據庫的精簡程度和規則度均有大幅度提升。具體優化流程如圖2所示。
2.2配電網故障信息與關聯特征獲取
在傳統的配電網中,可以采用0-1模型來獲取信息。本文以單電源配電網為例,電流由供電所指向用戶,由故障產生的故障電流通過開關,開關處響應對其進行檢測,未檢測到故障時,狀態量為“1”,檢測到故障時,
狀態量變為“0”,并相應記錄故障區間[10]。例如,當S2狀態量為1,S3狀態量為0時,說明2線路存在故障,從而獲取故障信息。單電源配電網簡化示意圖如圖3所示。
配電網0-1模型可以作為故障信息獲取源的一種,由其進行相應擴展,并與其他種類故障信息獲取方法相結合,從而獲得較為準確的配電網信息,在其中相應記錄了各類設備的電氣量特征信息、設備本身的屬性信息及過往故障記錄等。從多種來源的信息中,可以發現導致設備故障的因素,通過挖掘這些特征數據向量,使其作為設備故障分析的條件特征,然后將事故類型作為結果特征。
基于事故對象、事故時間、事故類型和事故原因,通過選取設備事故特征,形成設備事故發生的頻繁項集和設備事故的實例。根據數據類型的區別,選取事故原因如下:
1) 設備因素。主要包括運行設備問題、監控系統故障問題、外力破壞問題或異物破壞原因。
2) 時間因素。設備事故時段、特殊時間段、節假日等。
3) 氣象因素。雨天、雷電、臺風等[11]。
各種因素相輔相成,構成電網設備的故障原因,其中存在很多與結果特征關聯度很低的因素,可能達不到系統設定的標準。因此,需要通過人工魚群算法對條件特征進行篩選,選取引起問題的主要因素作為分析因素,縮短故障檢測的時間,增強對特定情況的適應能力,提高系統的準確性和穩定性。
3算例分析
本次實驗數據選取了我國某一沿海城市2009—2018年共計10年的數據。在對實驗數據處理后,把實驗數據分為正常運行的記錄數據和包含各種事故類型的記錄數據并進行實驗驗證。
本文通過條件特征的選取選擇了7條主要特征,分別是基于天氣因素的雷擊、晴天、濃霧、大風天、雨天,基于設備因素的外力破壞和設備故障。選取故障挖掘數據庫中的100條故障記錄和100條正常記錄混合后得到200條記錄的訓練庫,選取其中100條作為測試,利用人工魚群算法改進Apriori算法進行數據挖掘。
3.1事故原因關聯情況分析
事故因素關聯分析結果見表2。從結果可以推斷出,故障原因主要是由雷擊和外力破壞或異物影響產生的,條件項和結果項的關聯程度各不相同,線路故障和雷擊、濃霧的天氣因素具有強關聯特性。
3.2人工魚群改進Apriori算法性能分析
為了驗證改進算法相對于經典算法在準確性和實效性上的提升,本文將采用的改進算法與經典的數據挖掘算法在多種不同的情況下進行比較,構建出4組訓練庫和測試庫。
1) 200條記錄,其中含有50條雷擊線路事故的故障記錄和150條正常的無故障正常運行的記錄;
2) 400條記錄,其中含有50條外力破壞或異物的線路事故的故障記錄、50條雷擊線路事故的故障記錄和300條正常的無故障正常運行的記錄;
3) 600條記錄,其中含有50條外力破壞或異物的線路事故的故障記錄、50條雷擊線路事故的故障記錄、50條其他情況下的線路事故的故障記錄和450條無故障正常運行的記錄;
4) 800條記錄,其中含有50條外力破壞或異物的線路事故的故障記錄、50條雷擊線路事故的故障記錄、50條其他情況下的線路事故的故障記錄、200條正常運行可能存在缺失或錯誤的記錄和450條無故障正常運行的記錄。
通過人工魚群算法對數據庫進行優化后,原本雜亂無章的數據庫數據呈現出由大到小的依次排列和向內收攏的形式,同時,通過對人工魚感知范圍、迭代次數、擁擠程度的設定,排除了距離正常數據范圍過遠的異常數據,保持了整體數據在一個合理的范圍內,并防止了因異常數據導致數據挖掘出現的不合理結果。人工魚群算法優化后數據庫表現如圖4所示。
針對上述4組數據構成的數據庫通過人工魚群算法進行優化,優化后的數據庫通過Apriori數據挖掘算法進行計算,與經典Apriori算法進行比較,可以發現人工魚群改進算法的訓練速度快于經典Apriori算法,且數據量越大,改進算法優勢越明顯,結果如圖5所示。
在數據庫選取相同數據量的條件下,人工魚群改進算法在訓練時間上同樣具有優勢,驗證了在數據量較少的情況下本文所提算法的準確率,具體見表3。
由表3和圖6可知,人工魚群改進算法的準確度較之經典Apriori算法有顯著提升,但在大容量數據庫上,可能由于某時段產生的畸變數據占總數據庫比重較小被忽略而無法完全還原配網運行過程中的實際狀況,因而該算法還有進一步改進優化的空間。
4結語
本文從人工魚群算法和Apriori數據挖掘算法入手,通過示例查找Apriori數據挖掘算法的不足,利用人工魚群智能算法對Apriori數據挖掘算法進行優化。同時分析了導致配電網故障的事故原因,并針對事故原因進行了關聯程度分析,挖掘故障原因的關聯關系。最后將人工魚群改進算法與經典Apirori算法進行比較,得到了2種算法訓練時間及準確度的有效數據。通過對比,表明改進后算法相較于基礎算法的準確率和實時性有顯著提升。
參考文獻:
[1]郝林倩. 基于關聯規則的數據挖掘算法分析[J]. 太原學院學報(自然科學版), 2020,38(3):42-45.
[2]鐘倩漪,錢謙,伏云發,等. 粒子群優化算法在關聯規則挖掘的研究綜述[J]. 計算機科學與探索, 2021,15(5):777-793.
[3]潘磊. 基于并行Apriori算法的電網日志故障挖掘系統[J]. 軟件導航, 2020,19(9):186-189.
[4]吳瞻宇,董明,王健一,等. 基于模糊關聯規則挖掘的電力變壓器故障診斷方法[J]. 高壓電器, 2019,55(8):157-163.
[5]李珺,劉鶴,朱良寬. 基于改進的K-means算法的關聯規則數據挖掘研究[J]. 小型微型計算機系統, 2021,42(1):15-19.
[6]張景煜,樊紹勝. 基于改進人工魚群算法的配電網網架規劃研究[J]. 電工材料, 2020(4):19-22.
[7]王培崇. 人工魚群算法研究綜述[J]. 中國民航飛行學院學報, 2013,24(4):22-26.
[8]李大鵬. 基于頻繁項集的調控大數據平臺設備故障關聯分析研究[J]. 電網技術.2021,45(4):1455-1462.
[9]周凱,顧洪博,李愛國. 基于關聯規則挖掘Apriori算法的改進算法[J]. 陜西理工大學學報(自然科學版),2018,34(5):40-44.
[10]胡玨,韋鋼,謝素娟,等. 基于人工魚群算法的主動配電網故障定位[J]. 智慧電力, 2020,48(6):112-118,124.
[11]侯仁政. 基于氣象因素的電網故障原因推理研究[D]. 杭州: 浙江大學, 2017.