国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Spark框架的能源互聯(lián)網(wǎng)電力能源大數(shù)據(jù)清洗模型*

2018-07-30 09:13曲朝陽張藝競王永文趙瑩
電測與儀表 2018年2期
關(guān)鍵詞:離群修正邊界

曲朝陽,張藝競,王永文,趙瑩

(東北電力大學(xué) 信息工程學(xué)院,吉林 吉林 132012)

0 引 言

隨著《中國電力大數(shù)據(jù)發(fā)展白皮書》[1]的發(fā)布,帶動了電力行業(yè)內(nèi)對能源大數(shù)據(jù)研究熱潮,準(zhǔn)確、可靠是保證能源大數(shù)據(jù)分析處理精準(zhǔn)性的基本要求,因此對能源大數(shù)據(jù)質(zhì)量提出了更高的要求,能源大數(shù)據(jù)清洗可有效保證能源大數(shù)據(jù)質(zhì)量的正確性、完整性、一致性、可靠性。

能源大數(shù)據(jù)具有數(shù)量大、維度高,數(shù)據(jù)模式繁多等特征,在能源大數(shù)據(jù)的采集過程中,其不可避免的存在異常數(shù)據(jù),對能源大數(shù)據(jù)清洗有很強(qiáng)的必要性。國內(nèi)外對能源大數(shù)據(jù)清洗研究主要有聚類和關(guān)聯(lián)分析[2]、條件函數(shù)依賴[3]、馬爾科夫模型[4]、DS證據(jù)理論[5]。大部分?jǐn)?shù)據(jù)清洗技術(shù)都需要依賴數(shù)據(jù)模型本身構(gòu)建異常數(shù)據(jù)識別規(guī)則,對檢測到的異常數(shù)據(jù)做刪除或均值填充處理,破壞了數(shù)據(jù)的連續(xù)性、完整性、準(zhǔn)確性。綜合國內(nèi)外研究,能源大數(shù)據(jù)清洗難點(diǎn)表現(xiàn)在以下幾點(diǎn):(1)能源大數(shù)據(jù)數(shù)據(jù)模型繁多,數(shù)據(jù)種類各異,不宜直接構(gòu)建能源大數(shù)據(jù)異常數(shù)據(jù)識別規(guī)則。文獻(xiàn)[3]提出一種基于hadoop的不一致數(shù)據(jù)檢測和修復(fù)算法,但是在預(yù)處理階段,需要用戶給定在屬性集上的一個(gè)關(guān)系模式的條件函數(shù)依賴CFD。這種方法需要人為因素干預(yù),且能源大數(shù)據(jù)關(guān)系模式復(fù)雜、數(shù)據(jù)信息表樣式繁多,很難為每一個(gè)關(guān)系模式劃定條件函數(shù)依賴;(2)正常數(shù)據(jù)多,異常數(shù)據(jù)少,不同類型的能源大數(shù)據(jù)很難通過設(shè)定閾值來進(jìn)行簡單異常識別;(3)異常識別將異常數(shù)據(jù)剔除,破壞了數(shù)據(jù)的連續(xù)性;(4)對異常數(shù)據(jù)進(jìn)行重構(gòu)時(shí),需要依賴外源數(shù)據(jù)。文獻(xiàn)[6]提出了基于四分位原理的異常識別和基于風(fēng)電出力模式性的重構(gòu)方法,這種異常識別方法容易剔除未識別的正常數(shù)據(jù),對缺失的風(fēng)電功率數(shù)據(jù)在進(jìn)行構(gòu)建時(shí)需要依賴臨近的風(fēng)電場功率數(shù)據(jù),很容易造成誤差。

