李小坤,劉光宇,俞瑋捷,俞武嘉
(杭州電子科技大學(xué) 自動化學(xué)院,浙江 杭州 310000)
近幾年,光伏發(fā)電受到中國和歐洲國家歡迎[1]。光伏系統(tǒng),尤其是直流側(cè)“光伏陣列”,必須在惡劣的室外條件下運(yùn)行,導(dǎo)致功率不穩(wěn)定,降低效率和盈利能力[2,3]。然而,對于一個現(xiàn)場太陽能發(fā)電廠來說,很難辨別正在進(jìn)行的是哪種運(yùn)行模式,因此,需要對光伏系統(tǒng)在不同工況下的性能進(jìn)行觀察和分析。
光伏系統(tǒng)故障診斷方法主要分為兩類:傳統(tǒng)的閾值方法和基于機(jī)器學(xué)習(xí)的方法[2]。傳統(tǒng)的閾值方法通過分析電流和電壓[4]等電氣指標(biāo)來實(shí)現(xiàn)[5],但是成本很高。近幾年,人工智能中的一些方法被廣泛應(yīng)用于故障診斷領(lǐng)域,如神經(jīng)網(wǎng)絡(luò)用于估計(jì)變工況下的功率輸出[6]和識別故障類型,屬于監(jiān)督學(xué)習(xí)方法,需要在測量變量和實(shí)際工作條件的映射上精確標(biāo)注。事實(shí)上,監(jiān)督學(xué)習(xí)對太陽能行業(yè)來說并不是很有用,不僅因?yàn)闃?biāo)記不同工作條件的成本很高,而且太陽能系統(tǒng)太復(fù)雜無法正確標(biāo)記。
本文假設(shè)太陽能系統(tǒng)的時間序列電流和電壓可以通過時間序列聚類方法得到一些統(tǒng)計(jì)聚類,這些聚類具有一定的物理意義。為了支持這一假設(shè),首先使用DTW[7]算法對太陽能電站產(chǎn)生的時間序列數(shù)據(jù)進(jìn)行處理,然后使用DBSCAN算法對處理后數(shù)據(jù)的相似性進(jìn)行聚類[8~10]。最后,通過數(shù)據(jù)分析發(fā)現(xiàn)集群的物理含義。研究結(jié)果有助于在光伏發(fā)電系統(tǒng)在工作條件不明確的情況下采用智能技術(shù)進(jìn)行監(jiān)測、預(yù)測和故障診斷。
定義時間序列為X(t)∈m,并且X(t)={x1(t),x2(t),…,xm(t)}是關(guān)于獨(dú)立變量t的有序?qū)崝?shù)值數(shù)據(jù)序列。時間序列聚類是為所有變量在相同的時間間隔內(nèi)提供一定的相似性度量,將時間序列X(t)劃分為一組聚類C={C1,C2,…,Ck}。在這里并且i≠j。
在光伏領(lǐng)域,光強(qiáng)以外的高維時間序列數(shù)據(jù)如何聚類,時間序列聚類是否具有明確的物理意義,目前還沒有研究。假設(shè)當(dāng)使用適當(dāng)?shù)木垲惙椒〞r,太陽能發(fā)電系統(tǒng)在未知工作條件下會產(chǎn)生不同的電流和電壓的時間序列序集。在接下來的研究中,研究了太陽能系統(tǒng)的時間序列聚類,然后發(fā)現(xiàn)了時間序列數(shù)據(jù)的任何實(shí)質(zhì)性的物理含義。
DBSCAN是基于密度的聚類算法的先驅(qū),是科學(xué)文獻(xiàn)中最重要、最流行的聚類算法之一。該算法能夠發(fā)現(xiàn)非凸形狀的類簇。DBSCAN只有兩個參數(shù):ε(Eps)和MinPts,其中ε是掃描半徑,MinPts是一個點(diǎn)的鄰域內(nèi)所包含的最少點(diǎn)的個數(shù)。
DBSCAN算法中概念的定義:1)點(diǎn)p的ε鄰域:Nε(p)表示樣本集中與p的距離不大于ε的樣本,即Nε(p)={q|q∈D,dp,q≤ε},其中,dp,q是點(diǎn)p與點(diǎn)q之間的歐幾里得距離。2)核心點(diǎn):如果|Nε(p)|≥MinPts,則p為核心點(diǎn)。3)密度直達(dá):如果q∈Nε(p),p是一個核心點(diǎn),則稱q由p密度直達(dá)。4)邊界點(diǎn):如果q是由核心點(diǎn)p密度直達(dá),并且|Nε(q)| DBSCAN算法的核心思想是以核心對象為中心的小稠密區(qū)域構(gòu)成一個大稠密區(qū)域。首先,數(shù)據(jù)集D中的所有對象都被標(biāo)記“unvisted”。DBSCAN隨機(jī)選取一個未訪問的點(diǎn)p,標(biāo)記p為“visted”,如果點(diǎn)p的ε鄰域中至少有MinPts個對象,則創(chuàng)建一個p作為核心對象的新簇C。然后,DBSCAN反復(fù)地尋找這個核心對象密度可達(dá)的對象添加到新簇C中。當(dāng)沒有新的點(diǎn)可以被添加到新簇C中時,這一過程結(jié)束。重復(fù)以上過程直到不存在“unvisted”對象,則DBSCAN產(chǎn)生的簇集合為C={C1,C2,…,Cn}。DBSCAN算法的偽代碼如下: 輸入:樣本集D和鄰域參數(shù)(ε,MinPts) 輸出:基于密度的簇的集合C={C1,C2,…,Cn} 方法: 1)標(biāo)記所有對象為unvisited; 2)do; 3)隨機(jī)選擇一個unvisited對象p; 4)標(biāo)記p為visited; 5)ifp的ε鄰域至少有MinPts個對象; 6)創(chuàng)建一個新簇C,并把p添加到C; 7)令N為p的ε鄰域中對象的集合; 8)forN中每一個點(diǎn)q; 9)ifq是unvisited 10)標(biāo)記q為visited; 11)ifq的ε鄰域至少有MinPts個點(diǎn),將這些點(diǎn)添加到N; 12)ifq還不是任何簇的成員,將q添加到C; 13)end for; 14)輸出C; 15)else 標(biāo)記p為噪聲; 16)until沒有標(biāo)記為unvisited的對象。 提出了一種時序DBSCAN方法,作為DTW和DBSCAN的結(jié)合處理時間序列X(t)的聚類方法。首先,使用動態(tài)時間扭曲作為相似性度量方法提取X(t)的特征。然后,將DBSCAN方法應(yīng)用與這些特征生成X(t)的時間序列簇。換句話說,由于DTW算法,DBSCAN方法將用于新的時間序列XDTW(t)劃分為K個簇,每個簇由時間序列X(t)的特定分區(qū)組成。 本文設(shè)計(jì)并搭建了一個小型光伏電站,表1列出了光伏電站4種工作條件。兩個光伏組件之間的電線連接斷開,模擬開路故障。光伏陣列由一塊布遮擋,模擬樹木或建筑物的遮陽效果。類似地,部分遮陽被用于模擬光伏組件的樹葉或沉積物堵塞。 表1 實(shí)驗(yàn)中的條件 從光伏電站中選擇8個屬性從早上8點(diǎn)到下午1點(diǎn)采集實(shí)驗(yàn)數(shù)據(jù),8個屬性分別為光伏陣列的總輸出電壓Vpv,光伏陣列的總輸出電流Ipv,逆變器電壓Vinv,逆變器電Iinv,負(fù)載電壓Vload,負(fù)載電流Iload,環(huán)境溫度T和輻照度G。 時間序列變量X(t)∈1 791×8從室外實(shí)驗(yàn)中獲得,圖1展示了未知工況下的原始數(shù)據(jù)。 圖1 未知工作條件下太陽能系統(tǒng)的原始數(shù)據(jù) 分別采用DBSCAN算法和時序DBSCAN方法對原始數(shù)據(jù)進(jìn)行聚類,后者具有一個輔助步驟,以動態(tài)時間翹曲的方式處理時間序列,而普通DBSCAN算法不考慮獨(dú)立的時間變量。 在實(shí)驗(yàn)中,聚類任務(wù)不知道原始數(shù)據(jù)中隱含了多少工作條件,因此,必須確定最佳聚類個數(shù)K。如果存在一個特定的K,使得DB最小,則K是最佳聚類個數(shù)。DBSCAN有兩個參數(shù),調(diào)整參數(shù)可以得到不同的聚類結(jié)果。設(shè)定算法的閾值MinPts=9,時序DBSCAN的Eps范圍為0~0.2,DBSCAN的Eps范圍為0~4。聚類結(jié)果如圖2所示。 圖2 K值的確定 觀察圖2可以發(fā)現(xiàn),時序DBSCAN算法在K=3時DB最小,K=3是最佳聚類個數(shù)。而DBSCAN算法在K=4時DB最小,K=4是最佳聚類個數(shù)。 此時再用外部指標(biāo)來確定最優(yōu)聚類個數(shù)。從表2和表3中可以發(fā)現(xiàn)K=3時相對較優(yōu),而且時序DBSCAN算法比DBSCAN算法在辨別噪聲方面明顯更好。 表2 時序DBSCAN聚類結(jié)果 表3 DBSCAN聚類結(jié)果 不可否認(rèn),實(shí)驗(yàn)中未知的工作條件是為了測試所提出的聚類思想而故意設(shè)計(jì)的。但是,在聚類過程中沒有使用任何與原始數(shù)據(jù)相關(guān)聯(lián)的標(biāo)簽,所以這些簇完全是由數(shù)學(xué)公式推導(dǎo)出來的。在后續(xù)中,撤銷這些“未知”條件的先驗(yàn)知識,發(fā)現(xiàn)實(shí)際物理現(xiàn)象和簇之間的一些自然聯(lián)系。 表4和表5是聚類算法簇與人工標(biāo)記簇之間的比較結(jié)果。無論K為多少,開路故障C2與整體遮陽C3和局部遮陽C4都幾乎完全分離,因此,可以通過選擇不同的K準(zhǔn)確地識別出電氣故障。然而,無論K為多少,整體遮擋和局部遮擋都不能夠清晰地分辨出,且往往會把整體遮陽和局部遮陽分為同一類。而隨著K的增加,會把正常條件C1分裂為多個簇,可能是環(huán)境變化的屬性欺騙了聚類算法。 表4 以百分比表示的基于時序DBSCAN方法聚類的物理含義 表5 以百分比表示的DBSCAN方法聚類的物理含義 綜上所述,開路故障更容易與其他條件分離,正常條件是最容易混淆的條件,而局部遮陽和整體遮陽分為一類,可能是因?yàn)榛镜奈锢碓硎情_路故障是一種電氣故障,而其他條件都會受到太陽輻射變化的影響。 建成的太陽能電站能夠在正常工作、局部遮陽、整體遮陽、開路故障等不同的運(yùn)行條件下工作,采集室外實(shí)驗(yàn)中的時間序列電流和電壓數(shù)據(jù)進(jìn)行聚類。實(shí)驗(yàn)結(jié)果表明:未知的工作條件與電壓和電流的聚類有物理聯(lián)系,而太陽能發(fā)電系統(tǒng)的未知工作條件是否與電流和電壓的時間序列簇相關(guān),從而使每個簇具有明確的物理含義,這是一個有待解決的問題。2.2 時序DBSCAN方法
3 實(shí) 驗(yàn)
4 實(shí)驗(yàn)結(jié)果與分析
4.1 原始數(shù)據(jù)
4.2 聚類結(jié)果
4.3 聚類的物理含義
5 結(jié) 論