¿Cómo saber si una serie temporal es estacionaria o no estacionaria?

30

Estoy utilizando R, busqué en Google y descubrí que kpss.test(), PP.test()y adf.test()se utilizan para saber acerca de la estacionariedad de las series temporales.

Pero no soy un estadístico, que puede interpretar sus resultados.

> PP.test(x)

     Phillips-Perron Unit Root Test
data:  x 
Dickey-Fuller = -30.649, Truncation lag parameter = 7, p-value = 0.01

> kpss.test(b$V1)

  KPSS Test for Level Stationarity
  data:  b$V1 
  KPSS Level = 0.0333, Truncation lag parameter = 3, p-value = 0.1

Warning message:
In kpss.test(b$V1) : p-value greater than printed p-value
> adf.test(x)

    Augmented Dickey-Fuller Test

data:  x 
Dickey-Fuller = -9.6825, Lag order = 9, p-value = 0.01
alternative hypothesis: stationary

Warning message:
In adf.test(x) : p-value smaller than printed p-value

Estoy tratando con miles de series de tiempo, amablemente les digo cómo verificar cuantitativamente la estacionariedad de las series de tiempo.

Sagar Nikam
fuente

Respuestas:

22

Probar si una serie es estacionaria versus no estacionaria requiere que considere una secuencia de hipótesis alternativas. Uno para cada Asunción Gaussiana listable. Hay que entender que los supuestos gaussianos tienen que ver con el proceso de error y no tienen nada que ver con la serie observada bajo evaluación. Como StasK resumió correctamente, esto podría incluir violaciones de la estacionariedad, como cambio medio, cambio de varianza, cambios en los parámetros del modelo a lo largo del tiempo. Por ejemplo, un conjunto de valores con tendencia al alza sería un ejemplo prima facie de una serie que en Y no era constante, mientras que los residuos de un modelo adecuado podrían describirse como que tienen una media constante. Por lo tanto, la serie original no es estacionaria en la media, pero la serie residual es estacionaria en su media. Si hay infracciones medias no mitigadas en las series residuales como Pulsos, Cambios de nivel, Pulsos estacionales y / o Tendencias de tiempo local, entonces las series residuales (no tratadas) pueden caracterizarse como no estacionarias en la media, mientras que una serie de variables indicadoras podrían ser detectado e incorporado fácilmente en el modelo para hacer que los residuos del modelo sean estacionarios en la media. Ahora bien, si la varianza de la serie original exhibe una varianza no estacionaria, es bastante razonable restringir un filtro / modelo para generar un proceso de error que tenga una varianza constante. Del mismo modo, los residuos de un modelo pueden tener una variación no constante que requiere uno de los tres remedios posibles: Pulsos estacionales y / o tendencias de tiempo local, entonces las series residuales (no tratadas) pueden caracterizarse como no estacionarias en la media, mientras que una serie de variables indicadoras podrían detectarse e incorporarse fácilmente en el modelo para hacer que los residuales del modelo sean estacionarios en la media . Ahora bien, si la varianza de la serie original exhibe una varianza no estacionaria, es bastante razonable restringir un filtro / modelo para generar un proceso de error que tenga una varianza constante. Del mismo modo, los residuos de un modelo pueden tener una variación no constante que requiere uno de los tres remedios posibles: Pulsos estacionales y / o tendencias de tiempo local, entonces las series residuales (no tratadas) pueden caracterizarse como no estacionarias en la media, mientras que una serie de variables indicadoras podrían detectarse e incorporarse fácilmente en el modelo para hacer que los residuales del modelo sean estacionarios en la media . Ahora bien, si la varianza de la serie original exhibe una varianza no estacionaria, es bastante razonable restringir un filtro / modelo para generar un proceso de error que tenga una varianza constante. Del mismo modo, los residuos de un modelo pueden tener una variación no constante que requiere uno de los tres remedios posibles: Ahora bien, si la varianza de la serie original exhibe una varianza no estacionaria, es bastante razonable restringir un filtro / modelo para generar un proceso de error que tenga una varianza constante. Del mismo modo, los residuos de un modelo pueden tener una variación no constante que requiere uno de los tres remedios posibles: Ahora bien, si la varianza de la serie original exhibe una varianza no estacionaria, es bastante razonable restringir un filtro / modelo para generar un proceso de error que tenga una varianza constante. Del mismo modo, los residuos de un modelo pueden tener una variación no constante que requiere uno de los tres remedios posibles:

  1. Mínimos cuadrados ponderados (ampliamente ignorados por algunos analistas)
  2. Una transformación de potencia para desacoplar el valor esperado de la varianza de los errores identificables mediante una prueba de Box-Cox y / o
  3. La necesidad de un modelo GARCH para tener en cuenta una estructura ARIMA evidente en los residuos al cuadrado. Continuando si los parámetros cambian con el tiempo O la forma del modelo cambia con el tiempo, entonces uno se enfrenta a la necesidad de detectar esta característica y remediarla con la segmentación de datos o la utilización de un enfoque TAR a la Tong.
