计算机应用研究
APPLICATION RESEARCH OF COMPUTERS
2000　Vol.17　No.5　P.27-28，30



应用于单站降雨预报的神经网络方法
郭陵之
摘  要  讨论了神经网络应用于天气预报的可行性和优越性，介绍了在单站降雨预报中使用具有离散值的反向传输网络取得的初步研究成果，提出了进一步提高降雨预报准确率的几点设想。
关键词  神经网络  降雨预报  拟合率   收敛  预报率
　　不久前，《科技日报》刊登了美国科学家研制的神经网络帮助飞行员把发生故障的飞机安全降落到地面的报导，使我们对神经网络的实际应用又有了新的认识。目前我国天气预报常用的方法有数值预报、专家系统等，虽然已达到了实用水平，但预报准确率还有待于进一步地提高。改进的方法除了沿着原有的思路继续深入研究外，也不妨另辟蹊径，如引入神经网络的方法。神经网络是模仿人脑神经元结构、特性和人脑认知功能构成的新型信息处理系统。它是由大量非线性元件高度并联、互连而成的非线性动力网络系统。具有并行处理、联想记忆、分布存储、自我调适等特性的神经网络应用于天气预报，将给天气预报领域注入新的活力并带来全新的面貌。神经网络所具有的自学习、自组织能力和容错性，使它能够从所学习的大量天气个例中自动抽取共同的特征，通过调整网络的连接权重来反映出这种特征。网络对学习过的天气个例极为敏感，如果这些个例本身具有足够的典型性和代表性，通过网络的学习就能掌握影响天气变化的各个气象要素及其内在联系，从而作出准确的预报。天气虽然复杂多变但不能凭空发生，一定有其内在的机制，目前的问题在于我们还不能够完全把握住这种机制，正是在这方面神经网络有着不可估量的潜力和诱人的发展前景。降雨预报历来是天气预报中的一个难点。我们的工作就是试图通过对神经网络应用于单站降雨预报的探索，揭示神经网络应用于天气预报的可行性和优越性。
1  误差反向传输网络
　　神经网络的种类很多，我们选取了目前研究最广、应用最多的误差反向传输网络，即BP网(Back-Propagation network)。网络的名称来源于它处理错误误差的方式，即网络认为所有的加工元及连接权重对错误均有责任，因此把错误误差平均分配到每一个加工元上。BP网络的学习过程由正向传播和反向传播组成。正向传播时，将训练(学习)集中的任一样本(个例)置于网络的输入层，经隐含层处理，在输出层得到该样本对应的输出值。反向传播时，根据输出值与期望值之间的误差调整网络的各个权重，使输出值与期望值之间的误差逐渐减小。整个学习过程按正向传播和反向传播反复循环，直到网络达到理想的状态－收敛。当网络收敛时，输出值与期望值之间的误差等于零，网络对学过的东西全部记住。传统的BP网络采用连续值。作为尝试，我们使用了离散值，把数据分段编码，使输入值只有+1和-1两种，在操作时考虑了编码的线性独立性。
2  气象因子的选取
　　我们研究的对象是昆明站的降雨。为了预报昆明站的降雨情况，我们选取了昆明本站及周边蒙自、腾冲、丽江、威宁、成都各站的温度露点差、雨量、气压、地面风向、地面风速、气温、高空100hPa、200hPa、300hPa、500hPa、700hPa的风向、风速等16项气象要素。考虑到降雨天气，特别是大、暴雨天气在其周围较大范围内一定有强烈的涡度、散度及垂直速度，因此利用昆明附近区域的涡度、散度来反映昆明本站的大气环流形势。具体作法是利用昆明、蒙自、腾冲、丽江、威宁的高空风向、风速按图１所示的四个三角形分别计算出各三角形区域各高度层面的涡度、散度。

图1昆明及周围站的分布
　　经过计算机Ｃ语言编程处理，将原始数据文件(*.dat文件，每个个例包括上述五站的各16项气象因子，成都站只取地面资料6项，总共86项数据)转换为中间文件(*.mid文件，由高空资料计算出各高度层面的涡、散度值，与地面资料一起作为预报因子，每个个例含有76项)，最后再转换为神经网络可以接受的输入文件(*.nni文件，数据分段编码后，每个个例含有374项)。由此构造的BP网络输入层加工元有374个，隐含层加工元6个，输出层加工元5个。
3  资料的选取
　　我们选取了两组资料。第一组是1980年全年有关降雨的气象资料，第二组是1981至1987年每年7月份的有关降雨的气象资料。分别以经过处理的第一组资料(文件名为 z80.nni)和第一、第二组资料(文件名为z808187.nni)为学习集，预报1982年7月、1983年5月、1984年6月和1986年10月的降雨情况。为了提高降雨预报的精确度，把雨量分成五个量级(单位为mm，毫米)，即小于0.1(无雨)、0.1～9.9(小雨)、10～24.9(中雨)、25～49.9(大雨)、50及以上(暴雨)。原打算用第一、第二天的数据预报第三天的雨量，由于受现有神经网络软件的限制无法实现，现改为用第一天的数据预报第二天的雨量。
4  学习与预报情况
　　首先定义“拟合率”和“预报准确率”(以下简称预报率)的概念。如果网络“回忆”(Recall)的资料是经过“学习”(Learn)的，那么回忆正确的个例数与总个例数之比称为“拟合率”；如果网络“回忆”的资料未经过“学习”，则回忆正确的个例数与总个例数之比称为“预报率”。我们做了以下的工作。
　　选择1980年全年的气象资料作为学习、回忆的对象，此时总个例(天数)为363。
表1 以z80.nni为学习、回忆集的拟合率

