魏 超,趙志崗,焦曉峰,俎海東,張利慧
(1.內(nèi)蒙古電力科學(xué)研究院,呼和浩特 010020;2.內(nèi)蒙古能源發(fā)電金山熱電有限公司,呼和浩特 010000)
短期天氣預(yù)測對于光伏發(fā)電、風(fēng)力發(fā)電等新能源發(fā)電形式的預(yù)測控制具有重要的參考意義[1,2]。天氣預(yù)測主要是通過科學(xué)的方式,針對某個地區(qū)在未來的一段時(shí)間內(nèi)氣溫高低和氣候變化的預(yù)測分析。同時(shí),利用相應(yīng)的理論分析,建立數(shù)據(jù)模型進(jìn)行預(yù)測處理。傳統(tǒng)的天氣預(yù)報(bào)是以氣象觀測數(shù)據(jù)為初值條件,通過計(jì)算機(jī)進(jìn)行數(shù)值計(jì)算,再用流體力學(xué)和熱力學(xué)的方程組進(jìn)行求解,根據(jù)得出的數(shù)值結(jié)果表現(xiàn)大氣變化,推測可能發(fā)生的天氣。目前,正是人工智能對產(chǎn)業(yè)賦能的新時(shí)代,天氣預(yù)報(bào)本身就是大數(shù)據(jù)問題,涉及不同時(shí)間和空間上的海量數(shù)據(jù),人工智能又是一種處理大數(shù)據(jù)的工具,可以繞過物理模型,因此為天氣預(yù)報(bào)提供了一種新的思路[3]。

圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of convolution neural network
卷積神經(jīng)網(wǎng)絡(luò)是一類包含卷積計(jì)算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),是深度學(xué)習(xí)的代表算法之一[4]。卷積神經(jīng)網(wǎng)絡(luò)具有表征學(xué)習(xí)能力,能夠按其階層結(jié)構(gòu)對輸入信息進(jìn)行平移不變分類。一個卷積神經(jīng)網(wǎng)絡(luò)的一般組成包括輸入層、卷積層、池化層、激活函數(shù)、全連接層、輸出層。卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)要根據(jù)數(shù)據(jù)和任務(wù)進(jìn)行搭配,并不是一成不變的。比方說,如果識別圖片或者對圖片分類會參考非常經(jīng)典的VGG結(jié)構(gòu)。雖然結(jié)構(gòu)可以自由搭配,但是各層搭配還是有一定順序的。輸入必然放到最上方,卷積層、激活函數(shù)、池化層三者可以多次重復(fù)堆砌,再加入幾個全連接層直到最后輸出[5]。
本文搭建了兩個卷積層的卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),如圖1所示。
在利用二維卷積的時(shí)候,要將數(shù)據(jù)格式變成類似圖像數(shù)據(jù)的格式。首先來理解圖像的格式,眾所周知一張圖片是由無數(shù)像素點(diǎn)組成,每一個像素點(diǎn)通過Red,Green,Blue 3個顏色通道控制顏色,每個顏色通道取值范圍[0,255],例如白色為[255,255,255]。由于一張圖片包含像素點(diǎn)的位置坐標(biāo)以及3個通道的數(shù)值,因而讀取一張彩色圖片后,形成一個被描述為擁有(長,寬,通道數(shù))的張量,就會知道圖像長寬以及通道數(shù)的信息。要理解張量,來舉個例子,零維張量是標(biāo)量,就是一個數(shù),一維張量稱為向量,二維張量稱為矩陣,三維及往上直接稱為張量。
卷積實(shí)際上是一種和加減乘除一樣的運(yùn)算方式,如圖2所示。

圖2 卷積處理Fig.2 Convolution processing

