99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線(xiàn)電話(huà):13121318867

登錄
首頁(yè)案例分享電力竊漏電用戶(hù)識(shí)別案例
電力竊漏電用戶(hù)識(shí)別案例
2021-03-08
收藏
一、案例綜述
案例編號(hào):
102003

案例名稱(chēng):
電力、熱力、燃?xì)饧八a(chǎn)和供應(yīng)業(yè)——電力竊漏電用戶(hù)識(shí)別

作者姓名(或單位、或來(lái)源):
朱江

案例所屬行業(yè):
D442 電力供應(yīng)

案例所用軟件:
R

案例包含知識(shí)點(diǎn):
拉格朗日插補(bǔ),神經(jīng)網(wǎng)絡(luò),CART決策樹(shù),ROC曲線(xiàn)

案例描述:
目標(biāo):防竊漏電,找出可能存在竊漏電的可疑用戶(hù)做進(jìn)一步處理
傳統(tǒng)方法:定期巡檢、定期校驗(yàn)電表、用戶(hù)舉報(bào)竊電
缺點(diǎn):對(duì)人依賴(lài)性強(qiáng),目標(biāo)不明確,工作量大

目前常用方法:利用計(jì)量異常報(bào)警功能,電能量數(shù)據(jù)查詢(xún)功能,進(jìn)行用戶(hù)用電情況的在線(xiàn)監(jiān)督。采集的信息主要有:電量異常、負(fù)荷異常、終端報(bào)警、主站報(bào)警、線(xiàn)損異常等。根據(jù)報(bào)警事件發(fā)生前后客戶(hù)計(jì)量點(diǎn)有關(guān)的數(shù)據(jù)情況(電流、電壓、負(fù)荷),構(gòu)建基于指標(biāo)加權(quán)的用電異常分析模型。


缺點(diǎn):終端誤報(bào)漏報(bào)過(guò)多,以致無(wú)法高效高速定位。指標(biāo)權(quán)重拍腦門(mén),需要專(zhuān)家的知識(shí)和經(jīng)驗(yàn),主觀(guān)性可能會(huì)導(dǎo)致不準(zhǔn)確。

分析過(guò)程:
要剔除不可能存在漏電的大用戶(hù),如銀行、稅務(wù)、學(xué)校、工商。用電負(fù)荷隨著時(shí)間的變化才有價(jià)值,而終端報(bào)警存在誤報(bào)和漏報(bào),而這些數(shù)據(jù)都能夠幫助總結(jié)用戶(hù)竊漏電的行為規(guī)律,即通過(guò)預(yù)處理提煉出描述用戶(hù)竊漏電特征的相關(guān)指標(biāo),最終得到建模使用的專(zhuān)家樣本數(shù)據(jù)集,然后開(kāi)始建模等工作。主要步驟如下:

1.從電力計(jì)量自動(dòng)化系統(tǒng)、營(yíng)銷(xiāo)系統(tǒng)有選擇性地抽取部分大用戶(hù)用電負(fù)荷、終端報(bào)警及違約竊電處罰信息等原始數(shù)據(jù)。
2.剔除白名單用戶(hù),即不可能存在漏電的用戶(hù)。描述性和探索性分析正常用戶(hù)和竊漏電用戶(hù)的用電特征。
3.處理樣本缺失值,通過(guò)經(jīng)驗(yàn)構(gòu)建特征指標(biāo),形成專(zhuān)家數(shù)據(jù)集
4.構(gòu)建竊漏電用戶(hù)識(shí)別模型
5.模型落地,在線(xiàn)監(jiān)測(cè)用戶(hù)用電負(fù)荷及終端報(bào)警,調(diào)用模型實(shí)現(xiàn)實(shí)時(shí)診斷。
6.通過(guò)對(duì)診斷結(jié)果的評(píng)估,優(yōu)化或者重構(gòu)模型

