李銘凱,李 蕊,史鵬博,李雪城,程詩堯,丁 寧
(國網(wǎng)北京市電力公司電力科學(xué)研究院,北京 100162)
隨著供電企業(yè)智能電能表的大規(guī)模安裝,以及基于IR46標(biāo)準(zhǔn)的新型電能表的規(guī)模化推廣應(yīng)用[1],表計(jì)檢定和供應(yīng)量不斷增加。目前,國家電網(wǎng)公司各省級計(jì)量中心為提高檢定效率和規(guī)范性,大范圍引入智能檢定與倉儲設(shè)備。同時,為實(shí)現(xiàn)電能表的及時分揀、充分利用、規(guī)范處置,供電企業(yè)均已開展電能表拆回分揀檢測。其中,具備條件的企業(yè)已開展智能分揀與倉儲系統(tǒng)的自動化分揀檢測[2-3]。當(dāng)前,電能表檢測僅以基本的合格和不合格作為判定標(biāo)準(zhǔn),對分揀合格的電能表缺乏進(jìn)一步評判。因此,實(shí)施電能表計(jì)量性能評價及預(yù)測,對拆回分揀合格的電能表重新投運(yùn)及在線監(jiān)控具有重要意義。
電能表數(shù)量龐大,難以將其逐個拆開以測量不同器件和參數(shù)對其計(jì)量性能的影響。因此,本文利用電能表的檢測數(shù)據(jù)對其進(jìn)行研究分析[4]。
目前,利用檢測數(shù)據(jù)對電能表進(jìn)行評估已有一些相關(guān)研究[5-6]。文獻(xiàn)[7]將層次分析法(analytic hierarchy process,AHP)引入電能表計(jì)量性能評價決策過程,提出了一種基于AHP的全面分析電能表計(jì)量性能的理論方法,以更好地判斷電能表計(jì)量性能情況。文獻(xiàn)[8]~文獻(xiàn)[10]探究利用聚類方法對電能表進(jìn)行評價,以實(shí)現(xiàn)電能表選型。但上述文獻(xiàn)研究只利用首次檢定數(shù)據(jù),未計(jì)及不同時間維度對電能表的影響;同時,主要利用誤差原始值維度,未考慮不同特征維度對評價結(jié)果的影響。
基于以上問題,本文提出了一種基于K-means聚類算法對電能表進(jìn)行計(jì)量性能評價,并利用電能表基本信息特征對其評價類別進(jìn)行預(yù)測的方法。該研究主要創(chuàng)新工作為:①考慮不同時間維度對電能表計(jì)量性能評價的影響,由于表計(jì)數(shù)量龐大,不同表計(jì)首次檢定和拆回檢測時間差異大,需綜合考慮計(jì)及多時間尺度的影響;②考慮多特征維度對計(jì)量性能評價的影響,構(gòu)建均值、方差、平均偏移量、最大偏移量誤差等多特征維度,對表計(jì)進(jìn)行分析;③提出利用K-means聚類算法對電能表計(jì)量性能進(jìn)行評價,進(jìn)而以Stacking模型對其進(jìn)行預(yù)測,并采用合成少數(shù)類過采樣技術(shù)(synthetic minority oversampling technique,SMOTE)提升模型預(yù)測準(zhǔn)確率。預(yù)測結(jié)果驗(yàn)證了模型的有效性。
電能表作為電能計(jì)量器具,其基本誤差反映其計(jì)量性能。本文針對電能表拆回檢測及其首次檢定的基本誤差情況,對其計(jì)量性能進(jìn)行評價。
利用電能表基本誤差數(shù)據(jù)對電能表進(jìn)行計(jì)量性能評價的原則是計(jì)量性能與誤差特征值成反比。其本質(zhì)上是針對誤差特征數(shù)據(jù)分布情況進(jìn)行評價。
本文利用拆回檢測和首次檢定不同時間維度的誤差數(shù)據(jù)對電能計(jì)量性能進(jìn)行分類評價。誤差數(shù)據(jù)在特征空間的分布情況代表其計(jì)量性能的差異。但對誤差數(shù)據(jù)進(jìn)行分析存在以下兩點(diǎn)問題。
①電能表誤差數(shù)據(jù)為數(shù)值型數(shù)據(jù),具備連續(xù)性特點(diǎn),分布較為密集。如果人為劃分計(jì)量性能評價分界線主觀性強(qiáng),難以合理進(jìn)行。
②檢定數(shù)據(jù)中只有電能表合格與不合格之分,沒有針對誤差數(shù)據(jù)作進(jìn)一步細(xì)分,所以表計(jì)沒有計(jì)量性能評價分類標(biāo)簽數(shù)據(jù)。
針對以上兩個問題,需對比常用的分類評價算法。分類算法對比如表1所示。
表1 分類算法對比
由表1可知,監(jiān)督學(xué)習(xí)各算法需要標(biāo)簽數(shù)據(jù)進(jìn)行分類評價,不適用于電能表數(shù)據(jù)集。無監(jiān)督學(xué)習(xí)算法中,聚類和降維算法既可以處理連續(xù)數(shù)值型數(shù)據(jù),又不需要標(biāo)簽數(shù)據(jù)。但是降維算法一般用作壓縮數(shù)據(jù)。而聚類算法可根據(jù)數(shù)據(jù)分布自動分類,因此適用于電能表數(shù)據(jù)集分類評價。本文采用經(jīng)典的K-means聚類算法對電能表進(jìn)行計(jì)量性能評價。
1.2.1 K-means算法步驟
K-means算法步驟如下。
①從數(shù)據(jù)中選擇k個對象作為初始聚類中心。
②計(jì)算每個聚類對象到聚類中心k的距離。
③針對每個類別,重新計(jì)算聚類中心。
④重復(fù)步驟②和步驟③,直至聚類中心位置不再發(fā)生變化。
1.2.2 K-means算法流程
K-means具體計(jì)算流程如下。
輸入為樣本集A={x1,x2,...,xm}、聚類的簇樹k、最大迭代次數(shù)N。輸出為簇劃分C={C1,C2,...Ck}。
(1)從數(shù)據(jù)集A中隨機(jī)選擇k個樣本作為初始的k個質(zhì)心向量:μ={μ1,μ2,...,μk}。
(2)對于樣本集A={x1,x2,...,xm},計(jì)算如下。
①將簇劃分C初始化為Ct=φ,t=1,2,...,k。
④如果所有的k個質(zhì)心向量都沒有發(fā)生變化,則轉(zhuǎn)到步驟(3)。
(3)輸出簇劃分C={C1,C2,...,Ck}。
簇個數(shù)k的選擇對K-means算法非常重要,而輪廓系數(shù)法可用于選擇最優(yōu)k值。該方法可評估聚類效果。輪廓系數(shù)計(jì)算如式(1)所示。
(1)
式中:S為輪廓系數(shù);ai為樣本點(diǎn)i與同一簇中所有其他點(diǎn)的平均距離,即簇內(nèi)相似度;bi為樣本點(diǎn)i與下一個最近簇中所有點(diǎn)的平均距離,即簇間相似度;D為樣本點(diǎn)的個數(shù)。
K-means追求的是對于每個簇而言,其簇內(nèi)差異小而簇外差異大。輪廓系數(shù)S正是描述簇內(nèi)外差異的關(guān)鍵指標(biāo)。由式(1)可知,S的取值范圍為(-1,1)。當(dāng)S越接近1,聚類效果越好;越接近-1,聚類效果越差。
特征構(gòu)建利用電能表不同時間維度的誤差數(shù)據(jù)進(jìn)行。由于每只電能表誤差數(shù)據(jù)正負(fù)并存,而零誤差點(diǎn)為理想誤差點(diǎn),直接利用原始誤差數(shù)據(jù)分析數(shù)據(jù)點(diǎn)分散時波動性強(qiáng),難以直觀表征其計(jì)量性能分布情況。因此,為了對每只電能表進(jìn)行計(jì)量性能評價,需要根據(jù)基本誤差數(shù)據(jù)構(gòu)建特征量。
根據(jù)誤差測試數(shù)據(jù),可直接以均值與方差表征每只電能表誤差分布情況。同時,為了進(jìn)一步分析誤差分布情況,并與理想的零誤差點(diǎn)相關(guān)聯(lián),本文定義平均偏移量和最大偏移量兩個變量。
平均偏移量即所有誤差測試點(diǎn)距零點(diǎn)的平均距離。
(2)
式中:P為平均偏移量;xi為誤差值;M為樣本點(diǎn)的個數(shù)。
最大偏移量即所有誤差測試點(diǎn)距零點(diǎn)的最大距離。
Z=max{|xi|,i=1,2,...,M}
(3)
式中:Z為最大偏移量。
本文構(gòu)建了均值、方差、平均偏移量、最大偏移量四個特征量。這四個特征分別代表了電能表四個不同維度的分布情況。因此,本文利用K-means算法分別對這幾個特征維度進(jìn)行計(jì)量性能評價,并選出最合適的評價維度。同時,每只電能表有首次檢定和拆回檢測兩個時間維度的特征數(shù)據(jù),記為[x1,x2]。
本文數(shù)據(jù)集為省級計(jì)量中心調(diào)度平臺系統(tǒng)的20 549只電能表的首次檢定和拆回檢測的檢測數(shù)據(jù),檢定數(shù)據(jù)來源于基本誤差、起動試驗(yàn)等測試項(xiàng)目。基本誤差測試點(diǎn)如表2所示。
表2 誤差測試點(diǎn)
針對構(gòu)建的特征數(shù)據(jù)集,首先計(jì)算輪廓系數(shù)以確定最佳分類數(shù)k。均值、方差、平均偏移量、最大偏移量四個維度的輪廓系數(shù)隨k值變化曲線如圖1所示。
由圖1可知,均值、方差、平均偏移量和最大偏移量四個維度輪廓系數(shù)最大時k均為2。根據(jù)輪廓系數(shù)性質(zhì)可知,將本文利用的電能表誤差特征數(shù)據(jù)分為兩類效果更好。同時,k=2時平均偏移量維度的輪廓系數(shù)最接近于1,表明以平均偏移量維度進(jìn)行聚類評價效果最好。經(jīng)分析,這種結(jié)果主要與誤差數(shù)據(jù)分布情況和四個維度特征計(jì)算方式相關(guān)。誤差越接近零點(diǎn),代表電能表計(jì)量性能越好。均值計(jì)算存在正負(fù)相抵現(xiàn)象,即使均值為0也可能每個測試點(diǎn)誤差與零點(diǎn)距離較大。方差則為計(jì)算與表計(jì)誤差均值的離散程度而非誤差零點(diǎn)。最大偏移量是絕對值計(jì)算,不存在均值和方差的問題。但若測試點(diǎn)誤差分布極不平衡,最大偏移量也無法代表表計(jì)整體的計(jì)量性能。平均偏移量計(jì)算同樣不存在均值和方差的問題,并兼顧所有測試點(diǎn)的誤差分布情況,因此更適合評價電能表的計(jì)量性能。
因此,本文最終選取平均偏移量維度,采用K-means算法將構(gòu)建的電能表誤差特征數(shù)據(jù)分為兩類。聚類結(jié)果如表3所示。
表3 聚類結(jié)果
對于聚類而言,每個類別中心點(diǎn)代表該類別的整體性質(zhì)和分布。分類后的類別1中心點(diǎn)數(shù)值為類別2的倍數(shù)級,而誤差特征值越小則計(jì)量性能越好。因此,類別2電能表優(yōu)于類別1。
同時,該結(jié)果表明聚類評價后類別1和類別2的數(shù)據(jù)個數(shù)差別較大,聚類后的數(shù)據(jù)集類別不平衡。
本文數(shù)據(jù)集中,除了誤差數(shù)據(jù)還包括電能表基本信息,如生產(chǎn)廠家、到貨批次、運(yùn)行單位、運(yùn)行供電所、運(yùn)行時間等。這些基本信息代表不同電能表的差異。
計(jì)量性能預(yù)測方法如圖2所示。
本文以運(yùn)行天數(shù)、到貨批次和運(yùn)行供電所為例進(jìn)行分析。運(yùn)行天數(shù)代表時間因素,運(yùn)行越久則電能表元器件越老化,越影響計(jì)量性能。到貨批次代表生產(chǎn)因素。表計(jì)同一到貨批次為廠家連續(xù)時間內(nèi)生產(chǎn),設(shè)備生產(chǎn)情況相同,因而能代表生產(chǎn)因素對表計(jì)計(jì)量性能的影響。運(yùn)行供電所代表地理位置因素。不同地理位置由于溫濕度等環(huán)境因素不同,對表計(jì)計(jì)量性能的影響也不同。
考慮到上述因素與計(jì)量性能相關(guān),同時前文已經(jīng)利用K-means聚類算法對計(jì)量性能進(jìn)行分類評價,因此本文提出利用電能表基本信息特征對其評價類別進(jìn)行預(yù)測。
機(jī)器學(xué)習(xí)中可用于分類和預(yù)測的算法較多,比如支持向量機(jī) (support vector machine,SVM)、決策樹算法 (decision tree classifier,DTC)、K近鄰(K-nearest neighbors,KNN)等。同時,為了提升模型效果,集成學(xué)習(xí)也在相關(guān)任務(wù)中廣泛應(yīng)用。本文提出利用Stacking集成學(xué)習(xí)模型進(jìn)行預(yù)測。
預(yù)測具體步驟如下。
①以電能表基本信息構(gòu)建特征數(shù)據(jù)集,以K-means聚類評價的結(jié)果構(gòu)建標(biāo)簽集。
②針對數(shù)據(jù)集類別不平衡進(jìn)行處理。
③將處理后的數(shù)據(jù)集輸入Stacking模型進(jìn)行訓(xùn)練及預(yù)測。
Stacking模型框架整體分為兩層。首先,將原始數(shù)據(jù)集以交叉驗(yàn)證方式劃分成若干子數(shù)據(jù)集,輸入第一層的各基學(xué)習(xí)器中。每個基學(xué)習(xí)器輸出各自的預(yù)測結(jié)果。然后,將第一層的輸出作為第二層元學(xué)習(xí)器的輸入值,對元學(xué)習(xí)器進(jìn)行訓(xùn)練,再由元學(xué)習(xí)器輸出最終預(yù)測結(jié)果。Stacking 模型通過結(jié)合多個模型的優(yōu)點(diǎn),提升整體預(yù)測效果。 Stacking模型框架如圖3所示。
①假設(shè)第一層共有n個基學(xué)習(xí)器,則對于每個基學(xué)習(xí)器進(jìn)行步驟②和步驟③的訓(xùn)練。
②將數(shù)據(jù)集劃分為訓(xùn)練集U和測試集V,并將訓(xùn)練集分為f份。每次選出訓(xùn)練集中的(f-1)份進(jìn)行訓(xùn)練,剩余 1 份進(jìn)行測試。預(yù)測后,輸出結(jié)果ui(i=1,2,...,f),并以該學(xué)習(xí)器對測試集進(jìn)行訓(xùn)練,輸出預(yù)測結(jié)果vi(i=1,2,...,f)。
③將f個ui縱向拼接成為新的訓(xùn)練集U′ ,f個vi相加求平均成為新的測試集T′。
考慮到機(jī)器學(xué)習(xí)不同模型的差異,綜合利用不同模型的優(yōu)勢,本文選取了單模型算法SVM、KNN和集成學(xué)習(xí)模型梯度提升決策樹(gradient boosting decision tree,GBDT)、極端梯度提升(extreme gradient boosting,XGBoost)作為Stacking的基學(xué)習(xí)器。
SVM分類算法是在特征空間中尋找間隔最大化的分離超平面的線性分類器,通過引入核函數(shù)實(shí)現(xiàn)非線性分類。SVM可以解決小樣本情況下的機(jī)器學(xué)習(xí)問題和高維問題,但它對大規(guī)模訓(xùn)練樣本難以實(shí)施、對缺失數(shù)據(jù)敏感、對參數(shù)和核函數(shù)的選擇敏感。
KNN分類算法在分類決策上只依據(jù)最鄰近的一個或者幾個樣本類別來決定待分類樣本所屬的類別。KNN簡單、易于理解、無參數(shù)估計(jì)、不需要進(jìn)行訓(xùn)練,但當(dāng)樣本分布不均勻時容易判別錯誤,對高維數(shù)據(jù)效果不佳。
集成學(xué)習(xí)是將多個弱分類器構(gòu)成一個強(qiáng)分類器,一般能夠提升分類器的性能。其中之一的GBDT以損失函數(shù)的負(fù)梯度作為當(dāng)前決策樹的殘差近似值,去擬合新的決策樹,是一種串行訓(xùn)練方式。GBDT適用于分類和回歸問題,可靈活處理各種類型的數(shù)據(jù),對異常值的魯棒性非常強(qiáng)。但GBDT算法中弱學(xué)習(xí)器之間存在依賴關(guān)系,難以并行訓(xùn)練數(shù)據(jù)。同時,在每一次迭代時,都需要遍歷整個訓(xùn)練數(shù)據(jù)多次。由于內(nèi)存限制,GBDT算法不適合處理大規(guī)模數(shù)據(jù)。
XGBoost是GBDT算法的高效工程實(shí)現(xiàn)。相比GBDT,XGBoost加入正則項(xiàng)來控制模型的復(fù)雜度,在特征選擇上利用列抽樣方式,有利于防止過擬合。XGBoost對損失函數(shù)進(jìn)行二階泰勒展開,可同時使用一階和二階導(dǎo)數(shù),并支持多種類型的基分類器。它在樹分裂過程中的特征選擇可并行訓(xùn)練,提升了運(yùn)行效率。
考慮到集成學(xué)習(xí)方法效果較好和XGBoost的工程優(yōu)勢,本文選取XGBoost作為第二層訓(xùn)練的元學(xué)習(xí)器。
K-means聚類算法對電能表進(jìn)行分類評價后,兩個類別的比例為5.5∶1。學(xué)習(xí)器對類別數(shù)量差別較大的數(shù)據(jù)集容易造成學(xué)習(xí)偏置問題,即將所有樣本預(yù)測為多數(shù)的類別。
針對此問題,本文采用過采樣方式將少數(shù)類別數(shù)據(jù)進(jìn)行擴(kuò)充成多數(shù)類別的數(shù)量。由于采取簡單復(fù)制樣本的策略來增加少數(shù)類樣本,容易產(chǎn)生模型過擬合的問題,因此本文采用SMOTE算法合成少數(shù)類的樣本。算法具體步驟如下。
①假設(shè)少數(shù)樣本集為B。對于少數(shù)類中每一個樣本b,以歐氏距離為標(biāo)準(zhǔn)計(jì)算它到少數(shù)類樣本集中所有樣本的距離,得到其l近鄰。
②根據(jù)樣本不平衡比例設(shè)置一個采樣比例以確定采樣倍率P。對于每一個少數(shù)類樣本b,從其l近鄰中隨機(jī)選擇若干個樣本,假設(shè)選擇的近鄰為e。
③對于每一個隨機(jī)選出的近鄰e,按式(4)構(gòu)建新的樣本。
bnew=b+rand(0,1)×(b-e)
(4)
式中:bnew為新樣本;b和e分別為樣本和其近鄰;rand為隨機(jī)函數(shù)。
電能表基本信息統(tǒng)計(jì)如表4所示。
表4 電能表基本信息統(tǒng)計(jì)表
由表4可知,所有電能表基本電流、基本電壓、準(zhǔn)確度等級均一致,無法體現(xiàn)差異,因此對計(jì)量性能預(yù)測并無作用,需將其刪除。其余基本信息有差異,同時均為離散值,可將其作為電能表的特征進(jìn)行類別編碼,如運(yùn)行年數(shù)含6個值分別編碼為0、1、2、3、4、5。將基本信息特征進(jìn)行類別特征編碼后,可將其作為特征集,并將計(jì)量性能評價類別作為標(biāo)簽集,對數(shù)據(jù)集進(jìn)行訓(xùn)練及預(yù)測。
將本文原數(shù)據(jù)集劃分為訓(xùn)練集和測試集,利用Stacking模型訓(xùn)練,并與各基學(xué)習(xí)器單獨(dú)訓(xùn)練對比。不同模型預(yù)測準(zhǔn)確率如表5所示。
由表5可知,本文提出的Stacking模型準(zhǔn)確率最高,達(dá)到85.8%,表明本文提出的Stacking模型有效。
對原數(shù)據(jù)集用SMOTE過采樣后,進(jìn)行訓(xùn)練及預(yù)測。過采樣后的不同模型預(yù)測準(zhǔn)確率如表6所示。
表6 過采樣后的不同模型預(yù)測準(zhǔn)確率
由表6可知,經(jīng)過SMOTE采樣后,雖然KNN算法的準(zhǔn)確率略降低,但SVM、GBDT、XGBoost和Stacking模型的準(zhǔn)確率均有不同程度的提高,平均提升2.75%。這表明本文利用SMOTE算法處理類別不平衡數(shù)據(jù)是有效的。而且本文提出的Stacking模型準(zhǔn)確率最高達(dá)到88.5%,進(jìn)一步證明Stacking模型的有效性。同時,較高的準(zhǔn)確率也證明了本文提出的利用電能表基本信息特征對電能表計(jì)量性能預(yù)測方法的有效性。
本文提出了一種電能表計(jì)量性能評價及預(yù)測方法。首先,計(jì)及時間因素和不同誤差特征維度對電能表計(jì)量性能評價的影響,利用電能表拆回檢測及其首檢數(shù)據(jù),提出利用K-means聚類算法對電能表計(jì)量性能進(jìn)行評價。均值、方差、平均偏移量、最大偏移量四個維度的研究分析結(jié)果表明,平均偏移量效果最好,更適合對電能表進(jìn)行計(jì)量性能評價??筛鶕?jù)評價結(jié)果對計(jì)量性能相對較差的電能表進(jìn)行更加全面的檢測,對拆回分揀后重新投運(yùn)的電能表進(jìn)行不同級別的監(jiān)控,同時可進(jìn)一步挖掘不同生產(chǎn)廠家計(jì)量性能評價結(jié)果分布,為選擇廠家提供技術(shù)參考。然后,本文在計(jì)量性能評價的基礎(chǔ)上,進(jìn)一步提出一種利用電能表基本信息特征預(yù)測其計(jì)量性能評價類別的方法。采用集成學(xué)習(xí)Stacking模型進(jìn)行預(yù)測,以SVM、KNN、GBDT和XGBoost相異模型為Stacking模型基分類器,并利用SMOTE處理數(shù)據(jù)集類別不平衡問題。預(yù)測結(jié)果證明了Stacking模型和SMOTE的有效性。同時,較高的預(yù)測準(zhǔn)確率驗(yàn)證了本文所提方法的有效性。所提預(yù)測方法可用于分析拆回分揀后重新投運(yùn)和在運(yùn)的電能表。在不考慮突發(fā)情況等不可控因素的前提下,該方法可不獲取在運(yùn)電能表運(yùn)行數(shù)據(jù)而利用其基本信息對其計(jì)量性能作出較為準(zhǔn)確的預(yù)測。預(yù)測結(jié)果可作為電能表離線計(jì)量性能判斷依據(jù),對在運(yùn)電能表進(jìn)行選擇性監(jiān)控。