圖3 最大值池化效果Fig.3 Maximum pooling effect
圖2展示的是一個卷積核在圖片的一個通道上,按行處理后形成新的“圖片”的效果。卷積核覆蓋的圖片位置的數(shù)值與卷積核對應(yīng)位置的數(shù)值相乘再相加就得到新“圖片”的一個數(shù)值,卷積核也是按行從左到右掃描,可以控制卷積核的大小以及一次移動的步長。如果要用二維卷積核處理有3個通道的彩色圖片,直觀理解就要把彩色圖片分為3張單通道圖片,一個通道的信息放一層,每一層都用同一個卷積核處理一遍,然后得到新的三層,這新的三層對應(yīng)位置數(shù)據(jù)相加就得到一張新的“圖片”。注意這里使用的是一個卷積核來掃描三層通道,所以得到一張新圖片。
正如圖2顯示,圖中的掃描方式并沒有充分利用圖片邊緣的像素?cái)?shù)據(jù),為了充分利用數(shù)據(jù),要讓卷積核的中心經(jīng)過圖片的邊緣,然后沒有覆蓋到圖片像素點(diǎn)的卷積核對應(yīng)圖片的位置全部填充0,這就是上文提到的填充[6]。
池化層的效果如圖3所示,池化層的目的是壓縮矩陣,在不影響必要特征的情況下,壓縮數(shù)據(jù)減少后續(xù)處理數(shù)據(jù)的量。
激活函數(shù),例如Relu函數(shù)、sigmoid函數(shù)等,引入激活函數(shù)的目的是加入非線性因素以便更好地匹配或者擬合。本文所用程序中自己定義的激活函數(shù)均使用Relu函數(shù)激活函數(shù)。Relu函數(shù)程序:
全連接層目的是將之前經(jīng)過卷積層、池化層、激活函數(shù)處理的數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,用來匹配輸出數(shù)據(jù)格式。

圖4 Relu激活函數(shù)Fig.4 Relu activation function
本預(yù)測以華北平原北部、河北省中部,太行山東麓,冀中平原西部某市24h的整點(diǎn)溫度的氣象特征量和日期特征量作為歷史樣本來訓(xùn)練神經(jīng)網(wǎng)絡(luò)和建立模型,該市年平均氣溫12℃,年降水量550mm,屬于溫帶季風(fēng)性氣候。
訓(xùn)練數(shù)據(jù)為中國氣象局下發(fā)某市逐小時(shí)地面觀測數(shù)據(jù)和相同時(shí)次ECMWF的再分析資料;測試數(shù)據(jù)為中國氣象局下發(fā)的某市逐小時(shí)地面觀測數(shù)據(jù)和相同時(shí)次ECMWF的再分析資料。
本文采取分析4月中旬溫度,通過訓(xùn)練前幾日的溫度變化走向,輸入24h的溫度,然后預(yù)測未來6h的溫度變化,并且對溫度陡變的狀況進(jìn)行模糊化處理,然后進(jìn)行預(yù)測。
在選擇的數(shù)據(jù)輸入的時(shí)候,因?yàn)闀矸e網(wǎng)絡(luò)輸出結(jié)果產(chǎn)生很大影響,所以需要將數(shù)據(jù)進(jìn)行一些處理,如很有必要的數(shù)字模糊化處理。選擇合適的輸入變量是利用數(shù)字模糊方式來解決天氣預(yù)測問題的關(guān)鍵點(diǎn)。由于負(fù)荷變化的影響在實(shí)驗(yàn)中起到了很大的作用,所以將影響負(fù)荷變化的因素盡量都包含在輸入樣本內(nèi),這樣才可以使預(yù)測更加準(zhǔn)確。選擇負(fù)荷數(shù)據(jù)仍以清晰量作為網(wǎng)絡(luò)的部分輸入,根據(jù)4月份天氣的具體情況和所掌握的氣象資料情況,選擇的模糊輸入量是對預(yù)測有較大影響的時(shí)刻溫度。
本預(yù)測是根據(jù)數(shù)據(jù)樣本對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,使預(yù)測量和預(yù)測數(shù)據(jù)之間變化規(guī)律蘊(yùn)含于網(wǎng)絡(luò)的權(quán)值中,然后根據(jù)訓(xùn)練后的網(wǎng)絡(luò)一次性輸出預(yù)測量。本預(yù)測以2019年4月20日至4月21日整點(diǎn)溫度的氣象特征量和日期特征量作為歷史樣本來訓(xùn)練神經(jīng)網(wǎng)絡(luò)和建立模型,來預(yù)測2019年4月22日的6個整點(diǎn)溫度值。天氣溫度記錄見表1。

表1 天氣溫度記錄表Table 1 Record of weather and temperature

