謝敬東, 盧浩哲, 陸池鑫, 黃溪瀅, 魯思薇
(1.上海電力大學能源電力科創中心, 上海 200082; 2.長沙理工大學電氣與信息工程學院, 長沙 410114)
中共中央、國務院《關于進一步深化電力體制改革的若干意見》(中發〔2015〕9號)[1]及其配套相關文件頒布以來,新一輪電力市場化建設全面提速,取得了許多積極進展,但隨之而來的是電力市場風險急劇加大。由于中國電力市場的主體相對集中,市場主體法規意識相對薄弱,市場監管制度尚不健全,市場力風險成為中國電力市場的主要風險,呈現出形式多、防范難、監管難、影響大的特點,大大增加了電力市場建設的難度。而伴隨著市場力產生的一系列違規行為或許是全球電力監管機構所面臨的最具爭議性和復雜性的難題[2-4]。因此,通過研究異常行為的辨識方法對交易過程中可能存在的違規行為進行挖掘是市場環境下的電力監管機構共同關注且迫切需要研究的重點方向。
針對電力市場中的違規行為問題,中外學者已提出了一些識別方法和防范措施。文獻[5-7]構建了判斷發電側市場力使用狀況的監管指標體系。文獻[8]構建了電力市場交易全過程的違規行為識別框架。文獻[9-11]分別采用博弈論、遺傳算法和聯合進化優化法對單個發電商是否參與串謀行為進行了判定。文獻[12]利用計量經濟學的方法分析了英國兩大發電公司之間的串謀報價行為。但這些研究存在以下問題與不足:一是只注重建立市場監管指標,卻沒有具體闡述如何使用指標識別異常交易行為;二是對市場模型進行了大量簡化,并且關注的對象僅為少量市場成員,而對于處理實際市場運營產生的大規模數據集的研究卻很少。
相較于上述異常行為辨識的方法,基于無監督學習的異常檢測算法具有更好的應用前景。由于無監督異常檢測算法在訓練時只需要依靠沒有數據標簽的數據,就可以利用數據的整體特性得出較為準確的劃分異常的規則[13-15]。因此此類方法更適應用于電力市場這種標簽數據往往難以獲取,或獲取成本極高的大數據場景。離群點檢測是一種基于無監督學習的方法,在前人研究的基礎之上,現結合電力市場運營數據集的特點對普通的離群點檢測算法進行改進,提出一種基于分階段的離群點檢測算法,并將其應用于電力市場的異常行為辨識中。首先對市場中的異常行為進行分析與梳理,然后闡述異常行為辨識的具體操作流程,最后使用算例對該方法進行驗證。
1.1.1 市場串謀
“串謀”這一概念源自經濟學,指企業之間為了獲得超額利潤而采取的協調行為,這種行為一般是通過相互之間進行商討、簽訂協議和支付暗盤來形成和維持,如眾所周知的托拉斯和卡特爾[16]。電力市場中的市場串謀是指兩個及以上不具有實際控制關系的市場主體通過串通報價等方式協調其相互競爭關系,從而使共同利潤最大化的行為。市場串謀一般可分為價格同盟型與輪流坐莊型。價格同盟型指企業間相同串通,就申報價格達成協議,共同哄抬申報價格,最直接的表現就是報價曲線相似,且申報價格高于其他非串謀成員;輪流坐莊型則指企業之間根據未來的發電計劃預先規劃,通過相互約定提前確定每次各企業的中標電量。
1.1.2 容量持留
容量持留本質上是一種行使市場力的行為,主要形式有物理持留和經濟持留。物理持留指發電企業故意限制自身發電能力,從而減少市場有效供應、提高市場價格;經濟持留指發電企業對部分機組故意進行高報價,從而抬高同類其他機組的整體收益。發電企業進行容量持留時最直接的表現形式有無故降低機組出力、謊報機組設備檢修或延長檢修時間、頻繁以接近申報價格上限的價格進行市場申報等。
1.1.3 極端報價
極端報價指發電公司在以機組為單位進行市場申報時,頻繁以超過同類機組和自身歷史報價水平進行申報的行為。這種報價方式抬高了市場出清價格,使發電主體獲得超額利潤,嚴重擾亂了市場秩序。例如在東北電力市場就曾經出現發電企業利用斷面阻塞進行極端報價,連續多月在月度競價中以市場最高限價成交,嚴重阻礙了電力市場化改革和電力資源的優化配置。
1.1.4 “跳高”行為
“跳高”行為是發電公司采用的一種報價策略,表現為在中低容量段報較低價格,而在高容量段用小部分電量報高價,但這少部分的電量卻可以影響到整個市場的價格。此時市場供給曲線的形狀為:在中前部有很長一段的趨0報價,但在尾部迅速上抬,形成俗稱的“跳高曲線”。“跳高”行為在本質上屬于市場成員的投機交易行為,破壞了市場的有序競爭。
為了有效實現電力市場異常交易行為的判別和監視,綜合考慮全面性原則、準確性原則,篩選市場主體的申報信息及成交信息,提取異常行為的特征值并建立特征集,特征集如表1所示。

