程 陳,陳堂賢,孫培勝,鐘嘉銳
(三峽大學電氣與新能源學院,湖北宜昌 443002)
光伏陣列是光伏電站的核心部件之一,也是整個光伏發電系統的發電源頭。但由于光伏陣列通常安裝在復雜多變的野外環境中,光伏陣列故障頻發,這不僅會降低整個光伏發電系統的發電效率,還會對電網的穩定性造成嚴重的影響,因此,研究光伏陣列的故障診斷技術尤為重要[1]。文獻[2]通過布谷鳥算法優化反向傳播(BP)神經網絡的閾值和權值,提高BP 神經網絡對光伏陣列的故障診斷準確率。文獻[3]通過粒子群優化徑向基函數(RBF)神經網絡,有效地診斷光伏陣列故障類型,提高了故障診斷的準確率。文獻[4]通過遺傳算法優化支持向量機的相關參數,對識別故障類型具有較高的準確率。文獻[5]通過自適應權重粒子群算法優化BP 神經網絡,對光伏陣列故障進行精準識別。
光伏陣列故障問題存在一定的復雜性,上述方法中多數采用智能算法對支持向量機和BP 神經網絡進行優化,而BP神經網絡自身存在學習過程收斂慢和魯棒性差等問題,且支持向量機的參數對分類準確率有很大的影響,因此兩種方法都具有一定的局限性。本文提出了一種灰狼算法優化支持向量機的方法,對支持向量機的懲罰因子c和核函數參數γ 進行尋優計算,建立準確率更高的光伏陣列故障診斷模型。
支持向量機(SVM)是一種比較新的基于統計學習理論的計算學習方法,它有豐厚的理論支持,作為解決分類問題的有力工具而被廣泛使用。支持向量機通過找到一個最優超平面來分離數據點并按其劃分類別,使不同類別之間的間隔達到最大,如圖1 所示,H 為分類面,H1與H2則是平行于H 的分類面,設H1與H2之間的間隔為margin,當margin達到最大時,二者之間的分類面則為最優分類面[6]。

圖1 SVM超平面示意圖
在應用過程中,該算法通過非線性映射函數將數據從低維空間投影到高維空間,從而將非線性生成問題轉化為凹規劃問題,然后對數據庫進行分類。支持向量機的最優分類函數[7]如式(1)所示:

式中:ai是拉格朗日乘數,0<ai<c,c是懲罰因子;b是由訓練樣本確定的閾值;K(xix)為核函數。
支持向量機常用的核函數有多項式核函數、sigmoid 核函數、線性核函數和高斯徑向核函數。由于高斯徑向核函數具有收斂速度快、非線性映射等優點,本文的光伏陣列故障診斷模型采用該函數作為分類器。高斯徑向核函數的表達式如式(2)所示:

式中:γ 是支持向量機的核函數參數。下文將通過灰狼算法對懲罰因子核函數參數γ 進行尋優。
灰狼算法是由Mirjalili 等在2014 年提出的一種智能優化算法。該算法是受到了灰狼捕食獵物活動的啟發而開發的一種優化搜索方法,并具備較強的收斂性能,參數少,易于實現等優點,距今為止,該優化算法被廣泛地應用在各科學研究領域。
灰狼算法中,灰狼位置更新公式為:

式中:t是當前迭代次數;E和A是系數向量;Xp(t)表示獵物的位置向量;X(t)表示灰狼的位置向量。
系數向量E和A的計算公式如式(4)所示:

式中:r1和r2是[0,1]的隨機向量;a是收斂因子。
在灰狼算法中,優化的過程是通過每代種群中的α 狼、β狼、δ 狼對獵物進行定位計算,不斷縮短自身與獵物的距離,來達到捕捉獵物的目的,其中,α 狼的適應度最強,其次是β狼,適應度最小的是δ 狼。在狼群中,所有灰狼都必須聽從α狼做出的決定,β 狼負責協助α 狼,δ 狼則聽從于α 狼和β 狼,狼群的位置根據這三只狼當前更新的位置不斷調整,直至找到最佳的獵物位置,獵物所在的位置則對應著最優適應度值,三只狼的運動公式如式(5)~(7)所示:

式中:Dα、Dβ、Dδ分別是α 狼、β 狼和δ 狼的方向向量;X1、X2、X3則是用來決定下一代運動方向的方向向量。
在本模型中,選擇適應度函數如式(8)所示:

式中:test_right和train_right分別為測試集和訓練集的正確診斷數目;test_total和train_total分別為測試集和訓練集的總數目。
在現有的支持向量機分類模型中,懲罰因子c和核函數參數γ 對模型的復雜度起著至關重要的作用,兩個重要參數的變化對分類模型的分類性能有著重要的影響。為了提高分類的準確率,利用灰狼算法對懲罰因子c和核函數參數γ 進行優化,直至得出最優的參數。灰狼算法優化SVM 的具體步驟如下:
(1)輸入光伏陣列樣本數據及其對應的標簽數據,并設置訓練集和測試集;
(2)設置灰狼算法的參數,即種群數量、最大迭代次數、SVM 參數c和γ 的取值范圍;
(3)隨機生成狼群,每一只狼的位置都由對應的(c,γ)組成;
(4)利用SVM 對訓練集進行訓練,根據式(8)計算出每一頭狼所對應的適應度值;
(5)根據每一只狼的適應度值大小進行排序,α 狼適應度值最大,β 狼次之,δ 狼則最小;
(6)根據式(3)~(8)對α 狼、β 狼以及δ 狼的適應度值不斷進行更新計算,并對狼群的等級進行重新劃分;
(7)當種群迭代次數達到最大迭代次數時,輸出α 狼的位置所對應的c和γ 參數的最優解,否則跳轉至步驟6;
(8)利用最優參數解建立模型,并對樣本進行計算,輸出結果。
灰狼算法優化SVM 分類模型的流程圖如圖2 所示。

