¿Se puede modelar una serie estacionaria de tendencia con ARIMA?

12

Tengo una pregunta / confusión sobre las series estacionarias requeridas para modelar con ARIMA (X). Estoy pensando en esto más en términos de inferencia (efecto de una intervención), pero me gustaría saber si el pronóstico versus la inferencia hace alguna diferencia en la respuesta.

Pregunta:

Todos los recursos introductorios que he leído afirman que la serie debe ser estacionaria, lo que tiene sentido para mí y ahí es donde entra el "yo" en arima (diferencia).

Lo que me confunde es el uso de tendencias y desviaciones en ARIMA (X) e implicaciones (si las hay) para los requisitos estacionarios.

¿El uso de un término constante / deriva y / o una variable de tendencia como una variable exógena (es decir, agregando 't' como regresor) niega el requisito de que la serie sea estacionaria? ¿La respuesta es diferente dependiendo de si la serie tiene una raíz unitaria (por ejemplo, prueba adf) o tiene una tendencia determinista pero no una raíz unitaria?

O

¿Una serie siempre tiene que ser estacionaria, hecha a través de la diferenciación y / o la reducción de tendencia antes de usar ARIMA (X)?

B_Miner
fuente

Respuestas:

12

Al observar los comentarios, parece que no abordamos la pregunta sobre cómo elegir entre una tendencia determinista o estocástica. Es decir, cómo proceder en la práctica en lugar de las consecuencias o propiedades de cada caso.

Una forma de proceder es la siguiente: Comience aplicando la prueba ADF.

  • Si se rechaza el valor nulo de una raíz unitaria, hemos terminado. La tendencia (si la hay) se puede representar mediante una tendencia lineal determinista.
  • Si el valor nulo de la prueba ADF no se rechaza, aplicamos la prueba KPSS (donde la hipótesis nula es la opuesta, estacionariedad o estacionaria alrededor de una tendencia lineal).

    o Si se rechaza el nulo de la prueba KPSS, concluimos que hay una raíz unitaria y trabajamos con las primeras diferencias de los datos. Sobre las primeras diferencias de la serie, podemos probar la importancia de otros regresores o elegir un modelo ARMA.

    o Si el nulo de la prueba KPSS no se rechaza, entonces tendríamos que decir que los datos no son muy informativos porque no pudimos rechazar ninguna de las hipótesis nulas. En este caso, puede ser más seguro trabajar con las primeras diferencias de la serie.

Como se mencionó en una respuesta anterior, recuerde que estas pruebas pueden verse afectadas por la presencia de valores atípicos (por ejemplo, un valor atípico en un solo momento debido a un error al registrar los datos o un cambio de nivel debido, por ejemplo, a un cambio de política que afecta serie desde un punto de tiempo dado). Por lo tanto, es aconsejable verificar estos problemas también y repetir el análisis anterior después de incluir regresores para algunos posibles valores atípicos.

javlacalle
fuente
¡Increíble! ¿Fue correcta mi pregunta de comentario anterior de que si vemos lo que parece una tendencia, usamos la prueba ADF que incluye una tendencia (opción # 3 en el enlace que publiqué)?
B_Miner
Última pregunta: ¿qué opina de la situación en la que ajusta un ARIMA, digamos ARIMA (0,1,1) a una serie y la media de la diferencia no es cero? Esto significa que creo que agrega una constante al modelo, que también representa una tendencia lineal en la serie original. ¿Qué significa este caso? ¿La tendencia en la serie original es determinista porque diferenciar la serie no eliminó la tendencia?
B_Miner
@B_Miner Con respecto a su primer comentario, comenzaría por incluir solo una intercepción. Si la tendencia parece algo exponencial, también puede agregar el parámetro de pendiente de la tendencia lineal y ver si es significativa. En general, es mejor comenzar con un modelo con pocos parámetros y si el diagnóstico de los residuos no es satisfactorio, considere agregar otros elementos.
javlacalle
@B_Miner Tomar las primeras diferencias elimina una tendencia tanto determinista como estocástica. Si ve una tendencia en las series diferenciadas en un modelo con intercepción, entonces debería considerar tomar las diferencias nuevamente (es decir, probar una segunda raíz unitaria).
javlacalle
1
un1t+un2t2
5

Recuerde que hay diferentes tipos de no estacionariedad y diferentes formas de tratarlos. Cuatro comunes son:

1) Tendencias deterministas o tendencia estacionaria. Si su serie es de este tipo, elimínela o incluya una tendencia temporal en la regresión / modelo. Es posible que desee consultar el teorema de Frisch-Waugh-Lovell en este caso.

2) Desplazamientos de nivel y roturas estructurales. Si este es el caso, debe incluir una variable ficticia para cada descanso o si su muestra es lo suficientemente larga para modelar cada régimen por separado.

3) Cambio de varianza. Modele las muestras por separado o modele la variación cambiante utilizando la clase de modelado ARCH o GARCH.

