feat: 初始化老年群体高温预警项目基础工程

搭建完整的项目目录结构,配置项目依赖与元信息,添加数据下载、预处理、模型训练、可视化相关的核心业务代码,补充项目设计文档与.gitignore配置,导入初始外部参考数据文件。
This commit is contained in:
2026-05-26 20:05:10 +08:00
commit a0478b0b11
20 changed files with 3300 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
"""全局配置常量"""
from pathlib import Path
# 项目根目录
ROOT = Path(__file__).parent.parent.parent
# 数据目录
DATA_RAW = ROOT / "data" / "raw"
DATA_PROCESSED = ROOT / "data" / "processed"
DATA_EXTERNAL = ROOT / "data" / "external"
# 输出目录
OUTPUT_MODELS = ROOT / "outputs" / "models"
OUTPUT_FIGURES = ROOT / "outputs" / "figures"
OUTPUT_LOGS = ROOT / "outputs" / "logs"
# 研究城市坐标 (纬度, 经度)
CITIES = {
"jiaozuo": {"lat": 35.24, "lon": 113.22, "name": "焦作"},
"zhengzhou": {"lat": 34.75, "lon": 113.62, "name": "郑州"},
}
# ERA5 配置
ERA5_START_YEAR = 2010
ERA5_END_YEAR = 2024
ERA5_VARIABLES = [
"2m_temperature",
"2m_dewpoint_temperature",
"surface_pressure",
"10m_u_component_of_wind",
"10m_v_component_of_wind",
"total_precipitation",
]
# 模型配置
LOOKBACK_DAYS = 14
BATCH_SIZE = 32
LEARNING_RATE = 1e-3
MAX_EPOCHS = 100
EARLY_STOP_PATIENCE = 15
HIDDEN_DIM = 128
LSTM_LAYERS = 2
ATTENTION_HEADS = 4
DROPOUT = 0.3
# 风险等级阈值 (体感温度 °C)
RISK_THRESHOLDS = {
"low": 32,
"medium": 35,
"high": 38,
"severe": 38,
}
# 时间尺度预测窗口 (天)
PREDICTION_WINDOWS = {
"short": 3,
"medium": 7,
"long": 30,
}
# 确保目录存在
for d in [DATA_RAW, DATA_PROCESSED, DATA_EXTERNAL,
OUTPUT_MODELS, OUTPUT_FIGURES, OUTPUT_LOGS]:
d.mkdir(parents=True, exist_ok=True)