Interpretación de los resultados de R ur.df (Dickey-Fuller unit root test)


12

Estoy ejecutando la siguiente prueba de raíz unitaria (Dickey-Fuller) en una serie de tiempo usando la ur.df()función en el urcapaquete.

El comando es:

summary(ur.df(d.Aus, type = "drift", 6))

El resultado es:

############################################### 
# Augmented Dickey-Fuller Test Unit Root Test # 
############################################### 

Test regression drift 


Call:
lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)

Residuals:
      Min        1Q    Median        3Q       Max 
-0.266372 -0.036882 -0.002716  0.036644  0.230738 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)   
(Intercept)  0.001114   0.003238   0.344  0.73089   
z.lag.1     -0.010656   0.006080  -1.753  0.08031 . 
z.diff.lag1  0.071471   0.044908   1.592  0.11214   
z.diff.lag2  0.086806   0.044714   1.941  0.05279 . 
z.diff.lag3  0.029537   0.044781   0.660  0.50983   
z.diff.lag4  0.056348   0.044792   1.258  0.20899   
z.diff.lag5  0.119487   0.044949   2.658  0.00811 **
z.diff.lag6 -0.082519   0.045237  -1.824  0.06874 . 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

Residual standard error: 0.06636 on 491 degrees of freedom
Multiple R-squared: 0.04211,    Adjusted R-squared: 0.02845 
F-statistic: 3.083 on 7 and 491 DF,  p-value: 0.003445 


Value of test-statistic is: -1.7525 1.6091 

Critical values for test statistics: 
      1pct  5pct 10pct
tau2 -3.43 -2.86 -2.57
phi1  6.43  4.59  3.78
  1. ¿Qué significan los códigos de significación (códigos de significación)? Me di cuenta de que algunos de ellos estaban escritos contra: z.lag.1, z.diff.lag.2, z.diff.lag.3 (el código de significación ".") Y z.diff.lag.5 (el " ** "código de importancia).

  2. La salida me da dos (2) valores de estadística de prueba: -1.7525 y 1.6091. Sé que la estadística de prueba ADF es la primera (es decir, -1.7525). ¿Cuál es el segundo entonces?

  3. Finalmente, para probar la hipótesis de la raíz unitaria al nivel de significación del 95%, necesito comparar mi estadística de prueba ADF (es decir, -1.7525) con un valor crítico, que normalmente obtengo de una tabla. El resultado aquí parece darme los valores críticos a través. Sin embargo, la pregunta es: qué valor crítico entre "tau2" y "phi1" debería usar.

Gracias por su respuesta.


1 - los códigos significantes deben estar claros ... el rezago tiene una estrella doble, por lo que es p = 0.01 2- esas pruebas H0 diferentes: "ninguno" o "deriva" o "tendencia" 3- valores críticos, de nuevo, lo mismo, depende de H0, que desea tener en cuenta
joint_p

@joint_p Lo siento, pero solo soy un principiante. Sus respuestas fueron muy directas. ¿Podría por favor dar más detalles sobre lo que dijo? Yo realmente lo apreciaría. Gracias.
SavedByJESUS

amazon.com/Analysis-Integrated-Cointegrated-Time-Use/dp/… este es un libro muy bueno, solía estudiar con él
joint_p

Respuestas:


17

Parece que los creadores de este comando R en particular presumen que uno está familiarizado con las fórmulas originales de Dickey-Fuller, por lo que no proporcionó la documentación relevante sobre cómo interpretar los valores. Descubrí que Enders era un recurso increíblemente útil (Applied Econometric Time Series 3e, 2010, p. 206-209; imagino que otras ediciones también estarían bien). A continuación utilizaré los datos del paquete URCA, el ingreso real en Dinamarca como ejemplo.

> income <- ts(denmark$LRY)

Puede ser útil describir primero las 3 fórmulas diferentes que Dickey-Fuller usó para obtener diferentes hipótesis, ya que coinciden con las opciones de "tipo" ur.df. Enders especifica que en todos estos 3 casos, el término consistente utilizado es gamma, el coeficiente para el valor anterior de y, el término de retraso. Si gamma = 0, entonces hay una raíz unitaria (caminata aleatoria, no estacionaria). Donde la hipótesis nula es gamma = 0, si p <0.05, entonces rechazamos el nulo (al nivel del 95%), y suponemos que no hay raíz unitaria. Si no podemos rechazar el valor nulo (p> 0.05), entonces suponemos que existe una raíz unitaria. A partir de aquí, podemos proceder a interpretar los tau y los phi.

Δy(t)=γy(t1)+e(t)

e(t)γ=a1y=ay(t1)+e(t)y(t1)

Para type = "none", tau (o tau1 en la salida R) es la hipótesis nula para gamma = 0. Usando el ejemplo de ingresos de Dinamarca, obtengo "El valor del estadístico de prueba es 0.7944" y los "Valores críticos para las estadísticas de prueba son : tau1 -2.6 -1.95 -1.61 Dado que el estadístico de prueba se encuentra dentro de las 3 regiones (1%, 5%, 10%) donde no rechazamos el valor nulo, debemos suponer que los datos son una caminata aleatoria, es decir que una raíz unitaria está presente. En este caso, el tau1 se refiere a la hipótesis gamma = 0. El "z.lag1" es el término gamma, el coeficiente para el término de retraso (y (t-1)), que es p = 0.431, que no podemos rechazar como significativo, simplemente implica que gamma no es estadísticamente significativo para este modelo. Aquí está la salida de R

