屈志堅(jiān),帥誠鵬,吳廣龍,梁家敏,李 迪
(1.華東交通大學(xué)軌道交通基礎(chǔ)設(shè)施性能監(jiān)測與保障國家重點(diǎn)實(shí)驗(yàn)室,南昌 330013;2.華東交通大學(xué)電氣與自動化工程學(xué)院,南昌 330013)
在現(xiàn)代配電自動化系統(tǒng)中,利用互聯(lián)網(wǎng)、人工智能等技術(shù),圍繞電力的各個環(huán)節(jié)實(shí)現(xiàn)配電網(wǎng)的數(shù)字化和智能化,使其具有全面感知、傳輸、高效處理和報(bào)警信息、便捷靈活應(yīng)用等特點(diǎn)[1]。屬于處理層的電網(wǎng)調(diào)度中心[2],其數(shù)據(jù)量隨著現(xiàn)場設(shè)備種類和數(shù)量的不斷增加而呈現(xiàn)出不斷攀升的態(tài)勢,并以極其龐大的數(shù)量、規(guī)模和結(jié)構(gòu)生成電力大數(shù)據(jù)[3]。電力數(shù)據(jù)主要分為3 個類型:第1 類是電網(wǎng)運(yùn)行中設(shè)備監(jiān)測數(shù)據(jù),如監(jiān)視控制與數(shù)據(jù)采集數(shù)據(jù)和智能電表的采樣數(shù)據(jù);第2 類是包括成交價(jià)數(shù)據(jù)、售電量數(shù)據(jù)在內(nèi)的電力營銷數(shù)據(jù);第3類是內(nèi)部電網(wǎng)數(shù)據(jù)等電力管理數(shù)據(jù)。目前學(xué)術(shù)界和工業(yè)界在針對千萬級的數(shù)據(jù)時(shí),推薦分布式集群方式處理[4],但隨著數(shù)據(jù)體量增大會出現(xiàn)集群內(nèi)存資源不足,傳輸效率降低,數(shù)據(jù)查詢時(shí)間增大等問題。
因此,學(xué)術(shù)領(lǐng)域的研究學(xué)者針對優(yōu)化集群內(nèi)存結(jié)構(gòu),減少磁盤儲存空間等問題展開了一系列研究[5-7]。文獻(xiàn)[8]以Gzip 壓縮算法為藍(lán)本,同時(shí)采用LZ77壓縮算法與霍夫曼編碼,設(shè)計(jì)了專用的硬件電路,實(shí)現(xiàn)了無損壓縮,提高了數(shù)據(jù)的壓縮速率,但數(shù)據(jù)的壓縮率依賴于硬件的性能。LZMA 是用LZ77字典編碼改良和優(yōu)化后的壓縮算法,文獻(xiàn)[9]利用開源的LZMA 代碼進(jìn)行系統(tǒng)移植,將LZMA 算法代碼封裝嵌入數(shù)據(jù)庫系統(tǒng),將數(shù)據(jù)先進(jìn)行壓縮,再傳輸至數(shù)據(jù)庫;文獻(xiàn)[10]提出一種基于深度學(xué)習(xí)的上下文自適應(yīng)壓縮DeepCABAC(context-adaptive binary arithmetic coding for deep neural network compression),利用上下文匹配算法生成預(yù)測概率分布表,再將概率分布表輸入深度學(xué)習(xí)進(jìn)行優(yōu)化,但由于使用的上下文匹配算法比較依賴先驗(yàn)數(shù)據(jù)的初始概率分布,仍很難滿足電網(wǎng)監(jiān)測數(shù)據(jù)壓縮率的需求。隨著神經(jīng)網(wǎng)絡(luò)算法的出現(xiàn),人們開始將神經(jīng)網(wǎng)絡(luò)的自主性特征學(xué)習(xí)功能應(yīng)用于信息處理領(lǐng)域,文獻(xiàn)[11]通過神經(jīng)網(wǎng)絡(luò)模型對大量樣本數(shù)據(jù)進(jìn)行訓(xùn)練,將循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(recurrent neural network)模型構(gòu)建為序列數(shù)據(jù)的條件預(yù)測概率,并對字符的概率分布進(jìn)行更新和優(yōu)化,采用基于預(yù)測的無損數(shù)據(jù)壓縮原理,數(shù)據(jù)壓縮效果得到有效提升。但是,RNN 在處理長期依賴和計(jì)算距離比較遠(yuǎn)的節(jié)點(diǎn)之間的聯(lián)系時(shí),因?yàn)檠趴杀染仃嚨亩啻蜗喑藭斐商荻认Щ蛱荻扰蛎浀默F(xiàn)象,而本文提出的門控循環(huán)單元GRU(gated recurrent unit)神經(jīng)網(wǎng)絡(luò)則能很好地解決這一問題。
另一方面,由于電網(wǎng)系統(tǒng)數(shù)據(jù)信息的復(fù)雜性,在數(shù)據(jù)壓縮之前對數(shù)據(jù)信息進(jìn)行聚類預(yù)處理也可以有效地提高數(shù)據(jù)壓縮率。文獻(xiàn)[12-13]比較了多種傳統(tǒng)的聚類算法,對于進(jìn)行聚類之前需要預(yù)先給定聚類中心數(shù)的K-means 算法來說,如果集群所有數(shù)據(jù)信息文件,不能確切地給出聚類中心,往往會造成不理想的聚類輸出結(jié)果。因此,文獻(xiàn)[14]根據(jù)密度峰值算法思想,對K-means 算法的距離和權(quán)重參數(shù)進(jìn)行改進(jìn),引入了加權(quán)歐式距離,得到了較好的聚類結(jié)果。但是權(quán)值的分配還需要引入進(jìn)化算法對其進(jìn)一步優(yōu)化。
為此,本文提出一種遺傳聚類優(yōu)化的門控循環(huán)單元神經(jīng)網(wǎng)絡(luò)GA-K-GRU(genetic algorithm optimizing K-clustering gated recurrent unit neural network)數(shù)據(jù)壓縮方法。先將分布式平臺集群的多維原始電力數(shù)據(jù)進(jìn)行聚類,并通過遺傳算法迭代優(yōu)化聚類中心的選取,再利用GA-K-GRU 的歷史參數(shù)記錄功能訓(xùn)練輸出數(shù)據(jù)的概率分布模型,最后結(jié)合算術(shù)編碼將其編碼壓縮存儲至集群。實(shí)驗(yàn)結(jié)果表明,本文方法的壓縮效果比LZMA、Gzip、DeepCABAC、RNN 等壓縮算法效果更好,有效緩解了集群存儲空間,提高了集群存儲速度,提升了集群查詢時(shí)間。
在Ubuntu 18.04 系統(tǒng)環(huán)境下,按工程中典型調(diào)度主站2 臺數(shù)據(jù)服務(wù)器和2 臺主、備調(diào)度工作站4機(jī)配置,建立由1臺主調(diào)度機(jī),2臺監(jiān)控服務(wù)器,1臺備調(diào)度機(jī)構(gòu)成的4機(jī)分布式集群實(shí)驗(yàn)環(huán)境,其配置如表1所示。
表1 分布式集群實(shí)驗(yàn)環(huán)境Tab.1 Distributed cluster experimental environment
電網(wǎng)監(jiān)測數(shù)據(jù)分布式集群的數(shù)據(jù)處理任務(wù)包括Map和Reduce兩個進(jìn)程,分布式集群為Map/Reduce任務(wù)處理提供多種數(shù)據(jù)壓縮格式的壓縮接口[15]。
輸入分布式集群中的數(shù)據(jù)文件被分割為若干個數(shù)據(jù)塊(Data1,Data2,…,Datam) ,各數(shù)據(jù)塊通過Map 任務(wù)以并行方式映射至分布式集群的任務(wù)監(jiān)視節(jié)點(diǎn),各節(jié)點(diǎn)處理后的數(shù)據(jù)以文件流的形式輸出至集群進(jìn)行儲存,在Reduce 任務(wù)中進(jìn)行排序與聚合,集群壓縮流程如圖1所示。
圖1 集群壓縮流程Fig.1 Cluster compression process
在處理傳輸電網(wǎng)監(jiān)測數(shù)據(jù)文件的過程中,先對輸入的數(shù)據(jù)信息文件進(jìn)行數(shù)據(jù)聚類處理,將文件聚類分成m個數(shù)據(jù)塊,再通過Map進(jìn)程將m個數(shù)據(jù)塊并行運(yùn)行在4臺集群中,分別對各個數(shù)據(jù)塊節(jié)點(diǎn)進(jìn)行無損壓縮處理減少數(shù)據(jù)體量,最后將壓縮后的數(shù)據(jù)塊通過Reduce 進(jìn)程匯總存儲至磁盤,緩解磁盤存儲壓力。
由于K-means 聚類只是以數(shù)據(jù)文件中數(shù)據(jù)點(diǎn)到聚類中心的距離最小進(jìn)行分類,而這個聚類中心個數(shù)(即K值)是人根據(jù)經(jīng)驗(yàn)設(shè)定,往往不是最優(yōu)的聚類中心個數(shù)。而利用遺傳優(yōu)化算法可以對不同K值的聚類效果構(gòu)建適應(yīng)度函數(shù),通過不斷的迭代對K值進(jìn)行尋優(yōu),最后輸出最優(yōu)的聚類中心數(shù)。具體尋優(yōu)過程如下。
1)可變長度字符染色體編碼
假設(shè)電力監(jiān)測數(shù)據(jù)集V進(jìn)行聚類后,每個聚類XM×N中總共有N個元素,每一個元素xi的維數(shù)為M,則可用向量={d1,d2,…,dn}表示,其中1 ≤i≤N。設(shè)種群大小為Qi,種群中的每一個個體都代表一種聚類方法,將個體表示為,其中1 ≤k≤Qi,這表示該個體有k個聚類中心,每個聚類中心的坐標(biāo)用xˉc表示,1 ≤c≤k。
因?yàn)樽罴训木垲愔行臄?shù)K不確定,因此個體編碼長度都是可變的,將種群中的每個個體編碼為可變長字符串,給種群中的聚類中心數(shù)目設(shè)置一個取值范圍Cmin≤k≤Cmax,然后將種群編碼為{V1,V2,…,Vj,…,VQ}。
2)適應(yīng)度函數(shù)選擇
一般的K-means 算法將每個數(shù)據(jù)點(diǎn)到其對應(yīng)的聚類中心的距離之和作為優(yōu)化指標(biāo),并沒有考慮聚類中心之間的距離問題,導(dǎo)致聚類中心會受到孤立點(diǎn)影響的情況,所以本文選擇戴維斯-布爾丁指數(shù)DBI(Davies-Bouldin index)[16]作為衡量聚類效果的適應(yīng)度函數(shù)。
DBI表示聚類中數(shù)據(jù)點(diǎn)之間的距離與聚類中心之間距離之比的平均值。DBI 的值越小,表示聚類后簇內(nèi)距離越小,簇之間的距離越大。在迭代中通過消除具有較大DBI值的個體,可以維持種群的規(guī)模,并且會盡可能多地包含“精英”個體,從而可以加快最佳解決方案的速度。
3)交叉算子
交叉算子通過交換上一代個體的遺傳信息來產(chǎn)生新的子個體,從而擴(kuò)大了問題解決領(lǐng)域的搜索范圍。
交叉過程如圖2 所示,隨機(jī)從群體中選擇2 個個體父代1、父代2 進(jìn)行交叉,產(chǎn)生2 個新的個體子代1、子代2,重復(fù)進(jìn)行直到產(chǎn)生Qc個新個體。
圖2 交叉過程Fig.2 Cross process
4)變異算子
變異算子通過修飾個體的某些染色體片段來維持個體的多樣性,從而解決局部最優(yōu)的問題。在每個變異操作中,以概率Pn突變當(dāng)前種群的個體Vx,直到產(chǎn)生Qn個新個體,并根據(jù)以下策略修改聚類中心的數(shù)量:如果聚類中心的數(shù)量大于(Cmin+Cmax)/2,隨機(jī)刪除1 個聚類中心;否則,隨機(jī)生成1個聚類中心。
5)個體消除策略
經(jīng)過種群初始化、個體交叉及變異操作之后,種群生成了Qi+Qc+Qn個個體。經(jīng)過交叉和變異,會產(chǎn)生相同序列或不同序列但具有相同染色體個數(shù)的個體,即相同聚類中心的個體。這些個體再次迭代會導(dǎo)致早期收斂到局部最優(yōu)的問題。因此有必要比較相同長度的染色體用來除去多余的個體。最后根據(jù)DBI計(jì)算適應(yīng)度,按照適應(yīng)度進(jìn)行總體排序,并消除具有較大DBI 值的個體,從而使種群的總體規(guī)模保持不變。
遺傳優(yōu)化K-means聚類算法在最優(yōu)K值的適應(yīng)度達(dá)到給定閾值、最優(yōu)K值的適應(yīng)度不再提高或算法的迭代次數(shù)達(dá)到預(yù)設(shè)值時(shí)終止,然后輸出優(yōu)化后K個聚類的數(shù)據(jù)文件。
任意的數(shù)據(jù)文件均可以看作是字母表中的一串字符,壓縮電力數(shù)據(jù)文件包含2個階段,需遍歷2次數(shù)據(jù)文件,第1次依據(jù)輸入的數(shù)據(jù)輸出概率分布模型,第2次將生成的概率分布模型與編碼器結(jié)合來制作壓縮文件。信息熵公式為
式中:H(U)為輸入全部數(shù)據(jù)壓縮后的數(shù)據(jù)大小;h(xi)為文件中每個數(shù)據(jù)的壓縮大??;P(xi)為每個數(shù)據(jù)出現(xiàn)的概率。
根據(jù)式(1)可知,電力監(jiān)測數(shù)據(jù)集中數(shù)據(jù)的相關(guān)性越高,其高頻數(shù)據(jù)壓縮后占用的字節(jié)數(shù)越少,有利于緩解存儲和數(shù)據(jù)傳輸?shù)膲毫?。利用皮爾遜系數(shù)對數(shù)據(jù)進(jìn)行相關(guān)性驗(yàn)證,得出相關(guān)性熱力表,驗(yàn)證結(jié)果如圖3所示。
圖3 GRU 結(jié)構(gòu)Fig.3 Gated recurrent unit structure
對于給定的一組數(shù)據(jù)信息,RNN對其輸入序列進(jìn)行建模,輸出數(shù)據(jù)的字符概率分布模型,并循環(huán)更新其隱藏狀態(tài),但循環(huán)神經(jīng)網(wǎng)絡(luò)存在的梯度消失或爆炸會導(dǎo)致同一組信息前后的關(guān)聯(lián)性減弱等問題,而GRU 神經(jīng)網(wǎng)絡(luò)通過引入更新門和重置門可以很好地解決梯度消失或爆炸的問題。其中更新門決定保留多少數(shù)據(jù)歷史信息,添加多少新的數(shù)據(jù)信息;重置門控制過去的數(shù)據(jù)信息對待輸入數(shù)據(jù)信息的貢獻(xiàn)。單元重置和更新信息的公式為
式中:xt為t時(shí)刻輸入的數(shù)據(jù)段;zt、rt分別為數(shù)據(jù)段xt的更新門和重置門;是t時(shí)刻的候選狀態(tài);ht為t時(shí)刻網(wǎng)絡(luò)隱藏層的輸出;Wz、Wr、Wh和Uz、Ur、Uh為權(quán)重參數(shù);bz、br、bh為偏置參數(shù)。
GRU結(jié)構(gòu)如圖3所示,GRU可以通過更新門機(jī)制更好地傳遞相隔距離較大的2 個數(shù)據(jù)段之間的依賴關(guān)系。當(dāng)訓(xùn)練基于GA-K-GRU 結(jié)構(gòu)的電力監(jiān)測數(shù)據(jù)集的概率分布模型時(shí),GA-K-GRU有多個自由定義的參數(shù),包括隱藏層層數(shù)、隱藏層單元個數(shù)以及單個神經(jīng)元輸入的數(shù)據(jù)段大小等,GRU的具體參數(shù)如表2所示。
表2 GRU 參數(shù)Tab.2 GRU parameters
為了訓(xùn)練GA-K-GRU 結(jié)構(gòu)的電力監(jiān)測數(shù)據(jù)集的概率分布模型,將電力監(jiān)測數(shù)據(jù)集分段,輸入GRU 神經(jīng)網(wǎng)絡(luò)輸入端,利用GRU 神經(jīng)網(wǎng)絡(luò)隱藏層中狀態(tài)量的傳遞性,訓(xùn)練電力監(jiān)測數(shù)據(jù)輸出的每個字符與其對應(yīng)的字符概率分布表。通過該方法得出的整體性字符概率分布表將更為準(zhǔn)確,使出現(xiàn)頻繁的字符對應(yīng)的概率更高,壓縮后所占字節(jié)數(shù)更少,從而提高整體壓縮率,建模過程如圖4所示。
圖4 GRU 的概率分布建模流程Fig.4 Flow chart of probability distribution modeling of GRU
數(shù)據(jù)壓縮流程如圖5 所示,以電網(wǎng)監(jiān)測數(shù)據(jù)中字段“Ua220V50HzUa221V50HzUa210V50Hz”為例說明字符概率分布表訓(xùn)練流程。將電網(wǎng)監(jiān)測數(shù)據(jù)中字段輸入GRU 模型,并分解為3 個數(shù)據(jù)段x1=“Ua220V50Hz” 、x2=“Ua221V50Hz” 、x3=“Ua210V50Hz”;首先,計(jì)算數(shù)據(jù)段x1中字符的概率分布,輸出概率分布{U:0.1,a:0.1,2:0.2,0:0.2,V:0.1,5:0.1,H:0.1,z:0.1};再將數(shù)據(jù)段x1的概率分布作為隱藏層信息h1傳遞至數(shù)據(jù)段x2,綜合h1與x2得出數(shù)據(jù)段x2的概率分布{U:0.1,a:0.1,2:0.2,0:0.15,V:0.1,5:0.1,H:0.1,z:0.1,1:0.05};最后,將數(shù)據(jù)段x2的概率分布作為隱藏層信息h2傳遞至數(shù)據(jù)段x3,最終模型輸出的字符概率分布為{U:0.1,a:0.1,2:0.17,0:0.17,V:0.1,5:0.1,H:0.1,z:0.1,1:0.06}。
圖5 電力監(jiān)測數(shù)據(jù)分段壓縮流程Fig.5 Segment compression processof power monitoring data
利用GRU 模型訓(xùn)練生成的字符概率分布,結(jié)合算術(shù)編碼對電網(wǎng)檢測數(shù)據(jù)進(jìn)行壓縮處理。如圖6所示,輸入電力數(shù)據(jù)集中字符串“Ua220V50Hz”,通過GRU 神經(jīng)網(wǎng)絡(luò)訓(xùn)練地生成概率分布:{U:0.1,a:0.1,2:0.2,0:0.2,V:0.1,5:0.1,H:0.1,z:0.1}。
圖6 電網(wǎng)監(jiān)測數(shù)據(jù)的算術(shù)編碼Fig.6 Arithmetic coding of power grid monitoring data
當(dāng)字符串“Ua220”輸入時(shí),第1 個字符為U,則標(biāo)記位于區(qū)間[0.0,0.1)中,此時(shí)丟棄除此區(qū)間以外的其他部分,并按原區(qū)間比例繼續(xù)劃分;第2 個輸入字符為a,標(biāo)記落在區(qū)間[0.01,0.02)中;繼續(xù)劃分第3 個字符,2 落在區(qū)間[0.012,0.014)中;第4 個字符2 落在區(qū)間[0.012 4,0.012 8)中;最后一個字符0定位于區(qū)間[0.012 56,0.012 64)中;區(qū)間[0.012 56,0.012 64)內(nèi)任意一個浮點(diǎn)數(shù),比如0.01262,可以表示字符串“Ua220”。
通過算術(shù)編碼方法處理,對于任意字符串,結(jié)合GRU 模型輸出的字符概率分布,都可以壓縮為一個浮點(diǎn)數(shù);數(shù)據(jù)的解碼則是上述過程的逆過程。圖7為有功功率數(shù)據(jù)壓縮與解壓后的數(shù)據(jù)對比,可以看出,原始數(shù)據(jù)與解壓數(shù)據(jù)的波形完全吻合。由此可知,本文的GRU壓縮為無損壓縮。
圖7 無損壓縮性能驗(yàn)證Fig.7 Verification of lossless compression performance
本研究算例測試數(shù)據(jù)來源于3 個電力監(jiān)測數(shù)據(jù)集:荷蘭能源數(shù)據(jù)集DRED(Dutch residential energy dataset)[17]、英國電器級電力數(shù)據(jù)集UK-DALE(UK domestic appliance-level electricity)[18]和雨林電力采集自動化數(shù)據(jù)集RAE(rainforest automation energy)[19],如表3所示。
表3 算例測試的電力監(jiān)測數(shù)據(jù)集Tab.3 Power monitoring datasets for example test
本文基于可變長度染色體編碼的遺傳算法,在迭代過程中對K-means聚類算法的聚類中心數(shù)目K值進(jìn)行尋優(yōu)。遺傳算法參數(shù)設(shè)置:初始交叉概率Pc=0.7,初始變異概率Pv=0.04 ,最大迭代次數(shù)I=2 000,初始聚類中心數(shù)K值設(shè)為20。
為驗(yàn)證遺傳優(yōu)化K-means 聚類壓縮效果,將未遺傳優(yōu)化的K-means聚類與進(jìn)行遺傳優(yōu)化K-means聚類對D4 數(shù)據(jù)集進(jìn)行壓縮對比測試,壓縮率計(jì)算式為
式中:F1為電網(wǎng)檢測數(shù)據(jù)文件壓縮之后的大??;F2為電網(wǎng)檢測數(shù)據(jù)文件壓縮之后的大小。壓縮率對比測試結(jié)果如圖8所示。
圖8 遺傳優(yōu)化K 聚類與K 聚類壓縮對比Fig.8 Comparison of compression between genetic optimization K-clustering and K-clustering
由圖8 可知,聚類數(shù)K=3 時(shí)壓縮率最低,且經(jīng)過遺傳優(yōu)化K-means 聚類的壓縮率比未經(jīng)過遺傳算法優(yōu)化的壓縮率更低。這是因?yàn)檫z傳算法在對K值優(yōu)化迭代的過程中不僅在尋找最優(yōu)的聚類中心數(shù),而且也在優(yōu)化對每個聚類中心點(diǎn)位置的選取,所以本文利用遺傳算法優(yōu)化聚類中心的數(shù)目和位置都是最優(yōu),提高了數(shù)據(jù)文件的聚類效果。
為驗(yàn)證不同聚類算法下的壓縮性能比較,本文將遺傳優(yōu)化K-means 算法與用遺傳優(yōu)化算法優(yōu)化聚類中心后的K-medoids 聚類、層次聚類和密度聚類3種聚類方法對數(shù)據(jù)集D1~D9進(jìn)行壓縮對比,壓縮結(jié)果如表4和圖9所示。
圖9 4 種聚類的壓縮對比Fig.9 Comparison of compression among four clustering algorithms
表4 不同聚類算法平均壓縮率對比Tab.4 Comparison of average compression ratio among different clustering algorithms
從遺傳算法的原理可知,其優(yōu)化的只是不同聚類算法的聚類中心數(shù),以及對聚類中心點(diǎn)位置的選取,但是由于不同聚類算法本身對于聚類中心選擇的標(biāo)準(zhǔn)不同,所以優(yōu)化后的效果也不同。由壓縮率測試結(jié)果可知,遺傳算法優(yōu)化效果最好的是Kmeans聚類。
為驗(yàn)證本文算法的壓縮效果,分別使用GRU、RNN[11]、DeepCABAC[10]、Gzip[8]、LZMA[9]5 種數(shù)據(jù)壓縮算法對表1 中的9 個數(shù)據(jù)集壓縮,計(jì)算壓縮率。對比測試結(jié)果如圖10所示,圖10(a)為數(shù)據(jù)文件沒有進(jìn)行遺傳聚類優(yōu)化的壓縮測試結(jié)果,圖10(b)為進(jìn)行遺傳聚類優(yōu)化后的壓縮測試結(jié)果。
圖10 5 種算法的壓縮對比Fig.10 Comparison of compression among five algorithms
從圖10 可以看出,對每一個數(shù)據(jù)集,無論在聚類與未聚類情況下,GRU的壓縮率均低于其他4種壓縮算法。這是因?yàn)閷τ谕瑯拥臄?shù)據(jù)信息,通過GRU 模型訓(xùn)練輸出字符概率分布結(jié)合算術(shù)編碼更加接近信息熵,賦予數(shù)據(jù)信息中頻率高的字符更高的字符概率,減少了編碼字節(jié)數(shù)。
計(jì)算圖10中9個數(shù)據(jù)集的平均壓縮率,記錄于表5。由表5 可知,經(jīng)過聚類處理的數(shù)據(jù)再輸入壓縮算法進(jìn)行壓縮后,整體數(shù)據(jù)壓縮率都有降低,但仍然是GA-K-GRU的壓縮率較其他4種更低。這是因?yàn)镚A-K-GRU 算法是先對數(shù)據(jù)進(jìn)行遺傳聚類處理,數(shù)據(jù)聚類后可增加同一個聚類文件中數(shù)據(jù)的相似度,再通過門控循環(huán)神經(jīng)網(wǎng)絡(luò)生成概率分布模型,使得高頻出現(xiàn)的數(shù)據(jù)所占字節(jié)數(shù)更少,大幅提高了電力監(jiān)測數(shù)據(jù)無損壓縮的效果。
表5 聚類和未聚類的5 種壓縮算法的平均壓縮率對比Tab.5 Comparison of average compression ratio among five clustered and unclustered compression algorithms
為驗(yàn)證本文壓縮算法對集群性能的影響,在搭建的分布式平臺集群下,通過對5種壓縮算法與原始集群共6種實(shí)驗(yàn)條件進(jìn)行集群存儲空間、存儲速度及查詢性能3個指標(biāo)進(jìn)行對比測試。其中,集群內(nèi)存占用空間是指數(shù)據(jù)集壓縮前后所占集群內(nèi)存空間的大小;集群存儲速度是指數(shù)據(jù)壓縮前后導(dǎo)入同一個數(shù)據(jù)集所需要的時(shí)間;集群查詢時(shí)間是指數(shù)據(jù)壓縮前后對集群數(shù)據(jù)進(jìn)行查詢查詢所消耗的時(shí)間。
存儲空間對比結(jié)果如圖11 所示。通過上述測試結(jié)果可以看出,數(shù)據(jù)在存儲前通過GA-K-GRU方法進(jìn)行壓縮存儲后,集群磁盤的內(nèi)存空間得到了極大的提升,占用減少了約96%左右。說明本文的GRU 壓縮算法非常有效地節(jié)約了電力數(shù)據(jù)的內(nèi)存空間占用問題。
圖11 集群內(nèi)存空間對比Fig.11 Comparison of cluster memory space
集群存儲速度如圖12 所示。從測試結(jié)果可以看出,數(shù)據(jù)集經(jīng)本文設(shè)計(jì)的壓縮算法壓縮后,存儲速度平均提升約27%。這是因?yàn)閴嚎s后的數(shù)據(jù)更加整齊。
圖12 集群存儲速度對比Fig.12 Comparison of cluster storage speed
集群查詢時(shí)間對比如圖13 所示,從測試結(jié)果可以看出,本文壓縮算法使集群的查詢性能也有所提升,平均節(jié)約27%左右的查詢時(shí)間。
圖13 集群查詢時(shí)間對比Fig.13 Comparison of cluster query time
針對電力調(diào)度中心數(shù)據(jù)堆積越來越大的問題,結(jié)合數(shù)據(jù)聚類和神經(jīng)網(wǎng)絡(luò)中的概率模型優(yōu)化,提出了一種GA-K-GRU壓縮方法,通過對比實(shí)驗(yàn)分析得出以下結(jié)論。
(1)遺傳優(yōu)化K聚類算法可以很好地改善數(shù)據(jù)寫入神經(jīng)網(wǎng)絡(luò)時(shí)屬性分散的問題,對體量較大、結(jié)構(gòu)較為復(fù)雜的電力數(shù)據(jù)有比較好的聚類效果,GAK-GRU 比經(jīng)過遺傳優(yōu)化K 聚類后的Gzip、LZMA、DeepCABAC 和RNN 算法平均壓縮率分別低8.8%、3.7%、3.0%和1.3%,可以較好地緩解電網(wǎng)監(jiān)測數(shù)據(jù)的傳輸壓力。
(2)以電力監(jiān)測數(shù)據(jù)集為算例,搭建Hadoop 分布式集群平臺,進(jìn)行多組不同壓縮算法下的集群性能對比。結(jié)果表明,本文設(shè)計(jì)的遺傳優(yōu)化聚類門控神經(jīng)網(wǎng)絡(luò)壓縮可以減少約96%集群內(nèi)存空間占用,提高約27%集群數(shù)據(jù)存儲速度,提升27%集群數(shù)據(jù)查詢時(shí)間,均優(yōu)于主流的LZ系列和自適應(yīng)壓縮算法。
本文通過GA-K-GRU方法,提高了集群數(shù)據(jù)的壓縮效果,可以有效緩解集群空間壓力,但本文算法會占用較高的CPU資源,后續(xù)的研究重點(diǎn)會放在減少計(jì)算機(jī)資源占用上。