顧崇寅,徐瀟源,王夢圓,嚴(yán) 正
(電力傳輸與功率變換控制教育部重點實驗室(上海交通大學(xué)),上海市 200240)
傳統(tǒng)化石燃料帶來嚴(yán)重的環(huán)境污染問題,太陽能作為可再生的清潔能源,日益受到各國的重視。光伏發(fā)電具有安裝簡便、地域限制小、運行噪音低和使用壽命長等優(yōu)點,近年來,全球光伏發(fā)電裝機容量迅速提升[1-3]。然而,光伏陣列多安裝在屋頂、山丘、沙漠等惡劣環(huán)境中,故障頻發(fā),導(dǎo)致發(fā)電效率降低、光伏組件損壞,甚至引發(fā)火災(zāi)。因此,研究準(zhǔn)確、快速的光伏陣列故障診斷方法具有重要意義。
常用的故障診斷方法分為電路結(jié)構(gòu)法、數(shù)學(xué)模型法、紅外圖像法和人工智能法等[4]。電路結(jié)構(gòu)法[5-6]通過改變電路結(jié)構(gòu),配合電壓、電流傳感器診斷故障類型。但是,這類方法需要安裝額外的傳感器,增加了系統(tǒng)復(fù)雜度和安裝成本。數(shù)學(xué)模型法[7-8]通過對光伏陣列進(jìn)行仿真建模,將陣列實際運行結(jié)果與仿真預(yù)期結(jié)果進(jìn)行對比,根據(jù)兩者的差異診斷故障。這類方法需要建立精確的仿真模型,但光伏系統(tǒng)的多樣性和故障的復(fù)雜性增加了建模難度。紅外圖像法[9-10]使用紅外測試儀拍攝光伏陣列的紅外圖像,根據(jù)故障與正常部分溫度的差異診斷故障。這類方法易受到外界環(huán)境的干擾,同時需安裝紅外測試儀,增加了系統(tǒng)成本。人工智能法[11-15]無需額外的傳感器或紅外測試儀,也不依賴于數(shù)學(xué)模型,在光伏故障診斷領(lǐng)域得到了廣泛應(yīng)用。文獻(xiàn)[11]提出一種基于反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)的故障診斷方法,可用于診斷光伏陣列短路、開路、異常老化和局部陰影4 種故障。文獻(xiàn)[12]利用參考光伏組件將光伏陣列電壓和電流歸一化,提出一種半監(jiān)督機器學(xué)習(xí)算法診斷故障類型。文獻(xiàn)[13]提出一種基于級聯(lián)隨機森林的光伏組件故障診斷模型,綜合光伏電站和氣象站監(jiān)測數(shù)據(jù)診斷常見故障類型。文獻(xiàn)[14]利用輸出特性曲線斜率判斷被陰影遮擋的組件個數(shù),并通過短路電流對陰影強度進(jìn)行預(yù)估,提出一種基于模糊控制的熱斑故障診斷方法。文獻(xiàn)[15]提出一種基于半監(jiān)督梯形網(wǎng)絡(luò)的故障診斷方法,利用光伏陣列的時序電壓和電流,診斷短路、開路、局部陰影等多種故障。
綜合上述文獻(xiàn),現(xiàn)有人工智能方法一般采用神經(jīng)網(wǎng)絡(luò)擬合光伏陣列量測信息與故障類型之間的關(guān)系,需要大量有標(biāo)簽數(shù)據(jù)進(jìn)行訓(xùn)練,數(shù)據(jù)采集工作量大,當(dāng)實際樣本數(shù)較小時,故障診斷精度難以保障;同時,上述文獻(xiàn)主要討論不同類型的故障,沒有精細(xì)考慮不同程度的故障,尤其是忽略了不同的陰影模式,亟待研究不同程度故障的診斷方法。
針對以上問題,本文引入一種改進(jìn)的決策樹算法——CatBoost 算法診斷光伏陣列故障。決策樹算法的模型結(jié)構(gòu)比神經(jīng)網(wǎng)絡(luò)更加適合分類問題,無需大量訓(xùn)練數(shù)據(jù)。首先,考慮短路、開路、老化、局部陰影下不同程度的光伏陣列故障,分析光伏陣列的伏安特性曲線變化特性,構(gòu)建反映不同故障特性的特征量,作為光伏陣列故障診斷的輸入向量;其次,采用CatBoost 算法進(jìn)行故障診斷,克服傳統(tǒng)神經(jīng)網(wǎng)絡(luò)算法需要大量數(shù)據(jù)訓(xùn)練的缺點;最后,采用仿真數(shù)據(jù)以及實際光伏平臺實驗結(jié)果進(jìn)行算例分析,并將所提方法與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)算法和其他決策樹算法進(jìn)行對比,驗證本文算法在小規(guī)模訓(xùn)練集下的準(zhǔn)確性和穩(wěn)定性。
根據(jù)光伏組件在光照下的工作原理以及物理電子學(xué)原理,建立光伏組件的等效電路模型見附錄A圖A1[16]。
根據(jù)肖特基二極管的電流方程[17]和光伏組件的等效電路模型,建立光伏組件的基本電流方程[16]:
式中:Iph為光生電流;I0為二極管的反向飽和電流;Rs為光伏組件等效串聯(lián)電阻;Rsh為等效并聯(lián)電阻;U為輸出電壓;I為輸出電流;A為二極管修正品質(zhì)因子,A=nkT/q,其中n為二極管品質(zhì)因子,k為玻爾茲曼常數(shù),其值為1.38×10?23J/K,T為光伏組件背板的絕對溫度,q為電子電荷常數(shù),其值為1.6×10?19C。
由式(1)可知,光伏組件的I-U輸出特性受到5 個內(nèi)部參數(shù)Iph、I0、A、Rs、Rsh的影響。當(dāng)內(nèi)部參數(shù)受到故障或環(huán)境因素影響而發(fā)生變化時,光伏組件的輸出特性會隨之變化。
外部環(huán)境因素的變化對光伏組件的輸出特性具有顯著影響。其中,光照強度G和組件溫度T對輸出特性的影響占主導(dǎo)地位。光生電流Iph隨著光照強度G近似呈線性變化,其變化關(guān)系式為[18]:
式中:Gref和Tref分別為標(biāo)準(zhǔn)測試條件(standard test condition,STC)下的光照強度和溫度,其值分別為1 000 W/m2和298 K;Iphr為STC 下的光生電流;αImp為電流溫度系數(shù)。
根據(jù)光伏電池的物理特性,反向飽和電流I0隨溫度T的變化關(guān)系式為[19]:
式中:I0r和Ar分別為STC 下的反向飽和電流和二極管修正品質(zhì)因子;Eg為光伏電池的帶隙能量,本文取值為1.12 eV;Ns為光伏組件中所含電池的個數(shù)。
二極管品質(zhì)因子n隨光照和溫度變化不明顯,可看作常數(shù)。因此,二極管修正品質(zhì)因子A是僅關(guān)于溫度T的函數(shù)[20]:
串聯(lián)電阻Rs隨溫度變化關(guān)系如下[19]:
式中:Rsr為STC 下的串聯(lián)電阻;UOC為開路電壓。式(5)沒有顯式包含溫度T,但是A和I0均為關(guān)于T的函數(shù)。
UOC與內(nèi)部參數(shù)的近似關(guān)系為[21]:
并聯(lián)電阻Rsh隨光照強度G的變化關(guān)系為[16]:
式中:Rshr為STC 下的并聯(lián)電阻。
根據(jù)式(1)所示基本電流方程,考慮光照強度和溫度對參數(shù)的影響,可以得到正常運行時,不同光照強度和溫度條件下光伏組件的伏安特性曲線,其變化趨勢如圖1 所示。可以看出,環(huán)境因素對光伏組件的輸出特性具有顯著影響,引起的電流、電壓變化和故障造成的電壓、電流變化相疊加,增加了光伏陣列的故障診斷難度。
圖1 不同光照強度和溫度條件下的伏安特性曲線Fig.1 I-V characteristic curves under different irradiance and temperature conditions
針對光伏陣列中常見的4 類故障:短路、開路、老化、局部陰影,本節(jié)考慮配置旁路二極管和阻塞二極管的3×4 的光伏陣列,分析不同故障類型下光伏陣列伏安特性曲線的變化情況,并基于伏安特性曲線選取故障診斷的特征量。短路、開路、老化故障情況見附錄A 圖A2。
1)短路故障
由于阻塞二極管的存在,當(dāng)光伏陣列發(fā)生短路故障時,故障支路電流仍然保持正向,其伏安特性曲線呈現(xiàn)“多峰”狀態(tài),即存在多個局部最大功率點。發(fā)生短路故障時,光伏陣列的伏安特性曲線和P-V曲線分別如圖2(a)、圖3(a)所示。圖中,曲線上的圓點為全局最大功率點??梢钥闯?,當(dāng)光伏陣列發(fā)生短路故障時,短路電流ISC、開路電壓UOC變化很小,而最大功率點變化顯著。因此,選取最大功率點電流Im和電壓Um作為故障特征。
圖2 不同故障情況下的伏安特性曲線Fig.2 I-V characteristic curves with different faults
圖3 短路故障、局部陰影情況下的P-V 曲線Fig.3 P-V curves in cases of short circuit and partial shading
2)開路故障
當(dāng)整個光伏陣列輸出端開路時,陣列的輸出電流為零,故障特征明顯,此時的光伏陣列保護(hù)裝置能夠準(zhǔn)確識別故障,因此,本文僅研究部分支路開路的情況。光伏陣列開路故障的伏安特性曲線如圖2(b)所示。可以看出,支路開路相當(dāng)于串并聯(lián)陣列中并聯(lián)支路數(shù)量減少,UOC和Um不變,而ISC和Im明顯下降,故選取ISC和Im作為故障特征。
3)老化故障
光伏陣列多安裝在環(huán)境較為惡劣的室外,長期運行中會出現(xiàn)逐漸老化的現(xiàn)象。組件老化可以表現(xiàn)為等效串聯(lián)電阻增加,導(dǎo)致其伏安特性曲線發(fā)生變化。不同老化程度下的光伏陣列伏安特性曲線如圖2(c)所示。可以看出,老化故障時最大功率點變化明顯,且老化程度越嚴(yán)重時最大功率點變化越大,故選取Im和Um作為故障特征。
4)局部陰影
局部陰影的模式有多種,考慮到真實光伏平臺可能發(fā)生的情況,即大多數(shù)的陰影情況是沿著光伏陣列的某一角或某一邊進(jìn)行遮擋,且陰影的面積和程度存在差異,本文共選取了5 種陰影模式,如圖4所示,其中,數(shù)字表示光伏組件陰影的透光率,反映了其陰影的嚴(yán)重程度。不同陰影模式下的光伏陣列伏安特性曲線和P-V曲線如圖2(d)、圖3(b)所示??梢钥闯?,不同陰影模式下的局部最大功率點個數(shù)不同。因此,選取局部最大功率點的個數(shù)作為故障特征之一。同時,全局最大功率點會隨著陰影模式的變化而變化,開路電壓也會發(fā)生微小的變化,故選取Im、Um和UOC作為故障特征。
圖4 光伏陣列的不同陰影模式Fig.4 Different shading patterns of PV array
由1.3 節(jié)可知,光伏陣列伏安特性曲線參數(shù)ISC、UOC、Im、Um和局部最大功率點個數(shù)被選取為故障診斷的特征量,記為F1至F5。但是,短路故障與局部陰影都存在“多峰”情況,伏安特性曲線比較接近;輕微老化和正常運行的最大功率點偏差很小,短路電流和開路電壓幾乎保持不變。同時由圖1 可知,當(dāng)光照強度和組件溫度發(fā)生較大變化時,即使在同一種故障模式下,伏安特性曲線也會發(fā)生很大變化。因此,僅選取F1至F5參數(shù)作為故障特征,并不能全面反映不同環(huán)境下的不同故障類型。為了反映更多的故障信息,本文還選取了如下特征量[22-23]:
F6至F10均可通過ISC、UOC、Im、Um計算獲得。F6表示伏安特性曲線上最大功率點與開路點之間連線的 斜 率;F7、F8分 別 表 示Im、Um與ISC、UOC的 比 例 關(guān)系;F9稱為填充因子,反映了組件的故障程度;F10主要用于診斷程度較輕的短路故障。
在光伏陣列發(fā)生圖2 所示的各種故障時,特征量F6至F10能夠進(jìn)一步體現(xiàn)出不同故障之間的差異。在故障特征F1至F5的基礎(chǔ)上,構(gòu)造上述特征量能夠反映關(guān)鍵點之間的斜率、比例等伏安特性曲線的更多特征。因此,綜合考慮故障特征量F1至F10,能夠豐富故障信息,從而提高多種不同類型、不同程度故障的診斷準(zhǔn)確率。
由光伏陣列的故障分析以及光照強度、溫度對光伏組件的影響可知,光伏陣列故障診斷是一個復(fù)雜的非線性問題。很多機器學(xué)習(xí)方法能夠處理非線性問題,但是傳統(tǒng)的學(xué)習(xí)方法需要大量的數(shù)據(jù)進(jìn)行訓(xùn)練,從而達(dá)到較高的精度。但對于實際光伏陣列而言,采集大量的有標(biāo)簽數(shù)據(jù)工作量大、耗時長;在長期運行中,光伏組件的參數(shù)可能發(fā)生變化,此時需要重新采集數(shù)據(jù)進(jìn)行訓(xùn)練,以獲得新的診斷模型。傳統(tǒng)的學(xué)習(xí)方法需要重復(fù)且龐大的工作量,難以適應(yīng)快速投入診斷的要求。本文選取一種改進(jìn)的梯度提升(gradient boosting)算法——CatBoost 算法。CatBoost 算法是一種基于決策樹的模型,與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型不同,其不需要大量樣本作為訓(xùn)練集,能夠適應(yīng)小規(guī)模樣本下的訓(xùn)練和高精度診斷。
CatBoost 算法屬于Boosting 算法系列,是一種基于梯度提升決策樹(gradient boosting decision tree,GBDT)的新型機器學(xué)習(xí)算法框架。GBDT 算法是Friedman 于2000 年提出的一種用于回歸和分類的算法,能夠避免由于內(nèi)部集成多個決策樹并累積多個決策樹而導(dǎo)致單個決策樹產(chǎn)生過度擬合的問題。GBDT 算法在每個迭代步構(gòu)建沿梯度最陡方向降低損失的學(xué)習(xí)器,以彌補當(dāng)前已構(gòu)建模型的不足,即利用梯度下降法進(jìn)行優(yōu)化。算法模型可定義為[24]:
式中:F(?)為整個決策樹的輸出;x為樣本的輸入;w為整個決策樹的參數(shù);αt為第t棵樹的權(quán)重;E為樹的棵數(shù);ht(?)為第t棵決策樹的輸出;wt為第t棵決策樹的參數(shù);ft(?)為經(jīng)過加權(quán)后第t棵決策樹的輸出。
通過最小化損失函數(shù),獲得最優(yōu)模型的參數(shù)為[24]:
式中:L(?)為損失函數(shù),通??梢圆捎镁讲罨蚪^對損失作為損失函數(shù);yi為樣本i的實際輸出;xi為樣本i的輸入;N為樣本數(shù)量。
由于GBDT 算法中弱學(xué)習(xí)器之間存在依賴關(guān)系,難以并行訓(xùn)練數(shù)據(jù)。同時,算法缺乏平滑性,學(xué)習(xí)得到的模型仍可能產(chǎn)生過擬合問題。CatBoost 算法解決了傳統(tǒng)GBDT 算法的過擬合問題,其采用Ordered Boosting 方法獲得梯度的無偏估計,以減輕梯度估計偏差的影響,從而提高模型的泛化能力[25]。
在傳統(tǒng)GBDT 算法中,標(biāo)簽平均值將作為節(jié)點分裂的標(biāo)準(zhǔn),可以表示為[26]:
這種方法的缺點是通常特征比標(biāo)簽包含更多的信息,如果使用標(biāo)簽的平均值來表示特征,則當(dāng)訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集的數(shù)據(jù)結(jié)構(gòu)和分布不同時會出現(xiàn)條件偏移問題。CatBoost 算法加入先驗項和權(quán)重系數(shù),能夠減少噪聲和低頻率類別數(shù)據(jù)對數(shù)據(jù)分布的影響[26]:
式中:p為添加的先驗項;a為權(quán)重系數(shù)。
CatBoost 算法使用對稱樹(oblivious tree)作為基預(yù)測器。在每次迭代中,在樹的整層上應(yīng)用相同的分割法則,左右子樹完全對稱而保持平衡。在對稱樹中,每個葉子節(jié)點的索引可以被編碼為長度等于樹深度的二進(jìn)制向量。所有樣本的二進(jìn)制特征值都存儲在連續(xù)向量B中。葉子節(jié)點的值存儲在大小為2d的浮點數(shù)向量中,其中,d為樹的最大深度。為計算第t棵樹的葉子節(jié)點的索引,對于樣本x,建立一個二進(jìn)制向量[25]:
式中:Bx為對樣本x建立的二進(jìn)制向量;B[x,f(t,m)]為 從 向 量B中 讀 取 樣 本x的 二 進(jìn) 制特征f的值;f(t,m)為二進(jìn)制特征的數(shù)量;m為樹的深度;t為樹的棵數(shù)。CatBoost 算法不需要過多訓(xùn)練數(shù)據(jù),即可獲得較高的模型精度,并且不需要對超參數(shù)進(jìn)行調(diào)優(yōu),避免了過擬合的發(fā)生[27]。
將1.4 節(jié)中選取的10 個特征量F1至F10以及環(huán)境因素G、T共同作為算法輸入,不同故障類型的標(biāo)簽作為算法輸出,構(gòu)建基于CatBoost 算法的光伏陣列故障診斷方法,診斷流程如圖5 所示。
圖5 光伏陣列故障診斷流程Fig.5 Flow chart of fault diagnosis for PV array
在實際應(yīng)用中,在模型給出相應(yīng)的故障診斷結(jié)果時,會對該樣本數(shù)據(jù)做進(jìn)一步對比分析,并根據(jù)相應(yīng)故障類型對光伏平臺進(jìn)行運維檢修。如果該樣本數(shù)據(jù)與模型診斷的故障類型的典型數(shù)據(jù)存在很大差異,并且在進(jìn)一步的運維檢修中發(fā)現(xiàn)并未發(fā)生該類型故障,那么光伏平臺可能發(fā)生了其他的故障情況,此時需要進(jìn)行進(jìn)一步的診斷和檢修。本文選取的4 種故障類型屬于光伏平臺發(fā)生頻率較高的故障,如果需要區(qū)分一些其他的故障類型,也可以通過獲取相應(yīng)故障的數(shù)據(jù)集,訓(xùn)練得到相應(yīng)的診斷模型。
基于光伏組件的等效電路模型,本文在MATLAB/Simulink 環(huán)境中搭建了一個3×4 規(guī)模的光伏陣列仿真模型,并使用可變負(fù)載測量伏安特性曲線,最終獲得曲線上的關(guān)鍵點。光伏陣列仿真模型見附錄A 圖A3。圖中,每一光伏組件內(nèi)部已包含旁路二極管,光伏組件參數(shù)見附錄A 表A1。
本文共選取11 種運行工況作為研究對象,分別為正常運行、一個或兩個組件短路、一條支路開路、輕微老化、嚴(yán)重老化、5 種不同模式的局部陰影。各種工況及其對應(yīng)的標(biāo)簽如表1 所示,標(biāo)簽代表不同的故障類型。開路故障僅考慮一條支路發(fā)生開路的情況,在實際系統(tǒng)中,多條支路同時發(fā)生開路的概率極低,故本文不考慮多條支路開路故障。兩種不同的老化故障分別為:輕微老化,老化電阻為3 Ω;嚴(yán)重老化,老化電阻為10 Ω。5 種不同的陰影模式如圖4所示。其中,模式1:單個組件光照降為70%;模式2:同一串中3 個組件光照降為70%;模式3:每一串中一個組件光照降為70%;模式4:同一串中3 個組件光照降為40%,另一串中3 個組件光照降為70%;模式5:每一串中一個組件光照降為70%,另一組件降為40%。
表1 運行工況和對應(yīng)標(biāo)簽Table 1 Operating conditions and corresponding labels
對于每種工況,選取G∈[300,1 100]W/m2,T∈[298,348]K,間隔20 W/m2、10 K 進(jìn)行取值,共采集到11×246=2 706 條伏安特性曲線,并從中讀取短路電流和開路電壓。同時,通過計算功率P,獲得相應(yīng)的P-V曲線,從而獲得局部最大功率點個數(shù)。結(jié)合伏安特性曲線,獲得最大功率點的電流和電壓。獲得特征F1至F5后,根據(jù)式(8)至式(12)得到其余特征F6至F10。結(jié)合每一光伏曲線對應(yīng)的G、T作為樣本的輸入,建立包含2 706 個樣本的12 輸入、1 輸出的數(shù)據(jù)集,輸出即為每一樣本對應(yīng)工況的標(biāo)簽。
3.3.1 不同工況診斷結(jié)果分析
在小規(guī)模的訓(xùn)練集下,驗證CatBoost 算法的可行性。以5% 的數(shù)據(jù)集作為訓(xùn)練集為例,研究CatBoost 算法對本文選取的11 種工況的具體診斷效果。考慮到訓(xùn)練集選取的隨機性對診斷模型和結(jié)果的影響,進(jìn)行了10 次實驗。其中,先采用網(wǎng)格搜索得到最優(yōu)參數(shù),然后進(jìn)行訓(xùn)練和診斷,算法模型的參數(shù)設(shè)置見附錄A 表A2。對不同工況的診斷平均準(zhǔn)確率如圖6 所示。
圖6 不同工況下的診斷平均準(zhǔn)確率Fig.6 Average diagnostic accuracy under different working conditions
由圖6 可知,CatBoost 算法對正常運行(標(biāo)簽0)和輕微老化(標(biāo)簽4)的診斷準(zhǔn)確率最低;由圖2(c)可知,當(dāng)組件發(fā)生輕微老化時,光伏陣列的伏安特性曲線與正常運行時差異很小,故這兩種工況易發(fā)生混淆,從而引起誤診。然而,當(dāng)組件的老化程度輕微時,其輸出特性曲線的變化對于負(fù)載幾乎不產(chǎn)生影響,故可以認(rèn)為光伏陣列仍能正常工作。當(dāng)老化程度加深時,CatBoost 算法能夠準(zhǔn)確做出診斷。為了更好地說明這一問題,可以將輕微老化和正常運行這兩種工況視為同種工況,并將這兩種工況標(biāo)簽均設(shè)置為0,其他工況標(biāo)簽不變。以5%數(shù)據(jù)集作為訓(xùn)練集,進(jìn)行10 次實驗。各工況診斷平均準(zhǔn)確率如表2 所示。
表2 不區(qū)分輕微老化情況下的各工況診斷平均準(zhǔn)確率Table 2 Average diagnostic accuracy under different working conditions without distinguishing slight aging
由表2 可見,當(dāng)不區(qū)分輕微老化和正常運行這兩種工況時(此時共還有10 種工況),本文所提算法對正常運行工況的診斷準(zhǔn)確率達(dá)到96.26%,證明了本文方法的有效性。
3.3.2 算法對比結(jié)果分析
為分析所提方法的優(yōu)越性,將本文算法與傳統(tǒng)神經(jīng)網(wǎng)絡(luò),包括反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN)、徑向基函數(shù)神經(jīng) 網(wǎng) 絡(luò)(radial basis function neural network,RBFNN)、卷 積 神 經(jīng) 網(wǎng) 絡(luò)(convolutional neural network, CNN),以及其他改進(jìn)決策樹算法(極限梯度提升(extreme gradient boosting,XGBoost)算法)進(jìn)行對比。分別隨機抽取數(shù)據(jù)集中各工況的3%、5%和10%的樣本作為訓(xùn)練集,數(shù)據(jù)集剩余樣本作為測試集,分析各算法的診斷效果??紤]到訓(xùn)練集選取的隨機性對診斷模型和結(jié)果的影響,對于每一種算法的每一種訓(xùn)練集規(guī)模,都分別進(jìn)行10 次實驗,各方法的平均準(zhǔn)確率、最低準(zhǔn)確率、準(zhǔn)確率方差和平均訓(xùn)練時間如表3 所示。每次訓(xùn)練結(jié)果的準(zhǔn)確率含義為測試樣本中預(yù)測標(biāo)簽與實際標(biāo)簽相同的樣本數(shù)占總測試樣本的比例。多次實驗結(jié)果的平均準(zhǔn)確率、最低準(zhǔn)確率和準(zhǔn)確率方差計算方式為:
式中:Pr為第r次實驗結(jié)果的準(zhǔn)確率;M為實驗次數(shù)為M次實驗結(jié)果的平均準(zhǔn)確率;Pmin為M次實驗結(jié)果的最低準(zhǔn)確率;DP為M次實驗結(jié)果準(zhǔn)確率的方差。
由表3 可知,在診斷結(jié)果的平均準(zhǔn)確率方面,3 種神經(jīng)網(wǎng)絡(luò)算法明顯低于改進(jìn)決策樹算法。XGBoost算法的平均準(zhǔn)確率相對于神經(jīng)網(wǎng)絡(luò)算法有了明顯提升,但仍低于CatBoost 算法。本文所用的CatBoost算法在訓(xùn)練集規(guī)模為3%時,仍有超過86%的平均準(zhǔn)確率,當(dāng)訓(xùn)練集規(guī)模達(dá)10%時,平均準(zhǔn)確率超過95%,證明在準(zhǔn)確性方面本文算法相比于其他算法具有顯著優(yōu)勢。
表3 不同訓(xùn)練集規(guī)模下的各算法診斷結(jié)果Table 3 Diagnosis results of each algorithm with different training set sizes
在算法穩(wěn)定性方面,根據(jù)準(zhǔn)確率方差和最低準(zhǔn)確率指標(biāo),3 種神經(jīng)網(wǎng)絡(luò)算法的穩(wěn)定性都明顯低于改進(jìn)決策樹算法,而且其最低準(zhǔn)確率均低于60%,說明神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練得到的模型受訓(xùn)練集變化影響大,穩(wěn)定性低。XGBoost 算法的穩(wěn)定性相對于神經(jīng)網(wǎng)絡(luò)算法有明顯提升;CatBoost 算法在不同訓(xùn)練集規(guī)模下的穩(wěn)定性都優(yōu)于其他算法,當(dāng)訓(xùn)練集規(guī)模為3%時,其最低準(zhǔn)確率也超過80%,說明在小規(guī)模訓(xùn)練集下,CatBoost 算法具有很強的映射能力和抗干擾性,相比于其他算法具有顯著優(yōu)勢。
在平均訓(xùn)練時間方面,RBFNN 算法耗時最短,CNN 算法耗時最長,CatBoost 算法耗時略長于BPNN 算法??紤]到RBFNN 和BPNN 算法的準(zhǔn)確性和穩(wěn)定性較低,CatBoost 算法在保證高準(zhǔn)確性和穩(wěn)定性的前提下,耗時僅略長于BPNN 算法。綜合準(zhǔn)確性、穩(wěn)定性和訓(xùn)練時間,CatBoost 算法具有最優(yōu)的實用性。
從診斷結(jié)果對比來看,神經(jīng)網(wǎng)絡(luò)的診斷精度普遍低于決策樹算法的精度,這主要是針對小規(guī)模訓(xùn)練集而言的。神經(jīng)網(wǎng)絡(luò)算法在進(jìn)行分類時,仍采取擬合回歸的方式,訓(xùn)練目標(biāo)是讓模型輸出值逼近樣本標(biāo)簽。訓(xùn)練得到的模型輸出值是一個連續(xù)的實數(shù),通過四舍五入的方式判斷預(yù)測結(jié)果屬于哪一個數(shù)值型標(biāo)簽,這樣的模型邏輯使得神經(jīng)網(wǎng)絡(luò)算法往往需要更多的訓(xùn)練數(shù)據(jù);而改進(jìn)決策樹算法的模型是不斷分裂的決策樹,樹的分裂過程就是分類的過程,模型的預(yù)測結(jié)果是數(shù)值型標(biāo)簽,而不是一個逼近值。同時,神經(jīng)網(wǎng)絡(luò)的參數(shù)數(shù)量往往遠(yuǎn)多于決策樹的參數(shù)數(shù)量。因此,要獲得效果好的模型,神經(jīng)網(wǎng)絡(luò)需要較多的訓(xùn)練數(shù)據(jù)。綜合算法邏輯和參數(shù)數(shù)量這兩個方面,相比于神經(jīng)網(wǎng)絡(luò)算法,決策樹算法無需很多數(shù)據(jù)進(jìn)行訓(xùn)練就能達(dá)到很好的預(yù)測效果。
3.2 節(jié)中,分別選取老化電阻值為3 Ω 和10 Ω 來表示輕微老化和嚴(yán)重老化兩類故障。但在實際中,老化程度是一個連續(xù)變量,無須詳細(xì)區(qū)分老化電阻的精確數(shù)值,只需判斷陣列是否發(fā)生了老化故障即可。如果老化電阻值在3~10 Ω之間,也應(yīng)驗證本文模型的診斷效果。在光伏陣列仿真模型中,分別設(shè)置老化電阻值為4、5、6、7、8、9 Ω,對于每種情況,選取G∈[300,1 100]W/m2,T∈[298,348]K,間隔20 W/m2、10 K 進(jìn)行取值,以3.2 節(jié)所述相同方法獲得一個包含6×246=1 476 個樣本的數(shù)據(jù)集。仍然隨機抽取5%規(guī)模的11 種工況數(shù)據(jù)集作為訓(xùn)練集,即訓(xùn)練集中老化故障僅包含3 Ω 和10 Ω 兩種情況,將老化程度為4~9 Ω 的數(shù)據(jù)集作為測試集,如果其預(yù)測結(jié)果為輕微老化或嚴(yán)重老化中的一種,則認(rèn)為該樣本的預(yù)測結(jié)果正確。進(jìn)行10 次實驗,模型診斷的平均準(zhǔn)確率見附錄A 表A3。當(dāng)老化程度為4 Ω 時,模型的診斷準(zhǔn)確率未達(dá)到80%,這是因為此時老化程度仍然比較輕微,光伏陣列的伏安特性曲線與正常運行工況差異很小,易引起誤診。但輕微的老化對負(fù)載幾乎不會產(chǎn)生影響,也不會危害光伏陣列的安全,而當(dāng)老化程度逐漸上升時,模型能夠準(zhǔn)確地識別出故障。
同樣,陰影程度也是一個連續(xù)變量。3.2 節(jié)中選取0.4(程度嚴(yán)重)和0.7(程度輕微)這兩種陰影程度建立訓(xùn)練集。以陰影模式5 為例,改變陰影的遮擋程度,以驗證本文模型的診斷效果。分別設(shè)置陰影模式5 中的兩種陰影程度為:0.5 和0.8、0.4 和0.8、0.3 和0.7、0.3 和0.6,以3.2 節(jié) 所 述 方 法 獲 得 一 個 包含4×246=984 個樣本的數(shù)據(jù)集。仍然隨機抽取5%規(guī)模的11 種工況數(shù)據(jù)集作為訓(xùn)練集(即其中的陰影程度僅有0.4 和0.7),將建立的陰影數(shù)據(jù)集作為測試集,如果樣本被診斷為局部陰影,則認(rèn)為模型的預(yù)測結(jié)果正確。進(jìn)行10 次實驗,模型診斷的平均準(zhǔn)確率見附錄A 表A4??梢姡?dāng)陰影程度發(fā)生變化時,本文模型仍能較準(zhǔn)確地將該陰影情況診斷為其接近的陰影類別。
考慮到實際光伏平臺量測數(shù)據(jù)存在噪聲的問題,在仿真數(shù)據(jù)集的短路電流、開路電壓、最大功率點電流和電壓上分別疊加一個一定范圍內(nèi)的隨機數(shù)模擬噪聲,在此基礎(chǔ)上重新計算其他故障特征量F6至F10,形成一個包含噪聲的數(shù)據(jù)集。信噪比的定義如下:
式中:S為信噪比;As為真實信號(電流或電壓)的有效值(或幅值);An為噪聲的有效值(或幅值)。信噪比越低則噪聲越大。
隨機抽取5%的包含噪聲的數(shù)據(jù)集作為訓(xùn)練集,剩余數(shù)據(jù)集作為測試集,研究本文算法的診斷效果。不同噪聲程度下,本文算法的診斷平均準(zhǔn)確率見附錄A 表A5??梢?,數(shù)據(jù)噪聲對模型的診斷精度會造成影響,隨著數(shù)據(jù)噪聲加大,模型的診斷準(zhǔn)確率下降。當(dāng)信噪比降為20 dB,即噪聲有效值(幅值)達(dá)到真實信號的10%時,本文模型的診斷平均準(zhǔn)確率仍能達(dá)到88.23%,證明本文模型對于數(shù)據(jù)噪聲具有一定的抗干擾能力。
為進(jìn)一步驗證本文所提出算法的實用性,搭建了一個3×4 規(guī)模的光伏陣列實驗平臺,見附錄A 圖A4。光伏組件型號為SFM-80,在STC 下其主要參數(shù)見附錄A 表A6。
參考仿真分析,仍選取11 種工況進(jìn)行實驗,運行工況對應(yīng)的標(biāo)簽如表1 所示。短路和開路的設(shè)計方法與仿真完全相同;串聯(lián)3 Ω 電阻模擬輕微老化,串聯(lián)8 Ω 電阻模擬嚴(yán)重老化;覆蓋透光薄膜模擬輕微局部陰影,其透光率約為0.6,使用多層薄膜模擬嚴(yán)重陰影,其透光率約為0.2,陰影覆蓋模式與仿真相同。故障模擬方法見附錄A 圖A5。
為驗證算法在不同環(huán)境下的效果,在不同天氣條件下采集數(shù)據(jù),光照強度G的范圍為150~1 100 W/m2,溫度T的范圍為298~338 K。分別模擬11 種工況,每種工況采集獲得100 條陣列的伏安特性曲線,讀取故障特征量F1至F5,利用式(8)至式(12)計算得到故障特征量F6至F10;根據(jù)模擬的不同工況給每個樣本標(biāo)上相應(yīng)的標(biāo)簽(0~10)。結(jié)合每組樣本對應(yīng)的光照強度G和溫度T,形成一個包含1 100 個樣本的12 輸入(F1至F10、G、T)、1 輸出(樣本標(biāo)簽)的故障數(shù)據(jù)集。如果在實際應(yīng)用中難以進(jìn)行故障模擬實驗,可以根據(jù)光伏平臺參數(shù)和少量歷史有標(biāo)簽數(shù)據(jù)進(jìn)行仿真模擬,獲得有標(biāo)簽的數(shù)據(jù)集用于模型訓(xùn)練,進(jìn)而實現(xiàn)故障診斷。
分別隨機抽取數(shù)據(jù)集的5%和10%樣本作為訓(xùn)練集,數(shù)據(jù)集剩余樣本作為測試集,對比BPNN、RBFNN、CNN、XGBoost 和CatBoost 算法的診斷效果??紤]到訓(xùn)練集選取的隨機性對診斷模型和結(jié)果的影響,對每種算法的每種規(guī)模訓(xùn)練集均進(jìn)行10 次實驗,診斷結(jié)果如表4 所示。
表4 平臺實驗數(shù)據(jù)下各算法的診斷結(jié)果Table 4 Diagnostic results of each algorithm with experimental data
由表4 可知,改進(jìn)決策樹算法的診斷結(jié)果的準(zhǔn)確性和穩(wěn)定性明顯優(yōu)于3 種神經(jīng)網(wǎng)絡(luò)所得結(jié)果。在改進(jìn)決策樹算法中,CatBoost 算法結(jié)果優(yōu)于XGBoost 算法。在訓(xùn)練時間方面,RBFNN 算法耗時最短,CNN 算法耗時最長,CatBoost 算法耗時略長于BPNN 算法。
可以發(fā)現(xiàn),相比于5%樣本訓(xùn)練集,10%樣本訓(xùn)練集的平均準(zhǔn)確率、最低準(zhǔn)確率、準(zhǔn)確率方差都有明顯改善,說明增加訓(xùn)練集的規(guī)模后,訓(xùn)練得到的模型診斷結(jié)果確實會更好。但由于在實際應(yīng)用中,無法在短期內(nèi)獲得光照G、溫度T分別在很大范圍內(nèi)變化時各種故障的數(shù)據(jù)集作為訓(xùn)練集,因此,相對于陣列可能處于的各種G、T條件,采集得到的有標(biāo)簽數(shù)據(jù)集是一個小規(guī)模的樣本。因此,本文設(shè)計了仿真實驗,令G、T在很大范圍內(nèi)分別均勻變化,構(gòu)建一個全面的故障數(shù)據(jù)集,然后隨機選取小規(guī)模樣本作為訓(xùn)練集,這樣更加符合實際應(yīng)用中采集得到的有標(biāo)簽訓(xùn)練集的情況。在實際平臺實驗中,同樣應(yīng)該選取小規(guī)模的數(shù)據(jù)集作為訓(xùn)練集,來驗證本文所提算法的有效性。
本文提出了一種基于CatBoost 算法的光伏陣列故障診斷方法,能夠診斷光伏陣列多種類型、不同程度的故障。分析了多種類型、不同程度的光伏陣列故障,構(gòu)建了融合多種故障特征量的輸入向量。建立了基于CatBoost 算法的故障診斷模型,搭建了光伏陣列仿真模型和光伏實驗平臺,驗證了算法的有效性。本文得出以下結(jié)論:
1)構(gòu)建了融合多種故障特征量的輸入向量,能夠在環(huán)境因素G、T大范圍變化時,準(zhǔn)確診斷包含短路、開路、老化、局部陰影等多種類型和不同程度的光伏陣列故障。
2)建立了基于CatBoost 算法的光伏陣列故障診斷模型,將故障特征量結(jié)合G、T構(gòu)成模型輸入,表示不同工況的標(biāo)簽作為模型輸出,通過仿真模型和平臺實驗驗證了本文算法的有效性。選取不同比例的小規(guī)模樣本作為訓(xùn)練集,通過與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)算法、XGBoost 算法對比,驗證了本文算法的準(zhǔn)確性和穩(wěn)定性。
本文所提方法基于少量有標(biāo)簽數(shù)據(jù)進(jìn)行光伏陣列的故障診斷。如果訓(xùn)練數(shù)據(jù)中存在錯誤標(biāo)簽,會給準(zhǔn)確診斷帶來挑戰(zhàn)。下一步將分析錯誤標(biāo)簽對故障診斷的影響,并設(shè)計相應(yīng)的魯棒診斷算法。
附錄見本刊網(wǎng)絡(luò)版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網(wǎng)絡(luò)全文。