这个问题很有趣,我也想知道别人怎么说。我是经过培训的工程师,而不是统计学家,所以有人可以检查我的逻辑。作为工程师,我们想进行模拟和实验,因此我很愿意模拟和测试您的问题。
如下经验所示,在ARIMAX中使用趋势变量可以消除对差分的需求,并使序列趋势保持平稳。这是我用来验证的逻辑。
- 模拟AR流程
- 增加了确定性趋势
- 使用以趋势作为外生变量建模的ARIMAX,上述序列无差异。
- 检查了残留的白噪声,它是纯随机的
以下是R代码和图表:
set.seed(3215)
##Simulate an AR process
x <- arima.sim(n = 63,list(ar = c(0.7)));
plot(x)
## Add Deterministic Trend to AR
t <- seq(1, 63)
beta <- 0.8
t_beta <- ts(t*beta,frequency=1)
ar_det <- x+t_beta
plot(ar_det)
## Check with arima
ar_model <- arima(ar_det,order=c(1,0,0),xreg=t,include.mean=FALSE)
## Check whether residuals of fitted model is random
pacf(ar_model$residuals)
AR(1)模拟图
具有确定性趋势的AR(1)
ARIMAX残余PACF,趋势为外源。残基是随机的,没有残留的模式
从上面可以看出,在ARIMAX模型中将确定性趋势建模为外生变量就不需要差分。在确定性情况下,它起作用了。我不知道这在很难预测或建模的随机趋势下会如何表现。
要回答第二个问题,是的,所有ARIMA(包括ARIMAX)都必须固定。至少那是教科书所说的。
此外,如前所述,请参阅本文。关于确定性趋势与随机趋势的清晰解释,以及如何消除趋势以使其趋于平稳的方法,也对此主题进行了很好的文献调查。他们在神经网络环境中使用它,但是它对于一般的时间序列问题很有用。他们的最终建议是,当将其明确确定为确定性趋势时,进行线性下降趋势,否则应用微分使时间序列平稳。陪审团仍然存在,但本文引用的大多数研究人员建议区别对待而不是线性去趋势。
编辑:
以下是使用外生变量和差异Arima的具有漂移随机过程的随机游走。两者似乎都给出相同的答案,本质上它们是相同的。
library(Hmisc)
set.seed(3215)
## ADD Stochastic Trend to simulated Arima this is AR(1) with unit root with non zero mean
y = rep(NA,63)
y[[1]] <- 2
for (i in 2:63) {
y[i] <-3+1*y[i-1]+ rnorm(1, mean = 0, sd = 1)
}
plot(y,type="l")
y_ts <- ts(y,frequency=1)
## Lag to create Xreg
y_1 <- Lag(y,shift=1)
## Start from 2 value to avoid NA and make it equal length with xreg
y <- window(y_ts,start =2,end=63)
xreg1 <- y_1[-1]
## Check the values with ARIMA and xreg
g <- arima(y,order=c(0,0,0),xreg=xreg1)
pacf(g$residuals)
## Check the values with ARIM
g1 <- arima(y,order=c(0,1,0))
pacf(g1$residuals)
##
ARIMA(0,0,0) with non-zero mean
Coefficients:
intercept xreg1
3.1304 0.9976
s.e. 0.2664 0.0025
希望这可以帮助!