謝敬東, 盧浩哲, 陸池鑫, 黃溪瀅, 魯思薇
(1.上海電力大學(xué)能源電力科創(chuàng)中心, 上海 200082; 2.長沙理工大學(xué)電氣與信息工程學(xué)院, 長沙 410114)
中共中央、國務(wù)院《關(guān)于進一步深化電力體制改革的若干意見》(中發(fā)〔2015〕9號)[1]及其配套相關(guān)文件頒布以來,新一輪電力市場化建設(shè)全面提速,取得了許多積極進展,但隨之而來的是電力市場風(fēng)險急劇加大。由于中國電力市場的主體相對集中,市場主體法規(guī)意識相對薄弱,市場監(jiān)管制度尚不健全,市場力風(fēng)險成為中國電力市場的主要風(fēng)險,呈現(xiàn)出形式多、防范難、監(jiān)管難、影響大的特點,大大增加了電力市場建設(shè)的難度。而伴隨著市場力產(chǎn)生的一系列違規(guī)行為或許是全球電力監(jiān)管機構(gòu)所面臨的最具爭議性和復(fù)雜性的難題[2-4]。因此,通過研究異常行為的辨識方法對交易過程中可能存在的違規(guī)行為進行挖掘是市場環(huán)境下的電力監(jiān)管機構(gòu)共同關(guān)注且迫切需要研究的重點方向。
針對電力市場中的違規(guī)行為問題,中外學(xué)者已提出了一些識別方法和防范措施。文獻[5-7]構(gòu)建了判斷發(fā)電側(cè)市場力使用狀況的監(jiān)管指標體系。文獻[8]構(gòu)建了電力市場交易全過程的違規(guī)行為識別框架。文獻[9-11]分別采用博弈論、遺傳算法和聯(lián)合進化優(yōu)化法對單個發(fā)電商是否參與串謀行為進行了判定。文獻[12]利用計量經(jīng)濟學(xué)的方法分析了英國兩大發(fā)電公司之間的串謀報價行為。但這些研究存在以下問題與不足:一是只注重建立市場監(jiān)管指標,卻沒有具體闡述如何使用指標識別異常交易行為;二是對市場模型進行了大量簡化,并且關(guān)注的對象僅為少量市場成員,而對于處理實際市場運營產(chǎn)生的大規(guī)模數(shù)據(jù)集的研究卻很少。
相較于上述異常行為辨識的方法,基于無監(jiān)督學(xué)習(xí)的異常檢測算法具有更好的應(yīng)用前景。由于無監(jiān)督異常檢測算法在訓(xùn)練時只需要依靠沒有數(shù)據(jù)標簽的數(shù)據(jù),就可以利用數(shù)據(jù)的整體特性得出較為準確的劃分異常的規(guī)則[13-15]。因此此類方法更適應(yīng)用于電力市場這種標簽數(shù)據(jù)往往難以獲取,或獲取成本極高的大數(shù)據(jù)場景。離群點檢測是一種基于無監(jiān)督學(xué)習(xí)的方法,在前人研究的基礎(chǔ)之上,現(xiàn)結(jié)合電力市場運營數(shù)據(jù)集的特點對普通的離群點檢測算法進行改進,提出一種基于分階段的離群點檢測算法,并將其應(yīng)用于電力市場的異常行為辨識中。首先對市場中的異常行為進行分析與梳理,然后闡述異常行為辨識的具體操作流程,最后使用算例對該方法進行驗證。
1.1.1 市場串謀
“串謀”這一概念源自經(jīng)濟學(xué),指企業(yè)之間為了獲得超額利潤而采取的協(xié)調(diào)行為,這種行為一般是通過相互之間進行商討、簽訂協(xié)議和支付暗盤來形成和維持,如眾所周知的托拉斯和卡特爾[16]。電力市場中的市場串謀是指兩個及以上不具有實際控制關(guān)系的市場主體通過串通報價等方式協(xié)調(diào)其相互競爭關(guān)系,從而使共同利潤最大化的行為。市場串謀一般可分為價格同盟型與輪流坐莊型。價格同盟型指企業(yè)間相同串通,就申報價格達成協(xié)議,共同哄抬申報價格,最直接的表現(xiàn)就是報價曲線相似,且申報價格高于其他非串謀成員;輪流坐莊型則指企業(yè)之間根據(jù)未來的發(fā)電計劃預(yù)先規(guī)劃,通過相互約定提前確定每次各企業(yè)的中標電量。
1.1.2 容量持留
容量持留本質(zhì)上是一種行使市場力的行為,主要形式有物理持留和經(jīng)濟持留。物理持留指發(fā)電企業(yè)故意限制自身發(fā)電能力,從而減少市場有效供應(yīng)、提高市場價格;經(jīng)濟持留指發(fā)電企業(yè)對部分機組故意進行高報價,從而抬高同類其他機組的整體收益。發(fā)電企業(yè)進行容量持留時最直接的表現(xiàn)形式有無故降低機組出力、謊報機組設(shè)備檢修或延長檢修時間、頻繁以接近申報價格上限的價格進行市場申報等。
1.1.3 極端報價
極端報價指發(fā)電公司在以機組為單位進行市場申報時,頻繁以超過同類機組和自身歷史報價水平進行申報的行為。這種報價方式抬高了市場出清價格,使發(fā)電主體獲得超額利潤,嚴重擾亂了市場秩序。例如在東北電力市場就曾經(jīng)出現(xiàn)發(fā)電企業(yè)利用斷面阻塞進行極端報價,連續(xù)多月在月度競價中以市場最高限價成交,嚴重阻礙了電力市場化改革和電力資源的優(yōu)化配置。
1.1.4 “跳高”行為
“跳高”行為是發(fā)電公司采用的一種報價策略,表現(xiàn)為在中低容量段報較低價格,而在高容量段用小部分電量報高價,但這少部分的電量卻可以影響到整個市場的價格。此時市場供給曲線的形狀為:在中前部有很長一段的趨0報價,但在尾部迅速上抬,形成俗稱的“跳高曲線”。“跳高”行為在本質(zhì)上屬于市場成員的投機交易行為,破壞了市場的有序競爭。
為了有效實現(xiàn)電力市場異常交易行為的判別和監(jiān)視,綜合考慮全面性原則、準確性原則,篩選市場主體的申報信息及成交信息,提取異常行為的特征值并建立特征集,特征集如表1所示。
表1 異常行為特征集Table 1 Abnormal behavior feature set
1.2.1 加權(quán)平均報價
由于電力市場以中長期差價合同管理市場風(fēng)險,使得機組在報價時為保證中長期合約電量能順利成交通常對該部分電量申報接近0價。為了達到準確分析機組報價行為的目的,應(yīng)關(guān)注合約電量后的申報數(shù)據(jù)。加權(quán)平均報價的計算公式為
(1)
1.2.2 中標率
(2)
式(2)中: WR為機組的中標率;Qwr為中標電量;Qbid為申報總量。
1.2.3 持留比率
(3)
式(3)中:HR為機組的持留比率;Qmax為機組的最大發(fā)電量。
1.2.4 高報價比率
(4)
式(4)中:HB為機組的高報價比率;Qlim為申報價格接近上限的電量。
1.2.5 動態(tài)市場份額
(5)
異常行為特征集可以反映部分的市場異常行為,但在實際監(jiān)測過程中卻存在著各方面的不足。因此結(jié)合電力市場運營的實際情況提出基于異常行為特征集的波動性指標、趨勢指標、變動性指標及綜合指標[17],并根據(jù)指標在一次完整交易過程中可獲取的時間點將提取的特征指標分為申報階段類及成交階段類。在T個交易日內(nèi),特征集的分類及特征提取如表2所示。
表2 異常行為特征指標Table 2 Indicators of abnormal behavior
由于提取的特征指標數(shù)量過多,特征的重疊會夸大某一因素的影響程度,影響目標對象特征描述的準確性,為了提高異常檢測的效率,需要消除原始特征指標間的信息重疊。目前統(tǒng)計學(xué)中進行消除指標間信息重疊的主要方法有回歸分析法、主成分分析法、因子分析法。文獻[19]證明在解決此類問題中,主成分分析法的效果優(yōu)于其他方法,故使用主成分分析法。
在對申報階段與交易階段的特征指標分別進行降維后,取其前兩個主成分將機組以散點的形式映射到二維平面,然后使用離群點算法進行異常檢測。
Breuning等學(xué)者在基于密度的聚類算法與異常度監(jiān)測結(jié)合的基礎(chǔ)上提出了局部離群因子(local outlier factor,LOF)的概念[20]。LOF是樣本中每個采樣點相于其領(lǐng)域密度差異的一種衡量量度, 用來評價采樣點的離群程度,由離群程度的大小來分離樣本中的離群點。下面給出解釋LOF算法的必要定義。
定義1 數(shù)據(jù)點的距離d(p,o)。
在樣本數(shù)據(jù)D中,任意兩個數(shù)據(jù)點p、點o之間的距離d(p,o)采用歐式計算方法。設(shè)點p和點o用坐標表示為p(xi,yi)、o(xj,yj),則點p和點o的歐式距離為
(6)
定義2 點p的k-距離[k-dist(p)]。
對于點p(xi,yi),k-距離定義為與點p距離最近的k個點的最大距離,k為正實數(shù)。
定義3 點p的k-距離鄰域[Nk-dist(p)]。
對于點p(xi,yi),k-距離領(lǐng)域定義為所有與點p的距離不超過k-距離的對象的集合,即
Nk-dist(p)={q∈D{p}|d(p,q)≤k-dist(p)}
(7)
式(7)中:符號為不包括某一數(shù)據(jù)點;q為在樣本數(shù)據(jù)D中除去p之外的其他數(shù)據(jù)點。
根據(jù)定義2和定義3,當k=6時,點o的k-距離及k-距離領(lǐng)域如圖1所示,點o的k-距離為虛線圓的半徑,而k-距離領(lǐng)域為該虛線圓中除點o外的6個點。
圖1 距離領(lǐng)域的示意圖Fig.1 Schematic diagram for the distance neighborhood
定義4 可達距離
對于點p(xi,yi)、點o(xj,yj),關(guān)于點o的可達距離為reach-distk(p,o)=max{k-dist(o),d(p,o)}。即點p到點o的可達距離至少是點o的第k距離,因此reach-distk(p,o)=reach-distk(o,p)。
根據(jù)定義4,當k=6時,點o的可達距離如圖2所示,點o的k-距離是虛線圓的半徑。對于點p1,由于它到點o的距離小于點o的k-距離,因此點o關(guān)于點p1的可達距離為點o的k-距離。對于點p2,由于它到點o的距離大于點o的k-距離,因此點o關(guān)于點p1的可達距離為d(p2,o)。
圖2 可達距離的示意圖Fig.2 Schematic diagram for the reachability distance
定義5 局部可達密度。對于點p(xi,yi)、點o(xj,yj),局部可達密度為
(8)
式(8)中:|Nk-dist(p)|為p的k-距離領(lǐng)域內(nèi)所包含的數(shù)據(jù)點的個數(shù)。
定義6 局部離群因子。點p的局部離群因子定義為
(9)
點p的局部離群因子值與其是否為離群點的可能性是成正比的,局部離群值越大則該點越有可能是離群點。對于均勻分布的數(shù)據(jù)集,各點的離群因子值在1的附近。對于電力市場數(shù)據(jù)集中的離群點,因其局部密度遠遠小于其領(lǐng)域點的密度,使得其離群因子值較大,故可通過機組的離群因子值的大小分辨是否為離群點。
由于Nk-dist(p)是數(shù)據(jù)集中所有到一個點的距離小于該點的k-領(lǐng)域距離的點,如果離群對象在數(shù)據(jù)集中彼此非??拷纬闪艘恍〈氐碾x群對象,同時k-距離取值過小可能會導(dǎo)致算法錯誤把這一簇離群點識別為正常點。含有離群簇的數(shù)據(jù)集如圖3所示,離群簇為X符號區(qū)域。另外,由于k-距離用于計算每個點的局部可達密度值,如果k-距離取值過大可能會導(dǎo)致算法的運行時間過長。為了在不降低算法效率的情況下提高算法的準確率,修正k-距離局部離群因子(revisek-dist local outlier factor,RKLOF)算法先對k-距離進行改進,然后再計算對象的離群程度。
圖3 離群簇的示意圖Fig.3 Example of a dataset with clusters of outliers
RKLOF算法的主要思想是結(jié)合鄰近算法,通過找出一個樣本的若干個最近鄰居,將樣本與這些鄰居的距離的平均值作為該樣本的距離領(lǐng)域的半徑,然后再使用新的距離領(lǐng)域計算該樣本的局部離群因子,下面給出改進算法的后續(xù)定義。
定義7 點p的v-距離v-dist(p)。在給定正實數(shù)k下,點p(xi,yi)的v-距離定義為數(shù)據(jù)集中距離點p最近的k個點與點p的距離的均值,即
(10)
使用v-distk(p)替換k-distk(p)可以得到點p在v-distk(p)下的v-距離領(lǐng)域,點p對點o的v可達距離reach-distv(p,o)及局部可達密度lrdv(p)。
定義8 同理,點p在v-distk(p)下局部離群因子為
(11)
式(11)中:|Nv-dist(p)|為p的v-距離領(lǐng)域內(nèi)所包含的數(shù)據(jù)點的個數(shù)。
綜上所述,RKLOF算法可以分為以下幾個步驟。
(1)讀入數(shù)據(jù),建立數(shù)據(jù)集。
(2)計算每個點的v-distk(p),并用其代替LOF算法中的k-distk(p)。
(3)計算點p在v-distk(p)下的v-距離領(lǐng)域,reach-distv(p,o)及局部可達密度lrdv(p),最后算出點p在給定k下的改進局部離群因子值RKLOFk(p)。
發(fā)電公司的報價策略及機組類型導(dǎo)致了申報數(shù)據(jù)的差異,這使交易結(jié)果也產(chǎn)生了較大差異。因此,某一類機組的正常交易行為可能與另一類機組的異常交易行為相似。為了降低算法的誤判率,可先對機組進行分類,再對每一類機組分別進行異常檢測。
通過對美國PJM、CAISO和ERCOT等大型電力市場數(shù)據(jù)分析可知,中長期雙邊長協(xié)市場,日前市場和實時市場所占電量大約是0.7∶0.25∶0.05[21],故根據(jù)中長期雙邊長協(xié)電量是否大于機組發(fā)電量的0.7,將機組分為兩類。一類為報價“激進”型機組,由于在中長期市場中獲得較多的長協(xié)電量,此類機組在日前市場中繼續(xù)報高價競爭最后一部分電量,可獲取更大的利潤;另一類為報價“保守”型機組,其在中長期市場中獲得長協(xié)電量較少,此類機組在日前市場中報較低的價格可保證足夠的發(fā)電量,從而提高機組效率降低平均發(fā)電成本[22]。
由于電力市場所產(chǎn)生的數(shù)據(jù)集不同于其他數(shù)據(jù)集,在市場的運營過程中會產(chǎn)生海量的大數(shù)據(jù),并且具備較高的維度。這要求電力市場的異常行為辨識算法需要在保證效率性的基礎(chǔ)上具備對高維數(shù)據(jù)的處理能力。如果單階段地對數(shù)據(jù)集中進行異常檢測,那么則需要對數(shù)據(jù)集中的所有數(shù)據(jù)同時進行運算。這通常會導(dǎo)致數(shù)據(jù)集中的特征量急劇地增大,使得距離函數(shù)失效,還可能出現(xiàn)維數(shù)災(zāi)的情況。因此,單階段的異常行為辨識方法在檢測的準確性方面有所欠缺。
為了解決該問題實現(xiàn)在不影響異常檢測算法效率的前提下提高算法的準確率,提出了分階段跟蹤的異常交易辨識方法。該方法先對電力市場的申報階段的數(shù)據(jù)進行異常檢測,若機組在申報階段存在交易異常行為,則在成交階段對這些機組進行跟蹤檢測。提出的基于RKLOF算法的分階段異常交易行為辨識方法的實現(xiàn)流程如圖4所示。
圖4 基于RKLOF的分階段異常行為辨識流程圖Fig.4 Flow chart of phased abnormal behavior identification method
采用中國某區(qū)域電力市場仿真系統(tǒng)10 d的數(shù)據(jù)作為數(shù)據(jù)集。數(shù)據(jù)集包含170臺發(fā)電機組在日前電力市場的交易數(shù)據(jù),采樣時間為每天00:00—24:00,采樣間隔為15 min,每天采樣16 320條數(shù)據(jù)。實驗的硬件環(huán)境:CPU為Inter Core 2.3 GHz, 內(nèi)存為8 G;軟件環(huán)境:操作系統(tǒng)為Windows 10,實驗程序使用python編寫, 開發(fā)環(huán)境為PyCharm CE version 2019.2。通過實驗對提出的電力市場異常交易行為辨識方法的有效性及RKLOF算法的性能進行分析。
3.1.1 市場成員分類
根據(jù)發(fā)電機組的中長期市場合約電量是否大于機組發(fā)電量的0.7將機組分為兩類,并分別繪出不同類型機組的申報曲線,如圖5、圖6所示??梢钥闯龇诸惤Y(jié)果與理論結(jié)果基本符合,“保守”型機組的申報曲線明顯集中在低價區(qū)域,而“激進”型機組的申報曲線明顯集中在高價區(qū)域。
圖5 “保守”型機組申報曲線Fig.5 The bid curve of the "conservative" unit
圖6 “激進”型機組申報曲線Fig.6 The bid curve of the "aggressive" unit
3.1.2 異常行為特征指標提取及主成分分析
基于交易數(shù)據(jù)的特征類型與異常行為特征集,分別構(gòu)造11個申報階段的異常行為特征指標及11個成交階段的異常行為特征指標,如表3所示。在特征指標提取后,分別對其進行主成分分析,提取貢獻率最大的前兩個主成分作為橫縱坐標軸,將發(fā)電機組在申報階段的行為及成交階段的結(jié)果以散點圖的形式映射到二維平面上,然后使用離群點檢測算法進行異常點的識別。各主成分及其累計貢獻率如表4所示,可以看出各階段的前兩個主成分的累積貢獻率都較大,可以代表機組的行為。
表3 異常行為特征指標提取Table 3 Extraction of abnormal behavior indicators
表4 主成分及貢獻率Table 4 Principal component and contribution rate
在評估離群點檢測算法性能時,本文采用的度量標準是準確率P(precision)、召回率R(recall)及F值(F-Measure)。假設(shè)L1是檢測出的離群點集合,L2是所有離群點的集合,3個標準的計算公式為
(12)
(13)
在本例中,準確率即辨識出的有異常行為的機組有多少是準確的,召回率即所有有異常行為的機組有多少被辨識出來。
(14)
式(14)中:β為反映準確率和召回率相對重要的權(quán)值,若β<1,則準確率的重要性大于召回率。既要保證盡可能多的發(fā)現(xiàn)有異常行為的機組,又要保證異常辨識結(jié)果的準確性,因此將β設(shè)為1。
在本節(jié)中,將對基于LOF的單階段異常行為辨識方法、基于RKLOF的單階段異常行為辨識方法、基于LOF的分階段異常行為辨識方法及基于RKLOF的分階段異常行為辨識方法進行對比。首先比較在數(shù)據(jù)集大小改變時,不同方法的計算時間,如圖7所示。
由圖7可知,隨著數(shù)據(jù)集規(guī)模的增大,分階段辨識方法的計算速度比單階段辨識方法更快?;赗KLOF算法的單階段辨識方法的計算速度快于基于LOF算法的單階段辨識方法,而都使用了分階段辨識方法的RKLOF算法與LOF算法的計算速度相差不多。
圖7 不同數(shù)據(jù)集規(guī)模下的運行時間對比圖Fig.7 Computation time of different methods for datasets of different scale
圖8繪出了隨著k取值的變化各方法的F值。可以看出分階段辨識方法的F值總體大于單階段辨識方法,在k取較小時即可達到最優(yōu)效果,并且隨著k的變化波動較小。
圖8 F值與參數(shù)k的關(guān)系Fig.8 Relationship between F and parameter k
當k取各方法的最優(yōu)值時,各度量標準的對比如表5所示??梢钥闯龌赗KLOF算法的分階段辨識方法的準確率P、召回率R及F都優(yōu)于其他方法。
表5 多個方法的不同度量標準比較Table 5 Comparison of the effects of methods
圖9、圖10為對機組進行預(yù)分類后分別使用基于LOF與RKLOF的分階段異常辨識方法進行檢測的結(jié)果,圖11為未對機組進行預(yù)分類,而使用基于RKLOF分階段異常辨識方法進行檢測的結(jié)果。
對比圖9、圖10可以發(fā)現(xiàn),由于RKLOF對k-距離進行了優(yōu)化,使用樣本與鄰居的距離的平均值作為該樣本的距離領(lǐng)域的半徑,加大了離群簇中的離群點的離群因子密度,克服了LOF的k-距離的不足,可以有效地檢測出形成離群簇的離群點,如圖9與圖10中的U區(qū)域所示。
圖9 基于LOF算法的分階段檢測結(jié)果(預(yù)先對機組進行分類)Fig.9 The pre-classified detection result of the LOF-based phased method
由于在電力市場的交易過程中某一類機組的異常行為可能與另一類機組的正常行為相似,因此此類機組的離群因子密度較小,不能有效地被離群因子算法直接檢測出。而在對機組進行預(yù)先分類后便可以更有效地檢測出這些離群因子密度較低的異常機組。如圖10與圖11的J區(qū)域所示。
圖10 基于RKLOF算法的分階段檢測結(jié)果(預(yù)先對機組進行分類)Fig.10 The pre-classified detection result of the RKLOF-based phased method
圖11 基于RKLOF的分階段檢測結(jié)果(未對機組進行預(yù)分類)Fig.11 The detection result of the RKLOF-based phased method (without unit’s pre-classified)
針對電力市場環(huán)境中出現(xiàn)的各種異常交易行為提出了一種基于分階段離群點檢測的電力市場異常行為辨識方法。得到了以下結(jié)論。
(1)將LOF中的k-距離改進v-距離后的 RKLOF 算法可以有效地發(fā)現(xiàn)形成離群簇的離群點,提高算法的準確率。
(2)與直接對機組進行異常檢測相比,事先將機組進行預(yù)分類后再進行檢測可以檢測出離群因子密度較低的異常機組。
(3)通過分階段地進行異常檢測不僅可以提高算法的效率與準確率,還可以減小參數(shù)對檢測效果的影響程度。
僅找出了有可能有違規(guī)行為的異常機組,后續(xù)將對異常機組的行為進行進一步的分析。其次,在市場主體成員的不斷博弈過程中,還可能產(chǎn)生其他違規(guī)形式,因此還應(yīng)繼續(xù)完善異常行為的特征集,從而提高異常交易行為辨識的準確率。此外,僅進行了發(fā)電側(cè)的交易異常行為辨識,后續(xù)還將繼續(xù)研究將該算法應(yīng)用售電側(cè)的異常辨識中。