确定临近预报的目标是什么:
- 是否只想最大程度地减少预测误差?
- 是否还想表示预测不确定性?
为了实现目标 1,只需要生成一个确定性地 nowcast,即可过滤掉不可预测地小规模降水特征。但是,这将创建一个即时预报,随着时间推移,他将变得越来越平滑(模糊)。
为了实现目标 2,需要生成一个概率的或集合的 nowcast(几个集合成员或实现)【降水概率模型】
在天气预报(和即时预报)中,我们通常希望实现这两个目标,因为不可能以 100% 的准确度预测混沌系统的演变,尤其是时空降水场和雷暴。
确定性即时预报
a. 方差保持的 nowcast,例如欧拉和拉格朗日持久性的外推 nowcast。
b. 错误最小化 nowcast,例如机器学习、傅里叶滤波和集成学习 nowcast。
非常重要:这两种类型的确定性即时预报不能直接比较,因为它们具有不同的方差!这可以通过均方误差(MSE)的分解来最好地解释:
所有最小化 MSE(或相关度量值)的确定性机器学习算法也将不可避免地最小化 nowcast 的方差 (就会导致越来越模糊)。这是过滤掉降水特征的不可预测的演变的自然尝试,否则会增加方差(和 MSE)。同样的原则也适用于卷积和/或深度神经网络架构,它们也会产生平滑的 nowcast。
因此,最好避免将误差最小化机器学习 nowcast 与由模块 pysteps.nowcasts.extrapolation
生成的方差保持雷达外推进行比较。相反,您应该使用比较与足够大的融合的平均值进行比较。
集成均值的确定性等价物可以使用模块 pysteps.nowcasts.sprog
或 pysteps.nowcasts.anvil
近似。另一种可能性,但计算要求更高,是平均由模块pysteps.nowcasts.steps 或 pysteps.nowcasts.linda
生成的许多融合成员。
尽管如此,即使使用 pysteps 集合均值,也不能假设它的方差将与机器学习预测的方差相同。可能的解决方案:
- 使用归一化 MSE(NMSE)或其他分数来计算预测和观察之间的方差差异。
- 使用傅里叶(或小波)变换分解场,以比较相同空间尺度下的要素。
[FNP+20] 给出了深度卷积机器学习神经网络 nowcast 和 pysteps 的良好确定性比较。
#概率即时预报
概率机器学习回归方法可以大致分为:
- 基于分位数的方法,例如分位数回归、分位数随机森林和分位数神经网络。
- 基于集成的方法,例如生成对抗网络(GAN)和变分自动编码器(VAE)。
基于分位数的机器学习即时预报很有趣,但只能估计给定点的超额概率(例如[FSN+19])。
为了估计面超额概率,例如在集水区上方,或将 nowcast 不确定性传播到水文模型中,仍然需要生成完整的集合,例如使用生成式机器学习模型。
生成式机器学习方法类似于 pysteps 集合成员。两者都旨在产生一系列可能的实现,以保持观测到的雷达场的方差。
针对 pysteps 的生成式机器学习模型的正确概率验证是最近在[RLW+ 11] 工作中进行的一个有趣的研究方向。