楊本臣 于坤鵬 張 軍
(遼寧工程技術(shù)大學(xué)電氣與控制工程學(xué)院 遼寧 葫蘆島 125105)
隨著2015年《關(guān)于進(jìn)一步深化電力體制改革的若干意見》出臺,我國電力體制改革進(jìn)入到了一個新階段。未來電力市場的售電側(cè)結(jié)構(gòu)和運(yùn)行方式也將隨著電力市場的開放而變得更加復(fù)雜和精細(xì)化,最終形成多個買方、多個賣方間相互競爭、相互合作的局面。這種情形下,用戶的用電行為、負(fù)荷曲線、響應(yīng)規(guī)律與力度相比于傳統(tǒng)電力市場都會發(fā)生很大的變化,實時電價波動將會成為影響用戶用電方式的決定性因素[1-8]。在開放售電環(huán)境下科學(xué)、精準(zhǔn)地分析用戶負(fù)荷響應(yīng)以及響應(yīng)力度與規(guī)律,是提高電網(wǎng)的可靠性、合理安排運(yùn)行調(diào)度的基礎(chǔ),也是市場售電主體合理制定電價、電力調(diào)度的前提[9]。
文獻(xiàn)[10]利用自回歸模型、人工神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)等方法對用戶負(fù)荷的電價響應(yīng)進(jìn)行了預(yù)測,將電價新的輸入變量加入到傳統(tǒng)預(yù)測模型中,預(yù)測誤差稍有改善;文獻(xiàn)[11]利用小波變換-神經(jīng)網(wǎng)絡(luò)方法,對負(fù)荷數(shù)據(jù)、電價數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理和預(yù)分解,預(yù)測效果比較顯著;文獻(xiàn)[12]按照用戶代理與售電商做出的響應(yīng)合約計劃,將用戶主動響應(yīng)計劃作為輸入變量來降低負(fù)荷預(yù)測的誤差,但其預(yù)測精確度受制于建立用戶響應(yīng)模型的精確度;文獻(xiàn)[13]指出需求側(cè)的主動響應(yīng)計劃增加了負(fù)荷預(yù)測的復(fù)雜性,并認(rèn)為分析電價與響應(yīng)負(fù)荷之間的關(guān)系可以轉(zhuǎn)化為分析電價與預(yù)測誤差之間的關(guān)系,為研究短期負(fù)荷預(yù)測提供了新方向;文獻(xiàn)[14]建立了電價-彈性系數(shù)矩陣,將電價與傳統(tǒng)的負(fù)荷影響因素(天氣、溫度等)分開考慮,但是彈性矩陣的建立過程過于理想化,導(dǎo)致預(yù)測結(jié)果不夠精確。
以上文獻(xiàn)或考慮了實時電價的影響,將電價作為一種影響因素加入到傳統(tǒng)的預(yù)測模型中去,但沒有考慮用戶歷史用電行為;或考慮了用戶的歷史用電行為以及電價因素,但是預(yù)測采用預(yù)測模型較為粗糙,導(dǎo)致預(yù)測效果不夠理想。
本文針對以上問題提出了一種基于K-means聚類的I-OS-ELM的新型負(fù)荷預(yù)測模型。預(yù)測過程主要分為兩個部分:聚類和預(yù)測。聚類部分:利用K-means聚類算法尋找用戶負(fù)荷曲線變化趨勢之間的相似性,即用戶用電行為之間相似性。預(yù)測部分:本文提出了一種能夠自動尋找最優(yōu)隱含層節(jié)點數(shù)和在線更新輸出權(quán)值的神經(jīng)網(wǎng)絡(luò):I-OS-ELM。通過算例部分的數(shù)據(jù)測試,證明本模型預(yù)測效果較為理想。
用戶的用電負(fù)荷與其用電行為之間具有密不可分的聯(lián)系,而用戶的用電負(fù)荷曲線又代表了用戶用電行為的主要信息[15-23]。本文將用戶的典型的工作日曲線與節(jié)假日曲線首尾相連,構(gòu)成一個48小時的典型負(fù)荷曲線,用這條曲線來代表該用戶的歷史用電行為。本文的預(yù)測思路分為:
Step1采用歸一化后的負(fù)荷曲線聚類,即認(rèn)為用戶負(fù)荷曲線變化趨勢一致為一類,與具體的負(fù)荷數(shù)據(jù)的大小和量綱無關(guān)。歸一化過程采用min-max標(biāo)準(zhǔn)化。
Step2將歸一化后的負(fù)荷數(shù)據(jù)進(jìn)行K-means聚類,把每一類中負(fù)荷曲線的平均值作為該類中每個用戶的負(fù)荷曲線。
Step3利用I-OS-ELM學(xué)習(xí)機(jī)對完成分類的每類用戶進(jìn)行負(fù)荷預(yù)測,對預(yù)測數(shù)據(jù)進(jìn)行逆歸一化求和得到實際負(fù)荷數(shù)據(jù)。預(yù)測流程如圖1所示。