圖2 灰狼算法優化SVM流程圖
灰狼算法優化支持向量機輸入變量的選擇不僅決定了灰狼算法優化支持向量機模型的結構,而且對整個模型能否迅速、精準地對故障類型進行判斷有著重要的影響。因此,輸入變量必須能夠直接體現出光伏陣列故障時的特征信息,從而方便算法進行分類。本文共設置5 種不同的光伏陣列工作狀態,即正常、局部陰影、組件老化、組件開路、組件短路。局部陰影故障通過減小部分光伏陣列的光照強度來模擬;老化故障通過在某條支路上增加5 Ω 電阻來模擬;開路故障通過斷開故障光伏陣列與其相鄰光伏陣列的導線來模擬;短路故障通過將故障光伏陣列的正負極短接來模擬[8]。使用Matlab/Simulink 仿真軟件搭建了6 行4 列的串并聯光伏陣列,如圖3 所示。

圖3 光伏陣列故障模擬示意圖
單個模塊的電氣參數相同,其參數數值為:最大功率點電壓是35 V,最大功率點電流是7.5 A,短路電流是8 A,開路電壓是44 V,故障模擬過程中光伏陣列的光照強度設置為600~1 000 W/m2,溫度則設置為25~45 ℃。
通過仿真運行,得到不同工作狀態下光伏陣列的I-U曲線和P-U曲線,如圖4~5 所示。

圖4 正常狀態與不同故障狀態下的I-U曲線圖

圖5 正常狀態與不同故障狀態下的P-U曲線圖
由圖4~5 可知,當光伏陣列出現局部陰影的情況時,光伏陣列的P-U曲線會出現多峰現象,I-U曲線則會出現多膝現象,并且光伏陣列的最大功率點電壓和最大功率點電流會明顯下降;當光伏陣列出現組件老化的情況時,光伏陣列的最大功率點電壓明顯下降;當光伏陣列發生組件開路的情況時,光伏陣列的最大功率點電壓基本不變,但其短路電流會明顯減小;當光伏陣列出現組件短路的情況時,光伏陣列的短路電流基本不變,而開路電壓和最大功率點電壓會明顯下降[9]。仿真實驗過程中收集到的典型樣本數據如表1 所示。

表1 光伏陣列的仿真樣本
綜上所述,當光伏陣列出現以上4 種故障中的任意一種故障時,都會引起其開路電壓、短路電流、最大功率點電壓和最大功率點電流中至少一種參數的明顯變化,因此本文選擇以上4 個參數作為灰狼算法優化SVM 的輸入變量。
經仿真得到共500 組數據,然后將數據劃分為訓練集和測試集。研究選定測試集數目為55 組,其中正常組(類別1)數據、局部陰影(類別2)數據、組件老化(類別3)數據、組件開路(類別4)數據以及組件短路(類別5)數據各占11 組。剩下的數據作為訓練集進行訓練。
使用未優化的SVM 模型對測試集進行準確率測試,未優化的SVM 模型分類結果如圖6 所示,經診斷后該模型只能正確診斷樣本47 條,準確率僅有85.5%。其中,有3 組正常樣本被分類到了組件短路類別,1 組局部陰影樣本和2 組組件短路樣本被分類到了正常類別,1 組組件老化樣本被分類到了局部陰影類別以及1 組組件開路樣本被分類到了組件老化類別,因此未優化的SVM 模型存在著一定的不足,對數據的分類效果一般,有待優化。

圖6 未優化SVM診斷結果圖
在未優化SVM 模型的實驗完成后,使用灰狼算法對支持向量機的懲罰因子c和核函數參數γ 進行參數尋優。灰狼算法的設定參數為:種群數量為10,最大迭代次數為100,懲罰因子c的范圍為[0,500],核函數參數γ 的范圍為[0,500],在經過100 次迭代計算后,適應度值結果和分類結果如圖7~8 所示。由圖7 可知,灰狼算法在迭代到第40 代左右時收斂,最優適應度值為0.091 9,此時懲罰因子c為149.4,核函數參數γ為282.8。由圖8 可知,灰狼算法優化SVM 模型對測試集的分類準確率達到了98.2%,僅有一組數據分類錯誤,即一組組件老化樣本被分類到了局部陰影樣本中。

圖7 灰狼算法適應度曲線

圖8 灰狼算法優化SVM診斷結果圖
就分類的準確率而言,灰狼算法優化SVM 在經過參數尋優后分類準確率得到了較大提升,較未優化SVM 的分類準確率提高了12.7%。灰狼算法的優化效果明顯,在總體的分類準確率上要優于普通的SVM 分類器。
通過使用相同的訓練集和測試集,引入決策樹(tree)分類器和BP 神經網絡分類器對測試集進行分類,并進行對比實驗。SVM、灰狼算法優化SVM、決策樹以及BP 神經網絡的分類效果對比如表2 所示。

表2 不同算法分類效果對比
通過Matlab/Simulink 搭建光伏陣列模型模擬不同的故障,對不同故障狀態的I-U曲線和P-U特性曲線進行分析,選取合理的故障特征量,進行光伏陣列故障診斷。由于傳統SVM 對多分類問題處理效果不理想,引入灰狼優化算法與SVM 相結合,利用灰狼算法對懲罰因子和核函數參數進行尋優,得到最優的核函數參數和懲罰因子,建立準確率更高的光伏陣列故障診斷模型。實驗證明,在采用灰狼算法優化SVM 模型后,局部陰影的故障辨識率為100%,組件老化的故障辨識率為90.9%,組件開路以及組件短路的故障辨識率均為100%。