表2 基于卷積網(wǎng)絡(luò)算法的短期預(yù)測結(jié)果記錄表Table 2 Short term prediction results based on convolution network algorithm
第一步數(shù)據(jù)的輸入:首先,在MATLAB的work文件夾中創(chuàng)建兩個寫字板文件,一個文件中錄入經(jīng)歸一化處理后的溫度數(shù)據(jù)、天氣變量隸屬度;另一個文件中錄入整點(diǎn)溫度真實(shí)值,然后在MATLAB工作窗口中輸入并保存這些數(shù)據(jù);對卷積網(wǎng)絡(luò)訓(xùn)練完后,就可以開始溫度預(yù)測了,此時(shí)網(wǎng)絡(luò)的輸入數(shù)據(jù)為:預(yù)測日前一天的48個整點(diǎn)溫度、預(yù)測日當(dāng)天3個日最高溫度隸屬度和3個日最低溫度隸屬度。
對卷積網(wǎng)絡(luò)訓(xùn)練完后,就可以開始負(fù)荷預(yù)測了,此時(shí)網(wǎng)絡(luò)的輸入數(shù)據(jù)為:預(yù)測日前一天的24個整點(diǎn)溫度(歸一化處理后的)、預(yù)測日當(dāng)天3個日最高溫度隸屬度和3個日最低溫度隸屬度。預(yù)測程序運(yùn)行結(jié)果見表2,基于神經(jīng)網(wǎng)絡(luò)算法的預(yù)測誤差分析如圖5所示。
經(jīng)過計(jì)算得出均方差為2.464,標(biāo)準(zhǔn)差為1.569;呈現(xiàn)的趨勢為越往后的誤差越來越大,越靠近真實(shí)值的預(yù)測值越準(zhǔn)確。

圖5 基于神經(jīng)網(wǎng)絡(luò)算法的預(yù)測誤差分析Fig.5 Prediction error analysis based on neural network algorithm
灰色模型是利用離散隨機(jī)數(shù)經(jīng)過生成變?yōu)殡S機(jī)性被顯著削弱而且較有規(guī)律的生成數(shù),建立起的微分方程形式的模型,這樣便于對其變化過程進(jìn)行研究和描述。為了保證GM(1,1)建模方法的可行性,需要對已知數(shù)據(jù)做必要的檢驗(yàn)處理[7]。
設(shè)原始數(shù)據(jù)列為x(0)=(x(0)(1),x(0)(2),…,x(0)(n)),計(jì)算數(shù)列的級比:

如果所有的級比都落在可容覆蓋區(qū)間X=(e-2n+1,e2n+1)內(nèi),則數(shù)列x(0)可以建立GM(1,1)模型且可以進(jìn)行灰色預(yù)測。否則,對數(shù)據(jù)做適當(dāng)?shù)淖儞Q處理,如平移變換:

取c使得數(shù)據(jù)列的級比都落在可容覆蓋內(nèi),短期預(yù)測結(jié)果記錄表見表3。
當(dāng)x(0)=(x(0)(1),x(0)(2),…,x(0)(n))
滿足上面的條件后,就可以以它為數(shù)據(jù)列建立GM(1,1)模型,即根據(jù)Y=Bu求解出u=[ab]。相應(yīng)的白化模型為:

這是一個微分方程,可以求解得到:


表3 基于灰色模型的短期預(yù)測結(jié)果記錄表Table 3 Short term forecast result record based on grey model
于是得到:

因此,得到預(yù)測值為:

模型選定后,一定要經(jīng)過檢驗(yàn)才能判定其是否合理,只有通過檢驗(yàn)的模型才能用來作預(yù)測,灰色模型的精度檢驗(yàn)一般有3種方法:相對誤差大小檢驗(yàn)法、關(guān)聯(lián)度檢驗(yàn)法和后驗(yàn)差檢驗(yàn)法。對建立的灰色模型進(jìn)行精度檢驗(yàn)[8],灰色模型預(yù)測精度等級表見表4。
均值:

方差:

殘差的均值:

殘差的方差:

后驗(yàn)差比值:

小誤差概率:


表4 灰色模型預(yù)測精度等級表Table 4 Prediction accuracy grade of grey model