數(shù)據(jù)預(yù)處理:
剔除白名單用戶(hù),這里把這些用戶(hù)歸為非居民類(lèi)別
剔除節(jié)假日用電數(shù)據(jù),根據(jù)業(yè)務(wù)經(jīng)驗(yàn)節(jié)假日用電量明顯偏低(大部分用戶(hù)為企業(yè)用戶(hù))

如果直接將缺失值剔除,會(huì)嚴(yán)重影響供出電量的計(jì)算結(jié)果,從而導(dǎo)致日線(xiàn)損率誤差很大,故本案例采用拉格朗日插值法對(duì)缺失值填補(bǔ)。
拉格朗日插補(bǔ)可以選取缺失值前后5個(gè)數(shù)據(jù)或者和鄰近缺失值之間的所有數(shù)據(jù),組成一組,使用如下公式:

其中x為缺失值對(duì)應(yīng)的序號(hào),x_i為非缺失值y_i的序號(hào),對(duì)全部缺失值依次填補(bǔ),直到不存在缺失值。

3.數(shù)據(jù)變換
需要通過(guò)新的評(píng)價(jià)指標(biāo)來(lái)表征竊漏電用戶(hù)的行為規(guī)律,故根據(jù)業(yè)務(wù)經(jīng)驗(yàn)和專(zhuān)業(yè)理論引出三個(gè)評(píng)價(jià)指標(biāo):電量趨勢(shì)下降指標(biāo)、線(xiàn)損指標(biāo)、告警類(lèi)指標(biāo)
電量趨勢(shì)下降指標(biāo):取統(tǒng)計(jì)當(dāng)天及前后五天共11天的數(shù)據(jù),通過(guò)線(xiàn)性擬合計(jì)算斜率,如果當(dāng)天的斜率小于前一天的,則計(jì)數(shù)加1,可以據(jù)此計(jì)算敏感時(shí)期內(nèi)的總計(jì)數(shù)。
線(xiàn)損指標(biāo):線(xiàn)損率具體查看相關(guān)電學(xué)知識(shí),取當(dāng)天及前五天線(xiàn)損均值,當(dāng)天及后五天線(xiàn)損均值比較,如果增長(zhǎng)率大于1%,則記為1,否則為0
告警類(lèi)指標(biāo):取自終端報(bào)警次數(shù)總和

本案例共包含五個(gè)知識(shí)點(diǎn):
1.拉格朗日插值法:使用拉格朗日填補(bǔ)法填補(bǔ)缺失值
2.數(shù)據(jù)清洗及轉(zhuǎn)換:通過(guò)作圖在時(shí)間維度上查看前后5天內(nèi)的電量均值變化趨勢(shì);計(jì)算電量下降趨勢(shì)指標(biāo);計(jì)算線(xiàn)損指標(biāo)
3.數(shù)據(jù)劃分:劃分訓(xùn)練樣本和測(cè)試樣本,方便比對(duì)模型的有效性
4.神經(jīng)網(wǎng)絡(luò)建模:運(yùn)用較為簡(jiǎn)單的BP神經(jīng)網(wǎng)絡(luò)建立分類(lèi)模型
5.構(gòu)建CART決策樹(shù)模型
6.模型評(píng)價(jià):利用ROC曲線(xiàn)在測(cè)試集上評(píng)價(jià)模型

案例執(zhí)行形式:
單人上機(jī)

二、案例知識(shí)點(diǎn):
知識(shí)點(diǎn)1:
知識(shí)點(diǎn)名稱(chēng):拉格朗日插值法

知識(shí)點(diǎn)所屬工作角色:

知識(shí)點(diǎn)背景:
處理缺失值的一種插補(bǔ)方式

知識(shí)點(diǎn)描述
采用拉格朗日多項(xiàng)式插補(bǔ)公式對(duì)缺失值進(jìn)行插補(bǔ)

