观潮 · 模式预报与气象 AI 观察
北京 555 年汛期旱涝重建:LSTM 补出 1470—1723 年降水量,年度 RMSE 107.05 mm
> 北京有 555 年的旱涝文字记载,但 1470—1723 年只有「旱 / 偏旱 / 正常 / 偏涝 / 涝」五个等级,没有降水量数值,依赖连续数值的标准化指数(如 SPI)根本算不出来。作者用 1724—2024 年的年、月降水序列训练年度与月度两个 LSTM 模型,把旱涝等级当作约束条件嵌进去,逐年反演出 1470—1723 年的年、月降水量:年度模型 RMSE 107.05 mm、月度 23.57 mm。重建结果显示小冰期晚期北京降水偏少、夏季集中程度更弱,18 世纪后降水总量上升。作者自己点明两处软肋:1470—1723 年的等级划分只能沿用历史观测标准,是定性判据的延续而非独立观测;夏季降水线性上升趋势的拟合优度只有 R²=0.07。
缺的是哪一块
北京的器测降水记录始于 20 世纪初,1724—2024 年的逐月降水来自故宫《晴雨录》与后来的气象站观测,再往前只剩文字里的旱涝记载。作者梳理既有工作后指出两个空缺:一是缺少 200 年以上超长时间序列的降水特征分析,二是既有研究多盯全年降水,对汛期降水的专门分析不足。
更麻烦的是量纲不统一。1470—1723 年只有定性描述,没有连续数值,因此 SPI 这类依赖连续序列的标准化指数无法直接计算。为了让 555 年的序列保持同一把尺子,作者沿用了历史观测的旱涝等级划分:以夏季(6—8 月)降水量判别,Ps>650 mm 为涝,511—650 mm 为偏涝,380—510 mm 为正常,250—379 mm 为偏旱,Ps<249 mm 为旱。
方法怎么搭的
数据分三段:1470—2024 年的旱涝等级序列(1470—1723 年来自《华北、东北近五百年旱涝史料》与《北京气候资料》,1724 年之后由降水观测反判);1724—1840 年的月降水来自故宫《晴雨录》,之后接北京气象站观测;另叠加气象站位置变迁的考证。
建模走年度、月度两个 LSTM:
模型 · 输入特征 · 输出
年度 LSTM · 年份 + 年平均旱涝等级 · 年度总降水量
月度 LSTM · 年份 + 月份 + 当月旱涝等级 · 月度降水量
旱涝等级按单调递变关系做数值映射,涝、偏涝、正常、偏旱、旱分别赋 1.0、0.5、0、-0.5、-1.0。优化器用 Adam,训练 10000 轮,损失函数为均方误差,训练集与验证集 4:1。
重建过程按滑动时间窗口循环递进:把 1470—1723 年逐年完整的旱涝等级作为已知输入,用学到的非线性映射逐年反演降水数值。作者加了一条物理一致性要求——先由年度模型给出当年总降水量,再由月度模型捕捉季节分配,最后做后处理校正,使 12 个月累加值严格收敛到年度总量。
约束策略是「统计软约束 + 物理硬约束」:对旱涝等级对应的降水阈值不做硬性截断,而是靠最小化均方误差让网络学到不同旱涝背景下的降水概率分布均值,保留边界附近的随机波动。验证时隐去部分 1724—2024 年实测数据(验证集与训练集 1:4),比对未参与训练年份的波动特征与极端事件量级。
超参数敏感性分析扫了时间窗口长度、隐藏层特征数、LSTM 深度、批次大小四项:
超参数 · 结论
时间窗口长度 · 影响最显著。年度模型 22 a 最优;月度模型对该参数不敏感,取 24 个月
隐藏层特征数 · 不敏感,保持基准设置
LSTM 深度 · 不敏感,年度与月度模型均取单层(深度 1)
批次大小 · 不敏感,保持基准设置
结果数字
测试集(1724—2024 年)上的误差:
模型 · RMSE · MAE
年度 · 107.05 mm · 48.76 mm
月度 · 23.57 mm · 9.04 mm
旱涝统计方面,555 年序列近似正态分布、略右偏:
项 · 数值
涝 + 偏涝占比 · 30.45%
旱 + 偏旱占比 · 35.86%
极端涝 / 极端旱占比 · 10.45% / 10.09%
偏旱年数 / 偏涝年数 · 143 a / 111 a
旱(+偏旱)年数是涝(+偏涝)年数的 1.17 倍,偏旱年数是偏涝年数的 1.29 倍。小波分析给出 10—15 a、35—40 a、80—85 a 三个主周期,其中 80—85 a 在 1680—2010 年最强,35—40 a 在 1490—1650 年与 1830—1950 年显著,10—15 a 几乎贯穿整个时段。
重建段与实测段的对比:1470—1723 年预测期年均降水量 552.9 mm,低于 1724—2024 年实测期均值 600.2 mm,夏季集中程度也略低。实测期夏季(6—8 月)降水均值 439.4 mm,占全年 73%,与年降水量显著正相关(R²=0.92);年降水量与夏季降水量的变异系数分别为 34% 与 40.6%。进入 21 世纪后夏季占比降到 68.5%(2000—2024 年均值)。
原文图

旱涝指数的分布形态,横轴从 −1(旱)到 1(涝)。(a) 1470—1723 年,样本 254 年,均值 −0.006、标准差 0.540、χ²=9.171;(b) 1724—2024 年,样本 301 年,均值 −0.0415、标准差 0.584、χ²=10.04。两段都叠了正态拟合曲线,卡方值均低于 14.07 的临界值,所以作者判定整条 555 年序列近似正态。重建段的分布更窄,说明小冰期晚期的旱涝振幅比观测期小。

1724—2024 年的年降水量(蓝柱)与 6—8 月降水占全年比例(绿线),黑色虚线是 73.0% 的多年均值。柱子在 1891 年最高、2003 年最低,绿线在 20 世纪前后的高值段明显更密;2000 年以后绿线多次落到虚线以下,对应正文提到的「2000—2024 年均值 68.5%」。
作者承认的限制
- 1470—1723 年没有数值观测,等级划分是沿用历史标准的延续。原文明确说明,这段时期「仅有定性文字记载而无具体数值,无法直接计算 SPI 等依赖连续数值序列的标准化指数」,为保证 555 年长序列标准一致,只能沿用按夏季降水量判别的等级标准。重建出的降水量是模型反演结果,不是观测值。
- 夏季降水上升趋势的拟合优度很低。线性拟合斜率约 0.5 mm/a,但 R² 只有 0.07,原文对这一趋势的表述是「呈上升趋势,但拟合优度较低」,并未把它当作稳健的气候信号。
- 周期性归因是相关推演,不是机制证明。原文把 10—15 a 周期与约 11 a 太阳活动周期、30—35 a 与太平洋年代际振荡对应,用的是「可能」「密切相关」这类措辞,没有给出显著性检验。
- 极端年份的重建精度高于一般年份。原文只举了 1641 年这个极端旱年(预测年降水量 386.18 mm,显著低于预测均值)作为一致性验证的例子,一般年份的偏差水平未单独报告。
- MSE 不作为评价指标。原文说明 MSE 仅用于训练阶段的损失函数,结果部分只报告 RMSE 与 MAE。
一句话判断
把定性旱涝等级当约束、用双 LSTM 反演 254 年的年、月降水量,在测试集上年 RMSE 107.05 mm、月 RMSE 23.57 mm,够用来讨论百年尺度的旱涝节律;但这段数据终究是模型反演而非观测,夏季趋势的 R² 只有 0.07,用它做趋势外推要格外小心。