武文棟,施保華,鄭傳良,郭茜婷,陳 崢
(1.三峽大學(xué)電氣與新能源學(xué)院,湖北宜昌 443002;2.國網(wǎng)福建寧德供電公司,福建寧德 352100;3.湖北省微電網(wǎng)工程技術(shù)研究中心,湖北宜昌 443002)
在“雙碳戰(zhàn)略”的目標下,尋找和利用新型清潔的可再生能源已成為當今世界的主要研究熱點[1-3]。近年來,我國光伏發(fā)電技術(shù)的進步和光伏并網(wǎng)發(fā)電規(guī)模的不斷擴大,在惡劣的自然環(huán)境下工作的光伏陣列面積大、分布廣,容易出現(xiàn)組件短路、開路、老化和局部遮陰等故障[4-7]。這些問題對光伏電站整體的運行和發(fā)電效率產(chǎn)生了較大影響,因此高效準確地對光伏陣列故障進行診斷具有重要的意義。
近年來,針對光伏陣列的故障診斷方法已有許多專家學(xué)者展開了相關(guān)研究工作?;谘芯繉ο蟛煌?,故障診斷技術(shù)可大致分為:傳統(tǒng)檢測法、數(shù)學(xué)模型分析法和智能算法檢測法等[8-11]。文獻[12]利用光伏陣列在正常和故障時組件溫度不同,采用紅外圖像識別各種故障,但該方法成本較高,無法大規(guī)模應(yīng)用。文獻[13]提出一種預(yù)測模型的故障診斷方法,該方法利用實驗值與預(yù)測值的差值來區(qū)分故障種類,受模型訓(xùn)練參數(shù)影響較大,故障動態(tài)診斷性能不高。近年來,人工智能算法被應(yīng)用于光伏陣列故障診斷技術(shù)中,文獻[14]提出一種基于高斯核模糊C均值聚類的光伏陣列故障診斷方法,通過增加一個新的特征量對不同故障進行表征并聚類獲取類心,并訓(xùn)練獲得相似度,從而實現(xiàn)故障分類。文獻[15]提出一種基于自適應(yīng)權(quán)重粒子群對反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)優(yōu)化的光伏陣列故障診斷方法,利用BP 神經(jīng)網(wǎng)絡(luò)診斷模型分析其輸入和輸出,訓(xùn)練過程簡單高效,對故障診斷具有較強的實時性。文獻[16]提出核極限學(xué)習(xí)機(Kernel Extreme Learning Machine,KELM)方法,利用基于Eagle 策略的混合自適應(yīng)Nelder-Mead 單純形算法(Eagle Strategy Based Hybrid Adaptive Nelder-Mead Simplex Algorithm,EHA-NMS)參數(shù)識別對核極限學(xué)習(xí)機模型的輸入?yún)?shù)進行尋優(yōu),有效改善了模型的魯棒性和穩(wěn)定性,對光伏陣列故障識別有較高的診斷精度。
為了進一步提高模型的識別準確率、穩(wěn)定性和泛化能力,提出了一種基于KPCA-ISSA-KELM 的光伏陣列故障診斷方法,通過核主成分分析法(Kernel Principal Component Analysis,KPCA)[17-18]分析并提取故障數(shù)據(jù)的非線性特征,再對故障樣本數(shù)據(jù)輸入KELM 進行訓(xùn)練,同時利用改進后的麻雀搜索算法對KELM 的核參數(shù)和正則化系數(shù)進行優(yōu)化,提高KELM 分類準確率,最后利用該模型對光伏陣列的各種故障進行診斷。通過實驗平臺采集的實驗數(shù)據(jù)驗證了該模型的有效性,試驗結(jié)果表明KPCAISSA-KELM 能夠?qū)夥嚵谐霈F(xiàn)的復(fù)雜故障進行有效診斷,故障診斷準確率達到97%,優(yōu)于其他診斷模型。
核主成分分析[19-20]的特點是基于核函數(shù)將原故障樣本數(shù)據(jù)變換至高維空間F,然后在線性子空間中通過降維獲得低維數(shù)據(jù)特征,從而提取出光伏陣列診斷模型輸入的樣本特征主成分。避免了復(fù)雜故障出現(xiàn)時數(shù)據(jù)特征相似而導(dǎo)致的診斷精度下降問題。
1)KPCA 將原始故障樣本數(shù)據(jù)映射到高維空間φ,形成新的數(shù)據(jù)φ(ei)={φ(e1),φ(e2),…,φ(en)},i=1,2,…,n。假設(shè)在高維空間中樣本已中心化,則協(xié)方差矩陣為:
2)引入核函數(shù)為K*=φTφ,對S中數(shù)據(jù)進行主成分分析求解:
式中:λ為特征值;η為特征向量。
3)設(shè)置累計貢獻率為85%,降序排列取前s個特征值λj(j=1,2,···,s)和其對應(yīng)的特征向量ηj(j=1,2,…,s):
4)當累計貢獻率達到設(shè)定要求時,計算降維映射后的非線性樣本G:
根據(jù)自然界中麻雀群體覓食和反捕行為,薛等人于2020 年提出了麻雀搜索算法[21](Sparrow Search Algorithm,SSA),麻雀群體覓食過程中有一個明確的勞動分工:發(fā)現(xiàn)者、追隨者和預(yù)警者。
發(fā)現(xiàn)者作為種群的覓食向?qū)В枰粩嗨阉鲝V闊的區(qū)域并更新位置。因此在麻雀種群迭代計算時,發(fā)現(xiàn)者的位置更新公式為:
式中:為種群中的第n個元素值;為麻雀i在第t次迭代的當前位置;itermax為種群可迭代極值數(shù);α1和α2為(0,1)之間的均勻隨機數(shù);R2(R2∈[0,1],單只麻雀個體的隨機值)和ST(ST∈[0.5,1])分別為危險性和安全性的范圍閾值;c為服從正態(tài)分布的隨機數(shù)。
追隨者的位置更新公式為:
式中:和分別為發(fā)現(xiàn)者搜索當前全局的最優(yōu)位置和最劣位置;Q為符合正態(tài)分布的任意值;A為元素為隨機數(shù)1 或-1 的1×d矩陣;L為元素均為1 的1×d矩陣;NP是麻雀種群數(shù)量。
預(yù)警者的位置更新公式為:
式中:β為符合正態(tài)分布性質(zhì)的步長控制參數(shù);K∈[-1,1]為一個隨機數(shù)值;fi,fb和fw分別為當前第i只麻雀的適應(yīng)度值、當前全局最優(yōu)適應(yīng)度值和最劣適應(yīng)度值;ε為無限接近但不等于0 的常數(shù)。
在解決工程實際問題中,麻雀個體收斂速度過快容易收斂到局部極值點使算法進入“早熟”,導(dǎo)致收斂精度不高。此外,算法迭代末期由于麻雀個體僅在區(qū)域內(nèi)的較短范圍進行局部搜索,使算法收斂速度降低,難以獲取全局最優(yōu)解。
對麻雀搜索算法進行改進,采用以下2 個策略提升麻雀搜索算法的全局尋優(yōu)能力。
1)針對算法初期,通過融合Levy 飛行策略[22]對麻雀種群初始化,使得發(fā)現(xiàn)者位置更加隨機多樣,部分麻雀個體可以在區(qū)域內(nèi)較大范圍進行全局搜索,擴大了發(fā)現(xiàn)者搜索區(qū)域,提高種群總體的尋優(yōu)效率,因此更新后的發(fā)現(xiàn)者公式為:
式中:δ為一個步長參數(shù);Levy(s)服從萊維分布,其飛行步長公式為:
式中:μ和v均為[0,1]間的標準正態(tài)分布隨機數(shù),常數(shù);τ=1.5;σ為一個關(guān)于Γ和τ的常函數(shù)。
2)針對算法末期可能出現(xiàn)停滯現(xiàn)象,引入自適應(yīng)權(quán)重t,增強麻雀種群全局收斂能力,使得麻雀在當前最優(yōu)位置附近范圍進行隨即搜索,若發(fā)現(xiàn)更優(yōu)位置則更新,否則位置保持不變,從而提高麻雀種群跳出局部極值點束縛的概率。
更新后的追隨者公式為:
其中自適應(yīng)權(quán)重φ的調(diào)整公式為:
式中:φmin和φmax分別為自適應(yīng)權(quán)重的最小值和最大值。
為了驗證改進麻雀搜索算法(Improved Sparrow Search Algorithm,ISSA)的尋優(yōu)性能,采用兩種測試函數(shù)進行迭代測試,并與SSA 算法和粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法進行對比,取最大迭代次數(shù)為1 000,種群規(guī)模r=50。ISSA,SSA 和PSO 算法對測試函數(shù)的尋優(yōu)收斂曲線如圖1 所示。
圖1 算法尋優(yōu)結(jié)果Fig.1 Optimization results of algorithms
測試函數(shù)1 選擇為最優(yōu)解遠離原點,從圖1(a)中得出,ISSA 算法在迭代初期收斂曲線變化更為陡峭,迭代160 次左右達到穩(wěn)定,同時適應(yīng)度達到0.076 左右,很好的滿足了精度要求;SSA 算法在迭代接近200 次趨于穩(wěn)定,且適應(yīng)度為0.094;PSO 算法迭代600 次左右才能趨于穩(wěn)定,適應(yīng)度僅為0.172,收斂精度較差。
測試函數(shù)2 選擇為最優(yōu)解收斂于原點。從圖1(b)中可以看出,ISSA 與SSA 算法均可以收斂到理論最優(yōu)值,且ISSA 算法尋優(yōu)精度更高,收斂速度更快,而PSO 算法陷入了局部最優(yōu)。ISSA 算法迭代到達穩(wěn)定所用時間為1.066 s,SSA 算法為1.731 s,PSO算法則用了3.863 s。因此改進后的麻雀搜索算法在迭代次數(shù)、收斂時間和收斂精度上均優(yōu)于其他算法。
通過對光伏陣列多種故障狀態(tài)下I-U曲線和P-U曲線的特性分析發(fā)現(xiàn)[23-27]:不論發(fā)生哪類故障,均會導(dǎo)致光伏陣列的最大功率點電壓值Umpp、最大功率點電流Impp、開路電壓Uoc、短路電流Isc發(fā)生明顯變化,因此光伏故障診斷模型的特征參數(shù)選擇Umpp,Impp,Uoc,Isc作為輸入層變量。
以10×4 的實際光伏陣列為故障分析對象,工作狀態(tài)可分為5 類,分別為正常、短路、局部陰影、老化、開路。但在實際工況中光伏陣列可能出現(xiàn)多故障的情況,因此根據(jù)可能出現(xiàn)故障類型,設(shè)計出8 種故障情況,故障診斷模型的輸出層定義如表1 所示。
表1 故障診斷模型的輸出層定義Table 1 Output layer definition of fault diagnosis model
極限學(xué)習(xí)機[28](Extreme Learning Machine,ELM)中隱含層的權(quán)重是隨機賦值或人工給定的。在訓(xùn)練時只需計算輸出層權(quán)值,簡化了網(wǎng)絡(luò)參數(shù)設(shè)置,學(xué)習(xí)速度快。
在ELM 算法中:
式中:x為給定的訓(xùn)練樣本輸入;f(x)為網(wǎng)絡(luò)實際輸出;h(x)為樣本矩陣;H為網(wǎng)絡(luò)隱含層輸出矩陣;ρ為隱含層與輸出層連接權(quán)重向量;T為訓(xùn)練樣本類別向量矩陣;I為對角矩陣;C為正則化系數(shù)。
ELM 通過隨機賦值生成的隱含層輸出矩陣H,隨機映射導(dǎo)致建模時會生成不同的輸出矩陣H,進而導(dǎo)致輸出層權(quán)重向量ρ不同,使得ELM 模型輸出的穩(wěn)定性和魯棒性較差。為提高ELM 的泛化性能和穩(wěn)定性,Huang 等采用核函數(shù)對ELM 進行優(yōu)化,改變ELM 中隱含層的特征映射,形成了基于核的ELM 算法,KELM 不僅保留了ELM 的優(yōu)點,而且增強了泛化能力,具有更強的魯棒性,優(yōu)于ELM 與支持向量機(Support Vector Machine,SVM)的擬合能力和計算效率,進一步提高了分類精度。
定義KELM 核矩陣ΩELM代替HHT,其公式如下:
式中:xi和xj為輸入樣本。
K(xi,xj)選擇為RBF 核函數(shù):
式中:γ為核參數(shù)。
因此KELM 模型的輸出為:
其中,KELM 模型中的核參數(shù)γ和正則化系數(shù)C會影響模型的性能,文中采用ISSA 算法對其進行優(yōu)化。
針對8 種光伏陣列常見故障進行診斷。由于實際環(huán)境采集的故障診斷數(shù)據(jù)分布復(fù)雜而導(dǎo)致的故障診斷準確度下降,基于KPCA 將故障樣本數(shù)據(jù)映射到高維空間,消除空間相關(guān)性與因輻照度溫度等對不同故障特征產(chǎn)生的冗余數(shù)據(jù),進而提取數(shù)據(jù)的非線性特征主元,并將采集數(shù)據(jù)分為訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集。利用融合Levy 飛行策略和自適應(yīng)權(quán)重t對SSA 算法進行改進,增強了其尋優(yōu)效率,并采用ISSA 對KELM 進行參數(shù)優(yōu)化,建立基于KPCA-ISSA-KELM 的光伏陣列故障診斷模型,流程如圖2 所示。
圖2 基于KPCA-ISSA-KELM的故障診斷算法流程圖Fig.2 Flow chart of fault diagnosis algorithm based on KPCA-ISSA-KELM
圖3 為福建省電力公司風(fēng)光儲微網(wǎng)項目-海上光儲實驗平臺。在實際工作環(huán)境下設(shè)定故障時的光伏陣列光照強度為200~1 000 W/m2的區(qū)間內(nèi),各個陣列模塊的環(huán)境溫度則設(shè)置為25 ℃~45 ℃內(nèi),利用10×4 的光伏陣列電池組進行8 種故障實驗,并采集故障數(shù)據(jù)樣本。其中光伏陣列電池組如圖4 所示,電池及陣列的具體規(guī)格參數(shù)如表2 所示。表2 中Umpp為最大功率點電壓,Impp為最大功率點電流,Uoc為開路電壓,Isc為短路電流。
圖3 海上光儲實驗平臺Fig.3 Experimental platform for offshore PV energy storage
圖4 10×4的光伏陣列電池組Fig.4 10×4 PV array battery pack
表2 光伏陣列電池組的規(guī)格參數(shù)Table 2 Parameters of PV battery strings
實驗在放晴、多云和陰雨等不同氣候環(huán)境下完成數(shù)據(jù)的采集工作。分別設(shè)置8 種故障情況,按故障類型分別收集數(shù)據(jù),每種故障采集300 個數(shù)據(jù)樣本,共計2 400 組。同時取出70%數(shù)據(jù)作為故障診斷模型的訓(xùn)練樣本,其余30%作為模型的測試樣本。
實驗所用計算機配置為Win10 64bit 操作系統(tǒng),Intel(R)Core(TM)i5-11400H CPU 4.50 GHz 處理器,16GB DDR4 運行內(nèi)存,編程軟件為MATLAB 2020a。設(shè)定各算法的最大迭代次數(shù)為100,種群規(guī)模為30,其中PSO 慣性權(quán)重為0.9 和0.2,加速度系數(shù)為2;ISSA 和SSA 的安全閾值設(shè)為0.6。
為驗證文中模型的有效性,將720 組測試樣本數(shù)據(jù)分別輸入KPCA-ISSA-KELM,KPCA-KELM,ISSA-KELM 和KELM 診斷模型中進行診斷。4 種模型的故障診斷結(jié)果如圖5 至圖8 所示。
圖5 KELM故障診斷模型的結(jié)果Fig.5 KELM fault diagnosis model results
由圖5 可知,KELM 故障診斷模型的診斷精度最低,對光伏陣列所出現(xiàn)的8 種故障類型診斷效果均不理想,極易被誤診成其他故障類別。
由圖6 可以看出,ISSA-KELM 故障診斷模型中,通過改進的麻雀搜索算法優(yōu)化核極限學(xué)習(xí)機的核參數(shù)γ和正則化系數(shù)C后,各類故障的診斷精度都有所提高,但是對于多故障情況診斷結(jié)果仍較差。
圖6 基于ISSA-KELM故障診斷模型的結(jié)果Fig.6 Result diagram of fault diagnosis model based on KPCA-KELM
由圖7 可得,KPCA-KELM 故障診斷模型對光伏陣列多故障診斷效果較好,且單一故障不會被誤診為多故障的情況,說明KPCA 可以更好的挖掘數(shù)據(jù)特征,可以高效區(qū)分單一故障和多故障,提高了多故障診斷精度。
圖7 基于KPCA-KELM故障診斷模型的結(jié)果Fig.7 Result diagram of fault diagnosis model based on KPCA-KELM
由圖8 所示,在本文提出的KPCA-ISSA-KELM診斷模型中,將KPCA 提取的特征主成分輸入經(jīng)過ISSA 優(yōu)化后的KELM 模型,可以對光伏陣列所出現(xiàn)的各類故障進行高效率診斷,且由于對故障數(shù)據(jù)進行了核主成分分析,對原始故障數(shù)據(jù)提取特征主成分,有效區(qū)分了單一故障和多故障情況,使得在多故障情況下誤診數(shù)減少,同時采用改進麻雀搜索算法對KELM 的γ和C進行優(yōu)化,提高了開路、短路、組件老化和局部陰影故障類型的診斷精度。該模型的整體故障診斷效率均高于其他故障診斷模型。
圖8 基于KPCA-ISSA-KELM故障診斷模型的結(jié)果Fig.8 Result diagram of fault diagnosis model based on KPCA-ISSA-KELM
文中所提4 種故障診斷模型的故障診斷結(jié)果對比如表3 所示。KPCA-KELM,ISSA-KELM,KELM 和本文方法的平均精度分別為90.7%,90.3%,85.6%和97%。針對同樣的故障數(shù)據(jù),傳統(tǒng)KELM 模型的故障診斷精度低于90%,其他3 種模型均能達到90%以上。KPCA-KELM 與KPCAISSA-KELM 模型之所以能夠達到較高的診斷精度是因為核主成分分析可以將光伏陣列的故障樣本信息映射到高維空間,除去冗余數(shù)據(jù)并提取出了非線性數(shù)據(jù)主元,極大降低了單一故障與多故障間的誤診情況。同時,對于光伏陣列發(fā)生的開路和短路2 種故障狀態(tài)的診斷精度都明顯高于局部陰影和組件老化這2 種故障。前者是因為這2 種故障類型均有明顯特征,易于診斷。后者是由于受多種因素影響,局部陰影和老化故障在低溫和弱光照的條件下,使得故障模型無法較高精度地將其與正常狀態(tài)區(qū)分出來,所以更易出現(xiàn)誤診斷,診斷難度較大。
表3 不同模型的診斷精度Table 3 Diagnostic accuracy of different models
綜上,文中所提的基于KPCA-ISSA-KELM 故障診斷模型不僅可以對光伏陣列的單一故障有較好的診斷精度,而且對多故障情況也可以準確識別,整體的故障診斷精度更高。
為了驗證文中所提診斷方法實驗結(jié)果的穩(wěn)定性和泛化能力,文中選取均方誤差(Mean Squared Error,MSE)、平均絕對誤差(Mean Absdute Error,MAE)和決定系數(shù)(R2)作為評價指標對4 種模型的預(yù)測診斷效果進行評價,MSE 的值用EMS表示,MAE的值用EMA表示,具體公式為:
式中:N為測試樣本數(shù)目;yi為實際值;為模型預(yù)測值;為實際值的平均值。
表4 為各個預(yù)測模型的仿真評價指標。從表4可知,EMS較KPCA-KELM 模型降低0.007 62%,EMA和較ISSA-KELM 模型降低1.15%,R2為4 種方法中最大,即模型擬合效果最好。
表4 各個預(yù)測模型的仿真評價指標Table 4 Simulation evaluation index of each prediction model
這是因為與KPCA-KELM 方法相比,本文方法具有較強的全局搜索能力,更好跳出局部極值;與ISSA-KELM 相比,本文方法降低了算法復(fù)雜度,更易于對復(fù)雜故障進行診斷。因此,分析綜合指標可得,在確定故障診斷模型的輸入變量和網(wǎng)絡(luò)參數(shù)時,本文方法有更好的準確性和泛化能力,可以有效降低由非線性系統(tǒng)自身引起的偏離。
針對光伏陣列故障難以被準確高效地診斷和分類問題,提出一種基于KPCA-ISSA-KELM 的光伏陣列故障診斷方法。該方法首先利用KPCA 突出故障樣本數(shù)據(jù)特征差異,將單故障與多故障區(qū)分開,進而通過融入Levy 飛行和自適應(yīng)權(quán)重t的SSA算法對KELM 的核參數(shù)γ和正則化系數(shù)C進行優(yōu)化,獲得光伏陣列最優(yōu)故障診斷模型。實驗驗證了文中所提KPCA-ISSA-KELM 模型可以高效準確地診斷出光伏陣列的不同故障類型,診斷精度達到97%,對比傳統(tǒng)KELM(85.6%)、KPCA-KELM(90.7%)和ISSA-KELM(90.3%),具有更高的故障診斷準確率。但在光伏陣列多重故障時的短路和組件老化等故障類別的診斷精度上還有待提高,下一步會深入研究光伏陣列多重故障診斷方法,提高診斷精度。