¿Qué prueba de Dickey-Fuller para una serie temporal modelada con una intercepción / deriva y una tendencia lineal?


16

Version corta:

Tengo una serie temporal de datos climáticos que estoy probando para la estacionariedad. Basado en investigaciones previas, espero que el modelo subyacente (o "que genera", por así decirlo) los datos tengan un término de intercepción y una tendencia de tiempo lineal positiva. Para probar la estacionariedad de estos datos, ¿debo usar la prueba Dickey-Fuller que incluye una intersección y una tendencia temporal, es decir, la ecuación # 3 ?

yt=α0+α1t+δyt1+ut

¿O debería usar la prueba DF que solo incluye una intersección porque la primera diferencia de la ecuación que creo que subyace en el modelo solo tiene una intersección?

Versión larga:

Como se indicó anteriormente, tengo una serie temporal de datos climáticos que estoy probando para la estacionariedad. Basado en investigaciones previas, espero que el modelo subyacente a los datos tenga un término de intercepción, una tendencia de tiempo lineal positiva y algunos términos de error normalmente distribuidos. En otras palabras, espero que el modelo subyacente se vea así:

yt=un0 0+un1t+βyt-1+tut

donde se distribuye normalmente. Como supongo que el modelo subyacente tiene tanto una intersección como una tendencia de tiempo lineal, probé una raíz unitaria con la ecuación # 3 de la simple prueba de Dickey-Fuller, como se muestra:tut

yt=α0 0+α1t+δyt-1+tut

Esta prueba devuelve un valor crítico que me llevaría a rechazar la hipótesis nula y concluir que el modelo subyacente no es estacionario. Sin embargo, me pregunto si estoy aplicando esto correctamente, ya que aunque se supone que el modelo subyacente tiene una intersección y una tendencia temporal, esto no implica que la primera diferencia haga. Todo lo contrario, de hecho, si mis cálculos son correctos.yt

El cálculo de la primera diferencia basada en la ecuación del modelo subyacente supuesto da: yt=ytyt1=[a0+a1t+βyt1+ut][a0+a1(t1)+βyt2+ut1]

yt=[un0 0-un0 0]+[un1t-unt(t-1)]+β[yt-1-yt-2]+[tut-tut-1]

yt=un1+βyt-1+tut-tut-1

Por lo tanto, la primera diferencia parece tener solo una intersección, no una tendencia temporal.yt

Creo que mi pregunta es similar a esta , excepto que no estoy seguro de cómo aplicar esa respuesta a mi pregunta.

Data de muestra:

Aquí están algunos de los datos de temperatura de muestra con los que estoy trabajando.

64.19749  
65.19011  
64.03281  
64.99111  
65.43837  
65.51817  
65.22061  
65.43191  
65.0221  
65.44038  
64.41756  
64.65764  
64.7486  
65.11544  
64.12437  
64.49148  
64.89215  
64.72688  
64.97553  
64.6361  
64.29038  
65.31076  
64.2114  
65.37864  
65.49637  
65.3289  
65.38394  
65.39384  
65.0984  
65.32695  
65.28  
64.31041  
65.20193  
65.78063  
65.17604  
66.16412  
65.85091  
65.46718  
65.75551  
65.39994  
66.36175  
65.37125  
65.77763  
65.48623  
64.62135  
65.77237  
65.84289  
65.80289  
66.78865  
65.56931  
65.29913  
64.85516  
65.56866  
64.75768  
65.95956  
65.64745  
64.77283  
65.64165  
66.64309  
65.84163  
66.2946  
66.10482  
65.72736  
65.56701  
65.11096  
66.0006  
66.71783  
65.35595  
66.44798  
65.74924  
65.4501  
65.97633  
65.32825  
65.7741  
65.76783  
65.88689  
65.88939  
65.16927  
64.95984  
66.02226  
66.79225  
66.75573  
65.74074  
66.14969  
66.15687  
65.81199  
66.13094  
66.13194  
65.82172  
66.14661  
65.32756  
66.3979  
65.84383  
65.55329  
65.68398  
66.42857  
65.82402  
66.01003  
66.25157  
65.82142  
66.08791  
65.78863  
66.2764  
66.00948  
66.26236  
65.40246  
65.40166  
65.37064  
65.73147  
65.32708  
65.84894  
65.82043  
64.91447  
65.81062  
66.42228  
66.0316  
65.35361  
66.46407  
66.41045  
65.81548  
65.06059  
66.25414  
65.69747  
65.15275  
65.50985  
66.66216  
66.88095  
65.81281  
66.15546  
66.40939  
65.94115  
65.98144  
66.13243  
66.89761  
66.95423  
65.63435  
66.05837  
66.71114 

1
No sé si lo que contiene este enlace ( tamino.wordpress.com/2010/03/11/not-a-random-walk ) responde a su pregunta, pero pensé que probablemente le interesaría de todos modos.
Matt Albrecht

