甘迪, 金巖磊, 葛立青,郭鑫溢
(南京南瑞繼保電氣有限公司,江蘇 南京 211100)
近年來,隨著我國大力建設(shè)智能電網(wǎng),電力系統(tǒng)涌入了海量的實(shí)時數(shù)據(jù)[1-3]。負(fù)荷數(shù)據(jù)與負(fù)荷預(yù)測、電力系統(tǒng)狀態(tài)估計息息相關(guān),但數(shù)據(jù)測量、傳輸?shù)拳h(huán)節(jié)出現(xiàn)的偶發(fā)故障和干擾,使得電力系統(tǒng)出現(xiàn)了與實(shí)際值偏差較大的不良負(fù)荷數(shù)據(jù),干擾電力調(diào)度的決策,威脅電力系統(tǒng)的安全穩(wěn)定運(yùn)行。有效不良負(fù)荷數(shù)據(jù)辨識有助于提高電力系統(tǒng)分析計算準(zhǔn)確度,提升智能用電水平和電網(wǎng)的安全性。
目前數(shù)據(jù)辨識領(lǐng)域的研究成果較多。文獻(xiàn)[4]采用空間密度聚類和異常數(shù)據(jù)域方法進(jìn)行負(fù)荷異常值識別。文獻(xiàn)[5]引入小波閾值去噪和多維核密度估計解決類噪聲辨識問題。文獻(xiàn)[6]針對風(fēng)電次同步振蕩參數(shù)辨識問題,采用加阻尼Rife-Vincent 窗和三點(diǎn)插值法計算復(fù)數(shù)域下的參數(shù)指標(biāo)并進(jìn)行參數(shù)辨識。文獻(xiàn)[7]基于最大測點(diǎn)正常和CPU并行加速,提出一種不良數(shù)據(jù)辨識模型。在數(shù)據(jù)辨識研究中,模糊聚類算法[8-10]是解決不良負(fù)荷數(shù)據(jù)辨識的有效方法之一,但通常存在以下方面的不足:(1)聚類數(shù)量和聚類中心選取具有偶然性,二者嚴(yán)重影響著聚類性能;(2)需要權(quán)衡算法效率和算法質(zhì)量;(3)由于用電數(shù)據(jù)規(guī)模龐大,目標(biāo)函數(shù)容易陷入局部最優(yōu)[11]。為克服以上問題,本文嘗試將啟發(fā)式算法[12]與元啟發(fā)式算法[13]相結(jié)合,以FCM聚類算法為基礎(chǔ),采用蟻群算法[14-15]確定FCM聚類算法的聚類數(shù)目、聚類中心,并由爬山算法[16]為蟻群算法提供初始解,求解聚類結(jié)果,計算負(fù)荷可行域上下限,當(dāng)實(shí)際負(fù)荷超出可行域上下限時視為不良數(shù)據(jù),并采用插值法[17]進(jìn)行數(shù)據(jù)修復(fù),實(shí)現(xiàn)電力不良數(shù)據(jù)辨識和修復(fù)的功能。
負(fù)荷曲線聚類是指利用聚類算法對歷史負(fù)荷數(shù)據(jù)進(jìn)行分類,以數(shù)據(jù)為支撐,分析不同類型用戶的負(fù)荷特性,為電力負(fù)荷預(yù)測、電價制定等提供決策依據(jù)[18-20]。FCM算法[21-22]是一種常見的聚類算法,使用隸屬度衡量樣本點(diǎn)的相似性,該算法可描述如下:
對含有n個樣本的樣本集,每一個樣本都可以用一組特征向量表示,假設(shè)這些樣本可以被分為c個聚類中心,則算法的目標(biāo)函數(shù)是n個樣本到其聚類中心的類內(nèi)距離加權(quán)平方和最小,即
(1)
式中:U為模糊劃分矩陣,V為聚類中心矩陣,m為加權(quán)指數(shù),取值范圍在[1,+∞],uik為第k個樣本屬于第i類聚類中心的隸屬度,dik為第i類樣本中第k個樣本到第i類聚類中心的距離。
隸屬度[23]滿足:
(2)
式(1)隨著加權(quán)指數(shù)m單調(diào)遞減,但存在拐點(diǎn)m0使得算法的迭代次數(shù)隨m的取值呈現(xiàn)震蕩變化的趨勢,在拐點(diǎn)m0附近取到極小值,即:
(3)
依據(jù)拉格朗日乘數(shù)法,可以求得目標(biāo)函數(shù)取極小值時,隸屬度uik和聚類中心vi需滿足:
(4)
(5)
以式(1)為目標(biāo)函數(shù),以式(2)(4)(5)為約束條件,當(dāng)?shù)欢ù螖?shù)后目標(biāo)函數(shù)前后兩次迭代誤差小于一給定正數(shù)時,聚類結(jié)束。
蟻群算法(ant colony algorithm, ACA)是一種模擬螞蟻覓食行為的元啟發(fā)式搜索算法,在沒有任何提示的情況下,螞蟻通過在路徑上釋放分泌物——信息素[24-25],從而找到從巢穴到食物的最短路徑。如果路徑上出現(xiàn)意外,蟻群能夠自適應(yīng)地尋找到新的最優(yōu)路徑。蟻群算法的優(yōu)勢在于魯棒性強(qiáng)、記憶性能好、易與其他優(yōu)化算法相結(jié)合等,具有分布式計算、正反饋性、正組織性等特征[26-27]。
蟻群根據(jù)信息素和距離來搜索路徑,在第t次迭代中,螞蟻k由節(jié)點(diǎn)i選擇下一節(jié)點(diǎn)j的轉(zhuǎn)移概率滿足:
(6)
(7)
式中:qij為路徑(i,j)的信息素濃度。α為信息素啟發(fā)因子,β為期望啟發(fā)式因子,α越大算法搜索性越弱,β越大代表先驗路徑信息的作用越大,越接近貪心算法。allowk表示路徑搜索下一可到達(dá)節(jié)點(diǎn)的集合,nij為啟發(fā)信息,dij為節(jié)點(diǎn)i和待選節(jié)點(diǎn)j的歐氏距離。
在信息素更新方式的選擇上,為提高蟻群算法的搜索效率,本文引入精英螞蟻系統(tǒng),該系統(tǒng)通過在當(dāng)前最優(yōu)解Tbest更新信息素時釋放額外的信息素,實(shí)現(xiàn)增強(qiáng)系統(tǒng)正反饋?zhàn)饔玫哪康?。相關(guān)信息素更新的計算公式為:
(8)
(9)
式中:w是調(diào)整最優(yōu)解的參數(shù),代表強(qiáng)化項的權(quán)重,Lbest是當(dāng)前最優(yōu)路徑Tbest的長度。
本文引入蟻群算法用于模糊聚類過程中選取聚類數(shù)量和聚類中心,克服其偶然性,增大獲得最優(yōu)解的概率。
蟻群算法作為一種元啟發(fā)式算法,其算法效果非常依賴初始解的質(zhì)量,可以利用爬山算法為蟻群算法產(chǎn)生初始解,提高算法性能。爬山算法是一種尋優(yōu)速度快的啟發(fā)式局部搜索算法,從當(dāng)前節(jié)點(diǎn)開始,與周圍節(jié)點(diǎn)進(jìn)行比較,若當(dāng)前節(jié)點(diǎn)值最大,則返回當(dāng)前節(jié)點(diǎn)作為“山峰最高點(diǎn)”,反之則用最高的周圍節(jié)點(diǎn)替換當(dāng)前節(jié)點(diǎn),如此循環(huán)迭代直到到達(dá)最高點(diǎn)。
本文采用狼爬山算法為蟻群算法提供初始解,該算法是基于經(jīng)典Q學(xué)習(xí)算法[28]框架的一種強(qiáng)化學(xué)習(xí)算法。設(shè)表征狀態(tài)動作好壞的值函數(shù)Q(s,a),則有:
(10)
(11)
式中:Vφ*(s)為最優(yōu)目標(biāo)值函數(shù),φ*(s)為策略,A為動作集。Q函數(shù)的更新機(jī)制采用SARSA策略,即:
Qk+1(s,a)=Qk(s,a)+αδkek(s,a)
(12)
Qk+1(sk,ak)=Qk+1(sk,ak)+αρk
(13)
式中:α為Q學(xué)習(xí)率,δk為Q函數(shù)誤差,ek為狀態(tài)s在動作a下第k步迭代的資格跡,ρk為在第k步迭代的Q函數(shù)誤差。隨著迭代次數(shù)的增加,狀態(tài)值函數(shù)Q(s,a)能夠逐步收斂到最優(yōu)聯(lián)合動作策略。
狼爬山算法基于虛擬博弈,將Q學(xué)習(xí)率α視為隨迭代動態(tài)更新的變量,采用近似均衡的平均貪婪策略,引入兩個學(xué)習(xí)參數(shù)αwin和αlose代表智能體的贏和輸。設(shè)智能體的混合策略集為U(sk,ak),變學(xué)習(xí)率為φi,它將在獎勵函數(shù)R的基礎(chǔ)上執(zhí)行動作ak,從狀態(tài)sk過渡到sk+1,則其更新律為:
U(sk,ak)←U(sk,ak)+
(14)
(15)
式中:φlose>φwin,avg為平均策略混合值,當(dāng)該值低于當(dāng)前策略值時,智能體獲勝,選擇φwin,否則選擇φlose。
然而,爬山算法容易陷入局部最優(yōu),形象的說法是爬山是在迷霧中攀爬,其迷霧缺陷如圖1所示,如果從B點(diǎn)開始搜索,爬山算法會認(rèn)為A點(diǎn)是最優(yōu)解,而錯過真正的最優(yōu)解D;如果從C點(diǎn)開始搜索,則能夠得到正確的答案。為解決迷霧缺陷,本文在狼爬山算法的基礎(chǔ)上做如下改進(jìn):在一定程度上擴(kuò)大初始狀態(tài)空間,從更多的起點(diǎn)出發(fā)搜索,結(jié)果取所有“山峰最高點(diǎn)”的最大值。
圖1 爬山算法迷霧缺陷示意圖Fig.1 Schematic diagram of fog defect of hill climbing algorithm
在獲得負(fù)荷數(shù)據(jù)的模糊聚類結(jié)果后,提取負(fù)荷特征曲線為所有聚類中心的采樣點(diǎn)連線,并結(jié)合聚類后的負(fù)荷曲線和特征曲線得到負(fù)荷數(shù)據(jù)可行域,步驟如下:
(1)對歷史負(fù)荷數(shù)據(jù)集合M,針對第i種分類,求出該類數(shù)據(jù)在同一時刻的最大值和最小值,即:
(16)
(2)根據(jù)特征曲線vi,計算可行域的上下限,即:
(17)
式中:p為采樣點(diǎn)的個數(shù)。
當(dāng)采樣點(diǎn)在可行域上下限范圍內(nèi)時,視為負(fù)荷數(shù)據(jù)正常;當(dāng)超出可行域上下限范圍時,視為不良負(fù)荷數(shù)據(jù)。
對不良負(fù)荷數(shù)據(jù),本文采用插值法進(jìn)行數(shù)據(jù)修正。
本文提出了一種基于爬山-蟻群-FCM模糊聚類的電力不良負(fù)荷數(shù)據(jù)辨識方法,以FCM聚類算法為基礎(chǔ),由爬山算法為蟻群算法提供初始解,根據(jù)蟻群算法確定FCM聚類算法的聚類數(shù)目、聚類中心,并求解聚類結(jié)果。這樣做可以將啟發(fā)式算法與元啟發(fā)式算法相結(jié)合,發(fā)揮各自優(yōu)點(diǎn),互補(bǔ)缺點(diǎn),以克服局部最優(yōu)問題,提高其性能;同時也解決了聚類數(shù)量和聚類中心選取具有偶然性的問題。在聚類結(jié)果的基礎(chǔ)上,計算負(fù)荷可行域上下限,當(dāng)實(shí)際負(fù)荷超出可行域上下限時視為不良數(shù)據(jù),然后利用插值法進(jìn)行數(shù)據(jù)修復(fù),實(shí)現(xiàn)電力不良數(shù)據(jù)辨識和修復(fù)的功能。其算法流程如圖2所示,步驟如下:
圖2 算法流程圖Fig.2 Algorithm flowchart
步驟1:導(dǎo)入樣本數(shù)據(jù),用爬山算法確定蟻群算法的初始解。
步驟2:根據(jù)初始解,采用蟻群算法確定FCM聚類算法的聚類數(shù)據(jù)和聚類中心,初始化隸屬度矩陣。
步驟3:完成FCM聚類,提取負(fù)荷數(shù)據(jù)特征曲線。
步驟4;根據(jù)負(fù)荷數(shù)據(jù)特征曲線,訓(xùn)練生成負(fù)荷數(shù)據(jù)可行域區(qū)間。
步驟5:導(dǎo)入待測數(shù)據(jù)。
步驟6:對待測數(shù)據(jù)進(jìn)行不良數(shù)據(jù)辨識。
步驟7:對不良數(shù)據(jù)進(jìn)行修復(fù)。
為驗證模型的有效性,有必要建立模型的評價標(biāo)準(zhǔn)。聚類算法是為解決分類問題而提出的,首先應(yīng)當(dāng)對分類的準(zhǔn)確性進(jìn)行評價,在分類準(zhǔn)確的基礎(chǔ)上才做出修復(fù)準(zhǔn)確的判定。因此,本文設(shè)某負(fù)荷數(shù)據(jù)點(diǎn)采集值偏離真實(shí)值超過20%為不良負(fù)荷數(shù)據(jù),并采用精準(zhǔn)率PRE、準(zhǔn)確率ACC、召回率REC三項常見的分類問題評價指標(biāo)來評價聚類效果指標(biāo),相關(guān)計算公式如下:
PRE=nTP/(nTP+nFP)
(18)
ACE=(nTP+nTN)/(nTP+nTN+nFN+nFP)
(19)
REC=nTP/(nTP+nFN)
(20)
式中:n為每類事件的數(shù)量,TP和TN均代表正確判別,F(xiàn)N代表漏判,F(xiàn)P代表誤判,如表1所示。所有指標(biāo)取值均在[0,1]之間,取值越大,聚類效果越佳。
表1 混淆矩陣Tab.1 Confusion matrix
在數(shù)據(jù)修復(fù)的模型評價上,則采用傳統(tǒng)的平均誤差率e評價模型。
本文以某市2020年3月某用電管理平臺采集到的某用戶電力負(fù)荷數(shù)據(jù)為算例數(shù)據(jù),采樣周期為15分鐘,每天有96個采樣點(diǎn)。同時收集該用戶側(cè)負(fù)荷數(shù)據(jù)作為真實(shí)數(shù)據(jù),用于檢驗不良負(fù)荷數(shù)據(jù)辨識結(jié)果的正確性和精確性。
首先進(jìn)行聚類分析,采用爬山算法和蟻群算法求解FCM聚類問題,以爬山算法為蟻群算法提供初始解,由蟻群算法提供FCM聚類算法的聚類數(shù)據(jù)和聚類中心。根據(jù)蟻群算法結(jié)果,初始的聚類中心為3個,聚類數(shù)據(jù)分別包含19、31、35個樣本點(diǎn),取加權(quán)指數(shù)m=3計算新聚類中心,不斷迭代直到滿足退出條件,獲取聚類結(jié)果。
根據(jù)聚類結(jié)果計算特征曲線和可行域上下限,辨識不良負(fù)荷數(shù)據(jù),并對不良負(fù)荷數(shù)據(jù)采用插值法進(jìn)行數(shù)據(jù)修正。其結(jié)果如表2和表3所示。
表2 不良負(fù)荷數(shù)據(jù)辨識結(jié)果Tab.2 Identification result of bad load data
表3 不良負(fù)荷數(shù)據(jù)辨識模型評價Tab.3 Evaluation of bad load data identification model
表2中不良數(shù)據(jù)點(diǎn)號是指從3月1日0點(diǎn)開始記為1號點(diǎn),0點(diǎn)15分記為2號點(diǎn),以此類推。由表2可以推出以下結(jié)論:
(1)在3月用電管理平臺采集到的負(fù)荷數(shù)據(jù)中,根據(jù)經(jīng)驗常識,一共出現(xiàn)了2次真實(shí)發(fā)生的、偏差較大的不良負(fù)荷數(shù)據(jù),一次是182號點(diǎn),該點(diǎn)采集值是791.2,真實(shí)值是320.6,采集值偏離真實(shí)值達(dá)到146.8%,按照負(fù)荷數(shù)據(jù)點(diǎn)采集值偏離真實(shí)值超過20%視為不良負(fù)荷數(shù)據(jù)的判斷標(biāo)準(zhǔn),該點(diǎn)屬于不良數(shù)據(jù),本文方法在該點(diǎn)判別上正確,修正值為329.5,修正值偏離真實(shí)值為2.8%,按照經(jīng)驗來看修正有效。
(2)第2個不良數(shù)據(jù)點(diǎn)是1539號點(diǎn),該點(diǎn)采集值是593.3,真實(shí)值是389.2,采集值偏離真實(shí)值達(dá)到52.4%,按照負(fù)荷數(shù)據(jù)點(diǎn)采集值偏離真實(shí)值超過20%視為不良負(fù)荷數(shù)據(jù)的判斷標(biāo)準(zhǔn),該點(diǎn)屬于不良數(shù)據(jù),本文方法在該點(diǎn)判別上正確,修正值為411.4,修正值偏離真實(shí)值為5.7%,按照經(jīng)驗來看修正有效。
(3)本文方法沒有對其他非不良數(shù)據(jù)點(diǎn)造成誤判,即FP=0;對所有的不良數(shù)據(jù)點(diǎn)均正確判別,沒有錯判,即FN=0;本文方法在本算例的識別效果驗證了方法的準(zhǔn)確性和有效性。
表3列舉了本文算法的聚類效果評價指標(biāo)值。由表3可以看出,本文算法的PRE、ACE、REC在這次算例中均為最佳值1,沒有發(fā)生漏判,即出現(xiàn)未成功判斷出某次不良數(shù)據(jù)的現(xiàn)象;也沒有發(fā)生誤判,即錯誤地將正常數(shù)據(jù)判定為不良數(shù)據(jù)。分析原始數(shù)據(jù)可知,這主要是因為選取的負(fù)荷數(shù)據(jù)質(zhì)量好,絕大多數(shù)的數(shù)據(jù)偏差小于3%。由此可見,本文提出的爬山-蟻群-FCM聚類算法能夠有效地在2976個負(fù)荷采樣點(diǎn)中辨識出唯二的不良數(shù)據(jù)點(diǎn),驗證了模型的有效性。
作為對比,本文將蟻群-FCM聚類算法、爬山-FCM聚類算法應(yīng)用到相同的算例中進(jìn)行不良數(shù)據(jù)辨識,其結(jié)果如下表所示:
由表4可以分析得出以下結(jié)論:
表4 不同算法結(jié)果對比Tab.4 Comparison of results of different algorithms
(1)面對質(zhì)量好的一段負(fù)荷數(shù)據(jù)樣本,本文算法、蟻群-FCM聚類算法、爬山-FCM聚類算法都能夠有效辨識不良數(shù)據(jù),沒有發(fā)生漏判和誤判;
(2)對比算法的平均誤差分別為5.31%和5.96%,均低于本文算法的4.25%,驗證了本文模型的有效性和準(zhǔn)確性。
為進(jìn)一步驗證本文模型的魯棒性和準(zhǔn)確性,本文擴(kuò)大數(shù)據(jù)范圍,將該市從4月到12月共9個月(每個月取1號到30號數(shù)據(jù))的電力負(fù)荷數(shù)據(jù)作為研究對象,每個月獨(dú)立做聚類分析。由于實(shí)際采集中不良數(shù)據(jù)點(diǎn)數(shù)較少,本文人為將每月的1號到30號中,每天96個采樣點(diǎn)的第10、20、30、40、50個點(diǎn)增大25%,第15、25、35、45、55個點(diǎn)減小25%,則每天共有10個不良數(shù)據(jù)點(diǎn),每個月有300個不良數(shù)據(jù)點(diǎn),合計2700個不良數(shù)據(jù)點(diǎn),總數(shù)據(jù)點(diǎn)達(dá)25920個點(diǎn)。通過人為對部分真實(shí)負(fù)荷數(shù)據(jù)進(jìn)行縮放,實(shí)現(xiàn)了制造更差負(fù)荷數(shù)據(jù)質(zhì)量、更多不良負(fù)荷數(shù)據(jù)的目的,在這種環(huán)境下考察不良負(fù)荷數(shù)據(jù)辨識算法的魯棒性。采用本文方法、蟻群-FCM聚類算法、爬山-FCM聚類算法對這些經(jīng)過處理后的數(shù)據(jù)進(jìn)行分析,各算法數(shù)據(jù)辨識對比分析結(jié)果如表5所示。
表5 不同算法魯棒性結(jié)果對比Tab.5 Comparison of robustness results of different algorithms
由表5可以推出以下結(jié)論:
(1)本文方法在25920個負(fù)荷數(shù)據(jù)的不良數(shù)據(jù)辨識中,漏判了17個點(diǎn),而蟻群-FCM聚類算法漏判105個點(diǎn),爬山-FCM聚類算法漏判89個點(diǎn),從漏判角度而言,本文方法優(yōu)于蟻群-FCM聚類算法、爬山-FCM聚類算法。
(2)本文方法在25920個負(fù)荷數(shù)據(jù)的不良數(shù)據(jù)辨識中,錯判了2個點(diǎn),而蟻群-FCM聚類算法錯判5個點(diǎn),爬山-FCM聚類算法錯判4個點(diǎn),從錯判角度而言,本文方法優(yōu)于蟻群-FCM聚類算法、爬山-FCM聚類算法。
(3)本文方法的PRE為0.9993,優(yōu)于蟻群-FCM聚類算法的0.9981,也優(yōu)于爬山-FCM聚類算法的0.9985;同理,其余3項指標(biāo)ACE、REC、e均優(yōu)于蟻群-FCM聚類算法、爬山-FCM聚類算法。這說明面對樣本數(shù)據(jù)規(guī)模大、突變率25%逼近20%分界線等難點(diǎn),本文算法相比蟻群-FCM聚類算法、爬山-FCM聚類算法表現(xiàn)更優(yōu),魯棒性和準(zhǔn)確性更強(qiáng)。算例結(jié)果表明,本文提出的組合搜索算法能有效提高單一搜索算法的精度,驗證了本文模型的魯棒性和準(zhǔn)確性,具有更好的工程實(shí)踐優(yōu)勢。
本文提出了一種基于爬山-蟻群-FCM模糊聚類算法,用于求解電力不良負(fù)荷數(shù)據(jù)辨識的問題。首先利用爬山算法為蟻群算法產(chǎn)生初始解,提高算法性能,接著用蟻群算法求解FCM負(fù)荷曲線聚類模型;根據(jù)聚類結(jié)果計算特征曲線和可行域上下限,辨識不良負(fù)荷數(shù)據(jù),并對不良負(fù)荷數(shù)據(jù)采用插值法進(jìn)行數(shù)據(jù)修正。算例表明,本文模型能夠有效實(shí)現(xiàn)不良負(fù)荷數(shù)據(jù)辨識功能,在模型的準(zhǔn)確性上相比單一搜索算法更優(yōu),可推廣到其他電力采集數(shù)據(jù)的數(shù)據(jù)辨識等領(lǐng)域。但在實(shí)際應(yīng)用過程中,不良數(shù)據(jù)的修正值和實(shí)際值之間仍然存在偏差,特別是對于罕見的負(fù)荷快速、劇烈波動的場景,偏差會進(jìn)一步增大,如何解決這一問題,是下一步的研究方向。