針對以上能源大數(shù)據(jù)清洗難點(diǎn),本文提出一種基于Spark框架的能源大數(shù)據(jù)清洗模型。模型的基本思想是:首先,用改進(jìn)的CURE聚類算法對測試樣本進(jìn)行聚類,剔除掉測試樣本中的離群點(diǎn),獲取樣本點(diǎn)正常的簇,并根據(jù)邊界樣本獲取方法獲取邊界樣本集;然后設(shè)計(jì)邊界樣本的異常識別算法檢測歷史或?qū)崟r(shí)流能源大數(shù)據(jù)中的異常數(shù)據(jù);最后通過指數(shù)加權(quán)移動平均數(shù)對檢測出的異常數(shù)據(jù)進(jìn)行修正,從而達(dá)到對能源大數(shù)據(jù)中異常數(shù)據(jù)清洗目的。相比一些能源大數(shù)據(jù)清洗模型,本文數(shù)據(jù)清洗模型減少人為干預(yù),不需要根據(jù)數(shù)據(jù)關(guān)系模式設(shè)定識別規(guī)則,異常識別算法依賴于歷史數(shù)據(jù)中的正常樣本數(shù)據(jù),且對異常數(shù)據(jù)修正是建立在其同一時(shí)間序列數(shù)據(jù)分析的基礎(chǔ)上,最終能夠?qū)崿F(xiàn)對歷史或?qū)崟r(shí)數(shù)據(jù)中的異常數(shù)據(jù)清洗。

1 基于Spark框架的能源大數(shù)據(jù)清洗模型

能源大數(shù)據(jù)清洗是對檢測到的能源大數(shù)據(jù)中異常數(shù)據(jù)進(jìn)行修正的過程,利用Spark框架構(gòu)建能源大數(shù)據(jù)清洗模型時(shí)分為以下幾個(gè)階段:數(shù)據(jù)準(zhǔn)備、正常簇樣本獲取、異常數(shù)據(jù)識別、異常數(shù)據(jù)修正、修正數(shù)據(jù)存儲。數(shù)據(jù)準(zhǔn)備即將存儲在傳統(tǒng)關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)存在適合于大數(shù)據(jù)處理的非關(guān)系型數(shù)據(jù)庫中,然后加載到Spark的彈性分布式數(shù)據(jù)集(RDD)中;通過抽取一定數(shù)量的能源大數(shù)據(jù)樣本,應(yīng)用層次聚類算法將其中的異常點(diǎn)抽取,獲取可用于實(shí)現(xiàn)邊界樣本異常識別算法的正常樣本簇;異常數(shù)據(jù)識別是建立在邊界樣本的基礎(chǔ)上,通過邊界樣本異常識別算法完成對能源大數(shù)據(jù)中的異常數(shù)據(jù)檢測;異常數(shù)據(jù)修正完成對檢測到的能源大數(shù)據(jù)中的異常數(shù)據(jù)的修復(fù)。基于Spark框架的能源大數(shù)據(jù)清洗模型框架(見圖1),清洗步驟如下:

(1)數(shù)據(jù)準(zhǔn)備:將數(shù)據(jù)存儲在分布式文件系統(tǒng)HDFS中;

(2)從分布式文件系統(tǒng)上讀取數(shù)據(jù)并執(zhí)行cache操作生成RDDs,將數(shù)據(jù)讀入到內(nèi)存;

(3)利用改進(jìn)的并行CURE聚類算法獲取正常簇;

(4)從正常簇中選取邊界樣本數(shù)據(jù);

(5)設(shè)計(jì)基于邊界樣本的異常數(shù)據(jù)識別算法,并對測試樣本識別異常數(shù)據(jù);

(6)標(biāo)記異常數(shù)據(jù)所在檢測樣本中的位置;

(7)對異常數(shù)據(jù)應(yīng)用指數(shù)加權(quán)移動平均數(shù)進(jìn)行修正;

(8)形成修正數(shù)據(jù)集并保存。

圖1 基于Spark框架的能源大數(shù)據(jù)清洗模型

文中接下來針對能源大數(shù)據(jù)清洗模型中的幾個(gè)核心步驟進(jìn)行分析介紹。首先詳細(xì)描述了改進(jìn)CURE聚類算法獲取正常簇;其次介紹了邊界樣本的選擇過程,并對邊界樣本的異常數(shù)據(jù)識別算法進(jìn)行了詳細(xì)分析;最后闡述了指數(shù)加權(quán)移動平均數(shù)對異常數(shù)據(jù)進(jìn)行修正。本文在最后給出了實(shí)驗(yàn)驗(yàn)證及分析,并對本文工作進(jìn)行總結(jié)并指出進(jìn)一步的研究方向。

