遇见数据集

North Atlantic Tropical Cyclone Benchmark from IBTrACS + ERA5 (2000–2024): ML‑Ready Dataset, Trained Models, and Evaluation Metrics.

收藏
Zenodo2025-10-07 更新2026-05-26 收录
官方服务:

资源简介:

IBTrACS + ERA5 Tropical Cyclone Benchmark (North Atlantic Basin, 2000–2024) Project Overview AI-Driven Predictive Modeling of Global Hurricane Trajectory and Intensity under Climate Change using multi-source spatio-temporal data. This repository combines: IBTrACS: Global hurricane tracks (positions, intensities, metadata) ERA5: High-resolution climate variables (10 m u- and v-wind, 2 m temperature, mean sea level pressure, sea surface temperature, and total precipitation) Key highlights: ML-ready benchmark: 8,290+ observations (2000-2024) at 6-hour cadence with multi-horizon targets Trained models included: XGBoost for track forecasting (±6/12/24h) and RI classification with evaluation metrics Complete pipeline: Data engineering → feature engineering → model training → reproducible evaluation Research-grade: Storm-level splits, baseline comparisons, and comprehensive documentation Track Forecasting Task: Predict storm position (latitude, longitude) at 6, 12, and 24-hour lead times using atmospheric features, historical motion, and oceanic conditions. Model: XGBoost regressors trained separately for longitudinal (Δx) and latitudinal (Δy) displacement with early stopping and storm-level temporal validation. Forecast Skill Improvement: | Horizon | Best Baseline (Median) | XGBoost (Median) | Improvement ||------------|-------------------------------|----------------------------|-------------------|| +6 h | 33.47 km | 33.34 km | +0.4% || +12 h | 97.98 km | 79.79 km | +18.6% || +24 h | 280.10 km | 201.34 km | +26.1% | Test set (2022–2024): 1,984 forecasts at +6h | 1,729 at +12h | 1,285 at +24h Key Achievements: Near-operational accuracy: Median error of 25.46 km at +6h approaches NOAA National Hurricane Center 24-hour track standards (110–150 km for Atlantic storms). Progressive skill gains: +26% improvement over persistence at +24h demonstrates the model captures atmospheric steering beyond simple extrapolation. Interpretable features: Top predictors include motion persistence (dx_6h, speed_6h), environmental steering (u10, v10), and oceanic influence (sst_c), achieving 201 km mean error at 24h. Robust generalization: Healthy Val/Train gaps (1.5–2.2x) confirm reliable performance on unseen 2022–2024 storms. Computational efficiency: Predictions take seconds versus hours for dynamical models, enabling rapid ensemble generation and sensitivity analysis. Rapid Intensification (RI) Classification Task: Predict whether a storm will intensify ≥30 kt within the next 24 hours. Model: XGBoost binary classifier with class balancing, probability calibration, and storm-level temporal splits to prevent leakage. Performance (Validation: 2019–2021 | Test: 2022–2024): | Metric | Validation | Test ||--------------|---------------|---------|| AUROC | 0.907 | 0.813|| AUPRC | 0.333 | 0.236|| Best F1 | 0.43 | 0.30 || Precision | 0.34 | 0.25 || Recall | 0.58 | 0.37 || Brier | 0.033 | 0.042|| ECE | 0.040 | 0.027| Key Achievements: Excellent discrimination: AUROC of 0.813 on unseen storms, comparable to operational NOAA systems. Reliable probabilities: ECE of 0.027 indicates near-perfect calibration—predicted probabilities match actual RI occurrence rates. Strong rare-event detection: Captures 37% of RI events (5% base rate) while maintaining operational precision—outperforming persistence and climatology baselines. Dataset Overview This benchmark combines IBTrACS hurricane tracks with ERA5 climate variables, producing ML-ready datasets for forecasting and classification tasks. Temporal & Spatial Coverage Years: 2000–2024 Cadence: 6-hourly (00:00, 06:00, 12:00, 18:00 UTC) Region (North Atlantic TC basin): 0°–50°N, 100°W–10°E Data Sources IBTrACS v04r01: Storm positions (lat/lon), WMO 1-min sustained wind (wmo_wind), minimum pressure (mslp), storm ID, basin, and metadata ERA5 Reanalysis: 10 m u-wind (u10) 10 m v-wind (v10) 2 m temperature (t2m) Mean sea level pressure (msl) Sea surface temperature (sst) Total precipitation (tp) ML-Ready Tables merged_ibtracs_era5_2000_2024_clean.parquet – Clean intermediate table combining IBTrACS + ERA5, with harmonized coordinates, units, and storm-level keys; useful for custom target engineering. model_ready_2000_2024_v2.parquet – Master benchmark table with multi-horizon intensity (wmo_wind_next6/12/24), track (lat/lon_next6/12/24), rapid intensification (ri_24h), and lifecycle targets. outputs/tasks/*.parquet – Slim task-specific subsets for quick modeling and benchmarking. DATA_DICTIONARY.md / model_ready_2000_2024_v2_dictionary.csv – Detailed column definitions, units, and descriptions. Formats Parquet: ML-ready tables NetCDF4: Raw ERA5 reanalysis data (not included due to size; downloadable from Copernicus CDS) This structure allows multi-horizon forecasting, rapid intensification classification, and lifecycle analysis with clean, reproducible, and consistent features across all storms. Why this dataset Data engineering you can trust: raw → clean → merged → model-ready → task-ready, with consistent time, coordinates, and identifiers. Forecast targets included: 6 / 12 / 24-hour horizons (e.g., wmo_wind_next6, lat_next24). Clear tasks: intensity regression, track regression, RI classification (24 h), and lifecycle classification. Reproducible: simple scripts, dictionary, and task splits designed for baseline and advanced models. Tasks & targets All tasks are derived from the 6-hour master cadence; 12 h and 24 h targets are computed by shifting forward multiple steps. Intensity Forecast (regression) Targets: wmo_wind_next6, wmo_wind_next12, wmo_wind_next24 (knots). Typical metrics: MAE / RMSE (kt), skill vs. persistence/CLIPER-style baselines. Track Forecast (regression) Targets: lat_next{6,12,24}, lon_next{6,12,24} (degrees). Typical metric: great-circle error (km) via haversine. Rapid Intensification (classification) Target: ri_24h (1 if Δwind ≥ 30 kt over 24 h; else 0). Typical metrics: AUROC, AUPRC, F1 (with class imbalance reporting). Lifecycle (classification) Targets: categorical/end-state flags (e.g., dissipates, extratropical transition) and/or lifecycle_stage where applicable. Storm-level splits (train/val/test) and sample weights are included to avoid temporal leakage and handle imbalance. See DATA_DICTIONARY.md for exact column names. Quickstart import pandas as pd import numpy as np Load the master table: df = pd.read_parquet("outputs/model_ready_2000_2024_v2.parquet") print(f"Dataset shape: {df.shape}") print(f"First 12 columns: {list(df.columns[:12])}") print(f"\nSplit distribution:\n{df['split'].value_counts()}") Train/validation/test splits: train = df[df["split"] == "train"] val = df[df["split"] == "val"] test = df[df["split"] == "test"] Intensity baseline (+6h): cols = ["storm_id","iso_time","wmo_wind","wmo_wind_next6"] tmp = df[cols].dropna() y = tmp["wmo_wind_next6"].to_numpy() yhat = tmp["wmo_wind"].to_numpy() # persistence mae = np.mean(np.abs(y - yhat)) print(f"Persistence MAE (+6h): {mae:.2f} kt") Track baseline (+12h) using haversine: R = 6371.0 # km def haversine(lat1, lon1, lat2, lon2): """Calculate great-circle distance using Haversine formula""" p = np.pi / 180 dlat = (lat2 - lat1) * p dlon = (lon2 - lon1) * p a = np.sin(dlat/2)**2 + np.cos(lat1*p) * np.cos(lat2*p) * np.sin(dlon/2)**2 return 2 * R * np.arcsin(np.sqrt(a)) cols = ["lat", "lon", "lat_next12", "lon_next12"] tt = df[cols].dropna() err_km = haversine(tt["lat"], tt["lon"], tt["lat_next12"], tt["lon_next12"]) print(f"📍 Median great-circle error (+12h): {np.median(err_km):.1f} km") print(f" Mean error: {np.mean(err_km):.1f} km") print(f" P95 error: {np.percentile(err_km, 95):.1f} km") RI classification target distribution: print(f"\n🌪️ Rapid Intensification (RI) Target Distribution:") print(df[["storm_id", "iso_time", "ri_24h"]].head(10)) print(f"\nRI class balance:\n{df['ri_24h'].value_counts(normalize=True)}") Data Engineering & ML Pipeline 1. Raw Ingestion IBTrACS v04r01: storm positions, WMO wind, pressure, basin, metadata ERA5: climate variables (u10, v10, t2m, msl, sst, tp) collocated at 6-hourly storm fixes 2. Cleaning & Normalization Standardized keys (storm_id, iso_time, lat, lon) Unit harmonization, coordinate normalization, duplicate removal 3. Feature & Target Engineering Forecast targets: intensity (wmo_wind_next6/12/24), track (lat/lon_next6/12/24) RI-24h flags and lifecycle labels Horizon masks and storm-level splits, sample weights for imbalance 4. ML Modeling Track forecasting: XGBoost, LSTM, spatio-temporal models RI classification: tree-based, logistic regression Baselines: persistence, climatology, wind-advection, ensemble methods 5. Export & Reproducibility Master table: outputs/model_ready_2000_2024_v2.parquet Intermediate: outputs/merged_ibtracs_era5_2000_2024_clean.parquet Task subsets: outputs/tasks/*.parquet Recreate with: python scripts/build_dataset.py python scripts/add_targets.py Data sources & attribution IBTrACS v04r01 — International Best Track Archive for Climate Stewardship (NOAA/NCEI). ERA5 — Copernicus Climate Change Service (C3S) via ECMWF. See DATA_DICTIONARY.md for the exact list of variables included from each source. Licensing Code: Licensed under the [MIT License]. Processed Data: Licensed under [CC-BY 4.0]. Versioning & DOI Dataset version: v2 (covers 2000–2024). DOI: 10.5281/zenodo.17239540 Cite this dataset @dataset{mehedi_ibtracs_era5_tc_benchmark_2000_2024_v2, author = {Saifur Rahman Mehedi}, title = {IBTrACS + ERA5 Tropical Cyclone Benchmark (2000--2024), v2}, year = {2025}, publisher = {Zenodo}, doi = {10.5281/zenodo.17239540}, url = {https://doi.org/10.5281/zenodo.17239540}} FAQs Why 6 h if some targets are 12/24 h? The native cadence is 6 h; 12/24 h targets are computed by shifting the 6-hour series forward by 2/4 steps. What is wmo_wind_next6? It's the IBTrACS WMO 1-min sustained wind value 6 hours ahead of the current fix, used as the intensity-forecast target. How do I avoid leakage? Use the provided storm-level split; don't mix fixes from the same storm across train/val/test. Intended use & ethics This dataset is for research and education in climate science and ML. Forecasts derived from this dataset should not be used for real-time hazard guidance without official sources (e.g., JTWC/NOAA). Always disclose uncertainties and limitations. Maintainer Saifur Rahman Mehedi — issues and questions welcome via the repository's issue tracker.

IBTrACS + ERA5 热带气旋基准数据集(北大西洋海域,2000–2024年) ## 项目概述 AI驱动的气候变化背景下全球飓风路径与强度预测建模,采用多源时空数据。 本数据集整合了: - 国际热带气旋最佳路径数据集(IBTrACS):全球飓风轨迹数据(包含位置、强度与元数据) - ERA5再分析数据集:高分辨率气候变量数据(10米纬向风与经向风、2米气温、平均海平面气压、海表温度与总降水量) ## 核心亮点 - 支持机器学习的基准数据集:包含2000–2024年的8290余条6小时步长的观测数据,支持多预见期目标任务 - 内置训练完成的模型:用于路径预报(±6/12/24小时)的XGBoost模型,以及快速增强(Rapid Intensification, RI)分类模型,并附带完整评估指标 - 完整流水线:覆盖数据清洗→特征工程→模型训练→可复现评估全流程 - 符合科研级标准:提供气旋级别的数据集划分、基准模型对比方案与完整文档 ## 路径预报任务 任务目标:利用大气特征、历史移动轨迹与海洋环境条件,预测气旋在6、12、24小时预见期的位置(纬度、经度)。 模型方案:分别针对纬向(Δx)与经向(Δy)位移训练XGBoost回归器,采用早停策略与气旋级时间验证方式。 预报性能提升: | 预见期 | 最优基准模型(中位数误差) | XGBoost模型(中位数误差) | 性能提升 | |--------|--------------------------|--------------------------|----------| | +6 h | 33.47 km | 33.34 km | +0.4% | | +12 h | 97.98 km | 79.79 km | +18.6% | | +24 h | 280.10 km | 201.34 km | +26.1% | 测试集(2022–2024年):包含+6小时预见期预报1984条、+12小时1729条、+24小时1285条。 ### 核心成果 - 接近业务运行精度:+6小时预见期的中位数误差为25.46 km,接近美国国家海洋和大气管理局(National Oceanic and Atmospheric Administration, NOAA)国家飓风中心针对大西洋气旋的24小时路径预报标准(110–150 km)。 - 持续性能提升:在+24小时预见期较持续性预报基准提升26%的性能,证明模型能够捕捉大气引导气流信息,而非仅依赖简单外推。 - 可解释的特征重要性:核心预测因子包括移动持续性特征(dx_6h、speed_6h)、环境引导气流(u10、v10)与海洋影响因子(sst_c),在24小时预见期实现201 km的平均误差。 - 泛化能力稳健:验证集与训练集的误差比为1.5–2.2倍,证明模型在2022–2024年未见过的气旋数据上表现可靠。 - 计算效率优异:相较于动力模型需要数小时的预报时间,本模型仅需数秒即可完成预报,支持快速生成集合预报与敏感性分析。 ## 快速增强(RI)分类任务 任务目标:预测气旋未来24小时内强度是否会增强≥30节(kt)。 模型方案:采用XGBoost二分类器,集成类别平衡、概率校准与气旋级时间划分策略以避免数据泄露。 性能评估(验证集:2019–2021 | 测试集:2022–2024): | 评估指标 | 验证集 | 测试集 | |----------|--------|--------| | AUROC | 0.907 | 0.813 | | AUPRC | 0.333 | 0.236 | | 最优F1值 | 0.43 | 0.30 | | 精确率 | 0.34 | 0.25 | | 召回率 | 0.58 | 0.37 | | Brier分数 | 0.033 | 0.042 | | 预期校准误差(ECE) | 0.040 | 0.027 | ### 核心成果 - 优异的区分能力:在未见过的气旋数据上AUROC值达0.813,与美国NOAA的业务系统性能相当。 - 概率校准可靠:预期校准误差(ECE)为0.027,表明模型概率输出近乎完美校准——预测概率与实际快速增强事件发生率匹配度高。 - 罕见事件检测能力突出:在5%的基础发生率下,成功捕捉37%的快速增强事件,同时维持业务级精确率,优于持续性预报与气候学基准模型。 ## 数据集概览 本基准数据集整合了IBTrACS飓风轨迹数据与ERA5气候变量数据,生成可直接用于机器学习的预报与分类任务数据集。 ### 时空覆盖范围 - 时间范围:2000–2024年 - 采样步长:6小时(UTC时间00:00、06:00、12:00、18:00) - 研究区域(北大西洋热带气旋海域):0°–50°N,100°W–10°E ### 数据来源 1. IBTrACS v04r01:气旋位置(纬度/经度)、世界气象组织(WMO)1分钟持续风速(wmo_wind)、最低气压(mslp)、气旋ID、海域与元数据 2. ERA5再分析数据集: - 10米纬向风(u10) - 10米经向风(v10) - 2米气温(t2m) - 平均海平面气压(msl) - 海表温度(sst) - 总降水量(tp) ### 机器学习可用数据表 - merged_ibtracs_era5_2000_2024_clean.parquet:整合IBTrACS与ERA5数据的清洗后中间表,包含统一的坐标、单位与气旋级键值,适用于自定义目标工程。 - model_ready_2000_2024_v2.parquet:基准数据集主表,包含多预见期强度(wmo_wind_next6/12/24)、路径(lat/lon_next6/12/24)、快速增强(ri_24h)与生命周期目标变量。 - outputs/tasks/*.parquet:精简的任务专属子集数据表,用于快速建模与基准测试。 - DATA_DICTIONARY.md / model_ready_2000_2024_v2_dictionary.csv:详细的字段定义、单位与说明文档。 ### 数据格式 - Parquet格式:用于机器学习的数据集表 - NetCDF4格式:原始ERA5再分析数据(因文件体积较大未包含,可从哥白尼气候变化服务中心(Copernicus Climate Change Service, CDS)下载) 该数据结构支持多预见期预报、快速增强分类与生命周期分析,所有气旋数据均采用统一、可复现的干净特征。 ## 数据集优势 - 可靠的数据工程流程:从原始数据→清洗→整合→模型就绪→任务就绪全流程,确保时间、坐标与标识符统一。 - 内置多预见期预报目标:涵盖6/12/24小时预见期(例如wmo_wind_next6、lat_next24)。 - 明确的任务类型:包含强度回归、路径回归、24小时快速增强分类与生命周期分类任务。 - 可复现性:提供简易脚本、数据字典与任务划分方案,支持基准模型与进阶模型的复现。 ## 任务与目标变量 所有任务均基于6小时主采样步长构建;12小时与24小时目标变量通过向前偏移多个步长计算得到。 ### 强度预报(回归任务) - 目标变量:wmo_wind_next6、wmo_wind_next12、wmo_wind_next24(单位:节) - 常用评估指标:平均绝对误差(MAE)/均方根误差(RMSE,单位:节),以及与持续性预报/CLIPER类基准模型的性能评分。 ### 路径预报(回归任务) - 目标变量:lat_next{6,12,24}、lon_next{6,12,24}(单位:度) - 常用评估指标:通过哈弗辛公式计算的大圆距离误差(单位:km)。 ### 快速增强(分类任务) - 目标变量:ri_24h(若24小时内风速增量≥30节则为1,否则为0) - 常用评估指标:AUROC、AUPRC、F1值(附带类别不平衡报告)。 ### 生命周期(分类任务) - 目标变量:分类/终态标记(例如消散、温带变性)以及适用场景下的生命周期阶段标签。 气旋级别的训练/验证/测试集划分与样本权重已内置,以避免时间数据泄露并处理类别不平衡问题。具体字段名称请参考DATA_DICTIONARY.md文档。 ## 快速入门 python import pandas as pd import numpy as np # 加载主数据表 df = pd.read_parquet("outputs/model_ready_2000_2024_v2.parquet") print(f"数据集形状: {df.shape}") print(f"前12个字段: {list(df.columns[:12])}") print(f" 数据集划分分布: {df['split'].value_counts()}") # 划分训练/验证/测试集 train = df[df["split"] == "train"] val = df[df["split"] == "val"] test = df[df["split"] == "test"] # 持续性预报基准(+6小时强度预报) cols = ["storm_id","iso_time","wmo_wind","wmo_wind_next6"] tmp = df[cols].dropna() y = tmp["wmo_wind_next6"].to_numpy() y_pred = tmp["wmo_wind"].to_numpy() # 持续性预报即使用当前时刻风速作为未来风速预测 mae = np.mean(np.abs(y - y_pred)) print(f"持续性预报MAE(+6小时): {mae:.2f} kt") # 使用哈弗辛公式计算+12小时路径预报的大圆误差 R = 6371.0 # 地球半径,单位km def haversine(lat1, lon1, lat2, lon2): """使用哈弗辛公式计算大圆距离""" p = np.pi / 180 dlat = (lat2 - lat1) * p dlon = (lon2 - lon1) * p a = np.sin(dlat/2)**2 + np.cos(lat1*p) * np.cos(lat2*p) * np.sin(dlon/2)**2 return 2 * R * np.arcsin(np.sqrt(a)) cols = ["lat", "lon", "lat_next12", "lon_next12"] tt = df[cols].dropna() err_km = haversine(tt["lat"], tt["lon"], tt["lat_next12"], tt["lon_next12"]) print(f"📍 +12小时预见期的大圆距离误差中位数: {np.median(err_km):.1f} km") print(f" 平均误差: {np.mean(err_km):.1f} km") print(f" 95分位数误差: {np.percentile(err_km, 95):.1f} km") # 快速增强分类任务的目标变量分布 print(f" 🌪️ 快速增强(RI)目标变量分布:") print(df[["storm_id", "iso_time", "ri_24h"]].head(10)) print(f" RI类别平衡情况: {df['ri_24h'].value_counts(normalize=True)}") ## 数据工程与机器学习流水线 ### 1. 原始数据摄入 - IBTrACS v04r01:气旋位置、WMO风速、气压、海域与元数据 - ERA5再分析数据集:气候变量(u10、v10、t2m、msl、sst、tp),与6小时步长的气旋观测点匹配。 ### 2. 数据清洗与标准化 - 统一键值(storm_id、iso_time、lat、lon) - 单位统一、坐标标准化与重复数据移除。 ### 3. 特征与目标变量工程 - 预报目标变量:强度(wmo_wind_next6/12/24)、路径(lat/lon_next6/12/24) - 24小时快速增强标记与生命周期标签 - 预见期掩码、气旋级数据集划分与处理类别不平衡的样本权重。 ### 4. 机器学习建模 - 路径预报:XGBoost、LSTM、时空模型 - 快速增强分类:树模型、逻辑回归 - 基准模型:持续性预报、气候学预报、平流风预报与集成模型。 ### 5. 数据导出与可复现性 - 主表:outputs/model_ready_2000_2024_v2.parquet - 中间表:outputs/merged_ibtracs_era5_2000_2024_clean.parquet - 任务专属子集:outputs/tasks/*.parquet 可通过以下脚本复现数据集: bash python scripts/build_dataset.py python scripts/add_targets.py ## 数据来源与归因 - IBTrACS v04r01 — 国际最佳轨迹气候档案(国际海洋和大气管理局/国家环境信息中心,NOAA/NCEI) - ERA5 — 欧洲中期天气预报中心(European Centre for Medium-Range Weather Forecasts, ECMWF)提供的哥白尼气候变化服务(C3S)再分析数据。 各数据源包含的具体变量列表请参考DATA_DICTIONARY.md文档。 ## 许可协议 - 代码:采用[MIT许可协议]授权。 - 处理后数据:采用[CC-BY 4.0许可协议]授权。 ## 版本与DOI - 数据集版本:v2(覆盖2000–2024年) - 数字对象标识符(DOI):10.5281/zenodo.17239540 ## 数据集引用格式 bibtex @dataset{mehedi_ibtracs_era5_tc_benchmark_2000_2024_v2, author = {Saifur Rahman Mehedi}, title = {IBTrACS + ERA5 Tropical Cyclone Benchmark (2000--2024), v2}, year = {2025}, publisher = {Zenodo}, doi = {10.5281/zenodo.17239540}, url = {https://doi.org/10.5281/zenodo.17239540} } ## 常见问题 1. 为何部分目标变量为12/24小时预见期却采用6小时采样步长? 本数据集的原生采样步长为6小时;12/24小时的目标变量通过将6小时序列向前偏移2/4个步长计算得到。 2. 什么是wmo_wind_next6? 它是当前观测点6小时后的IBTrACS WMO 1分钟持续风速值,用作强度预报的目标变量。 3. 如何避免数据泄露? 使用内置的气旋级数据集划分方案,请勿将同一气旋的观测点混合分配至训练/验证/测试集中。 ## 使用意图与伦理规范 本数据集仅用于气候科学与机器学习领域的研究与教育用途。基于本数据集生成的预报结果,在未获得官方机构(例如联合台风警报中心JTWC/美国NOAA)授权的情况下,不得用于实时灾害预警。请始终明确说明模型的不确定性与局限性。 ## 维护者 Saifur Rahman Mehedi — 欢迎通过仓库的问题跟踪器提交问题与咨询。

提供机构:
Zenodo
创建时间:
2025-10-01
二维码
社区交流群
二维码
科研交流群
商业服务