Question très intéressante, j'aimerais aussi savoir ce que les autres ont à dire. Je suis ingénieur de formation et non statisticien, donc quelqu'un peut vérifier ma logique. En tant qu'ingénieurs, nous aimerions simuler et expérimenter, donc j'étais motivé pour simuler et tester votre question.
Comme montré empiriquement ci-dessous, l'utilisation d'une variable de tendance dans ARIMAX a annulé le besoin de différenciation et rend la tendance de la série stationnaire. Voici la logique que j'ai utilisée pour vérifier.
- Simulé un processus AR
- Ajout d'une tendance déterministe
- En utilisant ARIMAX modélisé avec tendance comme variable exogène la série ci-dessus sans différenciation.
- Vérifié les résidus pour le bruit blanc et c'est purement aléatoire
Voici le code R et les graphiques:
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) Tracé simulé
AR (1) avec tendance déterministe
ARIMAX Residual PACF avec tendance exogène. Les résidus sont aléatoires, sans motif
Comme on peut le voir ci-dessus, la modélisation de la tendance déterministe en tant que variable exogène dans le modèle ARIMAX annule le besoin de différenciation. Au moins dans le cas déterministe, cela a fonctionné. Je me demande comment cela se comporterait avec une tendance stochastique qui est très difficile à prévoir ou à modéliser.
Pour répondre à votre deuxième question, OUI tous les ARIMA, y compris ARIMAX, doivent être rendus immobiles. C'est du moins ce que disent les manuels.
En outre, comme indiqué, consultez cet article . Explication très claire sur la tendance déterministe par rapport à la tendance stochastique et comment les supprimer pour la rendre stationnaire et également une très bonne étude de la littérature sur ce sujet. Ils l'utilisent dans le contexte du réseau neuronal, mais il est utile pour un problème général de série temporelle. Leur dernière recommandation est quand il est clairement identifié comme une tendance déterministe, la tendance linéaire est dérivée, sinon appliquer la différenciation pour rendre les séries chronologiques stationnaires. Le jury est toujours là, mais la plupart des chercheurs cités dans cet article recommandent la différenciation par opposition à la tendance linéaire.
Éditer:
Ci-dessous se trouve une marche aléatoire avec un processus stochastique de dérive, utilisant une variable exogène et une différence d'arima. Les deux semblent donner la même réponse et, en substance, ils sont identiques.
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
J'espère que cela t'aides!