文耀寬,王獻軍,王 峻,蘇 沛
(國家電網河南省電力公司電力科學研究院,河南 鄭州 450000)
目前,隨著電力系統應用的增多,智能電能表發揮著至關重要的作用。智能電能表、傳感器、信息系統能夠產生海量的數據,這些大數據蘊含著龐大的社會經濟和科學價值。隨著云計算、大數據技術的不斷發展,逐步出現了基于大數據的云計算,比如平臺即服務(PasS)、基礎設施即服務(IasS)、虛擬化(Virtualization)的軟件類型來實現大數據處理[1]。用戶通過云計算能夠快速、準確地搜索、使用電能計量裝置中的大數據[2]。由于電能計量裝置中產生的數據量大,類型繁多,用戶使用起來極為不便[3],就需要一種新型計算方法來處理這些問題。該研究采用隨機森林算法的方式實現電能計量裝置的統一管理、智能存儲、數據處理、數據分析、數據可視化等應用,通過采用隨機森林算法能夠實現隨機抽取電力數據樣本的分析,用戶能夠從電力數據庫中精確地獲取屬性不同的數據,提高用戶對電能計量裝置大數據的處理能力[4]。
在設計的大數據平臺構架中,將云計算、物聯網和數據挖掘算法融合在一起,實現電力計量大數據的分析、處理和管理。使用戶在面對浩瀚的電力計量大數據時能夠妥善地管理、使用,節約數據處理的時間[5]。在該設計中,通過在計算機(PC機)上安裝云計算軟件實現數據的采集、存儲、計算、分析和應用。設計的云計算平臺為云端智能電網大數據處理平臺SP-DPP[6],包括數據采集層、云存儲單元、云計算單元和數據應用層,架構示意圖如圖1所示。

圖1 云計算架構設計示意圖
在該系統設計中,數據采集層主要用于采集電能計量裝置中的各種數據,電能計量裝置用于測量、記錄、發送發電量、供電量、廠用電量、線損電量和用戶用電量,以實現電能計量的輸出,滿足用戶需求。采用的計量設備諸如大型專變終端、中小型專變終端、單/三相檢定設備、居民用戶設備、公用配變考核設備等。通過數據采集,能夠獲取底層數據,數據采集層還可以包括各種傳感器設備[7]。在云存儲單元中,存儲單元主要負責存儲電能計量裝置中的各種電力數據信息。云存儲單元擁有多個數據服務器,云存儲類型包括個人云存儲、私有云存儲、公有云存儲和混合云存儲[8]。各種云存儲都具有較大的容量。在使用個人云存儲單元時,通過網絡連接電力設備,以使其處于正常的工作狀態,這樣能夠使用戶存儲類型各異的個人數據。諸如WORD、文本、圖案、照片、視頻和音樂。用戶通過攜帶該云設備,可以隨時擁有數據并控制設備,進而訪問云數據。在私有云存儲單元中,其通過本地局域網絡控制的云存儲服務器,充分地利用虛擬機的性能特點,存儲電能計量裝置大數據。在公有云存儲單元中,公有云存儲單元能夠使提供商擁有、管理、構架和維護電力信息營銷管理系統數據?;旌显拼鎯卧巧鲜龈鞣N云存儲單元和數據中心的適當組合。這種方式具有彈性、可擴展的成本優勢。在云計算單元中,通過數據挖掘算法對接收到的數據按照不同的定義屬性進行分類、計算[9]。該研究通過隨機森林算法從原始電力計量樣本數據中隨機抽取部分數據樣本,從而產生新的電力數據樣本集合,對電力數據樣本集合繼續學習,據此產生多個樣本集合,每個電力數據樣本集合后,都會產生新型的決策樹。通過這種方式,能夠從雜亂無章的數據庫中更精確地分析出電力計量數據的實質,滿足用戶分析電力數據的需要。
由于云計算平臺SP-DPP具有存儲電能計量裝置大數據的穩定、可靠的中心節點,因此該研究采用SP-DPP云平臺進行云計算。SP-DPP平臺在處理、分配電力營銷大數據處理任務時,能夠調度、運行營銷管理大數據中心節點,比如參數文件、配置文件、代碼文件等[10]。云計算平臺SP-DPP在邏輯上包括大數據存儲與管理模塊、任務分配與調度模塊、大數據執行模塊和客戶端模塊。云計算平臺SP-DPP能夠實現電能計量裝置海量數據處理的需求,實現電能計量裝置的運行狀態,更好地獲取相關數據[11]。其架構如圖2所示。

