2023暑期大气科学-Baseline笔记
简介
1 任务
提供10年的再分析数据,通过输入历史70个大气变量数据,预测华东区域未来1-5天的5个地面变量。
2数据集
华东区域AI中期天气预报测大赛:输入历史2个时刻的多个大气变量,输出未来1-5天逐6小时的5个地面变量。
【相关变量】定义如下:
【来源】欧洲中期天气预报中心(ECMWF)的再分析数据ERA5,使用了ERA5的子集。包含5个气压层变量(每个变量有13个气压层),5个地面变量,共计70个变量,时间间隔6小时,空间分辨率0.25度,覆盖区域(N10 ~ N50, E100 ~ E140)。
【训练集】
空间分辨率是指遥感图像上能够详细区分的最小单元的尺寸或大小,是用来表征影像分辨地面目标细节的指标。 空间分辨率越高,其识别物体的能力越强。
0.25d的空间分辨率:遥感图像上能够详细区分的最小单元的尺寸或大小为0.25米。
【测试集】
3 输入和输出
推理文件的输入Input: (2 x 70 x H x W)
,输出Output: (20 X 5 X H X W)
, 其数据类型是float16
,存储为pt
格式。参赛队伍可以不使用全部的70个变量做为输入,但是输出必须包含5个地面变量,且顺序固定按照:[T2M, U10, V10, MSL, TP]
,必须包含20个step对应未来时刻如下:
[6,12,18,24,30,36,42,48,54,60,66,72,78,84,90,96,102,108,114,120](小时)
【float16】是一种半精度浮点数,用16个比特表示一个数。它的数值范围和精度比float32更小,但是它的存储空间更小,可以减少内存占用。
【pt格式】是PyTorch中保存模型和数据的文件格式,它可以使用PyTorch库中的函数来加载和保存
输入和输出文件组织如下:
4 总结
通过上面的介绍,对于数据方面,训练集和测试集并没有时序联系的,测试集部分所能使用的历史数据仅为2个时刻的数据,然后输出未来20个时刻的结果。可以看到,能够使用的历史信息非常少,需要预测的时刻比较多,相应提升了赛题的难度。
5 评价指标
我们采用Normalized RMSE做为指标,其计算公式如下:
6 解题思路
本题任务是预测未来1-5天逐6小时的5个地面变量,属于典型的回归问题,输入数据为历史大气变量信息,输出5个变量结果,分别为2米温度、10米纬向风、10米经向风、平均海平面气压、6小时累积降水。针对这类时间序列预测问题方法比较灵活,传统的时序模型、机器学习、深度学习方法均可以使用。
1、统计策略:使用最近时刻的结果进行均值、中位数、时间衰减等方式直接统计得到未来结果,这种方式比较简单,可以快速得到结果;
2、时序模型:比较常用的方法有指数平滑法、灰色预测模型、ARIMA预测、季节Sarima模型、VAR模型等,仅能刻画序列信息,无法加入其他信息进行训练,比如离散类特征;
3、机器学习模型:常见的为lightgbm、xgboost、catboost,需要构建大量时序相关特征;
4、深度学习模型:常见为rnn、lstm、cnn、transformer这类模型,可以直接输入序列信息,不需要构建大量的人工特征;
Baseline
1 统计方法Baseline实践
云环境配置与数据下载
介于本赛事的数据规模比较庞大,推荐大家使用赛事官方推荐的阿里云的云环境,提供免费V100与A10算力
【环境】阿里云的云环境。机器学习PAI-交互式建模(DSW)。规格名称ecs.gn6v-c8g1.2xlarge;CPU8,内存32GiB;GPU1×型号NVIDIA V100。镜像名称pytorch:1.12-gpu-py39-cu113-ubuntu20.04。
【环境配置】
Linux系统中安装和使用Git。Git是一个分布式版本控制系统,用于管理和协作软件开发项目。
-
apt-get update
: 用于更新软件包列表,以便安装最新的软件包。 -
apt-get install git-lfs
: 用于安装Git LFS,它是一个Git扩展,用于管理大型文件。 -
git init
: 用于初始化一个新的Git仓库。 -
git lfs install
: 用于安装Git LFS的钩子。 -
mkdir weather
在新的Git仓库中创建一个名为“weather”的目录 -
cd ./weather
并将当前工作目录更改为该目录。
【数据下载】因为部分数据集文件较大,采用ossutil命令行进行文件下载分片并发下载,可以最大限度提升下载速度。使用内网命令(同region训练机器或领用免费试用的pai-dsw资源进行在线参赛推荐使用)进行下载