許浩然,陳中舉,楊兆前,房夢婷,詹 煒
(1.長江大學計算機科學學院,湖北荊州434023;2.蘭州大學資源環(huán)境學院,蘭州730000)
降水量是反映氣象變化的重要指標,也是區(qū)域淡水資源的主要來源[1-5]。然而降水往往受氣象、地形等多方面復雜因素的影響,且具有不確定性和多變性[6,7]。如何準確的對降水量進行預測,是目前國內外研究的熱點。
近年來,眾多學者在降水量預測問題上進行了研究,其方法主要分為傳統(tǒng)的概率統(tǒng)計法和機器學習算法。在傳統(tǒng)的概率統(tǒng)計法上,郝慧慧[8]等人使用灰色波形預測法對河南省的降水量進行預測,劉德林[9]使用ARIMA 模型對鄭州市的年降水量進行預測,結果表明該模型在短期降水量預測中效果較好;在機器學習算法上,歐陽琦[7]等人采用支持向量機(SVR)回歸的方法對吉林西部降水量進行預測,王宇博[10]等人使用疊加馬爾可夫鏈和BP 神經(jīng)網(wǎng)絡建立降水量預測模型并進行對比分析,結果表明BP 模型在降水量預測中更適用。傳統(tǒng)的概率統(tǒng)計法ARIMA、灰色預測模型和機器學習算法SVR、BP 模型(ANN 的一種)已經(jīng)被廣泛用于降水量預測中,并取得較好的效果。
然而ARIMA 模型通常要求穩(wěn)定的時序數(shù)據(jù),且在差分時提取的為固定周期的信息,往往很難符合現(xiàn)實數(shù)據(jù)的情況;SVR 和BP 模型則存在機器學習算法典型的擬合速度慢、理論可解釋性不強的問題。
近年來,深度學習算法Prophet 模型在金融股價預測和電力負荷預測中已經(jīng)取得了較好的效果,但關于該模型在降水量預測的研究仍然空缺。與上述模型相比,Prophet 模型無需固定周期的時間序列,可以對缺失的數(shù)據(jù)進行自動擬合,模型的擬合速度快,參數(shù)的可解釋性強,且對中長期的時序預測能力較強。
在此背景下,本文提出將機器學習算法中的Prophet 模型應用到地學領域中的降水量時序預測上,對湖北省月降水量進行預測。并與現(xiàn)有的降水量預測模型ARIMA、SVR、BP 模型進行對比,以探討該模型在降水量預測中的可行性,為湖北省氣象預測工作提供參考。
湖北省位于長江中下游地區(qū),年平均降水量在800-1600 mm 之間。地勢大致為東、西、北三面環(huán)山,中間低平,略呈向南敞開的不完整盆地,包含了山地、平原和丘陵等多種復雜地形區(qū)域[11-14]。降水量在地域分布上呈現(xiàn)自南向北遞減的趨勢,具有明顯的季節(jié)性變化,使用傳統(tǒng)的模型難以進行準確的預測。本文根據(jù)湖北省自然地理和氣象特點,參照湖北省氣象預報服務分區(qū),將研究區(qū)域劃分為:鄂西北、鄂西南、江漢平原、鄂東北、鄂東南5個不同區(qū)域進行月降水量預測的研究。
本文所使用的數(shù)據(jù)來源于中國氣象數(shù)據(jù)網(wǎng)(http://data.cma.cn),選取1960-2017年湖北省月降水量數(shù)據(jù)構建數(shù)據(jù)集;根據(jù)湖北省氣象研究區(qū)域劃分,每個區(qū)域選取3個氣象觀測站點進行研究,其站點分布情況如圖1所示。
圖1 湖北省各區(qū)域氣象站點分布圖Fig.1 Distribution map of meteorological stations in various regions of Hubei Province
Prophet 模型是由Facebook 開源的可分解的時序預測模型[15-17]。與傳統(tǒng)的統(tǒng)計學模型相比,Prophet 模型具有靈活性強,可以根據(jù)趨勢適應不同的季節(jié)和時期,對缺失的數(shù)據(jù)可以進行自動擬合的優(yōu)勢。與常見的機器學習模型相比,Prophet 模型擬合速度快,模型交互式探索性強,且具有很好的理論可解釋性。該模型的工作流程如圖2所示。
圖2 Prophet模型工作流程圖Fig.2 Prophet model work flow chart
Prophet 模型主要由四部分組成,其表達方程式如公式(1)所示:
式中:g(t)為趨勢函數(shù),主要用于表示時間序列在非周期上的變化趨勢;s(t)為周期函數(shù),用于表示時間序列中周期或季節(jié)性變化;h(t)為假期函數(shù),用于表示時間序列中節(jié)假日所產(chǎn)生的影響,本文將h(t)等效轉化為時間序列上的極端天氣造成的降水量突變情況,使模型降水量預測更加準確。?(t)為噪聲項,代表殘差波動,即模型未預測到的趨勢。
此外,Prophet 模型還可以將上式中的加法替換為乘法,組成乘法模型。該模型常用于非線性復雜的預測中;由于降水量時序數(shù)據(jù)為波動的非線性數(shù)據(jù),因此本文選取乘法模型。
Prophet模型中的趨勢因子g(t)包含兩種結構,分別為基于Linear Regression 的分段模型和基于Logistic Regression 的飽和增長模型。分段模型的方程式如公式(2)所示:
式中:k表示模型的增長速率;δ為k的變化量;m為偏移量;t為時間戳;a(t)為指示函數(shù);a(t)T為a(t)的轉置向量;γ為平滑處理的偏移量,其作用是使函數(shù)分段連續(xù)。
Prophet 模型可以通過設置變點,來改變增長率,從而將趨勢變化納入到模型中。假設對于時間戳t,存在n個變點,則a(t)=(a1(t),…,an(t))T,γ=(γ1,…,γn)T;對于某一時刻sj,其偏移量γj,γj= -sj δj,若時間戳t≥sj,則aj(t)= 1,否則為0。
基于Logistic Regression 的飽和增長模型的方程式如公式(3)所示:
式中:C表示模型的承載力;k,m同上。
由于時間序列上的降水量數(shù)據(jù)往往存在變點,其承載力并非固定不變的,可通過對模型設置變點來提高模型的預測精度,設置變點后的方程式如公式(4)所示:
Prophet 模型的季節(jié)性因子s(t)采用傅里葉級數(shù)來建立周期性模型,即如公式(5)所示:
式中:P代表時間序列中的周期,其參數(shù)可以表示為β=[a1,b1,…,aN,bN]T,其中,β~Normal(0,σ2),在Prophet 模型中,σ可以通過seasonality_prior_scale 參數(shù)進行設置,從而控制季節(jié)因子s(t)對模型的影響大小。
為了降低少數(shù)極端天氣造成的降水量數(shù)據(jù)過高對模型普遍降水量預測的影響,本文提出將Prophet 模型的節(jié)假日因子h(t)等效轉換為極端天氣情況。其方程式如公式(6)所示:
式中:ki表示節(jié)假日極端天氣的影響范圍;Di表示極端天氣的前后日期;L為極端天氣個數(shù)。其中k服從正態(tài)分布,即k~Normal(0,v2),在Prophet 模型中,v可以通過hoildays_prior_scale參數(shù)進行設置,從而控制節(jié)假日因子對模型的影響大小。
本文基于Prophet 模型建立降水量預測模型,其模型工作原理如圖3所示。
圖3 Prophet降水量預測模型工作原理Fig.3 The working principle of the Prophet precipitation prediction model
2.2.1 SVR模型
SVR 模型主要用于解決回歸問題,其模型的預測精度相比傳統(tǒng)統(tǒng)計學模型有所提升,目前在回歸估計、水文預測等方面已經(jīng)取得廣泛應用[18]。SVR 模型采用SRM 原理,通過核函數(shù)將非線性問題轉換為超平面上的線性問題進行求解,大大減小模型的計算量。SVR模型的表達式如公式(7)所示:
式中:α(x)為低維空間到高維的非線性映射;ω為特征向量;b為偏差[19]。
SVR 模型通過結構風險最小化原理,引入松弛因子、拉格朗日乘子以及核函數(shù),將公式(7)轉換為公式(8),得到下列最優(yōu)回歸函數(shù):
本文采用的核函數(shù)為SVR 最常用的RBF 核函數(shù),將其代入公式(8)得到模型的預測值,其計算如公式(9)所示:
式中:σ為核函數(shù)的參數(shù)。
2.2.2 BP模型
BP 神經(jīng)網(wǎng)絡是一種較為出色的ANN 模型,廣泛應用于水文、氣象等領域,如張斌[20]使用BP 模型進行地下水的動態(tài)預測。該模型主要由正向和反向兩個過程組成。
在正向過程中,輸入x依次經(jīng)過輸入層、隱藏層、輸出層的處理得到輸出值。如果輸出值和期望值不同,就進入反向過程。
在反向過程中,將正向過程得到的輸出值,經(jīng)過隱藏層再反向回傳,并對各層參數(shù)計算的誤差求取平均值,最后利用這些平均誤差來調整各個參數(shù)的權值。
BP 模型可以近似理解為加上了反向傳播和反饋的多層感知器。在反向過程中,模型參數(shù)總誤差的計算如公式(10)所示:
式中:Etotal為總誤差;target為模型期望的輸出值;output為模型實際的輸出值。
2.2.3 ARIMA模型
ARIMA 模型是統(tǒng)計學中常用的模型,廣泛應用在水文、股價等時序預測領域。ARIMA 模型可以簡單理解為AR 模型、MA 模型和差分法的結合,模型主要分為識別定階、參數(shù)估計、模型校驗以及預測4 個階段。識別定階用于確定p、d、q3 個參數(shù),其中p代表AR 項,d代表差分的階數(shù),q代表MA項;參數(shù)估計和模型檢驗主要用來估計未知參數(shù)的值以及確定模型是否可靠。
本文所采用的模型精度評估方法為均方根誤差(RMSE)、平均絕對誤差(MAE)。其計算方程式如公式(11)和公式(12)所示:
式中:h為氣象站點數(shù);yg和為第g時刻的實際觀測值和預測值。
本文基于Prophet 模型建立了湖北省月降水量預測模型,將數(shù)據(jù)集按照8∶2 的比例劃分為訓練集和驗證集,即使用1960年1月-2006年5月的數(shù)據(jù)進行模型的訓練,2006年6月-2017年12月共139 個月的數(shù)據(jù)進行驗證。通過Prophet 模型進行時序分解,觀察趨勢項及周期性規(guī)律,進而對模型的參數(shù)進行調整。實驗表明,對于湖北省月降水量預測,Prophet 模型中的乘法模型和基于邏輯回歸的飽和增長模型具有較好的預測結果。在模型參數(shù)調整中,變點數(shù)量n的設置及趨勢項靈活度參數(shù)changepoint_prior_scale、 周期項靈活度參數(shù)seasonality_prior_scale、假期項靈活度參數(shù)holidays_prior_scale在較大程度上影響模型的預測效果。由于不同站點間氣象規(guī)律不同,Prophet 模型可以通過對不同站點進行時序分解,分別調整參數(shù)來找到最優(yōu)模型。
以57259 站點為例,Prophet 模型在驗證集上的預測值和真實值如圖4所示。從趨勢預測上看,通過對比預測數(shù)據(jù)和實際觀測數(shù)據(jù)發(fā)現(xiàn),Prophet 模型在預測時較好的預測了波峰出現(xiàn)的波動情況,且能夠較為準確的對139個月的降水量進行預測,預測結果和實際結果較吻合;SVR 模型可以預測到波峰存在的波動情況,但其預測的峰值往往低于觀測值;BP 模型對于趨勢波動的預測效果和SVR 類似,但其對波谷的預測往往高于觀測值,且對中長期預測能力較弱,后期出現(xiàn)發(fā)散現(xiàn)象。ARIMA 模型沒有很好的預測到波峰出現(xiàn)的波動情況,其曲線相對波動的觀測數(shù)據(jù)較為平滑,且對中長期預測效果較差,后期出現(xiàn)階梯性增長和發(fā)散現(xiàn)象。
圖4 57259站點不同模型降水量預測結果Fig.4 Precipitation results of different models at 57259 site
使用Prophet、SVR、BP 和ARIMA 四種模型對57259 站點預測精度如表1所示,Prophet 模型的RMSE為33.303,MAE為24.060,相比其他模型均為最低,誤差相對較?。磺翌A測精度由Prophet 到ARIMA 依次降低,RMSE和MAE較其他模型平均值低18.402和16.189。
表1 57259站點不同模型預測精度評價指標對比Tab.1 Comparison of prediction accuracy evaluation indexes of different models at 57259 site
為了驗證Prophet 模型對不同區(qū)域多個站點降水量預測的普適性,本文對湖北省五大區(qū)域15 個站點建立Prophet 模型進行降水量預測,并將其與SVR、BP、ARIMA模型進行對比,4個模型的預測精度如圖5和圖6所示,詳細數(shù)值見表2。
觀察圖5、圖6 以及表2 發(fā)現(xiàn),從各站點預測效果來看,Prophet 模型對大部分站點的預測效果較好,少數(shù)站點的預測效果較差,但該模型對這些站點預測的RMSE和MAE值仍小于其他3種模型,且對總體趨勢的預測比較吻合。說明相比于傳統(tǒng)模型,Prophet 模型對各區(qū)域各個站點的預測精度更高,在湖北省月降水量預測中更具有普適性。
表2 湖北省五大區(qū)域15個站點不同模型預測精度評價指標對比mmTab.2 Comparison of prediction accuracy evaluation indicators of different models at 15 stations in five major regions of Hubei Province
圖5 湖北省五大區(qū)域15個站點RMSE值對比Fig.5 Comparison of RMSE values of 15 stations in the five major regions of Hubei Province
圖6 湖北省五大區(qū)域15個站點MAE值對比Fig.6 Comparison of the MAE values of 15 stations in the five major regions of Hubei Province
從區(qū)域預測效果來看,Prophet 模型對鄂西北區(qū)域的預測效果最好,對鄂東南區(qū)域的預測效果較差,而Prophet 模型在湖北省鄂西北、鄂西南、江漢平原、鄂東北、鄂東南五大區(qū)域的預測精度相比其他模型,RMSE 比其他模型的平均值低了15.363、20.731、13.940、15.496、22.512,說明Prophet 模型雖然對鄂東南區(qū)域的預測效果較差,但RMSE減少最多,相比其他傳統(tǒng)模型仍具有一定優(yōu)勢。
為了進一步分析Prophet 模型和SVR、BP、ARIMA 模型對湖北省各區(qū)域的預測情況,本文利用普通克里金插值法[21-25]對2006年6月-2017年12月共139 個月的月均降水量的真實觀測值和各模型的預測值進行空間插值,結果如圖7所示。
通過分析圖7發(fā)現(xiàn),湖北省降水量總體呈由西北向東南遞增的趨勢,且隨海拔高度減小而增加,形成了以東南區(qū)域為中心的降水高值區(qū),以西南區(qū)域為中心的次高值區(qū)。而通過對比四種模型的降水量預測值和真實觀測值的空間插值分布發(fā)現(xiàn),Prophet 模型除西南部57447 站點附近區(qū)域的預測效果較差外,其總體趨勢變化和等值線變化最為接近;而BP 和SVR 模型雖然總體趨勢變化也較為接近,但其在西北和江漢平原區(qū)域的預測效果較差,且等值線范圍存在較大偏差。此外,通過查看對應站點的歷史數(shù)據(jù)發(fā)現(xiàn),西南部的降水量充沛,出現(xiàn)的突變極大值較多;而Prophet 模型對該區(qū)域的降水量趨勢預測雖然較為吻合,但其預測的突變極大值低于觀測值,因此在進行空間插值取平均值時,該區(qū)域的插值的效果較差。
圖7 4種模型降水量預測值和實際觀測值的空間插值分布Fig.7 The spatial interpolation distribution of the predicted precipitation values and actual observation values of the four models
通過對比4 種模型預測值和真實觀測值的等值線變化發(fā)現(xiàn),Prophet 模型的變化趨勢和等值線變化范圍與真實值等值線變化范圍最為接近,都在70~130 的范圍之中;而在從各站點所處的等值線范圍分析表明,Prophet 除西南部57447 站點、東南部57493站點的少部分區(qū)域預測效果較差以外,其他大部分站點的預測效果較好,各站點降水量預測值的空間分布與實際分布結果比較接近。而SVR、BP、ARIMA 模型雖然在總體變化趨勢較為吻合,但其具體的等值線數(shù)值范圍與真實觀測值相差較大,且部分站點所處的等值線范圍與真實值觀測值誤差較大,說明Prophet 模型較其他3 種模型在湖北省月降水量中的整體預測效果更好。
本文提出將Prophet 模型應用在降水量預測領域,并將其與傳統(tǒng)的SVR、BP 和ARIMA 模型進行對比分析,以探討該模型在降水量時序預測中的可行性。通過使用湖北省1960年1月-2006年5月的月降水量時序數(shù)據(jù)對模型進行訓練,并對2006年6月-2017年12月的月降水量進行預測,實驗結論如下:
(1)在單站點的月降水量預測中,Prophet 模型的預測精度要優(yōu)于傳統(tǒng)的SVR、BP 和ARIMA 模型,能夠更好的預測到月降水量的周期性以及變化趨勢,且對波峰出現(xiàn)的波動情況預測更為準確。
(2)在對湖北省五大區(qū)域各站點預測中,Prophet 模型在各站點、各區(qū)域的預測效果均優(yōu)于傳統(tǒng)的SVR、BP 和ARIMA模型。其中對鄂西北地區(qū)的預測效果最好,鄂東南地區(qū)的預測精度相對較差,但仍優(yōu)于傳統(tǒng)的模型,表明該模型在湖北省月降水量預測中具有普適性。
(3)在空間分布上,使用克里金插值法對Prophet、SVR、BP、ARIMA 模型在月均降水量上的預測值與各站點實際觀測值進行分析發(fā)現(xiàn),Prophet 模型預測的月降水量在空間上與實際觀測值更為吻合,表明該模型在大尺度空間的預測上具有較高準確度。
實驗結果證明了Prophet 模型在降水量時序預測上的可行性,且比其他傳統(tǒng)模型的預測精度更高。論文將機器學習算法與降水量預測進行結合,為該領域的研究提供了新的思路。