圖2 SP-DPP平臺架構示意圖
在大數據的存儲與管理模塊中,設置有分布式文件系統DFS(distribute file system),主要存儲等待處理的大數據。DFS能夠自動為電能計量裝置管理這些TB到PB級的海量電力數據,在使用時,DFS能夠自動獲取電能計量裝置的/dfs/tmp/filel的數據[7]。在任務分配與調度模塊中,能夠將數據處理的任務以及子任務調配到空閑工作機上。在劃分數據時,可以根據用戶的需求選擇合適的數據屬性和特點,這樣能夠提高數據調度的效率[12]。在調度時,需要綜合考慮工作機的硬件配置和軟件信息情況,硬件配置包含CPU主頻、內存、磁盤等,軟件信息包括CPU利用程度、網絡通暢程度、數據傳播速度、可靠性等。使工作單元在各個物理節點之間進行遷移時比較自由和靈活。在大數據執行模塊中,由SP-DPP云平臺為基于虛擬化技術而實現各種操作,使得SP-DPP云平臺中的電能計量裝置處理、計算處理均在虛擬機上運行[13]。在客戶端,用戶能夠通過互聯網訪問SP-DPP云平臺,客戶端可以按照服務等級協議(service level agreements,SLA),采用按時付費(pay-per-use,PPU)的模式來管理。在使用上述SP-DPP云平臺時,用戶還需要使用Apache的開源的云計算平臺Hadoop中的MapReduce規范,以加快數據的處理速度[14]。
隨機森林是一種特殊的bagging方法,是處理電力大數據的一種方法,是用于訓練base estimator數據的重要步驟之一,更確切地說,bagging算法+decision trees算法便得到了隨機森林算法[15]。具體地說,采用隨機森林算法時,需要建立森林模型。其過程實質是采用隨機的方式建立起來的,隨機建立起來的森林里具有多種不同的決策樹,在隨機森林算法模型中的每一棵決策樹中,彼此之間并沒有聯系。在建立好森林模型之后,每當出現新的電力數據輸入樣本時,森林模型中的每一棵決策樹便各自獨立進行判斷,判斷該電力數據樣本應該屬于哪種類型,出現概率較多的一類則被作為最終的數據分析選擇結果[16]。其分析方法示意圖如圖3所示。

圖3 隨機森林算法的分析示意圖
(1)數據選擇:在電力計量裝置采集層生成的大量計量數據中,根據用戶需求選取電力數據樣本數據集。
(2)預處理:由于電力計量數據集具有很多粗糙的數據信息,并且含有大量的影響數據誤差分析結果的數據噪聲,在分析這些數據時,就需要剔除不平滑、不準確的電力數據信息,或者剔除與用戶無關的噪音數據。將不便于識別的電力信息數據轉化為使用戶容易識別較為純凈的數據信息。在進行電力數據預處理時,借助于bagging集成學習方法實現對電力數據集的訓練、學習,其中bagging集成學習方法如圖4所示。

圖4 bagging集成學習方法示意圖
在機械學習訓練時,從電力計量數據庫中的原始電力樣本訓練數據集合中,隨機抽取一定的電力數據樣本。假設輸入的數據樣本集記作D={(x1,y1),(x2,y2),…,(xm,ym)},第一次輸出是通過弱學習器算法的輸出,然后將多個弱分類器進行多次迭代計算,最終輸出較強的強分類器[17-18]。更具體地說,在采集數據樣本時,每采集一個數據樣本則放回一個數據樣本,假設采集N個電力數據樣本訓練集,隨機采樣次數為T次,根據隨機采樣的特點,進行T次電力數據采樣的結果不會相同,則將每次采樣的電力數據結果輸出頻率較高的數據樣本作為最終的電力樣本數據模型,此時,該點被設置為最終決策樹的葉子節點[19-20]。
(3)隨機森林算法模型的建立:利用步驟(2)訓練出的強分類器來建立隨機森林算法模型,流程如圖5所示。在建立隨機森林模型時,其實質是決策樹算法的進一步升級,在生成隨機森林模型時,通過上述方法可以確定多個決策樹的產生。在確定決策樹的分支節點時,采用分支節點逐漸遞歸分支的方式,在遞歸分支時,需要從其他的數據特征中抽取,該抽取方式仍舊采用隨機抽取部分特征,再次確定子分支。利用上述方法確定了節點、分節點后,一棵決策樹模型便建立起來了[21]。然后采用上述方法對每個數據樣本集合進行訓練,從而建立起多個不同的決策樹。當決策樹逐步增多,則可存儲構建的決策樹。最后看構建出的決策樹數量能否滿足用戶的要求,如果沒有滿足,則需要按照上述方法重新訓練、學習,并且按照投票法原則(少數服從多數)重新確定新輸入樣本的類別。當滿足了用戶要求時,則生成隨機森林模型[22]。

