樊立攀 李勁松 霍偉強(qiáng) 田曉霞 傅 晨
(國(guó)網(wǎng)湖北省電力有限公司 武漢 430000)
在供電需求側(cè)管理中,根據(jù)用電情況、天氣預(yù)報(bào)和建筑物內(nèi)供熱、供冷系統(tǒng)的特點(diǎn)進(jìn)行用電需求分析和預(yù)測(cè),有助于電力部門掌握居民用電的動(dòng)態(tài)行為,為電力需求側(cè)管理提供決策依據(jù),對(duì)優(yōu)化供電側(cè)調(diào)度管理和提高低壓供電質(zhì)量都具有參考意義[1~3]。建筑能耗預(yù)測(cè)方法主要是利用線性回歸算法[4]、決策樹(shù)算法[5]、神經(jīng)網(wǎng)絡(luò)算法[6]和支持向量機(jī)[7]來(lái)概括輸入特征與輸出預(yù)測(cè)之間的映射關(guān)系。目前大多數(shù)關(guān)于住宅建筑的研究都立足于對(duì)建筑能耗的短期能耗預(yù)測(cè)(每小時(shí))或長(zhǎng)期預(yù)測(cè)(每年),以削減一天內(nèi)高峰時(shí)段用電量或確定電網(wǎng)規(guī)劃和投資的要求,但是面向區(qū)域需求側(cè)管理的大量住宅建筑的月用電量預(yù)測(cè)研究相對(duì)較少[8~9]。為此,本文提出一種能夠準(zhǔn)確預(yù)測(cè)住宅用電量的模型。試驗(yàn)表明,該模型能夠通過(guò)精確的分類結(jié)果較準(zhǔn)確地預(yù)測(cè)該地區(qū)未來(lái)一個(gè)月的電力需求側(cè)狀況和分布,為供電的調(diào)度和控制提供可靠的數(shù)據(jù)支撐。
本文所提出的針對(duì)住宅建筑能耗預(yù)測(cè)問(wèn)題的解決方案如圖1所示。首先,對(duì)從數(shù)據(jù)庫(kù)中獲取的數(shù)據(jù)進(jìn)行預(yù)處理,包括住宅建筑的特征、天氣信息和能源消耗,以去除數(shù)據(jù)中的噪聲、異常值和缺失值。在預(yù)處理之后,對(duì)數(shù)據(jù)集進(jìn)行特征提取。提取方法是首先進(jìn)行數(shù)據(jù)特征描述和數(shù)據(jù)歸一化處理,隨后通過(guò)特征工程從數(shù)據(jù)中提取有效信息,最后進(jìn)行特征維數(shù)約簡(jiǎn)。在預(yù)測(cè)住宅用戶用電量前,首先利用PSO-K-means算法對(duì)每個(gè)季度的用電量數(shù)據(jù)進(jìn)行聚類分析,然后根據(jù)聚類中心點(diǎn)將每個(gè)季度的用電量值劃分為相應(yīng)的水平。經(jīng)過(guò)數(shù)據(jù)采樣后,采用SVM模型對(duì)輸入的是住宅建筑的特征、天氣信息和歷史能耗數(shù)據(jù)(即上月的天然氣和電力消耗)進(jìn)行計(jì)算,輸出為下個(gè)月的住宅用戶用電量水平。下面對(duì)四個(gè)關(guān)鍵算法進(jìn)行闡述。
圖1 住宅建筑用電能耗預(yù)測(cè)
在預(yù)測(cè)住宅建筑的電能消耗等級(jí)之前,利用K-means聚類算法分析了數(shù)據(jù)的分布規(guī)律。本研究將電能消耗數(shù)據(jù)分為四個(gè)季度,然后提取每個(gè)季度三個(gè)月的值作為特征向量。例如,第一季度的特征向量為1月份的電能消耗,2月份的電能消耗,3月份的電能消耗。
K-means聚類算法具有收斂速度快、穩(wěn)定性好等特點(diǎn)。然而,聚類過(guò)程無(wú)法確定聚類中心的數(shù)量。本文引入適應(yīng)度sdbw值作為聚類結(jié)果的評(píng)價(jià)指標(biāo)。sdbw不僅考慮了聚類內(nèi)的緊湊性,還考慮了兩個(gè)聚類之間的密度問(wèn)題。適應(yīng)度值越小,聚類效果越好,說(shuō)明聚類內(nèi)連接越緊密,聚類間分離越大。
設(shè)D={Vi|i=1,2…,c}將數(shù)據(jù)集S劃分為c個(gè)凸聚類,其中vi為每個(gè)聚類的中心。從中心到聚類Stdev點(diǎn)的平均距離計(jì)算公式如下[13]:
有效性指數(shù)sdbw定義為
式(1)和式(2)中δ(vi)是聚類vi的方差,δ(S)是數(shù)據(jù)集的方差,vi和vj分別是聚類vi和vj的中心,uij是由vi和vj的中心定義的線段中點(diǎn)。如果中心u與點(diǎn)x之間的距離d(x,u)大于聚類Stdev的平均標(biāo)準(zhǔn)差,則f(x,u)=0;否則,f(x,u)=1。
聚類效果取決于初始聚類中心的選擇。為了解決這一問(wèn)題,本文采用改進(jìn)的粒子群優(yōu)化算法(PSO)作為K-means聚類算法的前一步。
假設(shè)n維空間中有m個(gè)粒子運(yùn)動(dòng)。在這一點(diǎn)上,在所有粒子中都找到了每個(gè)粒子各自的最佳位置pbestk和全局最佳粒子位置gbest。對(duì)于任意粒子k,位置xk和飛行速度vk根據(jù)以下計(jì)算公式進(jìn)行調(diào)整:
采用線性調(diào)整策略動(dòng)態(tài)調(diào)整公式中的權(quán)重:
上式中w(t)是慣性權(quán)重函數(shù),c1是認(rèn)知權(quán)重因子,c2是社會(huì)權(quán)重因子,r1和r2是在[0,1]范圍內(nèi)均勻分布的兩個(gè)隨機(jī)數(shù),wmax和wmin分別是初始和最終慣性權(quán)重因子,tmax是最大迭代數(shù),t是當(dāng)前迭代數(shù)。
在迭代的后期,優(yōu)化算法的搜索速度趨于緩慢,適應(yīng)值趨于穩(wěn)定。因此,本研究引入適應(yīng)度方差的閾值以完成迭代,其計(jì)算公式如下[14]:
式(6)中m為群中粒子數(shù),f(xi)為單個(gè)粒子的適應(yīng)度值,favg為粒子群的平均適應(yīng)度。
PSO-K-means算法的實(shí)現(xiàn)如算法1所示。
算法1 PSO-K-means算法
輸入:聚類數(shù)據(jù)集(居民用電量)S={x1,x2,…,xw},聚類中心數(shù)c,粒子群大小m,最大迭代數(shù)t max
輸出:聚類分類D={V1,V2,…,Vc}
1)迭代s次,找到每個(gè)維度的最大值和最小值作為位置范圍[xmin,xmax],其中速度范圍為[-xmax,xmax];
從S中隨機(jī)選擇c個(gè)初始化中心,然后重復(fù)并生成m粒子群;
使用式(2)計(jì)算每個(gè)粒子的適應(yīng)度值sdbw;
初始化pbestk和gbest;
2)for(迭代次數(shù)<tmax)do
for(k=0,1,…,m)do
根據(jù)式(3)和(4)更新粒子的速度和位置,并確保速度和位置在控制范圍內(nèi);
根據(jù)式(5)動(dòng)態(tài)調(diào)整權(quán)重;
end for
for(數(shù)據(jù)點(diǎn)=1,2,……,w)do
使用歐幾里得距離將每個(gè)數(shù)據(jù)點(diǎn)劃分進(jìn)最近的簇;
使用式(2)計(jì)算適應(yīng)度值sdbw;
if sdbw<個(gè)體極值,則更新pbestk和gbest;
end for
使用式(6)計(jì)算粒子群的適應(yīng)度方差;如果適應(yīng)度方差>閾值,轉(zhuǎn)至步驟3);
end for
3)獲取最佳數(shù)量的群集中心C和gbest;
執(zhí)行k-means算法;
4)從粒子群優(yōu)化算法的結(jié)果中選擇最小sdbw的PC粒子作為初始聚類中心;
5)for(數(shù)據(jù)點(diǎn)=1,2,……,w)do
使用歐幾里得距離將每個(gè)數(shù)據(jù)點(diǎn)劃分進(jìn)最近的聚類;
end for
for(聚類數(shù)量=1,2,……,c)do
更新每個(gè)聚類的平均值并標(biāo)記中心點(diǎn);
end for
如果聚類中心點(diǎn)沒(méi)有更改,則返回聚類分類D={V1,V2,…,Vc}。
為了解決數(shù)據(jù)分類不平衡的問(wèn)題,本研究采用最近鄰(ENN)算法[15]和合成少數(shù)技術(shù)(SMOTE)算法[16]分別對(duì)大多數(shù)類別數(shù)據(jù)和少數(shù)類別數(shù)據(jù)進(jìn)行抽樣,以實(shí)現(xiàn)對(duì)數(shù)據(jù)集的平衡,為下一步的數(shù)據(jù)分類處理提供方便。
算法2 ENN算法
輸入:原始數(shù)據(jù)集T,相鄰樣本個(gè)數(shù)K
輸出:過(guò)采樣后的數(shù)據(jù)集TENN
1)i=0,TENN=T;
2)while(i<抽樣個(gè)數(shù))do
比較數(shù)據(jù)集T中xi周圍的K個(gè)相鄰樣本的類別和xi的類別,如果不同,則刪除xi;
end while
SMOTE通過(guò)在少數(shù)類數(shù)據(jù)點(diǎn)之間隨機(jī)插入新的樣本來(lái)平衡樣本。該方法在一定程度上避免了分類器的過(guò)度擬合,提高了分類能力和預(yù)測(cè)精度。
在本研究中,抽樣算法集成了ENN與SMOTE以平衡數(shù)據(jù)集,將數(shù)據(jù)集分為不同的電能消耗等級(jí)。大多數(shù)類別中的數(shù)據(jù)被抽樣采集(刪除了一些數(shù)據(jù)點(diǎn)),少數(shù)類別中的數(shù)據(jù)被對(duì)偶取樣(添加了新的數(shù)據(jù)點(diǎn)),以改進(jìn)后續(xù)SVM分類器的預(yù)測(cè)結(jié)果。SMOTE算法如算法3所示。
算法3 SMOTE算法
輸入:數(shù)據(jù)集TENN,相鄰樣本數(shù)k,過(guò)采樣率n
輸出:數(shù)據(jù)集TSMOTE
1)i=0;
2)while(i<抽樣個(gè)數(shù))do
在xi附近找到K個(gè)相鄰的樣本,選擇n個(gè)樣本xij
for j=1,2,…,n
根據(jù)以下計(jì)算公式對(duì)新的少數(shù)類別樣本yj進(jìn)行擬合:yj=xi+(xi-xij)rand(0,1);
end while
3)將yj加入數(shù)據(jù)集TSMOTE
SVM是一種被廣泛使用的機(jī)器學(xué)習(xí)分類算法[17]。由于SVM方法具有訓(xùn)練過(guò)程簡(jiǎn)單,輸入量少的優(yōu)勢(shì),本研究使用該分類對(duì)用電量數(shù)據(jù)進(jìn)行分類處理。
當(dāng)數(shù)據(jù)線性可分時(shí),SVM解決分類問(wèn)題的方法為
在SVM理論中,通常將拉格朗日乘子引入目標(biāo)函數(shù),使得目標(biāo)函數(shù)呈現(xiàn)對(duì)偶形式易于求解。拉格朗日函數(shù)的形式如下:
其中w和b是通過(guò)計(jì)算a得到的,w是歐幾里得范數(shù),ai(i=1,2,…,n)是拉格朗日乘數(shù)。對(duì)偶問(wèn)題定義如下:
隨后將對(duì)偶問(wèn)題轉(zhuǎn)化為目標(biāo)函數(shù)的極值問(wèn)題:
分類超平面的計(jì)算方法為
其中,是最佳拉格朗日乘數(shù),xr和xs是兩類支持向量中的任意一對(duì)。
本研究的用電量水平的預(yù)測(cè)是一個(gè)多分類問(wèn)題,因此需要將其分為多個(gè)二分類問(wèn)題。劃分策略采用OvR(一對(duì)剩余)的形式??梢允褂肙vR為每個(gè)類訓(xùn)練一個(gè)分類器,其中特定的類被認(rèn)為是正類,所有其他的樣本被認(rèn)為是負(fù)類。在實(shí)驗(yàn)中將使用n個(gè)分類器將具有最高置信度的類標(biāo)簽分配給特定的樣本。
本文利用湖北省武漢市電力公司和武燃集團(tuán)提供的2018年度公共能源消耗數(shù)據(jù),對(duì)上述能耗預(yù)測(cè)方法進(jìn)行了測(cè)試。所使用的公共能源消耗數(shù)據(jù)包括住宅建筑的特點(diǎn)和每月的電力和天然氣能耗。測(cè)試算法采用python實(shí)現(xiàn)。試驗(yàn)平臺(tái)為一個(gè)Windows10操作系統(tǒng),該操作系統(tǒng)采用Intel酷睿i7 2.7GHz處理器和16GB RAM,軟件平臺(tái)為pycharm和anaconda。采用三個(gè)常用的評(píng)價(jià)指標(biāo):準(zhǔn)確度、精密度和召回率對(duì)預(yù)測(cè)性能進(jìn)行量化衡量。
實(shí)驗(yàn)得出的每個(gè)季度不同深度顏色的聚類結(jié)果如圖2所示。根據(jù)最優(yōu)適應(yīng)度值計(jì)算聚類中心,如表1所示,劃分各住宅建筑月用電量類別。例如,第一季度單位面積用電量低于0.287 kWh/m2的住宅建筑劃分為1級(jí)。
圖2 每個(gè)季度的聚類結(jié)果(x、y、z坐標(biāo)表示每個(gè)季度三個(gè)月單位面積的電能消耗(kWh/m2))
表1 各季度單位面積耗電聚類中心
然后統(tǒng)計(jì)每個(gè)季度不同等級(jí)的住宅建筑數(shù)量,如表2所示。第一季度的用電量從高到低可以分為五類,而其他三個(gè)季度可以分為四類。
表2 每個(gè)季度的聚類統(tǒng)計(jì)數(shù)
利用聚類算法解決了住宅建筑電能消耗的分類問(wèn)題,但根據(jù)上述內(nèi)容,出現(xiàn)了一類不平衡問(wèn)題。本文采用數(shù)據(jù)抽樣和過(guò)度采樣相結(jié)合的方法來(lái)解決電力能耗數(shù)據(jù)的不平衡問(wèn)題,并采用SMOE-ENN算法對(duì)不平衡數(shù)據(jù)集進(jìn)行處理。圖3顯示了原始的一個(gè)季度與四個(gè)季度中的一個(gè)季度之間的比較圖。抽樣處理后的數(shù)據(jù)包含14個(gè)結(jié)構(gòu)變量,14日天氣變量和兩種歷史能源消耗變量(前一個(gè)月的天然氣用量和用電量),為了方便對(duì)比顯示原始數(shù)據(jù)和,通過(guò)PCA算法將抽樣處理后的數(shù)據(jù)維度減少到三個(gè)維度(坐標(biāo)軸沒(méi)有物理意義)。
試驗(yàn)數(shù)據(jù)來(lái)自于武漢市電力公司和武燃集團(tuán)公開(kāi)的2018年度公共能源消耗數(shù)據(jù)。其中第二、三、四季度用于電力預(yù)測(cè)的住宅共16560棟,但一季度用于試驗(yàn)的住宅11003棟的能耗數(shù)值缺失。為了預(yù)測(cè)每月的電能消耗等級(jí),80%的處理數(shù)據(jù)集用于訓(xùn)練,20%用于測(cè)試。對(duì)GBDT、BP和SVM每種模型重復(fù)實(shí)驗(yàn)20次。表3中的實(shí)驗(yàn)結(jié)果說(shuō)明了本文所述的模型在預(yù)測(cè)住宅建筑用電上的具有最優(yōu)的性能指標(biāo)。
圖3 經(jīng)過(guò)抽樣算法的數(shù)據(jù)比較圖
表3 GBDT、BP、SVM和SMOE-ENNCSVM模型的分類性能比較
本文提供了一個(gè)優(yōu)化的SVM模型,通過(guò)使用SMOE-ENN抽樣算法來(lái)解決不平衡分類問(wèn)題,提高了模型的分類精度,從而更好地預(yù)測(cè)住宅建筑的季度電能消耗。該模型首先針對(duì)高維數(shù)據(jù)稀疏的特點(diǎn),采用組合式RF-PCA-SVD特征工程算法;其次利用改進(jìn)的PSO-K均值聚類算法對(duì)電能消耗數(shù)據(jù)進(jìn)行了季度分析;最后通過(guò)采用支持向量機(jī),并將其分類性能與傳統(tǒng)的GBDT、BP分類方法進(jìn)行比較,證明了SVM與抽樣算法在住宅建筑用電量月度預(yù)測(cè)中的優(yōu)越性。這些研究結(jié)果為每月在宏觀層面上合理配置整個(gè)區(qū)域的電力供應(yīng)提供了參考意見(jiàn)。此外,該模型還有助于改善電網(wǎng)質(zhì)量,在夏季和冬季的高峰電力季節(jié)確保為舒適生活提供穩(wěn)定的電力供應(yīng),可為電力需求側(cè)的管理提供可靠的決策依據(jù)。