2 正常簇樣本獲取算法

在對能源大數(shù)據(jù)進(jìn)行異常識別時(shí),由于能源大數(shù)據(jù)在采集過程中采集設(shè)備具有數(shù)據(jù)校驗(yàn)功能,因此采集的數(shù)據(jù)大多為正常數(shù)據(jù),異常數(shù)據(jù)較少,同時(shí)能源大數(shù)據(jù)的種類繁多導(dǎo)致不能直接構(gòu)建單一規(guī)則或設(shè)定閾值進(jìn)行異常識別。直接對采集上來的能源大數(shù)據(jù)進(jìn)行異常識別計(jì)算量大且識別效率低。因此可以從能源大數(shù)據(jù)歷史數(shù)據(jù)樣本中獲取正常樣本簇,在正常簇的邊界樣本集的基礎(chǔ)上對歷史或?qū)崟r(shí)能源大數(shù)據(jù)進(jìn)行異常識別,這種異常識別不依賴數(shù)據(jù)屬性閾值及屬性數(shù)學(xué)模式規(guī)則,同時(shí)可提高檢測的效率。

如表1所示,CURE聚類算法在對測試樣本進(jìn)行聚類時(shí)通過消除離群點(diǎn)降低對聚類結(jié)果的影響,可通過CURE聚類算法對測試樣本進(jìn)行聚類獲取正常樣本的聚類簇。CURE聚類算法分別在兩個(gè)階段對離群點(diǎn)進(jìn)行刪除:第一階段是在聚類增長非常緩慢的類作為離群點(diǎn)刪除;第二階段是在聚類結(jié)束時(shí)將對象數(shù)據(jù)明顯少的類作為離群點(diǎn)刪除。但是通過CURE聚類算法對離群點(diǎn)進(jìn)行刪除時(shí)存在以下的問題:(1)很難界定第一階段的增長速度快慢的類[7];(2)對離群點(diǎn)刪除后因局部數(shù)據(jù)的分布特征存在掩蓋現(xiàn)象[8]。

表1 基于改進(jìn)CURE算法正常簇樣本獲取算法

針對CURE聚類算法剔除異常點(diǎn)時(shí)存在的問題,本文使用離群程度用于判定離群點(diǎn),可有效解決增長緩慢的離群類難界定及局部離群點(diǎn)被淹沒的現(xiàn)象。相關(guān)定義如下:

定義1:對每個(gè)劃分的數(shù)據(jù)塊進(jìn)行聚類,得到的數(shù)據(jù)簇表示為,其中表示塊中第i個(gè)簇,表示為第i個(gè)簇的中心點(diǎn),表示每個(gè)中心點(diǎn)的權(quán)重值,是每個(gè)簇中數(shù)據(jù)的個(gè)數(shù)。因此每個(gè)劃分的數(shù)據(jù)塊可以使用若干個(gè)代表,稱為代表點(diǎn)。

定義2:設(shè)代表點(diǎn)的集合為P,每個(gè)代表點(diǎn)的中心點(diǎn)到簇外任意一點(diǎn)的偏差距離表示為離群程度:

(1)

用歐氏距離表示一個(gè)點(diǎn)的偏離程度,當(dāng)某點(diǎn)離簇中心點(diǎn)越遠(yuǎn),則離群程度值越大。

定義3:設(shè)離群程度集為D,定義離群程度判定值為:

(2)

定義4:設(shè)離群參數(shù)為,離群程度最小值為,

(3)

定義5:對于離群程度集D中任意di,若di所對應(yīng)的代表點(diǎn)pi為離群點(diǎn),其所在的簇中的數(shù)據(jù)即為離群數(shù)據(jù)。

3 基于邊界樣本的異常數(shù)據(jù)識別算法

