劉曉艷,王玨,姚鐵錘,遲學(xué)斌,王曉光,李凱
1.中國科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京 100190
2.中國科學(xué)院大學(xué),北京 100049
近年來,隨著科技的發(fā)展,太陽能相關(guān)行業(yè)發(fā)展迅速。太陽能綠色潔凈、可再生的優(yōu)點(diǎn),使其成為最具有應(yīng)用前景的新能源之一[1-3]。在環(huán)境惡化逐漸加劇的今天,世界光伏產(chǎn)業(yè)展示出巨大的發(fā)展前景,從能源利用的發(fā)展趨勢來看,光伏發(fā)電最終將成為電能的重要來源[4]。
分布式光伏功率具有典型的概率分布特性,是光伏電站優(yōu)化規(guī)劃設(shè)計(jì)、出力預(yù)測和優(yōu)化調(diào)度管理的重要基礎(chǔ)數(shù)據(jù),而光伏功率受太陽輻照周期以及各種氣象因素隨機(jī)變化的影響,具有明顯的隨日、月、季節(jié)變化而變化的特點(diǎn),氣象數(shù)據(jù)質(zhì)量和季節(jié)周期對光伏發(fā)電預(yù)測起著重要作用[5]。
電力系統(tǒng)中光伏發(fā)電量占比逐年增加,電網(wǎng)調(diào)度難度也逐步加大[6]。光伏發(fā)電功率的預(yù)測值將作為電網(wǎng)調(diào)度的依據(jù),因此精準(zhǔn)預(yù)測光伏電站的發(fā)電功率,可以使得電網(wǎng)調(diào)度計(jì)劃得到及時(shí)調(diào)整,進(jìn)一步保證電網(wǎng)電能質(zhì)量[7]。
為支撐智能電網(wǎng)相應(yīng)部門對分布式光伏電站的管理與調(diào)度,本文提出支持多種時(shí)序數(shù)據(jù)(數(shù)值天氣預(yù)報(bào)、光伏電站氣象信息、歷史功率等)的數(shù)據(jù)預(yù)處理算法,并基于該算法封裝數(shù)據(jù)管理層,然后集成了24 小時(shí)、4 小時(shí)、15 分鐘不同尺度的功率預(yù)測模型,最終設(shè)計(jì)并實(shí)現(xiàn)了包括數(shù)據(jù)管理層和模型預(yù)測層的分布式光伏功率預(yù)測系統(tǒng)。
在光伏時(shí)序數(shù)據(jù)的采集過程中,由于傳感器的故障、紀(jì)錄人員的誤操、傳輸出錯(cuò)以及個(gè)別極端天氣的影響,都會(huì)導(dǎo)致缺失值、異常值的出現(xiàn),影響數(shù)據(jù)的正常使用。對光伏時(shí)序數(shù)據(jù)的預(yù)處理包括缺失值處理和異常值處理。對缺失值的填充包括固定值、中值、插值等統(tǒng)計(jì)學(xué)填充方法[8],自回歸模型(Autoregressive Model,AR)[9]、自回歸差分移動(dòng)平均模型(Autoregressive Integrated Moving Average Model,ARIMA)[10]等模型填充方法,以及KNN[11]等機(jī)器學(xué)習(xí)填充方法,本文使用統(tǒng)計(jì)學(xué)填充方法中的插值填充進(jìn)行缺失值的填充。對異常值的檢測除了3σ法則和回歸分析等統(tǒng)計(jì)方法[8],也可以通過聚類方法將不能聚類的數(shù)據(jù)視為異常[12],或者將異常檢測問題轉(zhuǎn)為分類和預(yù)測,使用RNN、CNN 等方法解決[13]。在本文中,基于特征本身特性進(jìn)行異常值的檢測,比如地面到達(dá)的輻照度是大于0,小于1300w/m2的,因此小于0 或者大于1300w/m2的輻照度值必是異常值。對異常值檢測后的修正與缺失值的填充方法相同,采用插值修正。連續(xù)的大段的異常值和缺失值將嚴(yán)重影響數(shù)據(jù)質(zhì)量,因此采用刪除法刪除有大段異?;蛉笔е档漠?dāng)天數(shù)據(jù)[14],這樣既保證了數(shù)據(jù)質(zhì)量,又保證了光伏時(shí)序數(shù)據(jù)天內(nèi)的連續(xù)性。
通過高效的對異常數(shù)據(jù)和缺失數(shù)據(jù)進(jìn)行刪除或插值能夠提高數(shù)據(jù)質(zhì)量,進(jìn)而提高預(yù)測模型的性能[15]。
X表示某電站在某一天原始的光伏特征(功率特征或者輻照度等氣象特征)序列,是一維數(shù)組;T是一個(gè)常數(shù)表示數(shù)組X的長度;τ是一個(gè)長度為的T字符串?dāng)?shù)組,存儲(chǔ)了特征對應(yīng)的時(shí)刻字符串,如“23:45”;Y表示經(jīng)算法1DataPreprocess()預(yù)處理后的特征序列;longConsecutive()表示最長連續(xù)子數(shù)組長度算法(詳見算法2);interpolate()表示線性插值函數(shù)見公式(1)。
算法1 以X,τ,T為輸入,輸出Y。由于功率或輻照度必定是大于等于0 的,且不可能無限大,經(jīng)統(tǒng)計(jì)得到光伏特征的最大值η,如果特征值小于0 或者大于η,則判定為異常值。特征值為None或者在白天為0 則判定為是缺省值。處理過程中會(huì)對X中的每一個(gè)X[t]進(jìn)行遍歷,判斷是否是異常值及缺省值,如果是,則將異常值或缺省值添加到待處理特征數(shù)組對應(yīng)的下標(biāo)添加到待處理時(shí)刻數(shù)組然后以作為的輸入,得到該站點(diǎn)在這一天最長的連續(xù)異?;蛉笔У臅r(shí)刻數(shù)如果則認(rèn)為是屬于“段缺省值”或者“段異常值”的情況,進(jìn)而調(diào)用通過正常時(shí)刻及對應(yīng)特征值的函數(shù)關(guān)系,填補(bǔ)缺省值和糾正異常值,得到處理后的特征數(shù)組Y。如果則認(rèn)為屬于“天缺省”或者“天異?!钡那闆r,直接去掉這一整天數(shù)據(jù),即將處理后的特征數(shù)組Y置空,令。
線性插值法(Linear Interpolation Method)如式(1)所示。為已知的兩個(gè)點(diǎn),表示某一時(shí)刻在中的下標(biāo)及其對應(yīng)的特征值,其中對于給定的一個(gè)時(shí)刻經(jīng)公式(1)即可計(jì)算得到t時(shí)刻對應(yīng)的特征估計(jì)值。
算法 1 數(shù)據(jù)預(yù)處理算法
Alg 1 Data preprocessing algorithm
算法1:Data Preprocess輸入:X,τ,T輸出:Y 1:u =[]2:u’ =[]3:X’ =[],Y =[]4:for t = 0;t < T;t ++ do 5:6:if or or is None or(<=<=and )7:then 8:9:10:end if 11:end for 12:13:if 14:then
算法1:Data Preprocess 15:16:else 17:images/BZ_146_1424_588_1439_619.png18:end if 19:return Y
算法 2 最長連續(xù)子數(shù)組長度算法
Alg.2 Algorithm of the longest continuous subarray length
算法2:Long C:onsecutive輸入輸出:1:2:3:4:do 6:if 5:while 7:then 8:9:10:else 11:12:13:14:15:end if 16:end while 17:return
光伏原始時(shí)序數(shù)據(jù)中的缺省值包括“天缺省值”和“段缺省值”。其中,“天缺省值”采用整體去除該天所有特征的方法。圖1 為某光伏電站2019年3月6日至2019年3月14日功率時(shí)序曲線,其中3月9日、3月10日、3月11日、3月12日的功率均為0,3月8日整天只有一個(gè)值,可能是由于功率序列的錯(cuò)報(bào)造成,因此數(shù)據(jù)缺省值處理需要去除3月8日至3月12日的所有特征數(shù)據(jù)。
圖1 某光伏電站功率(2019.3.6-2019.3.14)Fig.1 The power of a photovoltaic power station(March 6,2019 -March 14,2019)
“段缺省值”需要采用線性插值法,圖2 為某光伏電站2019年5月31日至2019年6月2日直射輻照度曲線,其中2019年6月1日的14:15、14:30、14:45、15:00 值為0,因此需要根據(jù)其他時(shí)刻的功率對這4 個(gè)缺省時(shí)刻采用線性插值法處理,得到完整時(shí)序數(shù)據(jù)。
圖2 某光伏電站直射輻照度(2019.5.31-2019.6.2)Fig.2 The direct irradiance of a photovoltaic power station(May 31,2019 - June 2,2019)
以某光伏電站一年的實(shí)測總輻照度曲線為例,其實(shí)測總輻照度峰值基本在1300W/m2以下,而在2018年8月4日至8月7日中,實(shí)測總輻照度有大段數(shù)值超過1300W/m2,屬于“天異常值”的情況,在異常值處理時(shí)需要將所有異常天整體剔除。對于某天中少量的某幾個(gè)超出峰值或者小于0 的點(diǎn),稱為“段異常”點(diǎn),異常處理時(shí)通過線性插值法糾正。
圖3 某光伏電站總輻照度(2018.8.4-2018.8.7)Fig.3 The total irradiance of a photovoltaic power station(August 4,2018 - August 7,2018)
經(jīng)過上述的預(yù)處理之后,需要對完整數(shù)據(jù)集進(jìn)行整合。光伏發(fā)電功率預(yù)測模型的訓(xùn)練是以天為基本時(shí)間單位的,則數(shù)據(jù)集完整的定義是一天的時(shí)間間隔內(nèi),每個(gè)采樣時(shí)刻點(diǎn)對應(yīng)的光伏出力數(shù)據(jù)和氣象數(shù)據(jù)都應(yīng)該是有效值。對于不滿足要求的,則按前述算法開展數(shù)據(jù)預(yù)處理工作。
分布式光伏功率預(yù)測系統(tǒng)依據(jù)國家電網(wǎng)的相關(guān)標(biāo)準(zhǔn)和規(guī)范的要求,功能建設(shè)以電網(wǎng)調(diào)度管理人員為中心,以功率預(yù)測為主要任務(wù),以數(shù)據(jù)處理與管理為基礎(chǔ),實(shí)現(xiàn)智能電網(wǎng)用戶對轄區(qū)內(nèi)光伏站功率的把控。
分布式光伏功率預(yù)測系統(tǒng)實(shí)現(xiàn)了對光伏電站功率和氣象信息等數(shù)據(jù)的采集及數(shù)據(jù)處理,進(jìn)而得到預(yù)測模型的輸入特征。特征包含數(shù)值天氣預(yù)報(bào)值、輻照度及功率。不同預(yù)測模型分別進(jìn)行24 小時(shí)、4小時(shí)和15 分鐘的功率預(yù)測。同時(shí),預(yù)測結(jié)果以圖形化的方式在網(wǎng)頁端展示。具體的功能如圖4所示。
圖4 分布式光伏預(yù)測系統(tǒng)功能圖Fig.4 Functional diagram of distributed photovoltaic forecasting system
系統(tǒng)自下而上分為數(shù)據(jù)管理層、預(yù)測模型層以及可視化展示層。其中,數(shù)據(jù)管理層提供數(shù)據(jù)支撐給預(yù)測模型層,提供功率預(yù)測的數(shù)據(jù)作為輸入。預(yù)測模型層提供預(yù)測服務(wù),支持24 小時(shí)、4 小時(shí)和15分鐘三種時(shí)間尺度的功率預(yù)測模型??梢暬故就ㄟ^劃分區(qū)域和劃分電站展示對應(yīng)的功率預(yù)測信息和氣象信息。系統(tǒng)管理包含用戶、權(quán)限以及日志管理三部分,保障系統(tǒng)的正常運(yùn)行。
2.2.1 數(shù)據(jù)接口
數(shù)據(jù)驅(qū)動(dòng)是科學(xué)研究與應(yīng)用的重要特征[16-17]。系統(tǒng)通過數(shù)據(jù)接口,定期獲取不同來源的數(shù)據(jù)。數(shù)據(jù)輸入包括數(shù)值天氣預(yù)報(bào)、光伏電站實(shí)時(shí)測量氣象信息、光伏電站發(fā)電功率以及“葵花8 號(hào)”衛(wèi)星云圖產(chǎn)品。
(1)數(shù)值天氣預(yù)報(bào)
數(shù)值天氣預(yù)報(bào)數(shù)據(jù)由數(shù)值天氣預(yù)報(bào)中心提供[18-19],包含多源氣象數(shù)據(jù)的預(yù)報(bào)值,且可以自動(dòng)獲取,而且支持人工操作進(jìn)行數(shù)據(jù)的補(bǔ)充錄入。預(yù)報(bào)數(shù)據(jù)為逐15 分鐘數(shù)據(jù),覆蓋第二天零點(diǎn)至未來72 小時(shí)的整個(gè)時(shí)間段。數(shù)值天氣預(yù)報(bào)數(shù)據(jù)每天至少對風(fēng)(風(fēng)速和風(fēng)向)、輻照度(總輻照度、直射輻照度和散射輻照度)、溫度和濕度等數(shù)據(jù)更新一次。
(2)光伏電站實(shí)時(shí)測量氣象信息
實(shí)時(shí)測量氣象數(shù)據(jù)來源于光伏站位置的相關(guān)氣象傳感器,同樣為逐15 分鐘數(shù)據(jù),包含風(fēng)(風(fēng)速和風(fēng)向)、輻照度(總輻照度、直射輻照度和散射輻照度)、溫度(氣溫和光伏面板溫度)和濕度等測量值。系統(tǒng)支持按照設(shè)定的方式和頻率自動(dòng)完成數(shù)據(jù)采集,并支持人工操作進(jìn)行數(shù)據(jù)的補(bǔ)充錄入。
(3)光伏電站發(fā)電功率
光伏電站發(fā)電功率數(shù)據(jù)來自于其他監(jiān)控系統(tǒng),為實(shí)時(shí)數(shù)據(jù),其中集中式光伏數(shù)據(jù)為逐15 分鐘數(shù)據(jù),分布式光伏為逐5 分鐘數(shù)據(jù)。
(4)“葵花8 號(hào)”衛(wèi)星云圖產(chǎn)品
地球同步氣象衛(wèi)星“葵花8 號(hào)”提供電站位置范圍的衛(wèi)星云圖遙感數(shù)據(jù)。根據(jù)系統(tǒng)設(shè)置,系統(tǒng)自動(dòng)獲取與光伏電站位置相關(guān)聯(lián)的衛(wèi)星云圖遙感數(shù)據(jù)并保存為矩陣。
2.2.2 數(shù)據(jù)清洗
系統(tǒng)對獲取的數(shù)值天氣預(yù)報(bào)數(shù)據(jù)、光伏站實(shí)時(shí)測量氣象數(shù)據(jù)、光伏站發(fā)電功率數(shù)據(jù)以及“葵花8 號(hào)”數(shù)據(jù)按照站點(diǎn)和時(shí)間進(jìn)行關(guān)聯(lián),并進(jìn)行數(shù)據(jù)預(yù)處理,使其滿足可訓(xùn)練的需求,并建立數(shù)據(jù)庫。
預(yù)測模型層在本系統(tǒng)中起到核心功能的作用,主要實(shí)現(xiàn)在不同時(shí)長及時(shí)間尺度下的光伏出力預(yù)測。根據(jù)其預(yù)測周期的不同,分為24 小時(shí)預(yù)測模型、4小時(shí)預(yù)測模型以及15 分鐘預(yù)測模型。
2.3.1 24 小時(shí)預(yù)測模型
24 小時(shí)短期預(yù)測主要用于優(yōu)化常規(guī)發(fā)電機(jī)組的日發(fā)電計(jì)劃和系統(tǒng)的冷熱備用,以及安排風(fēng)電場的維護(hù)計(jì)劃。24 小時(shí)功率預(yù)測模型將氣象局提供的未來一天的數(shù)值天氣預(yù)報(bào)數(shù)據(jù)作為輸入特征,動(dòng)態(tài)捕捉數(shù)值天氣預(yù)報(bào)數(shù)據(jù)的時(shí)序特征后,輸出未來一天的光伏發(fā)電功率預(yù)測值。鑒于數(shù)值天氣預(yù)報(bào)數(shù)據(jù)每天提供一次,因此24 小時(shí)功率預(yù)測模型每天更新一次,可以顯示未來一整天的功率變化趨勢。
2.3.2 4 小時(shí)預(yù)測模型
4 小時(shí)短臨預(yù)測主要用于幫助調(diào)度調(diào)峰和機(jī)組組合。4 小時(shí)功率預(yù)測模型根據(jù)場站實(shí)測氣象數(shù)據(jù)結(jié)合數(shù)值天氣預(yù)報(bào)數(shù)據(jù)預(yù)測未來4 小時(shí)功率,利用兩個(gè)長短期記憶人工神經(jīng)網(wǎng)絡(luò)模型,每小時(shí)更新一次未來功率的變化趨勢。
2.3.3 15 分鐘預(yù)測模型
15 分鐘超短期預(yù)測主要用于在線機(jī)組優(yōu)化組合、調(diào)整輪轉(zhuǎn)備用容量、優(yōu)化調(diào)頻和調(diào)度經(jīng)濟(jì)負(fù)荷。含有氣象量測裝置的15 分鐘功率預(yù)測模型根據(jù)場站提供的電站實(shí)測氣象數(shù)據(jù),使用功率預(yù)測模型滾動(dòng)預(yù)測下一時(shí)刻點(diǎn)的功率;無氣象量測裝置的15 分鐘功率預(yù)測模型將結(jié)合小尺度短臨輻照度預(yù)測的結(jié)果進(jìn)而預(yù)測光伏發(fā)電功率。15 分鐘更新一次的功率預(yù)測值為調(diào)度工作人員調(diào)整調(diào)度計(jì)劃提供依據(jù)。
如圖5所示,可視化展示由區(qū)域功率預(yù)測展示和單個(gè)光伏電站功率預(yù)測展示兩部分組成。
圖5 可視化展示Fig.5 Visual display
區(qū)域功率預(yù)測展示主要展示某區(qū)域內(nèi)光伏電站出力預(yù)測態(tài)勢。左側(cè)包含集中式和分布式光伏站兩類數(shù)據(jù)。右側(cè)是光伏出力預(yù)測的態(tài)勢展示。展示信息包括15 分鐘、4 小時(shí)和24 小時(shí)模型當(dāng)前時(shí)刻的預(yù)測值。其中,24 小時(shí)模型展示當(dāng)天每個(gè)整點(diǎn)時(shí)刻本區(qū)域內(nèi)所有光伏電站功率預(yù)測的情況。4 小時(shí)模型展示的是未來4 小時(shí),整點(diǎn)時(shí)刻本區(qū)域內(nèi)所有光伏電站的功率預(yù)測情況和平均絕對誤差值。15 分鐘模型展示本區(qū)域內(nèi)所有光伏電站未來15 分鐘的功率預(yù)測情況以及平均絕對誤差值。當(dāng)用戶點(diǎn)擊選中特定站點(diǎn)時(shí),進(jìn)入單個(gè)光伏電站的功率預(yù)測展示頁面。
單個(gè)光伏電站功率預(yù)測主要包括本站24 小時(shí)模型、4 小時(shí)模型以及15 分鐘模型功率預(yù)測的結(jié)果。同時(shí),數(shù)值天氣預(yù)報(bào)數(shù)據(jù)和實(shí)測氣象數(shù)據(jù)展示在右側(cè)區(qū)域。用戶可通過頁面上部的日期選擇功能,回溯歷史日期,查看本站出力預(yù)測的情況。
系統(tǒng)管理模塊包括用戶管理模塊、權(quán)限管理模塊和日志管理模塊。用戶管理模塊維護(hù)系統(tǒng)用戶的新增、信息修改、用戶狀態(tài)更改和角色的設(shè)置等。權(quán)限管理將用戶權(quán)限粒度細(xì)化到每一個(gè)按鈕上,保證最大限度管理。日志管理主要對系統(tǒng)運(yùn)行狀況的輸出日志結(jié)果進(jìn)行展示,包含了系統(tǒng)中的用戶的操作、預(yù)測結(jié)果和數(shù)據(jù)清洗任務(wù)等在系統(tǒng)運(yùn)行過程中的詳細(xì)信息。這些子模塊相互協(xié)作,使得分布式光伏功率預(yù)測系統(tǒng)的穩(wěn)健順利運(yùn)行得到保證。
分布式光伏功率預(yù)測系統(tǒng)采用“瀏覽器/服務(wù)器模式”架構(gòu),即客戶端瀏覽器作為電網(wǎng)工作人員與系統(tǒng)管理人員的工作界面,服務(wù)器端完成主要的業(yè)務(wù)邏輯處理過程。客戶端只需基本的瀏覽器,而無需再安裝新的應(yīng)用程序。圖 6 為系統(tǒng)技術(shù)架構(gòu)圖,從下至上依次為數(shù)據(jù)層、服務(wù)層、展示層,其中服務(wù)層包含系統(tǒng)的數(shù)據(jù)訪問和業(yè)務(wù)邏輯等部分的功能。
圖6 系統(tǒng)技術(shù)架構(gòu)圖Fig.6 The diagram of system technical architecture
為了滿足功率預(yù)測相關(guān)數(shù)據(jù)存儲(chǔ)以及高訪問量的需求,系統(tǒng)采用“MySQL+Redis”的形式,組成系統(tǒng)的數(shù)據(jù)層。其中,MySQL 是Web 應(yīng)用的常見數(shù)據(jù)庫選擇,而采用Redis 的管道通訊方式能夠方便地進(jìn)行數(shù)據(jù)讀取操作。
系統(tǒng)采用SpringBoot 作為服務(wù)層框架,SpringBoot 耦合Spring 框架,能夠靈活構(gòu)建無配置文件的應(yīng)用程序,簡化了項(xiàng)目開發(fā)過程[20]。JPA(Java Persistence API)提供了一種自EJB3.0 規(guī)范以來管理持久性和對象關(guān)系映射的機(jī)制,適用于JavaEE 環(huán)境的Java 編程模型。
系統(tǒng)采用Vue 作為前端UI 框架,Vue 提供了豐富的高質(zhì)量Web 彈層組件,避免了各種前端工具的復(fù)雜配置,只需專注于元素交互過程的構(gòu)建。同時(shí),為了使系統(tǒng)表現(xiàn)更豐富,系統(tǒng)通過使用Ajax 技術(shù)和Echarts 圖形化工具對功率預(yù)測的數(shù)據(jù)進(jìn)行可視化展示。在終端設(shè)備兼容方面,Echarts 繪制的可視化圖表能夠在不同的終端設(shè)備上流暢運(yùn)行[21]。
本文首先提出一種面向光伏時(shí)序數(shù)據(jù)的預(yù)處理算法,并基于該算法設(shè)計(jì)數(shù)據(jù)管理層,并集成了預(yù)測模型層和可視化展示層,實(shí)現(xiàn)了分布式光伏功率預(yù)測系統(tǒng)。該系統(tǒng)能夠?qū)Χ喾N氣象數(shù)據(jù)和光伏電站數(shù)據(jù)進(jìn)行預(yù)處理,并且可以方便地在多個(gè)時(shí)間尺度、區(qū)域范圍預(yù)測不同電站的未來功率。
使用針對時(shí)序數(shù)據(jù)的預(yù)處理算法提升數(shù)據(jù)質(zhì)量,及時(shí)精準(zhǔn)地預(yù)測光伏出力,對降低光伏電站成本和電力系統(tǒng)運(yùn)行成本、高效利用能源以及保證電網(wǎng)與負(fù)載的安全穩(wěn)定運(yùn)行都有重要的意義。設(shè)計(jì)更高效的數(shù)據(jù)預(yù)處理算法、研究和集成豐富的預(yù)測模型是未來工作的重點(diǎn)。
利益沖突聲明
所有作者聲明不存在利益沖突關(guān)系。