表1 異常行為特征集Table 1 Abnormal behavior feature set
1.2.1 加權平均報價
由于電力市場以中長期差價合同管理市場風險,使得機組在報價時為保證中長期合約電量能順利成交通常對該部分電量申報接近0價。為了達到準確分析機組報價行為的目的,應關注合約電量后的申報數據。加權平均報價的計算公式為
(1)
1.2.2 中標率
(2)
式(2)中: WR為機組的中標率;Qwr為中標電量;Qbid為申報總量。
1.2.3 持留比率
(3)
式(3)中:HR為機組的持留比率;Qmax為機組的最大發電量。
1.2.4 高報價比率
(4)
式(4)中:HB為機組的高報價比率;Qlim為申報價格接近上限的電量。
1.2.5 動態市場份額
(5)

異常行為特征集可以反映部分的市場異常行為,但在實際監測過程中卻存在著各方面的不足。因此結合電力市場運營的實際情況提出基于異常行為特征集的波動性指標、趨勢指標、變動性指標及綜合指標[17],并根據指標在一次完整交易過程中可獲取的時間點將提取的特征指標分為申報階段類及成交階段類。在T個交易日內,特征集的分類及特征提取如表2所示。

表2 異常行為特征指標Table 2 Indicators of abnormal behavior
由于提取的特征指標數量過多,特征的重疊會夸大某一因素的影響程度,影響目標對象特征描述的準確性,為了提高異常檢測的效率,需要消除原始特征指標間的信息重疊。目前統計學中進行消除指標間信息重疊的主要方法有回歸分析法、主成分分析法、因子分析法。文獻[19]證明在解決此類問題中,主成分分析法的效果優于其他方法,故使用主成分分析法。
在對申報階段與交易階段的特征指標分別進行降維后,取其前兩個主成分將機組以散點的形式映射到二維平面,然后使用離群點算法進行異常檢測。
Breuning等學者在基于密度的聚類算法與異常度監測結合的基礎上提出了局部離群因子(local outlier factor,LOF)的概念[20]。LOF是樣本中每個采樣點相于其領域密度差異的一種衡量量度, 用來評價采樣點的離群程度,由離群程度的大小來分離樣本中的離群點。下面給出解釋LOF算法的必要定義。
定義1 數據點的距離d(p,o)。
在樣本數據D中,任意兩個數據點p、點o之間的距離d(p,o)采用歐式計算方法。設點p和點o用坐標表示為p(xi,yi)、o(xj,yj),則點p和點o的歐式距離為
(6)
定義2 點p的k-距離[k-dist(p)]。
對于點p(xi,yi),k-距離定義為與點p距離最近的k個點的最大距離,k為正實數。
定義3 點p的k-距離鄰域[Nk-dist(p)]。
對于點p(xi,yi),k-距離領域定義為所有與點p的距離不超過k-距離的對象的集合,即
Nk-dist(p)={q∈D{p}|d(p,q)≤k-dist(p)}
(7)
式(7)中:符號為不包括某一數據點;q為在樣本數據D中除去p之外的其他數據點。
根據定義2和定義3,當k=6時,點o的k-距離及k-距離領域如圖1所示,點o的k-距離為虛線圓的半徑,而k-距離領域為該虛線圓中除點o外的6個點。

