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