李華昌, 揭東帥, 徐 敏
(1. 中國電建集團江西省電力設(shè)計院有限公司, 江西 南昌 330000; 2. 南昌大學(xué) 信息工程學(xué)院, 江西 南昌 330000)
在電力市場化改革中, 電價機制是改革的關(guān)鍵環(huán)節(jié). 峰谷分時電價政策是電能商品時間差價的反映, 體現(xiàn)了市場經(jīng)濟原則[1-2]. 目前大部分省份都出臺了峰谷電價政策, 但基本未考慮不同行業(yè)間差異. 這導(dǎo)致一方面對企業(yè)生產(chǎn)的影響較大, 一方面調(diào)節(jié)峰谷效果不理想. 如何合理地確定政策適用范圍是政策研究時需要重點關(guān)注的環(huán)節(jié).
目前, 針對峰谷電價的研究中, 都未涉及對行業(yè)電價敏感性的研究. 文獻[3]采用波士頓矩陣分析方法, 按照對電價的敏感程度大小把工業(yè)行業(yè)劃分為四種類型, 建立了利潤敏感性分析模型. 但只考慮了利潤而未考慮電費占成本比例這一因素. 文獻[4] 從用戶需求響應(yīng)規(guī)律及政府最高限價對峰谷分時電價進行了敏感性分析, 未從各行業(yè)企業(yè)去探討電價敏感性. 文獻[5]基于供電成本研究峰谷電價時段劃分, 只考慮了供給側(cè)而未考慮需求側(cè), 未考慮電價敏感性. 文獻[6-7]僅僅討論了峰谷電價時段的劃分方法. 文獻[8]通過建立單目標優(yōu)化模型調(diào)整峰谷電價定價機制, 但未研究如何體現(xiàn)不同行業(yè)的差異性.
目前, 針對峰谷分時電價的理論研究都圍繞峰谷定價和時段劃分展開, 研究都未涉及合理判斷企業(yè)的電價敏感性并在政策制定時予以考慮. 本文將采用數(shù)據(jù)挖掘中的改進的K-means聚類算法以及MeanShift聚類算法, 合理地針對不同行業(yè)特點進行敏感性分析, 將各個行業(yè)按照敏感性不同進行劃分, 可以為后續(xù)制定峰谷分時電價等政策提供有效支撐.
聚類挖掘是數(shù)據(jù)挖掘的算法之一, 通過統(tǒng)計學(xué)的聚類分析方法進行數(shù)據(jù)挖掘. 聚類挖掘?qū)⒋罅康臄?shù)據(jù)劃分為性質(zhì)相同的子類, 以便于了解數(shù)據(jù)的分布情況[9]. 本文采用改進的K-means算法, K-means算法的思想就是對于給定的樣本集, 按照樣本之間的距離大小, 將樣本集劃分為k個簇, 讓簇內(nèi)的點盡量緊密地連在一起, 而讓簇間的距離盡量得大[10].
K-means聚類算法原理簡單, 容易實現(xiàn), 但是算法有其局限性:
1)k值必須人為給定;
2) 最后所生成的結(jié)果往往很大程度上取決于一開始k個中心點的位置, 也就意味著結(jié)果具有很大的隨機性[11].
針對第2點問題, 本文主要改進初始中心點的選擇, 在選取初始聚類中心時,不再隨機選取, 而是遵循初始的聚類中心之間的距離應(yīng)盡可能遠的原則選取k個初始聚類中心. 主要思想為: 先隨機選擇一個中心點, 在選第2個中心點時距離其更遠的點會以更高概率被選成中心點, 依次選第3, 4, 一直到k點. 改進之后算法結(jié)果的隨機性得到降低.
以下是K-means算法具體流程: 輸入是樣本集D={x1,x2,…,xm}, 聚類的簇數(shù)k, 最大迭代次數(shù)N. 輸出是簇劃分C={C1,C2,…,Ck}.
1) 選取聚類中心
a) 從數(shù)據(jù)集D中隨機選擇1個樣本作為初始中心.
b) 然后對于數(shù)據(jù)里的每一個點, 計算與初始中心的距離, 其中距離更大的點更大概率成為聚類中心. 重復(fù)
c) 重復(fù)a) b), 直到選出k個聚類中心.
2) 對于n=1,2,…,N.
a) 將簇劃分C初始化為Ct=?(t=1,2,…,k).
b) 采用歐式距離計算公式計算樣本各點與質(zhì)心之間的距離. 對于i=1,2,…,m, 計算樣本xi和各個質(zhì)心向量μj(j=1,2,…,k)的距離:dij=‖xi-μj‖2, 將xi最小的標記為dij所對應(yīng)的類別λi. 此時更新Cλi=Cλi∪{xi}.
c) 對于j=1,2,…,k, 對Cj中所有的樣本點重新計算新的質(zhì)心
(1)
d) 重復(fù)步驟2). 如果所有的k個質(zhì)心向量都沒有發(fā)生變化, 則轉(zhuǎn)到步驟3).
3) 輸出簇劃分C={C1,C2,…,Ck}.
其中必須注意的是k值的選擇, 一般會根據(jù)對數(shù)據(jù)的先驗經(jīng)驗選擇一個合適的k值[12].
用數(shù)據(jù)表達式表示目標函數(shù), 假設(shè)簇劃分為C={C1,C2,…,Ck}, 則我們的目標是最小化平方誤差
(2)
式中:μi為質(zhì)心位置;Ci為各個行業(yè);x為各個行業(yè)的電費成本和毛利率位置.
1) 輸入k=4,N=1 000, 各行業(yè)電費成本比例及毛利率.
2) 初始化4個聚類中心.
3) 分配各行業(yè)到最近的類中, 產(chǎn)生新的聚類中心.
4) 收斂判斷, 重復(fù)步驟3)直到收斂, 輸出聚類結(jié)果. 具體流程圖如圖 1 所示.
圖 1 K-means敏感性分析流程圖Fig.1 Sensitivity analysis flow chart in K-means
本文對于K-means的改進主要體現(xiàn)在選取初始聚類中心, 但還是不能解決需要提前確定聚類個數(shù)k值的問題, 所以下文采用MeanShift聚類進行對比.
與K-Means算法不同, MeanShift算法會根據(jù)給定數(shù)據(jù)自動決定聚類數(shù)目[12]. MeanShift聚類首先隨機選取所有點中的任意一個點, 計算該點移動到其余每個點所需要的偏移量, 求和后求平均, 得到平均偏移量, 偏移量包含大小和方向.
(3)
然后點x往平均偏移量方向移動, 再以此為新的起點不斷迭代直到滿足結(jié)束條件. 通過反復(fù)迭代,x沿著樣本點密度增加的方向“漂移”到局部密度極大點xiN, 也就是目標位置, 從而達到跟蹤的目的, MeanShift跟蹤過程結(jié)束[13].
Sh(x)={y∶(y-xi)T(y-xi)
(4)
輸入是樣本集D={x1,x2,…,xm}, 帶寬bandwidth取0.2, 即聚類時的半徑; 輸出是簇劃分C={C1,C2,…,Ck}.
1) 隨機選取所有數(shù)據(jù)中任意一個點作為起始中心點center;
2) 找出以center為中心, 半徑為radius的區(qū)域中出現(xiàn)的所有數(shù)據(jù)點, 認為這些點同屬于一個聚類C. 同時, 在該聚類中記錄數(shù)據(jù)點出現(xiàn)的次數(shù)加1.
3) 以center為中心點, 計算從center開始到集合M中每個元素的向量, 將這些向量相加, 得到向量shift.
4)center=center+shift. 即center沿著shift的方向移動, 移動距離是‖shift‖.
5) 重復(fù)步驟 2)~4), 直到shift值很小(即迭代到收斂), 記錄此時的center. 迭代過程中的所有點都歸到簇C.
圖 2 MeanShift算法流程圖Fig.2 MeanShift algorithm flowchart
6) 如收斂時當前簇C的center與已存在的簇C2中心的距離小于bandwidth, 則C2和C合并, 數(shù)據(jù)點出現(xiàn)次數(shù)也合并. 否則, 把C作為一個新的聚類點.
7) 重復(fù)1)~5), 直到所有的點都被標記為已訪問.
8) 分類: 根據(jù)每個點在每一類別的訪問頻率, 取訪問頻率最大的那個類, 作為當前點最終的分類[14].
具體流程圖如圖 2 所示.
本文選取35個重點行業(yè)[15], 利用其電費占成本比例、 毛利率兩個維度指標進行聚類分析. 初始化聚類中心選4個, 各行業(yè)毛利率及電費占成本比例如圖 3 所示. 選取這兩個維度的數(shù)據(jù)是因為其與企業(yè)對電費調(diào)整的敏感程度息息相關(guān). 當企業(yè)毛利率足夠高時, 成本的變化對其生產(chǎn)經(jīng)營產(chǎn)生的影響不大, 反之則會有重大影響.
圖 3 各行業(yè)毛利率及電費占成本比例Fig.3 Gross margin and electricity cost ratio in different industries
各個行業(yè)在每一次迭代中會分到最近的聚類中心的類中, 各行業(yè)分配完后會產(chǎn)生新的聚類中心, 再次進行迭代直到聚類中心位置不變, 則行業(yè)的類別就被最終確定, 結(jié)果分為4個類別. 程序運行結(jié)果如圖 4 所示.
圖 4 K-means聚類輸出結(jié)果Fig.4 K-means algorithm output results
對結(jié)果進行整理, 如表 1 所示. A類行業(yè)對電價調(diào)整的消化能力強, 對電費成本的變化不敏感; 電價調(diào)整對B類行業(yè)的引導(dǎo)作用不明顯; 電價調(diào)整在一定程度上促使C類行業(yè)采用先進的節(jié)電技術(shù)和產(chǎn)品, 降低電耗; 在制定峰谷分時電價政策時要重點考慮D類行業(yè), 這類企業(yè)跟隨電價調(diào)整生產(chǎn)意愿強, 可以取得很好的調(diào)峰效果, 但同時要兼顧此類企業(yè)的成本承受能力.
表 1 工業(yè)用戶電價敏感性分類
根據(jù)敏感性分析結(jié)果, 在制定政策時重點考慮C、 D類行業(yè). 在制定政策時充分考慮到價格調(diào)整對D類行業(yè)電力成本的影響, 在預(yù)期政策效果時可以主要從C、 D類行業(yè)調(diào)研分析, 從而取得較好的效果.
MeanShift根據(jù)給定數(shù)據(jù), 自動聚類為五類, 結(jié)果如圖 5 所示.
圖 5 MeanShift聚類輸出結(jié)果Fig.5 MeanShift algorithm output results
綜合兩種聚類算法的結(jié)果, 最敏感的行業(yè)有: 造紙及紙制品業(yè)、 黑色金屬冶煉加工業(yè)、 紡織業(yè)、 化學(xué)制品制造業(yè)、 工藝品及其他制造業(yè)、 石油加工業(yè)、 專用設(shè)備制造業(yè)、 通用設(shè)備制造業(yè)、 非金屬礦物制品業(yè)、 電氣機械制造業(yè)等10個行業(yè). 表 2 是2019年部分中國工業(yè)行業(yè)用電量情況.
表 2 十大電價敏感行業(yè)2019年用電情況
以黑色金屬冶煉及壓延加工業(yè)為例, 其用電量在工業(yè)中比重高達12% , 用電量大而且根據(jù)聚類結(jié)果其電價敏感性高, 峰谷電價的調(diào)節(jié)效果明顯. 十大敏感行業(yè)總的用電量占全部工業(yè)用電量的44%, 意味著只要能合理地調(diào)控這一部分企業(yè), 就可以帶來很好的削峰填谷的效果.
本文針對峰谷電價政策進行了敏感性的研究分析, 相較于以往未考慮行業(yè)電價敏感性能的相關(guān)研究, 可以達到更好的削峰填谷的效果. 采用各工業(yè)行業(yè)利潤率及電費占成本比例數(shù)據(jù), 通過改進的K-means聚類和MeanShift聚類算法可以將行業(yè)劃分成多個類別, 各行業(yè)對電價調(diào)整接受程度的差異可以通過電價敏感性很好地體現(xiàn)出來. 充分考慮行業(yè)電價敏感性, 可以為分行業(yè)制定峰谷分時電價等政策提供有效的指導(dǎo), 可以更好地激發(fā)企業(yè)的調(diào)峰意愿, 從而提高峰谷分時電價等政策削峰填谷的效果.