本文提出了基于邊界樣本的異常數(shù)據(jù)識別算法,首先通過獲取正常簇的邊界樣本集;然后根據(jù)異常數(shù)據(jù)識別算法檢測異常數(shù)據(jù);最后標(biāo)記異常數(shù)據(jù)并記錄所在位置。異常數(shù)據(jù)識別是對能源大數(shù)據(jù)中歷史或?qū)崟r(shí)流數(shù)據(jù)中的異常數(shù)據(jù)檢測的過程,是建立在正常簇的邊界樣本的基礎(chǔ)上。每個(gè)正常簇的邊界樣本必須具有以下特點(diǎn):(1)距離質(zhì)心最遠(yuǎn);(2)分散在正常樣本的四周;(3)能夠代表正常樣本的形狀。

下面給出一個(gè)正常簇的邊界樣本定義:距離簇質(zhì)心最遠(yuǎn)的樣本點(diǎn),且能夠代表整個(gè)簇的形狀,一個(gè)聚類簇的邊界樣本節(jié)點(diǎn)是由自己樣本節(jié)點(diǎn)決定的,與其他樣本節(jié)點(diǎn)無關(guān),稱這類樣本節(jié)點(diǎn)為邊界樣本。

在對邊界樣本點(diǎn)進(jìn)行選擇時(shí),應(yīng)保持邊界樣本點(diǎn)的特點(diǎn),下面給出邊界樣本的選擇過程:

步驟1:計(jì)算簇的中心點(diǎn)(n1+n2+...+nm)/m,ni為簇的點(diǎn),m為簇的點(diǎn)個(gè)數(shù);

步驟2:第一個(gè)邊界樣本點(diǎn)為離中心點(diǎn)最遠(yuǎn)的點(diǎn),第二個(gè)邊界樣本點(diǎn)為離第一樣本點(diǎn)最遠(yuǎn)的點(diǎn)。

步驟3:接下來選擇的邊界樣本為離前兩個(gè)樣本點(diǎn)距離之和最大的點(diǎn),直到選取的樣本點(diǎn)能夠代表聚類簇,則選擇停止。正常簇的邊界樣本選擇過程,為每步選出的邊界樣本點(diǎn)(見圖2)。

圖2 正常樣本簇的邊界樣本選擇過程

邊界樣本點(diǎn)分散在聚類簇的四周,能夠表示聚類簇的形狀。利用正常簇的邊界樣本來識別待檢測樣本,可以減少異常識別算法的計(jì)算量?;谶吔鐦颖镜漠惓?shù)據(jù)識別算法步驟:

步驟1:計(jì)算待測樣本T到邊界樣本bi的距離,T={t1,t2,…,tm},D={d1,d2,…,dn};

步驟2:找到最小距離dmin,邊界樣本點(diǎn)為l1=dmin=min(di);

步驟3:找到離邊界樣本最遠(yuǎn)的點(diǎn)dj,計(jì)算到的距離l2=distance(ti,dj);

步驟4:如果l1≥l2,則ti為異常樣本點(diǎn);若l1rs,rs為樣本半徑,則ti為異常樣本點(diǎn),否則為正常樣本點(diǎn);

步驟5:標(biāo)記異常數(shù)據(jù)的所在檢測樣本中的位置。

通過邊界樣本異常識別算法,在進(jìn)行異常識別時(shí),不必設(shè)置異常識別的閾值,同時(shí)可以避免因使用數(shù)據(jù)模式帶來的復(fù)雜性,可以提高異常識別的效率。

4 基于時(shí)間序列分析異常數(shù)據(jù)修正

能源大數(shù)據(jù)是在一定時(shí)間周期內(nèi)采集的數(shù)據(jù)的積累,能源大數(shù)據(jù)因其種類多,隨時(shí)間變化一般呈現(xiàn)三種規(guī)律:周期變化型數(shù)據(jù)、幅值變化較小型數(shù)據(jù)、緩慢增加型數(shù)據(jù)[9]。異常數(shù)據(jù)在對能源大數(shù)據(jù)時(shí)間序列的影響表現(xiàn)為兩種形式:第一種是加性異常點(diǎn),這類異常點(diǎn)只影響異常點(diǎn)發(fā)生的那一時(shí)刻上的序列,而不影響該時(shí)刻后的序列值。第二種是更新異常點(diǎn),造成這種異常點(diǎn)的產(chǎn)生不僅作用于在該時(shí)刻,而且還會影響該時(shí)刻后的一段時(shí)間內(nèi)的所有測量值。

