如何周天气预报呢?
最近,我们团队研发了一套基于机器学习的短期气候预测系统,可以实现对一周内的温度、降水、湿度等气候要素进行预测。该系统的预测精度在同类系统中居于领先位置。 下面我介绍一下这个系统。
我们的目标是建立一个能够提前一周预测未来气温和降水的系统。由于地球大气环流具有周循环特征,因此我们可以适当放宽预测的时间窗口,以获得更好的训练样本。图1给出了一种简化的大气边界层参数化方案,将大气分为两层:温度层(t)和高层(u)。其中,t表示距离地面10km高度处的平均热量密度;u表示300hpa处的平均风向风速。这样,我们将整个大气划分为四个区域:对流层(t)、暖盖(ut)、冷盖(vt)和对流层顶(ud)。
为了利用历史的天气数据来学习预测的模型,我们需要将历史资料按照上述边界层参数化方案进行切割,每一块代表一个“时间窗”,用于建立及验证模型。 在每个“时间窗”中,我们考虑如下变量来描述历史的气象条件: (1)历史温度:距离地面1.5m高度的气温; (2)历史气压:千帕; (3)历史湿度和露点温差:摄氏度; (4)历史风速和风向:米/秒。 (具体细节请参见论文[1] )
基于这些历史观测值,我们的目标是通过机器学习的方法,得到一个能最好描述历史数据的数学模式。然后,用这个已建立的模型去预测“时间窗”中未知量的数值。如果使用合适的时间窗,那么就可以利用已有数据来完成从过去到未来的连续预测。 经过大量的试验和分析,我们认为下列算法更适合于我们的数据和问题:支持向量机(SVM)。 SVM是一种基于统计学习理论的机器学习方法,它能在保持模型的复杂性和描述能力之间取得很好的平衡,并已广泛应用于各个领域。
利用SVM我们实现了对一个区域一周内天气状况的预测,图2显示的是我们建立的SVM预测机的结构。 图中X表示输入的数据,即上一周每一天的气温、气压、相对湿度等;Y表示对于一周后的预报结果,即下一星期每天的气温、气压、相对湿度等。通过优化方法找到模型的最优解,即可得到模型的输出。
利用这个SVM预测器,我们实现了对中国部分地区未来7天的温度、降雨等预报。 从预测的结果来看,SVM能较好地模拟未来温度、降雨等的变化趋势。
当然,SVM只是一个机器学习的建模工具,其本身不能用来做最终预测。要获得最终的预报结果,还需要对模型的性能进行评价和优化。