王雪妮,郝舒哲,常建波,邓显羽
(1.山西省地质调查院,太原 030006;2.太原理工大学水利科学与工程学院,太原 030024;3.中水东北勘测设计研究有限责任公司,长春 130021)
干旱对农业发展具有广泛而持续的影响,其被认为是最严重的自然灾害之一,并引起众多学者的关注。干旱成因较为复杂,导致其在持续时间、强度和空间延伸等方面难以被量化[1]。鉴于此,国内外通常采用帕默尔干旱指数、标准化降水指数和综合气象干旱指数等作为度量标准监测干旱事件[2]。其中,帕默尔干旱指数及自适应帕默尔干旱指数(self-calibrated palmer drought severity index,scPDSI)为应用最为广泛的干旱指标之一。YANG 等[3]通过对7 个气象干旱指数的分析,指出scPDSI 在中国区域内更为适用。此后,scPDSI 作为较成熟的干旱监测指标被应用于我国各地的气象干旱研究[4-5]。而对于气象干旱的预测方法,各种机器学习算法则成为目前研究的热点。吴晶等[6]将随机森林(random forest,RF)模型应用于干旱等级预测研究中,并取得较为准确的预测结果。措姆等[7]在基于机器学习模型开展干旱趋势预测的研究中发现,支持向量机(support vector machine,SVM)模型具有更高的预测精度。随着“先分解,后重构”思想的提出,耦合模态分解的组合机器学习模型开始被应用于气象干旱预测研究当中。丁严等[8]建立了基于互补集合经验模态分解(complementary ensemble empirical mode decomposition,CEEMD)的长短期记忆(long short term memory,LSTM)网络模型和差分自回归移动平均(autoregressive integrated moving average,ARIMA)模型,对新疆多时间尺度标准化降水指数(standardized precipitation index,SPI)序列进行干旱预测。李子阳等[9]将变分模态分解(variational mode decomposition,VMD)和门控循环单元网络(gated recurrent unit,GRU)相结合,建立了VMD-GRU 干旱预测模型,据此对赵口大型灌区逐月SPI值进行了预测。此后,为进一步提高气象干旱预测精度,智能优化算法逐渐被融入至耦合模态分解的组合机器学习模型中。刘雪梅等[10]利用改进的混沌量子粒子群优化算法(chaotic quantum particle swarm optimization,CQPSO)优化了GRU 神经网络超参数,构建了VMD-CQPSO-GRU 智能预测模型,通过实例分析发现,相比于单一循环神经网络模型,其所建模型的预测精度显著提升。其他相关领域研究表明,自适性噪声完备经验模态分解法(complete ensemble empirical mode decomposition with adaptive noise, CEEMDAN)的效果通常优于CEEMD[11],而采用灰狼优化算法(grey wolf optimization,GWO)优选参数比传统的粒子群优化算法(particle swarm optimization,PSO)得到的SVM模型预测结果更为准确[12]。
根据上述分析,本研究提出将CEEMDAN、GWO 和SVM 相结合,构建CEEMDAN-GWO-SVM 模型,以北方典型的半干旱区——山西省为研究对象,基于其1956-2020年逐月scPDSI序列,采用CEEMDAN 对序列进行分解,应用GWO-SVM模型实现序列的预测重构。研究结果可为山西省气象干旱预测提供参考。
山西省位于黄土高原地区,介于34°34~40°44'N、110°14~114°33'E 之间,地跨黄河、海河两大水系。山西省属温带大陆性季风气候,四季分明、雨热同季,年平均气温为9.1°C,年平均降水量为486.9 mm。山西省降水量时空分布不均,山多地瘠,水土流失严重,历史上旱灾频发[13]。近年来,山西省极端气象灾害更是多发重发,多项指标突破历史极值[14]。
本研究所采用scPDSI 数据来源于英国环境数据分析中心(http://www.badc.rl.ac.uk/),时间范围为1956 年1月-2020年12月,空间分辨率为0.5°×0.5°。
在数据处理方面,首先对原始序列集进行重采样处理,形成空间分辨率为0.25°×0.25°的数据集;其次,提取山西省范围内空间逐月scPDSI数据;最后,计算出山西省1956年1月-2020年12月逐月平均scPDSI值,并以1956年1月-2007年12月scPDSI数据作为预报训练集,2008年1月-2020年12月数据作为测试集。
2.2.1 CEEMDAN算法 CEEMDAN算法是由TORRES等[11]基于EMD[15]、EEMD[16]、CEEMD[17]提出的一种信号分解算法,该方法通过加入高斯白噪声和迭代分解余量信号,可将原始时间序列分解为多个固有模态函数(intrinsic mode function,IMF),据此较好地解决此前信号分解方法存在的模态混叠和白噪声残留问题。CEEMDAN分解的主要步骤如下[11]。
(1)向原始信号x(t)中添加i(i=1,2,…,m)次服从标准正态分布的高斯白噪声wi(t),得到新的信号xi(t)=x(t)+wi(t)。对xi(t)实施EMD分解,且只保留第一个分解分量,取均值得到原始信号的第一个IMF分量IIMF1:
对应的残余分量r1(t)为:
(2)向残余分量r1(t)中添加I(i=1,2,…,m)次服从标准正态分布的高斯白噪声wi(t)得到新分量ri(t)=r(t)+wi(t)。对(t)进行EMD分解,且仅保留第1个模态分量,则原始信号的第2个IMF分量IIMF2为:
(3)重复分解j(j=1,2,…,n)次直至残差余量无法被分解时,可依次得到IIMF1,IIMF2,…,IIMFn及对应的残余分量。最终,原始信号可表示为:
基于CEEMDAN 方法,本研究发现将山西省逐月平均scPDSI 序列分解为10 个模态分量时,剩余残余分量无法被再次分解,因此取子模态数量为10个。
2.2.2 GWO-SVM模型 SVM模型[18]是一种利用拉格朗日乘子法和对偶性质求解优化目标的机器学习方法,可通过高斯核函数将非线性问题转化为线性问题,被广泛应用于时间序列预测。相较于常见的BP神经网络模型,SVM模型的预测效果通常更好[19]。然而,采用SVM模型进行预测时其参数取值对预测结果影响较大,选取合适参数对模拟效果至关重要。GWO是MIRJALILI等[20]基于自然界4种灰狼(α狼、β狼、δ狼、ω狼)捕食猎物活动提出的一种群智能优化算法,具有结构简单、参数较少、收敛性能好等特点。采用GWO对SVM模型的两个重要参数(惩罚系数C和高斯径向基核函数参数σ)进行优选,可以提高SVM模型的预测精度和速度。
采用GWO选择SVM 最优参数C和σ时,首先,输入样本数据,设置C与σ取值范围,初始化狼群数量和迭代次数,并计算每只灰狼的个体适应度。然后,设置目标函数,进行SVM模型训练,在GWO模型中以C和σ为猎物进行优化,当目标函数值小于灰狼的个体适应度时,将个体适应度更新为当前最优目标函数值。最后,随着迭代次数不断增加,精度逐渐提高,达到终止条件时输出GWO 全局最优值。采用最优参数C与σ建立SVM 模型,并对测试样本进行预测、分析。GWO-SVM模型参数寻优流程如图1。
图1 GWO-SVM模型参数寻优流程图Figure 1 GWO-SVM model parameters optimization flow diagram
2.2.3 基于CEEMDAN-GWO-SVM的scPDSI预测模型 基于CEEMDAN-GWO-SVM组合模型的山西省气象干旱预测流程如图2。本研究在每个IMF模态分量的预测中,使用前一个月的值对下一个月进行预测,将预测所得值补充至原序列末尾构成新序列,运用新序列完成后续递归预测。
图2 CEEMDAN-GWO-SVM模型流程图Figure 2 CEEMDAN-GWO-SVM model flow diagram
2.2.4 RF模型 RF是由BREIMAN[21-22]在2001年提出的一种统计学习理论,RF模型基于自助重采样技术,从总体训练样本集S中有放回等概率地重复抽样生成K个新的训练样本集1,2,…,K,其中每个训练样本集对应一棵决策树。在每棵树的结点,随机选取若干个特征因素进行节点分裂,并按照“节点不纯度最小”原则选择一个特征因素对该节点进行分裂。对于新输入数据,对所有决策树的预测结果取平均值作为最终预测结果。RF模型算法流程如图3。
图3 RF模型算法流程图Figure 3 Algorithm flow diagram of RF model
RF 模型参数包括决策树参数和Bagging 框架参数,其中各重要参数及其含义如表1。
表1 RF模型重要参数说明表Table 1 Table of important parameters for RF model
2.2.5 模型预测效果评价指标 在预测模型当中,均方误差(mean square error,MSE)和平均绝对误差(mean absolute error, MAE)是常用的基础预测评估指标,均方根误差(root mean square error, RMSE)是MSE的扩展,其和决定系数R2也是预测模型中最常用的性能度量指标[23]。因此,本研究采用RMSE、MAE和R2作为模型预测效果的评价指标。其中,R2的取值范围为[0,1],R2越接近1,RMSE和MAE值越小,说明模型的预测效果越好。三种指标的计算公式分别如下[23]。
式中:yi和分别表示实测值和预测值;是yi的平均值;n为样本数量。
本研究采用CEEMDAN 算法进行scPDSI 序列分解时取噪声系数为0.2,噪声添加次数为500,EMD 内部最大包络次数为5 000。scPDSI 序列分解结果如图4。由图4 可知,原始scPDSI 序列的波动幅度较大,而10 个IMF 分量的波动幅度随着分解的进行逐渐减小,说明CEEMDAN 算法有效降低了scPDSI序列的非平稳性,有利于提升序列预测的准确性。
图4 基于CEEMDAN算法的scPDSI序列分解波形图Figure 4 Decomposition waveform of the scPDSI series based on CEEMDAN
GWO-SVM 模型参数率定时,取GWO 狼群数量为30,最大迭代次数为300,各子模态的SVM 模型的惩罚参数C和高斯核函数参数σ取值如表2。
表2 各子模态的SVM模型参数取值Table 2 Values of SVM model parameters for each IMF
RF 模型参数优选时首先对外层的Bagging 框架进行参数择优,然后再对内层的决策树模型进行参数择优。在优化RF 模型某一参数时,需要把其他参数设置为常数。经多次调参,选取出山西省逐月scPDSI 序列的RF模型各参数最优值(表3)。
表3 山西省逐月scPDSI的RF模型最优参数Table 3 Optimal parameters of random forest model for scPDSI series in Shanxi Province
利用训练好的CEEMDAN-GWO-SVM 模型对测试集scPDSI 各IMF 分量进行预测,并将预测结果进行重构,得到该模型最终预测结果。同时采用GWO-SVM 和RF 模型对预测结果进行对比分析。以RMSE、MAE 和R2共3种评价指标对各模型预测结果进行评价(表4)。
表4 各模型评价指标计算结果Table 4 Calculation results of prediction evaluation indicators of each model
由表4 可知,在测试集中,CEEMDAN-GWO-SVM 模型预测结果R2为0.762,RMSE 和MAE 分别为0.890 和0.557。与GWO-SVM 模型和RF 模型相比,CEEMDAN-GWO-SVM 模型预测结果R2分别提高5.6%和20.3%,RMSE 分别下降7.6%和19.5%,MAE 则分别降低19.9%和27.4%。其原因在于,CEEMDAN-GWO-SVM 模型进行scPDSI序列预测时增加了基于CEEMDAN 算法的scPDSI序列分解环节,较好地缓解了模态混叠和噪声的干扰,进而提高了干旱特征因子R2预报水平,降低了预报误差,预测效果优于GWO-SVM模型和RF模型。
为进一步明确CEEMDAN-GWO-SVM 模型对山西省气象干旱预测的适用性,基于文献[24]提出的气象干旱等级划分标准(表5),对scPDSI 测试集的预测值和原始值进行干旱等级划分(图5)。各干旱等级月份数量统计值则见表6。
表5 scPDSI等级划分Table 5 scPDSI ranks
表6 各干旱等级月份数量统计值Table 6 Statistical values of months for each drought grade
图5 测试集预测值与原始值干旱等级划分Figure 5 The drought classification for predicted values and original values in test set
通过分析表6可知,测试集中存在110个月预测气象干旱等级与实际气象干旱等级完全一致,预测准确率为70.5%,未能准确预测的级别中,有67.4%的月份预测等级差距为1 个级别,93.5%的月份预测等级差距为2个级别以内。表明基于CEEMDAN-GWO-SVM 模型的气象干旱等级预测结果和实际情况接近,符合山西省气象干旱趋势。
目前,常用于气象干旱预测的研究方法包括LSTM、ARIMA、SVM 和RF 模型等单一机器学习模型,对干旱指数进行评估和预测的相关研究也取得了一定成果。吴晶等[6]基于RF 模型对流域内空间和时间尺度的干旱进行了预测;方秀琴等[25]侧重于分析不同时间尺度和干旱等级划分标准对RF模型性能的影响;PARK等[26]则研究了16 个干旱因素对气象和农业干旱的相对重要性。已有研究在预测时多选用SPI 作为干旱指数,而关于scPDSI的气象干旱预测研究,特别是基于组合机器学习模型的scPDSI气象干旱预测研究则较为罕见。本研究通过CEEMDAN和GWO对单一机器学习模型SVM进行了优化,相较于GWO-SVM和RF模型,本研究所提出的模型预测精度有较明显的改善。然而,由于采用CEEMDAN 算法分解得到的前几个模态分量仍然包含有噪声,一定程度上干扰了预测效果,因此,降低了预测的精度。未来,本研究将进一步考虑对分解后的各模态分量进行筛选和聚类,从而尽可能降低模态分量噪声干扰对预测结果的影响,提高模型预报精度,为各地区气象灾害预警预报提供技术支撑。
干旱预测是提高防旱抗旱能力的重要非工程措施。本研究提出将组合机器学习模型CEEMDAN-GWOSVM 应用于山西省气象干旱预测,通过与GWO-SVM 和RF 模型对比分析,得到主要结论:(1)基于“先分解,后重构”思想的CEEMDAN-GWO-SVM 模型,将原始序列分解为10 个IMF 分量,对各IMF 分量进行预测,并将预测结果进行重构,与GWO-SVM 相比较,预测结果R2提高了5.6%,RMSE 下降7.6%,MAE 则降低19.9%。和RF模型相比较,相应值分别为20.3%、19.5%和27.4%,说明CEEMDAN-GWO-SVM 模型在预测山西省逐月scPDSI序列上具有一定优势。(2)从干旱等级预测结果可发现,CEEMDAN-GWO-SVM 模型预测结果有70.5%的月份与实际完全一致,而未能准确预测的月份中有93.5%差距为2 个级别以内,说明本研究所提出的CEEMDANGWO-SVM模型适用于山西省气象干旱预测研究,可为该省气象干旱监测提供一定的技术支持。