


摘要:隨著電力調度信息化系統建設,積累了大量電力調度管理類及實時類數據,這些數據中蘊含著電網運行和安全生產的寶貴信息,充分利用好這部分數據并進行數據挖掘,將有效支持電網運行調度的分析與決策,但由于電力調度源系統數據存儲各異,數據質量不高等特點,將這些海量數據歸集在一起,需進行有效的數據清洗轉換解決數據中的不一致及錯誤,保證數據的正確性,才能在巨大體量數據中提煉出高質量且有用的部分。數據清洗轉換作為電力調度數據質量提升的重要手段,是數據分析的關鍵環節,因此,對電力調度數據清洗轉換方法研究具有重要意義。本文簡要對電力調度數據清洗轉換數據邏輯架構及數據清洗轉換過程及方法進行闡述,且討論其具體流程。
關鍵詞:電力調度數據;數據質量;數據清洗轉換
0引言
隨著企業信息化建設發展,電網企業已陸續推出大數據平臺、公司資產運營監控平臺、全業務數據中心等信息化項目,通過這些信息化項目建設,落實對數據資產分析、挖掘和利用。電力調度系統作為電網安全運行的核心保障,已建設的OCS/EMS系統、電能量系統以及一體化電網運行管理系統(OMS)等,積累了海量結構化數據、非結構化數據、歷史數據及實時運行數據,這些數據中蘊含著電網運行和安全生產的寶貴信息,將這部分數據歸集到一起,充分挖掘電力調度數據價值,對于提升電網安全、穩定、高質量運行,降低系統運營成本具有重要意義。
由于調度源頭系統數據存儲環境不同,且管理類數據錄入和實時數據采集具有內在的出錯傾向,導致數據結構、標準各異,數據質量不高,無法進行高效管理、有效統計、分析及評估;另一方面,各調度機構間調度自動化系統存在信息共享不足,數據多頭輸入,存在數據準確性不高、數據反復抽取、冗余存儲等問題,難以達到數據共享交換及業務深度融合。數據挖掘分析應用需要干凈、透明的業務數據,這就需要對電力調度系統中的數據進行ETL作業,完成數據清洗轉換,去除無效數據、臟數據、并補全缺失數據并進行集中存儲,確保分析的數據真實、可靠、標準、規范,提供準確、唯一的企業數據視圖[1],也為將來的數據挖掘分析應用提供堅實的數據基礎。
數據清洗轉換是一個消除數據中的錯誤與不一致、解決對象識別問題的過程,傳統的手工方法只適合少量數據,且處理不夠及時,費時費力,同時對專業水平要求高,本身還會出錯,不能滿足海量調度管理類及實時類數據清洗要求。因此,研究一種高效、適用的數據清洗轉換方法并借助工具來自動或輔助完成數據清洗轉換非常必要,也是將數據質量控制在合理水平和有效的途徑。
1 數據清洗轉換概述
數據本身是一種資源,它必須經過清洗轉換、分析、建模、可視化等過程加工處理之后,才真正產生價值。數據清洗轉換伴隨數據倉庫而出現的較新的研究,是發現并糾正數據中可識別錯誤的一道程序,該步驟針對數據審查過程中發現的明顯錯誤值、缺失值、異常值、重復數據,選用適當方法進行“清理”,使“臟”數據變為“干凈”數據,為后續數據挖掘分析、建模、可視化分析展示提供完整可靠的數據基礎,是整個數據處理利用的起始階段。數據清洗轉換的基本原理是利用數據挖掘技術,按照設計好的數據清洗轉換規則及算法,將臟數據轉換為滿足數據挖掘要求的數據,具體流程一般包括:數據預處理分析、清洗轉換規則定義、數據清洗轉換任務執行、數據質量校驗。隨著數據清洗技術的發展,專門的數據清洗軟件工具已經開始利用專業的算法分析,標準化、糾正、匹配和合并業務系統的數據,功能包括從簡單的清洗和單一數據集的增強,到把來自不同數據庫和文件系統的數據項進行匹配、糾正和合并。
2 電力調度數據清洗轉換數據邏輯架構
電力調度數據清洗轉換數據邏輯架構可分為數據源層、數據貼源層及目標數據存儲層三層結構,數據源層為電力調度各自獨立的異構業務系統數據,貼源層在獲取業務源系統的數據后,經過數據清洗轉換緩沖區的數據清洗、轉換、加工、聚合、挖掘和校驗,形成目標數據存儲層(數據倉庫或數據集市)數據[2],為各類綜合性的查詢統計輔助分析決策應用系統提供業務數據。如圖1所示。
圖1 電力調度數據清洗轉換數據邏輯架構
數據源層:存儲電力調度各業務系統,如OCS/EMS系統、電能量系統以及一體化電網運行管理系統(OMS)等結構化數據、非結構化數據、歷史數據及實時運行數據,為數據清洗轉換提供數據源,是電力調度數據清洗轉換的源頭。
數據貼源層:存儲從電力調度源系統接入的原始數據,與生產系統數據源保持一致,完成對業務系統數據進行備份,為數據清洗轉換提供最原始的,也是最粗糙的數據。在對業務系統數據進行清洗、轉換并形成目標數據存儲層數據之前,將數據抽取到數據貼源層,可有效避免或減少數據清洗轉換對業務源系統的影響;同時,保障數據貼源層數據與生產系統數據同步,在對原始數據清洗轉換及分析使用起到可追查的作用。
數據清洗轉換緩沖區:位于數據貼源層及目標數據存儲層之間,是數據清洗轉換的核心區,是數據清洗轉換規則定義及執行的主要環節,包括外部支持模塊、規則模型庫模塊、清洗轉換模塊三部分,其中外部支持模塊主要包括系統日志、監控系統和訪問接口;規則模型庫模塊主要包括在數據清洗過程中需要調用的數據字典庫、算法庫、數據模型和規則庫等;數據清洗轉換模塊是根據制定的算法和規則進行搜索和調用,執行數據處理及質量校驗,最終將滿足條件的數據加載到目標數據存儲層,同時,接受外部支持模塊的訪問和監控。
目標數據存儲層:長期(或永久)存儲規范的、全局邏輯關聯一致的業務明細數據,以及各類口徑各種層級的匯總數據。目標數據存儲層的數據首先來源于數據貼源層的業務數據,經過規范化整合處理、寬表加工或數據加工聚合,形成對象化的業務明細數據或者是各種層級各種口徑的統計匯總數據,目標數據存儲層中的數據集市可根據業務分析需求將數據倉庫中的數據經數據挖掘、數據分析、復雜計算等加工處理后存儲。目標數據存儲層可直接向分析型應用系統提供數據。
本文提出的電力調度數據清洗轉換過程及方法研究,主要針對調度源業務系統數據接入到數據貼源層存儲后,在數據清洗轉換緩沖區對其中不符合編碼規則,內容不符合標準的調度管理類及實時類數據,借助規則庫中相應的數據清洗轉換算法及模型,按照指定的規則進行清洗,最終實現干凈透明的電力調度數據有序、合規、合理的進入目標數據存儲層。確保調度數據業務邏輯與信息邏輯的統一、數據編碼規范標準化,數據統一存儲管理,為電力調度數據的價值挖掘分析應用提供規范的基礎數據,促進電力調度數據資產價值變現及精益化管理水平。
3 電力調度數據清洗轉換方法及流程
如圖1數據清洗轉換模塊主要包括了數據預處理、異常值/缺失值處理、重復值處理及數據質量校驗4個子模塊,其中,電力調度源系統將數據持續增量接入到數據貼源層后,首先在數據預處理階段對原始數據進行數值化、標準化、降維等操作,隨后執行對缺失數據補錄、異常數據統計建模處理、重復數據合并/刪除等清洗轉換作業操作,最終將經過數據質量檢查通過的數據進行裝載到目標數據存儲層儲存,在數據清洗轉換過程中,通過統計、聚類、模式識別以及關聯規則集成的數據清洗轉換規則庫同時被每個環節調用。數據清洗轉換各子模塊數據處理流程及方法如下:
3.1數據預處理
數據預處理部分是獲得對數據一個初步的認識以及對先驗知識的一個探索分析過程,主要是利用相關的科學計算方法進行數據初步的探索,例如數據類型,缺失值,數據集規模,各特征下的數據分布情況等,并利用第三方繪圖庫進行直觀的觀察,以獲取數據的基本屬性與分布情況,另外,通過數值化、標準化、降維等過程對數據集中各特征進行預處理,為后續針對不同的數據特征采用不同的清洗轉換方法提供依據。具體處理流程如圖2所示:
圖2 數據預處理流程
1)、探索性分析:這里包含兩個部分:一是看元數據,包括字段解釋、數據來源、代碼表等一切描述電力調度業務的數據信息;二是抽取一部分數據,使用人工查看方式,對數據本身表達的業務含義進行直觀的了解,并且初步發現問題,為之后的數據處理做準備。
2)、數值化:針對對電力調度數據中不同格式的數據形式,進行類型統一。 如要處理的數據類型是數值型,但有字符型或者其他數據類型,則對其進行ASCLL碼轉換或取一個適當的質數求模標準化操作,映射到一個數值區間得到數值型數據。
3)、標準化:將數據標準化,根據數據字典消除同一指標不一致的度量標準等。如發電負荷,在一個維度空間單位是萬千萬/時,另一個維度空間是千萬/時,在數據分析計算相關性或者進行方差計算時,因單位不統一,數值相差過大將導致后者掩蓋了前者的作用。因此對整體數據進行歸一化工作,這樣將減小后續的數據分析處理產生的影響。
4)、降維:電力調度原始數據中往往含有多維度指標,這些維度之間存在關聯,使用數據的相關性、主分分析法來降低數據維度[3],減少數據結構復雜度,減少后續數據處理難度。
5)、所有數據在預處理完成后,輸出結果數據。
3.2異常/缺失值處理
電力調度實時類數據主要來源于OCS/EMS系統、電能量系統等,數據特征是以時間為主鍵、自動產生,因此,該類數據不容易產生重復性數據,但由于數據采集系統廠家不同以及數據采集通道中斷等問題,該類數據易產生數據異常、缺點及空數據等。數據異常/缺失主要包括屬性值錯誤和空值兩個方面,屬性錯誤值檢測主要包括括統計法、聚類方法以及關聯規則方法[4],這些方法都是以統計和總結規律的方式計算并查找錯誤值,進而修正錯誤數據;而空值檢測主要采用人工填寫空缺值法手工檢測并填寫屬性值,也可以采用屬性的平均值、中間值、最大值、最小值或更為復雜的概率統計函數值填充空缺值法。數據缺失/異常處理于模塊流程如圖3所示:
圖3 數據異常/缺失數據處理流程
1)、確定數據異常/缺失范圍:通過數據預處理階段,利用統計分析或人工智能方法檢測數據缺失值所在屬性的重要程度以及缺失值異常的范圍,如圖4所示,對不同的數據異常/缺失范圍,采用不同的數據清洗方式。
圖4 數據異常/缺失率范圍處理方式
2)、數據刪除:主要針對數據屬性重要性低、異常/缺失率高的的數據進行直接刪除處理,一般在小規模數據上試驗成功后再處理全量數據。
3)、填充缺失內容:相對去除不需要字段而言,針對某些數據缺失/異常范圍的指標可以通過一定的方法將缺失的數據進行填充操作,從而形成完整的數據記錄。常用的數據缺失值填充方法有:
統計法:對于數值型的數據,使用均值、加權均值、中位數等方法補足;對于分類型數據,使用類別眾數最多的值補足。
模型法:基于已有的其他字段,將缺失字段作為目標變量進行預測,得到最為可能的補全值。如果帶有缺失值的列是數值變量,采用回歸模型補全;如果是分類變量,則采用分類模型補全。
其他方法:例如隨機法、特殊值法、多重填補等。
4)、修正異常內容:針對某些數據異常/缺失范圍的指標可以進行修正操作,方法有:使用簡單規則庫(常規性規則和業務特定規則等)檢測和修正數據錯誤;使用不同屬性的約束檢測和以關聯指標的計算結果修正異常數據;使用外部數據源檢測和修正數據錯誤;視為缺失值按照處理缺失值的方法來處理。
5)、重新取數:如果數據屬性非常重要但異常/缺失率高,數據填充/修正不能滿足業務需求或數據處理成本過高時,則需要從系統重新獲取、補錄相關數據并進行數據清洗轉換作業處理。
6)、完成數據異常/缺失處理,輸出最后結果。
3.3重復數據處理
在電力調度多個系統數據集成過程中,由于各系統實際數據可能存在數據輸入錯誤,格式、拼寫上存在差異等各種問題,使得邏輯上指向同一個的實體,在數據集成后可能會有多個不同的表示,從而在數據挖掘分析時不能正確識別。對于重復數據的判斷,基本思想是“排序與合并”,先將數據按一定規則排序,然后通過比較鄰近排序算法來檢測記錄是否重復[5],最后通過沖突處理機制,根據一定的規則合并或刪除檢測出的重復數據,只保留其中正確的記錄。重復數據處理包含了三個操作層次,一是排序,二是計算相似度,三是沖突處理(合并/刪除)。主要處理過程如圖5所示:
圖5 重復數據處理方式
1)、通過對數據屬性的分析,選取用于記錄匹配的屬性,并給屬性分配權值,根據選取的匹配屬性及權值對需處理的數據進行排序。
2)、按排序順序掃描數據集中的每一條記錄,采用基本近鄰排序算法來檢測數據相似重復度。
3)、如果通過第2步檢測出的數據相似重復度大于閾值,說明該記錄或連續的幾條記錄為相似重復記錄,則進行數據的合并或刪除操作;否則,掃描下一條數據記錄,重復以上第2)和3)的步驟。
4)、完成數據重復記錄檢測,輸出最后結果。
3.4數據質量校驗
當數據清洗轉換完成后,需在電力調度源系統到數據貼源層、貼源層到數據存儲層各環節,對數據是否丟失、是否執行清洗轉換、數據清洗轉換后是否符合規則定義等問題進行檢查,檢查目的是為了驗證數據清洗轉換的準確性、完整性、業務合理性[6]。數據質量校驗關鍵是構建數據質量檢查規則,在數據清洗轉換過程中根據數據質量檢查規則執行數據質量探查任務,生成數據清洗報告并判定數據是否滿足要求。數據質量校驗基本流程如圖6所示:
圖6 數據質量校驗
1)、開始數據清洗轉換任務時執行數據質量探查任務,根據源系統的數據結構、數據字典、數據標準、規則模型等,利用挖掘算法(語義分析、聚類算法等)及規則模塊定義,對清洗轉換結果進行屬性值完整性及合規性檢測、重復記錄檢測等。
2)、生成數據清洗轉換報告,記錄數據清洗轉換規則的滿足情況。
3)、根據數據清洗轉換報告的滿足情況判斷,對不滿足數據質量校驗規則的數據進行記錄,改造數據清洗轉換作業流程并重新執行,直到滿足數據質量校驗規則。
4)、根據數據清洗轉換報告的滿足情況判斷,對滿足數據校驗規則的數據參照圖1電力調度數據清洗轉換數據邏輯架構將數據流轉到數據存儲層對聚合、加載、存儲、分析。
4 結論
根據電力調度數據處理邏輯架構進行電力調度數據清洗轉換作業,需要打通電力調度源系統到數據貼源層、貼源層到數據存儲層之間的數據處理流程,實現三層兩級ETL的聯動。貼源層數據完成一次數據清洗轉換作業同步到數據存儲層后,電力調度源系統數據同時需要增量接入到貼源層。因此,需要相應建立一套全流程、持續性的數據增量同步機制,保證后期源系統數據能持續的進行清洗轉換作業并將干凈、合規的數據順利接入到數據存儲層進行存儲。
通過對電力調度數據清洗轉換過程各子模塊描述可以看出,數據清洗轉換的過程是借助規則模塊定義,使用一系列算法及邏判斷完成數據規范性處理,同時檢測數據是否符合數據集中存儲的要求,從而選擇做進一步填充、刪除、轉換等操作。數據清洗轉換的過程是數據集成的一個重要步驟,也是其中一個復雜的過程。數據清洗轉換屬于一個較新的研究領域,如何將數清洗有效地運用到ETL中以提高數據質量及如何提高數清洗轉換精度等有待于進一步研究。由于電力調度數據質量控制的重要性,數據清洗技術在電力調度業務系統中應用前景是巨大的。
參考文獻:
[1] 付立辰. 電力企業中數據倉庫模型的研究與應用[D]. 華北電力大學(北京) 華北電力大學, 2012.
[2] 張軍鵬. 數據倉庫與數據挖掘中數據清洗的研究[D]. 華北電力大學(保定), 2006.
[3] 吳曉婷, 閆德勤. 數據降維方法分析與研究[J]. 計算機應用研究(8):38-41.
[4]? Maletic J, Marcus A. Data cleansing: beyond integritysis[J]. Division of Computer Science, 2000
[5] 朱寶成. ETL框架及數據清洗的研究[D]. 2007.
[6]? 秦璇. 電力統計數據的質量評估及其異常檢測方法研究[D]. 長沙理工大學, 2013.
作者簡介:
閔侯(1986.02–),男,云南紅河人,開發工程師,從事電網調度信息化建設工作