如何作假天气预报?
我们以前做过这样一个课程设计,用模拟的气象数据来预测未来几天的天气变化,利用的数据库有中国气象局提供的公众气象服务(免费),还有NCEP的再分析资料(付费)。 先给出结果,然后再详细阐述每个步骤。
1. 导入数据 我们使用的数据包含两个部分,一个是北京地区的气象站点观测数据(免费),这个在网站最后面有一串链接,你点开第一个就是了;另一个是NCEP再分析资料(付费),可以在google里搜“NCEP data”,然后找一个叫“NCEP Atlas 10.3”的网站进去后选择所需日期和区域即可。 为了验证我们的模型,把2015年1月1日到31日的天气状况输入到模型中,看是否能做出准确预测。图1显示了这31天里每天的实际气温和预报气温情况,可以看到除了两三天的误差比较大之外,其他时间的预测还是相当准确的。
2. 建立模型 用到的建模工具是R语言,由于时间序列数据的特性,这里采用ARIMA(p,d,q)模型对数据进行预测,其中p代表自相关阶数,d代表移动平均阶数,q代表残差方差估计的阶数。 由于NCEP提供的原始数据是每小时一次的大气状态参数(温度、气压等),而我们关心的是每天的天气变化情况,因此需要对这个数据进行处理,具体过程参见论文[1]。
3. 结果输出 我们使用python的pip模块安装pyinstaller,然后把用r语言建立的模型代码打包成exe文件。这样在没有任何环境支持的前提下也可以运行。 最后可以看到预测的结果还是比较令人满意的。而且整个程序只需要一次性运行就可以得到未来所有的预测结果,方便用户使用。