> summary(ur.df(y=income, type = "none",lags=1))
> 
> ############################################### 
> # Augmented Dickey-Fuller Test Unit Root Test # 
> ############################################### 
> 
> Test regression none 
> 
> 
> Call:
> lm(formula = z.diff ~ z.lag.1 - 1 + z.diff.lag)
> 
> Residuals:
>       Min        1Q    Median        3Q       Max 
> -0.044067 -0.016747 -0.006596  0.010305  0.085688 
> 
> Coefficients:
>             Estimate Std. Error t value Pr(>|t|)
> z.lag.1    0.0004636  0.0005836   0.794    0.431
> z.diff.lag 0.1724315  0.1362615   1.265    0.211
> 
> Residual standard error: 0.0251 on 51 degrees of freedom
> Multiple R-squared:  0.04696,   Adjusted R-squared:  0.009589 
> F-statistic: 1.257 on 2 and 51 DF,  p-value: 0.2933
> 
> 
> Value of test-statistic is: 0.7944 
> 
> Critical values for test statistics: 
>      1pct  5pct 10pct
> tau1 -2.6 -1.95 -1.61

Δy(t)=a0+γy(t1)+e(t)

γ=0γ=0
El término phi1 se refiere a la segunda hipótesis, que es una hipótesis nula combinada de a0 = gamma = 0. Esto significa que AMBOS valores son probados como 0 al mismo tiempo. Si p <0.05, rechazamos el valor nulo, y suponemos que AL MENOS uno de estos es falso, es decir, uno o ambos términos a0 o gamma no son 0. No rechazar este valor nulo implica que AMBOS a0 Y gamma = 0, lo que implica 1) que gamma = 0, por lo tanto, está presente una raíz unitaria, Y 2) a0 = 0, por lo que no hay término de deriva. Aquí está la salida R

> summary(ur.df(y=income, type = "drift",lags=1))
> 
> ############################################### 
> # Augmented Dickey-Fuller Test Unit Root Test # 
> ############################################### 
> 
> Test regression drift 
> 
> 
> Call:
> lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)
> 
> Residuals:
>       Min        1Q    Median        3Q       Max 
> -0.041910 -0.016484 -0.006994  0.013651  0.074920 
> 
> Coefficients:
>             Estimate Std. Error t value Pr(>|t|)
> (Intercept)  0.43453    0.28995   1.499    0.140
> z.lag.1     -0.07256    0.04873  -1.489    0.143
> z.diff.lag   0.22028    0.13836   1.592    0.118
> 
> Residual standard error: 0.0248 on 50 degrees of freedom
> Multiple R-squared:  0.07166,   Adjusted R-squared:  0.03452 
> F-statistic:  1.93 on 2 and 50 DF,  p-value: 0.1559
> 
> 
> Value of test-statistic is: -1.4891 1.4462 
> 
> Critical values for test statistics: 
>       1pct  5pct 10pct
> tau2 -3.51 -2.89 -2.58
> phi1  6.70  4.71  3.86

Δy(t)=a0+gammay(t1)+a2(t)+e(t)

(donde a2 (t) es un término de tendencia de tiempo) Las hipótesis (de Enders p. 208) son las siguientes: tau: gamma = 0 phi3: gamma = a2 = 0 phi2: a0 = gamma = a2 = 0 Esto es similar a La salida R. En este caso, las estadísticas de prueba son -2.4216 2.1927 2.9343 En todos estos casos, estos se encuentran dentro de las zonas de "no rechazar el nulo" (ver valores críticos a continuación). Lo que implica tau3, como arriba, es que no podemos rechazar el valor nulo de raíz unitaria, lo que implica que una raíz unitaria está presente. No rechazar phi3 implica dos cosas: 1) gamma = 0 (raíz unitaria) Y 2) no hay término de tendencia de tiempo, es decir, a2 = 0. Si rechazamos este valor nulo, implicaría que uno o ambos de estos términos no eran 0. No rechazar phi2 implica 3 cosas: 1) gamma = 0 Y 2) sin término de tendencia de tiempo Y 3) sin término de deriva, es decir, ese gamma = 0, que a0 = 0, y que a2 = 0.
Aquí está la salida R