IrishStat
fuente
34

La estacionariedad significa que la distribución marginal del proceso no cambia con el tiempo. Una forma más débil indica que la media y la varianza permanecen iguales con el tiempo. Entonces, cualquier cosa que lo viole se considerará no estacionaria, por cualquier razón tonta. Por ejemplo, un determinista no es estacionario, ya que su media sigue cambiando, aunque a primera vista, este es un proceso bastante simple y predecible.yt=pecadot

Todas las pruebas que está considerando tienen una alternativa específica en mente: un proceso de recorrido aleatorio o alguna modificación fácil (p. Ej., Incluir retrasos adicionales ,

yt=yt-1+ϵt
yt-2yt-3con coeficientes pequeños). Este es un modelo simple de un mercado financiero eficiente, donde no se puede utilizar información alguna para predecir los cambios futuros en los precios. La mayoría de los economistas piensan que sus series temporales provienen de los modelos ARIMA; Estas series de tiempo tienen períodos bien definidos cuando ocurren cosas (mes, trimestre o año), por lo que rara vez empeora que una serie de tiempo integrada para ellos. Por lo tanto, estas pruebas no están diseñadas para infracciones más complejas de la estacionariedad, como el cambio medio, el cambio de varianza, el cambio en los coeficientes autorregresivos, etc., aunque obviamente también se han desarrollado pruebas para estos efectos.

En ingeniería o ciencias naturales, es más probable que encuentre series de tiempo con problemas más complicados, como dependencia de largo alcance, integración fraccional, ruido rosa, etc. Con la falta de una guía clara de la descripción del proceso con respecto a las escalas de tiempo típicas ( ¿con qué frecuencia cambia el clima?), generalmente tiene más sentido analizar los datos en el dominio de la frecuencia (mientras que para los economistas, el dominio de la frecuencia es bastante claro: hay ciclos estacionales anuales, más ciclos comerciales de 3-4-5 años más largos) ; pocas sorpresas pueden ocurrir de otra manera).

Básicamente, te dije por qué no quieres hacer lo que te propusiste hacer. Si no comprende las series de tiempo, sería mejor encontrar a alguien que lo haga y pagar una tarifa de consultoría, en lugar de que su proyecto se arruine porque ha hecho algo tonto. Dicho esto, la solución formal a su problema sería rechazar la hipótesis nula de una serie estacionaria cuando, para una serie dada, al menos una prueba tiene un valor inferior a donde es el número total de serie, es el número de pruebas que realiza en ellos, es el nivel de significancia favorito del 5%, y toda la expresión se conoce como corrección de Bonferroni para pruebas múltiples. La salida no muestra el0,05 / ( 3 M ) M 3 0,05 ppags0,05/ /(3METRO)METRO30,05pags-valores con suficiente precisión, por lo que deberá extraerlos como miembros de la clase devueltos, como pp.test(x)$p.value. De todos modos, lo hará en ciclo, por lo que probablemente sea suficiente si suprime toda la salida y solo produce los nombres de las variables que fallan en la estacionariedad.

StasK
fuente
4

Las series de tiempo son estacionarias si su nivel medio y su varianza se mantienen estables en el tiempo. Puede leer más sobre este tema (con la especificación de las pruebas relevantes en R), en nuestra publicación ... http://www.statosphere.com.au/check-time-series-stationary-r/

STAToSphere
fuente
1
Comentario tardío, pero ¿qué quiere decir que la media y la varianza se mantienen constantes con el tiempo? Para un conjunto de datos dado, la media y la varianza son lo que son, ¿verdad? ¿O quiere decir que la media / var de todos los subconjuntos de datos debe ser igual?
Erik Vesterlund
2
Eché un vistazo a la página vinculada. Se afirma que "La prueba de Ljung-Box examina si existe evidencia significativa de correlaciones distintas de cero en los rezagos 1-20. Los valores p pequeños (es decir, menos de 0.05) sugieren que la serie es estacionaria". La conclusión es completamente errónea. Lo nulo es que las observaciones son iid. Rechazar el valor nulo basado en un valor p pequeño indica solo que hay al menos un retraso significativo. La conclusión en el sitio web significaría que la estacionalidad requiere una autocorrelación significativa durante al menos un retraso. Y eso no es cierto.
random_guy