圖1 距離領域的示意圖Fig.1 Schematic diagram for the distance neighborhood
定義4 可達距離
對于點p(xi,yi)、點o(xj,yj),關于點o的可達距離為reach-distk(p,o)=max{k-dist(o),d(p,o)}。即點p到點o的可達距離至少是點o的第k距離,因此reach-distk(p,o)=reach-distk(o,p)。
根據定義4,當k=6時,點o的可達距離如圖2所示,點o的k-距離是虛線圓的半徑。對于點p1,由于它到點o的距離小于點o的k-距離,因此點o關于點p1的可達距離為點o的k-距離。對于點p2,由于它到點o的距離大于點o的k-距離,因此點o關于點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-距離領域內所包含的數據點的個數。
定義6 局部離群因子。點p的局部離群因子定義為
(9)
點p的局部離群因子值與其是否為離群點的可能性是成正比的,局部離群值越大則該點越有可能是離群點。對于均勻分布的數據集,各點的離群因子值在1的附近。對于電力市場數據集中的離群點,因其局部密度遠遠小于其領域點的密度,使得其離群因子值較大,故可通過機組的離群因子值的大小分辨是否為離群點。
由于Nk-dist(p)是數據集中所有到一個點的距離小于該點的k-領域距離的點,如果離群對象在數據集中彼此非常靠近形成了一小簇的離群對象,同時k-距離取值過小可能會導致算法錯誤把這一簇離群點識別為正常點。含有離群簇的數據集如圖3所示,離群簇為X符號區域。另外,由于k-距離用于計算每個點的局部可達密度值,如果k-距離取值過大可能會導致算法的運行時間過長。為了在不降低算法效率的情況下提高算法的準確率,修正k-距離局部離群因子(revisek-dist local outlier factor,RKLOF)算法先對k-距離進行改進,然后再計算對象的離群程度。

圖3 離群簇的示意圖Fig.3 Example of a dataset with clusters of outliers
RKLOF算法的主要思想是結合鄰近算法,通過找出一個樣本的若干個最近鄰居,將樣本與這些鄰居的距離的平均值作為該樣本的距離領域的半徑,然后再使用新的距離領域計算該樣本的局部離群因子,下面給出改進算法的后續定義。
定義7 點p的v-距離v-dist(p)。在給定正實數k下,點p(xi,yi)的v-距離定義為數據集中距離點p最近的k個點與點p的距離的均值,即
(10)
使用v-distk(p)替換k-distk(p)可以得到點p在v-distk(p)下的v-距離領域,點p對點o的v可達距離reach-distv(p,o)及局部可達密度lrdv(p)。
定義8 同理,點p在v-distk(p)下局部離群因子為
(11)
式(11)中:|Nv-dist(p)|為p的v-距離領域內所包含的數據點的個數。
綜上所述,RKLOF算法可以分為以下幾個步驟。
(1)讀入數據,建立數據集。
(2)計算每個點的v-distk(p),并用其代替LOF算法中的k-distk(p)。
(3)計算點p在v-distk(p)下的v-距離領域,reach-distv(p,o)及局部可達密度lrdv(p),最后算出點p在給定k下的改進局部離群因子值RKLOFk(p)。
發電公司的報價策略及機組類型導致了申報數據的差異,這使交易結果也產生了較大差異。因此,某一類機組的正常交易行為可能與另一類機組的異常交易行為相似。為了降低算法的誤判率,可先對機組進行分類,再對每一類機組分別進行異常檢測。
通過對美國PJM、CAISO和ERCOT等大型電力市場數據分析可知,中長期雙邊長協市場,日前市場和實時市場所占電量大約是0.7∶0.25∶0.05[21],故根據中長期雙邊長協電量是否大于機組發電量的0.7,將機組分為兩類。一類為報價“激進”型機組,由于在中長期市場中獲得較多的長協電量,此類機組在日前市場中繼續報高價競爭最后一部分電量,可獲取更大的利潤;另一類為報價“保守”型機組,其在中長期市場中獲得長協電量較少,此類機組在日前市場中報較低的價格可保證足夠的發電量,從而提高機組效率降低平均發電成本[22]。
由于電力市場所產生的數據集不同于其他數據集,在市場的運營過程中會產生海量的大數據,并且具備較高的維度。這要求電力市場的異常行為辨識算法需要在保證效率性的基礎上具備對高維數據的處理能力。如果單階段地對數據集中進行異常檢測,那么則需要對數據集中的所有數據同時進行運算。這通常會導致數據集中的特征量急劇地增大,使得距離函數失效,還可能出現維數災的情況。因此,單階段的異常行為辨識方法在檢測的準確性方面有所欠缺。
為了解決該問題實現在不影響異常檢測算法效率的前提下提高算法的準確率,提出了分階段跟蹤的異常交易辨識方法。該方法先對電力市場的申報階段的數據進行異常檢測,若機組在申報階段存在交易異常行為,則在成交階段對這些機組進行跟蹤檢測。提出的基于RKLOF算法的分階段異常交易行為辨識方法的實現流程如圖4所示。

