APP下载

基于机器学习算法的ET0预测研究

2022-11-30徐解刚柏玥辰李昕彤徐俊增

节水灌溉 2022年11期
关键词:计算成本稳健性标准值

韦 琦,卫 琦,徐解刚,柏玥辰,李昕彤,贺 敏,徐俊增

(1.河海大学农业科学与工程学院,南京 210098;2.河海大学水文水资源与水利工程科学国家重点实验室,南京 210098;3.宜兴市水利局,江苏 宜兴 214200)

0 引 言

参考作物腾发量(ET0)是估算作物需水量的关键参数,准确预测ET0对于灌溉制度制定、水资源合理配置和发展节水型农业具有重要指导意义[1,2]。目前,常用的ET0预测方法主要包括以FAO-56 Penman-Monteith(PM)为代表的综合法、以Hargreaves-Samani (HS) 为代表的温度法和以Kimberley-Penman 为代表的辐射法[3-5]。其中,FAO-56PM 综合法由于具有计算精度高、物理学基础严密等优点[6],已经在世界各地、不同气候条件下进行了验证和应用。然而,由于其对气象数据资料的要求较高,因此在气象资料短缺地区受到了一定的限制。HS 温度法由于对气象资料要求较低(仅需最高和最低温度),且具有温度容易获取、观测精度高等优势,因此在气象数据缺失地区受到了广泛的关注[7]。

随着计算机和人工智能技术的迅速发展,机器学习算法为ET0预测提供了新的理论与方法[8]。目前,已有部分学者针对机器学习算法在ET0预测方面的表现进行了研究。例如,冯禹等[9]以四川盆地遂宁气象站2001~2010年气象资料为基础,以PM 公式计算的ET0为标准,对比分析了广义回归神经网络(GRNN)和小波神经网络(WNN)在预测ET0方面的适用性,结果发现GRNN 与WNN 算法可以在气象资料缺失条件下较好的预测四川盆地ET0,且GRNN 预测精度高于WNN。江显群等[10]针对广州地区,以PM 公式计算结果为标准,研究了回归型支持向量机(SVR)与BP神经网络模型的ET0预测精度,结果表明SVR 与BP 神经网络对ET0均具有较好的预测效果,且SVR预测精度优于BP神经网络。赵文刚等[11]基于PM计算结果探讨了BP 神经网络、极限学习机和小波神经网络算法在广东典型站点ET0预测方面的表现,结果表明,在全气候因子输入条件下,机器学习算法预测ET0的精度表现为BP 神经网络>极限学习机>小波神经网络。然而,上述文献主要基于单一地区且以PM 计算结果为标准开展了相关研究,考虑到不同气候区温度和降雨的时空分布极不均匀、以及不同ET0计算方法所需参数的差异,因此,针对不同气候区,探究分别以PM 和HS 公式计算的ET0结果为标准值时不同机器学习算法的预测精度及适用性显得尤为重要,但相关方面的研究还鲜有报道。

为此,本研究拟以中国干旱区和湿润区各10 个典型气象站点逐日气象资料(1960~2019年)为依据,分别以PM 和HS公式计算的ET0为标准,对比分析多元逐步回归(SL)、支持向量机(SVM)和高斯过程回归(GPR)3 种常用机器学习算法的预测精度及其适用性,旨在了解机器学习算法在不同气候区、以及以不同ET0公式计算结果为标准情况下的表现,研究结果对于ET0预测方法的选择以及不同气候区ET0的准确评估具有重要指导意义。

1 材料与方法

1.1 数据来源