知識(shí)點(diǎn)關(guān)鍵詞:
拉格朗日多項(xiàng)式 缺失值插補(bǔ)

知識(shí)點(diǎn)所用軟件:
Rstudio

操作目的:
能夠自主編程實(shí)現(xiàn)拉格朗日插補(bǔ)

知識(shí)點(diǎn)素材(包括數(shù)據(jù)):
missing_data.xls

操作步驟:
1.啟動(dòng)Rstudio
2.使用setwd()函數(shù)設(shè)置工作目錄,將數(shù)據(jù)文件拷貝至工作目錄下
3.加載xlsx包,讀取素材文件,.xls格式
4.根據(jù)拉格朗日插值法創(chuàng)建拉格朗日插值函數(shù)

5.創(chuàng)建自動(dòng)替換數(shù)據(jù)框缺失值的函數(shù),找到每個(gè)缺失值,并且讀取每個(gè)缺失值前后五個(gè)或者距離上個(gè)缺失值之間的數(shù)值,采用之前創(chuàng)建的拉格朗日插值函數(shù)填補(bǔ)。

6.對(duì)讀取到的數(shù)據(jù)應(yīng)用上一步的函數(shù)處理,并且保存
 
處理前后對(duì)比如下:
   
操作結(jié)果:
數(shù)據(jù)前后對(duì)比如上圖
將R代碼文件保存為newdata.csv以備后續(xù)使用。

知識(shí)點(diǎn)小結(jié):
拉格朗日插值法目前現(xiàn)成的函數(shù)都是用于擬合多項(xiàng)式,插值填補(bǔ)的話(huà)可以自己寫(xiě)函數(shù)并且取自己覺(jué)得合適的前后數(shù)據(jù)處理

知識(shí)點(diǎn)2:
知識(shí)點(diǎn)名稱(chēng):數(shù)據(jù)清洗及轉(zhuǎn)換

知識(shí)點(diǎn)所屬工作角色:
數(shù)據(jù)清洗及轉(zhuǎn)換

知識(shí)點(diǎn)背景:
通過(guò)業(yè)務(wù)邏輯按照條件篩選數(shù)據(jù),關(guān)鍵點(diǎn)在于按照條件篩選,以及理解業(yè)務(wù)邏輯,進(jìn)而計(jì)算需要的指標(biāo)

知識(shí)點(diǎn)描述
使用階躍函數(shù)按條件篩選數(shù)據(jù)
創(chuàng)建函數(shù)

知識(shí)點(diǎn)關(guān)鍵詞:
篩選變量 創(chuàng)建函數(shù)

知識(shí)點(diǎn)所用軟件:
Rstudio

操作目的:
篩選數(shù)據(jù)
按照業(yè)務(wù)邏輯生成新指標(biāo)

知識(shí)點(diǎn)素材(包括數(shù)據(jù)):
用戶(hù)日用電量.xls

操作步驟:
1.讀取數(shù)據(jù):用戶(hù)日用電量.xls
2.進(jìn)行簡(jiǎn)單的數(shù)據(jù)清洗,讀取行數(shù)
3.通過(guò)循環(huán),用自建函數(shù)篩選觀(guān)測(cè),計(jì)算日均電量,多日電量斜率,日均線(xiàn)損

4.作日均電量的點(diǎn)線(xiàn)圖,注意圖形參數(shù)的調(diào)整,加入回歸線(xiàn),以及原始的電量數(shù)據(jù)
5.將圖形輸出到外部設(shè)備上,即輸出mat.png文件

 

得到圖形如上所示
使用上上步計(jì)算得到的數(shù)據(jù)計(jì)算電量趨勢(shì)下降指標(biāo)、線(xiàn)損指標(biāo)、并且結(jié)合對(duì)應(yīng)的時(shí)間以區(qū)分
將得到的指標(biāo)放在數(shù)據(jù)框內(nèi),并且輸出到文件pro.csv中
 
得到的文件部分內(nèi)容如下