圖4 基于RKLOF的分階段異常行為辨識流程圖Fig.4 Flow chart of phased abnormal behavior identification method
采用中國某區域電力市場仿真系統10 d的數據作為數據集。數據集包含170臺發電機組在日前電力市場的交易數據,采樣時間為每天00:00—24:00,采樣間隔為15 min,每天采樣16 320條數據。實驗的硬件環境:CPU為Inter Core 2.3 GHz, 內存為8 G;軟件環境:操作系統為Windows 10,實驗程序使用python編寫, 開發環境為PyCharm CE version 2019.2。通過實驗對提出的電力市場異常交易行為辨識方法的有效性及RKLOF算法的性能進行分析。
3.1.1 市場成員分類
根據發電機組的中長期市場合約電量是否大于機組發電量的0.7將機組分為兩類,并分別繪出不同類型機組的申報曲線,如圖5、圖6所示。可以看出分類結果與理論結果基本符合,“保守”型機組的申報曲線明顯集中在低價區域,而“激進”型機組的申報曲線明顯集中在高價區域。

圖5 “保守”型機組申報曲線Fig.5 The bid curve of the "conservative" unit

圖6 “激進”型機組申報曲線Fig.6 The bid curve of the "aggressive" unit
3.1.2 異常行為特征指標提取及主成分分析
基于交易數據的特征類型與異常行為特征集,分別構造11個申報階段的異常行為特征指標及11個成交階段的異常行為特征指標,如表3所示。在特征指標提取后,分別對其進行主成分分析,提取貢獻率最大的前兩個主成分作為橫縱坐標軸,將發電機組在申報階段的行為及成交階段的結果以散點圖的形式映射到二維平面上,然后使用離群點檢測算法進行異常點的識別。各主成分及其累計貢獻率如表4所示,可以看出各階段的前兩個主成分的累積貢獻率都較大,可以代表機組的行為。

表3 異常行為特征指標提取Table 3 Extraction of abnormal behavior indicators