本研究所使用的气象资料由国家气象信息中心(http://www.nmic.cn/)提供。基于站点空间分布均匀、气象资料连续且具有较强代表性为原则,收集了中国干旱区和湿润区两种不同气候特征区域各10 个常规气象站点近60年(1960-2019)的逐日气象数据,主要指标包括最低气温(Tmin,℃)、最高气温(Tmax,℃)、平均气温(Tmean,℃)、相对湿度(RH,%)、平均本站气压(P,kPa)、日照时数(N,h)、风速(U2,m/s)共7项指标。各气象站点基本信息如表1所示。

表1 各气象站点的基本信息Tab.1 Basic information of each meteorological station

1.2 参考作物腾发量(ET0)计算方法

1.2.1 FAO-56 Penman-Monteith模型

由于FAO-56 PM 公式计算精度较高,能够较为准确反映参考作物腾发量的真实情况,因此近年来被广泛应用,其具体计算公式如下:

式中:Rn为到达地表的净辐射,MJ/(m2·d);Tmean为日平均气温,℃;G为土壤热通量,MJ/(m2·d);γ为干湿计常数,kPa/℃;es和ea分别为饱和水汽压与实际水汽压,kPa;Δ为饱和水汽压与温度曲线的斜率;U2为距离地面2 m处的日平均风速,m/s。

1.2.2 Hargreaves-Samani模型

HS公式是一种基于温度估算ET0的方法[12],由于需要的气象数据较少,常用于气象设备缺乏地区的ET0预测,其表达式为:

式中:Ra为大气辐射,MJ/(m2·d);C、E、T为Hargreaves 公式的3个参数,建议值分别为0.002 3、0.5和17.8。

1.3 机器学习算法

1.3.1 支持向量机(SVM)

支持向量机(Support Vector Machines,SVM)是一种基于统计学习理论的机器学习方法,它不仅可以解决分类问题,也可以解决非线性回归问题,为解决非线性回归问题,模型通常用转换函数φ将变量x映射到高维特征空间,再对其进行计算,并引入核函数可以将原来线性算法非线性化[13]。

1.3.2 高斯过程回归(GPR)

高斯过程回归(GPR)数学模型是依赖于非参数核的概率模型,它在机器学习编程领域具有重要意义。GPR 模型是将统计学习理论和贝叶斯理论相结合的一种机器学习方法,对于处理小样本、高维度和非线性复杂关系的回归和分类问题都有较好的效果[14]。

1.3.3 多元逐步回归(SL)

多元逐步回归分析是指有两个或两个以上的自变量或者至少有一个线性解释变量的回归分析。它是回归分析中一种筛选变量的过程,可以使用逐步回归从一组候选变量中构建回归模型,让系统自动识别出有影响的变量[15]。

1.3.4 评价方法

为了评价模型的ET0预测精度,本研究采用平均绝对误差(MAE)、均方根误差(RMSE)和决定系数(R2)3 个指标对模型模拟结果进行评价[11]。通常情况下,MAE和RMSE越小,表明模型偏差越小,精度越高;R2越接近1,表明模型的拟合程度越高。各指标具体计算公式如下:

式中:为ET0,PM或ET0,HS值,mm/d;yi分别为ET0,GPR、ET0,SVM、ET0,SL值,mm/d;为ET0,PM或ET0,HS的平均值,mm/d;分别为ET0,GPR、ET0,SVM、ET0,SL的平均值,mm/d。

1.4 统计与分析

采用Microsoft Excel 2011 对各站点气象数据进行整理,采用Matlab 2019b 进行机器学习算法对ET0的训练与预测,并采用Origin 2021对3种机器学习算法预测精度进行图表绘制。此外,为了比较3 种机器算法在预测ET0方面的精度,首先通过PM 和HS 公式计算出各站点逐日参考作物腾发量ET0,PM和ET0,HS,再分别以前50年(1960-2009年) 逐日气象资料(Tmin、Tmax、Tmean、RH、P、N和U2)和ET0值(ET0,PM和ET0,HS)为机器学习算法的输入变量和输出训练集,并通过输入后10年(2010-2019年)逐日气象因子模拟该时间序列上的ET0值。

2 结果与分析

2.1 3种机器学习算法预测精度比较

由图1可以看出,当以HS 公式计算的ET0为标准值时,GPR 模拟结果的R2、MAE和RMSE分别维持在0.950~0.984、0.429~0.809 和0.574~1.228 mm/d 范围内;SVM 模拟结果的R2、MAE和RMSE分别维持在0.945~0.981、0.472~0.904 和0.606~1.239 mm/d范围内;SL模拟结果的R2、MAE和RMSE分别维持在0.935~0.975、0.622~0.985 和0.756~1.386 mm/d 范围内。而当以PM 公式计算的ET0值为参考时,3 种机器学习算法的R2均较以HS 公式计算结果为参考的模拟精度有所提升,而RMSE和MAE则正好相反。其具体表现为:GPR模拟结果的R2均值提高了0.017,MAE均值降低了0.445 mm/d,RMSE均值降低了0.619 mm/d,SVM 模拟结果的R2均值提高了0.019,MAE均值降低了0.483 mm/d,RMSE均值降低了0.648 mm/d,SL 模拟结果的R2均值提高了0.021,MAE均值降低了0.544 mm/d,RMSE均值降低了0.704 mm/d。整体上,当分别以HS和PM公式计算结果为标准时,3种机器学习算法在预测ET0效果方面均表现为:GPR>SVM>SL。

图1 3种机器学习算法在不同参考公式下的评价指标对比Fig.1 Comparison of evaluation indexes of three machine learning algorithms under different reference formulas

进一步分析同一机器学习算法下分别以不同ET0公式计算结果为标准值的预测精度(图2),可以发现,当采用SL 算法时,其以HS 公式计算值为标准值的计算结果的R2的变化范围为0.935~0.975,MAE的变化范围为0.622~0.985 mm/d,RMSE的变化范围为0.756~1.386 mm/d;而当以PM 公式计算值为标准值时,其计算结果的R2的变化范围为0.965~0.987,MAE的变化范围为0.150~0.243 mm/d,RMSE的变化范围为0.192~0.331 mm/d。当采用SVM 算法时,其以HS 公式计算值为标准值的计算结果的R2较SL 算法提高了0.007 9,MAE降低了0.092 mm/d,RMSE降低了0.091 mm/d,其以PM 公式计算值为标准值的计算结果的R2较SL 算法提高了0.005 7,MAE降低了0.032 mm/d,RMSE降低了0.036 mm/d。而对于GPR算法来说,其以HS 公式计算值为标准值的计算结果的R2的变化范围为0.950~0.984,MAE的变化范围为0.429~0.809 mm/d,RMSE的变化范围为0.574~1.228 mm/d;而当以PM 公式计算值为标准值时,其计算结果的R2较以HS 公式计算值为标准值时提高了0.017,MAE降低了0.445 mm/d,RMSE降低了0.619 mm/d。整体上可以得出:当采用同一种机器学习算法进行模拟时,以PM 公式计算值作为标准值进行机器学习的模拟精度要显著高于以HS公式计算值作为标准值进行机器学习的模拟精度。

图2 不同参考公式在同一机器学习算法下评价指标对比Fig.2 Comparison of evaluation indexes of different reference formulas under the same machine learning algorithm

此外,通过对比不同气候区情况下3种机器学习算法的预测精度(图3),可以看出,无论是以PM 公式还是以HS 公式计算的ET0数值为标准,3 种不同机器学习算法在干旱区模拟ET0结果的R2均较湿润区有所增大,其增幅主要维持在0.005~0.016 范围内。且在干旱区,以PM 公式计算结果为标准值时,GPR算法的模拟效果最好,其R2均值高达0.988。

图3 不同气候区3种机器学习算法预测精度对比Fig.3 Comparison of prediction accuracy of three machine learning algorithms under different climatic regions

2.2 3种机器学习算法的稳健性比较

3 种机器学习算法在训练和测试阶段的R2、RMSE和MAE如图4所示。可以发现,不同机器学习算法在训练阶段的计算精度均优于预测阶段的计算精度。其中当以PM 公式计算的ET0为标准值时,SL 算法的稳健性最高,其R2、RMSE和MAE在训练和预测阶段变化幅度分别为0.16%、6.4%和6.2%;GPR算法的稳健性最低,其R2、RMSE和MAE的变化幅度分别为0.27%、13.6%和12.8%。而当以HS 公式计算的ET0值为标准值时,SVM 算法的稳健性最高,其R2、RMSE和MAE变化幅度分别为0.11%、8.4%和8.4%;GPR 算法的稳健性最低,其R2、RMSE和MAE变化幅度为0.56%、9.1%和8.9%。整体上,SL 和SVM 算法在分别以PM 和HS 公式计算的ET0值为标准值时其稳健性最高,而GPR 算法在所有情况下的稳健性均最低。

图4 机器学习算法训练和预测阶段各评价指标情况Fig.4 Evaluation indexes of machine learning algorithm in training and prediction stages

2.3 3种机器学习算法的计算成本比较

机器学习的计算成本反应了模型训练过程中消耗时间的长短,对评价机器学习模型的优劣具有重要参考意义[16]。通过分析3 种机器学习算法的计算成本(表2),可以看出,与SL算法相比,SVM 和GPR 算法的平均消耗时间显著增加。具体来说,当以PM 公式计算的ET0为标准值时,SVM 算法在干旱区、湿润区以及全区域的计算成本分别是SL 算法的12.1、14.7 和13.3 倍,GPR 算法的计算成本是SL 算法的13.2、18.4和15.6 倍;当以HS 公式计算的ET0为标准值时,SVM 和GPR算法的总计算成本是SL 算法的7.9~11.4 倍。结合表2情况来看,总体上,SVM 和GPR 算法计算时间成本显著高于SL 算法,但计算精度也有明显的提升。

表2 3种机器学习算法的计算成本sTab.2 Calculation cost of three machine learning algorithms

3 讨论

3.1 3种机器学习算法适用性对比

不同机器学习算法对ET0预测结果有着显著的影响[17]。刘小强等[17]基于江西省2001-2015年15 个站点的气象数据,研究了3 种机器学习算法(GPR、XGBoost 和CatBoost)在预测ET0方面的表现,结果表明GPR 算法的预测精度最高且稳定性最好。褚江东等[18]基于石羊河流域5 个站点2013-2017年的气象数据,对比分析了人工神经网络(ANN)和支持向量机(SVM)对ET0的预测精度,结果发现SVM 算法预测的ET0与PM 公式计算结果之间的相关系数R2高达0.957 以上,模拟效果较好。本研究中,3 种机器学习算法预测的ET0数值与PM、HS 公式计算结果之间的相关系数R2分别高达0.965 和0.935 以上,且其ET0模拟精度整体表现为GPR>SVM>SL(图1),与上述研究结果较为相似。进一步分析发现,由于SL 算法主要通过将显著相关的变量选入回归方程,而将影响不大的部分气象因子进行了剔除,以得到最优方程[19],因此导致其预测效果相对较差;而与SL 算法相比,高斯过程回归(GPR)与支持向量机(SVM)算法主要通过对原始数据集的数据特征进行学习,并通过反复交叉验证与迭代的方法,对数据集进行“学习-验证-预测”的方式得到最佳学习效果,因此,其预测精度相对较高,这可能是导致3 种算法预测精度差异的主要原因。

3.2 不同ET0参考公式下机器学习算法预测精度比较

与PM 公式相比,HS 公式仅需考虑温度和太阳辐射的影响,因此,在不做任何修正的情况下,使用HS 公式容易出现估计值偏大的情况[20]。以往文献大多以PM 公式计算结果作为参考值来探求其他ET0计算公式(如Hargreaves-Samani、Irmak-Allen 公式等)的计算精度[12,21-23],也有部分文献以PM公式计算结果为参考值,将其他ET0公式的计算结果与机器学习算法模拟结果进行对比[2,24,25],分析其预测精度及其适用性。本研究中,分别以PM 和HS 公式计算出的ET0计算结果为参考,评价了3 种不同机器学习算法的适用性,研究结果表明,在采用同一种机器学习算法进行模拟时,以PM 公式计算值作为标准值进行机器学习的模拟精度要显著高于以HS 公式计算值作为标准值进行机器学习的模拟精度(图2)。产生上述现象的原因可能是机器学习算法在“训练--预测”过程中受参考公式计算的ET0准确性影响较大,PM 公式作为目前最为推荐计算ET0的参考公式,公式本身复杂性较高,物理学基础严谨,相较于其他参考公式来说更贴近真实情况,因此相较于HS 公式而言,以PM 公式为参考公式情况下,机器学习算法预测精度更高。此外,由于HS 公式在不同地区不同时间尺度上表现效果的不同,部分学者也对HS 公式的经验系数进行了修正[26,27],因此未来研究中,还需结合不同经验系数下的HS公式开展相关研究。

3.3 3种机器学习算法的稳健性和计算成本

稳健性是评估机器学习算法在ET0预测方面的一个关键因素[28]。本研究中,3 种机器学习算法在预测阶段的精度较训练阶段有所降低,即R2降低,RMSE和MAE增加(图4),这与Fan 等人的研究结果较为一致[28-30]。这一现象也表明了机器学习算法在使用新的气象数据时,其预测精度会显著降低。此外,对比3种机器学习算法,GPR算法的表现最不稳定,其在训练和预测过程中精度变化最大,R2分别降低了0.003(PMGPR)和0.006(HS-GPR),这可能与训练过程中的核函数、交叉验证倍数和相关重要参数的选择有关[31]。此外,机器学习的计算成本反应了模型训练过程中消耗时间的长短,对评价机器学习模型的优劣有着重要的参考意义[16]。本研究结果表明,SVM 和GPR 算法的平均计算时间远远高于SL 算法(表2)。具体来说当以PM 公式计算的ET0为标准值时,SVM 和GPR 算法的计算成本是SL 算法的13 和15.6 倍。而当以HS 公式计算的ET0为标准值时,SVM 和GPR 算法的计算成本是SL算法的11.4 和8.7 倍,较PM 公式为基准情况时有所降低。产生这一现象的原因主要是由于多数机器学习算法的计算时间成本会随着所采用算法参数的复杂程度和数量的增多而增加[29]。且对于SL 算法来说,由于其模型形式简单、采用的参数较少,因此不需要花费太长的时间进行迭代运算;而对于SVM 和GPR 算法来说,由于核函数、交叉验证倍数与相关重要参数的选择有所不同,因此也导致了计算时间成本的增加。

3.4 气象因子变化对机器学习算法模拟精度的影响

气象因子作为影响参考作物腾发量的重要因素,其趋势变化也显著影响着ET0的估算结果。张亚东等[32]研究了杭嘉湖地区6个气象站点的气象因子和参考作物腾发量变化,结果表明ET0随着时间的推移表现出了显著上升趋势,且气温和相对湿度与ET0具有显著的相关性,其相关系数的绝对值均高达0.5以上。马亚丽等[33]基于石羊河流域8个气象站点1984-2019年的逐日气象资料为依据,研究了ET0时空变化特征及其与气象因素的响应关系,结果发现温度对ET0增大的贡献率为13.61%,升高的温度可能是导致石羊河流域ET0增大的主要原因。然而,针对气象因子变化对机器学习算法模拟精度影响的研究还鲜有报道,因此本研究尝试从气候变化影响机器学习模拟ET0精度的角度出发,对机器学习模拟精度与气象因子的变化趋势进行了定量分析(图5)。

图5 机器学习模拟精度与各因子变化趋势相关性分析Fig.5 Correlation analysis between machine learning simulation accuracy and variation trend of various factors

结果表明,各气象因子的变化速率与机器学习算法预测ET0的精度之间具有较强的相关性,其中当以HS 公式计算的ET0值为标准时,平均大气压(P)和日照时数(N)与3 种机器学习算法模拟精度的相关性较高,其具体表现为:P与HSSL、HS-SVM 和HS-GPR 的斯皮尔曼相关系数(ρ)范围为0.46~0.57;N与HS-SL、HS-SVM 和HS-GPR 的斯皮尔曼相关系数(ρ)范围为0.54~0.66。当以PM公式计算的ET0值为标准时,N与3 种机器学习算法预测精度的相关性最高,即N与PM-SL、PM-SVM 和PM-GPR 的相关系数分别为0.40、0.49 和0.51。上述结果表明,在以HS 公式计算的ET0为标准值情况下,P与N的变化可能是影响3 种机器学习算法预测精度的主要因子,且N的变化对其预测精度的影响更为明显。而在以PM 公式计算的ET0为标准值情况下,N的变化在影响3种机器学习算法预测精度方面占据主导地位。

4 结 论

本研究以中国干旱区和湿润区20 个气象站点1960-2019年的日气象数据为依据,以PM 和HS公式计算的ET0结果为参考值,评价了3 种机器学习算法在预测ET0方面的表现,得出如下结论:

(1)对于不同机器学习算法来说,其预测精度不受气候分区(干旱区、湿润区)和ET0参考值计算方法(PM 和HS 公式)的影响。总体上,3 种机器学习算法的ET0预测精度大小关系表现为:GPR>SVM>SL。

(2)对于同一机器学习算法来说,其预测精度与ET0参考值计算方法密切相关,且以PM 公式为参考值的模拟结果优于以HS公式为参考值的模拟结果。

(3)对于不同气候分区来说,其预测精度不受参考值计算方法的影响,即3种机器学习算法在干旱区的预测精度均高于湿润区,且预测精度与日照时数(N)、平均大气压(P)的变化等成显著正相关关系。

(4)对于3种机器学习算法的稳健性和计算成本来说,SL和SVM算法在分别以PM和HS公式计算的ET0为标准值时稳健性最高,而GPR 算法在所有情况下稳健性均最低;SVM 与GPR 模型相较于SL 模型的计算成本较高,但计算精度也有明显的提高。

猜你喜欢

计算成本稳健性标准值
王瑛的诗(三首)
15个健康“硬指标”
春与人间相遇
政府综合财务报告分析指标体系问题研究
会计稳健性的定义和计量
会计稳健性的文献综述
货币政策、会计稳健性与银行信贷关系探析
Effect of Ammonia on the Performance of Catalysts for Selective Hydrogenation of 1-Methylnaphthalene
图解各个行业的成本真相
基于《企业绩效评价标准值》的医药全行业绩效评价及预测