徐 鳴,蘇東東,游春凌,陳鴻凌,張 波
(1.國(guó)網(wǎng)福建省電力有限公司電力科學(xué)研究院客戶服務(wù)中心,福建 福州 350000;2.國(guó)網(wǎng)福建省電力有限公司物資分公司,福建 福州 350000;3.福建省供電服務(wù)有限責(zé)任公司,福建 福州 350000;4.國(guó)網(wǎng)山東電力公司濰坊供電公司,山東 濰坊 261000)
停電問(wèn)題一直以來(lái)都是用電客戶的第一熱點(diǎn)訴求和供電輿情的重要風(fēng)險(xiǎn)點(diǎn),某省2014—2017 年客戶停送電相關(guān)訴求數(shù)據(jù)(含95598 供電服務(wù)熱線、供電營(yíng)業(yè)廳、電子渠道、社會(huì)聯(lián)動(dòng)、第三方滿意度測(cè)評(píng)等)表明,停電安排不合理、停電時(shí)間長(zhǎng)、頻繁停電是用電客戶的服務(wù)痛點(diǎn)。傳統(tǒng)的停送電服務(wù)模式局限于被動(dòng)搶修和事后補(bǔ)救,無(wú)法滿足客戶實(shí)時(shí)化、差異化的停送電服務(wù)需求。準(zhǔn)確預(yù)測(cè)客戶的敏感程度,提前做好用電服務(wù),優(yōu)化服務(wù)資源調(diào)配,從而減少客戶投訴量,提升客戶滿意度,優(yōu)化電力營(yíng)商環(huán)境。
客戶停電敏感度是指在供電服務(wù)過(guò)程中客戶通過(guò)多種渠道或形式對(duì)停電關(guān)注度的高低。對(duì)于停電敏感度的研究,最初采用調(diào)研和專家評(píng)價(jià)法[1],隨著大數(shù)據(jù)技術(shù)發(fā)展,一些專家學(xué)者提出采取決策樹(shù)、邏輯回歸、熵值法、相關(guān)性分析法等算法[2-5]構(gòu)建停電敏感度模型,但存在建模影響因素考慮不全面,缺乏大數(shù)據(jù)平臺(tái)支撐,預(yù)測(cè)準(zhǔn)確率偏低,應(yīng)用場(chǎng)景單薄等問(wèn)題?;陔S機(jī)森林算法,充分吸納停送電相關(guān)數(shù)據(jù)進(jìn)行建模,且能較好地適應(yīng)正負(fù)樣本不平衡問(wèn)題?;诜植际轿募到y(tǒng)(Hadoop Distributed File System,HDFS)和Spark 計(jì)算引擎搭建的大數(shù)據(jù)平臺(tái)上分析計(jì)算,應(yīng)用于“事前計(jì)劃停電優(yōu)化安排”“事中故障停電服務(wù)補(bǔ)救”和“事后頻停投訴風(fēng)險(xiǎn)防范”等電力服務(wù)場(chǎng)景。
預(yù)測(cè)客戶的停電敏感度本質(zhì)是分類問(wèn)題[6]。隨機(jī)森林是一種常用于解決分類問(wèn)題的集成學(xué)習(xí)方法,集成眾多決策樹(shù),當(dāng)輸入待分類的樣本時(shí),每棵決策樹(shù)均參與投票,以多數(shù)投票輸出分類結(jié)果。該方法訓(xùn)練速度快,能夠處理高維數(shù)據(jù),對(duì)多元共線性不敏感,對(duì)處理缺失數(shù)據(jù)和非平衡的數(shù)據(jù)表現(xiàn)較好,模型泛化能力強(qiáng)[7-8]。基于樣本Bagging 和特征隨機(jī)子空間,每棵決策樹(shù)的樣本訓(xùn)練集S(i),由總樣本S 中有放回地抽取與S 等量的樣本組成;決策樹(shù)內(nèi)部節(jié)點(diǎn)是從全部屬性中隨機(jī)抽取組成,通過(guò)選擇最優(yōu)屬性來(lái)分裂節(jié)點(diǎn),生成第i 棵決策樹(shù),最終組成隨機(jī)森林。決策樹(shù)訓(xùn)練流程如圖1 所示。
圖1 隨機(jī)森林中決策樹(shù)訓(xùn)練流程
單棵決策樹(shù)的構(gòu)造是選擇信息增益最大的屬性作為樹(shù)節(jié)點(diǎn),然后在子樹(shù)上分別重復(fù)劃分搜索過(guò)程,直到滿足一個(gè)停止生長(zhǎng)規(guī)則為止。分支屬性值選擇采用ID3 算法,即計(jì)算屬性值的信息增益,計(jì)算方法如下:
1)訓(xùn)練集S 的信息期望值
式中:S 是訓(xùn)練集,分為m 類;ui是第i 類的樣本量;P(ui)為ui在訓(xùn)練集S 中出現(xiàn)的概率。
2)屬性A 的信息熵
式中:A 為訓(xùn)練集中的某一屬性;V(A)為屬性A 所有取值的集合;v 為A 的其中一個(gè)屬性值;Sv是S 中A 的值為v 的樣例集合,|Sv|為Sv中所含樣本數(shù)。
3)屬性A 的信息增益
信息增益G(S,A)越大,表示屬性A 對(duì)于分類提供的信息量越大。將信息增益最大的屬性作為根節(jié)點(diǎn),根據(jù)根節(jié)點(diǎn)屬性的取值將訓(xùn)練集分為若干子集,在各子集中選擇信息增益值最大的屬性作為子集的根節(jié)點(diǎn),循環(huán)遞歸,形成一棵決策樹(shù)。
建模流程分為模型訓(xùn)練和模型預(yù)測(cè)2 步。模型訓(xùn)練是基于訓(xùn)練集,采用隨機(jī)森林算法建立預(yù)測(cè)模型。模型預(yù)測(cè)是輸入待分類的數(shù)據(jù),基于預(yù)測(cè)模型輸出分類結(jié)果。周期性更新訓(xùn)練集和將預(yù)測(cè)結(jié)果反饋給模型,讓模型不斷迭代優(yōu)化。模型的訓(xùn)練和預(yù)測(cè)流程如圖2 所示。
圖2 隨機(jī)森林建模流程
圖2 中,模型訓(xùn)練各環(huán)節(jié)說(shuō)明如下。
1)歷史樣本數(shù)據(jù)?;趯<矣懻?、基層調(diào)研,梳理模型寬表和分類規(guī)則,提取歷史數(shù)據(jù)作為訓(xùn)練集。
2)數(shù)據(jù)預(yù)處理。對(duì)訓(xùn)練集中數(shù)值型數(shù)據(jù)用均值填充方法填充,對(duì)類別型數(shù)據(jù)用預(yù)指定的缺失類別進(jìn)行填;采用信息增益法篩選模型寬表中特征字段,作為建模字段。
3)隨機(jī)森林訓(xùn)練。采用隨機(jī)森林算法訓(xùn)練得到預(yù)測(cè)模型。
4)模型驗(yàn)證及優(yōu)化。通過(guò)部分新的數(shù)據(jù),采用十折交叉驗(yàn)證方式評(píng)估模型準(zhǔn)確率;調(diào)整采樣方式和采樣比例優(yōu)化模型準(zhǔn)確率。
5)輸出模型。將準(zhǔn)確率最優(yōu)的模型作為輸出模型。
大數(shù)據(jù)平臺(tái)用于數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)預(yù)處理、模型訓(xùn)練、模型預(yù)測(cè)[9]。采用HDFS 建立分布式存儲(chǔ)系統(tǒng),基于Spark 內(nèi)存并行框架作為大數(shù)據(jù)計(jì)算系統(tǒng),使用Spark MLlib 提供的隨機(jī)森林作為分類算法,設(shè)計(jì)并行數(shù)據(jù)預(yù)處理和分類評(píng)估構(gòu)建預(yù)測(cè)模型。Spark 基于內(nèi)存運(yùn)算,速度比Hadoop 有明顯提升[10]。
大數(shù)據(jù)平臺(tái)由分布式集群組成,包含9 個(gè)節(jié)點(diǎn)PC 機(jī),節(jié)點(diǎn)之間可以免密碼SSH 訪問(wèn),每臺(tái)PC 機(jī)裝有虛擬機(jī)和Linux 操作系統(tǒng)。每個(gè)節(jié)點(diǎn)PC 機(jī)CPU為雙核4 線程,主頻2.2 GHz,內(nèi)存8 GB,硬盤(pán)500 GB,其中一個(gè)節(jié)點(diǎn)作為主節(jié)點(diǎn),其他的PC 均作為數(shù)據(jù)節(jié)點(diǎn)。主節(jié)點(diǎn)是大數(shù)據(jù)平臺(tái)管理節(jié)點(diǎn),負(fù)責(zé)集群資源分配、作業(yè)調(diào)度,以及平臺(tái)空間管理與維護(hù);數(shù)據(jù)節(jié)點(diǎn)負(fù)責(zé)數(shù)據(jù)存儲(chǔ)和運(yùn)行任務(wù)。模型工具采用開(kāi)源軟件:JDK 版本(1.7.0)、Hadoop 版本(1.2.0)、Scala 版本(2.10.4)、Spark 版本(1.6.0)。大數(shù)據(jù)平臺(tái)拓?fù)淙鐖D3 所示。
圖3 大數(shù)據(jù)平臺(tái)拓?fù)?/p>
大數(shù)據(jù)平臺(tái)的操作界面部署在客戶端,從電力信息內(nèi)網(wǎng)抽取寬表數(shù)據(jù),處理為模型訓(xùn)練集和預(yù)測(cè)集,導(dǎo)入大數(shù)據(jù)平臺(tái),經(jīng)數(shù)據(jù)預(yù)處理、模型訓(xùn)練、模型預(yù)測(cè),最終將預(yù)測(cè)結(jié)果返回客戶端,結(jié)合業(yè)務(wù)需求將應(yīng)用級(jí)數(shù)據(jù)傳輸?shù)诫娏π畔?nèi)網(wǎng)。
定義停電后通過(guò)95598 供電服務(wù)熱線、供電營(yíng)業(yè)廳、電子渠道等渠道產(chǎn)生咨詢、報(bào)修、投訴等訴求的客戶為敏感客戶,反之為不敏感客戶。預(yù)測(cè)模型是計(jì)算停電后客戶可能產(chǎn)生訴求的概率,區(qū)間為[0,1],其中:[0,0.5]為停電不敏感,(0.5,1]為停電敏感。梳理出59 個(gè)與停電敏感度可能相關(guān)的寬表字段,經(jīng)數(shù)據(jù)預(yù)處理選擇40 個(gè)特征值參與建模。以某市電網(wǎng)2016 年1—6 月份461.12 萬(wàn)條停送電數(shù)據(jù)為例,開(kāi)展模型研究。其中,正負(fù)樣本分布極不均勻,正樣本為0.27 萬(wàn)條,因此采用不同比例的上采樣實(shí)驗(yàn),并與無(wú)采樣和傳統(tǒng)統(tǒng)計(jì)方法比對(duì),最優(yōu)化模型預(yù)測(cè)準(zhǔn)確率。
模型寬表是模型的輸入字段,選取合適的模型寬表關(guān)系到模型的準(zhǔn)確率。綜合用電客戶基本信息、用電信息、停電信息、負(fù)荷信息、95598 訴求信息等多維度與停電敏感度相關(guān)字段,源于95598 業(yè)務(wù)支持系統(tǒng)、營(yíng)銷業(yè)務(wù)系統(tǒng)、用電采集系統(tǒng)等系統(tǒng)的原始字段和衍生字段,共計(jì)59 個(gè),維度分類如表1 所示。
2.2.1 數(shù)據(jù)質(zhì)量提升
目前很多95598 訴求工單因用電客戶編號(hào)、臺(tái)區(qū)信息不全,無(wú)法定位到具體停電臺(tái)區(qū),導(dǎo)致客戶訴求無(wú)法關(guān)聯(lián)到停電信息,為此,制定以下4 種方法提升關(guān)聯(lián)度。
1)對(duì)于已辦結(jié)的故障報(bào)修工單,有客戶編號(hào)或臺(tái)區(qū)信息的可關(guān)聯(lián)至對(duì)應(yīng)的停電臺(tái)區(qū),通過(guò)工單受理時(shí)間關(guān)聯(lián)停電信息;或者提取工單受理意見(jiàn)中備注的停電信息進(jìn)行關(guān)聯(lián)。
2)故障報(bào)修工單的受理時(shí)間晚于實(shí)際故障停電時(shí)間,可將報(bào)修工單的受理時(shí)間拓展至當(dāng)日,擴(kuò)大關(guān)聯(lián)停電信息的范圍。
3)業(yè)務(wù)咨詢工單的受理時(shí)間早于計(jì)劃停電的實(shí)際執(zhí)行時(shí)間,可將業(yè)務(wù)咨詢中計(jì)劃、臨時(shí)停電信息咨詢工單的受理時(shí)間往前拓展7 天,擴(kuò)大關(guān)聯(lián)停電信息的范圍。
表1 停電敏感度預(yù)測(cè)模型寬表字段
4)綜合分析營(yíng)銷業(yè)務(wù)系統(tǒng)和用電采集系統(tǒng)中的停電數(shù)據(jù),針對(duì)短時(shí)停電事件或人工錄入錯(cuò)誤,可能造成營(yíng)銷業(yè)務(wù)系統(tǒng)中停電信息發(fā)布不規(guī)范,通過(guò)并入采集系統(tǒng)正確的停電數(shù)據(jù),修復(fù)營(yíng)銷業(yè)務(wù)系統(tǒng)中的停電信息,提高訴求與停電信息的關(guān)聯(lián)度。
2.2.2 數(shù)據(jù)填充
數(shù)據(jù)通常存在缺失或錯(cuò)漏,特別是停送電訴求工單中用電客戶編號(hào)、臺(tái)區(qū)信息存在缺失的現(xiàn)象,若將這些值拋棄掉,將嚴(yán)重影響敏感度識(shí)別的計(jì)算結(jié)果。為了達(dá)到更好的建模效果,采用均值插補(bǔ)方式對(duì)缺失值進(jìn)行填充處理。
2.2.3 特征選擇
考慮到其他字段權(quán)重較低,采用信息增益法在模型寬表中選取排名在前15 的信息增益作為特征字段,用于模型訓(xùn)練。特征字段信息增益越大,表示對(duì)建模影響程度越大。特征字段信息增益權(quán)重如表2 所示。
利用查全率和查準(zhǔn)率衡量預(yù)測(cè)模型的精度[11],并通過(guò)調(diào)整采樣方式和比例,不斷優(yōu)化模型精度。設(shè)TP為預(yù)測(cè)正確的停電敏感客戶數(shù),F(xiàn)P為預(yù)測(cè)錯(cuò)誤的停電敏感客戶數(shù),F(xiàn)N為預(yù)測(cè)錯(cuò)誤的停電不敏感客戶數(shù),TN為預(yù)測(cè)正確的停電不敏感客戶數(shù)。
表2 停電敏感度預(yù)測(cè)模型建模字段權(quán)重
查準(zhǔn)率Z 指模型預(yù)測(cè)正確數(shù)占預(yù)測(cè)的停電敏感客戶數(shù)的比例
查全率R 指模型預(yù)測(cè)正確數(shù)占實(shí)際的停電敏感客戶數(shù)的比例
Z 和R 指標(biāo)會(huì)存在不一致的情況,需綜合考慮,最常見(jiàn)的方法是采用F 測(cè)度,F(xiàn) 測(cè)度是查全率和查準(zhǔn)率加權(quán)調(diào)和平均值
模型訓(xùn)練集無(wú)采樣方式的正負(fù)樣本比例為1∶795,通過(guò)增加正樣本占比,對(duì)比不同上采樣比例,以及傳統(tǒng)統(tǒng)計(jì)方式的預(yù)測(cè)準(zhǔn)確率,選擇最優(yōu)采樣方式。結(jié)果表明:無(wú)采樣方式能準(zhǔn)確識(shí)別停電敏感客戶,上采樣方式能識(shí)別更多的敏感客戶,傳統(tǒng)統(tǒng)計(jì)方式的查全率和查準(zhǔn)率均低于無(wú)采樣方式,且無(wú)采樣方式的F 測(cè)度均高于其他2 種方式(較傳統(tǒng)方式提升6 倍),故選擇無(wú)采樣方式建模。不同采樣方式下預(yù)測(cè)準(zhǔn)確率如表3 所示。
表3 不同采樣方式下預(yù)測(cè)準(zhǔn)確率
在有百萬(wàn)級(jí)用電客戶的某市電網(wǎng)試點(diǎn),采用傳統(tǒng)統(tǒng)計(jì)方法預(yù)測(cè)停電敏感客戶的準(zhǔn)確率不足10%。應(yīng)用停電敏感度預(yù)測(cè)模型,在“優(yōu)先保障查準(zhǔn)率,最大化查全率”的原則下,不斷迭代優(yōu)化模型參數(shù)。2016 年7 月至2017 年10 月的典型月份(不含臺(tái)風(fēng)等災(zāi)害天氣月份和春節(jié)保電月份)數(shù)據(jù)表明:查準(zhǔn)率呈上升趨勢(shì),2017 年模型查準(zhǔn)率均超過(guò)98%,查全率均超過(guò)18%。模型實(shí)際應(yīng)用的準(zhǔn)確率情況如表4所示。
表4 實(shí)際應(yīng)用下模型準(zhǔn)確率
通過(guò)進(jìn)一步分析停電敏感客戶的敏感特征,有效支撐供電公司停送電服務(wù)精益化管理,使得計(jì)劃停電安排和配網(wǎng)改造科學(xué)合理,搶修策略和停電安撫有的放矢,風(fēng)險(xiǎn)防范有效提升,減少客戶停電投訴,進(jìn)一步改善客戶體驗(yàn)。供電公司主要應(yīng)用場(chǎng)景如下:
1)事前計(jì)劃停電優(yōu)化安排。分析停電敏感客戶的停電敏感時(shí)長(zhǎng)、敏感時(shí)段、敏感次數(shù)、敏感間隔等特征,供生產(chǎn)部門在月度停電平衡會(huì)時(shí)參考,支撐優(yōu)化計(jì)劃停電的影響范圍、停電日期、停電時(shí)段和停電時(shí)長(zhǎng),降低計(jì)劃停電帶來(lái)的客戶服務(wù)風(fēng)險(xiǎn)。
2)事中故障停電服務(wù)補(bǔ)救。分析停電敏感客戶的停電敏感時(shí)段、敏感時(shí)長(zhǎng),定位當(dāng)前停電影響的敏感客戶分布區(qū)域,支撐搶修策略和安撫策略制訂,優(yōu)先搶修敏感客戶集中且高敏感客戶較多的線路,縮小片區(qū)經(jīng)理(臺(tái)區(qū)經(jīng)理)安撫范圍,分策略采用上門、電話、短信、微信等服務(wù)補(bǔ)救方式,告知搶修進(jìn)展和預(yù)計(jì)恢復(fù)送電時(shí)間,降低故障停電對(duì)客戶產(chǎn)生的不良感知。
3)事后頻停投訴風(fēng)險(xiǎn)防范。將停電敏感客戶中近2 個(gè)月停電2 次及以上的,作為頻停投訴高風(fēng)險(xiǎn)客戶,對(duì)于集中區(qū)域合理規(guī)劃配網(wǎng)線路和臺(tái)區(qū)改造,提前采取服務(wù)補(bǔ)救、停電優(yōu)化等措施,降低頻停投訴。
基于停電敏感度預(yù)測(cè)模型應(yīng)用,2017 年用電客戶的停送電相關(guān)訴求同比下降20.75%,屬供電公司責(zé)任的頻繁停電投訴同比下降40.30%,故障報(bào)修滿意率提升0.22 個(gè)百分點(diǎn)。生命線工程、重要客戶、大中型小區(qū)的停送電投訴0 件,停電超10 h 的大中型小區(qū)數(shù)量同比下降74.25%。
提出采用隨機(jī)森林算法預(yù)測(cè)用電客戶的停電敏感度的方法,建模過(guò)程中對(duì)比不同采樣方式的模型準(zhǔn)確率,隨機(jī)森林算法表現(xiàn)出較好的非平衡數(shù)據(jù)的處理能力,搭建了大數(shù)據(jù)平臺(tái)處理海量建模數(shù)據(jù),較傳統(tǒng)統(tǒng)計(jì)方式,該模型預(yù)測(cè)停電敏感客戶的查準(zhǔn)率和查全率更為出色。預(yù)測(cè)結(jié)果應(yīng)用到供電公司的“事前—事中—事后”停送電服務(wù)管理中,能夠有效防范停送電服務(wù)風(fēng)險(xiǎn),提升客戶滿意度,優(yōu)化電力營(yíng)商環(huán)境。下一步,將從供電公司內(nèi)部協(xié)同和信息系統(tǒng)改造兩方面提升建模數(shù)據(jù)質(zhì)量,進(jìn)一步提升模型預(yù)測(cè)準(zhǔn)確率。