圖1 用戶負(fù)荷預(yù)測模型
本文將用戶用電行為序列中的負(fù)荷曲線作為用戶用電行為序列聚類的代表。利用用戶歷史負(fù)荷數(shù)據(jù)繪制用戶用電的負(fù)荷曲線時采用循環(huán)平均法。
Step1求取每個樣本用戶在歷史日內(nèi)負(fù)荷數(shù)據(jù)的總和及其平均值。
Step2剔除偏離平均值較遠(yuǎn)的數(shù)據(jù),重新計算樣本用戶的歷史負(fù)荷數(shù)據(jù)平均值。
Step3重復(fù)以上兩步,直至所有負(fù)荷數(shù)據(jù)都在平均值周圍分布,得到典型用戶的負(fù)荷曲線。
2.2.1K-means聚類
K-means算法是很典型的基于距離的聚類算法,采用距離作為相似性的評價指標(biāo),即認(rèn)為兩個對象的距離越近,其相似度就越大。該算法認(rèn)為簇是由距離靠近的對象組成的,因此把得到緊湊且獨(dú)立的簇作為最終目標(biāo)。
對于初始輸入的m個用戶的負(fù)荷影響因素序列首先確定k個聚類中心μ1,μ2,…,μk,然后計算每個用電序列到初始聚類中心的距離(本文使用相量二范數(shù)度量距離):
di=‖xi-μj‖2
(1)
每個用電序列被歸到距離最近的類中,對于每一類重新計算其中心:
(2)
式中:di表示第i個用電序列到第j類中心的距離;xi表示第i個用戶用電行為序列;μj表示第j類的聚類中心;ci代表樣例i與j個類中距離最近的那個類;ci的值是1到k中的一個。
每個用電序列根據(jù)新的聚類中心重新分類。重復(fù)上述步驟,直到聚類中心的位置不再發(fā)生變化。
2.2.2I-OS-ELM學(xué)習(xí)機(jī)
傳統(tǒng)的ELM算法是一種單隱層前饋神經(jīng)網(wǎng)絡(luò),相比于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)(BP神經(jīng)網(wǎng)絡(luò)),具有不需要人為設(shè)置大量參數(shù)以及學(xué)習(xí)能力強(qiáng)等優(yōu)點,但也存在兩個不足之處:(1) 需要人為指定隱含層節(jié)點數(shù),而隱層節(jié)點個數(shù)的又直接影響著訓(xùn)練結(jié)果。隱層節(jié)點個數(shù)太少,則不能達(dá)到良好的擬合效果;隱層節(jié)點個數(shù)太多,則會出現(xiàn)過擬合,泛化能力較差,若逐一嘗試隱層節(jié)點數(shù),則會浪費(fèi)大量時間。(2) 無在線學(xué)習(xí)過程,當(dāng)有新的訓(xùn)練數(shù)據(jù)被接收時,無法實時更新輸出權(quán)重。I-ELM可以解決第一個問題,但是無法在線學(xué)習(xí);OS-ELM可以在線學(xué)習(xí),但是必須提前設(shè)置隱層節(jié)點數(shù)。因此本文提出了一種I-ELM和OS-ELM結(jié)合的新型學(xué)習(xí)算法:I-OS-ELM,可以兼顧I-ELM和OS-ELM 的優(yōu)點。
I-OS-ELM的學(xué)習(xí)過程大體上可以分為兩個步驟:
Step1利用I-ELM尋找最優(yōu)隱層節(jié)點數(shù)Nfit。
Step1.1選擇激活函數(shù)g(x)設(shè)置最大隱層節(jié)點數(shù)Nmax和期望學(xué)習(xí)誤差ε,N=0,殘差E=[e1,e2,…,eN]T。
Step1.2當(dāng)N
Step1.3對每一個新增的隱層節(jié)點的權(quán)重ωN和偏置bN進(jìn)行隨機(jī)賦值,并計算相應(yīng)的輸出權(quán)重β(N)。
(3)
Step1.4計算新加入節(jié)點后的殘差。
E=E-β(N)·HN
(4)
Step1.5重復(fù)Step1.2-Step1.4,直到N>Nmax或‖E‖<ε時,學(xué)習(xí)結(jié)束。
Step2利用OS-ELM在線學(xué)習(xí)輸出權(quán)重β(i)。
Step2.1設(shè)置隱含層的節(jié)點數(shù)為I-ELM學(xué)習(xí)過程結(jié)束時的隱層節(jié)點數(shù)Nfit,隨機(jī)賦值輸入權(quán)值ω和神經(jīng)元偏置b,通過少量樣本計算輸出權(quán)重β。
Step2.2設(shè)訓(xùn)練樣本的個數(shù)為Ni,Ni可以為一個或多個,計算隱含層的輸出矩陣Hi和輸出權(quán)重β(i)。

