郭浩然 李澤滔
摘 要:研究了支持向量機(SVM)方法在光伏陣列故障診斷上的運用,對光伏陣列的輸出特性以及故障類型進行了分析總結(jié)。支持向量機由于存在懲罰因子系數(shù)與核函數(shù)系數(shù),在選用徑向基核函數(shù)后通過遺傳算法對其參數(shù)進行尋優(yōu),通過Matlab仿真實驗得到數(shù)據(jù),利用尋優(yōu)后的參數(shù)建立模型訓練與驗證。研究結(jié)果表明:支持向量機使用通過遺傳算法優(yōu)化得到的參數(shù)在光伏陣列故障診斷上有較高的準確度。
關鍵詞: 光伏陣列;故障分類;遺傳算法;支持向量機
【Abstract】 The application of Support Vector Machine (SVM) in photovoltaic array fault diagnosis is studied. The output characteristics and fault types of photovoltaic arrays are analyzed and summarized. Because of the existence of penalty factor coefficient and kernel function coefficient, the Support Vector Machine is optimized by Genetic Algorithm after choosing the radial basis function, and the model is established by using the optimized parameters. The data are obtained through Matlab simulation experiment and the model is trained and validated. The results show that the Support Vector Machine optimized by Genetic Algorithm has high accuracy.
【Key words】 ?photovoltaic array; fault classification; Genetic Algorithm; Support Vector Machine
0 引 言
光伏發(fā)電系統(tǒng)中,其光伏陣列作為太陽能輻射的接收裝置,在工作時對光照的吸收效果直接決定了光伏發(fā)電系統(tǒng)的發(fā)電效率。而大規(guī)模的光伏陣列往往是由多個光伏板單元根據(jù)供電要求串、并聯(lián)在一起的。數(shù)量頗多且范圍廣的陣列由于會經(jīng)歷長時間的陽光暴曬、風吹雨淋,容易出現(xiàn)光伏板材料異常老化、裂塊、異物及陰影遮蔽、開路和短路情況,從而影響經(jīng)濟效益。尤其是陰影遮蔽情況,實際應用中由于云層、灰塵、異物遮擋,原本的電源在沒有足夠輻照度的情況下會成為電路負載。近年來國內(nèi)外的光伏裝機容量增長迅速,對光伏陣列發(fā)生的故障進行預警、檢測、分類就顯得十分重要。目前常規(guī)的故障診斷方法有電信號檢測法、紅外圖像檢測法[1]等。而近年來智能算法的應用日益成熟,不少學者提出利用智能算法來檢測并對光伏陣列進行故障診斷。目前,常見的智能檢測方法主要有決策樹[2]、神經(jīng)網(wǎng)絡[3]、模糊控制[4]等。
支持向量機在故障診斷領域有著廣泛的應用,是一種有著較深厚理論基礎的小樣本學習方法,可以快速地從樣本的訓練過程得到樣本的預報,同時避開從歸納到演繹的過程。對樣本中的的非支持向量進行增加、刪除對模型沒有影響,因而具有較好的魯棒性[5]。本文利用支持向量機對光伏陣列的故障進行檢測與分類,在應用中,支持向量機中參數(shù)的選取對于精確度影響很大,為選取最優(yōu)參數(shù)利用遺傳算法對其進行尋優(yōu)后帶入。本研究在仿真模型搭建后,模擬光伏陣列各種可能出現(xiàn)的故障,得到樣本數(shù)據(jù),從中提取輸入特征向量并進行處理,處理后再利用遺傳算法尋優(yōu)得到的最優(yōu)參數(shù)建立模型。本文對此擬展開研究論述如下。
1 支持向量機
支持向量機(SVM)是一種旨在求得結(jié)構(gòu)風險最小化的算法,使得在樣本以及實際數(shù)據(jù)上的分類都盡量準確。算法基本思路是將無法線性劃分的低維數(shù)據(jù)映射到高維空間后,在空間尋找一個有著最大間隔的最優(yōu)分類面,如圖1所示。
2 遺傳算法優(yōu)化的SVM
遺傳算法(Genetic Algorithm,GA)基于達爾文的進化論。其思想為模擬自然界的適者生存過程,通過物競天擇不斷朝著最優(yōu)解進化。一般設計流程為:先隨機生成初始種群,本文中需要對參數(shù)為懲罰因子C與核函數(shù)參數(shù)γ進行尋找優(yōu)化,用二進制編碼來對其進行編碼并組合在一起,經(jīng)過選擇、交叉、變異產(chǎn)生新種群,不斷循環(huán)進化,最后進化為一個最佳種群、即為問題的最優(yōu)解[7]。
在算法運算過程中不停地計算單個染色體的適應度,使用交叉驗證準確率作為適應度:當個體的適應度越高,則其存活概率就越大。交叉算子為單點交叉算子,并用自適應變異概率產(chǎn)生變異基因,隨機地選出將發(fā)生變異的基因。遺傳算法對SVM的參數(shù)進行優(yōu)化的設計流程如圖2所示。
在此基礎上,研究給出了GA-SVM的設計步驟具體如下。
Step 1:初始化種群,對個體進行編碼,基因序列為懲罰因子C與核參數(shù)γ,生成隨機種群。
Step 2:設置終止迭代次數(shù)后,利用樣本數(shù)據(jù)進行訓練測試,根據(jù)規(guī)則計算個體適應度。
Step 3:當種群最優(yōu)個體達到滿足條件或達到終止迭代次數(shù)時退出尋優(yōu)過程,得到優(yōu)化解。跳轉(zhuǎn)至Step 5,否則進入下一步。
Step 4:對當代存活的種群執(zhí)行選擇、交叉、變異得到下一代種群,返回Step 3判斷。
Step 5:得到最優(yōu)核參數(shù)γ與懲罰因子C。并代入到SVM中通過訓練樣本訓練得到診斷模型。
3 光伏陣列故障分析
為模擬仿真光伏陣列在各種環(huán)境下的故障特性并獲得數(shù)據(jù),在Matlab/Simulink內(nèi)基于光伏電池的數(shù)學特性仿真建立了3×5陣列[8]。即為3路支路并聯(lián),每路支路由5個光伏模塊串聯(lián),如圖3所示。
單個模塊的參數(shù)相同,其中涉及的參數(shù)數(shù)值為:最大功率點電流4.95 A,最大功率點電壓35.2 V,開路電壓44.2 V,短路電流5.2 A。參考光照1 000 W/m2,參考溫度25 ℃。模擬過程中光伏模塊的輻照度設置為900~1 000 W/m2,溫度范圍為25~45 ℃。
在實際的并網(wǎng)運行中,常見的故障成因有:光伏模塊間的線路由于惡劣天氣等原因造成的絕緣層腐蝕、電池內(nèi)部材料損壞等造成的組件短路;外界因素帶來的連接線路斷開造成組件開路;異物遮擋造成的遮陰故障,進而引發(fā)“熱斑效應”;以及過久的使用年限導致組件老化[9]。
對光伏陣列可能發(fā)生的故障,將其細化并對該模型下的故障總結(jié)后分為以下幾類,再通過仿真模擬,當陰影遮擋時設置輻照度為100~900 W/m2,組件老化時串聯(lián)電阻為1~10 Ω。仿真得到總計800組數(shù)據(jù),其中正常數(shù)據(jù)400組,8類故障、各50組,詳見表1。
在不同故障下光伏陣列三列總特性如圖4所示。
與正常工作狀態(tài)進行比較,由故障狀態(tài)的I-V、P-V曲線可知故障發(fā)生時的最大功率點均小于正常情況,且在遮陰與局部短路情況下呈多峰狀態(tài),從獲取數(shù)據(jù)中提取特征參數(shù)(最大功率點電流Impp、最大功率點電壓Umpp、短路電流Isc、開路電壓Uoc),其數(shù)據(jù)的最大功率點P-V分布圖如圖5所示。
由圖5可見,故障2、6、8分布較廣,且分布交叉。故障7、5與正常數(shù)據(jù)貼近。部分故障分布差異較大,但部分故障數(shù)據(jù)分布集中,人為分類較困難。
4 仿真實驗
不失一般性,將所有樣本分為訓練集與測試集。研究選定了測試集為150個樣本,其中8類故障類別各15份,正常數(shù)據(jù)30份。剩余650份數(shù)據(jù)為訓練集。使用遺傳算法對支持向量機核函數(shù)參數(shù)γ與懲罰因子C進行尋優(yōu),算法設定參數(shù)為:初始種群數(shù)目pop=20,遺傳代數(shù)gen=50,代溝ggap=0.9,懲罰因子范圍為(0,100],核函數(shù)參數(shù)范圍為[0,100]。訓練過程中用交叉驗證方式得到的準確率即為適應度,擁有分類準確率最高的γ與C即為最優(yōu)參數(shù)。使用遺傳算法對其進行參數(shù)尋優(yōu)后,經(jīng)過50次迭代,繪制成圖,可得運行結(jié)果如圖6所示。由圖6可知,最佳準確率有過2次提升,且最后穩(wěn)定在98.778%,此時γ=14.774,C=75.607。當不對參數(shù)尋優(yōu)的情況下,選用γ=1,C=1參數(shù)對SVM模型進行建立,再用模型對測試集進行正確率測試,僅能正確分類樣本128條,準確率為85.333%,如圖7(a)所示。將訓練后的模型對測試集進行測試,正確分類樣本147條,準確率為98%,分類結(jié)果如圖7(b)所示。
由圖7可見,分類模型在故障類別1、2、3、4、8中均能準確識別分類,但是對于故障類別5識別有誤。故障類別5為當一個組件遮擋,此時總體最大功率點電壓電流變化不大,當組件遮擋光照比較小時,其特征值與正常值類似。與BP神經(jīng)網(wǎng)絡進行性能比較,建立BP神經(jīng)網(wǎng)絡,其網(wǎng)絡輸入層節(jié)點數(shù)為4,隱含層節(jié)點數(shù)為9,輸出層節(jié)點數(shù)為9,學習速率為0.1,目標誤差為0.000 1。神經(jīng)網(wǎng)絡使用同樣的訓練集與測試集,訓練結(jié)束后,準確識別測試集樣本為144個,準確率96%。最終可得分類準確率的數(shù)值比較結(jié)果見表2。
由表2可見,SVM分類器在進行參數(shù)尋優(yōu)后準確率上有了較大提升,尤其在故障類別5、6上的精度提升很明顯。在總準確度上要優(yōu)于普通的BP神經(jīng)網(wǎng)絡。
5 結(jié)束語
本文通過仿真獲取光伏陣列在不同可能故障下的數(shù)據(jù)并提取特征值,利用遺傳算法對支持向量機的參數(shù)進行尋優(yōu),再用優(yōu)化后的參數(shù)建立模型,對光伏陣列進行故障診斷。實驗表明,優(yōu)化參數(shù)對分類準確率有較大提高,文中的支持向量機在利用遺傳算法優(yōu)化參數(shù)后對光伏陣列的故障診斷取得了較高準確率。
參考文獻
[HJ1.3mm]
[1]王培珍,鄭詩程. 基于紅外圖像的太陽能光伏陣列故障分析[J].太陽能學報,2010,31(2):197-202.
[2]董美辰. 基于模糊決策樹的光伏陣列故障診斷方法研究[D]. 南寧:廣西大學,2018.
[3]李云橋. 基于改進BP神經(jīng)網(wǎng)絡的光伏陣列多傳感器故障檢測定位方法研究[D]. 西安:西安理工大學,2018.
[4]LIU Shengyang,LEI Dong, LIAO Xiaozhong, et al. Photovoltaic array fault diagnosis based on Gaussian Kernel Fuzzy C-Means clustering algorithm[J]. Sensors (Basel, Switzerland),2019,19(7):1520.
[5]郭新辰. 最小二乘支持向量機算法及應用研究[D]. 長春:吉林大學,2008.
[6]林培杰,陳志聰,吳麗君,等.一種PSO-SVM的光伏陣列故障檢測與分類[J].福州大學學報(自然科學版),2017,45(5):652-658.
[7]FANG Yihui, CHEN Xingwei,CHENG Niansheng. Estuary salinity prediction using a coupled GA-SVM model: A case study of the Min River Estuary, China[J]. Water Science& Technology: Water Supply,2017,17(1):52-60.
[8]NKURIKIYIMFURA I,SAFARI B,NSHINGABIGWI E K. A Simulink model of photovoltaic modules under varying environmental conditions[J]. IOP Conference Series: Earth and Environmental Science,2018,159(1):012024.
[9]APPIAH A Y, ZHNAG Xinghua,AYAWLI B B K,et al. Review and performance evaluation of photovoltaic array fault detection and diagnosis techniques[J]. International Journal of Photoenergy,2019,2019:6953530.