局部天气项目
局部天气项目希望设计一个基于气象雷达的高精度1小时天气预报程序,地点精确到1公里,时间精确到1分钟。
原理基于这篇文章: 人人都是天气专家:亲自预报几点几分下雨!
Contents
主要数据来源
界面设计初稿
ipad与网页版
第一个版本的任务分解
第一个版本的目标是实时气象雷达观测
任务 | 时间 | 状态 |
---|---|---|
采集数据 | 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 | 第一版完成 |
已经确定无论外推法还是回归法都可以做预测,调研基本结束。
整理数据
原始图像例子
把气象雷达数据做一个模糊
总有效像素点 | 确切数值像素点 | 确切像素比率 |
---|---|---|
142456 | 124750 | 87.6% |
处理前
处理后
来一张全景图
融合地图
地图中心点
- 北京市大兴区气象局 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>
降雨带移动速度和降雨量强弱变化率
外推法第一版效果
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% |
参考资料
- 人人都是天气专家:亲自预报几点几分下雨!
- http://en.wikipedia.org/wiki/Numerical_weather_prediction
- http://en.wikipedia.org/wiki/Weather_forecasting#Nowcasting
- http://www.atmos.washington.edu/~cliff/BAMSNowcast7.11.pdf
- http://udini.proquest.com/view/nowcasting-for-a-high-resolution-goid:839772013/
- https://www.eumetsat.int/cs/idcplg?IdcService=GET_FILE&dDocName=pdf_conf_p57_s7_01_derosa_p&allowInterrupt=1&noSaveAs=1&RevisionSelectionMethod=LatestReleased
- google map api
- how dark sky works
- Two-Frame Motion Estimation Based on Polynomial Expansion
- 医学图像预测
- Location-based weather nowcast system and method
- 香港天文台定点降雨预报 多尺度光流变分法
- Artificial neural-network technique for precipitation nowcasting from satellite imagery
- 天气雷达回波外推技术应用研究
- 深度学习芯片