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]]
- [[分位数回归]]
- ((643fee02-ceb3-4a66-89e6-ce25e8beb12c))
- 应用
- 指定三个分位数(0.1,0.5,0.9),把这三个分位数损失加起来作为最终的损失函数。
- [[MQRNN]] [[MQCNN]]
- lightgbm和 xgboost 的 objective 也支持 quantile 选项
- 负对数似然损失 #card
- [[DeepAR]] 指定预测值服从的概率分布,利用神经网络预测概率分布的参数,构造负对数似然作为损失函数,优化损失函数得到概率分布的参数。
- 预测时通过蒙特卡洛采样的方式生成预测值和区间预测
- 采样 100 次,均值就是点预测结果,95% 和 5% 分位数对应区间预测的结果
- [[DeepAR]] 指定预测值服从的概率分布,利用神经网络预测概率分布的参数,构造负对数似然作为损失函数,优化损失函数得到概率分布的参数。
工具
- GluonTS
- Darts
- MAPIE
Ref
网络回响
interval forecasting