2. 中国气象局培训中心, 北京 100081
2. Training Center of China Meteorological Administration, Beijing 100081
随着数值预报技术的不断发展,数值预报模式输出的信息越来越纷繁多样,数据量也越来越大。如何在这些海量的信息中找到我们所关注的信息,是应用数值预报产品的预报、研究人员必须面对的实际问题。目前基于统计理论的相关分析和回归方法在数值预报产品的释用中仍发挥着重要作用[1],由于大多数统计预报方法是建立在线性相关基础上的 (如近年来使用较多的多元逐步回归方法、卡尔曼滤波方法等[2, 3]),因此在处理比较复杂的非线性问题时,具有较大的局限性,显然把它们用于具有非线性特征的气象要素或天气现象 (比如降水) 的预报有其明显的不足之处。近年来,具有处理非线性问题能力的人工神经元模型方法在气象上获得了不少应用[4~6]。然而通过基于系数梯度的陡降方法来构造对预期函数的逼近解的神经网络模型,通过有限给定数目的观测所得的解往往是局部最优[7]。因而,人们仍在致力于探索和寻求一些新的预报方法。
本文的上篇对SVM的基本思想及实现非线性分类和回归的方法作了较为通俗直观的介绍。SVM方法在手写体识别、图像处理、信号处理和基因图谱识别等应用研究方面取得了显著成果,但在非线性特性十分显著的气象预报预测领域的应用至今未见报导。以数值预报产品为基础的现代天气预报业务流程要求我们充分的释用具有海量信息的数值预报输出产品,SVM则具有处理海量信息、“巧妙”提取所关注对象的“特征”的能力,不失为处理非线性分类和回归等问题的一种有效的新方法。
本篇介绍了应用SVM分类和回归方法释用数值预报产品的两个试验实例。其一是用SVM分类方法做四川盆地片区面雨量预报,其二是用SVM回归方法做四川盆地内单站日平均气温预报。试验效果分析显示了这一方法在释用数值预报产品上的良好应用前景。
1 利用样本资料构造SVM预报模型 1.1 构建预报因子随着大气环流的不断变化,大气的空间状态在不断改变,我们所关注的预报对象也在随之发生变化,因此,要较好的对预报对象进行估计,就需要比较充分地描绘大气的空间状态及其随时间的变化特征。由于SVM的最终决策函数只由支持向量确定,复杂程度取决于支持向量的数目,而不是样本空间的维数 (因子数),故我们可以选取较多的因子以充分表述大气的时空变化。然而尽管SVM方法是基于小样本理论建立的,但样本太少不可能反映出气象要素的气候变化规律,因此,在选取预报因子来描述大气状态的时空变化时,还要考虑有足够的样本资料,因而我们选用有较多样本资料的ECMWF输出产品,利用其500 hPa高度、850 hPa温度、地面气压的00 :00 UTC资料来构造预报因子。针对影响四川盆地天气变化的关键区域,我们在不同的层次选取不同的区域来构造因子 (图 1a.b.c)。因子的主要构成方式为:所选区域的值、24 h变化量、相关区域之间的差值等,共构成预报因子77个,尽量以数字化形式来描述系统及要素的演变,避免人为判断因素的参与 (由于资料的限制,这些因子中缺乏与降雨密切相关的物理量场)。
![]() |
|
图 1. (a)500 hPa预报因子选取图示, (b) 地面气压预报因子选取图示, (c)850 hPa温度预报因子选取图示 |
资料选取1990~2000年4~9月共11年的ECMWF 00 :00 U TC历史资料及对应的温度、雨量资料。
1.2 构建预报对象 1.2.1 SVM分类预报试验对象———四川盆地片区面雨量相对而言,面雨量较单站雨量具有更好的确定性,故采用面雨量做为预报对象。面雨量的大小也是我们在夏季致洪暴雨预报中比较重视的问题。此处面雨量指的是所选区域内站点雨量的平均值。如图 2所示,考虑四川盆地降雨的气候特点,将四川省内盆地部分划分为三个片区:盆地西北部 (1)、盆地东北部 (2)、盆地西南部 (3),分别作为预报对象进行试验。在这里,我们关注的是大于15 mm降水的面雨量,因此把面雨量大于或等于15 mm的归为+1类,小于15 mm的归为-1类。
![]() |
|
图 2. 四川盆地面雨量区域划分图示 |
1.2.2 SVM回归预报试验对象———四川盆地内单站日平均气温
由于气团的相对稳定和均匀,单站气温对邻近区域具有较好的代表性,我们在四川盆地内选取了6个站点:成都 (56294)、绵阳 (56196)、宜宾 (56492)、达川 (57328)、南充 (57411)、内江 (57504),分别作为预报对象进行试验。
1.3 建模方式确定核函数我们以径向基函数 (满足Mercer定理条件,又称高斯核) 做为本SVM方法中的核函数建立推理试验模型。径向基函数形为:
![]() |
在分类预报中,基于高斯核通过训练学习后求得的决策函数形为:
![]() |
(1) |
在回归预报中的最终回归函数形为:
![]() |
(2) |
其中xi为支持向量的样本因子向量;x为待预报因子向量;αi,αi*,b为建立SVM模型待确定的系数,r为核参数,求和运算只对支持向量进行。
归一化处理归一化处理有利于避免各个因子之间的量级差异,对全部样本的每一因子分别做归一化处理,使每一因子的数据落入区间[0, 1]。
1.4 建立训练集、试报集尽管选定径向基函数作为建立SVM模型的核函数,但伴随其参数值选取的不同,函数形态会发生相应的变化,进而引起SVM模型的变化。以分类为例,如表 1所示,随着参数r、b的改变,叠代次数变化明显:少的几千次,多的达10万次以上;错分样本差异大:少则一个,多则上百;运行时间长短不一:十几秒到近100秒不等;支持向量、VC维、核计算次数的变化也十分显著。因此,选取不同的参数值建立的SVM模型,其结果有较大的差异,对应的预测结果 (如Ts评分) 也大不一样。
![]() |
表 1 利用径向基函数核进行分类预报试验时参数r、b值的变化对SVM模型的影响 |
如何来优化参数使我们建立的SVM模型最好?这一问题在理论上目前尚未彻底解决。在应用中是通过逐渐改变参数的取值,利用训练样本建立不同的SVM预报模型,再用所建立的SVM预报模型对测试样本进行试报,根据预报结果进行评定,择其优者。因此就要构造用于训练建立SVM模型的训练样本集和用于测试SVM模型预报能力的试报样本集,然后依据SVM模型对试报集预报的评分最大所对应的预报模型确定为最后用于预报的SVM模型。分类预报采用的是Ts评分准则,回归预报采用的是相关系数 (或绝对误差) 评分准则。通过我们的试验表明,建立最终用于预报的SVM模型,一般要花费几个小时,一旦确定了SVM预报模型,用于推理预报则只需要几秒钟的时间。
把11年的样本资料进行整理,并将其分为了三部分:训练集、试报集、检验集。建立检验集是为了将最终确立的SVM预报模型对其做预报,以检验SVM模型的预报效果 (推广能力),检验集的数据不参与训练学习及参数筛选等建模过程。
1.5 软件工具试验建立SVM模型所应用的核心软件为T.Joachims开发的SVMlight[8],该软件为非商业应用的免费软件。为适应气象业务应用的需要,我们又在SVMlight的基础上扩展、开发了一个参数优化、仿真及数据分析的辅助软件,可以按设定的区间和步长自动运行训练,并把有用的运行结果单独生成数据文件,方便进一步对结果进行分析。
1.6 建模参数的确定采用逐步筛选的方法确定参数:首先设置较大的参数取值范围,对参数进行大间隔步长的循环取值,通过训练和测试,依据评分准则确定在这种状况下建立的最优SVM预报模型所对应的参数值,再以此参数值为中心,设置较小的参数范围,以小间隔步长重复上述步骤,直至最终确定出用于建立SVM预报模型的参数值,进而确定预报模型。式 (1),(2) 中的参数r由逐步筛选方法确定,αi,αi*和b为建模过程中依据约束条件自动生成,不需人为选取。
2 SVM模型的试验效果分析 2.1 分类试验效果分析在分类试验中,建立样本集的方式为:在1990~1998年4~9月的样本中随机剪取了近100个样本做为检验集,把其中剩余的近1400个样本做为训练集,而将1999~2000年4~9月接近350个样本做为测试集。
表 2为通过参数逐步筛选训练、而在试报集中获得最佳Ts评分的SVM预报模型对训练集、试报集、检验集进行预报的评分结果。
![]() |
表 2 用SVM方法对四川盆地面雨量 (大于15 mm) 建立推理模型的试验结果 |
从表 2中可以看出:
盆地西北部 训练集样本为1456,试报集样本为336,检验集样本为92。通过训练集和试报集的参数逼近,最终获得推理模型的支持向量为231个,占总样本的16 %,其中支持面雨量15 mm以上的支持向量96个,占有雨分类样本 (99) 的97 %。
盆地西南部 训练集样本为1439,试报集样本为336,检验集样本为109。通过训练集和试报集的参数逼近,最终获得推理模型的支持向量为352个,占总样本的24 %,其中支持面雨量15 mm以上的支持向量105个,占有雨分类样本 (113) 的93 %。
盆地东北部 训练集样本为1452,试报集样本为336,检验集样本为96。通过训练集和试报集的参数逼近,最终获得推理模型的支持向量为345个,占总样本的24 %,其中支持面雨量15 mm以上的支持向量114个,占有雨分类样本 (131) 的87 %。
以上分析说明:用SVM方法对三个片区的面雨量建立的推理模型,其支持向量仅占样本数的20 %左右,即对样本进行了高度的浓缩,通过训练去除了冗余的样本集,而支持向量中又较好的包含了所关注的面雨量事件。对盆地东北部和西南部训练集的回报Ts评分高达0.8以上,对试报集预报的Ts评分为0.2左右,而对检验集预报的Ts评分达到了0.27以上,高于试报集的Ts评分,且均高于有雨样本出现的频率,具有正预报技巧,说明对应的模型具有较好的预报推理能力。而对盆地西北部训练集的回报表明,尽管漏报少,但空报较多,导致Ts评分较低,间接说明选取的预报因子对关注的预报对象难于区分,应对预报因子进行挑选或另外构造预报因子,尽管如此,其Ts评分仍高于有雨样本出现的频率,具有正的预报技巧。
如果以预报出现的当天或前后一天有实况出现计为正确的话,尽管漏报无什么变化,但空报减少了,Ts评分明显提高 (表 2中带m部分),说明推理模型对预报对象的演变有较好的把握能力。
2.2 回归试验效果分析在回归试验中建立样本集的方式为:依据计算机程序,设置临界值,通过随机数发生器进行样本的随机采集,把1990~2000年4~9月间的资料1900个样本分为三部分:训练集 (约1250个样本)、试报集 (约350个样本)、检验集 (约300个样本)。
表 3为通过参数逐步逼近训练、在试报集中获得最佳相关系数的预报模型进行预报的结果评价。包括三部分:对训练集的回报检验、对试报集的预报检验、对检验集的预报检验。尽管我们采用的是相同的预报因子群来对应不同站点的逐日平均气温进行SVM预报模型的建立,但建立的各个站点的预报模型的支持向量却有差别,建立预报模型的参数也有明显的差异。宜宾站支持向量仅为285个,大大少于建模样本数,其余站点的支持向量位于950到1200之间,也就是说为了达到一定的预报准确度,支持向量回归方法是通过比较多的支持向量来尽可能描绘预报对象的演变过程的。从表 3中可以看出,在每一个站点中,对训练集的回报效果最好,相关系数保持在0.95以上,绝对误差在0.9 ℃以内。对试报集和检验集的预报评价表明了SVM回归预报模型的稳定性,对所有站点的检验集的预报检验显示,相关系数均在0.92以上,绝对误差保持在1 ℃以内,均方根误差也小于1.3 ℃。
![]() |
表 3 用SVM回归方法对四川盆地内单站逐日平均气温建立预报模型的试验结果 |
3 预报因子与预报对象的相关性对建立预报模型的影响及检验结果比较
为了比较预报对象与因子之间的线性相关和非线性相关对建立的SVM预报模型的预报结果的影响,计算了预报因子和预报对象之间的相关系数,依据相关系数的大小将因子分为两组进行SVM建模试验。
3.1 回归SVM建模比较试验我们将因子分为两部分:一组因子是预报对象 (单站气温) 与预报因子之间的相关系数≥0.35的因子群,另一组是预报对象与预报因子之间的相关系数<0.35的因子群,分别构建训练集、试报集、检验集。
表 4为采用相同的预报对象样本序列,对应针对不同的因子群样本,利用SVM回归方法依据训练集和试报集建立的SVM回归预报模型,用于检验集对预报模型进行检验评价的结果。从表中可以看出,尽管因子有差异,支持向量有所不同,但对检验集的预报结果检验所得的相关系数、均方根误差、绝对误差皆无明显的差异,相关系数之间的差值在0.03以内,绝对误差的差值在0.1以内,预报能力十分相近。
![]() |
表 4 因子与预报对象之间相关与否对应的SVM回归模型对预报结果的影响评价 (单站气温) |
我们还对单站气温进行了SVM回归与逐步回归的对比试验。结果表明,在给定的信度水平下,逐步回归方法对相关系数≥0.35的因子群构建的训练集能够建立回归预报方程,而对相关系数<0.35的因子群,由于预报因子通不过信度检验,不能建立起因子与预报对象之间的预报方程,因为逐步回归方程建立的基础是预报因子与预报对象之间必须是显著的线性相关。
3.2 分类SVM建模比较试验同回归试验一样,依据预报因子和预报对象 (面雨量值) 之间的相关系数大小将因子分为两组进行SVM分类建模试验。训练集、试报集、检验集的样本同2.1。
从表 5看出,不同的因子群通过训练建立的SVM模型的支持向量、确定模型的参数都发生了改变,但并不是相关系数较差的因子群对预报对象就没有预报能力 (表 6),盆地西北部表现为综合因子群较分类因子群的预报能力强,而盆地西南部、东北部尽管对训练集的回报Ts评分差异较大,但对检验集的Ts评分差别并不明显,只是相关系数≥0.05的因子群通过训练建立的SVM模型的预报能力略好于其它两类因子群。
![]() |
表 5 四川盆地各区域面雨量大于15 mm的SVM分类预报模型 (在不同因子状况下) 的参数变化 |
![]() |
表 6 四川盆地各区域面雨量大于15 mm的SVM分类预报模型 (在不同因子状况下) 的预报检验结果 |
以上的分析不但表明我们所面对的预报问题的非线性本质,同时也表明,SVM预报模型的建立同因子与预报对象之间是否线性相关无明显依赖关系,SVM能通过高度非线性的特征映射来寻求支持向量,进而表征预报对象的演变趋势。这一特征是由SVM本身具有处理高度非线性的能力所决定的。因此,在建立SVM模型的过程中,对因子的选择更应注重因子与预报对象之间的物理意义或天气学意义分析,以及在实际预报中积累的经验因子的引用。
4 训练样本变化对SVM回归结果的影响比较为了对比样本变化对SVM回归的影响,我们采用两种方式从训练集中挑选样本,而试报集和检验集保持不变。一种方法是通过随机抽样构造样本数逐渐增多的训练集建立SVM回归预报模型,这样可以保证试报样本和检验样本与训练样本具有相同的气候背景,另一种方法是对训练样本按时间顺序进行截断的方式构造样本数逐渐变化的训练集,这样试报样本和检验样本与训练样本就具有一定的气候背景差异。图 3为成都、宜宾两站训练样本逐渐变化,而试报样本不变的状况下建立的SVM回归模型对检验集进行预报检验的结果。从图中可以看出,样本数较少时建立的SVM回归预报模型的预报误差明显大于样本数较多时建立的SVM回归预报模型的预报误差。当样本数较少时,通过方法一 (随机构造样本) 建立的SVM回归预报模型的预报误差又较方法二 (截断构造样本) 建立的SVM回归预报模型的预报误差小,而样本数逐渐增多时,两者的预报误差没有明显差异。说明建立SVM预报模型时,样本资料中包含的信息越多,建立的预报模型就越稳定。由于SVM是通过支持向量来建立预报模型,因此样本越多,所建立的预报模型越能描述预报对象的诸多变化,对应的预报误差也相应减小。
![]() |
|
图 3. 训练样本逐渐增多对应的SVM回归预报模型的预报检验图示 |
5 小结与讨论
(1) 试验表明SVM方法是通过寻求支持向量集来刻化因子与对象之间的非线性依赖关系,通过有限的支持向量就可以表征海量信息的分布特征。支持向量出现的多与少直接与对预报对象要求的精度有关,也与预报对象变化的复杂程度有关。这一特性与传统的基于实际问题中总存在较少数目的一些“强特征”构造的统计预报方法有显著的区别。SVM通过隐式方式间接的表述了预报对象与预报因子之间的高度非线性关系。
(2) SVM是通过支持向量构造推理模型,对因子的数量没有明显的限制,支持的因子数可以上千个,因此,通过对与预报对象有明确意义的各种因子的选取,可以较好的表述预报对象与预报因子之间变化的时间、空间概念,这一特点明显优于传统的统计预报方法。比如逐步回归、最优子集回归、卡尔曼滤波等统计方法一般要求将因子限制在20个以内,这一限定就导致了对气象特征空间的不充分描述。
(3) SVM方法是完全基于理论推导的学习方法,与基于先验知识的专家系统、神经元方法有显著的区别。从试验的效果和该方法的客观性来看,可以在具有海量信息的数值预报产品释用方面进行推广。
(4) SVM方法是通过对历史样本的不断学习来建立预报模型的,SVM预报模型的建立过程就是对历史样本的自学习记忆过程。试验表明,尽可能多的样本参与训练,能使预报模型包含比较完备的支持信息,从而使预报更准确。因此,在实际预报中要不断增加新的样本参与训练,进而不断改善预报模型。
(5) 以上工作的不足之处是未对因子在模型中所起的作用进行深入研究。尽管SVM方法对因子的数量无明显的限制,但无用 (分辨能力不强) 因子的引入有增加杂噪的可能,从而对推理效果产生影响。对因子进行分析,剔除一些意义不大的因子,从理论上说可改善方法的推理效果。
致谢 感谢国家气象中心刘还珠老师对本研究工作给予的支持![1] | 叶笃正, 曾庆存, 郭裕福. 当代气候研究. 北京: 气象出版社, 1991: 164-177. |
[2] | 黄嘉佑, 谢庄. 卡尔曼滤波在天气预报中的运用. 气象, 1993, 19, (4): 3–7. |
[3] | 陆如华, 徐传玉, 张玲. 卡尔曼滤波在天气预报中的运用技术. 数值预报产品释用公报, 1996, 5/6, (双月刊): 28–36. |
[4] | 胡江林, 张礼平. 神经网络模型预报湖北汛期降水量的应用研究. 气象学报, 2001, 59, (6): 776–782. |
[5] | 张韧, 蒋国荣, 余志豪, 等. 利用神经网络计算方法建立太平洋副高活动的预报模型. 应用气象学报, 2000, 11, (4): 474–477. |
[6] | 熊秋芬, 等. 神经网络方法在静止气象卫星多通道资料估算降水中的应用. 气象, 2002, 28, (9): 17–21. |
[7] | Vapnik V N.Statistical Learning Theory.John Wiley & Sons, Inc., New York, 1998. |
[8] | fttp://www.kernel-machines.org/ |