4) Si su serie contiene una raíz unitaria. En general, debe verificar las relaciones de cointegración entre las variables, pero dado que le preocupa el pronóstico univariado, debe diferenciarlo una o dos veces según el orden de integración.

Para modelar una serie temporal utilizando la clase de modelado ARIMA, los siguientes pasos deberían ser apropiados:

1) Mire el ACF y el PACF junto con un diagrama de series de tiempo para ver si la serie es estacionaria o no estacionaria.

2) Probar la serie para una raíz unitaria. Esto se puede hacer con una amplia gama de pruebas, algunas de las más comunes son la prueba ADF, la prueba Phillips-Perron (PP), la prueba KPSS que tiene la nula estacionariedad o la prueba DF-GLS, que es la más eficiente de las pruebas antes mencionadas. ¡NOTA! Que en caso de que su serie contenga una ruptura estructural, estas pruebas están sesgadas para no rechazar el valor nulo de una raíz unitaria. En caso de que desee probar la robustez de estas pruebas y si sospecha que hay una o más roturas estructurales, debe usar pruebas endógenas de rotura estructural. Dos comunes son la prueba de Zivot-Andrews que permite una ruptura estructural endógena y la Clemente-Montañés-Reyes que permite dos rupturas estructurales. Este último permite dos modelos diferentes.

3) Si hay una raíz unitaria en la serie, entonces debe diferenciar la serie. Luego, debe ejecutar el análisis de ACF, PACF y el diagrama de series de tiempo y, probablemente, verificar que una segunda unidad raíz esté en el lado seguro. El ACF y el PACF lo ayudarán a decidir cuántos términos de AR y MA debe incluir.

4) Si la serie no contiene una raíz unitaria, pero el diagrama de la serie de tiempo y el ACF muestran que la serie tiene una tendencia determinista, debe agregar una tendencia al ajustar el modelo. Algunas personas argumentan que es completamente válido simplemente diferenciar la serie cuando contiene una tendencia determinista, aunque se puede perder información en el proceso. Sin embargo, es una buena idea diferenciarlo para ver que tiene muchos términos AR y / o MA que deberá incluir. Pero una tendencia temporal es válida.

5) Ajuste los diferentes modelos y realice la comprobación de diagnóstico habitual, es posible que desee utilizar un criterio de información o el MSE para seleccionar el mejor modelo dada la muestra en la que se ajusta.

6) Realice un pronóstico de muestra en los modelos mejor ajustados y calcule las funciones de pérdida como MSE, MAPE, MAD para ver cuál de ellos funciona mejor cuando los usa para pronosticar, ¡porque eso es lo que queremos hacer!

7) ¡Realice su pronóstico fuera de la muestra como un jefe y esté satisfecho con sus resultados!

Plissken
fuente
Y para responder tu pregunta rápidamente. Sí puede.
Plissken
No se me permitió comentar sobre lo anterior ya que no tengo suficiente reputación, pero quiero señalar que un proceso de ruido blanco es estacionario. ¡Su media y varianza no cambian con el tiempo, por lo que es estacionaria!
Plissken
Dan, gran respuesta! Con respecto a su último comentario aquí, ¿está diciendo que si termina con un ruido blanco residual, que es estacionario ... entonces le dice que ha modelado la serie de manera adecuada (es decir, ha abordado los problemas de estacionariedad de manera adecuada / adecuada)?
B_Miner
1
Sí exactamente. A menudo, la prueba Ljung-Box Q se usa para probar los residuos para ver si son aleatorios o no. En caso de que lo sean, el modelo es una representación adecuada de los datos. Algo que olvidé mencionar en la respuesta anterior también es que después de que haya ajustado el modelo, puede ver el gráfico de ACF y series temporales de los residuos de la serie ajustada. Esto le dará una buena indicación de si sus residuos son ruido blanco o no (el ACF no debería tener retrasos significativos). De todos modos, la mayoría de los paquetes estadísticos tienen un comando para la prueba Ljung-Box Q.
Plissken
Aquí está el enlace wiki para la prueba Ljung-Box Q: en.wikipedia.org/wiki/Ljung%E2%80%93Box_test
Plissken
5

Determinar si la tendencia (u otro componente como la estacionalidad) es determinista o estocástico es parte del rompecabezas en el análisis de series de tiempo. Agregaré un par de puntos a lo que se ha dicho.

1) La distinción entre tendencias deterministas y estocásticas es importante porque si una raíz unitaria está presente en los datos (por ejemplo, una caminata aleatoria), las estadísticas de prueba utilizadas para la inferencia no siguen la distribución tradicional. Vea esta publicación para algunos detalles y referencias.

Podemos simular una caminata aleatoria (tendencia estocástica donde se deben tomar las primeras diferencias), comprobar la importancia de la tendencia determinista y ver el porcentaje de casos en los que se rechaza la tendencia determinista nula. En R, podemos hacer:

require(lmtest)
iter <- 10000
cval <- 0.05
n <- 120
rejections <- 0
set.seed(123)
for (i in seq.int(iter))
{
  x <- cumsum(rnorm(n)) # random walk
  fit <- lm(x ~ seq(n))
  if (coeftest(fit)[2,"Pr(>|t|)"] < cval)
    rejections <- rejections + 1
}
100 * rejections / iter
#[1] 88.67

Al nivel de significancia del 5%, esperaríamos rechazar el valor nulo en el 95% de los casos, sin embargo, en este experimento se rechazó solo en ~ 89% de los casos de 10,000 caminatas aleatorias simuladas.

Podemos aplicar pruebas de raíz unitaria para probar si hay una raíz unitaria presente. Pero debemos ser conscientes de que una tendencia lineal a su vez puede conducir a la incapacidad de rechazar el valor nulo de una raíz unitaria. Para lidiar con esto, la prueba KPSS considera la nula de estacionariedad en torno a una tendencia lineal.

2) Otro tema es la interpretación de los componentes deterministas en un proceso en niveles o primeras diferencias. El efecto de una intersección no es el mismo en un modelo con una tendencia lineal que en una caminata aleatoria. Vea esta publicación para ilustración.

yt=μ+yt-1+ϵt,ϵtnorteyore(0 0,σ2).

yt-yoyt

yt=μ+yt-1μ+yt-2+ϵt-1+ϵt=2μ+yt-2μ+yt-3+ϵt-2+ϵt-1+ϵt=3μ+yt-3+ϵt-2+ϵt-1+ϵt...

Llegamos a:

yt=y0 0+μt+yo=1tϵyo

y0 0μμμ

Si la representación gráfica de una serie muestra una tendencia lineal relativamente clara, no podemos estar seguros de si se debe a la presencia de una tendencia lineal determinista o a una deriva en un proceso de recorrido aleatorio. Se deben aplicar gráficos complementarios y estadísticas de pruebas.

Hay algunas advertencias a tener en cuenta ya que un análisis basado en la raíz unitaria y otras estadísticas de prueba no es infalible. Algunas de estas pruebas pueden verse afectadas por la presencia de observaciones externas o cambios de nivel y requieren la selección de un orden de retraso que no siempre es sencillo.

Como solución a este rompecabezas, creo que la práctica común es tomar las diferencias de los datos hasta que la serie se vea estacionaria (por ejemplo, mirando la función de autocorrelación, que debería ir a cero rápidamente) y luego elegir un modelo ARMA.

javlacalle
fuente
Mensaje de Greta: ¡claramente eres un gran activo para este sitio! Tenía curiosidad mirando aquí y sus otras publicaciones: ¿es posible usar una prueba ADF o KPSS para determinar si lo que parece una tendencia en la serie en niveles es determinista o estocástico? Encontré esto: faculty.smu.edu/tfomby/eco6375/BJ%20Notes/ADF%20Notes.pdf, lo que hace que parezca que ves una tendencia visual en la serie, usa la opción # 3 de la prueba y si no la rechazas el nulo, tienes evidencia de una tendencia determinista.
B_Miner
Según el comentario de Dan, supongo que si obtienes residuos de ruido blanco, nada de esto importa :)
B_Miner
5

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.

  1. Simuló un proceso de AR
  2. Se agregó una tendencia determinista
  3. Usando ARIMAX modelado con tendencia como variable exógena las series anteriores sin diferenciar.
  4. 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 ingrese la descripción de la imagen aquí

AR (1) con tendencia determinista ingrese la descripción de la imagen aquí

ARIMAX Residual PACF con tendencia como exógena. Los residuos son aleatorios, sin patrón. ingrese la descripción de la imagen aquí

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!

pronosticador
fuente
También estoy interesado en otras vistas: no estoy seguro, ¿el ruido blanco residual cumple con el requisito de que la serie sea estacionaria, es decir, si logra el ruido blanco, puede estar satisfecho? ¿O la inclusión de la variable exógena en realidad está actuando para "des-tendencia" y hacer esta serie estacionaria? Me pregunto si una comprobación de esta pregunta posterior es si obtienes el mismo modelo (coeficiente ar1, etc.) si desvías la tendencia con regresión lineal y luego ajustas la arima (1,0,0) ... Hice esto y el Los resultados están cerca. Entonces, tal vez agregar la variable exógena es lo mismo que reducir la tendencia.
B_Miner
Sí, es lo mismo, hace unos meses me encontré con esto en un artículo de pronóstico de redes neuronales. Proporcionaré referencia si la encuentro.
pronosticador
¿Alguna idea sobre el caso cuando hay una raíz unitaria o cuando hay una constante en el modelo?
B_Miner
He actualizado mi respuesta con el artículo al que hacía referencia.
pronosticador
Creo que es posible que no lo hayas guardado.
B_Miner