劉 偉,張銳鋒,彭道剛
(1.上海電力大學 自動化工程學院,上海發(fā)電過程智能管控工程技術(shù)研究中心,上海 200090;2.貴州電網(wǎng)有限責任公司電力科學研究院,貴陽 550002)
綜合目前電力行業(yè)的狀況,我國提出了“堅強在輸電網(wǎng)、智能在配電網(wǎng)”的智能電網(wǎng)發(fā)展方針。智能配電網(wǎng)作為智能電網(wǎng)的關(guān)鍵環(huán)節(jié),致力于為用戶提供更安全、可靠、經(jīng)濟、優(yōu)質(zhì)的電力服務(wù)[1],配電網(wǎng)負荷預(yù)測作為智能配電網(wǎng)規(guī)劃和建設(shè)的基礎(chǔ)和前提,具有十分重要的意義。負荷預(yù)測的本質(zhì)是依據(jù)預(yù)測對象的歷史數(shù)據(jù),建立相應(yīng)的數(shù)學模型來闡述其發(fā)展規(guī)律。
目前,眾多學者提出的負荷預(yù)測方法可以分為傳統(tǒng)方法、智能方法以及傳統(tǒng)算法和智能算法相結(jié)合的組合算法,其中:傳統(tǒng)算法包括時間序列法[2]、回歸模型[3]等;智能算法包括神經(jīng)網(wǎng)絡(luò)[4]、專家系統(tǒng)[5]等;組合算法有將回歸分析與BP神經(jīng)網(wǎng)絡(luò)結(jié)合構(gòu)建預(yù)測模型[6]等。配電網(wǎng)負荷受諸多隨機因素干擾,尤其是氣象因素對其造成了直接干擾。對于這些干擾因素,傳統(tǒng)預(yù)測方法既不能剔除干擾因素,也不能將其考慮到負荷預(yù)測的模型中去,因而達不到預(yù)測精度的要求。人工智能算法(支持向量機[7]、模糊神經(jīng)網(wǎng)絡(luò)[8]等)在進行負荷預(yù)測時,可以將諸多干擾因素考慮進負荷模型中。但是配電網(wǎng)負荷是非線性數(shù)據(jù),由于人工智能算法不能很好地處理非線性數(shù)據(jù),在很大程度上降低了訓練速度和精確度。數(shù)據(jù)挖掘技術(shù)不僅能夠很好地處理非線性數(shù)據(jù),而且可以保留海量數(shù)據(jù)中有效部分作為訓練的樣本。
文獻[9]提出先將歷史數(shù)據(jù)通過數(shù)據(jù)挖掘技術(shù)預(yù)處理,然后使用支持向量機預(yù)測系統(tǒng)進行預(yù)測。文獻[10]使用聚類分析和神經(jīng)網(wǎng)絡(luò)相結(jié)合構(gòu)建預(yù)測模型。文獻[11]針對氣象因素對負荷預(yù)測的影響,利用數(shù)據(jù)挖掘聚類分析尋找待測日同等短期負荷數(shù)據(jù)序列,且使用神經(jīng)網(wǎng)絡(luò)預(yù)測。支持向量機、神經(jīng)網(wǎng)絡(luò)屬于有監(jiān)督學習、參數(shù)的設(shè)置影響預(yù)測精度、泛化能力低,且支持向量機是內(nèi)存密集型算法,不太適用較大的數(shù)據(jù)集。K均值算法屬于非監(jiān)督算法,具有靈活性強、效率高等優(yōu)點,可以處理大量數(shù)據(jù)。Adaboost是一種迭代算法,其核心思想是針對同一個訓練集訓練不同的弱分類器,然后將這些弱學習器集合起來,構(gòu)成一個強分類器,從而提高算法的預(yù)測精度以及泛化能力[12]。
基于以上分析,針對配電網(wǎng)的負荷特性結(jié)合實時氣象數(shù)據(jù),提出K-Adaboost負荷預(yù)測模型。首先使用K均值算法對待測點氣象數(shù)據(jù)進行分析,從預(yù)處理后的歷史負荷數(shù)據(jù)中找到與待測點相近的氣象類型,組成具有很強相似氣象特征的數(shù)據(jù)序列作為訓練樣本,最后再運用Adaboost預(yù)測算法進行負荷預(yù)測。
氣候突變前后,通常會伴隨負荷的急劇變化。圖1所示為某地區(qū)溫度與負荷之間的曲線關(guān)系,圖中負荷與溫度的關(guān)系曲線大致呈倒置的馬鞍狀。其中,“馬鞍”的幾個分界點溫度即溫度與負荷關(guān)聯(lián)的敏感點。在炎熱的夏季,負荷對溫度最為敏感;而在氣溫較低的冬季 ,供暖設(shè)備運行,配電網(wǎng)負荷也會隨著其溫度降低而增加。
圖1 溫度與負荷的曲線關(guān)系
除溫度外,風速、濕度也會對配電網(wǎng)負荷造成影響,如圖2所示。其影響規(guī)律可以分為4個層次,具體如下:
(1)各氣象因素獨立作用于配電網(wǎng)負荷,包括2類:單因素分析和多因素分析(各個氣象因素不產(chǎn)生耦合現(xiàn)象)。
(2)多個氣象因素產(chǎn)生耦合效果再次影響電力負荷。
(3)氣象因素的多日累積效應(yīng)對負荷的影響。
(4)綜合氣象指數(shù)的多日累積效應(yīng)對負荷的影響。綜上所述,氣象因素是造成配電網(wǎng)負荷波動的主要原因。
圖2 氣象因素對配電網(wǎng)負荷的影響
從單氣象因素和多氣象因素2個方面進行負荷預(yù)測。采用斯皮爾曼相關(guān)系數(shù)ρ分析溫度、濕度、風速等氣象因素與配電網(wǎng)負荷的相關(guān)性。
計算該地區(qū)的負荷與氣象因素的斯皮爾曼相關(guān)系數(shù),得到相關(guān)性結(jié)果如表1所示。由分析結(jié)果可以看出,濕度與負荷為弱相關(guān),因此本次研究選擇溫度和風速作為訓練的特征輸入向量。
表1 斯皮爾曼相關(guān)系數(shù)分析結(jié)果
聚類分析是根據(jù)數(shù)據(jù)相似度進行樣本分組的方法。在某種意義下,聚類分析只是其他目的的起點。本文使用K均值算法進行聚類分析。K均值算法[12]是基于原型的聚類技術(shù)創(chuàng)建數(shù)據(jù)對象的單層劃分。K均值用質(zhì)心定義原型,其中質(zhì)心是一組點的均值。通常,K均值聚類用于n維連續(xù)空間中的對象。K均值算法的步驟如下:
(1)將樣本數(shù)據(jù)中的氣象數(shù)據(jù)分為K組,并隨機從每組中選取1個作為初始的聚類中心Ci(u),其中 i=1,2,…,K,此時 u=1。
(2)使用曼哈頓距離公式計算每個氣象數(shù)據(jù)xik到各個聚類中心xjk的距離d(i,j),其計算公式如下:
(3)重新計算每組的聚類中心 Ci(u+1)。
(4)若 Ci(u+1)=Ci(u), 則結(jié)束迭代, 此時的中心就是聚類中心; 若 Ci(u+1)≠Ci(u), 則返回第二步重新進行迭代,直到兩者相等為止。
常用的C4.5決策樹、BP神經(jīng)網(wǎng)絡(luò)等單一的分類預(yù)測算法具有樣本敏感性,難以提高分類精度等問題。針對這些問題,現(xiàn)將這些分類算法進行組合。
Adaboost是通過處理訓練數(shù)據(jù)集的方法構(gòu)建組合分類器[13]。作為一種組合分類器算法,需要一個弱分類作為弱分類器(弱分類器即為基礎(chǔ)預(yù)測模型),用于單個分類模型的組合訓練和結(jié)果融合。在選擇弱分類器時,應(yīng)考慮算法的精度和穩(wěn)定性等多個方面。BP神經(jīng)網(wǎng)絡(luò)性能方面已比較成熟,穩(wěn)定性強,其強大的非線性映射能力符合配電網(wǎng)負載特性,因此在本文選擇BP神經(jīng)網(wǎng)絡(luò)作為弱分類器。
BP神經(jīng)網(wǎng)絡(luò)具有很強的自主學習和復(fù)雜的非線性擬合能力,很適合電力負荷預(yù)測問題[14-16]。本文采用多輸入單輸出前饋型BP神經(jīng)網(wǎng)絡(luò)模型,如圖3所示。此結(jié)構(gòu)具有很好的函數(shù)逼近能力,可以將氣象數(shù)據(jù)(溫度、風速)計入預(yù)測模型。
圖3 饋型BP神經(jīng)網(wǎng)絡(luò)
前饋型BP神經(jīng)網(wǎng)絡(luò)由輸入層、隱藏層、輸出層組成。在前向傳遞過程中,輸入信號從輸入層、隱藏層依次傳遞至輸出層,如果輸出層達不到期望值,則開始反向傳播,根據(jù)誤差調(diào)整網(wǎng)絡(luò)權(quán)值和閾值。
Adaboost利用樣本的權(quán)值來確定其訓練集的抽樣分析,預(yù)測流程如圖4所示。首先,將所有樣本都賦予相同的權(quán)值1/N,因此樣本被選作的可能性一樣。根據(jù)訓練樣本的抽樣分布來抽取樣本,得到新的樣本集。然后,該訓練集歸納一個分類器,并用它對原數(shù)據(jù)集中的所有樣本進行分類。每一輪提升結(jié)束時更新訓練樣本的權(quán)值,增加被錯誤分類的樣本的權(quán)值,減小被正確分類的樣本的權(quán)值。迫使分類器在隨后迭代中關(guān)注那些艱難分類的樣本。Adaboost預(yù)測的具體步驟為:
(1)從配電網(wǎng)負荷樣本中隨機選擇n個訓練數(shù)據(jù),初始化測試數(shù)據(jù)分布權(quán)值Dj(i):
(2)當訓練第j個弱類器時,用樣本Dj對第j個弱分類器訓練并得到訓練預(yù)測數(shù)據(jù),得到預(yù)測序列 g(j)的預(yù)測誤差 εj和權(quán)重 αj。 下一輪訓練權(quán)重α(j+1)根據(jù) αj進行調(diào)整。 預(yù)測誤差εj計算公式如下:
式中:y為期望分類結(jié)果。
(3)計算權(quán)重 αj公式如下:
(4)根據(jù)αi重新調(diào)整下一輪訓練樣本的權(quán)重Dj+1(i), 式中 Bj是歸一化因子, gj(xi)為第g 個分類器第i個樣本實際輸出,yi為第i個樣本期望輸出。調(diào)整公式為:
(5)訓練 T輪后得到 T組弱分類函數(shù) f(gj,αj), 強分類函數(shù) C(X)由 T 組弱分類函數(shù) f(gj, αj)組合得到。
圖4 Adaboost預(yù)測算法流程
Adaboost算法將每一個分類器Cj的預(yù)測值根據(jù)αj進行加權(quán),而不是使用多數(shù)表決的方案。這種機制允許Adaboost懲罰準確性低的模型。另外,如果超過50%的錯誤發(fā)生,權(quán)值將恢復(fù)到相同值 Dj(i)=1/n, 并重新進行抽樣。
以某住宅樓為研究對象,選擇該樓7月21—30日每隔15 min采集1次的數(shù)據(jù)作為訓練樣本,對7月31日的配電網(wǎng)負荷進行預(yù)測。
配電網(wǎng)負荷在固定季節(jié)內(nèi)呈現(xiàn)周期性變化,一定時間內(nèi)的負荷具有相似性,且負荷值應(yīng)該維持在一定范圍內(nèi)。配電網(wǎng)通過SCADA(數(shù)據(jù)采集與監(jiān)控)系統(tǒng)采集數(shù)據(jù),如果在數(shù)據(jù)采集的任意一環(huán)節(jié)受到干擾得到的負荷值超出這個范圍,就判斷該數(shù)據(jù)屬異常數(shù)據(jù)。用以下方法修補:
式中:S(d,t)表示第d天t時刻采集的異常負荷值; S(d-n, t)和 S(d+m, t)分別表示異常負荷所在日前n天、后m天同一時刻負荷值;為除異常負荷所在日外其他天數(shù)的平均值;S′(d,t)為處理后負荷值;φ(τ)為閾值。
為了消除樣本中各個數(shù)據(jù)單位不一樣所帶來的影響,需對樣本數(shù)據(jù)進行歸一化處理,即通過線性變換將原始負荷數(shù)據(jù)、溫度數(shù)據(jù)、風速數(shù)據(jù)都映射到[0,1]內(nèi),公式如下:
式中:Z表示待轉(zhuǎn)換數(shù)據(jù);Zmin表示數(shù)據(jù)最小值;Zmax表示數(shù)據(jù)最大值;Z*表示轉(zhuǎn)換后的值。
根據(jù)輸入輸出的維數(shù)確定弱分類器BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),從訓練樣本中選取960組數(shù)據(jù)作為訓練數(shù)據(jù),根據(jù)數(shù)據(jù)維數(shù)采用的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為10-6-1,并通過訓練產(chǎn)生5個弱分類器,用5個弱分類器組成最終的強分類器。
基于K-Adaboost的預(yù)測模型如圖5所示,首先輸入歷史負荷數(shù)據(jù)并進行預(yù)處理。在數(shù)據(jù)挖掘中,數(shù)據(jù)預(yù)處理將真實負荷數(shù)據(jù)庫轉(zhuǎn)換為挖掘數(shù)據(jù)庫。然后將待測點的氣象因素(溫度、風速)使用K均值算法進行聚類分析,根據(jù)聚類分析結(jié)果,從預(yù)處理后的歷史配電網(wǎng)負荷數(shù)據(jù)中選擇同類氣象因素作為訓練樣本。根據(jù)樣本輸入輸出維數(shù)確定Aadboost算法中弱分類器BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),然后訓練生成弱分類器的個數(shù),最后根據(jù)弱分類器個數(shù)組成強分類器進行配電網(wǎng)負荷預(yù)測。
圖5 預(yù)測流程
為了驗證K-Adaboost的可行性和準確性,用BP神經(jīng)網(wǎng)絡(luò)和K-Adaboost 2種模型預(yù)測該樓7月31日配電網(wǎng)負荷,待測點溫度和風速數(shù)據(jù)如圖6和圖7所示,并通過不同誤差表示來進行比較。
圖6 溫度數(shù)據(jù)集
將溫度和風速同時作為輸入因素,得到KAdaboost和BP的預(yù)測結(jié)果如圖8所示,前者的預(yù)測結(jié)果更加貼近實際負荷,而且更加穩(wěn)定。BP預(yù)測配電網(wǎng)負荷曲線與實際配電網(wǎng)負荷曲線差距更大,而且出現(xiàn)極端情況次數(shù)更多。
圖7 風速數(shù)據(jù)集
圖8 預(yù)測結(jié)果
分別將風速和溫度作為單輸入因素進行負荷預(yù)測,得到結(jié)果如圖9和圖10所示。可以看到,與多因素輸入相比,單因素輸入時2種模型的預(yù)測結(jié)果偏差更大。溫度作為單因素輸入時得到的結(jié)果比風速要穩(wěn)定且更接近實際負荷,證明了溫度對負荷的影響要優(yōu)于風速。
圖9 單輸入(風速)預(yù)測結(jié)果
圖10 單輸入(溫度)預(yù)測結(jié)果
為了衡量算法的預(yù)測性能,使用了3種統(tǒng)計指標進行評估,分別為均方根誤差er、絕對百分誤差em、相關(guān)系數(shù)R2,計算公式如下:
式中: n 為預(yù)測時刻; Sc,t-為 t時刻預(yù)測負荷; Sw,t為t時刻實際敏感負荷;為預(yù)測負荷平均值;er反映模型預(yù)測輸出值穩(wěn)定性;em反映預(yù)測值偏離實際值程度;R2反映實際值與預(yù)測值關(guān)聯(lián)程度。
預(yù)測誤差結(jié)果如表2和表3所示。從表中可以看出,不管是多因素輸入還是單因素輸入,KAdaboost預(yù)測模型與BP預(yù)測模型相比較,前者更加穩(wěn)定、偏離實際程度值低、與實際值關(guān)聯(lián)程度高。比較表2和表3可以看出,多因素輸入得到的結(jié)果要優(yōu)于單因素輸入,表明配電網(wǎng)負荷受多種氣象因素的同時干擾。
表2 多因素誤差結(jié)果
K-Adaboost預(yù)測模型克服了少量樣本的不確定性,優(yōu)化了初始監(jiān)督學習樣本分類不合理的地方,降低總的復(fù)雜度。同時有效解決了 BP神經(jīng)網(wǎng)絡(luò)容易陷入局部極小值的影響,降低預(yù)測誤差范圍,取得比較好的預(yù)測效果。其結(jié)果證明該預(yù)測模型可以滿足配電網(wǎng)負荷這種非線性系統(tǒng)的預(yù)測要求。
表3 單因素誤差結(jié)果
(1)分析氣象因素對配電網(wǎng)負荷的影響,利用斯皮爾曼相關(guān)系數(shù)得到氣象敏感與濕度、溫度、風速3個氣象因素的相關(guān)性。對于本文中未考慮的因素如節(jié)假日等,作為下一步繼續(xù)研究的對象。
(2)用K均值算法對天氣數(shù)據(jù)進行聚類分析,并建立以BP神經(jīng)網(wǎng)絡(luò)為弱分類器的Adaboost預(yù)測模型。
(3)通過實例證明K-Adaboost預(yù)測模型的效果要優(yōu)于BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型。