interval forecasting

通过统计学方法预估区间

  • 区间估计法

    • 假设待估计值服从正态分布,计算这个值的标准差,然后给定某个置信度,查表得到 z 值。均值加减 z值乘标准差结果,得到左右区间。

    • 区间预测中应用

      • 假设预测误差服从均值为 0 的正态分布,估计预测误差的标准差

      • 给定置信度,查表得到 Z 值

      • 计算预测误差的上下限:z*标准差

      • 将上下限加到预测值里面,得到一个预测区间

    • 如何预测标准差

      • 用总体标准差近似样本标准差

        • 训练集划分出一个验证集,用验证集上的预测误差来估计标准差
  • [[Bootstrap]] 通过采样 N 次的预测误差,取N次误差的分位数作为上下限,不需要假设误差服从正态分布。

    • 例子,三次采样结果 [-50,0,50],5% 分位数 -45

    • 随机森林

  • [[Monte Carlo]] Dropout

    • nn 模型在 inference 阶段保留 dropout 结构,对 x 的每次预测都可以看成是一次抽样

定义特定的损失函数来输出区间

  • 直接拟合上下界 [[@High-Quality Prediction Intervals for Deep Learning: A Distribution-Free, Ensembled Approach]]

  • [[分位数回归]]

    • QL(y,y^,q)=q(yy^)++(1q)(y^y)+Q L(y, \hat{y}, q)=q(y-\hat{y})_{+}+(1-q)(\hat{y}-y)_{+} #card

    • 应用

      • 指定三个分位数(0.1,0.5,0.9),把这三个分位数损失加起来作为最终的损失函数。

      • [[MQRNN]] [[MQCNN]]

      • lightgbm和 xgboost 的 objective 也支持 quantile 选项

  • 负对数似然损失 #card

    • [[DeepAR]] 指定预测值服从的概率分布,利用神经网络预测概率分布的参数,构造负对数似然作为损失函数,优化损失函数得到概率分布的参数。

      • 预测时通过蒙特卡洛采样的方式生成预测值和区间预测

      • 采样 100 次,均值就是点预测结果,95% 和 5% 分位数对应区间预测的结果

工具

  • GluonTS

  • Darts

  • MAPIE

Ref

作者

Ryen Xiang

发布于

2024-10-05

更新于

2025-04-19

许可协议


网络回响

评论