Pregunta muy interesante, también me gustaría saber lo que otros tienen que decir. Soy un ingeniero de formación y no un estadístico, por lo que alguien puede verificar mi lógica. Como ingenieros, nos gustaría simular y experimentar, así que me sentí motivado para simular y probar su pregunta.
Como se muestra empíricamente a continuación, el uso de una variable de tendencia en ARIMAX negó la necesidad de diferenciar y hace que la tendencia de la serie sea estacionaria. Aquí está la lógica que solía verificar.
- Simuló un proceso de AR
- Se agregó una tendencia determinista
- Usando ARIMAX modelado con tendencia como variable exógena las series anteriores sin diferenciar.
- Se verificaron los residuos en busca de ruido blanco y es puramente aleatorio
A continuación se muestra el código R y las parcelas:
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) Parcela simulada
AR (1) con tendencia determinista
ARIMAX Residual PACF con tendencia como exógena. Los residuos son aleatorios, sin patrón.
Como se puede ver arriba, modelar la tendencia determinista como una variable exógena en el modelo ARIMAX niega la necesidad de diferenciar. Al menos en el caso determinista funcionó. Me pregunto cómo se comportaría esto con la tendencia estocástica, que es muy difícil de predecir o modelar.
Para responder a su segunda pregunta, SÍ, todos los ARIMA, incluido ARIMAX, deben hacerse estacionarios. Al menos eso dicen los libros de texto.
Además, como se comentó, vea este artículo . Explicación muy clara sobre la tendencia determinista frente a la tendencia estocástica y cómo eliminarlos para hacerla tendencia estacionaria y también una muy buena encuesta de literatura sobre este tema. Lo usan en el contexto de la red neuronal, pero es útil para problemas generales de series de tiempo. Su recomendación final es cuando se identifica claramente como tendencia determinista, la tendencia lineal, de lo contrario, se aplica la diferencia para hacer estacionarias las series temporales. El jurado todavía está allí, pero la mayoría de los investigadores citados en este artículo recomiendan diferenciar en lugar de tendencia lineal.
Editar:
A continuación se muestra una caminata aleatoria con un proceso estocástico de deriva, usando variables exógenas y arima de diferencia. Ambos parecen dar la misma respuesta y, en esencia, son lo mismo.
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
¡Espero que esto ayude!