学习次数正确天数拟合率(%)
363020757.024792
3630029480.991737
72600363100.000000

　　用收敛后的网络(z820.nnd)预报1982年7月、1983年5月、1984年6月和1986年10月的降雨量。 
表2  z820.nnd网络的预报率

日期(年、月)预报天数正确天数预报率(%)
1982.7291448.275864
1983.5291862.068966
1984.6281242.857143
1986.10291551.724137

　　在学习过程中，拟合率反复振荡、逐步上行，最终达到100%，说明网络对学习过的东西具有很强的记忆力。预报率不高反映出预报的个例中相当一部分超出了学习的范围。设想如果扩大学习集，那么预报个例落入学习集中的概率就会增加，预报率也就会提高。根据这一思路，我们将1981～1987年每年7月份的资料加上1980年全年的资料作为学习、回忆集，这时个例为564。 
表3  以z808187.nni为学习、回忆集的拟合率

学习次数正确天数拟合率(%)
56406511.524822
5640024142.730495
169200048786.347519
3384000564100.000000

　　用收敛后的网络(z888600.nnd)预报1983年5月、1984年6月和1986年10月的降雨量。 
表4　z888600.nnd网络的预报率

日期(年、月)预报天数正确天数预报率(%)
1983.5291448.275864
1984.6281139.285713
1986.10291448.275864

　　当学习集的个例从363扩大到564个后，对网络的收敛速度影响极大。例如，在Pentium133计算机上，该网络学习3,384,000次的运行时间为13小时。但是预报率没有上升反而下降，说明学习集并不是越大越好，关键是要有代表性。 
5  预报错误分析
　　我们对预报中发生错误的情况进行了逐一分析，发现错误大多集中在“无雨预报为小雨”和“小雨预报为无雨”这两种情况。例如在表４中预报率最低的1984年6月，在28天中报错了17天，其中无雨误报为小雨的有6天，小雨误报为无雨的也有6天，二者相加，占报错天数的70.6%。分析其它月份，也有类似的情形。由于小雨对人们的日常活动、出行影响不是很大，因此，如果对无雨、小雨不加以区分(即雨量分成四个量级)，则预报率可以大幅度提高，如上述1984年6月四个量级的预报率可达82.1%。
6  总结与思考
　　回顾以上工作，有以下几点体会。
　　①预报因子的选取至关重要。虽然神经网络通过学习可以自动获得现有各预报因子对降雨影响力大小的有关信息，但是它无法增加新的预报因子。除了以上我们选取的16项气象要素外，在实际天气系统中是否还存在一些未知的影响降雨的因素，值得进一步寻找。
　　②学习集的代表性制约着预报率的提高。学习集的代表性不足，即使网络收敛了，也不能获得理想的预报效果。为了提高学习集的代表性，一方面要增强学习集的广泛性，例如扩大学习集的容量。但另一方面(也是更重要的方面)是提高学习集的质量，即选择具有典型性的个例组成学习集。这一点在今后工作中应引起足够的重视。
　　③雨量的划分对预报率有直接的影响，特别是在临界值附近，雨量差别很小却分属不同量级。如9.9mm算小雨而10mm即算中雨，二者之间的差别实际上很难区分。如何使雨量的划分更合理、更具操作性，也是需要认真研究的一个问题。
　　④在实际天气预报中，常有“小雨转中雨”、“大雨转小雨”这样一些说法。在用神经网络预报雨量时，该如何准确地反映出这种动态的变化趋势？
　　⑤天气的变化具有滞后性，仅用第一天的数据预报第二天的雨量不能完全反映其变化规律。若采用第一、第二天的数据预报第三天的雨量，则更符合客观实际。解决的办法：一是选择采用连续值的神经网络，例如标准的BP网络；二是在现有的神经网络软件基础上开发出功能更强、容量更大的神经网络应用软件。
　　尽管本研究工作尚属起步阶段，但可以看出神经网络在天气预报方面是大有可为的。神经网络以其独特的形象思维方式突破了传统的逻辑思维方式的局限性，因此特别适合于解决像天气预报这类没有现成理论公式可以依据、数据不完全(或有错漏)的问题。将神经网络应用于天气预报，不仅开拓了神经网络的又一应用领域，而且也为提高天气预报准确率提供了一种非常有前途的新方法。
郭陵之(云南大学地球科学系  昆明 650091)
参考文献
1，彭金泉. 计算任意三角形平均涡度和散度的一种方案. 气象, 1994, 11
收稿日期：1999－11－1