@MattAlbrecht Ese es un enlace muy interesante. Todavía estoy confundido sobre cómo debo aplicar la prueba Dickey-Fuller a mi serie de tiempo original. Traté de agregar información más relevante en mi edición reciente.
Ricardo Altamirano

Lo siento, no puedo darte una mejor respuesta: no estoy tan por encima de mi análisis de series de tiempo. Sin embargo, es posible que también le interese esta pregunta que le hice recientemente ( stats.stackexchange.com/questions/27748 ), que también se encuentra en las series de tiempo climáticas y tiene un análisis detallado y agradable sobre la temperatura frente al CO2 de una serie de tiempo pro. ¿Podría ayudar a otros si también tuvieras algunos datos que pudiste publicar?
Matt Albrecht

@MattAlbrecht Agregué algunos datos de muestra. ¿Hay un mejor formato para incluirlo?
Ricardo Altamirano

Respuestas:


19

Debe considerar la deriva y la tendencia (paramétrica / lineal) en los niveles de las series de tiempo para especificar los términos deterministas en la regresión aumentada de Dickey-Fuller, que se refiere a las primeras diferencias de las series de tiempo. La confusión surge exactamente de derivar la ecuación de las primeras diferencias en la forma en que lo has hecho.

(Aumentado) modelo de regresión de Dickey-Fuller

Suponga que los niveles de la serie incluyen un término de deriva y tendencia La hipótesis nula de no estacionariedad en este caso sería H 0

Yt=β0 0,l+β1,lt+β2,lYt-1+εt
.H0 0:β2,l=1

Una ecuación para las primeras diferencias implicadas por este proceso de generación de datos [DGP], es la que ha derivado Sin embargo, esto es no la regresión de Dickey Fuller (aumentada) como se usó en la prueba.

ΔYt=β1,l+β2,lΔYt-1+Δεt

En cambio, se puede obtener la versión correcta restando de ambos lados de la primera ecuación, lo que resulta en Δ Y tYt-1 Estaes la regresión Dickey-Fuller (aumentada), y la versión equivalente de la hipótesis nula de no estacionariedad es la pruebaH0

ΔYt=β0 0,l+β1,lt+(β2,l-1)Yt-1+εtβ0 0,re+β1,ret+β2,reYt-1+εt
que es solo una prueba t usando la estimación de MCO de β 2 , d en la regresión anterior. Tenga en cuenta que la deriva y la tendencia llegan a esta especificación sin cambios.H0 0:β2,re=0 0β2,re

Un punto adicional a tener en cuenta es que si no está seguro de la presencia de la tendencia lineal en los niveles de las series de tiempo, puede probar conjuntamente la tendencia lineal y la raíz unitaria, es decir, H0 0:[β2,re,β1,l]=[0 0,0 0]ur.dfurca

Consideremos algunos ejemplos en detalle.

Ejemplos

1. Usando la serie de inversiones de EE. UU.

El primer ejemplo utiliza la serie de inversiones de EE. UU. Que se analiza en Lutkepohl y Kratzig (2005, p. 9) . La trama de la serie y su primera diferencia se dan a continuación.

ingrese la descripción de la imagen aquí

ΔYt=β0 0,re+β2,reYt-1+j=13 3γjΔYt-j+εt
Tenga en cuenta el punto clave que he visto en los niveles para especificar la ecuación de regresión en las diferencias.

El código R para hacer esto se da a continuación:

    library(urca)
    library(foreign)
    library(zoo)

    tsInv <- as.zoo(ts(as.data.frame(read.table(
      "http://www.jmulti.de/download/datasets/US_investment.dat", skip=8, header=TRUE)), 
                       frequency=4, start=1947+2/4))
    png("USinvPlot.png", width=6,
        height=7, units="in", res=100)
    par(mfrow=c(2, 1))
    plot(tsInv$USinvestment)
    plot(diff(tsInv$USinvestment))
    dev.off()

    # ADF with intercept
    adfIntercept <- ur.df(tsInv$USinvestment, lags = 3, type= 'drift')
    summary(adfIntercept)

H:[β2,re,β0 0,l]=[0 0,0 0]

2. Uso de series de consumo alemanas (log)

El segundo ejemplo es el uso de la serie temporal trimestral alemana de consumo (logarítmico). La trama de la serie y sus diferencias se dan a continuación.

ingrese la descripción de la imagen aquí

ΔYt=β0 0,re+β1,ret+β2,reYt-1+j=14 4γjΔYt-j+εt

El código R para hacer esto es

# using the (log) consumption series
tsConsump <- zoo(read.dta("http://www.stata-press.com/data/r12/lutkepohl2.dta"), frequency=1)
png("logConsPlot.png", width=6,
    height=7, units="in", res=100)
par(mfrow=c(2, 1))
plot(tsConsump$ln_consump)
plot(diff(tsConsump$ln_consump))
dev.off()

# ADF with trend
adfTrend <- ur.df(tsConsump$ln_consump, lags = 4, type = 'trend')
summary(adfTrend)