> summary(ur.df(y=income, type = "trend",lags=1))
> 
> ############################################### 
> # Augmented Dickey-Fuller Test Unit Root Test # 
> ############################################### 
> 
> Test regression trend 
> 
> 
> Call:
> lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
> 
> Residuals:
>       Min        1Q    Median        3Q       Max 
> -0.036693 -0.016457 -0.000435  0.014344  0.074299 
> 
> Coefficients:
>               Estimate Std. Error t value Pr(>|t|)  
> (Intercept)  1.0369478  0.4272693   2.427   0.0190 *
> z.lag.1     -0.1767666  0.0729961  -2.422   0.0192 *
> tt           0.0006299  0.0003348   1.881   0.0659 .
> z.diff.lag   0.2557788  0.1362896   1.877   0.0665 .
> ---
> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
> 
> Residual standard error: 0.02419 on 49 degrees of freedom
> Multiple R-squared:  0.1342,    Adjusted R-squared:  0.08117 
> F-statistic: 2.531 on 3 and 49 DF,  p-value: 0.06785
> 
> 
> Value of test-statistic is: -2.4216 2.1927 2.9343 
> 
> Critical values for test statistics: 
>       1pct  5pct 10pct
> tau3 -4.04 -3.45 -3.15
> phi2  6.50  4.88  4.16
> phi3  8.73  6.49  5.47

En su ejemplo específico anterior, para los datos de d.Aus, dado que ambas estadísticas de prueba están dentro de la zona de "falla de rechazo", implica que gamma = 0 Y a0 = 0, lo que significa que hay una raíz unitaria, pero sin término de deriva.


@ Jeremy, en su respuesta detallada, parte 3 (con tendencia), mencionó "En este caso, las estadísticas de la prueba son -2.4216 2.1927 2.9343. En todos estos casos, estos caen dentro de las zonas de" no rechazar el nulo "(ver crítica valores a continuación) ". Mi pregunta es si 2.1927 es estadística de prueba para phi2, ¿debería verificarse con phi2 6.50 4.88 4.16? Y si eso es correcto, ¿cuál es la condición para aceptar el phi2 H0 (raíz unitaria sin tendencia y deriva)?
Saraz

5

Como ya se señaló en la articulación p, los códigos de significación son bastante estándar y corresponden a los valores de p, es decir, la significación estadística de una prueba de hipótesis. un valor p de .01 significa que la conclusión es cierta dentro del 99% de confianza.

El artículo de Wikipedia sobre Dickey-Fuller describe las tres versiones de la prueba Dickey-Fuller: "raíz unitaria", "raíz unitaria con deriva" y "raíz unitaria con deriva y tendencia temporal determinista", o lo que se menciona en el urcadocumentación como type = "none", "drift" y "trend", respectivamente.

Cada una de estas pruebas es una regresión lineal progresivamente más compleja. En todos ellos está la raíz, pero en la deriva también hay un coeficiente de deriva, y en la tendencia también hay un coeficiente de tendencia. Cada uno de estos coeficientes tiene un nivel de significación asociado. Si bien la importancia del coeficiente raíz es el enfoque más importante y principal de la prueba DF, también podríamos estar interesados ​​en saber si la tendencia / deriva es estadísticamente significativa también. Después de jugar con los diferentes modos y ver qué coeficientes aparecen / desaparecen en las pruebas t, pude identificar fácilmente qué coeficiente correspondía a qué prueba t.

Se pueden escribir de la siguiente manera (desde la página wiki):

Δyt=δyt1+ut

Δyt=δyt1+a0+ut

Δyt=δyt1+a0+a1t+ut

δa0a1δa0a1


1

Resumen de las pruebas de Dickey Fuller

Más información en las notas de clase de Roger Perman sobre pruebas de raíz unitaria

Consulte también la tabla 4.2 en Enders, series de tiempo econométricas aplicadas (4e), que resume las diferentes hipótesis a las que se refieren estas estadísticas de prueba. El contenido está de acuerdo con la imagen proporcionada anteriormente.


1

Encontré la respuesta de Jeramy bastante fácil de seguir, pero constantemente me encontraba tratando de recorrer la lógica correctamente y cometiendo errores. Codifiqué una función R que interpreta cada uno de los tres tipos de modelos, y da advertencias si hay inconsistencias o resultados no concluyentes (no creo que haya inconsistencias si entiendo las matemáticas del ADF correctamente, pero aún creo que es una buena idea verificar en caso de que la función ur.df tenga algún defecto).

Por favor echa un vistazo. Feliz de recibir comentarios / correcciones / mejoras.

https://gist.github.com/hankroark/968fc28b767f1e43b5a33b151b771bf9


Parece que su función se realizó con muchos esfuerzos; sin embargo, agregar un ejemplo reproducible sería útil. Es posible que desee elegir una serie de tiempo (tal vez una ya disponible en R o en un paquete) ejecute la prueba completa de dickey en ella y luego use su función solo para que las personas interesadas vean lo que hace.
GuardadoBYJESUS

0

Publicaciones y respuestas muy interesantes. Solo tengo una duda con respecto a la tabla explicada por user3096626. ¿Qué software informa en la salida de prueba del ADF los valores de \tau_{\alpha \mu}, \tau_{\alpha \tau}y \tau_{\beta \tau}? Obviamente, R no


-4

phi1 phi2 phi3 son equivalentes a las pruebas F en el marco de ADF


44
¿Puedes ampliar un poco esta respuesta? Por el momento es algo críptico. ¿Por qué deberían ser equivalentes?
Andy
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.