使用 AICc 和 RMSE 确定最佳 ARIMA 模型

机器算法验证 时间序列 预测 有马 aic 有效值
2022-03-04 04:56:22

我已经做了一个训练集来适应不同的 ARIMA 模型,然后做了一个测试集来评估它们的性能(使用 R)。据我了解,我可以使用 AICc 通过选择具有最小 AICc 的模型来确定最佳模型,但是模型的差分顺序必须相同才能进行比较。但是,我也可以使用 RMSE 来选择最佳模型,并且不同的差分顺序无关紧要。但是,在我所有的模型中 d=1。

如果 AICc 的小值倾向于给出更好的模型,并且如果 RMSE 越小模型越好,那么 AICc 最小的模型应该具有最小的 RMSE?在我的例子中,具有较小 AICc 的模型比具有较大 AICc 的模型具有更大的 RMSE 值。那我应该如何决定哪个是最好的模型呢?

在这里,我展示了不同的 ARIMA 模型,它们具有各自的 AICc、Ljung-Box 检验残差的 p 值、RMSE 和 MAPE。

                         AICc        p-value        RMSE         MAPE
 ARIMA (2,1,2)    ~    515.28    ~   0.07054   ~   1.1537   ~   13.812
 ARIMA (2,1,1)    ~    517.91    ~   0.1145    ~   1.0441   ~   13.925
 ARIMA (1,1,2)    ~    517.9     ~   0.1169    ~   1.0667   ~   14.217
 ARIMA (1,1,1)    ~    516.22    ~   0.1732    ~   1.1122   ~   14.848
 ARIMA (2,1,0)    ~    537.3     ~   0.0074    ~   0.9066   ~   12.083
 ARIMA (0,1,2)    ~    519.59    ~   0.1004    ~   0.9431   ~   12.676
 ARIMA (0,1,1)    ~    537.5     ~   0.0007    ~   0.9030   ~   12.006
 ARIMA (1,1,0)    ~    544.32    ~   0.0006    ~   0.8961   ~   11.735
 ARIMA (0,1,0)    ~    549.08    ~   0.0006    ~   0.8963   ~   11.747
 ARIMA (3,1,2)    ~    521.84    ~   0.0368    ~   1.0181   ~   13.527
 ARIMA (2,1,3)    ~    521.6     ~   0.0432    ~   1.0275   ~   13.632
 ARIMA (3,1,3)    ~    511.6     ~   0.1617    ~   1.0945   ~   14.699
 ARIMA (3,1,1)    ~    519.91    ~   0.0800    ~   1.1116   ~   14.815
 ARIMA (1,1,3)    ~    519.78    ~   0.05345   ~   0.9913   ~   13.191

我不得不说 auto.arima() 与 stepwise=FALSE, approximation=FALSE 和seasonal=FALSE 选择了 ARIMA(2,1,2) 但它会产生 NaN。

我应该首先拒绝那些 p 值 < 0.05 的模型吗?然后我应该如何决定最好的模型?对于这些给定的值,您会选择哪种模型?

2个回答

AIC 应该使用控制干预管理的模型从残差计算,否则干预效果被认为是高斯噪声,低估了实际模型的自回归效应,从而错误计算了模型参数,直接导致错误的平方和,最终AIC 不正确。大多数 SE 响应者在推广简单的描述性统计数据(如 AIC 和 RMSE)时并没有指出这一假设。

快速的回答是,除非您要解决识别和补救未指定确定性/外生结构的影响的问题,否则您都不应该使用

请参阅@AdamO 对这个问题的深刻回应Interrupted Time Series Analysis - ARIMAX for High Frequency Biological Data?

“应该使用控制干预管理的模型从残差计算相关图,否则干预效果被视为高斯噪声,低估了实际的自回归效应。”

AIC 和 RMSE 是相互关联的,但它们代表了选择最佳模型的不同目标。

RMSE/MAPE 是误差的度量,忽略了模型的“复杂性”。针对 RMSE/MAPE 进行优化可以为您提供准确的结果,但可能会导致模型过于复杂,从而在数据中捕获过多的噪声,也称为过度拟合。

这就是 AIC/AICc 及其相关 BIC 的用武之地。它们采用误差项并添加与模型中使用的预测变量数量相关的惩罚,这样更复杂的模型不太有利,并允许您在复杂但准确的模型,而不是更简单但仍然相当准确的模型。

它最终归结为模型的目的。如果拥有最准确的预测很重要,那么您可能只需查看 RMSE/MAPE,但如果您需要一个更可解释/可解释的模型,那么您可能需要考虑 AICc,它可以更好地平衡复杂性和准确性。