顧春鋒, 羅其華, 奚培鋒, 張少迪, 胡桐月
[1.國網(wǎng)浦東供電公司臨港能源服務(wù)中心, 上海 200120;2.上海電力大學(xué) 自動化工程學(xué)院, 上海 200090;3.上海電器科學(xué)研究所(集團)有限公司, 上海市智能電網(wǎng)需求響應(yīng)重點實驗室, 國家能源智能電網(wǎng)用戶端電氣設(shè)備研發(fā)(實驗)中心, 上海 200063]
全國建筑在壽命周期內(nèi)能耗總量達到21.47億噸,占全國能源消費總量的46.5%[1]。在全國建筑能耗中,空調(diào)能耗占據(jù)了建筑總能耗的一半左右[2],準(zhǔn)確的空調(diào)負荷預(yù)測對建筑空調(diào)系統(tǒng)的高效運行和減少能源消耗具有重要意義。
目前,國內(nèi)外學(xué)者對空調(diào)負荷預(yù)測方法有兩類:線性方法和非線性方法。線性方法主要有回歸分析[3]、指數(shù)平滑法[4]、灰色理論[5]、時間序列[6]。由于空調(diào)負荷有很大的隨機性和波動性,線性方法不能處理空調(diào)負荷與影響因素之間這種非線性關(guān)系。近年來,隨著人工智能興起,人工智能算法憑借著強大的非線性映射能力,逐漸被應(yīng)用于空調(diào)負荷預(yù)測,提高預(yù)測的準(zhǔn)確性少了。非線性方法主要包含支持向量機(SVR)、人工神經(jīng)網(wǎng)絡(luò)等智能算法。張峰等[7]提出了人工神經(jīng)網(wǎng)絡(luò)預(yù)測模型,對南京某辦公建筑的空調(diào)負荷進行逐時預(yù)測;墨蒙等[8]采用BP神經(jīng)網(wǎng)絡(luò)作為空調(diào)負荷預(yù)測的主要算法,采用粒子群算法作為BP神經(jīng)網(wǎng)絡(luò)初始參數(shù)的優(yōu)化算法,提高了模型的預(yù)測精度和速度;張夢成等[9]先利用模糊C均值算法對輸入?yún)?shù)進行聚類,然后根據(jù)不同的類建立BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型,最后利用決策樹算法優(yōu)化預(yù)測結(jié)果中不佳的部分;李瓊等[10]采用高斯函數(shù)作為核函數(shù),建立了支持向量機模型,對廣州地區(qū)某辦公樓空調(diào)負荷進行逐時預(yù)測;李崢嶸等[11]利用Pearson相關(guān)系數(shù)和隨機森林算法對SVR模型的輸入?yún)?shù)進行分析,刪除與輸出參數(shù)相關(guān)性低的影響因素,降低模型復(fù)雜度。但是上述方法存在的問題是無法對數(shù)據(jù)的時序關(guān)系進行考慮,需要人為添加時間特征來保證預(yù)測的準(zhǔn)確性。
對于空調(diào)負荷數(shù)據(jù)有著很強的時序性和非線性的特點,為了提高預(yù)測的準(zhǔn)確性,本文提出一種基于主成分分析(PCA)和長短記憶(LSTM)神經(jīng)網(wǎng)絡(luò)空調(diào)負荷預(yù)測方法,結(jié)果表明經(jīng)過PCA的LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測模型預(yù)測精度有了提高,LSTM神經(jīng)網(wǎng)絡(luò)比傳統(tǒng)BP更適合處理時序性和非線性問題。
影響空調(diào)負荷的影響因素有很多,可分為內(nèi)部因素和外部因素。內(nèi)部因素包括空調(diào)的類型、功率、使用年限等。外部因素指氣象因素,包括溫度、濕度、氣壓、風(fēng)速等??照{(diào)內(nèi)部因素存在著不確定性和難以測量性,因此本文不考慮空調(diào)內(nèi)部因素對負荷造成的影響,僅把溫度、濕度、氣壓、風(fēng)速等氣象因素作為空調(diào)負荷預(yù)測的主要影響因素。在眾多的氣象因素中,有些氣象因素之間存在一定耦合性,過多的作為輸入并不能提高預(yù)測的準(zhǔn)確性,反而增加數(shù)據(jù)的冗余,導(dǎo)致收斂速度慢?;诖吮疚牟捎弥鞒煞址治龇▽庀笠蛩剡M行分析,在眾多的氣象因素中,篩選出前幾個主要成分因素,在不影響預(yù)測精度的情況下,降低輸入變量數(shù)據(jù)的維度,提高收斂速度。
PCA的主要思想是將m維特征映射到k維上(k 假設(shè)有m個因素{x1,x2,…,xm},每個因素有n個觀測數(shù)據(jù),得到原始數(shù)據(jù)矩陣A。 PCA計算步驟如下: (1) 對原來的m個因素進行標(biāo)準(zhǔn)化,得到標(biāo)準(zhǔn)化的因素變量 (3) 根據(jù)標(biāo)準(zhǔn)化的數(shù)據(jù)矩陣B求出相關(guān)系數(shù)矩陣R=(rij)m×m,其中 (4) 計算相關(guān)系數(shù)矩陣R的特征值λ1≥λ2≥…λm,及對應(yīng)的標(biāo)準(zhǔn)正交化特征矢量u1,u2,…,um,其中uj=[u1j,u2j,…,umj]T,由特征矢量組成m個新的因素向量 式中:F1——第一個主成分; F2——第二個主成分; Fm——第m個主成分。 (5) 計算主成分貢獻率及累計貢獻率: 式中: Fj——第j個主成分的貢獻率; ηi——前i個主成分的累計貢獻率。 一般取累計貢獻率達到85%~95%的特征值λ1,λ2,…,λm所對應(yīng)的第1、2、…、k(k≤m)個因素作為主要成分。 LSTM神經(jīng)網(wǎng)絡(luò)[13]是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[14],可以學(xué)習(xí)短期和長期依賴性關(guān)系。與RNN不同的是,LSTM神經(jīng)網(wǎng)絡(luò)通過時間反向傳播進行訓(xùn)練,克服了梯度消失和爆炸問題。由于LSTM引入了記憶單元,這些單元具備存儲和計算能力,取代在隱藏層中的傳統(tǒng)人工神經(jīng)元,有了這些記憶單元,能夠有效處理輸入、輸出門中的信息。LSTM神經(jīng)網(wǎng)絡(luò)單元結(jié)構(gòu)如圖1所示。 圖1 LSTM神經(jīng)網(wǎng)絡(luò)單元結(jié)構(gòu) 遺忘門的功能是根據(jù)特定情況對信息進行保留和丟棄。遺忘門的輸入是來自上一時刻隱藏層的信息ht-1和當(dāng)前時刻的輸入xt,通過激活函數(shù)sigmoid將輸出值限制在0~1之間,然后對輸出值進行篩選,丟棄最接近0的值,保留最接近1的值。計算遺忘門的表達式為 ft=σ(WxfXt+Whfht-1+Wcfct-1+bf) (6) 式中: σ——sigmoid激活函數(shù); Wxf、Whf、Wcf——遺忘門的權(quán)值矩陣; bf——遺忘門的偏置; ct-1——上一時刻細胞的狀態(tài)。 輸入門用于更新細胞狀態(tài)。輸入門的輸入是由上一時刻的隱藏層的信息ht-1和當(dāng)前時刻的輸入xt,通過激活函數(shù)sigmoid和tanh,最后將sigmoid函數(shù)的輸出值與tanh函數(shù)的輸出值相乘,sigmoid函數(shù)的輸出值決定tanh函數(shù)的輸出值是保留還是丟棄。計算輸入門的表達式如下: it=σ(WxiXt+Whiht-1+Wcict-1+bi) (7) 式中:tanh——激活函數(shù),用于幫助調(diào)節(jié)流經(jīng)網(wǎng)絡(luò)的值,始終限制在[-1,1]; Wxi、Whi、Wci、Wxc、Whc——輸入門的權(quán)值矩陣; bi、bc——輸入門的偏置; 計算細胞狀態(tài)。首先將前一層的細胞狀態(tài)與遺忘門輸出的值相乘,然后再將該值與輸入門的輸出值相加,得到新的細胞狀態(tài)ct。計算細胞狀態(tài)的表達式為 輸出門用來確定下一個隱藏層的值。輸出門的輸入由兩部分組成,一部分是由上一時刻隱藏層的信息ht-1和當(dāng)前時刻的輸入xt,另一部分是新的細胞狀態(tài)ct,通過激活函數(shù)sigmoid和tanh,最后將sigmoid函數(shù)的輸出值與tanh函數(shù)的輸出值相乘,以確定當(dāng)前隱藏層ht應(yīng)攜帶的信息。再將當(dāng)前隱藏層作為當(dāng)前細胞的輸出,把新的細胞狀態(tài)和新的隱藏層傳遞到下一個時間步長中去。計算輸出門的表達式如下: 式中:Wxo、Who、Wco——輸出門的權(quán)值矩陣; bo——輸出門的偏置。 PCA-LSTM模型結(jié)構(gòu)如圖2所示。PCA分析法負責(zé)篩選出主要成分的氣象因素作為LSTM神經(jīng)網(wǎng)絡(luò)的輸入量,LSTM通過學(xué)習(xí)氣象因素與空調(diào)負荷數(shù)據(jù)之間的內(nèi)在聯(lián)系與規(guī)律,并對未來的負荷進行預(yù)測。LSTM神經(jīng)網(wǎng)絡(luò)有2個LSTM神經(jīng)網(wǎng)絡(luò)層,在LSTM后面連接著1個Droupt層。為了減少模型過擬合,最后全連接層接著1個回歸層,用于輸出連續(xù)的空調(diào)負荷數(shù)據(jù)。 在使用智能監(jiān)測裝置進行數(shù)據(jù)采集的過程中會遇到很多不確定的因素,比如網(wǎng)絡(luò)中斷、采集終端故障、關(guān)口電能表故障等,這些因素都會給采集數(shù)據(jù)的設(shè)備帶來干擾,導(dǎo)致采集到的數(shù)據(jù)丟失或異常。合理的訓(xùn)練數(shù)據(jù)有助于提高預(yù)測模型的精度,因此在使用歷史數(shù)據(jù)進行訓(xùn)練之前,先要對數(shù)據(jù)進行預(yù)處理。 (1) 異常數(shù)據(jù)的識別。由于空調(diào)負荷每天的變化呈現(xiàn)著周期性,同一天不同時刻負荷有較大區(qū)別,但每天同一時刻的負荷變化卻相似,因此本文將空調(diào)負荷按時間分成24個序列,時間為0∶00~23∶00。箱形圖的結(jié)構(gòu)如圖3所示。由圖3可以直觀地看出對超出箱形圖設(shè)定的上界或者低于設(shè)定的下界的數(shù)值為異常值[15]。 圖3 箱形圖的結(jié)構(gòu) 箱形圖對異常數(shù)據(jù)的評判公式為 (12) 其中,IQR=U-L。 式中:xi——待測數(shù)據(jù)按照從小到大排序后的第i個數(shù)據(jù); U——上四分位數(shù); L——下四分位數(shù); IQR——四分位距。 (2) 異常數(shù)據(jù)的處理。在對異常數(shù)據(jù)進行識別之后,需要對異常值進行處理,常用的方法有:刪除含有異常值的記錄,視為缺失值,平均值修正和不處理?;诒疚牟杉臄?shù)據(jù)是小樣本數(shù)據(jù),直接刪除會造成訓(xùn)練樣本不足,不處理會導(dǎo)致模型擬合效果差,因此本文將缺失值和異常值用前后兩天相同時間點負荷的均值來代替。 (3) 數(shù)據(jù)歸一化。各個影響因素單位量綱不同,在數(shù)量級上存在很大差異,所以將各個影響因素和空調(diào)負荷進行歸一化處理,采用Min-Max 標(biāo)準(zhǔn)化將其數(shù)值限制在0~1之間,從而避免陷入運算局部最優(yōu)。歸一化后的值表達式為 式中: X——原數(shù)據(jù)集; Xmax、Xmin——原數(shù)據(jù)集中最大和最小值。 使用2015年8月7日的氣象數(shù)據(jù),時間0∶00~23∶00,每小時對溫度、露點溫度、濕度、氣壓、風(fēng)速進行采樣一次,共5維數(shù)據(jù)構(gòu)成輸入變量的初始序列。原始數(shù)據(jù)如表1所示。利用主成分分析法對氣象因素數(shù)據(jù)進行分析,主成分分析結(jié)果如表2所示。 表1 原始數(shù)據(jù) 表2中,主成分1~主成分5的貢獻率分別為56.053 4%、 426.983 1%、 8.595 4%、 8.323 3%、0.044 7%,前4個主成分累計貢獻率為99.955 3%,已經(jīng)達到了95%的目標(biāo),涵蓋了主要信息,因此選取溫度、露點溫度、相對濕度、氣壓作為預(yù)測模型的輸入。輸入節(jié)點數(shù)設(shè)置為4,模型輸出為空調(diào)負荷,所以輸出節(jié)點數(shù)設(shè)置為1。經(jīng)過反復(fù)試驗隱藏層設(shè)置為2層,每層隱藏節(jié)點數(shù)設(shè)置為180個,迭代次數(shù)Epoch設(shè)置為700次,學(xué)習(xí)率設(shè)置為0.005,dropout設(shè)置為0.01,最后模型采用Adam算法進行優(yōu)化。 表2 主成分分析結(jié)果 本文采用平均絕對百分比誤差Mape、平均絕對誤差Mae和均方根誤差Rmse來評估預(yù)測模型,Mape、Mae、Rmse越小,表明模型預(yù)測效果越好,各評估指標(biāo)的計算表達式如下: 式中: n——預(yù)測樣本總數(shù); Yact、Ypre——真實值和預(yù)測值。 本文分析上海某建筑空調(diào)耗電情況,時間從2015年6月1日到2015年8月31日,每1 h進行采樣一次,總共2 184條數(shù)據(jù),其中工作日有1 560條數(shù)據(jù),非工作日有624條數(shù)據(jù)。由于本文采集到的信息只有氣象數(shù)據(jù),從非工作日空調(diào)負荷的數(shù)據(jù)來看,空調(diào)負荷與氣象因素的相關(guān)性比較低,且每天空調(diào)負荷的變化并不規(guī)律,模型輸入因素的選擇并不適用于非工作日。因此僅對工作日的空調(diào)負荷進行預(yù)測,劃分訓(xùn)練集為1 536條數(shù)據(jù),剩下的為測試集。利用MATLAB 2020b編程語言來建立PCA-LSTM神經(jīng)網(wǎng)絡(luò)空調(diào)負荷預(yù)測模型。 利用python中的pands和matplotlib工具包可快速實現(xiàn)箱形圖對數(shù)據(jù)篩選的功能,異常數(shù)據(jù)分布如圖4所示,異常數(shù)據(jù)共有25個,其中極端異常數(shù)據(jù)有1個,對異常數(shù)據(jù)的處理采用前后兩天同一時刻的負荷數(shù)據(jù)均值來代替,然后將劃分空調(diào)負荷的訓(xùn)練集和測試集進行歸一化。 圖4 異常數(shù)據(jù)分布 不同預(yù)測模型的預(yù)測效果對比如圖5所示。 圖5 不同預(yù)測模型的預(yù)測效果對比 不同預(yù)測模型相對誤差比較如圖6所示。 圖6 不同預(yù)測模型相對誤差比較 由圖5、圖6可知,PCA-LSTM預(yù)測模型的擬合效果比LSTM預(yù)測模型以及PCA-BP預(yù)測模型好,預(yù)測相對誤差范圍在[-0.1,0.1]之間,比LSTM預(yù)測模型的相對誤差低0~10%,比PCA-BP預(yù)測模型的相對誤差低0~30%,具有較高的預(yù)測精度。 3種預(yù)測模型的預(yù)測效果對比如表3所示。表3中,從平均絕對誤差的角度來看,PCA-LSTM相比于其他兩種預(yù)測模型,Mae分別下降了35.135 2、8.056 9;從平均絕對百分比誤差的角度來看,Mape分別下降了6.74%、2.01%;從均方根誤差的角度來看,Rmse分別下降了59.612 9、7.932 5。PCA-LSTM預(yù)測模型在評價指標(biāo)Mae、Mape、Rmse上均優(yōu)于其他兩種預(yù)測模型,說明本文所提預(yù)測方法具有良好的預(yù)測精度。 表3 3種預(yù)測模型的預(yù)測效果對比 本文提出PCA-LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測模型,利用LSTM特有的門結(jié)構(gòu)可以有效學(xué)習(xí)時序數(shù)據(jù)的特征,提高預(yù)測模型的準(zhǔn)確性。在數(shù)據(jù)預(yù)處理階段采用主成分分析法對輸入變量進行剔除,減少數(shù)據(jù)的冗余,提高預(yù)測模型的數(shù)據(jù)處理效率。最后將PCA-LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測模型與傳統(tǒng)BP預(yù)測模型以及不進行主成分分析的LSTM預(yù)測模型在劃分好的訓(xùn)練集和測試集上測試對比,結(jié)果表明LSTM神經(jīng)網(wǎng)絡(luò)能夠很好處理時序性和非線性的問題,通過主成分分析法對影響因素進行分析過后,預(yù)測精度得到了提升,說明本文所提預(yù)測方法在對空調(diào)負荷預(yù)測上具有較高的預(yù)測精度和更好的泛化性。2 LSTM神經(jīng)網(wǎng)絡(luò)模型的原理
3 基于PCA-LSTM神經(jīng)網(wǎng)絡(luò)空調(diào)負荷預(yù)測模型的建立
3.1 數(shù)據(jù)預(yù)處理
3.2 預(yù)測模型參數(shù)的設(shè)置
3.3 模型評價指標(biāo)
4 實例分析
4.1 數(shù)據(jù)預(yù)處理
4.2 預(yù)測效果
5 結(jié) 語