圖5 建立隨機森林算法模型的流程圖
當上述隨機森林模型建立起來之后,則可以利用建立起來的大數據模型對電力大數據進行分析。在分析數據時,計算出訓練樣本數據中不同決策樹的特征變量的加權信息增益率和隨機森林決策樹特征變量的加權信息增益值[23],再計算出二者計算特征的特征重要性,通俗地說,指的是特征變量的信息增益率占全部特征變量的信息增益率的百分比。即假設電力樣本數據集為十萬個不同的電力數據,對各個電力樣本集的特征變量的重要性值進行降序排列,假設將Y降低到y維(Y>y),則可以選擇前n個重要性電力數值的最大特征變量,然后從剩下的Y-y個技術特征中隨機挑選(Y-k)個不同特征[21-22]。共同組成x個特征,從而將電力計量大數據的高維數據從X維降低為x維,有利于用戶識別、分析計量數據。
在試驗時,選擇具有良好的吞吐量和加速比的SP-DPP云平臺。其中云服務器主機的硬件配置為:Intel Xeon E3-1220v53.0 GHz四核,內存:8GDDR4, 硬盤:1*Intel企業級SSD,1*SATA 1T,網卡:2*千兆網口;工作機節點的硬件配置為:CPU型號Intel Xeon E53.0 GHz,內存為8 GB,硬盤容量為1 TB。在試驗時,將這些節點通過局域網內的1臺千兆交換機相聯[23]。其中云服務器主機的軟件配置為:將9臺PC機都安裝RedHatLinux操作系統,Hadoop版本為1.0.4,JRE環境為1.6,用戶只要繼承MapReduce-Base,分別實現Map和Reduce的兩個類,即可編寫Map和Reduce的程序。其中通過PC機組成的SP-DPP平臺的節點配置信息為:節點IP地址分別為172.16.0.1、172.16.0.2、172.16.0.3、172.16.0.4和172.16.0.5,角色分別為Master和Slave兩種類型,操作系統為Linux,運行的進程分別為Namenode,JobTracker和DataNode,TaskTracker。
下面以電能表計量裝置為例,選擇3種不同的電能表計量裝置作為示例,在每個電能表檢測裝置中選取5組測試數據進行分析,選取500個樣本,測試時間為1秒,數據樣本如表1所示。

表1 電能表檢測裝置測試樣本
表2為任意電能檢定裝置檢測的項目N(i,j),其表示檢定裝置中電能表為i,同時在隨機森林模型算法中估計值為j的樣本個數。

表2 檢定裝置分類問題的混淆矩陣
然后利用以下公式進行評價、計算。其中參數真正(TPi)的評價公式為:
TPi=N(i,j)
(1)
參數假負(FNi)的評價公式為:
(2)
假正(FPi)的評價公式為:
(3)
在上述公式中,真正(TPi)表示為通過分類模型正確預測的樣本數i的值,假負(FNi)表示為通過分類模型未正確預測的樣本數i的值,假正(FPi)為上述裝置外的樣本被預測為真正(TPi)和假負(FNi)的樣本數。用以下公式來評價隨機森林模型應用情況。其中對類召回率(Ri)的評價公式為:
(4)
對參數類正確率(Pri)的評價公式為:
(5)
對參數整體正確率(OA)的評價公式為:
(6)
通過上述公式,得出如表3和表4所示的數值。

表3 檢定裝置分類問題的混淆矩陣計算值

表4 檢定裝置中樣本的評估結果 %
根據上述計算結果,選取的3個檢定裝置中,召回率分別為90.32%、91.01%和91.21%,1#檢定裝置召回率最高。將這3個檢定裝置的樣本信息經過上述公式運算可得,預測的正確率分別為90.32%、90.45%和91.32%,整個模型的準確率在90%以上,可見該模型估計的準確率高。
該研究通過建立SP-DPP云平臺進行云計算,在SP-DPP平臺處理、分配電力營銷大數據處理任務時,能夠把數據在電能管理大數據中心節點上調度,大大提高了數據的處理能力,同時采用物聯網技術,實現底層設備到上層數據的傳遞。在軟件平臺設計中,又采用隨機森林算法實現數據的更精確學習和評估。該研究融合了“大數據+隨機森林算法”的深度學習算法,使得電能計量裝置中非結構化、模式多變的電力大數據群中的數據得到了有效分析,提高了用戶對大數據的分析精度,擴大了用戶對電力計算大數據的使用范圍。