H:[β2,re,β1,l]=[0 0,0 0]

3. Usando datos de temperatura dados

Ahora podemos evaluar las propiedades de sus datos. Las gráficas habituales en niveles y primeras diferencias se dan a continuación.

ingrese la descripción de la imagen aquí

Estos indican que sus datos tienen una intersección y una tendencia, por lo que realizamos la prueba ADF (sin términos de primera diferencia rezagados), utilizando el siguiente código R

# using the given data
tsTemp <- read.table(textConnection("temp 
64.19749  
65.19011  
64.03281  
64.99111  
65.43837  
65.51817  
65.22061  
65.43191  
65.0221  
65.44038  
64.41756  
64.65764  
64.7486  
65.11544  
64.12437  
64.49148  
64.89215  
64.72688  
64.97553  
64.6361  
64.29038  
65.31076  
64.2114  
65.37864  
65.49637  
65.3289  
65.38394  
65.39384  
65.0984  
65.32695  
65.28  
64.31041  
65.20193  
65.78063  
65.17604  
66.16412  
65.85091  
65.46718  
65.75551  
65.39994  
66.36175  
65.37125  
65.77763  
65.48623  
64.62135  
65.77237  
65.84289  
65.80289  
66.78865  
65.56931  
65.29913  
64.85516  
65.56866  
64.75768  
65.95956  
65.64745  
64.77283  
65.64165  
66.64309  
65.84163  
66.2946  
66.10482  
65.72736  
65.56701  
65.11096  
66.0006  
66.71783  
65.35595  
66.44798  
65.74924  
65.4501  
65.97633  
65.32825  
65.7741  
65.76783  
65.88689  
65.88939  
65.16927  
64.95984  
66.02226  
66.79225  
66.75573  
65.74074  
66.14969  
66.15687  
65.81199  
66.13094  
66.13194  
65.82172  
66.14661  
65.32756  
66.3979  
65.84383  
65.55329  
65.68398  
66.42857  
65.82402  
66.01003  
66.25157  
65.82142  
66.08791  
65.78863  
66.2764  
66.00948  
66.26236  
65.40246  
65.40166  
65.37064  
65.73147  
65.32708  
65.84894  
65.82043  
64.91447  
65.81062  
66.42228  
66.0316  
65.35361  
66.46407  
66.41045  
65.81548  
65.06059  
66.25414  
65.69747  
65.15275  
65.50985  
66.66216  
66.88095  
65.81281  
66.15546  
66.40939  
65.94115  
65.98144  
66.13243  
66.89761  
66.95423  
65.63435  
66.05837  
66.71114"), header=T)
tsTemp <- as.zoo(ts(tsTemp, frequency=1))

png("tempPlot.png", width=6,
    height=7, units="in", res=100)
par(mfrow=c(2, 1))
plot(tsTemp$temp)
plot(diff(tsTemp$temp))
dev.off()

# ADF with trend
adfTrend <- ur.df(tsTemp$temp, type = 'trend')
summary(adfTrend)

Los resultados tanto para la prueba t como para la prueba F indican que el nulo de no estacionariedad se puede rechazar para la serie de temperaturas. Espero que eso aclare un poco la cuestión.


55
Esta es una de las respuestas más claras y útiles que he recibido en la red de Stack Exchange y realmente aclara mi confusión sobre las pruebas de DF. Gracias.
Ricardo Altamirano

@RicardoAltamirano De nada. Me alegro de poder ayudar.
tchakravarty

2
De acuerdo, esta es una muy buena respuesta.
RAH

0

La hipótesis nula en la prueba de Dickey-Fuller es que hay una raíz unitaria en un proceso. Entonces, cuando rechaza el valor nulo, obtiene que su proceso es estacionario (con las advertencias habituales de la prueba de hipótesis).

En cuanto a tus matemáticas, la expresión

yt=α0 0+α1t+δyt-1+tut

no significa eso ytTiene una tendencia. Para decir que el proceso tiene una tendencia, su definición debe incluir solo ese proceso. En la ecuación anterior tienesyt por un lado, y yt-1por otro. Cuando expresasyt-1 en términos de yt-1 usted llega correctamente a la conclusión de que no hay tendencia en el proceso diferenciado, si el proceso inicial es estacionario.


0

Las respuestas anteriores fueron excelentes.

Por lo general, toma la decisión sobre qué prueba implementar según la trama. En este caso, los datos parecen tener una intersección y una tendencia.

Si prueba una raíz unitaria en niveles, usará un modelo de intercepción y tendencia. Si ejecuta la prueba en diferencias, usará solo un modelo de intercepción.

Acabo de responder esta pregunta porque debo recomendarle que use pruebas estacionales en estos datos. Estas pruebas son realmente complejas (trabajar con la estacionalidad no es fácil). Sin embargo, la naturaleza de los datos (temperatura) y porque en la gráfica se puede observar un comportamiento estacional. Luego, debe investigar sobre la prueba HEGY e implementarla si desea que sus estimaciones sean sólidas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.