版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于聚類算法的異常用電行為檢測實證研究摘要電力損失包括技術(shù)性損失和非技術(shù)性損失,目前國內(nèi)外供電企業(yè)線路損失率居高不下,其最大的原因就是非技術(shù)性損失下的異常用電現(xiàn)象十分嚴(yán)重。為了有效的遏制非技術(shù)性電力損失,國內(nèi)外專家提出了智能電網(wǎng)的概念,智能電網(wǎng)在終端用戶和電力公司之間建立了雙向通信渠道,使用戶用電信息采集的規(guī)模和速度得到了提高。異常用電行為檢測就是利用海量用戶用電數(shù)據(jù),建立模型結(jié)合數(shù)據(jù)挖掘算法來準(zhǔn)確定位出異常用電點,在維護電力市場正常運轉(zhuǎn)、確保居民用電安全上發(fā)揮了重要作用。傳統(tǒng)的異常用電檢測方法在分析具有隨機性和不平衡性的海量用電數(shù)據(jù)時存在效率低下的問題。針對上述問題,本文選擇了兩種聚類算法來實現(xiàn)用戶用電異常在線檢測,對比突出哪種聚類算法更適用于異常用電行為的檢測。以K-means算法為例,首先將2019年的用戶用電數(shù)據(jù)作為歷史數(shù)據(jù),使用K-means算法橫向和縱向?qū)τ脩舻臍v史數(shù)據(jù)進(jìn)行聚類,得到用戶的歷史用電行為信息,將2020年的用戶用電數(shù)據(jù)作為實時數(shù)據(jù)然后通過縱向聚類得到用戶的當(dāng)前用電行為信息,最后將用戶的當(dāng)前用電行為信息與同類用戶的用電行為信息以及該用戶的歷史用電行為信息進(jìn)行比較,以此來訓(xùn)練一個模型檢測出異常用戶。DBSCAN算法按上述相同步驟同樣訓(xùn)練出聚類模型來檢測異常用戶。關(guān)鍵詞:異常用電;智能電網(wǎng);非技術(shù)性損失;聚類;異常用電檢測目錄第1章緒論 11.1研究背景與意義 11.2國內(nèi)外研究現(xiàn)狀 21.2.1聚類研究現(xiàn)狀 21.2.2用電異常檢測研究現(xiàn)狀 21.3主要內(nèi)容及工作安排 3第2章聚類相關(guān)知識介紹 42.1聚類算法概述 42.1.1聚類的定義 42.1.2聚類的分類 52.2K-means聚類簡介 52.2.1K-means聚類的原理 52.2.2K-means算法的流程 62.2.3K-means算法的優(yōu)缺點 72.3DBSCAN聚類簡介 82.3.1DBSCAN聚類的原理 92.3.2DBSCAN算法的流程 92.3.3DBSCAN算法的優(yōu)缺點 102.4本章小結(jié) 11第3章
基于聚類的用電異常在線檢測 123.1總體結(jié)構(gòu)設(shè)計 123.2K-means算法編程設(shè)計 133.3DBSCAN算法編程設(shè)計 153.4本章小結(jié) 16第4章模型驗證與結(jié)果分析 174.1實驗數(shù)據(jù) 174.2實驗結(jié)果分析 184.2.1K-means聚類和DBSCAN聚類算法測試 184.2.2用電異常在線檢測 194.3本章小結(jié) 27第5章總結(jié)與展望 285.1本文總結(jié) 285.2展望 29參考文獻(xiàn) 30附錄1:源代碼 33第1章緒論1.1研究背景與意義時代在進(jìn)步,科學(xué)在發(fā)展,一些發(fā)達(dá)國家的智能電網(wǎng)基礎(chǔ)設(shè)施建設(shè)己經(jīng)逐漸完善,由現(xiàn)代化信息系統(tǒng)和傳統(tǒng)能源網(wǎng)絡(luò)組成的新型智能電網(wǎng)系統(tǒng),在遏制非技術(shù)性電力損失上發(fā)揮了充分的作用[1]。據(jù)報道,未來近十年在智能電網(wǎng)基礎(chǔ)設(shè)施建設(shè)上的投資將達(dá)到兩千多億美元[2]。智能電網(wǎng)在終端用戶與電力公司之間建立雙向通信渠道,以此來提高用戶用電信息的采集規(guī)模和速度。通過海量用戶用電數(shù)據(jù),挖掘用戶用電數(shù)據(jù)特征,研究數(shù)據(jù)中潛在的規(guī)律,為電力公司對異常用電行為判斷提功了幫助[3]。新型智能電網(wǎng)系統(tǒng)背景下,電力企業(yè)的正常供電;家庭用戶和企業(yè)用戶的規(guī)范、安全用電;供電企業(yè)的技術(shù)性損失和非技術(shù)性損失以及電力系統(tǒng)中異常用電的檢測都是整個政府企業(yè)供電的重要組成部分,而異常用電檢測是前三部分的重要保障。智能電網(wǎng)配備了用戶用電信息采集系統(tǒng),實現(xiàn)隨時采集用戶用電數(shù)據(jù)的功能,異常用電檢測就是利用用戶用電數(shù)據(jù),建立數(shù)學(xué)模型,結(jié)合數(shù)據(jù)挖掘算法準(zhǔn)確檢測出異常用電點。異常用電行為檢測保障了居民用電安全,遏制了非技術(shù)性損失,維護了電力市場正常運行。由此更要完善智能電網(wǎng)基礎(chǔ)設(shè)施建設(shè),大力發(fā)展用戶用電信息采集系統(tǒng),以確保獲得大量、有效和偏差率低的用電數(shù)據(jù),通過數(shù)據(jù)分析算法,實時快速定位出異常用戶。在用電采集系統(tǒng)中,對于任何類型的用戶來說,用電量是供電企業(yè)來收取電費的重要憑據(jù),而且電費也是保障電力資源被合理消費以防止過度濫用和肆意消費,再者用戶正常繳納電費,電力供電企業(yè)才能正常持續(xù)發(fā)展。但是在現(xiàn)實生活中,除了電力設(shè)備帶來的技術(shù)性損失和維護電力設(shè)備所支出的必需費用,供電企業(yè)還要花費大量人力物力來打擊盜竊電力資源的違法行為。然而現(xiàn)在的異常用電行為檢測方法,只是通過對比用戶過去歷史的用電數(shù)據(jù),缺乏實時性,而且很難及時得出檢測結(jié)果,這對供電企業(yè)來說,已經(jīng)造成了巨大的電力資源經(jīng)濟損失。所以發(fā)展新的異常用電行為檢測方法來提高異常檢測的準(zhǔn)確性、可靠性、實時性以減少電力資源經(jīng)濟損失和減輕工作人員任務(wù)量的意義重大。1.2國內(nèi)外研究現(xiàn)狀1.2.1聚類研究現(xiàn)狀隨著數(shù)據(jù)由過去的簡單、低維演變成現(xiàn)在的復(fù)雜、多維,傳統(tǒng)的那些聚類算法已經(jīng)不能夠解決現(xiàn)在的這些大量、復(fù)雜和高維的數(shù)據(jù)了。在數(shù)據(jù)越來越復(fù)雜的情況推動下,國內(nèi)外學(xué)者對聚類算法的研究便有了更深一層的含義。此外,聚類算法的改進(jìn)和創(chuàng)新以及提出新的聚類算法更是為了應(yīng)對當(dāng)今社會生活中處理海量數(shù)據(jù)、挖掘數(shù)據(jù)內(nèi)在規(guī)律時所遇到的一些棘手的問題。比如,傳統(tǒng)聚類算法在處理如今復(fù)雜高維的數(shù)據(jù)時,數(shù)據(jù)維度越多,大量無關(guān)屬性存在的概率越大,往往會發(fā)生因為維度過高、屬性較多算法一時無法判斷,從而導(dǎo)致所有維中都不存在簇的情況。所以說,隨著科技的進(jìn)步,數(shù)據(jù)變得容易采集和復(fù)雜,數(shù)據(jù)庫也越來越龐大,即多維數(shù)據(jù)聚類算法分析在數(shù)據(jù)分析中成為了重要且必需的研究方向。1.2.2用電異常檢測研究現(xiàn)狀隨著時代的進(jìn)步和科學(xué)技術(shù)的發(fā)展,不法分子開始運用高科技手段盜竊電力資源,過去傳統(tǒng)的反竊電手段不但對這種帶有科技性、又多樣化的竊電行為的檢測效果不理想,而且還要消耗大量的人力資源[4]。為了解決這種情況,電力公司為每位用戶安裝了帶有用電信息采集系統(tǒng)的智能電表,通過信息采集系統(tǒng)來收集用戶用電信息,然后對用戶歷史用電數(shù)據(jù)進(jìn)行分析,結(jié)合數(shù)據(jù)挖掘方法,根據(jù)這些歷史數(shù)據(jù)的用電規(guī)律和特性,建立異常用電行為檢測模型,通過模型來判斷用戶是否為異常用電者[5]。隨著電力系統(tǒng)中用戶用電信息采集的程度不斷增高,異常用電行為的檢測也逐漸成為研究的一個重要問題。文獻(xiàn)[6]用電異常檢測將非技術(shù)性損失(NTL,Non-technicalloss)分為典型的和非典型的兩類,典型的技術(shù)性損失用皮爾森相關(guān)系數(shù)檢測,貝葉斯網(wǎng)絡(luò)可以檢測到非典型的。文獻(xiàn)[7]利用模糊C均值聚類檢測NTL。文獻(xiàn)[8]是通過基于密度的局部離群因子算法挖掘異常用電行為模式,來實現(xiàn)用電異常的檢測。文獻(xiàn)[9]對K-means算法進(jìn)行優(yōu)化,對家庭用電數(shù)據(jù)建立模型,實現(xiàn)檢測的目的。文獻(xiàn)[10]對智能電表采集來的原始數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,對用電異常數(shù)據(jù)實行監(jiān)控統(tǒng)計,將得出的異常結(jié)果進(jìn)行人工對比檢查,實現(xiàn)異常檢測。文獻(xiàn)[11]基于BP神經(jīng)網(wǎng)絡(luò)算法構(gòu)建用戶用電行為特征,建立模型,實現(xiàn)異常用戶檢測。1.3主要內(nèi)容及工作安排本文首先介紹了聚類分析和用電異常檢測的現(xiàn)狀,提出了將聚類算法應(yīng)用到用電異常檢測當(dāng)中,實現(xiàn)異常用電用戶檢測。然后介紹了K-means聚類的原理、流程和優(yōu)缺點,同時介紹了DBSCAN聚類的原理、流程及優(yōu)缺點,并用Matlab編程搭建了異常檢測模型,通過某一用戶用電行為數(shù)據(jù)在橫向上與同類型用戶用電數(shù)據(jù)相似,在縱向上與自己歷史用電行為數(shù)據(jù)相似的特點,設(shè)計總體判斷異常用戶流程,來實現(xiàn)用電異常在線檢測。本論文作如下安排:第一章:首先介紹了論文的研究背景和意義,緊接著介紹了聚類分析和用電異常檢測的國內(nèi)外研究現(xiàn)狀,最后介紹了本論文的主要內(nèi)容及工作安排。第二章:闡述了聚類算法的定義,具體的分類,重點介紹了本論文用來實現(xiàn)異常用電檢測的兩種聚類的原理等理論知識;第三章:主要介紹了基于聚類的用電異常在線檢測,包括算法判斷異常用戶的設(shè)計流程和兩種算法的編程設(shè)計;第四章:實驗部分,介紹了實驗數(shù)據(jù),通過K-means算法和DBSCAN算法訓(xùn)練異常用電用戶檢測模型,利用真實的用戶用電數(shù)據(jù),最終實現(xiàn)異常檢測的結(jié)果分析。第五章:論文總結(jié)和展望。
第2章聚類相關(guān)知識介紹2.1聚類算法概述聚類算法,就是把樣本數(shù)據(jù)分成多個不同的類別或者簇,聚類算法最大的特點是數(shù)據(jù)聚類結(jié)束后,在同一個類別或者同一個簇中的數(shù)據(jù)之間具有相當(dāng)高的相似性,但是在不同的類別或者簇中的數(shù)據(jù)之間存在相當(dāng)大的差異性。聚類與分類完全是不同的概念,在分類時,所分的類別通常是已知的,按照事先分好的類別按部就班的對數(shù)據(jù)進(jìn)行歸類;但是在聚類時,聚類出來的類別或者簇是數(shù)據(jù)自身驅(qū)動算法形成的,是在無人監(jiān)督的學(xué)習(xí)情況下形成的。聚類分析在掌握和分析數(shù)據(jù)方面具有一定的優(yōu)勢,它在現(xiàn)如今社會生活中被廣泛地應(yīng)用于各種領(lǐng)域,例如數(shù)據(jù)分析、圖像處理等。利用聚類算法,讓數(shù)據(jù)自動顯示出稀疏分布不同的區(qū)域,讓人們識別數(shù)據(jù)在全局中的分布樣式,也更利于認(rèn)清樣本數(shù)據(jù)不同類別或者簇之間存在的微妙的相互關(guān)系。2.1.1聚類的定義聚類的具體定義為:在數(shù)據(jù)空間M中,許多數(shù)據(jù)對象或者數(shù)據(jù)點組成數(shù)據(jù)集X={},數(shù)據(jù)對象xi=(xi1,xi2,?xib)∈A,xi的每個特征,或者屬性,或者維度,xij可以是列舉型的,也可以是數(shù)值型的。數(shù)據(jù)集M等同于一個a×b矩陣。假如數(shù)據(jù)集M中有a個數(shù)據(jù)點xi(i=1,2,?a),聚類的最終結(jié)果是把數(shù)據(jù)集M劃分為d個分割cm(m=1,2,?,d),有時候發(fā)生某些數(shù)據(jù)對象不屬于任何一個類別或者簇,這些數(shù)據(jù)對象就被歸類為噪聲CnX=這些分割Cm(m=1,2,?,d)就是聚類。聚類效果圖如圖2-1所示:圖2-1聚類效果圖2.1.2聚類的分類在用電異常檢測中,要對用電數(shù)據(jù)采集系統(tǒng)統(tǒng)計來的數(shù)據(jù)進(jìn)行特征提取,根據(jù)數(shù)據(jù)特征,找出跟多數(shù)用戶用電行為的異常用電者。數(shù)據(jù)的類型和對數(shù)據(jù)進(jìn)行聚類的目的是選擇合適的聚類算法的依據(jù)。傳統(tǒng)的常見的聚類算法基于不同的聚類理論,有基于劃分的、基于層次的等四類。用電異常行為檢測經(jīng)常通過基于劃分和密度的聚類法實現(xiàn)。主要聚類算法的分類見表2-1:表2-1常用聚類算法分類2.2K-means聚類簡介確定n個數(shù)據(jù)點的數(shù)據(jù)集D和要生成的類別數(shù)或者簇數(shù)目k,基于劃分的聚類將數(shù)據(jù)集分為k個簇(k≤n),這些簇是為了優(yōu)化目標(biāo)準(zhǔn)則。聚類算法開始時,必須指定類別數(shù)或簇中心,然后不斷迭代運算,來降低目標(biāo)函數(shù)的誤差值,在目標(biāo)函數(shù)漸近收斂時,此時得到最終的聚類結(jié)果。K-means聚類算法在生活和工作當(dāng)中被廣泛應(yīng)用于數(shù)據(jù)處理和分析,而且基于質(zhì)心的K-means聚類算法用于數(shù)字屬性聚類可以達(dá)到更好的效果,從而具有清晰的統(tǒng)計意義。經(jīng)常以樣本數(shù)據(jù)與它自身質(zhì)心的歐幾里得距離總和為目標(biāo)函數(shù),或者以每個類別中任意兩個數(shù)據(jù)對象之間歐幾里得距離總和,如此既滿足了簇的分散性也滿足了簇的緊湊性。2.2.1K-means聚類的原理算法在數(shù)據(jù)集D中任意的選取K個點作為初始聚類中心,然后計算每個數(shù)據(jù)點與初始聚類中心的距離,把樣本數(shù)據(jù)點分到離它最近的那個聚類中心所在的簇。再計算新的每一個聚類的數(shù)據(jù)點之間的平均值得出新的聚類中心,如果聚類中心在前后兩次的聚類中不發(fā)生改變,則樣本數(shù)據(jù)集聚類結(jié)束。聚類目標(biāo)函數(shù)已經(jīng)收斂。K-means聚類算法最大的一個特點是每次迭代都會檢查每個樣本數(shù)據(jù)對象的分類是否正確。如果不正確,就會及時調(diào)整,全部調(diào)整過來后,才會進(jìn)入下一次迭代。如果一次計算中,所有的樣本數(shù)據(jù)對象都被正確分類,就不會發(fā)生調(diào)整,聚類中心也就不會變化,代表著算法已經(jīng)收斂,算法結(jié)束。相關(guān)定義:(1)兩個數(shù)據(jù)對象間的距離:=1\*GB3①明氏距離
dxi,x這里的xi=(xi1,xi2,...,xip)和xj==2\*GB3②歐式距離當(dāng)明氏距離q=2時,公式=1\*GB3①即歐式距離。dx=3\*GB3③馬氏距離=(σ其中σij=1n?1k=1n(xdm=4\*GB3④蘭氏距離dL(2)準(zhǔn)則函數(shù)E對于K-means算法,評判其聚類質(zhì)量好壞時,目標(biāo)函數(shù)通常用準(zhǔn)則函數(shù)E,即誤差平方和(Sum
of
SquaredError,
SSE)
。E=i=1上式中,d表示兩個數(shù)據(jù)點之間的距離,可以是明氏、歐式、馬氏或者蘭氏距離其中的一種。當(dāng)k值相同時,誤差平方和SSE越小,簇中數(shù)據(jù)點越集中。當(dāng)k值不同時,k值越大對應(yīng)的SSE應(yīng)該越小。2.2.2K-means算法的流程K-means聚類算法流程如下:輸入:含有n個數(shù)據(jù)點的數(shù)據(jù)集和簇的數(shù)目k;輸出:使平方誤差和最小的k個簇。步驟:Step1:隨機地從數(shù)據(jù)集中選擇k個樣本數(shù)據(jù)點為初始聚類中心;Step2:算出其余樣本數(shù)據(jù)和簇中心的距離,以距離k個簇中心最近的類別為據(jù)進(jìn)行標(biāo)記;Step3:迭代計算每個簇中數(shù)據(jù)樣本點的均值,作為新的k個簇中心;Step4:不斷進(jìn)行Step2、Step3,直至簇中心不再發(fā)生變化,算法聚類結(jié)束,輸出最終的k個簇。具體流程圖如下圖所示:圖2-2K-means聚類流程圖2.2.3K-means算法的優(yōu)缺點優(yōu)點:(1)當(dāng)數(shù)據(jù)集變量較大時,K-means聚類算法的速度要比層次聚類的更快。(2)相比于層次聚類,K-means聚類算法可以得到更緊密的簇。(3)當(dāng)數(shù)據(jù)集過于龐大時,集合起來效率較快。(4)K-means聚類算法是找出讓SSE最小的k個劃分,當(dāng)簇和簇之間差別明顯,輸出的結(jié)果簇又是密集的,此時效果最好。缺點:(1)不能確定初始聚類中心,算法開始聚類時只能隨機地選擇k個樣本數(shù)據(jù)作為初始簇中心。(2)聚類出的結(jié)果太依賴于均值的初始值,使結(jié)果不能達(dá)到最優(yōu),優(yōu)化方法是嘗試多個不同的初始值。(3)K-means聚類算法對離群點數(shù)據(jù)比較敏感,原因是這類數(shù)據(jù)會影響均值。2.3DBSCAN聚類簡介DBSCAN聚類算法是基于密度的典型聚類方法,它將簇定義為密度相連的數(shù)據(jù)點的最大集合,把數(shù)據(jù)點足夠密度的區(qū)域劃分為簇,并且可以發(fā)現(xiàn)任意形狀的簇。相關(guān)概念:DBSCAN算法中有兩個重要參數(shù):Eps和MimPts。Eps是鄰域半徑,MimPts是定義核心點時的閥值。在DBSCAN算法中將數(shù)據(jù)點分為以下3類:(1)核心點當(dāng)一個數(shù)據(jù)對象在它的半徑Eps內(nèi)有超過MimPts數(shù)目的點,那么該數(shù)據(jù)對象為核心點。(2)邊界點當(dāng)一個數(shù)據(jù)對象在它的半徑Eps內(nèi)有點的數(shù)量小于MimPts,但是該數(shù)據(jù)對象落在核心點的鄰域內(nèi),那么該數(shù)據(jù)對象為邊界點。(3)噪音點當(dāng)一個數(shù)據(jù)對象不是核心點也不是邊界點,那么該數(shù)據(jù)對象為噪音點。圖2-3DBSCAN聚類圖2.3.1DBSCAN聚類的原理Eps鄰域:與數(shù)據(jù)點的距離小于等于Eps的所有點的集合。直接密度可達(dá):當(dāng)點p落在核心點q的Eps鄰域內(nèi),就說p從q出發(fā)是直接密度可達(dá)的。密度相連:對于對象p和對象q,假如存在核心對象樣本o,使對象p和對象q都從o密度可達(dá),則稱p和q密度相連??梢?,密度相連具有對稱性。密度聚類簇:一個核心點和與它密度可達(dá)的所有對象構(gòu)成一個密度聚類簇。所以DBSCAN聚類的原理為:DBSCAN算法從數(shù)據(jù)集D中隨機選擇一個核心點作為“種子”,由該種子出發(fā)確定相應(yīng)的聚類簇,當(dāng)遍歷完所有核心點時,算法結(jié)束。2.3.2DBSCAN算法的流程DBSCAN聚類算法流程如下:輸入:數(shù)據(jù)集,Eps,MinPts;輸出:密度關(guān)聯(lián)簇。步驟:Step1:從數(shù)據(jù)集中任意選取一個數(shù)據(jù)對象點p;Step2:對于參數(shù)Eps和MinPts,當(dāng)數(shù)據(jù)對象點p是核心點,此時要遍歷出所有從p點密度可達(dá)的數(shù)據(jù)點,形成一個簇;Step3:當(dāng)數(shù)據(jù)對象點p是邊緣點,就要選擇另外的數(shù)據(jù)點;Step4:不斷進(jìn)行Step2、Step3,直至處理完所有數(shù)據(jù)點。圖2-4DBSCAN聚類流程圖2.3.3DBSCAN算法的優(yōu)缺點和傳統(tǒng)的K-means算法相比,DBSCAN算法不需要輸入簇數(shù)k而且可以發(fā)現(xiàn)任意形狀的聚類簇,同時,在聚類時可以找出異常點。優(yōu)點:1)可以對任意形狀的稠密數(shù)據(jù)進(jìn)行聚類,而K-means之類的聚類算法一般只使用于凸數(shù)據(jù)集。2)可以在聚類的同時發(fā)現(xiàn)異常點。3)聚類結(jié)果沒有偏倚。缺點:1)當(dāng)數(shù)據(jù)樣本集過大時,收斂時間就越長,此時可以對KD樹進(jìn)行規(guī)模限制來實現(xiàn)優(yōu)化。2)調(diào)試參數(shù)比較復(fù)雜時,為了使聚類效果達(dá)到最佳,需要對距離閥值Eps和鄰域樣本數(shù)閥值MinPts進(jìn)行聯(lián)合調(diào)參。2.4本章小結(jié)在本章節(jié),先是對聚類算法做了一個總體的闡述,有了一個大概的了解。為了更加了解聚類算法和利用聚類算法來實現(xiàn)異常用電行為的檢測,又詳細(xì)的介紹了聚類的定義、聚類的分類。了解完分類之后,選擇常用于異常用電行為檢測的K-means聚類、DBSCAN聚類來重點介紹。任何一種算法,其算法的原理和流程是實現(xiàn)編程的前提和關(guān)鍵,在完全掌握原理之后才能更好的應(yīng)用,才能更好的在真實數(shù)據(jù)下訓(xùn)練出檢測異常用戶的模型。除了介紹兩種算法的原理和流程之外,還詳細(xì)介紹了兩種算法涉及到的公式、相關(guān)概念和算法的優(yōu)缺點。第二章內(nèi)容為后面的模型搭建作了知識儲備和鋪墊,在熟知兩種算法的應(yīng)用方法后,展開了基于聚類的用電異常在線檢測的模型搭建。第3章
基于聚類的用電異常在線檢測3.1總體結(jié)構(gòu)設(shè)計居民用戶的用電行為數(shù)據(jù)在時間方向上(縱向)和用戶方向上(橫向)通常會表現(xiàn)出聚類特性。對同一個用戶來講,他每天的用電行為數(shù)據(jù)與他歷史上的用電行為數(shù)據(jù)相似;對同一類型用戶來講,他們的用電行為數(shù)據(jù)往往也具有相似性,同樣會表現(xiàn)為聚類特征。在足夠多的樣本數(shù)據(jù)情況下,如果用戶的用電行為數(shù)據(jù)與同類型用戶不符,與歷史也不符,則可能為用電異常用戶,需要特別關(guān)注。由此總結(jié)出用電異常檢測流程圖如圖3-1所示,這里以K-means聚類為例,DBSCAN聚類的總體結(jié)構(gòu)設(shè)計與K-means聚類同理。圖3-1用電異常檢測流程圖3.2K-means算法編程設(shè)計基于用戶用電數(shù)據(jù),行為特征(用電量,電壓,電流,功率,功率因數(shù),時間)得到用戶的用電行為數(shù)據(jù)。歷史數(shù)據(jù)選取2019年具有代表性的數(shù)據(jù),以保證不同類別用戶的用電行為模型都得以表示。居民用戶之間,距離越是相近,其用電行為越是有聚類特性,這也是人以群居的特性。人的用電行為習(xí)慣同樣如此。無論是人還是動物,行為習(xí)慣也是短時間內(nèi)不會改變的,時間上的聚類特性是他們的一大特征。本論文采用居民用戶過去一年的數(shù)據(jù),利用K-means算法(DBSCAN算法同理),分別從用戶維度上聚類得到相似用戶,再將相似用戶從時間維度上得到用戶的用電行為數(shù)據(jù)。K-means聚類:不論是K-means還是DBSCAN聚類算法,整個算法主要分為兩大部分。第一部分算法先是對53戶用戶在2020年的用電數(shù)據(jù)進(jìn)行了橫向聚類,將具有相似用電行為數(shù)據(jù)的用戶分為不同的簇,并且同時遍歷2020年全部的用戶用電數(shù)據(jù),找出每個簇中與本簇大部分用戶用電行為數(shù)據(jù)不相似的用戶,進(jìn)行一次異常用電用戶標(biāo)記;第二部分算法再是對用戶在2019年的歷史用電數(shù)據(jù)進(jìn)行縱向聚類,與歷史狀態(tài)比較。將第一部分算法中標(biāo)記為異常的用戶與歷史用電數(shù)據(jù)放入到同一矩陣中,找出與歷史用電數(shù)據(jù)不相似的用戶,進(jìn)行二次異常用戶標(biāo)記。算法最后輸出的聚類結(jié)果就是在橫向上既不與同類型用戶用電數(shù)據(jù)相似在縱向上又不與自身歷史用電數(shù)據(jù)相似的用戶即為異常用戶。主要程序如下:clcclearwarningoff%%加載并處理數(shù)據(jù)data2019=readtable('data2019.xls');data2020=readtable('data2020.xls');%%對當(dāng)前數(shù)據(jù)聚類idx2020=kmeans(table2array(data2020(:,3:98)),4);Counts=tabulate(idx2020);count=Counts(:,2);%用于統(tǒng)計每個類別的頻率,[min_count,arg]=min(count);%找到頻率最小的一類,值為arg,即判斷為異常類別q=[];%記錄橫向聚類中異常數(shù)量%以下代碼用于遍歷所有用戶,找到被判為異常類別的用戶fori=1:9439%如果為異常,則輸出,并記錄為1,否則不輸出記錄為0ifidx2020(i)==argstrcat('橫向聚類中:',cellstr(data2020{i,1}),'時間:',cellstr(data2020{i,2}),'異常')q=[q,1];elseq=[q,0];endend此部分程序是為了遍歷出在橫向上與同類型用戶用電數(shù)據(jù)不相似的異常用戶,并進(jìn)行一次異常用電用戶統(tǒng)計;圖3-2K-means聚類部分程序截圖此部分程序是將上一部分統(tǒng)計出的異常用戶與它的歷史用電數(shù)據(jù)放入到一個矩陣中,進(jìn)行聚類,比較。兩次聚類完成后輸出的即為用戶方向上和時間方向上都存在異常用電數(shù)據(jù)的異常用戶。3.3DBSCAN算法編程設(shè)計兩種聚類算法在原理和程序的編程實現(xiàn)上是不相同的。DBSCAN算法先要定義Eps和MimPts。Eps是鄰域半徑,MimPts為定義核心點時的閥值。在完成初始值定義之后算法的編程與K-means算法編程同樣分為兩大部分,每部分實現(xiàn)的聚類功能也是相同的,這里只給出DBSCAN聚類的主要程序:圖3-3DBSCAN聚類部分程序截圖在DBSCAN的算法編程設(shè)計中,除了在算法前夕要設(shè)置Eps和MimPts的初始值,其余在算法的分布,每部分算法所實現(xiàn)的聚類功能和算法判斷異常用電用戶依據(jù)的原理流程同K-means聚類算法是相同的。3.4本章小結(jié)本章節(jié)中,對實現(xiàn)用電異常檢測的總體結(jié)構(gòu)設(shè)計以及K-means聚類算法和DBSCAN聚類算法編程設(shè)計做了詳盡的介紹。在本章節(jié)中,首先介紹了用電異常檢測的總體結(jié)構(gòu)設(shè)計,基于第二章中對兩種算法相關(guān)知識的掌握,設(shè)計出判斷異常用電的邏輯判斷原理流程,為后續(xù)的算法編程奠定了基礎(chǔ),以便于實現(xiàn)檢測異常用電用戶的訓(xùn)練模型。其次由于一個用戶與其同類型用戶用電數(shù)據(jù)相同,與其歷史用電數(shù)據(jù)相同。通過對比用戶與相似用戶用電數(shù)據(jù),用戶與自己歷史用電數(shù)據(jù),得出存在的異常用戶。由此展開算法編程,無論是K-means聚類算法還是DBSCAN聚類算法,先是將2020年用戶用電數(shù)據(jù)進(jìn)行橫向聚類,進(jìn)行分類,分成具有不同用電數(shù)據(jù)行為的簇,并找出這些簇中用電數(shù)據(jù)異常的用戶;再將2019年用戶用電數(shù)據(jù)進(jìn)行縱向聚類,得到歷史用電數(shù)據(jù);將2020年用電數(shù)據(jù)中橫向聚類找出的異常用戶放入2019年歷史用電數(shù)據(jù)矩陣中進(jìn)行對比,找出既不與自己歷史用電數(shù)據(jù)相同也不和同類型用戶用電數(shù)據(jù)相同的異常用戶,再以天為單位,在時間上進(jìn)行縱向聚類,便能精確到異常用戶異常用電的年月日。在第二章足夠的知識儲備和用電異常檢測的總體結(jié)構(gòu)設(shè)計下,在MATLAB編程環(huán)境里搭建出了兩種聚類算法的編程,以待用真實的國網(wǎng)數(shù)據(jù)訓(xùn)練出異常用電用戶的檢測模型。
第4章模型驗證與結(jié)果分析4.1實驗數(shù)據(jù)本論文的數(shù)據(jù)是從指導(dǎo)老師處獲得,是57戶用戶的國網(wǎng)實際用電采集數(shù)據(jù),用電采集系統(tǒng)每15分鐘采集數(shù)據(jù)一次。由于數(shù)據(jù)中存在異常值、缺失值等,所以在做數(shù)據(jù)預(yù)處理時,剔除掉4位數(shù)據(jù)異常用戶,實際樣本是53戶用戶,運用了主要成分提取法,組成96個特征組,特征組維度包括用電量、電壓、電流、功率、功率因數(shù)和時間等,最后一共有9439個數(shù)據(jù)點。由于樣本數(shù)據(jù)過多,這里只給出部分?jǐn)?shù)據(jù)的截圖,如下圖4-1所示:圖4-1實驗數(shù)據(jù)截圖4.2實驗結(jié)果分析4.2.1K-means聚類和DBSCAN聚類算法測試在MATLAB編程環(huán)境里,驗證K-means算法和DBSCAN算法適合在大數(shù)據(jù)環(huán)境下實現(xiàn)用電異常在線檢測。兩種聚類算法中,程序時間窗都設(shè)置為了60%,即每次讀取60個數(shù)據(jù)長度。雖然兩種算法判斷異常用戶的程序總體結(jié)構(gòu)和樣本數(shù)據(jù)相同,但是基于K-means算法和DBSCAN算法的原理和流程的不同,所以K-means算法和DBSCAN算法處理數(shù)據(jù)運行的時間也就不相同。再者由于初始聚類中心從過去直到現(xiàn)階段國內(nèi)外發(fā)展史上還沒有提出過具體方法來確定,所以兩種算法每次運行時數(shù)據(jù)進(jìn)行迭代的次數(shù)也不相同。經(jīng)過多次運行發(fā)現(xiàn),K-means算法的最佳數(shù)據(jù)處理運行時間為71秒,DBSCAN算法的最佳數(shù)據(jù)處理運行時間為45秒,程序探查圖如下:圖4-2K-means運行探查圖圖4-3DBSCAN運行探查圖試驗證明,算法在處理數(shù)據(jù)時無任何停頓即運行可靠速度較快,在大數(shù)據(jù)環(huán)境下理論上可以實現(xiàn)異常用戶的異常用電在線快速檢測。4.2.2用電異常在線檢測(1)樣本數(shù)據(jù)為53戶用戶,96組特征組,9439個數(shù)據(jù)點。特征組維度為6個維度,分別為用電量、電壓、電流、功率、功率因數(shù)及時間。檢測結(jié)果如下圖所示:圖4-4K-means聚類效果圖圖4-5K-means運行結(jié)果圖由K-means聚類效果圖所示,紅色區(qū)域便是檢測出的異常用戶,與第二章中聚類算法知識概述中的效果圖相比,K-means聚類效果圖較好。從效果圖中可以看出,紅色區(qū)域的用戶與其他顏色區(qū)域的用戶在用電數(shù)據(jù)上具有明顯的差別,也就是說,紅色區(qū)域里的用戶用電數(shù)據(jù)與他同類型的用戶用電數(shù)據(jù)不相似,與他的歷史用電數(shù)據(jù)也不相似,即為用電異常用戶。根據(jù)聚類結(jié)果圖和算法運行結(jié)果,統(tǒng)計聚類出來的異常用電用戶共計29戶。人以群分,物以類聚,同一區(qū)域的用戶通常是具有相似的用電特性。為了更能直觀的反映出異常用戶與正常用戶在用電數(shù)據(jù)上的差別,將29戶異常用戶的用電數(shù)據(jù)與其余正常用戶的用電數(shù)據(jù)做數(shù)據(jù)對比分析:圖4-6異常用戶用電量月平均值數(shù)據(jù)圖由數(shù)據(jù)得:圖4-729戶異常用戶與正常用戶用電量月平均值對比圖上圖4-7,是國網(wǎng)公司統(tǒng)計的正常用戶與29戶異常用戶用電量月平均值的數(shù)據(jù)對比分析圖,正常用戶的用電量月平均值是根據(jù)另外24戶正常用戶的月平均值求得。從數(shù)據(jù)對比圖中不難發(fā)現(xiàn),K-means聚類算法檢測出來的29戶異常用戶在7月至12月的用電數(shù)據(jù)相比于正常用戶的用電數(shù)據(jù)確實存在較大的差別,由圖知正常用戶的用電數(shù)據(jù)范圍集中在60~90左右,而異常用戶的用電數(shù)據(jù)范圍卻在-70~100。通過聚類效果圖和異常用戶與正常用戶用電數(shù)據(jù)對比分析,用K-means聚類算法檢測異常用電的研究方法是可行的。圖4-8DBSCAN運行結(jié)果圖上圖為DBSCAN聚類算法的運行結(jié)果,兩種算法聚類原理不同,所以檢測出的異常用戶也就不相同。樣本數(shù)據(jù)在6個維度下,K-means算法檢測出來的異常用戶共計29戶用戶,DBSCAN算法只檢測出來了兩個異常用戶,顯然K-means算法更適用于電力行業(yè)中異常用戶檢測的應(yīng)用場景。(2)兩種聚類算法的結(jié)果不同,除了這兩種算法自身的聚類原理不同之外,通過簡單地分析,也有可能是數(shù)據(jù)問題,聚類之前對數(shù)據(jù)進(jìn)行預(yù)處理不夠,數(shù)據(jù)太過集中,異常點不夠敏感,通常是不太符合其他數(shù)據(jù)的特征,例如數(shù)據(jù)差異太大,很可能會當(dāng)成異常點,也可能被歸為另一類;還有可能是因為數(shù)據(jù)極度不均勻、聚類間距相差很大時,聚類質(zhì)量較差,會有誤差。進(jìn)行完簡單的分析后,最后確定通過改變特征組主要成分即降低維度來再次分析DBSCAN聚類算法的結(jié)果是否發(fā)生改變和對比分析K-means算法和DBSCAN算法這兩種算法哪種更適用于異常用電檢測系統(tǒng)?;谏鲜龇治?,在Python軟件進(jìn)行數(shù)據(jù)預(yù)處理后,繼續(xù)MATLAB編程實現(xiàn)主成分降維,樣本數(shù)據(jù)依然為53戶用戶,96組特征組,共計9439個數(shù)據(jù)點。不同的是特征組維度依次由6維(用電量、電壓、電流、功率、功率因數(shù)和時間)降為4維(電壓、電流、功率和時間)再到3維(電流、功率和時間)依次進(jìn)行降維,參數(shù)依次設(shè)置為q3,q2,q1。部分代碼如下:圖4-9主成分降維算法程序部分截圖主成分降維算法依然是對9439個數(shù)據(jù)點進(jìn)行聚類檢測,通過橫向和縱向?qū)Ρ龋惴z測出來的異常用戶記錄值為1,正常用戶記錄值為0。結(jié)果如下圖4-10所示:圖4-10主成分降維運行結(jié)果圖對主成分降維運行結(jié)果進(jìn)行分析,可能由于數(shù)據(jù)預(yù)處理不當(dāng),也可能在降維后某一維度的數(shù)值太突出或者太異常,在數(shù)據(jù)段6000左右,3維狀態(tài)下的記錄輸出值為1,而在4維、6維狀態(tài)下的記錄輸出值為0,說明檢測出的新異常點僅僅只在3維時為異常用戶,結(jié)果不足以引用。在數(shù)據(jù)段3000~4000左右,除了3維狀態(tài)以外,在4維和6維狀態(tài)下的記錄輸出值都為1,進(jìn)一步講,檢測出的異常用戶不僅在4維狀態(tài)下用電異常,在6維狀態(tài)下仍然用電異常。因為DBSCAN算法在6維狀態(tài)下只檢測出了兩個異常用戶,為了更進(jìn)一步驗證DBSCAN算法的聚類結(jié)果和在異常用電行為檢測系統(tǒng)的適用性,此部分算法仍由DBSCAN聚類算法實現(xiàn)?,F(xiàn)將三個維度下的運行結(jié)果放到同一個工作表中,如下圖4-9所示:第一行為q1即3維的運行結(jié)果記錄輸出值,第二、三行分別為q2、q3即4維、6維的運行結(jié)果記錄輸出值,對比發(fā)現(xiàn)與上述主成分降維運行結(jié)果分析一致,既在4維狀態(tài)下又在6維狀態(tài)下異常的數(shù)據(jù)段就集中在3000~4000左右,在數(shù)據(jù)段6圖4-11主成分降維結(jié)果對比圖上圖中1,2,3行依次為q1,q2,q3對應(yīng)3維,4維,6維三個狀態(tài),進(jìn)行對比發(fā)現(xiàn)即便改變數(shù)據(jù)維度,也只在4維和6維狀態(tài)下,DBSCAN圖4-12Python預(yù)處理數(shù)據(jù)圖樣本數(shù)據(jù)容量不變的情況下,改變特征組維度,利用編程實現(xiàn)主成分降維,數(shù)據(jù)最優(yōu)的情況下,DBSCAN聚類在6維,4維和3維三個狀態(tài)下,聚類結(jié)果仍然相同,依然沒有什么突出效果。國家電網(wǎng)數(shù)據(jù)采集系統(tǒng)每15分鐘采集的實時數(shù)據(jù)里有些值異常,有些值的特征太明顯,而有些值的特征不夠明顯,更存在缺失值,況且DBSCAN聚類僅是通過鄰域和核心點閥值來將數(shù)據(jù)點劃分成不同的簇。也就是說DBSCAN聚類算法適用于密度集中且均勻這一類數(shù)據(jù),DBSCAN算法不適用于聚類間距差較大的數(shù)據(jù)。4.3本章小結(jié)本論文選用了K-means聚類和DBSCAN聚類。首先通過Python軟件將數(shù)據(jù)處理到最優(yōu)狀態(tài),由MATLAB編程軟件實現(xiàn)K-means算法、DBSCAN算法,利用真實的用戶用電數(shù)據(jù),兩種算法都實現(xiàn)了異常用戶的檢測,其中K-means聚類算法聚類出了29戶異常用戶,觀察聚類效果圖也是達(dá)到了最好的聚類效果,隨后通過異常用戶與正常用戶的用電數(shù)據(jù)對比圖加以輔助驗證,最后得出用K-means聚類算法來實現(xiàn)異常用電的檢測是可行有效的。為了對比分析K-means算法和DBSCAN算法這兩種算法哪種更適用于異常用電檢測系統(tǒng),又提出用MATLAB編程實現(xiàn)主成分降維法來繼續(xù)檢測異常用戶。主成分降維算法編程實現(xiàn)并且運行多次后,發(fā)現(xiàn)不管是在6維、4維還是3維狀態(tài)下,DBSCAN聚類出的異常用戶仍然沒有變化,意味著DBSCAN聚類算法相對于K-means聚類算法不適用于異常用電用戶的檢測應(yīng)用場景。值得一提的是,K-means聚類算法思想簡單,收斂速度快,算法聚類較高效且聚類效果較好;最重要的是K-means聚類算法對數(shù)值型數(shù)據(jù)的聚類效果好,聚類結(jié)果也與數(shù)據(jù)的輸入順序無關(guān)。結(jié)合聚類結(jié)果來看,K-means聚類在用電異常檢測系統(tǒng)中更有優(yōu)勢,適合推廣,更適合進(jìn)行用電異常檢測的研究。第5章總結(jié)與展望5.1本文總結(jié)本論文以異常用電用戶的檢測為背景,通過聚類的研究方法,設(shè)計了一個適合在大數(shù)據(jù)環(huán)境下運行的無監(jiān)督學(xué)習(xí)法檢測模型。最后通過實驗證明,針對居民用電數(shù)據(jù)以往檢測需要很長時間才能夠發(fā)現(xiàn)的問題,用K-means聚類、DBSCAN聚類通過某一用戶與它實時用電數(shù)據(jù)特征和歷史用電數(shù)據(jù)特征進(jìn)行橫向、縱向聚類對比判斷是否為異常用戶的方法,實現(xiàn)以天為單位的用電異常在線檢測。本文主要做了如下工作:(1)確定論文選題后,查閱大量文獻(xiàn),總結(jié)出了用電異常檢測的研究背景和意義,同時總結(jié)了聚類的研究現(xiàn)狀和用電異常檢測的研究現(xiàn)狀,做出工作安排。選擇K-means聚類、DBSCAN聚類來實現(xiàn)用電異常在線檢測后,接著介紹了聚類分析的定義和原理,重點介紹了本文采用的兩種聚類算法的原理、流程和優(yōu)缺點。(2)了解了兩種聚類算法的原理之后,依據(jù)某一用戶的用電數(shù)據(jù)特征與他同類型用戶的用電數(shù)據(jù)特征相似,與他自身的歷史用電數(shù)據(jù)特征相似的特點,設(shè)計出了用電異常在線檢測的總體結(jié)構(gòu)流程,方便下一步工作的實行。(3)用電異常檢測總體結(jié)構(gòu)確定后,開始了具體用電異常檢測模型算法的編程。算法基于總體結(jié)構(gòu)設(shè)計,大體分為兩部分,用2019年數(shù)據(jù)作為歷史數(shù)據(jù)橫向和縱向聚類得到用電歷史行為數(shù)據(jù),再用2020年數(shù)據(jù)作為實時數(shù)據(jù)進(jìn)行縱向聚類得到當(dāng)前用電行為數(shù)據(jù),在橫向上與同類型用戶用電行為數(shù)據(jù)對比以及在縱向上與自身歷史用電行為數(shù)據(jù)對比,兩種對比情況下都不相似時即為異常用戶。(4)兩種聚類算法用Matlab編程實現(xiàn),并進(jìn)行了實驗,分析算法在設(shè)計的實時異常檢測模型上的優(yōu)勢和所設(shè)計方案的可行性。實驗最后通過可視化的方式,展示了實現(xiàn)用電異常檢測的結(jié)果,得出K-means聚類在用電異常檢測中更為適用。5.2展望本論文用K-means聚類、DBSCAN聚類檢測異常用電行為雖然獲得了一定成果,但仍然存在一些不足之處,后續(xù)拓展研究時可從以下幾個方面進(jìn)行:(1)本文所做的研究,以電力行業(yè)用電異常實時檢測為應(yīng)用背景,但實際在電力行業(yè)中,通常情況下,發(fā)生異常用電行為以后,檢測結(jié)果是在幾周或者幾個月以后做統(tǒng)計報表或者線損分析等措施才會發(fā)現(xiàn)。而且電力行業(yè)的用電采集系統(tǒng)每15分鐘采集一次數(shù)據(jù),本文所設(shè)計的用電異常實時檢測只是將2020年數(shù)據(jù)看作為實時數(shù)據(jù)所以實時性不是很好。在以后的研究中,可以選擇更加具有實時性要求的應(yīng)用場景作為研究重點,可以更大程度的實現(xiàn)用電異常實時檢測的效果。(2)本論文在異常用電檢測實驗部分使用了K-means聚類、DBSCAN聚類,這兩種聚類算法各有優(yōu)點但也各有缺點。以后的研究中,可以將這兩種聚類算法移植到其他平臺上來改進(jìn)算法所具有的較明顯的缺陷,比如通過某種方法確定K-means聚類算法初始聚類中心來提高聚類質(zhì)量。在以后的數(shù)據(jù)分析和挖掘過程中,可以嘗試實現(xiàn)更高精度的異常檢測算法來實現(xiàn)高精度,高實時的異常檢測。
參考文獻(xiàn)[1]SuriyamongkolD.Non-technicallossesinelectricalpowersystems[D].OhioUniversity,2002.[2]ZhangW,LiuZ,WangM,etal.Researchstatusanddevelopmenttrendofsmartgrid[J].PowerSystemTechnology,2009,13:1-11.[3]陳樹勇,宋書芳,李蘭欣,等.智能電網(wǎng)技術(shù)綜述[[J].電網(wǎng)技術(shù),2009,33(8):1-7.[4]JokarP,ArianpooN,LeungVCM.ElectricitytheftdetectioninAMlusingcustomers'consumptionpatterns[J].IEEETransactionsonSmartGrid,2016,7(1):216-226.[5]秦娜.基于數(shù)據(jù)挖掘的反竊電技術(shù)在某電網(wǎng)中的應(yīng)用研究[D].華北電力大學(xué),2016.[6]Monedero
I,
Biscarri
r,
León
C,
et
al.
Detection
of
frauds
and
other
non-technicallosses
in
a
power
utility
using
Pearson
coefficicnt,
Bayesian
networks
and
decisiontrees[J].
International
Journal
ofElectricalPower&
Energy
Systems,
2012,34(
1):90-98.[7]Nizar
A
H,
Dong
Z
Y,Wang
Y.
Power
Utility
Nontechnical
Loss
Analysis
WithExtreme
Learning
Machine
Method[J].
IEEE
Transactions
on
Power
Systems,2008,
23(3):946-955.[8]Angelos
E
W
S,
Saavedra
O
R,
Cortés
0
A
C,
et
al.
Detection
and
Identificationof
Abnormalities
in
Customer
Consumptions
in
Power
Distribution
Systems[]].IEEE
Transactions
on
Power
Delivery,2011,
26(4):2436-2442.[9]Li
Z
,
Xingzhe
H,
Jun
H
U
,
et
al.
Improved
K
-Means
Algorithm
Based
Analysison
Massive
Data
of
Intelligent
Power
Utilization[J].
Power
System
Technology,2014,
38(
10):2715-2720.[10]莊池杰,張斌,胡軍,等.基于無監(jiān)督學(xué)習(xí)的電力用戶異常用電模式檢測[J].中國電機工程學(xué)報,2016,36(2):379-387.[11]吳健,林國強,王曉慧,etal.基于神經(jīng)網(wǎng)絡(luò)算法的用戶竊電行為檢測模型研究[J].電力信息與通信技術(shù),2017(12):36-40.[12]徐良軍,張笑第,王立軍.基于聚類分析的用戶分類和用電行為分析[J].山西電力,2016(4):23-27.[13]周小明,蘇安龍,楊宏宇.基丁K-Means聚類算法的行業(yè)用電行為分析[J].電氣應(yīng)用,2015(S1):178-182.[14]周國亮,呂凜杰,王桂蘭.電力大數(shù)據(jù)全景實時分析關(guān)鍵技術(shù)[J].電信科學(xué),2016,32(04):159-168.[15]陳永權(quán),吳立,張靜霞.能源互聯(lián)網(wǎng)背景下居民家庭用電行為研究[J].時代經(jīng)貿(mào),2018(2):50-51.[16]莊池杰,張斌,胡軍,等.基于無監(jiān)督學(xué)習(xí)的電力用戶異常用電模式檢測[J].中國電機工程學(xué)報,2016,36(2):379-387.[17]AggarwalCC,
HanJ,
Wang
J.
Yu
PS.
A
framework
for
clustering
evolving
datastreams.
In:
Freytag
JC,
Lockemann
PC,
Abiteboul
S,
Carey
MJ,
Selinger
PG,Heuer
A,
eds.
Proc.
of
the
Int’l
Conf.
on
Very
Large
Data
Bases.Berlin:
MorganKaufmann
Publishers
,2003.81-92[18]Aggarwal
CC,
Han
J
,
WangJ
,
et
al.
A
Framework
for
Projected
Clustering
ofHigh
Dimensional
Data
Streams[C]//
Thirtieth
International
Conference
on
VeryLarge
Data
Bases.
VLDB
Endowment,
2004.[19]
Pereira
M
A,
PaivaE
R
D
F,
Naldi
M
C.
Online
Detection
of
Outliers
in
Clustersof
Continuous
Data
Streaming[C]//
Brazilian
Conference
on
Intelligent
Systems.2017.[20]Aggarwal
C
C,
Yu
P
S.
A
Survey
of
Uncertain
Data
Algorithms
andApplications[J].
IEEE
Transactions
on
Knowledge
&
Data
Engineering,
2009,21(5):609-623.
附錄1:源代碼K-means聚類:clcclearwarningoff%%加載并處理數(shù)據(jù)data2019=readtable('data2019.xls');data2020=readtable('data2020.xls');%%對當(dāng)前數(shù)據(jù)聚類idx2020=kmeans(table2array(data2020(:,3:98)),4);Counts=tabulate(idx2020);count=Counts(:,2);%用于統(tǒng)計每個類別的頻率,[min_count,arg]=min(count);%找到頻率最小的一類,值為arg,即判斷為異常類別q=[];%記錄橫向聚類中異常數(shù)量%以下代碼用于遍歷所有用戶,找到被判為異常類別的用戶fori=1:9439%如果為異常,則輸出,并記錄為1,否則不輸出記錄為0ifidx2020(i)==argstrcat('橫向聚類中:',cellstr(data2020{i,1}),'時間:',cellstr(data2020{i,2}),'異常')q=[q,1];elseq=[q,0];endend%%對歷史數(shù)據(jù)聚類,與歷史狀態(tài)比較warningoffqt=[]ts=60%時間窗長度nn=ts/10;%以下代碼用于遍歷所有用戶,找到被判為異常類別的用戶fori=1:9439%該代碼用于獲取一個用戶所有歷史數(shù)據(jù)index=find(strcmp(data2019{:,1},data2020{i,1}));%對歷史數(shù)據(jù)取時間窗index=index(1:ts);%將新數(shù)據(jù)與歷史數(shù)據(jù)放到一個矩陣中con_data=[data2020(i,3:98);data2019(index,3:98)];%將新的輸入與歷史數(shù)據(jù)進(jìn)行聚類,比較idx=kmeans(table2array(con_data),nn);%通過類別數(shù)量來判斷是否異常Counts=tabulate(idx);count=Counts(:,2);[min_count,arg]=min(count);ifidx(1)==arg%如果為異常,則輸出,并記錄為1,否則不輸出記錄為0strcat('縱向聚類中:',cellstr(data2020{i,1}),'時間:',cellstr(data2020{i,2}),'異常')qt=[qt,1];elseqt=[qt,0];endendqt=qt';DBSCAN聚類:clcclearwarningoffminpts=50;epsilon=2;%%加載并處理數(shù)據(jù)data2019=readtable('data2019.xls');data2020=readtable('data2020.xls');%%對當(dāng)前數(shù)據(jù)聚類idx2020=dbscan(table2array(data2020(:,3:98)),epsilon,minpts);Counts=tabulate(idx2020);count=Counts(:,2);%用于統(tǒng)計每個類別的頻率,[min_count,arg]=min(count);%找到頻率最小的一類,值為arg,即判斷為異常類別q=[];%記錄橫向聚類中異常數(shù)量%以下代碼用于遍歷所有用戶,找到被判為異常類別的用戶fori=1:9439%如果為異常,則輸出,并記錄為1,否則不輸出記錄為0ifidx2020(i)==argstrcat('橫向聚類中:',cellstr(data2020{i,1}),'時間:',cellstr(data2020{i,2}),'異常')q=[q,1];elseq=[q,0];endend%%對歷史數(shù)據(jù)聚類,與歷史狀態(tài)比較warningoffqt=[]ts=60%時間窗長度nn=ts/10;%以下代碼用于遍歷所有用戶,找到被判為異常類別的用戶fori=1:9439%該代碼用于獲取一個用戶所有歷史數(shù)據(jù)index=find(strcmp(data2019{:,1},data2020{i,1}));%對歷史數(shù)據(jù)取時間窗index=index(1:60);%將新數(shù)據(jù)與歷史數(shù)據(jù)放到一個矩陣中con_data=[data2020(i,3:98);data2019(index,3:98)];%將新的輸入與歷史數(shù)據(jù)進(jìn)行聚類,比較idx=dbscan(table2array(con_data),epsilon,minpts);%通過類別數(shù)量來判斷是否異常Counts=tabulate(idx);count=Counts(:,2);[min_count,arg]=min(count);ifidx(1)==arg%如果為異常,則輸出,并記錄為1,否則不輸出記錄為0strcat('縱向聚類中:',cellstr(data2020{i,1}),'時間:',cellstr(data2020{i,2}),'異常')qt=[qt,1];elseqt=[qt,0];endendqt=qt';[COEFF,SCORE,latent,tsquared,explained,mu]=pca(table2array(data2020(:,3:98)));pcaData1=SCORE(:,1:3);fori=min(idx2020):max(idx2020)iii=(idx2020==i);scatter(pcaData1(iii,1),pcaData1(iii,3))holdonend主成分降維:clcclearwarningoffminpts=50;epsilon=2;%%加載并處理數(shù)據(jù)data2019=readtable('data2019.xls');data2020=readtable('data2020.xls');%3維%%對當(dāng)前數(shù)據(jù)聚類idx2020=dbscan(table2array(data2020(:,3:38)),epsilon,minpts);Counts=tabulate(idx2020);count=Counts(:,2);%用于統(tǒng)計每個類別的頻率,[min_count,arg]=min(count);%找到頻率最小的一類,值為arg,即判斷為異常類別q1=[];%記錄橫向聚類中異常數(shù)量%以下代碼用于遍歷所有用戶,找到被判為異常類別的用戶fori=1:9439%如果為異常,則輸出,并記錄為1,否則不輸出記錄為0ifidx2020(i)==argq1=[q1,1];elseq1=[q1,0];endend%%對歷史數(shù)據(jù)聚類,與歷史狀態(tài)比較warningoffqt1=[]ts=60%時間窗長度nn=ts/10;%以下代碼用于遍歷所有用戶,找到被判為異常類別的用戶fori=1:9439%該代碼用于獲取一個用戶所有歷史數(shù)據(jù)index=find(strcmp(data2019{:,1},data2020{i,1}));%對歷史數(shù)據(jù)取時間窗index=index(1:60);%將新數(shù)據(jù)與歷史數(shù)據(jù)放到一個矩陣中con_data=[data2020(i,3:38);data2019(index,3:38)];%將新的輸入與歷史數(shù)據(jù)進(jìn)行聚類,比較idx=dbscan(table2array(con_data),epsilon,minpts);%通過類別數(shù)量來判斷是否異常Counts=tabulate(idx
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026重慶一中寄宿學(xué)校融媒體中心招聘1人備考題庫及答案詳解參考
- 公共場所綠化養(yǎng)護景觀管理手冊
- 2026海南渠田水利水電勘測設(shè)計有限公司天津分公司招聘備考題庫及答案詳解(新)
- 2026年數(shù)據(jù)庫性能調(diào)優(yōu)實戰(zhàn)課程
- 起重吊裝安全督查課件
- 職業(yè)共病管理中的病理機制探討
- 職業(yè)健康科普資源整合策略
- 職業(yè)健康監(jiān)護中的標(biāo)準(zhǔn)化質(zhì)量管理體系
- 職業(yè)健康溝通策略創(chuàng)新實踐
- 職業(yè)健康歸屬感對醫(yī)療員工組織承諾的正向影響
- 2026中國電信四川公用信息產(chǎn)業(yè)有限責(zé)任公司社會成熟人才招聘備考題庫有完整答案詳解
- 2026中國電信四川公用信息產(chǎn)業(yè)有限責(zé)任公司社會成熟人才招聘備考題庫有答案詳解
- 山東省菏澤市牡丹區(qū)2024-2025學(xué)年八年級上學(xué)期期末語文試題(含答案)
- 混凝土材料數(shù)據(jù)庫構(gòu)建-深度研究
- 養(yǎng)老院老年人能力評估表
- 《110kV三相環(huán)氧樹脂澆注絕緣干式電力變壓器技術(shù)參數(shù)和要求》
- DB53∕T 1269-2024 改性磷石膏用于礦山廢棄地生態(tài)修復(fù)回填技術(shù)規(guī)范
- 前列腺增生的護理2
- GB/T 43869-2024船舶交通管理系統(tǒng)監(jiān)視雷達(dá)通用技術(shù)要求
- 福彩刮刮樂培訓(xùn)課件
- QB∕T 3826-1999 輕工產(chǎn)品金屬鍍層和化學(xué)處理層的耐腐蝕試驗方法 中性鹽霧試驗(NSS)法
評論
0/150
提交評論