李纯斌,刘永峰,吴 静,王春瑜,柳小妮
(1.甘肃农业大学 资源与环境学院,甘肃 兰州 730070; 2.甘肃农业大学 草业学院/草业生态系统教育部 重点实验室/甘肃省草业工程实验室/中-美草地畜牧业可持续发展研究中心,甘肃 兰州 730070)
空间化气象要素数据产品,是气象、水文、生态、环境变化等研究领域广泛使用的基础数据之一,也是草地综合顺序分类的基础数据。相关研究表明[1],温度(积温)、湿度、风速等气象要素的空间插值精度已经基本能够满足研究需求,然而,降水作为气象要素的重中之重,其现有的空间插值方法存在着结果误差大,精度低等问题,亟待解决。
降水量空间插值的方法很多,传统方法主要有泰森多边形法、反距离加权法和克里金插值法等[1-2]。刘新安等[3]报道降水的多年平均值采用三维二次趋势面+反距离权重法效果较好。前人也曾运用时间序列法[4]、灰色理论[5]等对降水量进行了研究。近年周锁铨等[6]发展了逐步差值方法(SIA),并与GIS[23]技术和多元逐步回归方法结合,显著提高了年、季降水空间分布的计算精度。
人工神经网络(Artificial Neural Network,ANN)是一种非线性知识处理系统,其应用最多的是BP神经网络[7],即反向传播学习算法,在气象领域的温度[8-9]、降水[10-14]、雾[15]等预报中发挥了重要作用。胡广义等[9]选取湖北省宜昌市92个降水量观测站点的空间位置数据(包括经度,纬度和高程)以及各观测站记录的实际降水量,构建了BP神经网络模型。结合2008年7月20~22日的降水量数据,分别对3组样本数据进行插值得到的平均相对误差为37.71%,远远低于采用距离反比加权法插值估算的平均相对误差52.71%,精确度提高了15%。当隐含层节点数为6时,估算的误差经度最佳,其平均相对误差为30.33%。支持向量机算法(SVM)于20世纪90年代中后期在人工智能领域成功应用,自21世纪后,中国气象局培训中心陈永仪等[14]将SVM方法引入到气象领域。由于SVM方法为非线性回归方法提供了一个新思路,现已在气温[15]、降水[18]、能见度[19]等气象要素预报中应用,并取得了较为满意的效果。基于此,本文以甘肃省及周边5省200个气象站点的降水数据为依据,构建了BP神经网络模型和支持向量机模型,分别完成基于两种模型的甘肃省降水量空间插值,对比分析两种模型的插值精度。
降水数据来源于美国国家气候数据中心(National Climatic Data Center,NCDC)第7版数据集,研究采用甘肃省及周边地区200个气象站点1960~2009 年逐日降水量资料并处理为多年平均降水量。由于研究区内站点分布不均,高海拔地区站点数较少,平原地区较多,为了更好地利用高程信息,通过分区建模来训练不同的网络模型[16]。将200个站点所在区域范围以乌鞘岭和六盘山为分界线,将乌鞘岭以西划分为西区,六盘山以东为东区,乌鞘岭和六盘山之间的区域为中区。以此依据划分后,西区、中区、东区的站点数分别为64,79和57(表1)。分别以西区、中区和东区3个分区中的降水数据建立插值模型。为了验证分区建模的优越性,亦将全区样本作为一组数据,建立相应插值模型。将处理得到的多年平均降水量作为模型的训练数据和测试数据,分别建立BP神经网络模型和支持向量机模型。图1和表1分别为甘肃省及周边地区区域划分及站点位置图以及各区面积、站点数及站点密度。
1.2.1 可行性分析 经度、纬度和高程是影响降水分布的3个重要因子。因此,首先需要对降水与经度、纬度和高程进行相关性分析[13]。简单相关系数都是揭示两个要素之间的相关关系的。但实际上,降水量的变化是受经度、纬度、高程等多种要素综合影响的,因此,还须进行复相关分析[14]。复相关系数是测量一个 变量与其他多个变量之间线性相关程度的指标。我们通过SPSS 19.0建立了降水量与经纬度和高程之间的线性关系:
图1 甘肃省及周边气象站点空间分布Fig.1 Distribution of meteorological stations in Gansu Province and surrounding areas
区域面积/104km2站点数/个站点密度/(个·104km-2)西区25.41642.52中区16.09794.91东区3.875714.73全区45.372004.41
表2 降水量与经度、纬度和高程之间的相关系数
表2为降水量与经度、纬度和高程的相关系数。图2A~C 是建立降水量与经纬度和高程的散点图。相关性分析表明,降水量与纬度的相关性最大,其次是经度。从整个区域来看降水量与高程的相关性较小,相关系数只有-0.032 4。但是整体上降水量与经纬度和高程的复相关系数较大,达到0.867 3。因此,利用经度、纬度和高程建立降水量的插值模型是可行的。
图2 降水量分别与经度、纬度和高程之间的散点图Fig.2 The correlation coefficient and scatter of diagrams of precipitation with longitude,latitude and altitude
1.2.2 样本选取与分类 采用神经网络建模的前提条件是有足够多、典型性好和精度高的样本。同时,为了监控训练过程和评价所建网络的性能和泛化能力,将总的样本采用随机选取的方法进行训练样本和测试样本区分。其中,西区选择40个为训练样本,24个为测试样本;中区选择53个为训练样本,26个为测试样本;东区选择42个为训练样本,15个为测试样本。总训练样本和测试样本分别为135和65。
1.3.1 BP神经网络算法 BP 人工神经网络对复杂系统具有强大的非线性建模和分析能力。网络利用非线性可微分函数进行权值训练多层网络,分为输入层、隐含层、输出层。BP神经网络的结构如图3①所示。同时BP神经网络也存在一些缺陷,首先由于BP网络是采用梯度下降法,网络收敛速度慢;其次网络结构和初始连接权值的选择缺乏依据,具有很大的随机性,很难选取具有全局性的初始点,因而求得全局最优的可能性较小。
1.3.2 支持向量机算法 支持向量机算法与BP神经网络异同在于,SVM算法是以核函数构成模块,隐式地将数据映射到高维空间来增加学习机的计算能力,这样可以不增加可调参数的个数。SVM的主要特性有3点:首先,SVM最终转化为一个二次规划问题,从理论上讲可以得到全局最优解,从而解决了传统神经网络无法避免局部最优的问题;其次,SVM的拓扑结构由支持向量决定,也避免了传统神经网络需要反复试凑才能确定网络结构的问题;最后,SVM利用非线性变换将原始变量映射到高维特征空间,在高维特征空间中构造线性回归函数,这既保证了模型具有良好的泛化能力,又解决了“维数灾难”问题。图3B为SVM结构示意图。
BP神经网络模型中,输入层节点数和输出层节点数是由具体研究的问题决定,不能更改。因此,西区、中区、东区和全区的输入层节点数均为3,分别代表经度、纬度和高程;输出层节点数为1,代表降水量。根据反复试凑,择优选取的原则,最终确定西区、中区、东区和全区隐含层节点数分别为7,9,9,7。设置输入层和隐含层的传递函数为logsig,输出层的传递函数为purelin。训练函数为traingd,学习函数为learngd。误差性能目标为0.01。其中,logsig对数函数,purelin为线性传递函数,traingd是梯度下降BP算法训练函 数,learngd是梯度下降权值/阈值学习函数。择优确定西区、中区和东区3个区域的网络学习速率分别为0.06,0.05,0.08,0.06。最大迭代次数分别为10 000,12 000,14 000,10 000。
图3 神经网络和支持向量机结构图Fig.3 The structure diagram of BP neural network and SVM
SVM模型中,为了便于比较,分别以上述BP神经网络的训练样本为样本对西区、中区、东区和全区进行网络训练。对于SVM,核函数的类型及模型参数对模型的性能影响较大,因此,需要选择较佳的核函数类型以及参数组合。笔者采用默认的RBF核函数,以平均最小误差(MRE)为标准,利用交叉验证方法(寻优范围为[-10,10])寻找使得MRE最小的最佳参数c(惩罚因子)和参数g(RBF 核函数中的方差),然后利用最佳的参数建立模型。当模型的性能相同时,为了减少计算时间,优先选择惩罚因子c 比较小的参数组合。最终选出的较优的插值模型为:西区,c为1.74,g为1.32;中区,c为2.80,g 为-0.80;东区,c为9.60,g为-6.80;全区,c为4.00,g为-0.40。
将两种模型插值得到的测试样本的预测值与真实值相比较(图4)。
图4 实际值与预测值的对比Fig.4 The actual value and the value predicted by contrast注:A.西区;B.中区;C.东区;D.全区
2.2.1 误差分析 用均方根误差(RMSE)、平均相对误差(MRE)和平均绝对误差(MAE)来衡量插值模型的精度(表3)。误差结果表明,西区、中区、东区和全区中,SVM 模型的插值精度明显高于BP神经网络模型。插值精度从高到低分别为东区、中区、全区、西区。4个区域中,SVM 模型的均方根误差(RMSE)均小于BP 神经网络模型。东区误差最小,SVM模型的RMSE为44.974 2,BP神经网络模型的RMSE为53.900 2。SVM模型在中区的RMSE最大,为83.956 6;BP神经网络模型在全区RMSE最大,为97.685 6。在西区、东区和全区中,SVM模型的MRE都低于BP神经网络模型,西区最大,东区最小,BP神经网络模型的MRE分别为32.32%,8.28%,22.56%;SVM模型的MRE分别为23.74%,6.15%,14.66%。可以看出,分区间的插值精度差异较大与站点密度有关,西区站点密度为2.52个/(104km2),东区站点密度14.73个/(104km2),表明站点密度较大的区域插值精度相对较高。而在中区,SVM模型的MRE比BP神经网络模型略高,分别为12.13%和11.85%。这种现象对于MAE同样有所表现,西区、东区和全区中,SVM模型的MAE都低于BP神经网络模型,BP神经网络模型的MAE分别为62.26,39.75,73.44;SVM模型的MAE分别为49.26,33.44,56.63。而在中区,SVM模型的MAE比BP神经网络模型略高,分别为62.17,61.85。这是由中区第6、13、21个测试样本的绝对误差非常大所导致。
由于站点分布不均、站点密度差异较大,尤其是西区站点密度极小,且各区域训练数据和测试数据不同,简单地将西区、中区和东区与全区比较并不能很好地对比分区前后的插值精度。因此,将分区后的西区、中区、东区的RMSE、MRE、MAE再次取平均,整体体现分区建模后的插值精度,再与统一建模的全区插值误差进行比较。结果显示,对于BP神经网络,三区平均的MRE为17.48%,比全区的22.56% 低5.08%,RMSE、MAE也分别降低了23.0623 ,18.82;对于SVM 模型,3区平均的MRE为14.01%,比全区的14.66%低0.66%,RMSE、MAE也分别降低了15.7248,8.34。这表明分区建模插值比全区统一插值精度提高了。同时,SVM 模型的插值误差在分区前后变化较小,这也进一步说明了SVM模型更加稳定。
表3 两种插值方法的误差指标分析
2.2.2 拟合度及模型泛化能力分析 以测试样本的实际值为自变量,模型插值为因变量建立线性回归模型(表4)。结果表明,BP神经网络模型和SVM模型在西区、中区、东区和全区的拟合结果都呈现较好的线性关系,回归参数斜率和截距均通过了置信度P<0.01的显著检验。总体来看,西区、中区、东区和全区的SVM模型相关系数和决定系数均高于BP神经网络模型。表明在降水量插值中,SVM模型的泛化能力比BP神经网络模型较强,更加值得推广。
表4 两种插值方法拟合优度指标分析
2.2.3 降水量空间分布 分区建模插值有较高的精度。因此,采用分区插值模型对全省降水量进行了插值(图5)。可以看出,两种插值模型的结果都能较好地体现出降水量空间分异细节。西区两种模型的插值结果细节体现基本相同。中区和东区中,SVM模型的插值效果明显优于BP神经网络模型,降水量梯度表现的更明显。总的分布趋势是由东南向西北逐渐减小,由高山高原向沙漠平原减小,区域差异性较大。纬度在N 32°31′~N 37°00′的区域降水量由东北向西南逐渐减小,由东南向西北逐渐减小。其中敦煌西部边界地区(与新疆接壤)降水量最少,不足25 mm;敦煌其他地区、瓜州部分地区以及肃北蒙古族自治县北部边界地区(与蒙古接壤)降水量在25~50 mm;肃北中部由于海拔相对较高,形成山地小气候,降水量高于周围地区,在100~150 mm;党河南山、祁连山等地区也因高海拔而形成小气候,降水量在200~300 mm;民勤西北部海拔相对较低,降水量比周围地区小,在150~200 mm;甘南西南部、陇南西南部降水量最多,在700 mm以上,形成高值区。
图5 基于两种模型的甘肃省多年平均降水空间插值结果Fig.5 Spatial patterns of mean yearly precipitation in Gansu Province based on two interpolation models注:Ⅰ.BP神经网络模型;Ⅱ.SVM模型.
目前对于气象要素的插值多局限于传统GIS插值方法,如封志等[5]运用反距离加权法(IDW)和梯度距离反比法(GIDW)对甘肃省及周围85个气象站点的多年平均(1961~2000年)降水量进行了内插,与此次研究具有一定的可比性,其MRE分别为19.43%和17.80%,显著高于研究中全区的SVM模型的MRE(14.66%)。也有学者采用专业气象软件Surfer对大气污染的空间分布进行插值[21]。上述方法插值的优点是操作简便,只需简单的菜单式操作即可完成插值工作。但正由于这些软件本身的便利与较强的封装性,使得研究者对插值过程中内在的数学模型探究不足,插值方法也局限于软件本身自带的方法。胡广义等[16]应用BP神经网络算法分别对3组样本数据进行插值得到的MRE为37.71%,远低于采用距离反比加权法插值的MRE。笔者在MATLAB环境下,编程建立了两种插值模型。篇幅所限未对数据进行传统GIS方法插值的实验,但结果表明,SVM 模型的插值精度要显著高于BP神经网络模型。SVM 模型突出的插值效果无疑给降水量及其他气象要素的插值提供了一种新的思路。
李纯斌[22]在其研究中使用BP神经网络进行了甘肃省多年平均降水插值研究,其分区与本研究完全一致,但由于迭代次数和参数选择不同,其BP神经网络误差均高于本研究。而且,插值中李纯斌首先通过BP 神经网络加密了站点密度,在此基础上使用Kriging 方法进行甘肃省的降水空间化插值,出现了二次误差的问题(表5)。而本研究是直接使用1′×1′经纬度网格数据进行的空间插值,减少了二次插值带来的累积误差问题。
此外,作为模型的输入条件,气象资料空间分布的准确性对模型效果的影响尤其显著,因此探讨适当的气象资料处理方法是很有必要的,如数据对数变换、立方根变换等。还应对是否还有其他因素(如站点与海洋之间的距离,站点所在处的地表覆被、坡度、坡向、风速等)对气象资料的空间分布造成影响,以及如何将这些可能的影响因素引入到降水资料的处理方法中来等问题进行探索。
在分区建模的基础上,采用美国国家气候数据中心(National Climatic Data Center,NCDC)第7版数据集中对甘肃省及周边地区200个气象站点1960~2009 年逐日降水量资料处理而成的多年平均降水量分别建立了BP神经网络和支持向量机的降水插值模型。得到如下结论:
(1)分区建模在一定程度上能提高降水插值的精度。与全区相比,分区后BP神经网络模型和SVM模型插值的MRE分别提高了5.08%和0.66%。从提高的幅度来分析,分区后SVM模型插值精度提高较小,说明该模型的稳定性较好,对插值区域范围内影响降水因子的空间异质性适应能力较强。
(2)气象站点密度对降水插值精度影响较大,站点密度越高的地区插值精度一般也越高。站点密度最高的东区(14.73个/104km2)插值精度明显高于其他区域,其中BP模型和SVM模型的MRE分别为8.28%和6.15%。站点密度最小的西区(2.52个/104km2)插值的MRE也最高,BP模型和SVM模型分别为32.32%和23.74%。
(3)支持向量机(SVM)模型的插值精度明显高于BP神经模型。西区、中区、东区和全区中,SVM模型插值的均方根误差(RMSE)均低于BP模型。西区、东区和全区的SVM模型插值的MRE和MAE均高于BP模型。由于中区第6,13和21个测试样本的绝对误差非常大,因此,中区BP模型MRE和MAE略低于SVM 模型。BP模型MRE和MAE分别为11.85%和61.85;SVM模型的MRE和MAE分别为12.13%和62.17。