表5 GM(1,1)灰色模型精度檢驗(yàn)成果表Table 5 Accuracy test results of GM (1,1) grey model
GM(1,1)模型建立后,通過計(jì)算方差比C和小誤差概率P來綜合評定模型的精度,判斷模型的等級[9],灰色模型精度檢驗(yàn)成果見表5,基于灰色模型的預(yù)測誤差分析如圖6所示。
將分散在時(shí)間軸上的離散數(shù)據(jù)作為一系列連續(xù)變化,削弱了灰色系統(tǒng)中的未知因素,使已知因素的影響程度達(dá)到強(qiáng)度。通過累加和減法,最后構(gòu)造了一個以時(shí)間為變量的連續(xù)微分方程,并用數(shù)學(xué)方法確定了方程中的參數(shù),以達(dá)到預(yù)測的目的。無需大量數(shù)據(jù)樣本,短期預(yù)測效果好,運(yùn)算過程簡單,灰色系統(tǒng)預(yù)測模型的不足在于對非線性數(shù)據(jù)樣本預(yù)測效果差。
雖然灰色模型不適于對大量數(shù)據(jù)出結(jié)果,但它更適合于數(shù)據(jù)符合一定特征的預(yù)測。對于短期天氣溫度的預(yù)測,從原理可知,灰色模型體現(xiàn)的是擬合思想,除了使用范圍的問題外,模型本身也存在需要改進(jìn)的地方,在復(fù)雜的數(shù)據(jù)中掌握數(shù)據(jù)間的依存關(guān)系,在溫度預(yù)測中顯示出一定的優(yōu)越性。
為了更加全面客觀地評價(jià)兩種模型對溫度的預(yù)測結(jié)果,本文采用平均誤差百分比(MAPE)和均方誤差(MSE)兩個指標(biāo)進(jìn)行預(yù)測效果的評價(jià)。相對誤差是指預(yù)測值與真實(shí)值的絕對誤差與真實(shí)值之比,為了更好地反映模型的整體預(yù)測效果,本文利用平均相對誤差(ARE)進(jìn)行預(yù)測精度評價(jià)。而均方誤差(MSE)也是描述預(yù)測值與實(shí)際值之間差異的一種度量,且數(shù)值越小表示預(yù)測精度越高。

圖6 基于灰色模型的預(yù)測誤差分析Fig.6 Prediction error analysis based on Grey Model

表6 卷積神經(jīng)網(wǎng)絡(luò)與灰色模型誤差分析表Table 6 Error analysis of convolution neural network and grey model
公式如下:

計(jì)算結(jié)果及誤差分析見表6,卷積神經(jīng)網(wǎng)絡(luò)與灰色模型誤差對比如圖7所示。
由表6可知,整體看來兩模型預(yù)測溫度的MAPE誤差和均方誤差數(shù)值較小。此外,無論將平均相對誤差或均方誤差作為判斷指標(biāo)都有如下結(jié)果:針對選擇溫度的短期天氣預(yù)測,卷積神經(jīng)網(wǎng)絡(luò)模型預(yù)測方差為2.464小于灰色模型預(yù)測的方差9.286,所以卷積神經(jīng)網(wǎng)絡(luò)模型對溫度的短期預(yù)測的穩(wěn)定度更高;且對于MAPE誤差即每時(shí)平均誤差百分比,卷積網(wǎng)絡(luò)預(yù)測模型為7.12%遠(yuǎn)小于灰色模型13.42%,由此看來卷積模型對于短期天氣預(yù)測的準(zhǔn)確度與精確度更高。由此可以看出:兩種方法均在短期天氣預(yù)測時(shí)具有一定的參考價(jià)值。綜上所述,本文利用卷積網(wǎng)絡(luò)模型與灰色模型預(yù)測法,對于2019年4月22日從早上7時(shí)到下午14時(shí)進(jìn)行短期溫度預(yù)測。

圖7 卷積神經(jīng)網(wǎng)絡(luò)與灰色模型誤差對比Fig.7 Error comparison between convolution neural network and grey model
本文針對某特定城市,分別通過卷積神經(jīng)網(wǎng)絡(luò)模型和灰色模型進(jìn)行短期天氣預(yù)測研究,整體來看兩種模型的預(yù)測結(jié)果與實(shí)際溫度的相對誤差和均方誤差較小,都能較為精準(zhǔn)地對溫度進(jìn)行短期預(yù)測,兩種方法在對溫度短期預(yù)測中具有參考價(jià)值。但兩種模型的預(yù)測精度判斷和溫度的選擇以及波動幅度有一定相關(guān)性。總體來看,卷積神經(jīng)網(wǎng)絡(luò)預(yù)測模型精度高于灰色模型,這一結(jié)論可以為不同時(shí)間序列及天氣溫度波動情況的短期天氣預(yù)測提供新的思路。