劉 穎, 杜星秋, 溫東欣, 唐偉寧, 張洪明
(1. 吉林財經(jīng)大學(xué) 管理科學(xué)與信息工程學(xué)院, 長春 130117;2. 國網(wǎng)吉林省電力有限公司 電力科學(xué)研究院, 長春 130021)
竊漏電行為是電力系統(tǒng)檢測的重點, 目前的反竊電方法主要為人工檢測, 存在工作量大、 效率低、 取證困難和缺乏針對性等問題. 機器學(xué)習(xí)源于統(tǒng)計模型擬合, 目前, 應(yīng)用機器學(xué)習(xí)技術(shù)診斷竊漏電行為的方法主要有邏輯回歸[1]、 聚類分析[2]和深度學(xué)習(xí)[3]等. 支持向量機(support vector machines, SVM)作為一種經(jīng)典的模式識別方法, 具有泛化能力強、 結(jié)構(gòu)簡單, 易解決具有高維度、 小樣本等問題的優(yōu)勢. 將支持向量機技術(shù)應(yīng)用于竊漏電行為的檢測目前已有很多研究結(jié)果[4-6]. 竊漏電用戶用電檢測過程中, 異常用戶數(shù)量通常只占少數(shù), 導(dǎo)致獲取的數(shù)據(jù)樣本存在嚴重的分布不均衡現(xiàn)象. SVM分類算法大多都基于正負類樣本數(shù)量大致相同的假設(shè), 在SVM訓(xùn)練分類模型過程中, 樣本不均衡可能導(dǎo)致分類超平面偏移而影響分類精度.
針對非均衡數(shù)據(jù)分類問題, 通常采用兩種解決策略: 一種是改變分類算法, 在傳統(tǒng)分類算法的基礎(chǔ)上對不同類別采用不同的加權(quán)方式, 更看重少數(shù)類; 另一種是改變數(shù)據(jù)分布, 從數(shù)據(jù)層面平衡樣本類別, 主要包括隨機欠采樣和過采樣方法. 欠采樣算法是減少多數(shù)類樣本數(shù)量, 預(yù)先設(shè)置多數(shù)類與少數(shù)類最終的數(shù)量比例, 在保留少數(shù)類樣本不變的情形下, 根據(jù)比例隨機選擇多數(shù)類樣本. 例如: 韓旭等[7]采用高斯混合模型對多數(shù)類樣本進行聚類欠采樣消除樣本間的不平衡問題; 金旭等[8]先通過求解樣本間的歐氏距離, 再利用k-means算法在大類樣本集上進行聚類, 使數(shù)據(jù)集在分布上更均衡; Liu等[9]將EasyEnsemble 和BalanceCascade兩種算法相融合提取多數(shù)類樣本子集, 從而實現(xiàn)數(shù)據(jù)的再平衡. 通常, 欠采樣依賴于樣本分布, 但也容易丟失部分多數(shù)類樣本信息. 過采樣方法主要是通過增加少數(shù)類樣本數(shù)量, 即在保留多數(shù)類樣本不變的情況下, 隨機復(fù)制少數(shù)類樣本. 蔣宗禮等[10]利用變分自編碼器均衡訓(xùn)練數(shù)據(jù)集; Estabrooks等[11]提出基于隨機過采樣算法彌補SVM缺失的代價敏感性; Chawla等[12]和張月平等[13]采用Smote算法借助少數(shù)類樣本及其鄰域樣本生成新數(shù)據(jù), 提高算法分類性能. 過采樣方法操作簡單, 但重復(fù)樣本過多, 易導(dǎo)致分類器的過擬合問題. 因此, 解決非均衡問題, 既要考慮多數(shù)樣本的數(shù)據(jù)分布, 避免剔除多數(shù)樣本時丟失有用信息, 又要克服分類器過擬合現(xiàn)象[14-15]. 基于此, 本文提出一種將欠采樣和過采樣相融合的TomekLink-Smote(TLSmote)方法, 解決竊漏電非均衡檢測問題, 先利用Smote方法擴充少數(shù)類樣本, 同時考慮距離SVM分類超平面較近的樣本, 根據(jù)其重要度使少數(shù)樣本被反復(fù)學(xué)習(xí); 再采用Tomek-link算法剔除多數(shù)類樣本并進行噪聲處理. 將本文算法應(yīng)用于非均衡用戶竊漏電診斷實驗, 結(jié)果表明, TLSmote-SVM算法既能有效去除非均衡優(yōu)化過程中產(chǎn)生的噪聲樣本, 提高數(shù)據(jù)的利用率, 又能在保留盡可能多有用信息的前提下實現(xiàn)樣本均衡, 有效提高竊漏電用戶的檢測精度.
支持向量機是在特征空間中尋找一個將兩類樣本分隔的超平面, 且樣本與超平面的距離盡可能大. 設(shè)正負樣本與超平面的距離為
(1)
給定樣本x, 若使對應(yīng)的y與距離的計算同號, 則
(2)
其中yi∈{+1,-1}為分類標(biāo)記,b表示偏移量. 將其代入式(1)可得
(3)
SVM的核心思想是使γ盡可能大, 即‖w‖/2最小:
(4)
采用Lagrange乘子法得到其對偶問題為
(5)
求導(dǎo)解出w和b, 即可得到所求超平面.
支持向量機常用的核函數(shù)有線性核函數(shù)、 多項式核函數(shù)、 高斯核函數(shù)和Sigmoid核函數(shù), 常用的參數(shù)包括核函數(shù)選擇參數(shù)Kernel、 懲罰參數(shù)C、 多項式維度參數(shù)Degree、 核函數(shù)參數(shù)Gamma、 核函數(shù)常數(shù)項coef0、 最大迭代次數(shù)max_iter等. 為比較不同核函數(shù)及參數(shù)取值對支持向量機分類精度的影響, 本文隨機抽取部分用戶用電數(shù)據(jù), 在樣本均衡的情形下, 比較4種核函數(shù)的分類超平面變化情況. 圖1為SVM在線性核函數(shù)和高斯核函數(shù)下不同參數(shù)取值的分類結(jié)果. 由圖1可見, 不同核函數(shù)及參數(shù)取值對分類精度有較大影響, 根據(jù)實驗結(jié)果, 本文模型選用高斯核函數(shù).
圖1 SVM在線性核函數(shù)和高斯核函數(shù)下不同參數(shù)取值的分類結(jié)果Fig.1 Classification results of SVM with different parameter values under linear kernel function and Gaussian kernel function
傳統(tǒng)Smote算法生成新的少數(shù)類樣本平衡數(shù)據(jù)類別時, 首先隨機選擇少數(shù)類樣本n, 從其最近鄰中隨機選取一個樣本m, 然后在n和m之間的連線上隨機生成一個樣本點作為新樣本. 通常, Smote算法忽略了少數(shù)類樣本類內(nèi)不平衡現(xiàn)象的存在, 并易受噪聲影響. 當(dāng)不平衡度較高時, 合成的新少數(shù)類樣本點會與原始數(shù)據(jù)高度相似, 甚至重復(fù), 很難為分類器提供新的分類信息. Tomek-Link的基本思想是: 少數(shù)類樣本x與多數(shù)類樣本y, 如果不存在另外一個多數(shù)類樣本z, 使得d(x,z) 本文首先對樣本集進行預(yù)處理并對其屬性降維, 將欠采樣Tomek-Link與過采樣Smote算法相結(jié)合, 對二分類非均衡樣本集進行類別補全并剔除噪聲, 最后選擇不同正負比例的樣本對SVM進行訓(xùn)練與測試, 比較最終分類的精度. TLSmote-SVM算法如下. 算法1TLSmote-SVM算法. 步驟1) 處理數(shù)據(jù)缺失值和異常值, 將數(shù)據(jù)歸一化; 步驟2) 根據(jù)協(xié)方差矩陣計算特征值和特征向量, 保留前4個特征向量; 步驟3) 利用Smote算法隨機選定n個少數(shù)類樣本, 采用歐氏距離計算距離最近的m個樣本, 在兩點間選定中間點作為新增樣本點, 使得少數(shù)類與多數(shù)類樣本數(shù)量均衡; 步驟4) 用TomekLink判定新增樣本點是否為有效點, 若有效, 則判定新增樣本為非噪聲樣本, 轉(zhuǎn)步驟5); 否則, 剔除噪聲樣本后重復(fù)步驟3)和步驟4), 直至正負樣本比例平衡; 步驟5) 初始化SVM分類器, 選擇高斯核函數(shù), 參數(shù)C和Gamma取默認值, 利用測試集訓(xùn)練SVM; 步驟6) 輸出準(zhǔn)確率與精確度. 本文所用數(shù)據(jù)來自國網(wǎng)吉林省電力有限公司電力科學(xué)研究院, 數(shù)據(jù)包含2014—2017年吉林省某地區(qū)用電負荷數(shù)據(jù), 數(shù)據(jù)規(guī)模為439 409條, 包括12個字段, 分別是用戶序號、 用戶類型、 供電電壓、 合同容量、 運行容量、 綜合倍率、 日期、 總用電量、 平時段用電量、 峰時段用電量、 尖時段用電量、 谷時段用電量. 通常, 竊電用戶通過篡改電表使電表用電負荷為零或小于其實際用電負荷, 圖2和圖3分別為正常用戶(編號為A01,A306,D081)和竊漏電用戶(編號為D8,C52,C17)使用電量的數(shù)據(jù)曲線. 圖2 正常用戶用電數(shù)據(jù)Fig.2 Electricity consumption data of normal users 圖3 異常用戶用電數(shù)據(jù)Fig.3 Electricity consumption data of abnormal users 本文用數(shù)據(jù)缺失值填補、 數(shù)據(jù)異常值處理以及數(shù)據(jù)歸一化3個步驟對電網(wǎng)數(shù)據(jù)進行預(yù)處理. 2.2.1 缺失值處理 當(dāng)時間序列數(shù)據(jù)出現(xiàn)大量缺失值時, 缺失值的整體填充會引入噪聲. 為避免該問題, 本文首先剔除缺失量達50%的數(shù)據(jù)樣本, 同時對少量缺失值用下列均值填充的方法: (6) 其中D表示缺失時間段用電量的均值,data1和data2分別表示缺失段后端和前端電表示數(shù),num表示缺失段天數(shù). 2.2.2 異常值處理 若用戶用電量數(shù)據(jù)中20%以上為負值, 則刪除該序列; 若少于20%為負值, 則視為缺失值, 對缺失值的處理同上. 2.2.3 數(shù)據(jù)歸一化 用歸一化消除不同量綱下的數(shù)據(jù)表示: (7) 其中X表示數(shù)據(jù)歸一化前的原始數(shù)值,Xmax表示數(shù)據(jù)歸一化前所在維度下所有值的最大值,Xmin表示數(shù)據(jù)歸一化前所在維度下所有值的最小值,X*表示歸一化的特征值. 特征構(gòu)建是檢測異常數(shù)據(jù)的關(guān)鍵, 本文分別按每日用電量、 每15 d用電量(當(dāng)日及其后連續(xù)14 d用電量)對該數(shù)據(jù)集中所包含時間序列的特征進行提取. 10個特征分別是日用電量均值E_MEAN、 日用電量標(biāo)準(zhǔn)差E_STD、 日用電量方差E_VAR、 日用電量變異系數(shù)E_CV、 日用電量偏度E_SKEW、 每15 d用電量標(biāo)準(zhǔn)差系數(shù)均值FT_MEAN、 每15 d用電量標(biāo)準(zhǔn)差系數(shù)標(biāo)準(zhǔn)差FT_STD、 每15 d用電量標(biāo)準(zhǔn)差系數(shù)方差FT_VAR、 每15 d用電量標(biāo)準(zhǔn)差系數(shù)變異系數(shù)FT_CV、 每15 d用電量標(biāo)準(zhǔn)差系數(shù)偏度FT_SKEW等, 特征指標(biāo)列于表1. 表1 特征指標(biāo)Table 1 Characteristic indexes 從已知樣本中抽取20個用戶作為測試集, 從剩余樣本中抽取180條數(shù)據(jù)作為訓(xùn)練集, 計算10個維度的特征值, 經(jīng)主成分分析(PCA)得出貢獻度在10%以上的特征有4維, 實驗選取貢獻度前4維度指標(biāo)訓(xùn)練SVM分類器, 總方差解釋列于表2. 表2 總方差解釋Table 2 Total variance interpretation 本文采用基于高斯核函數(shù)和TLSmote-SVM算法檢測國電網(wǎng)吉林省某地區(qū)非均衡竊漏電用戶, 并與傳統(tǒng)SVM, Smote-SVM算法進行對比. 利用混淆矩陣的準(zhǔn)確度和精確度作為評價指標(biāo), 其中TN表示被正確識別的負類樣本, FP表示被錯誤識別的負類樣本, FN表示被錯誤識別的正類樣本, TP表示被正確識別的正類樣本, 準(zhǔn)確度為 (8) 精確度為 (9) 實驗中, 取懲罰函數(shù)C=1.0, Gamma=0.1, 分類準(zhǔn)確度和精確度結(jié)果列于表3. 由表3可見: 在樣本比例均衡情形下, SVM與TLSmote-SVM算法的準(zhǔn)確度(0.84)相同, Smote-SVM和TLSmote-SVM算法的精確度高于SVM算法; 當(dāng)樣本比例達7∶3時, TLSmote-SVM算法的準(zhǔn)確度(0.92)和精確度(0.90)均高于Smote-SVM算法的準(zhǔn)確度(0.88)和精確度(0.85), 更高于傳統(tǒng)SVM算法. 實驗結(jié)果表明, 本文方法在檢測用戶異常用電時更有效. 由表3還可見, 當(dāng)樣本比例為8∶2和9∶1時, 3個模型的精確度和準(zhǔn)確度相同, 說明當(dāng)樣本出現(xiàn)極度不均衡時, 重采樣方法效果不佳. 表3 不同樣本比例的SVM模型分類準(zhǔn)確度和精確度比較Table 3 Comparison of classification accuracy and precision of SVM models with different sample proportions 綜上所述, 本文以國電網(wǎng)吉林省某地區(qū)用戶用電數(shù)據(jù)為例, 分析了用戶用電過程中涉及的影響因素, 選取日用電量均值E_MEAN、 日用電量方差E_VAR、 日用電量標(biāo)準(zhǔn)差E_STD、 日用電量變異系數(shù)E_CV、 日用電量偏度E_SKEW、 每15 d用電量標(biāo)準(zhǔn)差系數(shù)均值FT_MEAN、 每15 d用電量標(biāo)準(zhǔn)差系數(shù)方差FT_VAR、 每15 d用電量標(biāo)準(zhǔn)差系數(shù)標(biāo)準(zhǔn)差FT_STD、 每15 d用電量標(biāo)準(zhǔn)差系數(shù)變異系數(shù)FT_CV、 每15 d用電量標(biāo)準(zhǔn)差系數(shù)偏度FT_SKEW作為特征指標(biāo)體系. 針對傳統(tǒng)SVM分類器在處理非均衡數(shù)據(jù)時分類平面向少數(shù)類偏移而導(dǎo)致分類精度較低的問題, 提出了一種將Tomeklink欠采樣和Smote過采樣相融合的方法, 避免了欠采樣過程中剔除多數(shù)樣本時導(dǎo)致有用信息缺失以及克服Smote過采樣產(chǎn)生的過擬合問題, 模型使用支持向量機作為基分類器. 將TLSmote-SVM模型應(yīng)用于竊漏電非均衡檢測問題, 實驗結(jié)果表明, 在竊漏電樣本非均衡分布時, 模型檢測效果較好.1.3 基于TLSmote算法的SVM分類模型
2 實驗結(jié)果與分析
2.1 數(shù)據(jù)來源
2.2 數(shù)據(jù)預(yù)處理
2.3 特征構(gòu)建與降維
2.4 不同樣本比例下分類器的比較分析