表4 主成分及貢獻率Table 4 Principal component and contribution rate
在評估離群點檢測算法性能時,本文采用的度量標準是準確率P(precision)、召回率R(recall)及F值(F-Measure)。假設L1是檢測出的離群點集合,L2是所有離群點的集合,3個標準的計算公式為
(12)
(13)
在本例中,準確率即辨識出的有異常行為的機組有多少是準確的,召回率即所有有異常行為的機組有多少被辨識出來。
(14)
式(14)中:β為反映準確率和召回率相對重要的權值,若β<1,則準確率的重要性大于召回率。既要保證盡可能多的發現有異常行為的機組,又要保證異常辨識結果的準確性,因此將β設為1。
在本節中,將對基于LOF的單階段異常行為辨識方法、基于RKLOF的單階段異常行為辨識方法、基于LOF的分階段異常行為辨識方法及基于RKLOF的分階段異常行為辨識方法進行對比。首先比較在數據集大小改變時,不同方法的計算時間,如圖7所示。
由圖7可知,隨著數據集規模的增大,分階段辨識方法的計算速度比單階段辨識方法更快。基于RKLOF算法的單階段辨識方法的計算速度快于基于LOF算法的單階段辨識方法,而都使用了分階段辨識方法的RKLOF算法與LOF算法的計算速度相差不多。

圖7 不同數據集規模下的運行時間對比圖Fig.7 Computation time of different methods for datasets of different scale
圖8繪出了隨著k取值的變化各方法的F值。可以看出分階段辨識方法的F值總體大于單階段辨識方法,在k取較小時即可達到最優效果,并且隨著k的變化波動較小。

圖8 F值與參數k的關系Fig.8 Relationship between F and parameter k
當k取各方法的最優值時,各度量標準的對比如表5所示。可以看出基于RKLOF算法的分階段辨識方法的準確率P、召回率R及F都優于其他方法。

表5 多個方法的不同度量標準比較Table 5 Comparison of the effects of methods
圖9、圖10為對機組進行預分類后分別使用基于LOF與RKLOF的分階段異常辨識方法進行檢測的結果,圖11為未對機組進行預分類,而使用基于RKLOF分階段異常辨識方法進行檢測的結果。
對比圖9、圖10可以發現,由于RKLOF對k-距離進行了優化,使用樣本與鄰居的距離的平均值作為該樣本的距離領域的半徑,加大了離群簇中的離群點的離群因子密度,克服了LOF的k-距離的不足,可以有效地檢測出形成離群簇的離群點,如圖9與圖10中的U區域所示。

圖9 基于LOF算法的分階段檢測結果(預先對機組進行分類)Fig.9 The pre-classified detection result of the LOF-based phased method
由于在電力市場的交易過程中某一類機組的異常行為可能與另一類機組的正常行為相似,因此此類機組的離群因子密度較小,不能有效地被離群因子算法直接檢測出。而在對機組進行預先分類后便可以更有效地檢測出這些離群因子密度較低的異常機組。如圖10與圖11的J區域所示。

圖10 基于RKLOF算法的分階段檢測結果(預先對機組進行分類)Fig.10 The pre-classified detection result of the RKLOF-based phased method

圖11 基于RKLOF的分階段檢測結果(未對機組進行預分類)Fig.11 The detection result of the RKLOF-based phased method (without unit’s pre-classified)
針對電力市場環境中出現的各種異常交易行為提出了一種基于分階段離群點檢測的電力市場異常行為辨識方法。得到了以下結論。
(1)將LOF中的k-距離改進v-距離后的 RKLOF 算法可以有效地發現形成離群簇的離群點,提高算法的準確率。
(2)與直接對機組進行異常檢測相比,事先將機組進行預分類后再進行檢測可以檢測出離群因子密度較低的異常機組。
(3)通過分階段地進行異常檢測不僅可以提高算法的效率與準確率,還可以減小參數對檢測效果的影響程度。
僅找出了有可能有違規行為的異常機組,后續將對異常機組的行為進行進一步的分析。其次,在市場主體成員的不斷博弈過程中,還可能產生其他違規形式,因此還應繼續完善異常行為的特征集,從而提高異常交易行為辨識的準確率。此外,僅進行了發電側的交易異常行為辨識,后續還將繼續研究將該算法應用售電側的異常辨識中。