局部天气项目

From Caiyun Wiki
Jump to: navigation, search
-{“}-
一千多个CPU进入了满负荷,内存里广阔的电子世界中,逻辑的台风在呼啸,数据大洋上浊浪淘天……
-{”}-
——《混沌蝴蝶》,刘慈欣

局部天气项目希望设计一个基于气象雷达的高精度1小时天气预报程序,地点精确到1公里,时间精确到1分钟。

气象雷达显示在谷歌地图上

原理基于这篇文章: 人人都是天气专家:亲自预报几点几分下雨!

主要数据来源

界面设计初稿

ipad与网页版

彩云天气界面设计初稿.png

第一个版本的任务分解

第一个版本的目标是实时气象雷达观测

任务 时间 状态
采集数据 1d 已部署到swarma.net:/data/nowCasting,缺报警、测试、大数据转移
整理数据 2d 程序完成
融合地图 2d 程序功能测试完成,地标不准确,缺少分省数据
测试地图数据 1d 发现bug,延后处理
网页前端 3d 部分完成
移动前端 3d 部分完成
前端测试 2d 部分完成

目前北京实时气象雷达移动版和网页版均已可以使用了。

前端任务剩余:

任务 时间 状态
splash优化 0.1d
增加设置按钮 1d
slider全屏滑动 0.5d
选择城市功能 1d

后台任务剩余:

任务 时间 状态
标注城市经纬度 5d
处理非256色图片 1d 已经由立夏完成,实际消耗3天
优化数据更新脚本 0.5d

第二个版本的任务分解

第二个版本的目标是预测一个小时内的天气情况,因为forecast.io的压力,我需要尽快知道我能否做预测。

机器学习暴雨竞猜挑战赛

任务 时间 状态
数据预处理:去噪音,90%的准确率 5d 此任务已由立夏接手
数据预处理:矩阵化 0.5d 完成
构造训练测试集 1d 完成
基本回归方案测试 1d 完成,三十分钟预测准确率90%
conv+mlp实验(如果LR的准确度超过60%) 3d 肖达和行远进行中
计算风速 3d 完成
线性外推法预估降雨量 2d 第一版完成

已经确定无论外推法还是回归法都可以做预测,调研基本结束。

整理数据

原始图像例子

SEVP_AOC_RDCP_SLDAS_EBREF_AZ9010_L88_PI_20130811095000000.GIF

把气象雷达数据做一个模糊

总有效像素点 确切数值像素点 确切像素比率
142456 124750 87.6%

处理前

400px

处理后

400px

来一张全景图

SEVP_AOC_RDCP_SLDAS_EBREF_AZ9010_L88_PI_20130811095000000.blur.gif

融合地图

气象雷达融合谷歌地图效果图

地图中心点

  • 北京市大兴区气象局 39.809789,116.476701

[math] c_{earth} = 40075 [/math]

[math] \delta_{Latitude} = \frac{230}{\frac{c_{earth}}{360}} = 2.0661 [/math]

[math] \delta_{Longitude} = \frac{230}{\frac{c_{earth}}{360} cos(\alpha)}= 2.6896 [/math]

实际北京地区的气象雷达范围应该是[37.7437, 41.8759] x [113.7871, 119.1663]

动画效果

<html> <iframe src="https://caiyunapp.com/map" width="600" height="500" frameborder="0" scrolling="no"></iframe> </html>

降雨带移动速度和降雨量强弱变化率

File:云层移动速度和强弱变化率.png
云层移动速度和强弱变化率

外推法第一版效果

6分钟相对误差

预测向量和实际向量的二范数相对误差 [math] e=\frac{\vert y-y_{pre} \vert }{\vert y \vert}=35.70% [/math]

预估错误(误差超过10%)的像素占总像素的比例 [math] e'=\frac{ErrorGreaterThanTenPersent(y-y_{pre}) }{length(y)}=6.73% [/math]

12分钟相对误差

[math] e=\frac{\vert y-y_{pre} \vert }{\vert y \vert}=39.59% [/math]

六分钟图像

LR第一版效果

30分钟预测二值正确率90%

set_size(train:valid:test) = 1300:200:200
Optimization complete with best validation score of 8.000000 %,with test performance 12.500000 %

神经网络MLP、卷积网络、外推法效果对比

方法 测试集和训练集样本尺寸 MSE 相邻两帧MSE MSE比值
光流线性外推法 3x300x300->1x280x280 0.00191384156812 0.00219730936579 87%
rect MLP+LR 3x20x20->1x6x6, (3x20x20范围内的降雨量之和>0.01) 0.00297222222 0.0048611111 60%
simple conv 3x60x60->1x40x40 0.0015 0.0024 62%
simple conv 2x160x160->1x140x140 0.00199 0.00288 69%

参考资料

数据接口

参考app