對異常數(shù)據(jù)進(jìn)行修正時(shí)要根據(jù)異常數(shù)據(jù)所在數(shù)據(jù)區(qū)間數(shù)據(jù)特點(diǎn)及異常數(shù)據(jù)表現(xiàn)形式,對不同類型的異常數(shù)據(jù)進(jìn)行分析修正[10]。對緩慢增加或衰減型能源大數(shù)據(jù)中的異常數(shù)據(jù)進(jìn)行修正時(shí),選取的參考數(shù)據(jù)序列為異常數(shù)據(jù)所在序列的[n,m]區(qū)間;對周期性變化型能源大數(shù)據(jù)中的異常數(shù)據(jù)進(jìn)行修正時(shí),選取的數(shù)據(jù)序列為包含異常數(shù)據(jù)在內(nèi)的n個(gè)周期內(nèi)的異常數(shù)據(jù)所在的時(shí)刻t的數(shù)據(jù)序列。

在對異常數(shù)據(jù)進(jìn)行修正時(shí),一般采用的方法是使用該異常數(shù)據(jù)所在序列的平均數(shù)進(jìn)行代替。這時(shí)修正的值為,式中是對給定的一個(gè)權(quán)值。但是,某一序列值對后面序列值的影響作用是衰減的,而不是一直是。因此對異常數(shù)據(jù)進(jìn)行修正采用指數(shù)加權(quán)移動平均數(shù):

(5)

5 實(shí)驗(yàn)及結(jié)果分析

本文采用“Spark On Yarn”集群模式構(gòu)建能源大數(shù)據(jù)清洗模型實(shí)驗(yàn)環(huán)境,實(shí)驗(yàn)采用6臺服務(wù)器組成數(shù)據(jù)清洗集群節(jié)點(diǎn),其中一個(gè)節(jié)點(diǎn)為Master,其余五個(gè)節(jié)點(diǎn)分別為Slave1-Slave5,每個(gè)節(jié)點(diǎn)的配置如表2所示。每個(gè)服務(wù)器節(jié)點(diǎn)采用Ubuntu-12.04.1操作系統(tǒng),使用Hadoop-2.6.0,Spark-1.3.1,Scala-2.10.5,JDK-1.7.0_79搭建節(jié)點(diǎn)的軟件環(huán)境。實(shí)驗(yàn)平臺在Scala的Intellij Idea開發(fā)環(huán)境上進(jìn)行開發(fā)實(shí)現(xiàn),以hadoop的hdfs實(shí)現(xiàn)數(shù)據(jù)結(jié)果的存儲。

表2 集群配置

以某風(fēng)電場風(fēng)力發(fā)電監(jiān)測數(shù)據(jù)作為數(shù)據(jù)清洗研究對象[11]。該風(fēng)力發(fā)電監(jiān)測數(shù)據(jù)大小為5 GB,分別從5臺風(fēng)力發(fā)電機(jī)采集,采集間隔為1 s,記錄了從2012年2月1日到2012年2月29日風(fēng)力發(fā)電監(jiān)測數(shù)據(jù)。文章將從異常識別的準(zhǔn)確性、異常修正的效率對能源大數(shù)據(jù)清洗模型進(jìn)行驗(yàn)證分析。

實(shí)驗(yàn)1:針對正常樣本獲取過程中離群點(diǎn)刪除算法,本文測試了幾種離群點(diǎn)檢測算法的檢測率和誤檢率,測試結(jié)果見表3。與Apriori算法相比,本文算法在檢測率相似的情況下,誤檢率較低。較低誤報(bào)率有利于保證獲取的正常樣本質(zhì)量,保證構(gòu)建基于正常樣本的邊界樣本異常識別算法的準(zhǔn)確性。同原始CURE聚類算法比較,文本所改進(jìn)CURE聚類算法在檢測率和誤檢率都有所提高。

表3 離群點(diǎn)檢測算法比較

