Pergunta muito interessante, também gostaria de saber o que os outros têm a dizer. Sou engenheiro de treinamento e não estatístico, para que alguém possa verificar minha lógica. Como engenheiros, gostaríamos de simular e experimentar, por isso fiquei motivado a simular e testar sua pergunta.
Como empiricamente mostrado abaixo, o uso de uma variável de tendência no ARIMAX negou a necessidade de diferenciação e torna a tendência da série estacionária. Aqui está a lógica que eu usei para verificar.
- Simulado um processo de recuperação garantida
- Adicionado uma tendência determinística
- Utilizando o ARIMAX modelado com tendência como variável exógena, as séries acima sem diferenciar.
- Verificou os resíduos quanto a ruído branco e é puramente aleatório
Abaixo está o código R e os gráficos:
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) Gráfico simulado
AR (1) com tendência determinística
PACIMA residual ARIMAX com tendência exógena. As residulas são aleatórias, sem nenhum padrão restante
Como pode ser visto acima, a modelagem da tendência determinística como uma variável exógena no modelo ARIMAX nega a necessidade de diferenciação. Pelo menos no caso determinístico, funcionou. Eu me pergunto como isso se comportaria com uma tendência estocástica, que é muito difícil de prever ou modelar.
Para responder à sua segunda pergunta, SIM, todo o ARIMA, incluindo o ARIMAX, deve ser estacionário. Pelo menos é o que dizem os livros de texto.
Além disso, conforme comentado, consulte este artigo . Explicação muito clara sobre tendência determinística versus tendência estocástica e como removê-las para torná-la estacionária e também uma pesquisa de literatura muito boa sobre esse tópico. Eles o usam no contexto da rede neural, mas são úteis para problemas gerais de séries temporais. Sua recomendação final é quando é claramente identificada como tendência determinística, o que prejudica linearmente, e aplica diferenças para tornar a série temporal estacionária. O júri ainda está por aí, mas a maioria dos pesquisadores citados neste artigo recomenda a diferenciação em oposição ao prejuízo linear.
Editar:
Abaixo está a caminhada aleatória com o processo estocástico de deriva, usando variáveis exógenas e arima de diferença. Ambos parecem dar a mesma resposta e, em essência, são os mesmos.
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 isto ajude!