操作結(jié)果:
生成圖形觀(guān)察日均電量相對(duì)于原始電量的變化趨勢(shì),從而判斷用戶(hù)是否為可以的竊漏電用戶(hù)
生成新指標(biāo),并且輸出新指標(biāo)的表格

知識(shí)點(diǎn)小結(jié):
主要涉及到通過(guò)階躍函數(shù)按照業(yè)務(wù)邏輯篩選觀(guān)測(cè),按照業(yè)務(wù)邏輯構(gòu)建新指標(biāo),輸出新指標(biāo)的趨勢(shì)圖以及統(tǒng)計(jì)表格

知識(shí)點(diǎn)3:
知識(shí)點(diǎn)名稱(chēng):數(shù)據(jù)劃分

知識(shí)點(diǎn)所屬工作角色:
數(shù)據(jù)劃分

知識(shí)點(diǎn)背景:
數(shù)據(jù)劃分是在進(jìn)行數(shù)據(jù)清洗和描述性分析后,在建模之前必備的一步,由于很多訓(xùn)練模型很容易出現(xiàn)過(guò)擬合的狀況,所以需要通過(guò)獨(dú)立于訓(xùn)練數(shù)據(jù)的測(cè)試數(shù)據(jù)來(lái)觀(guān)察模型實(shí)際應(yīng)用在新數(shù)據(jù)上的效果。

知識(shí)點(diǎn)描述
數(shù)據(jù)劃分

知識(shí)點(diǎn)關(guān)鍵詞:
數(shù)據(jù)劃分 

知識(shí)點(diǎn)所用軟件:
Rstudio

操作目的:
對(duì)清洗后的數(shù)據(jù)進(jìn)行數(shù)據(jù)劃分

知識(shí)點(diǎn)素材(包括數(shù)據(jù)):
model.csv

操作步驟:
1.讀取數(shù)據(jù),創(chuàng)建符合七三比例的隨機(jī)數(shù)

2.根據(jù)創(chuàng)建的隨機(jī)數(shù)生成訓(xùn)練集和測(cè)試集,并且寫(xiě)入文件
 
操作結(jié)果:
生成兩個(gè)數(shù)據(jù)文件,訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)

知識(shí)點(diǎn)小結(jié):
本知識(shí)點(diǎn)只是對(duì)數(shù)據(jù)進(jìn)行了簡(jiǎn)單的分割,分成訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù),有興趣的同學(xué)可以進(jìn)一步使用交叉驗(yàn)證進(jìn)行進(jìn)一步的模型選擇

知識(shí)點(diǎn)4:
知識(shí)點(diǎn)名稱(chēng):神經(jīng)網(wǎng)絡(luò)建模

知識(shí)點(diǎn)所屬工作角色:

知識(shí)點(diǎn)背景:
使用神經(jīng)網(wǎng)絡(luò)構(gòu)建分類(lèi)模型

知識(shí)點(diǎn)描述

知識(shí)點(diǎn)關(guān)鍵詞:

知識(shí)點(diǎn)所用軟件:
Rstudio

操作目的:
熟悉使用BP神經(jīng)網(wǎng)絡(luò)建模的基本過(guò)程

知識(shí)點(diǎn)素材(包括數(shù)據(jù)):
traindata.csv

操作步驟:
1.讀取數(shù)據(jù),將預(yù)測(cè)列轉(zhuǎn)換為因子列
 

3.根據(jù)模型預(yù)測(cè)訓(xùn)練集,計(jì)算混淆矩陣、準(zhǔn)確率
 
4.將預(yù)測(cè)結(jié)果與訓(xùn)練集橫向合并并且輸出到output.csv文件,將模型輸出到nnetmodel.RData文件

操作結(jié)果:
得到的混淆矩陣如下

得到的準(zhǔn)確率是94.17


知識(shí)點(diǎn)小結(jié):

