首页 > 解决方案 > auto.arima() 似乎在给定相同数据的情况下选择不同的模型

问题描述

我正在尝试类似https://otexts.com/fpp2/lagged-predictors.htmlauto.arima中的示例,并注意到我得到不同的结果取决于我是否明确指定(所有)数据行。MWE:

library(forecast); library(fpp2)
nrow(insurance)
auto.arima(insurance[,1], xreg=insurance[,2], stationary=TRUE)
auto.arima(insurance[1:40,1], xreg=insurance[1:40,2], stationary=TRUE)

节目nrow(insurance)有 40 行,所以我认为insurance[,1]与 相同insurance[1:40,1],第二列也类似。然而,第一种方式会导致“带有 ARIMA(3,0,0) 错误的回归”,而第二种方式会导致“带有 ARIMA(1,0,2) 错误的回归”。

为什么这些看似等效的调用会导致不同的选定模型?

标签: rarima

解决方案


请注意,insurance[,1]有标签,insurance[1:40,1]没有标签。如果你通过as.numeric(insurance[,1])了,你实际上会收到“ARIMA(1,0,2)”。xreg=insurance[,2]所以我敢打赌,这与第一个参数是否有标签有关......另外请注意,它们是否xreg=insurance[1:40,2]都可以工作并不重要


推荐阅读