趙寒亭,張 耀,霍 巍,王建學(xué),吳 峰,張 衡
(1.西安交通大學(xué)電氣工程學(xué)院,陜西省西安市 710049;2.大航有能電氣有限公司,江蘇省揚(yáng)中市 212211)
風(fēng)電對改善能源結(jié)構(gòu)及減少溫室氣體排放的意義重大,但風(fēng)電功率的波動性、間歇性和隨機(jī)性卻會對電力系統(tǒng)的可靠性及電能質(zhì)量造成不可忽視的影響[1]。開發(fā)一種先進(jìn)的風(fēng)電功率預(yù)測方法,以提高風(fēng)電功率的預(yù)測精度是減少風(fēng)電波動性、間歇性和隨機(jī)性對電力系統(tǒng)運(yùn)行影響,增強(qiáng)電網(wǎng)消納風(fēng)電能力的一種較為有效的解決方案[2]。
近年來,國內(nèi)外學(xué)者做了大量工作,開發(fā)了許多基于時間序列分析、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方法的風(fēng)電功率預(yù)測模型。典型代表有支持向量機(jī)[3]、隨機(jī)森 林[4]、XGBoost 模 型[4-5]、多 層 感 知 機(jī)(multi-layer perceptron,MLP)、門控循環(huán)單元(gated recurrent unit,GRU)以及長短期記憶(long short-term memory,LSTM)網(wǎng)絡(luò)等模型[6]。根據(jù)風(fēng)電預(yù)測終端用戶的具體需求,以上方法既可以提供點(diǎn)預(yù)測結(jié)果,也可以提供區(qū)間預(yù)測結(jié)果。
為了進(jìn)一步提高風(fēng)電功率預(yù)測的準(zhǔn)確性,近年來一些研究利用了風(fēng)力資源具有時空相關(guān)性這一重要特征,將相鄰風(fēng)電場站的相關(guān)數(shù)據(jù)信息納入待預(yù)測場站的風(fēng)電功率預(yù)測模型之中,以此來進(jìn)一步提高待預(yù)測場站的風(fēng)電功率預(yù)測精度[7-13]。此類考慮時空相關(guān)性的風(fēng)電功率預(yù)測研究主要集中在兩個方面。一是分析和論證了同一地區(qū)的風(fēng)電場站之間存在潛在的時空相關(guān)性,提出了針對性的建模預(yù)測方法[9-10]。二是證實(shí)和量化了利用相鄰場站數(shù)據(jù)可以提高風(fēng)電功率預(yù)測精度,特別是在具有特定主導(dǎo)風(fēng)型和風(fēng)向的地區(qū),此效益將更為顯著[11-12]。上述工作為合理利用風(fēng)力資源的時空相關(guān)性、提高風(fēng)電功率預(yù)測精度做出了重要貢獻(xiàn)。
上述研究都是基于一個假設(shè),即待預(yù)測場站可以完全獲得鄰近場站的相關(guān)數(shù)據(jù)信息。從技術(shù)上看,通過先進(jìn)量測技術(shù)和通信技術(shù),可以實(shí)現(xiàn)從鄰近場站到待預(yù)測場站的數(shù)據(jù)采集和傳輸工作。然而在現(xiàn)實(shí)情況中,同一地區(qū)的不同場站可能分屬不同的發(fā)電集團(tuán)。由于商業(yè)競爭關(guān)系和數(shù)據(jù)安全方面的考量,不同發(fā)電集團(tuán)之間通常并不愿意彼此交換數(shù)據(jù),這阻礙了上述研究的推廣應(yīng)用。此外,傳統(tǒng)的風(fēng)電功率預(yù)測模型都是通過集中式訓(xùn)練來完成參數(shù)估計。當(dāng)預(yù)測模型包含越來越多的相鄰場站數(shù)據(jù)時,將會導(dǎo)致超大規(guī)模的預(yù)測模型估計問題。對于此類大規(guī)模預(yù)測模型而言,無論是數(shù)據(jù)的收集匯總,還是模型的參數(shù)估計,都將變得十分困難。
采用聯(lián)邦學(xué)習(xí)機(jī)制來開發(fā)新型分布式預(yù)測方法,是應(yīng)對上述挑戰(zhàn)的一種可行思路。借助聯(lián)邦學(xué)習(xí)機(jī)制,可以在保證各參與方數(shù)據(jù)隱私安全的基礎(chǔ)上,間接利用其他鄰近場站的相關(guān)數(shù)據(jù),從而打破數(shù)據(jù)孤島,實(shí)現(xiàn)多方協(xié)作、共同建立并訓(xùn)練預(yù)測模型的目標(biāo)[14-15],所提方法不僅可以提高待預(yù)測場站的風(fēng)電功率預(yù)測精度,還可以提高預(yù)測模型的訓(xùn)練效率。
到目前為止,聯(lián)邦學(xué)習(xí)主要從數(shù)據(jù)并行和模型并行兩方面開發(fā)了機(jī)器學(xué)習(xí)算法的分布式實(shí)現(xiàn)方式[14-15],在負(fù)荷預(yù)測和新能源預(yù)測等領(lǐng)域得到了有效應(yīng)用。文獻(xiàn)[16]基于長短期時間序列網(wǎng)絡(luò),提出了一種面向行業(yè)用戶讀表數(shù)據(jù)保護(hù)的聯(lián)邦學(xué)習(xí)負(fù)荷預(yù)測框架。文獻(xiàn)[17]提出了一種基于聯(lián)邦學(xué)習(xí)的分布式訓(xùn)練框架,并利用該框架對電力計量數(shù)據(jù)進(jìn)行分析。文獻(xiàn)[18]基于深度學(xué)習(xí)、變分貝葉斯推斷和聯(lián)邦學(xué)習(xí),提出了一種太陽輻照度概率預(yù)測模型。文獻(xiàn)[19]提出了一種將聯(lián)邦學(xué)習(xí)和深度強(qiáng)化學(xué)習(xí)相結(jié)合的預(yù)測方案,用于超短期風(fēng)電功率預(yù)測。文獻(xiàn)[20]基于LSTM 網(wǎng)絡(luò),提出了一種基于聯(lián)邦學(xué)習(xí)機(jī)制的短期風(fēng)電功率預(yù)測方法。上述研究表明將聯(lián)邦學(xué)習(xí)方法應(yīng)用在電力系統(tǒng)領(lǐng)域的可行性和實(shí)用性,但其具體思想還未廣泛應(yīng)用到風(fēng)電功率預(yù)測之中。因此,基于聯(lián)邦學(xué)習(xí)的風(fēng)電功率分布式協(xié)同預(yù)測方法值得進(jìn)一步開展研究。
假設(shè)某個地區(qū)有L個風(fēng)電場站,并用si表示該地區(qū)的風(fēng)電場站,其中i=1,2,…,L,記該地區(qū)所有風(fēng)電場站構(gòu)成的集合為Ε,則有:
位于同一地區(qū)的各個風(fēng)電場站分屬不同的發(fā)電集團(tuán),假設(shè)共有G個發(fā)電集團(tuán),其中,第g個發(fā)電集團(tuán)擁有Lg個風(fēng)電場站,所構(gòu)成的子集記為Eg,其中g(shù)=1,2,…,G,Eg的具體形式如下:
由上述有關(guān)定義可知:
在附錄A 中,本文對上述的集合化關(guān)系定義進(jìn)行了詳細(xì)的舉例說明。最后,本文對G個發(fā)電集團(tuán)進(jìn)行分類,具體如下:
1)待預(yù)測對象:指需要對其風(fēng)電功率進(jìn)行預(yù)測的發(fā)電集團(tuán),其索引記為?,? 可取1,2,…,G中的某一個值;
2)輔助合作者:指在聯(lián)邦學(xué)習(xí)過程中,向待預(yù)測對象提供相關(guān)數(shù)據(jù)信息,幫助待預(yù)測對象提高預(yù)測精度的相鄰其他發(fā)電集團(tuán)。
需要注意的是,本文所提出的預(yù)測模型主要用于提升待預(yù)測對象的風(fēng)電功率預(yù)測精度。如果需要提高某一輔助合作者的預(yù)測精度,則需要將該輔助合作者視為待預(yù)測對象,然后再應(yīng)用本文方法。
假設(shè)在任意時刻t,待預(yù)測對象? 的風(fēng)電功率y?,t是各個輸入特征的線性函數(shù),如式(5)所示。式(5)的右側(cè)項(xiàng)包含兩類輸入特征,第1 類是來自待預(yù)測對 象? 的 本 地 輸 入 特 征x?,t,第2 類 是 來 自G-1 個輔助合作者的離站輸入特征xg,t(g≠?)。
式中:xg,t∈Rng為發(fā)電集團(tuán)g在t時刻的輸入特征向量,其中ng為相應(yīng)的向量維度的大??;θg∈Rng為發(fā)電集團(tuán)g的擬合參數(shù)向量;ε(t)表示擬合誤差。
在式(5)中,通過使用相鄰場站的相關(guān)數(shù)據(jù)來更好地捕獲風(fēng)力資源的時空相關(guān)性及時空傳播變化情況[12-13],從 而 提 高 待 預(yù) 測 對 象? 的 風(fēng) 電 功 率 預(yù) 測精度。
為了消除輸入特征之間的多重共線性現(xiàn)象,防止預(yù)測模型過擬合,提高預(yù)測模型的泛化能力,本文采用改進(jìn)的最小二乘估計法,即嶺回歸模型[21]進(jìn)行建模分析,進(jìn)而求解出相應(yīng)的擬合參數(shù)向量θg。給定M個歷史樣本,其對應(yīng)的嶺回歸優(yōu)化問題如下所示:
在實(shí)際應(yīng)用時,各風(fēng)電場站首先需要采用“前向選擇”或“后向選擇”算法進(jìn)行輸入特征篩選,挑選出有助于提升風(fēng)電功率預(yù)測精度的輸入特征集合,然后再參與聯(lián)邦學(xué)習(xí)過程。關(guān)于選取嶺回歸模型的詳細(xì)原因、式(5)和式(6)的詳細(xì)推導(dǎo)過程以及xg,t、θg、的具體構(gòu)造方法,均在附錄B 中給出。
1.2 節(jié)介紹的標(biāo)準(zhǔn)嶺回歸模型是一種全局的線性回歸模型,然而風(fēng)電預(yù)測中所使用的數(shù)據(jù)樣本點(diǎn)在空間中通常呈現(xiàn)出非線性分布的特點(diǎn)。因此,在采用標(biāo)準(zhǔn)嶺回歸模型進(jìn)行風(fēng)電預(yù)測時,不一定能夠很好地擬合所有的樣本點(diǎn),在實(shí)際應(yīng)用中可能出現(xiàn)“欠擬合”現(xiàn)象,導(dǎo)致模型泛化能力不足、預(yù)測可靠性較差。針對上述問題,考慮從兩方面對嶺回歸協(xié)同預(yù)測模型進(jìn)行改進(jìn),具體如下。
1)改進(jìn)措施1:將全局的非線性回歸問題劃分為若干個局部區(qū)域的線性回歸問題,從而提升線性模型的擬合效果。其具體思路是首先,根據(jù)待預(yù)測樣本點(diǎn)的特征屬性,從訓(xùn)練集中篩選出屬性相近的部分樣本點(diǎn),構(gòu)成相應(yīng)的子訓(xùn)練集;然后,使用子訓(xùn)練集來訓(xùn)練模型并得到相應(yīng)的擬合系數(shù);最后,對待預(yù)測樣本點(diǎn)進(jìn)行預(yù)測。
改進(jìn)措施1 忽略了與待預(yù)測樣本點(diǎn)距離較遠(yuǎn)的訓(xùn)練集樣本,只使用待預(yù)測樣本點(diǎn)局部鄰域內(nèi)的訓(xùn)練集樣本進(jìn)行模型的訓(xùn)練。對于不同的待預(yù)測樣本點(diǎn),所選出的子訓(xùn)練集往往是不同的,故訓(xùn)練得到的擬合系數(shù)也不同。這樣便可以針對不同的待預(yù)測樣本點(diǎn)作出相應(yīng)的局部調(diào)整,從而改善欠擬合現(xiàn)象,提高預(yù)測精度。
由于k近鄰(k-nearst neighbor,KNN)算法簡單易行,在篩選相似樣本時準(zhǔn)確度較高且對異常值不敏感,本文使用KNN 算法對訓(xùn)練樣本進(jìn)行預(yù)篩選。
傳統(tǒng)KNN 算法需要遍歷計算待預(yù)測樣本點(diǎn)與訓(xùn)練數(shù)據(jù)集中的每個歷史樣本點(diǎn)之間的距離,其計算量較大。為了提高KNN 算法的搜索效率,本文采用kd 樹(k-dimensional tree)方法來實(shí)現(xiàn)對訓(xùn)練數(shù)據(jù)的快速KNN 搜索。kd 樹的使用過程分為兩個步驟;一是構(gòu)造kd 樹,即使用特殊的二叉樹結(jié)構(gòu)來存儲訓(xùn)練數(shù)據(jù);二是利用kd 樹進(jìn)行快速KNN 搜索,即根據(jù)待預(yù)測樣本點(diǎn)的特征屬性,搜索過程會被限制在訓(xùn)練集樣本空間的局部區(qū)域上,省去了對其余大部分訓(xùn)練樣本的搜索,大幅度地減少了歐氏距離的計算次數(shù)以及搜索時的計算量,可以顯著提高計算效率。關(guān)于本文所采用的kd 樹,其更多內(nèi)容介紹請參考文獻(xiàn)[22]。
2)改進(jìn)措施2:在輸入特征中增添非線性成分,以提升擬合效果,實(shí)現(xiàn)更精準(zhǔn)的預(yù)測。其具體思路是讓每個參與聯(lián)邦學(xué)習(xí)的風(fēng)電場站都預(yù)先采用學(xué)習(xí)能力和擬合能力更強(qiáng)的深度學(xué)習(xí)方法進(jìn)行訓(xùn)練和預(yù)測;然后,再將其功率預(yù)測結(jié)果和輸入特征納入基于嶺回歸的風(fēng)電功率協(xié)同預(yù)測模型之中,以此來進(jìn)一步提升預(yù)測精度。
改進(jìn)嶺回歸模型所對應(yīng)的優(yōu)化問題與式(6)的形式完全相同,如下所示:
式中:Xg∈Rm×ng和y?∈Rm為對應(yīng)于待預(yù)測樣本點(diǎn)的子訓(xùn)練集,其中Xg中包含了各場站原有的輸入特征以及來自深度學(xué)習(xí)方法的功率預(yù)測結(jié)果,m為子訓(xùn)練集的樣本數(shù)。
聯(lián)邦學(xué)習(xí)是一種分布式機(jī)器學(xué)習(xí)方法,解決了不同數(shù)據(jù)擁有方在不交換隱私數(shù)據(jù)的情況下進(jìn)行聯(lián)合建模和多方協(xié)作的問題。針對不同參與方的數(shù)據(jù)在樣本空間和特征空間的重疊情況,主流研究一般將聯(lián)邦學(xué)習(xí)分為“橫向聯(lián)邦學(xué)習(xí)”“縱向聯(lián)邦學(xué)習(xí)”和“聯(lián)邦遷移學(xué)習(xí)”[14]。其中,“縱向聯(lián)邦學(xué)習(xí)”適用于各參與方的樣本空間相同但特征空間不同的數(shù)據(jù)場景。
在本文的應(yīng)用場景中,由于各發(fā)電集團(tuán)均有各自在相同歷史時間段的數(shù)據(jù)集,即各發(fā)電集團(tuán)的數(shù)據(jù)集在時間范圍上是重合的,故各發(fā)電集團(tuán)的樣本空間相同。由于不同發(fā)電集團(tuán)的數(shù)據(jù)集主要采集的是來自不同地理位置的數(shù)值天氣預(yù)報信息和風(fēng)功率觀測信息,屬于不同的空間特征,故各發(fā)電集團(tuán)的特征空間不相同。為了充分利用風(fēng)力資源的時空相關(guān)性,本文所提方法希望在預(yù)測模型中考慮來自不同地理位置上的輸入特征,通過“特征聯(lián)合”(即縱向聯(lián)邦學(xué)習(xí))實(shí)現(xiàn)特征增強(qiáng),最終提高預(yù)測精度。因此,本文所提方法屬于“縱向聯(lián)邦學(xué)習(xí)”。
在1.3 節(jié)中,給出了改進(jìn)嶺回歸模型所對應(yīng)的優(yōu)化問題(式(7))。盡管風(fēng)電場站為不同的發(fā)電集團(tuán)所擁有,但它們可以通過相互合作來提高預(yù)測質(zhì)量。為了保證各參與方的數(shù)據(jù)隱私安全,本文將借助縱向聯(lián)邦學(xué)習(xí)機(jī)制,開發(fā)預(yù)測模型的相關(guān)優(yōu)化算法,推導(dǎo)出優(yōu)化問題(式(7))的迭代求解框架。在迭代框架下,依據(jù)求解最優(yōu)模型的需要,對嶺回歸模型做縱向劃分,將原本的大規(guī)模優(yōu)化、預(yù)測問題分解為大量的小規(guī)模子問題,且每個子問題都可由相應(yīng)的參與方在本地進(jìn)行邊緣計算。在此基礎(chǔ)上,總結(jié)出改進(jìn)嶺回歸模型的分布式訓(xùn)練過程和分布式預(yù)測過程,從而解決不同數(shù)據(jù)擁有方在不交換機(jī)密數(shù)據(jù)的情況下進(jìn)行多方協(xié)作的問題。
在上述過程中,需要引入一個“中央?yún)f(xié)調(diào)者”,可以由政府部門或可信任的電網(wǎng)調(diào)度機(jī)構(gòu)擔(dān)任,負(fù)責(zé)監(jiān)督和協(xié)調(diào)分布式訓(xùn)練及預(yù)測過程。下面分別介紹在聯(lián)邦學(xué)習(xí)機(jī)制下,如何以分布式方式開展訓(xùn)練樣本預(yù)篩選以及協(xié)同模型的訓(xùn)練和預(yù)測過程。
如1.3 節(jié)所述,當(dāng)采用KNN 算法對基于嶺回歸的協(xié)同預(yù)測模型進(jìn)行改進(jìn)時,需要在訓(xùn)練預(yù)測模型之前增加樣本預(yù)篩選過程。傳統(tǒng)方法需要收集匯總所有發(fā)電集團(tuán)的樣本數(shù)據(jù),然后計算樣本距離,完成樣本篩選。這種集中式解決方案不僅難以滿足數(shù)據(jù)隱私保護(hù)的要求,還需要占用大量的通信帶寬和存儲空間。為了解決上述挑戰(zhàn),本文提出了樣本預(yù)篩選的一種分布式實(shí)現(xiàn)方法,具體流程如下。
步驟1:各發(fā)電集團(tuán)首先利用本地數(shù)據(jù)集來構(gòu)造kd 樹。針對待預(yù)測時刻t,各發(fā)電集團(tuán)首先獲取各自在t時刻的輸入特征向量xg,t∈Rng,然后根據(jù)待預(yù)測樣本點(diǎn)的特征屬性,利用kd 樹進(jìn)行快速KNN搜索,篩選得到距離最近的m個樣本點(diǎn),并將對應(yīng)的樣本索引集合Λg發(fā)送給中央?yún)f(xié)調(diào)者。
步驟2:中央?yún)f(xié)調(diào)者收集匯總來自各發(fā)電集團(tuán)的樣本索引集合Λg,然后求并集得到所有需要計算歐氏距離的樣本索引集合Λ,即
隨后,中央?yún)f(xié)調(diào)者將樣本索引集合Λ返回給各發(fā)電集團(tuán)。
步驟3:各發(fā)電集團(tuán)接收來自中央?yún)f(xié)調(diào)者的樣本索引集合Λ,然后計算待預(yù)測樣本xg,t與訓(xùn)練集中各相應(yīng)樣本點(diǎn)xg,j(j∈Λ)之間的“局部”歐氏距離,組成向量dg∈R|Λ|,如式(9)所示。
式中:|Λ|表示集合Λ中所含元素的個數(shù)。
最后,各發(fā)電集團(tuán)將自己計算出的“局部”歐氏距離向量dg∈R|Λ|發(fā)送給中央?yún)f(xié)調(diào)者。
步驟4:中央?yún)f(xié)調(diào)者收集匯總來自各發(fā)電集團(tuán)的“局部”歐氏距離向量dg∈R||Λ,計算“全局”歐氏距離向量d∈R||Λ,如式(10)所示。然后,中央?yún)f(xié)調(diào)者挑選出“全局”歐氏距離最小的m個樣本點(diǎn),并將對應(yīng)的樣本索引返回給各發(fā)電集團(tuán)。
步驟5:各發(fā)電集團(tuán)接收來自中央?yún)f(xié)調(diào)者的樣本索引信息,從各自的訓(xùn)練數(shù)據(jù)集中篩選出對應(yīng)的m個歷史樣本點(diǎn),構(gòu)成各自的子訓(xùn)練集Xg∈Rm×ng以及y?∈Rm。
通過上述5 個步驟,實(shí)現(xiàn)了訓(xùn)練樣本的分布式預(yù)篩選過程,相應(yīng)過程如圖1 所示。
圖1 訓(xùn)練樣本預(yù)篩選的分布式實(shí)現(xiàn)過程Fig.1 Distributed implementation process of training sample pre-screening
在該過程中,各發(fā)電集團(tuán)可利用kd 樹進(jìn)行快速KNN 搜索,無須遍歷整個訓(xùn)練數(shù)據(jù)集,可以顯著提升計算效率。此外,各發(fā)電集團(tuán)與中央?yún)f(xié)調(diào)者之間只需要交換距離向量dg∈R|Λ|和樣本索引,無須傳輸各發(fā)電集團(tuán)的歷史數(shù)據(jù)集,故在滿足數(shù)據(jù)隱私保護(hù)要求的同時,顯著減少了通信傳輸和存儲空間的需求。
在完成了訓(xùn)練樣本的預(yù)篩選后,可采用同步梯度下降(synchronous gradient descent,SGD)算法[21]來求解優(yōu)化問題(式(7)),從而獲得各發(fā)電集團(tuán)的擬合參數(shù)向量θg(g=1,2,…,G)。采用SGD 算法求解嶺回歸模型的具體過程如下:
1)首先寫出改進(jìn)嶺回歸模型(式(7))所對應(yīng)的目標(biāo)函數(shù)J(θ):
式中:θ=[θT1,θT2,…,θTG]T為各發(fā)電集團(tuán)參數(shù)向量構(gòu)成的堆疊向量。
2)計算目標(biāo)函數(shù)J(θ)關(guān)于擬合參數(shù)向量θk的梯度向量表達(dá)式,具體公式如下:
式中:k=1,2,…,G表示參與聯(lián)邦學(xué)習(xí)過程的各發(fā)電集團(tuán)。
3)利用梯度計算結(jié)果,對各擬合參數(shù)向量進(jìn)行更新,具體公式如下:
式中:n∈N 為迭代次數(shù);η為SGD 算法中參數(shù)更新的步長(也被稱為學(xué)習(xí)率)。
4)計算擬合參數(shù)向量的相對變化Δθ(n)k∈R,具體公式如下:
根據(jù)Δθ(n)k的數(shù)值大小,可以判斷能否終止訓(xùn)練迭代過程。
步驟1:各發(fā)電集團(tuán)收集原始數(shù)據(jù),并在本地統(tǒng)一進(jìn)行參數(shù)初始化,具體包括以下4 個部分。
1)對擬合參數(shù)向量θk進(jìn)行隨機(jī)初始化,使其服從正態(tài)分布,即θ(0)k~N(0,1);
2)設(shè)置相同的正則化系數(shù)λ及學(xué)習(xí)率η;
3)設(shè)置相同的最大迭代次數(shù),并將迭代計數(shù)器n歸零,即設(shè)置n=0;
4)設(shè)置相同的擬合參數(shù)向量允許誤差ε,并將Δθk的初值設(shè)置為正無窮大,即Δθ(0)k=+∞。
步驟2:各發(fā)電集團(tuán)利用本地數(shù)據(jù)以及當(dāng)前的擬合參數(shù)向量θ(n)k進(jìn)行計算。其中,待預(yù)測對象? 計算X?θ(n)?-y?∈Rm,而提供輔助信息的相鄰發(fā)電集團(tuán)計算Xgθ(n)g∈Rm(g=1,2,…,G;g≠?),然后各發(fā)電集團(tuán)將計算結(jié)果發(fā)送給中央?yún)f(xié)調(diào)者。
步驟3:中央?yún)f(xié)調(diào)者收集匯總來自各發(fā)電集團(tuán)的計算結(jié)果,并將這些計算結(jié)果進(jìn)行加和,求和結(jié)果記為S(n)∈Rm,其具體表達(dá)式如式(15)所示。
接著,中央?yún)f(xié)調(diào)者將得到的求和結(jié)果S(n)∈Rm返回給各發(fā)電集團(tuán)。
步驟4:各發(fā)電集團(tuán)接收來自中央?yún)f(xié)調(diào)者的求和結(jié)果S(n),并結(jié)合本地數(shù)據(jù)以及相關(guān)參數(shù)值,繼續(xù)進(jìn)行本地計算,具體包括以下4 個部分。
1)利用式(16)計算本地梯度向量;
2)利用式(13)更新本地擬合參數(shù)向量θ(n)k;
3)利用式(14)計算Δθ(n)k;
4)迭代計數(shù)器加1,即設(shè)置n:=n+1。
步驟5:判斷是否可以結(jié)束聯(lián)邦學(xué)習(xí)的迭代過程,具體準(zhǔn)則如下。
1)若對各發(fā)電集團(tuán)而言,均有Δθ(n)k<ε,則可以提前終止聯(lián)邦學(xué)習(xí)的迭代過程;
2)若迭代計數(shù)器n的數(shù)值達(dá)到了最大迭代次數(shù),則終止聯(lián)邦學(xué)習(xí)的迭代過程。
在步驟5 后,若迭代尚未終止則返回步驟2,繼續(xù)迭代,直到滿足迭代終止條件。改進(jìn)嶺回歸模型的分布式訓(xùn)練過程如圖2 所示。
圖2 改進(jìn)嶺回歸模型的分布式訓(xùn)練過程Fig.2 Distributed training process of improved ridge regression model
從圖2 可以看出,與傳統(tǒng)的集中式訓(xùn)練方法相比,本文提出的基于聯(lián)邦學(xué)習(xí)機(jī)制的分布式訓(xùn)練方法具有以下3 個優(yōu)點(diǎn):
1)利用梯度向量可拆分計算的特點(diǎn),將原始的大規(guī)模優(yōu)化問題分解為大量的小規(guī)模子問題,且每個子問題都可在每個發(fā)電集團(tuán)本地進(jìn)行邊緣計算。因此,不再需要大規(guī)模收集和處理數(shù)據(jù),降低了通信負(fù)擔(dān)和計算壓力,提高了模型的訓(xùn)練效率;
2)各發(fā)電集團(tuán)的隱私數(shù)據(jù)信息(包括風(fēng)電功率歷史數(shù)據(jù)、各類氣象特征及模型擬合參數(shù))只在本地計算時使用,并未發(fā)生傳輸或轉(zhuǎn)移。在分布式訓(xùn)練結(jié)束后,各發(fā)電集團(tuán)只能得到各自對應(yīng)的擬合參數(shù)結(jié)果,無法獲知其他參與者的隱私數(shù)據(jù)信息;
3)雖然各發(fā)電集團(tuán)之間存在競爭關(guān)系,但在預(yù)測模型的分布式訓(xùn)練過程中,它們彼此無須交換任何數(shù)據(jù)。它們只與中央?yún)f(xié)調(diào)者交換SGD 算法迭代過程的中間計算結(jié)果,屬于可共享的非隱私數(shù)據(jù)信息。因此,可以滿足數(shù)據(jù)隱私保護(hù)的要求。
在完成分布式訓(xùn)練后,各發(fā)電集團(tuán)可以獲得各自對應(yīng)的擬合參數(shù),接下來對待預(yù)測對象? 的風(fēng)電功率進(jìn)行預(yù)測,相應(yīng)的分布式預(yù)測過程如下。
步驟1:各發(fā)電集團(tuán)基于待預(yù)測時刻t的輸入特征向量xg,t∈Rng,結(jié)合分布式訓(xùn)練得到的擬合參數(shù)向量θg∈Rng,在本地進(jìn)行計算,得到“局部”預(yù)測結(jié)果θTgxg,t∈R,并將其發(fā)送給中央?yún)f(xié)調(diào)者。
步驟2:中央?yún)f(xié)調(diào)者收集來自各發(fā)電集團(tuán)的“局部”預(yù)測結(jié)果,并將所有“局部”結(jié)果加和,得到的求和結(jié)果即為待預(yù)測對象? 在t時刻的風(fēng)電功率預(yù)測值,其具體計算公式如式(17)所示。
最后,中央?yún)f(xié)調(diào)者將該預(yù)測結(jié)果y??,t∈R 返回給待預(yù)測對象? 即可。上述分布式預(yù)測過程見圖3。
圖3 改進(jìn)嶺回歸模型的分布式預(yù)測過程Fig.3 Distributed forecasting process of improved ridge regression model
2014 年全球新能源預(yù)測競賽(GEFCom2014)提供了可用于風(fēng)電預(yù)測的公開數(shù)據(jù)集[23],它包含了10 個風(fēng)電場站的歷史數(shù)據(jù),時間跨度自2012 年1 月1 日到2013 年12 月1 日,時間分辨率為1 h。各風(fēng)電場站的歷史數(shù)據(jù)組成如下:
1)4 個輸入特征:距離地面10 m 處的緯度風(fēng)速U10和經(jīng)度風(fēng)速V10,以及距離地面100 m 處的緯度風(fēng)速U100和經(jīng)度風(fēng)速V100;
2)1 個輸出特征:經(jīng)過風(fēng)電場站裝機(jī)容量歸一化后的風(fēng)電功率測量值P;
10 個風(fēng)電場站均位于澳大利亞,但由于數(shù)據(jù)安全和商業(yè)競爭的考慮,GEFCom2014 組委會沒有對外披露它們的裝機(jī)容量及經(jīng)緯度信息[23]。
本文選擇相關(guān)性分析法作為先驗(yàn)手段,篩選出了兩組可參與聯(lián)邦學(xué)習(xí)的最佳合作小組,詳細(xì)過程見附錄C。第1 組是1 號、7 號和8 號場站,記為A組;第2 組是4 號、5 號和6 號場站,記為B 組。
對于3.2 節(jié)確定的兩組場站,以A 組場站為例(B 組與之相同),假設(shè)其包含的3 個場站分屬3 個不同的發(fā)電集團(tuán),且這些發(fā)電集團(tuán)愿意通過參與聯(lián)邦學(xué)習(xí)來提升預(yù)測精度。下面將以上述兩組場站為例,對提出的協(xié)同預(yù)測模型進(jìn)行算例分析。
在模型評估過程中,對于學(xué)習(xí)率η、正則化系數(shù)λ以及最鄰近樣本數(shù)m等超參數(shù),均采用網(wǎng)格化搜索及10 折交叉驗(yàn)證法來確定其合適取值。
3.3.1 生成預(yù)測模型的輸入特征
借助氣象學(xué)知識,利用緯度風(fēng)速U和經(jīng)度風(fēng)速V可以生成風(fēng)速Ws和風(fēng)向Wd。此外,根據(jù)風(fēng)能利用的貝茲理論以及時間序列預(yù)測中的季節(jié)性特征,還可以生成其他輸入特征。附錄D 表D1 總結(jié)了所提風(fēng)電預(yù)測模型的全部可用輸入特征。
3.3.2 定義預(yù)測模型、預(yù)測方式及評估指標(biāo)
為了方便模型的區(qū)分和比較,將1.2 節(jié)提出的嶺回歸模型命名為“標(biāo)準(zhǔn)嶺回歸模型”,將1.3 節(jié)提出的嶺回歸模型命名為“改進(jìn)嶺回歸模型”。
為了合理評價預(yù)測模型的優(yōu)缺點(diǎn),定義以下兩種預(yù)測方式:1)“獨(dú)立預(yù)測方式”,僅使用待預(yù)測對象的相關(guān)特征信息,在待預(yù)測對象本地進(jìn)行預(yù)測模型的訓(xùn)練和預(yù)測;2)“聯(lián)邦預(yù)測方式”,待預(yù)測對象和輔助合作者相互協(xié)作,使用待預(yù)測對象和輔助合作者的相關(guān)特征信息進(jìn)行預(yù)測模型的訓(xùn)練和預(yù)測。
本文將數(shù)據(jù)集按時間段劃分為訓(xùn)練集和測試集,取2012-01-01 至2013-09-21 的數(shù)據(jù)作為訓(xùn)練集,用于模型訓(xùn)練;取2013-09-22 至2013-12-01 的數(shù)據(jù)作為測試集,用于模型性能評估。在進(jìn)行超參數(shù)尋優(yōu)或輸入特征篩選時,本文采用了10 折交叉驗(yàn)證法,將訓(xùn)練集等分為10 個子集,對模型獨(dú)立重復(fù)地進(jìn)行10 次訓(xùn)練和驗(yàn)證。在每次訓(xùn)練時,取其中9 個子集對模型進(jìn)行訓(xùn)練,留1 個子集作為驗(yàn)證集,對訓(xùn)練好的模型進(jìn)行檢驗(yàn)。
本節(jié)采用均方根誤差(RMSE)以及平均絕對誤差(MAE)作為預(yù)測模型性能的衡量標(biāo)準(zhǔn),計算公式分別如式(18)和式(19)所示。預(yù)測模型在測試集上的RMSE 及MAE 越小,其預(yù)測精度越高。
3.3.3 聯(lián)邦預(yù)測方式和獨(dú)立預(yù)測方式的比較
在本節(jié),使用標(biāo)準(zhǔn)嶺回歸模型,比較其在聯(lián)邦預(yù)測方式和獨(dú)立預(yù)測方式下的預(yù)測結(jié)果,以驗(yàn)證聯(lián)邦預(yù)測方式在提升預(yù)測精度方面的優(yōu)越性。
對于A 組(或B 組),每次選取組內(nèi)1 個風(fēng)電場站作為待預(yù)測對象,其余風(fēng)電場站作為輔助合作者,在兩種不同的預(yù)測方式下分別進(jìn)行測試,記錄測試集上的RMSE 及MAE,結(jié)果如表1 所示。
表1 標(biāo)準(zhǔn)嶺回歸模型在兩種預(yù)測方式下的預(yù)測性能比較Table 1 Comparison of forecasting performance of standard ridge regression model with two forecasting methods
由表1 可以看出,各場站在獨(dú)立預(yù)測方式下的預(yù)測誤差RMSE 及MAE 均較大,而采用聯(lián)邦預(yù)測方式后,各場站的預(yù)測誤差都有了一定程度下降,預(yù)測精度都有所提升。其中,提升效果最顯著的是1 號 場 站,其RMSE 改 良 率 達(dá) 到25.64%,MAE 改 良率達(dá)到28.10%。由此可見,相比于傳統(tǒng)的獨(dú)立預(yù)測方式,聯(lián)邦預(yù)測方式充分利用了其他鄰近場站的數(shù)據(jù)信息,彌補(bǔ)了單一場站數(shù)據(jù)特征不夠全面的缺陷,較好地捕獲了風(fēng)電場站之間的時空相關(guān)性,從而減少了風(fēng)電預(yù)測誤差,增強(qiáng)了模型的泛化能力。
以1 號場站作為待預(yù)測對象,其在兩種預(yù)測方式下的部分預(yù)測結(jié)果見附錄D 圖D1。從圖D1 可以看出,采用聯(lián)邦預(yù)測方式能夠更好地捕獲風(fēng)電功率變化趨勢,也能夠明顯縮小預(yù)測曲線與真實(shí)曲線之間的差距。因此,聯(lián)邦學(xué)習(xí)預(yù)測模型比傳統(tǒng)的獨(dú)立預(yù)測模型在提升預(yù)測精度方面更具優(yōu)勢。
3.3.4 改進(jìn)嶺回歸模型的預(yù)測效果
3.3.3 節(jié)驗(yàn)證了聯(lián)邦預(yù)測方式比獨(dú)立預(yù)測方式更有效,下面在聯(lián)邦預(yù)測方式下,針對本文提出的基于改進(jìn)嶺回歸的協(xié)同預(yù)測模型,驗(yàn)證1.3 節(jié)提出的兩種改進(jìn)措施的有效性。
表2 比較了使用KNN 算法改進(jìn)前后,嶺回歸協(xié)同預(yù)測模型在測試集上的RMSE 及MAE。由表2可以看出,在聯(lián)邦預(yù)測方式下,相比于標(biāo)準(zhǔn)嶺回歸模型,采用KNN 算法進(jìn)行改進(jìn)可以進(jìn)一步減少預(yù)測誤差,提高預(yù)測精度。其中,改善效果最顯著的仍然是1 號風(fēng)電場站,其RMSE 改良率達(dá)到了11.72%,MAE 改良率達(dá)到了16.36%。對于7 號場站,當(dāng)采用KNN 算法進(jìn)行改進(jìn)時,其預(yù)測精度也有了較為明顯的提升。由此可見,基于KNN 算法改進(jìn)的嶺回歸模型能夠有效改善預(yù)測模型的欠擬合現(xiàn)象,進(jìn)一步提高風(fēng)電功率預(yù)測精度。
表2 嶺回歸模型在使用KNN 算法改進(jìn)前后的性能比較Table 2 Comparison of performance of ridge regression model before and after using KNN algorithm
接下來,在使用KNN 算法進(jìn)行改進(jìn)的基礎(chǔ)上,驗(yàn)證改進(jìn)措施2(詳見1.3 節(jié))的有效性,結(jié)果見附錄D 表D2。選取的深度學(xué)習(xí)方法包括MLP、GRU 以及LSTM 網(wǎng)絡(luò),所選模型中的超參數(shù)均經(jīng)過網(wǎng)格化搜索及交叉驗(yàn)證法進(jìn)行調(diào)優(yōu)。從表D2 中可以看出,采用改進(jìn)措施2 后,進(jìn)一步減少了各風(fēng)電場站的預(yù)測誤差,提高了預(yù)測精度。其中,改善效果最顯著的是6 號場站,其RMSE 改良率達(dá)到了6.74%,MAE改良率達(dá)到了9.23%。這表明,在使用KNN 算法進(jìn)行改進(jìn)的基礎(chǔ)上,使用改進(jìn)措施2 能夠進(jìn)一步提高預(yù)測精度。
圖4 展示了以1 號場站為待預(yù)測對象時,改進(jìn)嶺回歸模型和標(biāo)準(zhǔn)嶺回歸模型在相同時段的部分預(yù)測結(jié)果。從圖4 可以看出,改進(jìn)后的風(fēng)電功率預(yù)測曲線更加貼近真實(shí)曲線,預(yù)測效果更好。
圖4 1 號場站在嶺回歸模型改進(jìn)前后的預(yù)測結(jié)果對比Fig.4 Comparison of forecasting results of wind farm 1 before and after improvement of ridge regression model
3.3.5 本文方法和深度學(xué)習(xí)方法的比較
3.3.4 節(jié)驗(yàn)證了1.3 節(jié)提出的兩種改進(jìn)措施的有效性,下面將本文提出的改進(jìn)嶺回歸協(xié)同預(yù)測模型和已有深度學(xué)習(xí)方法的預(yù)測結(jié)果進(jìn)行比較,以驗(yàn)證本文所提方法的優(yōu)越性。采用的深度學(xué)習(xí)方法包括MLP、GRU 以及LSTM 網(wǎng)絡(luò),均使用單一場站的本地數(shù)據(jù)進(jìn)行訓(xùn)練和預(yù)測,選出其中表現(xiàn)最好的模型進(jìn)行展示,結(jié)果見附錄D 表D3。從表D3 中可以看出,和單一場站使用已有深度學(xué)習(xí)方法的預(yù)測結(jié)果相比,本文提出的改進(jìn)嶺回歸協(xié)同預(yù)測模型在提升預(yù)測精度方面具有一定的優(yōu)勢,其中改善效果最顯著的是1 號場站,其余場站也均有一定幅度的提升。
3.3.6 協(xié)同預(yù)測模型的應(yīng)用場景拓展
前面的算例分析部分均是以單個場站來代表單個發(fā)電集團(tuán),本節(jié)將對改進(jìn)嶺回歸模型的應(yīng)用場景進(jìn)行拓展,考慮一個發(fā)電集團(tuán)內(nèi)含有多個場站的實(shí)際情況,進(jìn)而說明本文方法的有效性和普適性。
觀 察 附 錄C 圖C1 可 以 看 出,A 組 場 站(1 號、7 號、8 號)和C 組場站(3 號、9 號)之間的相關(guān)性較為明顯,B 組場站(4 號、5 號、6 號)和D 組場站(2 號、10 號)之間的相關(guān)性較為明顯。因此,考慮將上述4 組場站視為4 個發(fā)電集團(tuán),A 組可與C 組進(jìn)行協(xié)作,B 組可與D 組進(jìn)行協(xié)作。
表3 比較了各組場站之間協(xié)作或不協(xié)作時,各組場站的總風(fēng)電功率預(yù)測結(jié)果??梢钥闯?采用本文提出的改進(jìn)嶺回歸協(xié)同預(yù)測模型后,各組場站的預(yù)測精度均得到了明顯的提高,驗(yàn)證了本文所提方法的有效性和普適性。
表3 各組場站在不同預(yù)測方式下的風(fēng)電功率預(yù)測結(jié)果Table 3 Wind power forecasting results of each group of stations with different forecasting methods
3.4.1 模型計算精度的評估結(jié)果
為了使用其他鄰近場站的數(shù)據(jù)信息,傳統(tǒng)預(yù)測方法需要首先將各方數(shù)據(jù)匯聚到一起,然后再經(jīng)過“集中式訓(xùn)練”得到最優(yōu)預(yù)測模型,在本文中稱為“集中式求解”。與之相對,本文提出的協(xié)同預(yù)測模型借助縱向聯(lián)邦學(xué)習(xí)機(jī)制,采用了“分布式訓(xùn)練”框架,以此來解決不同數(shù)據(jù)擁有方在不交換機(jī)密數(shù)據(jù)的情況下進(jìn)行協(xié)作的問題,在本文中稱為“分布式求解”。附錄D 表D4 比較了改進(jìn)嶺回歸模型在集中式和分布式求解方法下的預(yù)測結(jié)果。從表D4 可以看出,改進(jìn)嶺回歸模型在分布式方法下的預(yù)測結(jié)果與集中式方法完全一致,從而驗(yàn)證了分布式方法預(yù)測結(jié)果的可靠性與穩(wěn)健性。
3.4.2 模型總耗時的評估結(jié)果
考慮從兩個方面評估模型的總耗時,一是固定數(shù)據(jù)集大小,不斷增加參與聯(lián)邦學(xué)習(xí)的風(fēng)電場站數(shù)目;二是固定風(fēng)電場站數(shù)目,不斷擴(kuò)大數(shù)據(jù)集的規(guī)模。在上述條件下,讓改進(jìn)嶺回歸模型分別在集中式和分布式求解方法下完成一次訓(xùn)練和預(yù)測,統(tǒng)計相應(yīng)的模型總耗時,結(jié)果如附錄D 圖D2 所示。從圖D2 中可以看出,當(dāng)所涉及的風(fēng)電場站總數(shù)增多或數(shù)據(jù)集規(guī)模變龐大時,集中式求解方法的總耗時會顯著增加,而分布式求解方法的總耗時卻始終維持在較低水平。產(chǎn)生該現(xiàn)象的主要原因是分布式求解方法采用的是并行計算,故計算耗時通常比集中式方法要少。因此,在合作對象眾多或數(shù)據(jù)量龐大的情況下,分布式求解方法通過并行計算可以獲得較短的耗時,比集中式方法更具優(yōu)勢。
針對短期風(fēng)電功率預(yù)測問題,本文提出了一種基于聯(lián)邦學(xué)習(xí)機(jī)制并使用改進(jìn)KNN 算法的嶺回歸協(xié)同預(yù)測模型,設(shè)計了相應(yīng)的分布式訓(xùn)練和預(yù)測方法。在聯(lián)邦學(xué)習(xí)機(jī)制下,該協(xié)同預(yù)測模型以分布式方式間接利用了鄰近其他風(fēng)電場站的相關(guān)數(shù)據(jù)信息,在確保隱私數(shù)據(jù)安全的前提下,有效提高了風(fēng)電功率預(yù)測精度,同時提升了預(yù)測模型的求解效率。本文通過實(shí)際算例驗(yàn)證了所提方法的有效性,由算例結(jié)果可以看出:
1)采用聯(lián)邦學(xué)習(xí)機(jī)制,通過與鄰近場站相互協(xié)作,以分布式方式間接利用鄰近場站的數(shù)據(jù)信息,能夠有效提高風(fēng)電功率預(yù)測精度。
2)采用KNN 算法,根據(jù)待預(yù)測樣本的屬性來篩選訓(xùn)練樣本,能夠進(jìn)一步減少預(yù)測誤差,提高風(fēng)電功率預(yù)測精度,增強(qiáng)模型的泛化能力。
3)在面對大規(guī)模的預(yù)測問題時,與傳統(tǒng)的集中式求解方法相比,采用分布式求解方法能夠保證計算結(jié)果的準(zhǔn)確性,同時顯著地減少計算耗時。
最后需要指出,本文所提出的預(yù)測模型一次只能針對一個待預(yù)測對象進(jìn)行預(yù)測,目前還無法實(shí)現(xiàn)同時對多個待預(yù)測對象進(jìn)行預(yù)測,這部分改進(jìn)工作是未來研究的潛在方向之一。
附錄見本刊網(wǎng)絡(luò)版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網(wǎng)絡(luò)全文。