神經(jīng)網(wǎng)絡(luò)模型的關(guān)鍵在于參數(shù)的選擇,而參數(shù)涉及到隱層層數(shù),每層節(jié)點(diǎn)數(shù),學(xué)習(xí)率或者衰減率,最大迭代次數(shù)等等。而R中一些常見(jiàn)的神經(jīng)網(wǎng)絡(luò)的包有自己的計(jì)算邏輯也需要進(jìn)一步了解。

知識(shí)點(diǎn)5:
知識(shí)點(diǎn)名稱(chēng):構(gòu)建CART決策樹(shù)模型

知識(shí)點(diǎn)所屬工作角色:

知識(shí)點(diǎn)背景:
使用CART決策樹(shù)構(gòu)建分類(lèi)模型

知識(shí)點(diǎn)描述

知識(shí)點(diǎn)關(guān)鍵詞:

知識(shí)點(diǎn)所用軟件:
Rstudio

操作目的:
熟悉使用cart決策樹(shù)建模的基本過(guò)程

知識(shí)點(diǎn)素材(包括數(shù)據(jù)):
traindata.csv

操作步驟:
1.讀取數(shù)據(jù),將預(yù)測(cè)列轉(zhuǎn)換為因子列

2.使用cart決策樹(shù)建模,總結(jié)模型并且畫(huà)出決策樹(shù)

 

3.根據(jù)模型預(yù)測(cè)訓(xùn)練集,計(jì)算混淆矩陣、準(zhǔn)確率

4.將預(yù)測(cè)結(jié)果與訓(xùn)練集橫向合并并且輸出到output1.csv文件,將模型輸出到treemodel.RData文件

操作結(jié)果:
得到的混淆矩陣如下
 
得到的準(zhǔn)確率是92.72

知識(shí)點(diǎn)小結(jié):
決策樹(shù)只能做比較簡(jiǎn)單的分類(lèi),復(fù)雜的分類(lèi)在精確度要求高的時(shí)候需要用到隨機(jī)森林

知識(shí)點(diǎn)6:
知識(shí)點(diǎn)名稱(chēng):模型評(píng)價(jià)

知識(shí)點(diǎn)所屬工作角色:
模型評(píng)價(jià)

知識(shí)點(diǎn)背景:
模型評(píng)價(jià):利用ROC曲線(xiàn)在測(cè)試集上評(píng)價(jià)模型

知識(shí)點(diǎn)描述
模型評(píng)價(jià)

知識(shí)點(diǎn)關(guān)鍵詞:
ROC曲線(xiàn)

知識(shí)點(diǎn)所用軟件:
Rstudio

操作目的:
熟悉使用ROC曲線(xiàn)評(píng)價(jià)模型

知識(shí)點(diǎn)素材(包括數(shù)據(jù)):
testdata.csv nnetmodel.RData treemodel.RData

操作步驟:
1.讀取數(shù)據(jù),讀取兩個(gè)模型數(shù)據(jù)

2.在測(cè)試數(shù)據(jù)集上繪制神經(jīng)網(wǎng)絡(luò)模型的ROC曲線(xiàn)

 

3.在測(cè)試數(shù)據(jù)集上繪制決策樹(shù)的ROC曲線(xiàn)

 

操作結(jié)果:
得到的ROC曲線(xiàn)如前所示,可見(jiàn)神經(jīng)網(wǎng)絡(luò)ROC曲線(xiàn)下的面積更大,說(shuō)明神經(jīng)網(wǎng)絡(luò)分類(lèi)模型的分類(lèi)性能較好

知識(shí)點(diǎn)小結(jié):
ROC曲線(xiàn)常用來(lái)在測(cè)試集上檢測(cè)用于分類(lèi)的模型的好壞

數(shù)據(jù)分析咨詢(xún)請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線(xiàn)
立即咨詢(xún)
客服在線(xiàn)
立即咨詢(xún)
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶(hù)后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }