陳 聿,田博今,彭云竹,廖 勇
(1.重慶廣匯供電服務(wù)有限責(zé)任公司信息通信分公司,重慶 400014;2.國網(wǎng)重慶市電力公司信息通信分公司,重慶 401120;3.重慶大學(xué)微電子與通信工程學(xué)院,重慶 400044)
(?通信作者電子郵箱liaoy@cqu.edu.cn)
電力系統(tǒng)客戶行為分析是指分析用電數(shù)據(jù)之間的關(guān)系和相似性,找出客戶潛在的行為習(xí)慣,并對客戶進行細分,對指導(dǎo)客戶的用電行為和節(jié)能改造具有重要意義。電力系統(tǒng)客戶數(shù)據(jù)具有噪聲大、異常點多、密度不均勻和數(shù)據(jù)較分散的特點?,F(xiàn)有的客戶劃分方法是粗放式的,只使用單一的特征屬性對客戶進行細分。隨著產(chǎn)品服務(wù)和客戶需求的多樣化,單一特征屬性的劃分方法表現(xiàn)出了很多不足和缺陷。
數(shù)據(jù)聚類作為數(shù)據(jù)挖掘的關(guān)鍵和核心處理,代表性聚類算法包括K-Means 聚類[1]、模糊C 均值聚類[2]、核密度聚類及構(gòu)建有限混合模型聚類等。近年來,高斯混合模型(Gaussian Mixture Model,GMM)聚類算法發(fā)展非常迅猛,然而它的缺陷也非常明顯,在聚類之前,需要提前確定最終的聚類數(shù)目。很多研究人員對其進行改進,并給出了新型的GMM 算法。文獻[3]提出一種基于GMM 與K-Means 的改進聚類方法,該方法在K-Means 聚類步驟中經(jīng)由合并操作自動測定聚類數(shù)目,并為后續(xù)的GMM 聚類步驟提供初始聚類中心。在有限混合模型分類階段,基于像素分布,利用期望最大化(Expectation-Maximization,EM)算法估計類別似然,采用最大似然分類技術(shù)估計每個像素的最終類別,該方法可得到更高的分類精度,但實現(xiàn)過程較為復(fù)雜。Song 等[4]提出了一種基于GMM 概率密度的數(shù)據(jù)流聚類方法,該方法僅僅將標(biāo)準(zhǔn)EM 算法應(yīng)用于新到達的數(shù)據(jù)而不是將整個歷史數(shù)據(jù)保存在內(nèi)存中,該方法的可行性得到驗證,但聚類對應(yīng)的個數(shù)是不確定的,并且此算法聚類運行時間長。
另一方面,目前,常用的確定最佳聚類數(shù)目的算法包括手肘法和輪廓系數(shù)法,然而,由于輪廓系數(shù)法的復(fù)雜度較高,本文采用手肘法??蒲腥藛T對基于誤差平方和(Sum of the Squared Errors,SSE)的手肘聚類方法進行分析與探究。Syakur等[5]提出結(jié)合K-Means方法和手肘法,從而提高了數(shù)據(jù)處理的效率,并能有效提升K-Means 的性能,改進后的算法在聚類上有一定的效果。文獻[6]提出根據(jù)手肘法關(guān)系圖,求出圖中誤差平方和的最大差值的方法,利用數(shù)據(jù)集預(yù)抽樣并且將程序部署在Spark 平臺之上的方式自動獲取手肘法的肘點k 值,根據(jù)此方法自動獲取K-Means 最優(yōu)k 值。上述方法可準(zhǔn)確得到聚類個數(shù),但聚類結(jié)果在聚類緊湊度、分離度和復(fù)雜度上都還需要進一步的改善。
為進一步提升電力系統(tǒng)客戶的用戶體驗,針對現(xiàn)有聚類算法對該類數(shù)據(jù)尋優(yōu)能力差、緊湊性不足,較難求解聚類數(shù)目最優(yōu)值的問題,本文提出聯(lián)合手肘法和期望最大化(EM)算法的GMM 聚類算法,簡稱SEG(SSE-EM-GMM)算法。該算法主要分為兩個步驟:1)根據(jù)手肘法對所得數(shù)據(jù)進行第一次聚類,繪制出SSE 與k 值的關(guān)系折線圖,并確定最優(yōu)k 值;2)由得到的k值來隨機選取聚類中心,利用EM 算法進行GMM 聚類,實現(xiàn)對數(shù)據(jù)的合理聚類分析。將本文方法用于對電力公司的客戶數(shù)據(jù)分析,聚類得到電力公司客戶分群,并通過內(nèi)部評價指標(biāo)、外部評價指標(biāo)及全局評價指標(biāo)該算法與其他算法進行對比,驗證了所提算法的可行性和有效性。
SEG 算法首先尋求合適的聚類數(shù)目k 使后面的聚類算法達到最優(yōu),然后使用基于EM 的GMM 聚類算法對電力公司的客戶信息進行聚類。
高斯混合聚類采用概率模型表達聚類原型。假定數(shù)據(jù)符合高斯混合分布[7]:
其中:βi為第i 個分模型生成的概率,且將數(shù)據(jù)分為k 類;p(x;μi,Ci)為多維高斯分布概率密度函數(shù),定義如式(2)所示:
其中:x為n維隨機變量,定義為x=[x1,x2,…,xn]T,Ci為協(xié)方差矩陣,μi為均值向量。從式(2)可以看出,多維高斯分布完全由協(xié)方差矩陣和均值向量確定。由中心極限定理可知,當(dāng)k和樣本足夠多時,每一塊區(qū)域都能用高斯分布來描述。
為了便于分析,將p(x;μi,Ci)記為p(x|μi,Ci),引入隱變量p(zj=i),其含義為第i個分模型生成的概率,即為βi。樣本xj為第i 個分模型生成的后驗概率為pM(zj=i|xj),根據(jù)貝葉斯公式,得到式(3)的結(jié)果:
式中pM(xj|zj=i)為第i個分模型生成xj的先驗概率,完全由Ci和μi決定,即為:
其中:pM(zj=i|xj),i=1,2,…,k。當(dāng)式(1)的參數(shù)已知時,將數(shù)據(jù)集劃分為k類,每個樣本xj的分類ξj由式(7)決定:
而目前的問題在于式(1)中的參數(shù)是未知的,故需要通過數(shù)據(jù)集作參數(shù)估計。常采用最大似然估計法,即將m 個樣本作為獨立事件,其概率為:
將式(8)取對數(shù),有:
最大似然估計需要知道每一個樣本的具體分布,而由于存在隱變量βi,即獲得樣本xj時并不知道它的來源分布,故無法簡單地對參數(shù)求偏導(dǎo)估計未知參數(shù),需要采用EM算法。
EM 算法的核心思想是不斷迭代提高精度[8]。為了使L(βi,μi,Ci)最大化,需要對3 個參數(shù)求偏導(dǎo)。首先求解βi,由于βi還有存在約束,故問題轉(zhuǎn)化為:
求解以上條件極值問題,采用拉格朗日乘數(shù)法求解[9],引入乘子λ,式(10)轉(zhuǎn)換等式(11):
將式(11)對βi求偏導(dǎo)并令其為0,得到:
其次求解μi,式(9)對μi求偏導(dǎo),得到式(13):
式(13)的右端末項如式(14)所示:
代入原式(13),令其為0,有:
最后求解Ci,同樣地,式(9)對Ci求偏導(dǎo),得到等式(16),等式右端末項如式(17)所示:
將式(17)代入式(16),令其為0,有:
上述推導(dǎo)過程得出了參數(shù)與后驗概率之間的迭代關(guān)系,如圖1所示。
圖1 參數(shù)與后驗概率關(guān)系Fig.1 Relation between parameter and posterior probability
每一次迭代更新βi,μi,Ci與γji,增加迭代的次數(shù)可以提高精度,當(dāng)似然函數(shù)L(βi,μi,Ci)增長較少時即可停止迭代。高斯混合模型聚類如算法1所示。
算法1 高斯混合聚類。
本文采用基于SSE 的手肘法確定聚類數(shù)目,其中誤差平方和(SSE)的定義如下:
其中:p 表示第i 個類組θi中的數(shù)據(jù)對象,qi表示第i 類組中所有數(shù)據(jù)對象的均值,k 表示分類簇的數(shù)量。聯(lián)合手肘法和EM的高斯混合聚類如算法2所示。
算法2 聯(lián)合手肘法和EM的高斯混合聚類算法。
聚類質(zhì)量評價指標(biāo)有很多種,在本文中本文選擇了三類常用的評價指標(biāo)作為本文聚類結(jié)果的評價指標(biāo)。本文選取了緊湊度(Compactness Index,CI)[10]作為內(nèi)部評價指標(biāo),F(xiàn)M(Fowlkes-Mallows)[11-12]和Adjusted-Rand(AR)[13]作為了外部評價指標(biāo),以及分離度(Degree of Separation,DS)[14]作為了全局評價指標(biāo)。
CI 指標(biāo) 用于形容簇內(nèi)數(shù)據(jù)集的集中程度,簇內(nèi)的數(shù)據(jù)越相似,它的緊湊度就會越高,就說明聚類效果更好[15]。
總體簇內(nèi)緊湊度的計算方法如式(20)所示,其中n 代表聚類的樣本數(shù),每個樣本是p 維的行向量X={x1,x2,…,xn},X ?Rp,c 代表聚簇的數(shù)量;U 為c × n 矩陣,樣本屬于模糊子集的隸屬程度;uij為數(shù)據(jù)j對第i類的支持度,其值越大就說明它的信息量越大;V 為c × p 矩陣,表示聚類原型;距離采用歐氏距離。
CI 值可以增大指標(biāo)的敏感度,使得有效性指標(biāo)能夠正確地判斷出小類的存在,進而判斷出最佳聚類數(shù)??傮w緊湊值越小,代表簇越緊湊。
1)FM指標(biāo)。
典型的外部聚類評價指標(biāo)有FM 指標(biāo)和AR 指標(biāo)等[16],它們都是用于測試聚類結(jié)果準(zhǔn)確性的經(jīng)典指標(biāo)。
FM指標(biāo)的計算方法如式(21)所示:
FM 指標(biāo)的值介于0~1,其值越大,代表聚類劃分后的簇與標(biāo)準(zhǔn)簇就越接近,當(dāng)且僅當(dāng)聚類結(jié)果與標(biāo)準(zhǔn)簇完全一致時,IFM=1。
2)AR指標(biāo)。
本文另設(shè)相關(guān)參數(shù)如下公式所示:
AR 指標(biāo)值的范圍也是0~1,并且值越大,越接近于1,就代表劃分結(jié)果越好。
分離度(DS) 分離度表示各個簇之間的分離程度,簇與簇之間分離越清晰,分離度就會越高[17]。
簇間分離度公式如式(27)和式(28)所示:
將所有子簇的分離度相加得到總體分離度,其計算方法如式(29)所示:
其中:Fij表示模糊偏差;α 表示懲罰系數(shù),其默認取值為0.5,使用模糊偏差來放大隸屬度矩陣的特征。兩個簇的模糊偏差相乘就表示兩個模糊集合的分離度,簇間分離越清晰,分離度就越高,該值就越小。
數(shù)據(jù)預(yù)處理,即統(tǒng)一和規(guī)范各種數(shù)據(jù),以便這些數(shù)據(jù)可以直接用于以后的聚類。
1)數(shù)據(jù)準(zhǔn)備。
數(shù)據(jù)準(zhǔn)備即獲取客戶信息,根據(jù)變量對聚類結(jié)果的影響大小選取合適的特征作為聚類分析的主要對象,作為聚類分析的數(shù)據(jù)基礎(chǔ)。
特征屬性的選取 通過對電力通信客戶服務(wù)中客戶行為的內(nèi)容和屬性的調(diào)查研究,建立了反映客戶行為規(guī)律分析、客戶使用行為分析和客戶群細分的指標(biāo)體系,使管理者能夠優(yōu)化業(yè)務(wù)組織,改進服務(wù)模式。如表1 所示,本文基于聚類的客戶細分的分群指標(biāo)數(shù)據(jù)可分為四部分:一是客戶消費水平,該部分指標(biāo)集中反映的是客戶的消費水平;二是客戶掉電敏感程度,該部分指標(biāo)反映的是客戶對于用電需求的緊急程度;三是客戶欠費風(fēng)險,該部分反映的是客戶在繳費方面的一個誠信度;四是客戶設(shè)備風(fēng)險情況,該部分指標(biāo)集中反映的是客戶安全用電的意識。通過這四個部分的指標(biāo)分析,可以較為全面地分析電力公司信通客戶的行為規(guī)律。
表1 客戶分群評估因素Tab.1 Customer segmentation assessment factors
數(shù)據(jù)采集 根據(jù)整理出的客戶分群評估因素調(diào)取了10 000名客戶的相應(yīng)數(shù)據(jù),表2顯示的是部分客戶的消費水平信息。
表2 客戶消費水平信息Tab.2 Customer consumption level information
客戶掉電敏感程度信息主要包含了用電類型、掉電后投訴次數(shù)和合同容量等內(nèi)容,部分詳細數(shù)據(jù)見表3。
表3 客戶掉電敏感程度信息Tab.3 Customer power loss sensitivity information
客戶欠費風(fēng)險信息部分采集數(shù)據(jù)詳見表4。表中所列的幾項指標(biāo)可以比較準(zhǔn)確地反映客戶的繳費及時性。
表4 客戶欠費風(fēng)險信息Tab.4 Customer arrears risk information
表5 展示的是部分客戶的客戶盜電風(fēng)險各項指標(biāo)的數(shù)據(jù)。其中實際用電與合同用電量的匹配度計算公式如下所示:
其中:λ表示匹配度,s表示實際用電量,r表示合同用電量。
表5 客戶盜電風(fēng)險信息Tab.5 Customer electricity stealing risk information
2)數(shù)據(jù)預(yù)處理。
主要包括數(shù)據(jù)清洗以及數(shù)據(jù)轉(zhuǎn)換。
①數(shù)據(jù)清洗。
為了提高數(shù)據(jù)完整性并標(biāo)準(zhǔn)化數(shù)據(jù)表單,需要進行以下處理。
a)空缺值處理。
在收集的10 000名客戶的數(shù)據(jù)信息中存在很多的不完整的信息。例如有的客戶的月均消費總額為空,為了保證聚類結(jié)果的準(zhǔn)確性,本文采用均值內(nèi)插的方法來填充缺失數(shù)據(jù),具體做法是使用該屬性的眾數(shù)來插補缺失的值填上殘缺的數(shù)據(jù),并刪除屬性數(shù)據(jù)缺失量大于兩條的信息。
b)噪聲數(shù)據(jù)處理。
在許多數(shù)據(jù)中,會出現(xiàn)與事實不符、超出正常的范圍的異常數(shù)據(jù),本文通過箱型圖分析來對采集的數(shù)據(jù)自動進行異常數(shù)據(jù)識別。具體做法是:首先本文定義上四分位U 和下四分位L,U取值表示該屬性的所有樣本中只有四分之一的數(shù)值大于它,L 取值表示該屬性的所有樣本中只有四分之一的數(shù)值小于它;其次,本文設(shè)定上四分位與下四分位的插值為IQR,即IQR=U -L;那么,上界Uk=U+1.5IQR,下界Lk=L -1.5IQR;最后,該屬性的所有數(shù)據(jù)中超過上界Uk和下界Lk的數(shù)據(jù)都被判斷為異常數(shù)據(jù),最后將這些異常數(shù)據(jù)所在的整條信息刪除。
c)不一致數(shù)據(jù)處理。
在眾多的數(shù)據(jù)當(dāng)中也不乏有少數(shù)與數(shù)據(jù)格式不相符的數(shù)據(jù),比如在繳費形式那里填寫的是用電類型,在掉電后投訴次數(shù)那里填寫合同容量,這樣的不一致數(shù)據(jù)相對比較少,對于這樣的數(shù)據(jù)本文采用中值插補的方法來替換數(shù)據(jù),具體做法是使用該屬性中所有值的中位數(shù)來替換這些數(shù)據(jù)。
②數(shù)據(jù)轉(zhuǎn)換。
經(jīng)過清洗后的數(shù)據(jù)雖然已經(jīng)確保了信息的完整度以及準(zhǔn)確性,但要想使用本文的機器算法來對這些信息進行處理,還需要把形式各異的數(shù)據(jù)轉(zhuǎn)化為統(tǒng)一的數(shù)據(jù)形式并進行標(biāo)準(zhǔn)化處理。在采集的數(shù)據(jù)信息中本文發(fā)現(xiàn)不同的指標(biāo)有著不同的數(shù)據(jù)格式,并且數(shù)據(jù)的取值范圍各不相同。通過不同的數(shù)學(xué)統(tǒng)計方式來尋找到衍生字段,實現(xiàn)數(shù)據(jù)形式的統(tǒng)一;將每一個變量與該變量均值的差除以該變量的標(biāo)準(zhǔn)差得到標(biāo)準(zhǔn)化后的數(shù)據(jù);研究使用需求相關(guān)的各類特征變量在實際應(yīng)用中的影響程度,根據(jù)影響因子ui(i=1,2,…,n)的大小為其輸入設(shè)置不同的比重,其中n 代表屬性的個數(shù)。具體做法是:一個屬性對應(yīng)一個影響因子ui,每個屬性對應(yīng)的比重Pi,其計算公式如下所示:
通過這一系列的數(shù)據(jù)處理和轉(zhuǎn)換就得到了本文最終聚類處理所需要的數(shù)據(jù)。
本文將所提方法用于測試電力公司提供的信通客戶數(shù)據(jù),并通過和K-Means 以及層次聚類的測試結(jié)果指標(biāo)進行對比來對本文所提方法的聚類結(jié)果進行綜合評價分析。
1)聚類結(jié)果。
為得到比較好的聚類效果,在選取影響聚類結(jié)果的一些特征變量后,本文采集10 000名客戶的信息,并將這些數(shù)據(jù)信息進行數(shù)據(jù)清洗和數(shù)據(jù)轉(zhuǎn)換,然后使用了本文的SEG 聚類算法進行了數(shù)據(jù)分析,首先使用手肘法確定最佳k 值,仿真的結(jié)果如圖2所示。
圖2 手肘法確定k值Fig.2 k value determined by elbow method
由圖2 可以看出,最佳k 值為3,即聚類結(jié)果分為三大類,選取其中3 個特征,繪制成三維特征空間,其聚類結(jié)果如圖3所示。聚類結(jié)果以及每一類的特征均值分布情況如圖4所示。
將聚類結(jié)果進行數(shù)據(jù)可視化整理,得到表6 的聚類結(jié)果明細。表6 顯示了基于本文的SEG 算法的電力公司信通客戶聚類結(jié)果,從表中可以看到三類客戶的各項特征的均值,通過對聚類結(jié)果的分析可以為電力公司客服業(yè)務(wù)的方案決定提供有力的科學(xué)依據(jù)。
表6 聚類結(jié)果明細Tab.6 Details of clustering results
圖3 三特征聚類結(jié)果Fig.3 Clustering results of three features
2)結(jié)果分析。
將仿真結(jié)果進行總結(jié)整理,得到了表7。從表7中可以看出,客戶被分為了三類,以下是對每一類客戶的分析。
客戶群1 該類客戶所占比重為30%,占有相當(dāng)?shù)谋戎?。該類客戶的月均消費是11.76 萬元,處于非常高的一個消費水平;合同容量500 kVA 是用電容量需求非常高的,用電類型多為大工業(yè)用電;拖欠金額4.15 萬元,說明這一類客戶電費拖欠比較嚴重;用電匹配度0.97,說明該類客戶的安全用電意識整體來說比較高。所以總體而言,這類客戶總體價值處于一個高水平。
客戶群2 該類客戶所占比重為55%,客戶數(shù)量所占比重最高。該類客戶的月均消費是1.56 萬元,處于低等消費水平;合同容量是80 kVA,用電容量需求不高,用電類型多為工商業(yè)用電;拖欠金額0.37 萬元,說明這一類客戶電費拖欠情況比較輕微,誠信度很高;用電匹配度0.85,說明該類客戶的安全用電意識整體來說一般。所以總體而言,這類客戶總體價值處于一個中等水平。
客戶群3 該類客戶所占比重為15%,是客戶數(shù)量最少的一類。該類客戶的月均消費是4.15 萬元,處于中等消費水平;合同容量110 kVA 是用電容量需求較高的,用電類型以農(nóng)業(yè)生產(chǎn)用電為主;拖欠金額3.87 萬元,說明這一類客戶電費拖欠情況有點嚴重,誠信度不是很高;用電匹配度0.69,說明該類客戶的安全用電意識整體來說比較差。所以總體而言,這類客戶總體價值處于一個低等水平。
圖4 3種客戶群特征Fig.4 Three customer cluster features
根據(jù)聚類結(jié)果的分析,可以針對這三類不同的客戶群制定不同的營銷策略,以達到精準(zhǔn)營銷的目的,為客戶提供更好的服務(wù),提高客戶的滿意度,提升公司客服業(yè)務(wù)的整體效率和降低服務(wù)成本。
表7 聚類結(jié)果Tab.7 Clustering results
3)聚類質(zhì)量評價。
為驗證本文方法對電力公司信通客戶數(shù)據(jù)聚類的效果,本節(jié)將本文算法、K-Means 算法以及層次聚類算法對電力公司信通客戶數(shù)據(jù)的測試結(jié)果評價指標(biāo)進行了對比。為了避免偶然性,對上述的算法均重復(fù)做了多次測試,并取幾次結(jié)果的平均值作為最后的評價指標(biāo)結(jié)果。其中,通過FM指標(biāo)、AR指標(biāo)、CI 指標(biāo)、DS 指標(biāo)以及運行時間這五項指標(biāo)來對比評價算法的聚類質(zhì)量,具體測試結(jié)果如表8所示。
從表8 可以看出,在數(shù)據(jù)樣本數(shù)為10 000 的情況下,本文算法在FM 指標(biāo)、AR 指標(biāo)、CI 指標(biāo)以及DS 指標(biāo)上均要優(yōu)于層次聚類算法和K-Means 算法。此外可以看出,本文算法在FM指標(biāo)和AR 指標(biāo)上的值都非常接近于1,從這兩項指標(biāo)上來看說明本文算法聚類劃分后的簇與標(biāo)準(zhǔn)簇非常接近,聚類效果非常好。在CI 指標(biāo)上,本文算法也明顯優(yōu)于另外的兩種算法,說明本文算法聚類后的簇有不錯的緊湊度。在DS 指標(biāo)上,本文算法雖和層次聚類算法的值比較接近,但還是要略微小一點,說明本文算法的聚類后的簇的分離度要比另外的兩種算法的聚類后簇的分離度更大,聚類效果更好。然而從算法運行時間上來看,運行時間最短的是K-Means 算法,其次才是本文算法,最長的是層次聚類算法。不過,本文算法和K-Means 算法在運行時間上的差距也不是特別大,說明本文算法在復(fù)雜度上略微差了一些??傮w而言,本文算法對電力公司信通客戶數(shù)據(jù)的聚類相較于K-Means 算法和層次聚類算法有更好的效果,只是在運行時間上略微長了一點。
表8 聚類質(zhì)量測試結(jié)果Tab.8 Clustering quality test results
本文提出SEG 聚類算法對電力客戶進行聚類,該算法采用基于SSE 的手肘法來確定聚類數(shù)目的最優(yōu)值k,再由該k 值來進行基于EM 算法的GMM 聚類算法,提高聚類的全局尋優(yōu)能力。應(yīng)用結(jié)果表明,本文以聚類質(zhì)量評價指標(biāo)FM、AR、CI、DS 和運行時間指標(biāo)為標(biāo)準(zhǔn),驗證了本文算法比現(xiàn)有的K-Means 與層次聚類具有更好的分類效果、聚類質(zhì)量和全局尋優(yōu)性能,并同時擁有良好穩(wěn)健性。該方法適合于客戶分類領(lǐng)域內(nèi)的應(yīng)用。
由于本文應(yīng)用數(shù)據(jù)集的規(guī)模受到限制,因此下一步研究計劃將對更大規(guī)模數(shù)據(jù)集進行并行計算分析,并將本文算法應(yīng)用到電力公司數(shù)據(jù)分析的其他領(lǐng)域。