(5)
當(dāng)Ni=n,n≠1時,有:
(6)
其流程圖如圖2所示。

圖2 I-OS-ELM學(xué)習(xí)機(jī)流程圖
本文根據(jù)收集到的加拿大某地區(qū)居民200名用戶7月到10月的負(fù)荷和實時電價數(shù)據(jù),取7月到9月的負(fù)荷數(shù)據(jù)作為I-OS-ELM學(xué)習(xí)機(jī)的訓(xùn)練數(shù)據(jù)集,取9月到10月的負(fù)荷數(shù)據(jù)作為測試數(shù)據(jù)集(本文選取9月12日為展示樣本)。
I-ELM和OS-ELM的相關(guān)參數(shù)設(shè)置如表1、表2所示。

表1 參數(shù)設(shè)置表

表2 輸入數(shù)據(jù)表
經(jīng)過實驗,K-means聚類在k=3時,聚類效果最為理想,用戶負(fù)荷曲線結(jié)果如圖3-圖5所示。

圖3 第一類用戶負(fù)荷曲線

圖4 第二類用戶負(fù)荷曲線

圖5 第三類用戶負(fù)荷曲線
圖6給出了一天之中的電價變化趨勢,用戶的實時電價在圖6曲線上加入一個隨市場波動的隨機(jī)變量來表示不同日的實時電價。圖7給出了使用I-ELM、OS-ELM、I-OS-ELM三種學(xué)習(xí)算法的預(yù)測結(jié)果與實際負(fù)荷對比圖。圖8為三種學(xué)習(xí)算法的預(yù)測誤差和對比圖。

圖6 實時響應(yīng)電價

圖7 9月12日實際負(fù)荷與不同方法負(fù)荷預(yù)測結(jié)果對比圖

圖8 不同方法的誤差對比圖
從圖7和圖8的預(yù)測結(jié)果可以看出,使用I-OS-ELM預(yù)測算法的效果明顯優(yōu)于單獨(dú)使用I-ELM算法或OS-ELM算法。由表3可知,單獨(dú)使用I-ELM算法時,預(yù)測的結(jié)果較為粗糙,最大誤差為13.90%,平均誤差為7.88%。這是因為I-ELM學(xué)習(xí)機(jī)不具備在線學(xué)習(xí)功能,不能隨著訓(xùn)練數(shù)據(jù)集的加入,不斷更新輸出權(quán)重。單獨(dú)使用OS-ELM算法時預(yù)測效果也不理想(隱層節(jié)點個數(shù)為15),最大預(yù)測誤差為7.33%,平均預(yù)測誤差3.07%。這是因為OS-ELM的預(yù)測效果直接與人為設(shè)置的隱層節(jié)點個數(shù)相關(guān),隱層節(jié)點過多或過少都會使預(yù)測效果不夠理想,并且在隱層節(jié)點個數(shù)的嘗試過程會浪費(fèi)大量時間。使用I-OS-ELM算法時,先用I-ELM算法尋找最優(yōu)節(jié)點數(shù),再利用OS-ELM算法在線學(xué)習(xí)功能可達(dá)到滿意結(jié)果,最大誤差3.54%,平均誤差1.86%,且所用時間較短。

表3 2016年9月12日實際負(fù)荷與不同方法負(fù)荷預(yù)測結(jié)果對比
本文在綜合考慮電價、用戶用電行為以及預(yù)測模型的基礎(chǔ)上,提出了一種新的用戶短期負(fù)荷預(yù)測方法。用戶的用電慣性包含在其歷史用電行為之中,利用K-means對用戶歷史用電行為聚類能夠使預(yù)測更加精確、科學(xué)。I-OS-ELM學(xué)習(xí)機(jī)兼顧I-ELM和OS-ELM的優(yōu)點,能夠在較短時間內(nèi)迅速找到最優(yōu)隱層節(jié)點數(shù),并且能夠隨著訓(xùn)練數(shù)據(jù)塊的加入,自我更新輸出權(quán)重,不斷優(yōu)化。實例的預(yù)測結(jié)果也證明了本文所建模型可達(dá)到較為理想的預(yù)測結(jié)果,可作為供電公司制定供電方案時的參考依據(jù)。