實(shí)驗(yàn)2:為了驗(yàn)證能源大數(shù)據(jù)異常識別算法的檢測異常數(shù)據(jù)正確性,實(shí)驗(yàn)保持集群節(jié)點(diǎn)數(shù)固定,不斷調(diào)整測試數(shù)據(jù)樣本大小,檢測算法的準(zhǔn)確率,結(jié)果如表4??梢钥闯瞿P蜋z測到了大部分的異常數(shù)據(jù)。

表4 能源大數(shù)據(jù)異常識別算法的準(zhǔn)確率測試

實(shí)驗(yàn)3:為了驗(yàn)證能源大數(shù)據(jù)清洗模型的高效性,測試了傳統(tǒng)單機(jī)數(shù)據(jù)清洗與基于Spark框架的能源大數(shù)據(jù)清洗模型不同數(shù)量的清洗所需要的時(shí)間[12]-[13]。集群節(jié)點(diǎn)數(shù)固定,不斷調(diào)整待清洗數(shù)據(jù)樣本大小,測試數(shù)據(jù)清洗時(shí)間,測試結(jié)果見表5。排除節(jié)點(diǎn)間的網(wǎng)絡(luò)通信以及任務(wù)調(diào)度的開銷等因素,基于Spark的能源大數(shù)據(jù)清洗在效率上高于傳統(tǒng)單機(jī)數(shù)據(jù)清洗,但執(zhí)行效率與實(shí)驗(yàn)中算法、集群的節(jié)點(diǎn)及數(shù)據(jù)量有關(guān)。

表5 單機(jī)及并行數(shù)據(jù)清洗清洗時(shí)間比較

表6 基于邊界樣本的異常信息識別方法實(shí)驗(yàn)結(jié)果

實(shí)驗(yàn)4:固定測試數(shù)據(jù)樣本大小,從中隨機(jī)抽取15 000條數(shù)據(jù)作為實(shí)驗(yàn)測試樣本,正常簇樣本個(gè)數(shù)為5,每個(gè)正常樣本簇的邊界樣本個(gè)數(shù)分別為25,35,45,55,65,在待識別樣本數(shù)目固定的情況下,對上述測試樣本采用基于邊界樣本的異常信息識別方法進(jìn)行異常信息識別,檢測正常樣本簇的邊界樣本個(gè)數(shù)對檢測結(jié)果的影響,結(jié)果如表6所示。

6 結(jié)束語

本文分析了能源大數(shù)據(jù)清洗過程中的若干難點(diǎn),并針對能源大數(shù)據(jù)的特點(diǎn)及清洗難點(diǎn)提出了基于Spark框架的能源大數(shù)據(jù)清洗模型。該清洗模型具有以下特點(diǎn):(1)異常數(shù)據(jù)識別無須外源數(shù)據(jù);(2)異常數(shù)據(jù)識別及修正準(zhǔn)確性高;(3)利用并行Spark大數(shù)據(jù)處理框架,具有高效性。但是,本文在選取正常簇的邊界樣本時(shí)仍然存在問題,即何時(shí)達(dá)到最優(yōu)邊界樣本數(shù);其次,對異常數(shù)據(jù)的修正是建立在同一時(shí)間序列的樣本上,若該時(shí)間序列出現(xiàn)異常對異常數(shù)據(jù)修正的準(zhǔn)確性仍會有影響。針對以上解決問題需要在以后的工作中進(jìn)一步探討優(yōu)化并完善能源大數(shù)據(jù)清洗模型。

猜你喜歡
離群修正邊界
Some new thoughts of definitions of terms of sedimentary facies: Based on Miall's paper(1985)
修正這一天
拓展閱讀的邊界
意大利邊界穿越之家
合同解釋、合同補(bǔ)充與合同修正
一種相似度剪枝的離群點(diǎn)檢測算法
論中立的幫助行為之可罰邊界
軟件修正
離群數(shù)據(jù)挖掘在發(fā)現(xiàn)房產(chǎn)銷售潛在客戶中的應(yīng)用
“偽翻譯”:“翻譯”之邊界行走者