余輝, 陳志聰, 鄭巧, 吳麗君, 程樹英, 林培杰
(福州大學(xué)物理與信息工程學(xué)院, 微納器件與太陽能電池研究所, 福建 福州 350108)
近幾十年來, 太陽能在全球經(jīng)歷了指數(shù)級的增長, 其中光伏發(fā)電是利用太陽能最普遍的方式[1]. 可靠、 準(zhǔn)確的直流側(cè)光伏組件建模對于優(yōu)化整個(gè)光伏系統(tǒng)的設(shè)計(jì)和評估非常重要[2]. 作為光伏發(fā)電系統(tǒng)的核心, 光伏面板通常工作在復(fù)雜、 嚴(yán)峻的室外環(huán)境中, 在長期運(yùn)行的情況下, 必然會導(dǎo)致光伏組件的性能下降. 常規(guī)的基于標(biāo)稱數(shù)據(jù)的光伏建模方法, 難以對實(shí)際工況下的光伏組件進(jìn)行精確可靠的建模. 所以, 研究基于實(shí)際工作條件下光伏組件電流-電壓(I-V)特性的建模方法具有重要的實(shí)際意義. 基于I-V特性的光伏建模方法通常包括基于等效電路的數(shù)學(xué)建模方法和基于機(jī)器學(xué)習(xí)的回歸建模方法[3]兩種.
光伏建模的數(shù)學(xué)方法需要搭建光伏組件的等效電路, 然后識別電路參數(shù)以及這些參數(shù)與環(huán)境條件(例如輻照度、 溫度等)之間的關(guān)系. 光伏陣列基本上由串聯(lián)/并聯(lián)的太陽能電池組成, 并且太陽能電池實(shí)際上是將光轉(zhuǎn)換為電流的光電二極管[4]. 因此, 基于等效電路的模型至少包含一個(gè)二極管和一個(gè)電流源. 根據(jù)二極管和寄生參數(shù)數(shù)量, 通常有單二極管五參數(shù)模型, 雙二極管七參數(shù)模型和三二極管九參數(shù)模型[1, 5-6]. 這些方法識別出的參數(shù)對測量噪聲非常敏感, 高度依賴現(xiàn)場測量的I-V曲線的質(zhì)量, 并且這些參數(shù)識別方法只能在特定的工作條件下提取模型參數(shù), 這可能導(dǎo)致建模的不確定性和不準(zhǔn)確性. 總之, 基于等效電路的數(shù)學(xué)建模方法會受到等效電路的選擇、 實(shí)際工作條件、I-V曲線的準(zhǔn)確性以及確定模型參數(shù)與環(huán)境條件之間關(guān)系的極大影響[7].
基于機(jī)器學(xué)習(xí)的回歸建模方法直接從實(shí)測數(shù)據(jù)通過回歸方法建立模型, 與等效電路的方法相比, 不需要任何等效電路以及模型參數(shù)、 環(huán)境條件與模型之間的關(guān)系方程[8]. 一些典型的機(jī)器學(xué)習(xí)方法被用于光伏建模, 例如徑向基神經(jīng)網(wǎng)絡(luò)(RBFNN)、 廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)、 BP神經(jīng)網(wǎng)絡(luò)、 支持向量機(jī)(SVM)等[9-11]. 這些方法大多數(shù)使用輻照度、 環(huán)境溫度以及實(shí)時(shí)電壓來預(yù)測光伏組件的輸出特性. 由于缺乏對原始數(shù)據(jù)的精細(xì)處理和對原始電氣特征的設(shè)計(jì), 這些方法的模型精度都受到了相當(dāng)?shù)南拗? 本研究針對上述兩種方法的不足之處, 提出一種精確的光伏組件建模方法. 首先對數(shù)據(jù)進(jìn)行插值采樣、 降采樣減少數(shù)據(jù)冗余, 其次構(gòu)造特征校正輻照度特征增強(qiáng)模型表征能力, 最后建立并訓(xùn)練多層感知機(jī)神經(jīng)網(wǎng)絡(luò)算法模型, 完成光伏組件I-V特性的精準(zhǔn)建模.
圖1 安裝在科羅拉多州Golden地區(qū)的光伏組件和測量設(shè)備Fig.1 PV modules and measurement equipment at Golden, Colorado
使用可公開獲取的美國國家可再生能源實(shí)驗(yàn)室(NREL)提供的實(shí)測光伏組件I-V特性曲線數(shù)據(jù)集[12]來驗(yàn)證所提出的光伏建模方法的有效性. 該數(shù)據(jù)集包含一年中不同氣候條件下三個(gè)不同地點(diǎn)的實(shí)測數(shù)據(jù). 在本研究中, 使用的是安裝在科羅拉多州Golden地區(qū)的光伏組件數(shù)據(jù)集, 數(shù)據(jù)的收集時(shí)間是2012年8月14日至2013年9月24日, 如圖1所示. 該地區(qū)的數(shù)據(jù)集下有多種材料制成的光伏組件的實(shí)測數(shù)據(jù), 包括單晶硅(xSi11246), 多晶硅(mSi0251), 碲化鎘(CdTe75669), 硒化銅銦鎵(CIGS1-001), 非晶硅(aSiMicro03038)和具有本征薄層的異質(zhì)結(jié)(HIT05662). 使用現(xiàn)在光伏面板最常用的單晶硅(下文使用xSi代替)和多晶硅(下文使用mSi代替)的實(shí)測數(shù)據(jù)進(jìn)行模型的訓(xùn)練和驗(yàn)證.
為了獲得準(zhǔn)確可靠的光伏模型, 應(yīng)該對原始數(shù)據(jù)集進(jìn)行合理的預(yù)處理, 以提高數(shù)據(jù)的質(zhì)量. 在原始數(shù)據(jù)集中, 每條I-V曲線都包含大約200個(gè)數(shù)據(jù)點(diǎn), 這些數(shù)據(jù)點(diǎn)是在大約I-V的幾乎相等空間的電壓階躍處測量的. 但是, 眾所周知,I-V曲線的最大功率點(diǎn)(MPP)遠(yuǎn)離短路(SC)點(diǎn), 并且接近開路(OC)點(diǎn), SC和MPP點(diǎn)之間的部分較為平坦, 但MPP和OC點(diǎn)之間的I-V曲線部分通常比較陡峭. 因此, 有很多分布在平坦部分的數(shù)據(jù)點(diǎn)包含相對較少的曲線關(guān)鍵信息, 但是分布在具有相對豐富關(guān)鍵信息的陡峭部分上的數(shù)據(jù)點(diǎn)卻較少.
為減少數(shù)據(jù)冗余并且平衡I-V曲線數(shù)據(jù)點(diǎn)的分布, 提出一種利用線性插值的方法來重采樣原始I-V曲線. 經(jīng)過處理, 每條I-V曲線中包含的數(shù)據(jù)點(diǎn)數(shù)從原始的200個(gè)減少到最終的50個(gè). 所提出的方法可以大大減少平坦部分的數(shù)據(jù)點(diǎn), 同時(shí)在陡峭部分保留相對更多的數(shù)據(jù)點(diǎn). 插值采樣方法詳細(xì)說明如下.
圖2 重采樣前后I-V曲線數(shù)據(jù)點(diǎn)對比Fig.2 Comparison of I-V curve data points before and after resampling
同理, 從每條I-V曲線等間隔的電流重采樣20個(gè)數(shù)據(jù)點(diǎn), 得到Id=dIsc/20(d=1, 2, …, 20), 通過線性插值方法獲得與電流Id相對應(yīng)的電壓值Vd.
(1)
(2)
使用這種方法能夠在0到最大電流Isc之間均勻采樣20個(gè)數(shù)據(jù)點(diǎn)對.
最后, 通過按電壓升序?qū)Σ蓸拥玫降臄?shù)據(jù)點(diǎn)進(jìn)行排序, 形成新的重采樣I-V曲線. 與原始曲線相比, 圖2繪制了部分重采樣的I-V曲線, 從中可以看出重采樣曲線的數(shù)據(jù)點(diǎn)分布更為合理. 這樣既能夠減小數(shù)據(jù)冗余, 也能最大程度地保存關(guān)鍵點(diǎn)信息.
原始數(shù)據(jù)集中, 數(shù)據(jù)樣本的分布在環(huán)境條件方面并不平衡. 數(shù)據(jù)分布不平衡可能會導(dǎo)致模型在訓(xùn)練過程中的過擬合或者欠擬合, 從而影響模型的準(zhǔn)確度. 為了平衡數(shù)據(jù)集中的環(huán)境條件, 采用基于輻照度和溫度網(wǎng)格的降采樣方法來挑選合理的I-V曲線, 這也可以在保持精度的同時(shí)大大減少數(shù)據(jù)量, 具體的降采樣方法如下所述.
首先, 設(shè)置輻照度、 溫度范圍和間隔以確定采樣網(wǎng)格. 輻照度和溫度范圍主要由原始數(shù)據(jù)集中的相應(yīng)最大值和最小值確定, 而間隔則根據(jù)分辨率手動(dòng)確定. 在這項(xiàng)研究中, 將輻照度網(wǎng)格數(shù)設(shè)置為60, 而將溫度網(wǎng)格數(shù)設(shè)置為30. 其次, 根據(jù)輻照度和溫度網(wǎng)格采樣I-V曲線. 具體地, 根據(jù)輻照度對I-V曲線進(jìn)行分類和劃分, 然后根據(jù)溫度對每個(gè)輻照度網(wǎng)格中的曲線進(jìn)行分類和劃分. 最后, 如果網(wǎng)格內(nèi)存在曲線, 則在每個(gè)網(wǎng)格中隨機(jī)選擇一定數(shù)量的I-V曲線, 在本研究中將其設(shè)置為2條. 經(jīng)過上述處理, 可將原始I-V曲線的數(shù)量從12 000條左右減少到1 300條左右.
圖3 含有一個(gè)隱藏層的多層感知機(jī)網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Multilayer perceptron network structure with a hidden layer
多層感知機(jī)(MLP)是一種常見的人工神經(jīng)網(wǎng)絡(luò)算法, 通常包含輸入輸出層和若干個(gè)隱藏層, 以回歸問題的單隱層MLP為例, 其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示.
ai=g(w1ix1+w2ix2+w3ix3+bi)
(3)
假設(shè)隱藏層與輸出層的連接權(quán)值為權(quán)重矩陣β, 激活函數(shù)為f(x), 偏置為常數(shù)值c, 那么網(wǎng)絡(luò)的輸出為:
(4)
梯度下降法使用了損失函數(shù)的一階導(dǎo)數(shù)信息, 存在收斂慢, 可能陷入局部最小值的風(fēng)險(xiǎn). 所以本研究使用了Adam優(yōu)化算法[13]來迭代求解模型參數(shù). Adam算法記錄了梯度的一階矩和二階矩, 并且使用動(dòng)態(tài)的學(xué)習(xí)率衰減, 使算法能夠快速準(zhǔn)確地找到模型最優(yōu)參數(shù). Adam算法的偽代碼如算法1所示.
算法1: Adam算法Require: 步長αRequire: 矩估計(jì)的指數(shù)衰減率, β1和β2在區(qū)間[0, 1)內(nèi)Require: 參數(shù)為θ的隨機(jī)目標(biāo)函數(shù)f(θ)Require: 初始化參數(shù)θ0初始化一階矩和二階矩變量m0←0, v0←0初始化時(shí)間步t←0 while θt沒有收斂 do t←t+1 gt←▽θft(θt-1) (計(jì)算目標(biāo)函數(shù)在時(shí)間步t對參數(shù)的梯度) mt←β1 mt-1+(1-β1)·gt(更新一階有偏矩估計(jì)) vt←β2vt-1+(1-β2)·gt2 (更新二階有偏矩估計(jì)) m^t←mt/(1-βt1) (修正一階矩的偏差) v^t←vt/(1-βt2)(修正二階矩的偏差) θt←θt-1-α·m^t(v^t+) (更新參數(shù)) end whilereturn θt
2.2.1 模型輸入特征選擇
在數(shù)據(jù)處理的過程中, 是以I-V曲線為單位來進(jìn)行處理的. 在實(shí)際的任務(wù)中, 往往是需要預(yù)測單個(gè)電流點(diǎn)的輸出值, 需要將I-V曲線數(shù)據(jù)規(guī)整為合適的形式. 經(jīng)過前面介紹的數(shù)據(jù)預(yù)處理方法處理后, 每個(gè)數(shù)據(jù)集原始的實(shí)測曲線由12 000條減少到1 300條左右, 而每條曲線包含50個(gè)電流-電壓數(shù)據(jù)點(diǎn)對. 將每條I-V曲線拆分為50個(gè)數(shù)據(jù)樣本, 這50個(gè)樣本的環(huán)境參數(shù)(例如輻照度, 溫度等)是相同的, 但是電壓值不同, 預(yù)測的目標(biāo)即電流值也是不同的. 這樣, 每條I-V曲線就能拓展為50個(gè)樣本, 方便后續(xù)的模型訓(xùn)練.
光伏發(fā)電系統(tǒng)是一個(gè)復(fù)雜的系統(tǒng), 有許多因素可能會影響光伏組件的輸出, 例如POA輻照度、 光伏組件的背面溫度、 干球溫度、 相對濕度、 大氣壓強(qiáng)等. NREL提供的實(shí)測數(shù)據(jù)集中包含上述多個(gè)環(huán)境因素, 其中相對濕度和大氣壓強(qiáng)的實(shí)測數(shù)據(jù)包含大量的缺失值, 如果剔除缺失數(shù)據(jù)的樣本會導(dǎo)致關(guān)鍵信息的缺失, 但是若使用機(jī)器學(xué)習(xí)算法來預(yù)測這些缺失值又會引入新的誤差, 所以將不考慮相對濕度和大氣壓強(qiáng)對光伏組件輸出的影響. 在光伏建模中, POA輻照度和光伏組件的背面溫度是與輸出最相關(guān)的, 而其他因素可能有助于改善光伏組件的性能.
在實(shí)際的光伏系統(tǒng)中, 通常是使用一塊小的光伏參考面板來測量輻照度數(shù)據(jù). 如果參考板材質(zhì)和光伏面板不同, 或者安裝角度不同, 會導(dǎo)致輻照度測量誤差. 基于此, 使用短路電流來校正輻照度, 校正輻照度的計(jì)算方法如下式所示:
(5)
其中:θ是光伏組件的背面溫度(℃);Isc是實(shí)際工作條件下的短路電流;Isc_stc是標(biāo)準(zhǔn)條件下的短路電流;α是短路電流的溫度系數(shù)(光伏組件的數(shù)據(jù)手冊提供).
另外, 研究了其他環(huán)境因素與光伏系統(tǒng)輸出之間的相關(guān)性, 發(fā)現(xiàn)在建模過程中, 同時(shí)使用光伏組件的背面溫度和干球溫度更能準(zhǔn)確表征光伏組件的輸出特性.
最終, 使用校正的POA輻照度Gcal、 光伏組件的背面溫度θb、 干球溫度θd以及光伏組件實(shí)時(shí)輸出電壓V來預(yù)估光伏組件的輸出電流I.可將上述的描述歸納為:
I=f(Gcal,θb,θd,V)
(6)
模型的任務(wù)就是找到一個(gè)合適的映射f, 使預(yù)測的電流與實(shí)際輸出電流之間的誤差盡可能小.
2.2.2 最優(yōu)模型結(jié)構(gòu)
使用的多層感知機(jī)模型包含一個(gè)輸入層, 兩個(gè)隱含層以及一個(gè)輸出層. 其中: 兩個(gè)隱含層都包含300個(gè)神經(jīng)元. 隱含層的激活函數(shù)都是Sigmoid函數(shù), 其表達(dá)式為:
(7)
模型的損失函數(shù)為均方誤差MSE, 優(yōu)化算法為Adam算法. 迭代次數(shù)為100輪. 最終用于建模的網(wǎng)絡(luò)結(jié)構(gòu)及網(wǎng)絡(luò)的輸入輸出如圖4所示.
圖4 光伏建模的實(shí)際網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Actual network structure of photovoltaic modeling
使用均方根誤差(RMSE), 平均絕對誤差(MAE)以及判定系數(shù)(R2)三個(gè)性能指標(biāo)來評判模型的效果, 它們的計(jì)算公式如下所示:
(8)
3.2.1 數(shù)據(jù)預(yù)處理效果驗(yàn)證
為驗(yàn)證數(shù)據(jù)預(yù)處理的有效性, 設(shè)置實(shí)驗(yàn)來對比模型的預(yù)測性能. 在降采樣過程中, 將12 000條I-V曲線減少到1 300條左右. 由于訓(xùn)練集和測試集來自于降采樣后的1 300條I-V曲線, 如果采樣不均勻, 丟失了關(guān)鍵信息, 可能會導(dǎo)致模型對其余的I-V曲線數(shù)據(jù)預(yù)測效果差. 基于上述原因, 在不包含測試集曲線的原始數(shù)據(jù)集中隨機(jī)采樣10次, 得到10個(gè)與測試集大小相同的隨機(jī)采樣測試集. 使用訓(xùn)練好的模型分別對10個(gè)隨機(jī)采樣測試集進(jìn)行預(yù)測, 平均誤差結(jié)果如表1所示. 可以看到, 在三個(gè)用于評估模型的性能指標(biāo)上, 相差只有約0.02%, 證明降采樣在降低了數(shù)據(jù)冗余的同時(shí)能夠很好地保留了數(shù)據(jù)集的關(guān)鍵信息.
使用不處理的原始數(shù)據(jù)集進(jìn)行建模, 得到如表2所示的實(shí)驗(yàn)對比結(jié)果. 實(shí)驗(yàn)表明, 沒有預(yù)處理的數(shù)據(jù)包含較多的臟數(shù)據(jù)和較大的冗余, 會導(dǎo)致建模精度降低, 而采用本方法預(yù)處理后顯著地提高了模型的準(zhǔn)確度.
表1 降采樣與隨機(jī)采樣的測試集性能對比
表2 有無預(yù)處理的模型性能對比
3.2.2 算法對比
為驗(yàn)證模型的有效性, 本研究與一些典型的算法進(jìn)行對比, 例如支持向量回歸(SVR)和梯度提升決策樹(GBDT). 為保證實(shí)驗(yàn)的無偏性, 已將三個(gè)算法都調(diào)整到最優(yōu)的參數(shù). 其中, SVR的最優(yōu)參數(shù)為: 徑向基核函數(shù), 核函數(shù)的gamma值為5, 損失函數(shù)的ε值為1, 其他為默認(rèn)參數(shù); GBDT的最優(yōu)參數(shù)為: 800棵決策樹, 每棵樹的最大深度為5, L2正則項(xiàng)系數(shù)為5.0, 其他為默認(rèn)參數(shù); MLP算法最優(yōu)參數(shù)已在上一章給出. 使用谷歌的開源Tensorflow庫來搭建網(wǎng)絡(luò)模型, 使用開源的GBDT算法實(shí)現(xiàn)lightGBM庫[14]來實(shí)現(xiàn)GBDT算法, 使用libsvm庫[15]來實(shí)現(xiàn)SVR算法. 實(shí)驗(yàn)結(jié)果如表3所示.
表3 三種算法的平均性能指標(biāo)
在模型得到的預(yù)測值的基礎(chǔ)上, 繪制了實(shí)測I-V曲線與模型預(yù)測I-V曲線的對比圖, 如圖5所示.
圖5 網(wǎng)絡(luò)的預(yù)測值與實(shí)測數(shù)據(jù)對比Fig.5 Comparison of the predicted value of the network with the measured data
提出一種利用多層感知機(jī)神經(jīng)網(wǎng)絡(luò)和I-V特性曲線數(shù)據(jù)集的光伏組件精確回歸建模方法. 首先, 使用雙線性插值法對實(shí)測I-V曲線進(jìn)行重采樣, 以提高I-V曲線上數(shù)據(jù)點(diǎn)分布的均勻性; 進(jìn)而, 使用基于溫度-輻照度的網(wǎng)格采樣法對I-V曲線數(shù)據(jù)集進(jìn)行下采樣, 降低數(shù)據(jù)冗余度; 最后, 提出一種基于雙隱層多層感知機(jī)神經(jīng)網(wǎng)絡(luò)的光伏組件模型結(jié)構(gòu), 并基于預(yù)處理的I-V曲線數(shù)據(jù)集, 使用Adam算法訓(xùn)練該模型. 與常規(guī)的建模方法相比, 本研究使用高效的數(shù)據(jù)預(yù)處理方法, 校正了原始測量POA輻照度, 并且考慮了光伏組件背面溫度和干球溫度對其輸出的影響. 基于NREL實(shí)測I-V曲線公開數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果證明, 本研究提出的建模方法在測試集上的RMSE能低至1.7%~2.3%; 在兩種光伏組件的數(shù)據(jù)集上, 相比SVR算法誤差平均降低了28%, 相比GBDT算法誤差平均降低了52%, 并且有很好的泛化性能.