ARIMA(X) 验证

数据挖掘 r 时间序列 阿帕奇火花 表现
2022-02-27 09:36:04

我正在开发一个新的基于 spark 的 ARIMA(X) 工具,并且已经到了需要知道我的系数估计和预测是否合理的地步。我可以在同一数据集上将我的结果与 R 进行比较,但是,由于我的实现是分布式的,而 R 是在内存中的,我认为假设我们的估计会有一些细微的差异是合理的。我不知道系数估计和预测的差异有多大?是否有标准方法来评估新的时间序列分析实施的合理性?

2个回答

是否有一种标准方法来评估新的时间序列分析实施的合理性?

就在这里。验证您从头开始构建的一种方法是从您选择的数据生成过程 (DGP) 中模拟ARIMAX 时间序列(参见例如http://robjhyndman.com/hyndsight/arimax/)。

调用您选择的 DGP 参数,然后:θ

  1. 从 DGP 中抽取样本。
  2. 估计模型的参数:做出预测:θ^y^T+h|T
  3. 评估||θ^θ||a metric||y^T+h|TyT+h||a metric
  4. 重复1 to 3几次,同样适用于不同的 DGP 和样本大小。
  5. 您要么增加对构建的信心,要么找到需要改进的弱点。

一个合理的指标可能是平方损失。就个人而言,我喜欢使用“眼球指标”来预测残差,它们的分布可以通过直方图来评估。

有些人所做的是某种“有序”的 k 折交叉验证。(例如,检查这里。)您将数据划分为分区。然后,在分区 1 上拟合模型,在分区 2 上进行测试,得到预测误差。然后,将模型拟合到分区 1 和 2 的并集上,在分区 3 上进行测试,得到预测误差。依此类推,然后平均预测误差。k