UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS ECONÓMICAS
ESCUELA DE ECONOMÍA
METODOS PARA EL ANALISIS ECONOMICO
“LABORATORIO PARTE 3”
ALUMNOS:
HERNANDEZ ROMERO, ALAN ERNESTO HR15033
CANALES LOPEZ, JOSE MANUEL CL12025
MSF. CARLOS ADEMIR PÉREZ ALAS
CIUDAD UNIVERSITARIA, DICIEMBRE DE 2021
La econometría de series temporales se encuentra con un problema al medir las relaciones entre aquellas variables que tienen una tendencia temporal. Este problema puede llegar a que se consideren significativas relaciones completamente espurias.
Las variables que tienen una tendencia temporal definida se denominan “no estacionarias”. Las estimaciones de regresiones con variables no estacionarias son espurias salvo que estas estén cointegradas. Dos variables no estacionarias cointegradas son aquellas cuyos residuos son estacionarios.
La prueba de Dickey-Fuller es una prueba de raíz única que detecta estadísticamente la presencia de conducta tendencial estocástica en las series temporales de las variables mediante un contraste de hipótesis.
La Prueba de Dickey-Fuller busca determinar la existencia o no de raíces unitarias en una serie de tiempo. En otras palabras, nos permite saber si hay presencia significativa de tendencia en las series temporales de las variables mediante un contraste de hipótesis.
Establecemos como HIPOTESIS NULA la presencia de tendencia estocástica en las observaciones. En el caso de la HIPOTESIS ALTERNATIVA, establecemos no tendencia estocástica en las observaciones.
Cuando existe tendencia en una serie temporal en un modelo AR(1), el primer regresor tenderá a ser 1 o muy próximo a 1. Esto se debe a la propiedad de reversión a la media de un proceso estocástico estacionario.
En otras palabras, cuanto más cerca esté el primer coeficiente de un modelo AR(1) de 1, más tardarán las observaciones a volver al valor medio. Esto es sinónimo de no estacionariedad ya que, si el proceso estocástico fuera estable, este coeficiente sería menor a 1 o muy próximo a 0.
Entonces, podemos diferenciar entre tendencia o no tendencia estocástica en las observaciones en función del número que le asignemos al primer regresor de de la autoregresión.
Esquematicamente: Ho: (p-valor = 1) Tendencia estocastica en las series temporales. H1: (p-valor < 1) No tendencia estocastica en las series temporales.
¿Raíces unitarias?
Vamos a realizar tests de raíces unitarias, para analizar las propiedades de la estacionariedad, teniendo presente que cuando una serie o proceso tiene raíz unitaria, la serie no es estacionaria y los estimadores MCO no tienen distribución normal.
Existen dos procedimientos comunes para remover la tendencia de una serie temporal (1) primeras diferencias (2) regresión tendencial. Las primeras diferencias suelen ser apropiadas para series temporales integradas de orden uno -I(1)-; mientras que la regresión tendencial es apropiada para series con estacionariedad tendencial I(0). Los tests de raíces unitarias pueden ser usados para determinar si una serie con tendencia primero deber ser diferenciada o hacer una regresión tendencial, esto es, si hay estacionariedad tendencial o diferencial.
Para realizar la prueba de Dickey-Fuller en R se hace uso de la función ur.df() de la librería urca.
set.seed(10)
x = rnorm(100)
w = rnorm(100)
for (i in 2:100) {
x[i] <- x[i - 1] + w[i]
}El grafico es el siguiente:
plot(x,type="l")Estadistico de prueba
Se hara el analisis de la raiz unitaria:
library(urca)
df = ur.df(x, type="none", lags = 0)Criterio de decision
Los resultados podrán verso haciendo un summary:
summary(df)##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression none
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 - 1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.31407 -0.86346 0.07963 0.66540 2.03542
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## z.lag.1 -0.009083 0.031521 -0.288 0.774
##
## Residual standard error: 0.9757 on 98 degrees of freedom
## Multiple R-squared: 0.0008466, Adjusted R-squared: -0.009349
## F-statistic: 0.08304 on 1 and 98 DF, p-value: 0.7738
##
##
## Value of test-statistic is: -0.2882
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau1 -2.6 -1.95 -1.61
Ya que el valor calculado de 0.288 es menor en términos absolutos a lo valores de tau, la hipótesis nula es aceptada, por lo tanto, existe raíz unitaria y la serie no es estacionaria.
Interpretacion
Otra forma es haciendo uso de la función adf.test() de la librería tseries.
library(tseries)
adf.test(x,k=0)##
## Augmented Dickey-Fuller Test
##
## data: x
## Dickey-Fuller = -1.9334, Lag order = 0, p-value = 0.6042
## alternative hypothesis: stationary
El p-valor es 0.6042, lo que nos dice que la hipótesis nula es aceptada y por lo tanto la serie no es estacionaria.
Se hará la prueba a la serie VARVE del paquete astsa
Varves (depósitos sedimentarios) se pueden utilizar como sustitutos de parámetros paleoclimáticos, como la temperatura.
library(astsa)
tsplot(varve, main="varve", ylab="")Transformacion logaritmica:
tsplot(log(varve), main="log(varve)", ylab="" )adf.test(log(varve), k=0)##
## Augmented Dickey-Fuller Test
##
## data: log(varve)
## Dickey-Fuller = -12.857, Lag order = 0, p-value = 0.01
## alternative hypothesis: stationary
adf.test(log(varve))##
## Augmented Dickey-Fuller Test
##
## data: log(varve)
## Dickey-Fuller = -3.5166, Lag order = 8, p-value = 0.04071
## alternative hypothesis: stationary
En cada prueba se rechaza la hipótesis nula que la transformación logarítmica de la serie varve (log(varve)) tiene raices unitarias.
De acuerdo a (Mendoza González and Quintana Romero, n.d.), el próposito de la Prueba de Soren Johansen se utiliza para verificar la existencia o no de cointegraccion entre dos o mas series temporales .El procedimiento de Johansen no es más que una generalización multivariante de los tests de raíces unitarias.
Principales caracteristicas se tienen:
Aplicable a sistemas de ecuaciones Este método está basado en modelos VAR (Vectores autorregresivos). Es un test de máxima verosimilitud que requiere grandes volúmenes de datos (100 ó más) Prueba la existencia de múltiples vectores de cointegración entre las variables, mediante la prueba de la Traza y del Eigenvalue máximo
##REGLA DE DECISIÓN
\[Ho:r=0NoexisteCointegración\]
\[H1:r=mExisteCointegración\]
Librería que se utiliza en esta prueba son las siguientes:
• library(urca)
Prueba de Soren Johansen johansen<-ca.jo(coint, type=“trace,” spec = “transitory,” ecdet = “none,” K = 2) summary(johansen) El summary es para la visualización de la prueba
Criterio de Decición
H0:r=0 Se rechaza
Se puede afirmar que en la serie de tiempo no existe cointegración.
H1:r=m No se rechaza
Se puede afirmar que en la serie de tiempo existe cointegración
Se puede afirmar que si el estadistico de Prueba es mayor que el valor critico se tendran las evidencias suficientes para rechazar la Hipotesis Nula H0:r=0, aseverando de esta manera que en la serie existe cointegración.
library(readxl)
coint <- read_excel("C:/Users/Logistica4sv/Desktop/ALAN HERNANDEZ/UES 2021/METODOS/LAB 3/coint.xls")#Librerias a Utilizar
library(tidyverse)
library(lubridate)
library(car)
library(astsa)
library(tseries)
library(forecast)
library(foreign)
library(timsac)
library(vars)
library(mFilter)
library(dynlm)
library(nlme)
attach(coint)
names(coint)## [1] "DPI" "PCE"
class(coint)## [1] "tbl_df" "tbl" "data.frame"
#Generar Logaritmos
LoPCE=log(PCE)
LoDPI=log(DPI)
#Creamos variables de series de tiempo
DPI.ts=ts(LoDPI,start = c(1947,1),end = (2007),frequency = 4)
PCE.ts=ts(LoPCE,start = c(1947,1),end = (2007),frequency = 4)
datos1=cbind(DPI.ts,PCE.ts)
plot(cbind(DPI.ts,PCE.ts),main="Tendencia")#Generamos el modelo
Modelo1=lm(PCE.ts~DPI.ts)
summary(Modelo1)##
## Call:
## lm(formula = PCE.ts ~ DPI.ts)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.061896 -0.018582 -0.001761 0.017139 0.077003
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.181927 0.023600 -7.709 3.4e-13 ***
## DPI.ts 1.009757 0.002907 347.360 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02726 on 239 degrees of freedom
## Multiple R-squared: 0.998, Adjusted R-squared: 0.998
## F-statistic: 1.207e+05 on 1 and 239 DF, p-value: < 2.2e-16
residuales=Modelo1$residuals
summary(residuales)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -0.061896 -0.018582 -0.001761 0.000000 0.017139 0.077003
residualPlot(Modelo1)Para comprender el objetivo de esta prueba debemos de tener en cuenta que, La existencia de una correlación entre dos variables no implica causalidad, es decir que una variable se correlacione con otra no implica siempre que una de ellas sea la causa de las alteraciones en los valores de otra. Las causas y consecuencias se deducen de la razón que, entre otras fuentes, se puede obtener y cultivar en el estudio de la literatura científica.
Esta limitación interpretativa, que afecta a cualquier estudio de correlación, es también posible en el caso de series temporales, pero dado que disponemos de datos organizados en el tiempo.
Granger en 1969 fue el primero en proponer un test de causalidad: De esta forma si una variable retardada está correlacionada con valores futuros de otra variable, se dice que una variable es causa de la otra “según Granger”.
En palabras mas practicas, el proposito de la prueba es,que el test de causalidad de Wiener-Granger, o causalidad de Granger, es una prueba estadística empleada para determinar si una serie temporal puede predecir a otra.
Principio:
Hay dos principios subyacentes: 1. La causa ocurre antes de su efecto. 2. La causa tiene información única sobre los valores futuros de su efecto.
P[Y(t+1)∈A|I(t)]≠P[Y(t+1)∈I−X(t)]
donde P se refiere a la probabilidad, A es un conjunto arbitrario no vacío e I (t) e I − X (t) respectivamente denotan la información disponible en el tiempo t en todo el universo, y la del universo modificado en el que X es ejecutado. Si se acepta la hipótesis anterior, decimos que X Granger-causa Y.
La hipótesis nula de los test, la que se contrasta y en ocasiones podrá refutarse, es que NO existe dicha correlación. Lo que quiere decir que las alternativas que realmente se pueden probar con el test son: Ho: que no exista dicha causalidad o, alternativamente, Ha: que no sabemos si no existe dicha causalidad.
ts = EuStockMarkets[, 1:2]
head(ts)## Time Series:
## Start = c(1991, 130)
## End = c(1991, 135)
## Frequency = 260
## DAX SMI
## 1991.496 1628.75 1678.1
## 1991.500 1613.63 1688.5
## 1991.504 1606.51 1678.6
## 1991.508 1621.04 1684.1
## 1991.512 1618.16 1686.6
## 1991.515 1610.61 1671.6
visualizacion de datos
La prueba se puede aplicar usando la función “grangertest” del paquete lmtest.
library(plotly)
library(tidyr)
library(dplyr)
stocks <- as.data.frame(EuStockMarkets) %>%
gather(index, price) %>%
mutate(time = rep(time(EuStockMarkets), 4))
plot_ly(stocks, x = ~time, y = ~price, color = ~index, mode = "lines")Inicialmente, se define la dirección de causalidad y se aplica la prueba. El primer ejemplo pregunta si SMI explica DAX aplicando 3 retrasos diferentes
Estadistico de prueba:
La prueba F, la prueba t o la prueba de Wald (utilizadas en R) se calculan para probar las siguientes hipótesis nulas y alternativas:
H0:αi=0[1,k]H0:αi=0[1,k] Sea cero para cada i del elemento.
H1:αi≠0[1,k]H1:αi≠0[1,k] Sea cero para al menos 1 i del elemento.
P-Value > Nivel de significancia, no se rechaza la hipotesis nula.
library(lmtest)
res = grangertest(DAX~SMI, order= 3, data = ts)
print(res)## Granger causality test
##
## Model 1: DAX ~ Lags(DAX, 1:3) + Lags(SMI, 1:3)
## Model 2: DAX ~ Lags(DAX, 1:3)
## Res.Df Df F Pr(>F)
## 1 1850
## 2 1853 -3 8.4968 1.322e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Interpretacion:
Modelo 1: Busca verificar que los valores de DAX apliquen la composición de 3 rezagos de DAX y SMI.
Modelo 2: busca verificar que los valores de DAX se apliquen solo a los 3 retrasos de DAX. En esto
Finalmente, el orden de causalidad se invierte.
res = grangertest(SMI~DAX, order= 3, data = ts)
print(res)## Granger causality test
##
## Model 1: SMI ~ Lags(SMI, 1:3) + Lags(DAX, 1:3)
## Model 2: SMI ~ Lags(SMI, 1:3)
## Res.Df Df F Pr(>F)
## 1 1850
## 2 1853 -3 2.6576 0.04689 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Ambas pruebas resultan significativas, aunque SMI explica mucho más sobre DAX.
Analizando datos donde las relaciones inversas no implican causas.
Datos sobre el número de huevos y gallinas en EE. UU. Entre 1930 y 1983. (Ejemplo a utilizar)
data(ChickEgg)
head(ChickEgg)## Time Series:
## Start = 1930
## End = 1935
## Frequency = 1
## chicken egg
## 1930 468491 3581
## 1931 449743 3532
## 1932 436815 3327
## 1933 444523 3255
## 1934 433937 3156
## 1935 389958 3081
Replicando el mismo modelo.
grangertest(chicken ~ egg, order = 3, data = ChickEgg)## Granger causality test
##
## Model 1: chicken ~ Lags(chicken, 1:3) + Lags(egg, 1:3)
## Model 2: chicken ~ Lags(chicken, 1:3)
## Res.Df Df F Pr(>F)
## 1 44
## 2 47 -3 5.405 0.002966 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Inverso
grangertest(egg ~ chicken, order = 3, data = ChickEgg)## Granger causality test
##
## Model 1: egg ~ Lags(egg, 1:3) + Lags(chicken, 1:3)
## Model 2: egg ~ Lags(egg, 1:3)
## Res.Df Df F Pr(>F)
## 1 44
## 2 47 -3 0.5916 0.6238
Nótese que el modelo gallina ~ huevo tiene p <0.05 lo que permite rechazar la hipótesis nula, mientras que el modelo huevo ~ gallina tiene p> 0.05 que no permite rechazar la hipótesis nula.
Así, es posible suponer que el número de huevos permite predecir el número de gallinas, mientras que lo contrario no es cierto.
El propósito de este test es examinar causalidad unidireccional, estimando una ecuación de Y en función de valores pasados suyos y de valores pasados y futuros de X. De esta forma, si los valores futuros de X son no significativos, entonces la variable Y no causa a X.
En una prueba de causalidad de Granger, Christopher Sims explota el hecho de que el futuro no puede causar el presente para decidir si una variable Y causa una variable X, Sims propone estimar el siguiente par de ecuaciones:
\[Yt=α1+∑i=1βiXt−i+∑i=1γiYt−i+∑i=1λiXt+i+ε1t\]
\[Xt=α2+∑i=1δiXt−i+∑i=1θiYt−i+∑i=1ωiYt+i+ε2t\]
Estas regresiones incluyen valores rezagados, actuales y futuros, o adelantados, de las regresoras; los términos como Xt+1, Xt+2, se llaman términos adelantados.
Y es causa según Granger de X, debe haber alguna relación entre Y y los valores adelantados, o futuros, de X. De esta manera, en lugar de probar que ∑βi=0 , se debe probar que ∑λi=0 en la primera ecuación. Por tanto:
\[H0:∑λi≠0\] \[H1:∑λi=0\] Si se rechaza la hipótesis nula, la causalidad va de Y a X, y no de X a Y, porque el futuro no puede causar el presente. Los mismos comentarios aplican a la segunda ecuación.
Para realizar la prueba de Sims, se estima la primera ecuación sin los términos adelantados (regresión restringida) y después se estima la primera ecuación con los términos adelantados (regresión no restringida). Enseguida se realiza la prueba F. Si el estadístico F es significativo (por ejemplo, en el nivel de 5%), se concluye que es Y la que causa, según Granger, X. Los mismos comentarios aplican a la segunda ecuación.
Durlauf, S., & Blume, L. (Eds.). (2016). Macroeconometrics and time series analysis. Springer.
Mahadeva, L., & Robinson, P. (2009). Ensayo 76: prueba de raíz unitaria para ayudar a la construcción de un modelo. México DF: Centro de Estudios Monetarios Latinoamericanos.
Levy, Z. R., & Palacios, Y. A. APLICACIÓN DE LA COINTEGRACIÓN AL ESTUDIO DEL.
Jalil, M. FACULTAD DE ECONOMÍA–UNIVERSIDAD DE LOS ANDES SEMINARIOS TÓPICOS DE ECONOMETRÍA, 2005-I, 2005-II. Balacco, H. (1986). Algunas consideraciones sobre la definición de causalidad de Granger en el análisis econométrico. Económica, 32.
Gujarati, D., & Porter, D. (2010). Econometría (quinta edición). México: Editorial Mc. Graw Hill.