UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS ECONÓMICAS
ESCUELA DE ECONOMÍA
MATERIA: MÉTODOS PARA EL ANÁLISIS ECONÓMICO
LABORATORIO 3: Cointegración y Causalidad.
DOCENTE: CARLOS ADEMIR PÉREZ ALAS
INTEGRANTES:
| APELLIDOS | NOMBRES | CARNET | PARTICIPACIÓN |
|---|---|---|---|
| HERNÁNDEZ LARA | OMAR ALEXÁNDER | HL19010 | \(100\%\) |
| LÓPEZ ALVARADO | SUSANA ASTRID | LA19020 | \(100\%\) |
| SANDOVAL ARIAS | EDUARDO ISAIAS | SA19008 | \(100\%\) |
CICLO: II-2021
FECHA: 1 DE DICIEMBRE 2021
Dar clic en el siguiente menú interactivo:
Introducción a las pruebas de raíz unitarias
El punto de partiida es el proceso estocástico de raíz unitaria:
\[ Y_t =\rho Y_t-_1+u_t\]Donde \(u_t\) es el término de error de ruido blanco. (proceso estocástico que indica que los valores de señal en dos tiempos diferentes no guardan correlación estadística).
Donde se sabe que si \(\rho=1\), se convertiría en un modelo de caminata aleatoria sin deriva, lo que significa que es un proceso de raíz unitaria.
Si se estima la ecuacion por MCO y se prueba la hipótesis de que \(\rho=1\) por medio de la prueba t acostumbrada se encuentra con un problema de sesgo en esta misma, por lo tanto se manipula para obtener la siguiente ecuación:
(restando \(Y_t\) en ambos lados)
\[Y_t - Y_t-_1=\rho Y_t-_1+u_t\] \[=(\rho -1)Y_t-_1+u_t\]
Que tambien se puede expresar
\[\Delta Y_t = \delta _t-_1+u_t\] Donde \(\delta =(\rho-1)\)
Como ya se mencionaba antes, la debilidad de esto es que segun la hipotesis nula de que \(\delta =(\rho-1)\) (es decir,\(\rho=1\)), el valor t del coeficiente estimado de \(Y_t\) no sigue la distribución t ni siquiera en muestras grandes, es decir no tiene una distribucion normal asintótica. Gujarati y Porter (2012)
Para esto, Dickey y Fuller presentaron una alternativa basada en el estadístico \(\tau\) (tau) con simulaciones de Monte Carlo.Y así es como nace la prueba Dickey-Fuller.El propósito de la prueba de raíz Unitaria de Dickey y Fulleres conocer la estacionariedad (o no estacionariedad) que pueda existir en una serie de tiempo. A diferencia de la prueba de Dickey-Fuller aumentada, en este caso el término de error no está correlacionado. Segun Montero. R (2013), esta prueba puede diferenciar realmente si una serie es estacionaria o no con una tendencia temporal .
Se espera que el estadístico t de la prueba sea negativo; por los tanto, tiene que ser menor que el valor crítico para que la hipótesis nula sea rechazada y concluir que la serie de tiempo en análisis es estacionaria.
Hipótesis Nula
\[H_o:\delta=0\]
Existe una raíz unitaria, lo que significa que la serie de tiempo no es estacionaria o no tiene tendencia estocástica.
Hipótesis Alternativa
\[H_i:\delta<0\]
No existe una raíz unitaria, lo que significa que la serie de tiempo es estacionaria.
Paquete:
urca
Unit Root and Cointegration Tests for Time Series Data. Este paquete se utiliza para implementar tests de raíz unitaria y de cointegración para datos de seties de tiempo
Sintaxis:
ur.df():
Argumentos:
Y: Vector que se pondrá a prueba para el test de raíz unitaia
type: indica el tipo de test (puede ser “non”,“drift” o “trend”), si se utiliza non, no se incluye ni intercepto ni una tendencia en la regresión. Si se utiliza drift, significa que se debe agregar un intercepto y si se utiliza trend se deben agregar ambos, tanto una tendencia como un intercepto a la regresión.
lags: Indica el número de lags ue serán incluidos para la variable endógena.
En la salida de la prueba se muestra el estadistico t al final del Summary como: “Value of test-statistic”
Mientras que el valor crítico se presenta como “tau2”
El estadístico de prueba t se espera que sea negativo, por lo tanto se necesita que \(VC < t\) lo que significa que el VC debe ser menor al estadístico t para concluir que la serie de tiempo es estacionaria.
Por lo que la salida que se presenta en tau2 debe ser menor a la que se muestra en Value of test-statistic para rechazar la \(H_o\), que es lo deseable en esta prueba.
Si tau2 < Value of test-statistic, Se rechaza la hipótesis nula, indicando que no existe una raíz unitaria y que por lo tanto la serie de tiempo es estacionaria (que es lo deseado)
Si tau2 > Value of test-statistic, significa que no se rechaza la hipótesis nula por lo que estamos ante la presencia de una raíz unitaria, lo que indicaría que la serie de tiempo no es estacionaria.
Ejemplo tomado de: Modelos VEC en R, por Victor Chung
Se presenta una visión de los comandos vec en R a través de un ejemplo extenso. Tenemos datos mensuales sobre los precios de venta promedio de viviendas en cuatro ciudades de Texas: Austin, Dallas, Houston y San Antonio. En el conjunto de datos, estos precios medios de viviendas están contenidos en las variables de austin, dallas, houston y sa. Las series comienzan en enero de 1990 y van hasta diciembre de 2003, para un total de 168 observaciones. Para el presente ejemplo trabajaremos con las series Dallas y Houston.
library(haven)
txhprice <- read_dta("C:/Users/Abigail/Desktop/metodos-analisis-eco/Lab3/txhprice.dta")## Invalid timestamp string (length=17): P1 May 2011 07:49
attach(txhprice)
txh<-data.frame(dallas,houston)
txhs<-ts(txh,frequency = 12,start = 1990)Graficando las series
plot.ts(txhs)Implementando test de Dickey-Fuller para conocer si hay o no raíz unitaria
Prueba para Dallas
library(urca)
df.test=ur.df(dallas, type=c("drift"),lags=0)
summary(df.test)##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression drift
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.107791 -0.023694 0.001706 0.024089 0.133754
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.24088 0.20509 1.175 0.242
## z.lag.1 -0.02006 0.01731 -1.159 0.248
##
## Residual standard error: 0.04161 on 165 degrees of freedom
## Multiple R-squared: 0.008074, Adjusted R-squared: 0.002062
## F-statistic: 1.343 on 1 and 165 DF, p-value: 0.2482
##
##
## Value of test-statistic is: -1.1589 1.1768
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau2 -3.46 -2.88 -2.57
## phi1 6.52 4.63 3.81
Ya que tau2 = -3.46 y t= -1.15, se tiene como resultado que el valor crítico es menor que el estadistico de prueba por lo que se rechaza la hipótesis nula, indicando que la serie de tiempo en este caso para Dallas, es estacionaria.
Prueba para Houston
library(urca)
df.test=ur.df(houston, type=c("drift"),lags=0)
summary(df.test)##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression drift
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.288315 -0.024380 0.000381 0.032488 0.281205
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.36274 0.23723 1.529 0.128
## z.lag.1 -0.03062 0.02026 -1.511 0.133
##
## Residual standard error: 0.05627 on 165 degrees of freedom
## Multiple R-squared: 0.01365, Adjusted R-squared: 0.007674
## F-statistic: 2.284 on 1 and 165 DF, p-value: 0.1326
##
##
## Value of test-statistic is: -1.5112 1.6289
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau2 -3.46 -2.88 -2.57
## phi1 6.52 4.63 3.81
Ya que tau2 = -3.46 y t= -1.15, se tiene como resultado que el valor crítico es menor que el estadistico de prueba por lo que se rechaza la hipótesis nula, indicando que la serie de tiempo en este caso para Houston, es estacionaria.
El procedimiento multivariado de S. Johansen, es un método para verificar la existencia de cointegración en la variables ,en donde dichas variables indican integración de primer y cero orden. En la tecnología de S. Johansen, es necesario analizar las series previamente con el fin de conocer si presentan o no raíces unitarias. Las series que presenten raíces unitarias se colocan en un vector autorregresivo a partir del cual se puede probar la existencia de una o más combinaciones lineales o vectores de cointegración, como también se les denomina.(Quintana y Mendoza 2016)
El procedimiento se sustenta en los modelos VAR, que con una especificación de un solo rezago, se escribe:
\[Y_{t}=\mu +A_{1}Y_{t}+V_{t}\]
Transformando el modelo restando Yt−1 de los dos lados:
\[{Y_{t}}-{Y_{t-1}}= \mu +A_{1}Y_{t-1}-Y_{t-1}+V_{t}\]
Agrupando las variables tenemos:
\[\Delta Y_{t}= \mu +AY_{t1}+vt\]
Donde:
\[A= I+A_{1}\]
La representación del modelo es la que llamamos Mecanismo de Corrección de Error en la sección anterior por ello A es, por tanto, un Vector de Corrección de Error:
Por ello, el modelo es un Mecanismo de Corrección de Error Vectorial (También se dará cuenta de la similitud de esta especificación con la de la prueba ADF, incluso podríamos considerarla un ADF multiecuacional. Si ahora generalizamos la especificación para considerar un modelo VAR(p), el resultado es:
\[Y_{t}= \mu +A_{1}Y_{t1}+A_{2}Y_{t2}+...+A_{p}Y_{tp}+vt\]
Si se resta Yt 1 hasta Yt de los dos lados, y se rescribe en función de la ∆Yt entonces:
\[\Delta Y_{t}= \mu \Gamma _{1}\Delta Y_{t1}+\Gamma _{2}\Delta Y_{t2}+...+\Gamma _{p1}\Delta Y_{tp}+AY_{tp}+et\]
Donde:
\[\Gamma _{i}= I+\Gamma _{1}+...+\Gamma _{i}\]
\[i=1,...,p_{1}\]
\[A= I+A_{1}+...+A_{p}\]
En la matriz A se encuentre la relación de largo plazo, si su rango es; rango (A)= r, entonces se pueden encontrar las siguientes situaciones:
Si r=0 A es una matriz nula No existirá ninguna relación de cointegración
Si r=m, el proceso multivariante Yt es estacionario Por tanto, habría m1 vectores de cointegración linealmente independientes que cancelan la tendencia común Así Yt será estacionario si Am∗m tiene rango completo.
Si 0<r<m se encontrará entre las dos situaciones anteriores, por lo que habrá r relaciones de cointegración.
Por lo tanto, el rango de A mostrará el número de columnas linealmente independientes de esta matriz y ese será también el número de vectores de cointegración existentes entre las variables del VAR.De acuerto con esto Johansen demuestra que la estimación máximo verosímil de la matriz de vectores de cointegración, α se obtiene a partir del cálculo de las raíces características \(Y_i\),\(i=1,....m\).
Para contrastar la hipótesis nula de que hay como máximo r vectores de cointegración frente a la alternativa de que hay m, r mayor o igual a m, el contraste de razón deverosimilitud viene dado por los estadísticos de la traza y de la raíz máxima:
\[Traza= -2L_{n}Q= -T\sum i= r+lm\left ( 1-\lambda i \right )\]
Raíz máxima = \(\lambda_{rmax}= -T*L_{n}\left (1-\lambda _{i} \right )\)
Hipótesisi Nula:
\[H_{o}:r= 0\]
Ante r=0 No existe cointegración
Hipótesis Alternativa:
\[H_{1}:r= m\]
“Existe Cointegración”.
El contraste de hipótesis consiste en la secuencia: La hipótesis nula Ho: r =0 (no cointegración), frente a la alternativa Ha: r=1.
En caso de rechazar esta hipótesis (utilizando cualquiera de los dos estadísticos propuestos), se contrasta ahora Ho: r =1 frente a la alternativa Ha: r=2, y así sucesivamente hasta el momento en que no se rechaza Ho, o bien hasta que se tuviera que no rechazar la hipótesis alternativa de r =m.
Los valores críticos para los dos estadísticos de prueba, dependen de la inclusión o no de constantes en las ecuaciones; se pueden incluir interceptos en los vectores de cointegración.(Quintana and Mendoza 2016)
Librería que se utiliza en esta prueba son las siguientes:
library
URCA
Esta función estima un VAR restringido, donde las restricciones se basan en α, es decir, la carga vectores y β, es decir, la matriz de vectores de cointegración. La estadística de prueba se distribuye como χ 2 con (p - m) r + (p - s) r grados de libertad, siendo m igual a las columnas de la matriz de restricción A, s igual a las columnas de la matriz restrictiva H y p el orden del VAR.
Prueba de Soren Johansen johansen
Argumentos en la función
x: Matriz de datos a investigar para la cointegración. type:La prueba a realizar.
ecdet: Carácter, none para ningún intercepto en la cointegración, const para el término constante en la cointegración y trend para la variable de tendencia en la cointegración.
k: El orden de retraso de la serie.
spec: Determina la especificación del VECM.
season: Si se deben incluir variables ficticias estacionales, la frecuencia de los datos debe establecerse en consecuencia, es decir, 4 para los datos trimestrales.
dumvar: Si se deben incluir variables ficticias, se puede proporcionar una matriz con una dimensión de fila igual ax.
Ejemplo de sintaxis:
library(urca)
summary(ca.jo(ecb.consumo,type=“trace,”ecdet=“none,”spec=c(“longrun”),K=4))
Se ha implementado la libreria URCA, empleando la funcion ca.jo para llevar a cabo la prueba Soren Johansen, con ella se obtienen eigen valores, p_stadisticos, eiges vectores normalizados para la primera columna, el peso, pero el que se utilizara como estadistico es el que aparece dentro de la lista como Values of teststatistic and critical values of test denominado test en la fila de r=0, matematicamente se puede representar con la siguiente formula:
\[l^{*}_{r+1}-l^{*}_{r}=-\frac{T}{2}ln\left ( 1-\lambda _{r+1} \right )\]
\[H_{o}:r= 0\]
Se rechaza, se puede afirmar que en la serie de tiempo existe cointegración.
\[H_1:r= m\]
si el estadistico de prueba es mayor al valor critico se rechaza la hipotesis nula y por ende se acepta la hipotesis alterna.
Si el estaditico de prueba es menor al valor critico se acepta la hipotesis nula y por ende se rechaza la hipotesis alterna.
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 \(H_0:r=0\), aseverando de esta manera que en la serie existe cointegración.
Se puede afirmar que si el estadistico de Prueba es menor que el valor critico se tendran las evidencias suficientes para aceptar la Hipotesis Nula \(H_0:r=0\), aseverando de esta manera que en la serie no existe cointegración.
library(urca)
library(car)
load("C:/Users/Abigail/Desktop/metodos-analisis-eco/Lab3/Consumo.RData")
lpib_mex<-log( Consumo$pib_mex)
lcp_mex<-log( Consumo$cp_mex)
# Combinacion de Variables en un solo objeto
ecb.consumo<-cbind (lcp_mex,lpib_mex)Prueba de la traza de cointegración sin tendencia y constante
library(urca)
summary(ca.jo(ecb.consumo,type ="trace",ecdet="none",spec=c("longrun"),K=4))##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: trace statistic , with linear trend
##
## Eigenvalues (lambda):
## [1] 0.1751774 0.0169835
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 1 | 1.47 6.50 8.18 11.65
## r = 0 | 18.04 15.66 17.95 23.52
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## lcp_mex.l4 lpib_mex.l4
## lcp_mex.l4 1.000000 1.000000
## lpib_mex.l4 -1.280708 -1.037871
##
## Weights W:
## (This is the loading matrix)
##
## lcp_mex.l4 lpib_mex.l4
## lcp_mex.d -0.3578910 -0.08189816
## lpib_mex.d -0.1079621 -0.07962291
Al realizar la Prueba los resultados nos muestran que para la primera hipótesis r=0 y alternativa r= 1 no se rechaza la hipótesis alternativa de cointegración el estadístico es mayor al valor critico del 10%, 18.04>15.66 es decir exixte cointegracion entre las variables. Para la segunda hipótesis r<= 1 y alternativa r= 2 no se rechaza la hipótesis nula de un solo vector de cointegración Por lo que se puede concluir que existe un vector de cointegración y se representa por (1,- 1.28).
Prueba de la traza de cointegración con constante
library(urca)
summary(ca.jo(ecb.consumo,type ="trace",ecdet="const",spec=c("longrun"),K=4))##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: trace statistic , without linear trend and constant in cointegration
##
## Eigenvalues (lambda):
## [1] 2.017097e-01 1.265562e-01 5.440093e-15
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 1 | 11.64 7.52 9.24 12.97
## r = 0 | 31.01 17.85 19.96 24.60
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## lcp_mex.l4 lpib_mex.l4 constant
## lcp_mex.l4 1.000000 1.000000 1.000000
## lpib_mex.l4 -1.255645 -1.414691 -1.064081
## constant 4.557479 7.198639 1.483342
##
## Weights W:
## (This is the loading matrix)
##
## lcp_mex.l4 lpib_mex.l4 constant
## lcp_mex.d -0.4955292 0.05574003 -1.774483e-11
## lpib_mex.d -0.2795953 0.09201028 -6.438725e-12
Al realizar la prueba lo resultados muestran que para la primera hipótesis r=0 y alternativa r= 1 se acepta la hipótesis alternativa de cointegración dado que el estadístico es mayor al valor critico del 10%, 31.01 >17.85 Para la segunda hipótesis r<= 1 y alternativa r= 2 no se rechaza la hipótesis nula de dos vectores de cointegración Por lo que se pueden identificar los vectores de cointegración (1, -1.25, 4.55) y (1 ,-1.41, 7.19).
Prueba de Johansen de la traza con tendencia
library(urca)
summary(ca.jo(ecb.consumo,type ="trace",ecdet="trend",spec=c("longrun"),K=4))##
## ######################
## # Johansen-Procedure #
## ######################
##
## Test type: trace statistic , with linear trend in cointegration
##
## Eigenvalues (lambda):
## [1] 3.007210e-01 6.711864e-02 3.632077e-18
##
## Values of teststatistic and critical values of test:
##
## test 10pct 5pct 1pct
## r <= 1 | 5.98 10.49 12.25 16.26
## r = 0 | 36.74 22.76 25.32 30.45
##
## Eigenvectors, normalised to first column:
## (These are the cointegration relations)
##
## lcp_mex.l4 lpib_mex.l4 trend.l4
## lcp_mex.l4 1.000000000 1.000000000 1.000000000
## lpib_mex.l4 -2.613552539 -0.740358526 -1.944486294
## trend.l4 0.008212396 -0.002968024 0.007611815
##
## Weights W:
## (This is the loading matrix)
##
## lcp_mex.l4 lpib_mex.l4 trend.l4
## lcp_mex.d -0.10989875 -0.3329111 -2.471382e-12
## lpib_mex.d 0.03206499 -0.2557477 -4.370999e-13
Al igual que en el caso de la opción sin tendencia y constante, No se rechaza la hipótesis de cointegración dado que se detecta el vector de cointegración es (1 -2.61 0.008).
Introducción sobre las pruebas de causalidad
Cuando se toma el término de causalidad se hace referencia al concepto que: una variable es provocada por otra variable como la causa de esta, pero el término puede ser confuso, ya que dentro de un análisis de regresión donde una variable posee relación a otra, no necesariamente es una relación causal, ya lo menciona Kendall y Stuart de la siguiente manera: “Una relación estadística, por más fuerte y sugerente que sea, nunca podrá establecer una conexión causal: nuestras ideas de causalidad deben provenir de estadísticas externas y, en último término, de una u otra teoría” Kendall, MG (1946). Sus argumentos se basan en la aplicación lógica de pensar dos cosas importantes que nos ayudarán a comprender algunos aspectos a la hora de aplicar las pruebas para series de tiempo:
La causalidad en un análisis más profundo, es una representación filosófica de pensar que “todo tiene una causa”, los términos filosóficos son polémicos, ya que se basan en la perspectiva que tenga el individuo sobre el tema, este puede ser diverso, por eso también es llamado por otro autores a estas pruebas para el caso de las series de tiempo, no como causalidad, sino con el término precedencia o causalidad predictiva.
A continuación se presentan las pruebas de Granger y Sims:
Respecto a lo mencionado anteriormente sobre las pruebas de causalidad en general, existe en la economía y en especial para la macroeconomía muchas variables donde su información está contenida en series de tiempo. Es aquí donde se plantea para este tipo de serie datos la lógica de pensar que existe una única dirección del tiempo, y esta es del pasado al futuro. La prueba utiliza el axioma que establece “el pasado y el presente como la causa del futuro, pero el futuro no puede ser la causa del pasado”. (Granger, 1980)
El mismo Granger propone que la correlación es un concepto simétrico, sin establecer la dirección de la influencia, pero es ahí donde el tiempo aborda la estructura necesaria para el análisis. Si se tuviera muchas variables para la causalidad sería la técnica de autorregresión vectorial (VAR), pero supongamos que existen dos (causalidad bilateral) que es la más general. Para las variables \(X\) y \(Y\), la prueba debe tener las siguientes regresiones:
Ecuación 1.
\[Y_{t}=\sum_{i=1}^{n}\alpha_{i}X_{t-i}\sum_{i=1}^{n}\beta_{j}Y_{t-j}+u_{1t}\]
Ecuación 2.
\[X_{t}=\sum_{i=1}^{n}\lambda_{i}X_{t-i}\sum_{i=1}^{n}\delta_{j}Y_{t-j}+u_{2t}\]
El término de error estocástico \(u_i\) para todas las regresiones no deben tener correlación, por otra parte esta prueba establece que para predecir el presente es necesario ver su pasado, de esta manera si se describe la primera regresión (1), se puede ver que para un periodo de tiempo actual (\(t\)) la variable Y actual se ve influenciada por los valores pasados de ella misma (\(Y_{t-i}\)) y por valores pasados de X (\(X_{t-j}\)), lo mismo ocurre en la segunda regresión (2) para la variable X actual.
En estas ecuaciones de regresión, se puede identificar que cada uno de los valores rezagados como grupo tienen sus coeficientes, tener un coeficiente estadísticamente diferente de cero significa que si posee la variable en el tiempo actual una influencia por los valores pasados de la variable que tiene el coeficiente. Sería unidireccional si solo una de las dos variables rezagadas tiene un coeficiente diferente y realimentación o bilateral si ambas variables rezagas lo presentan diferente de cero e independencia si ninguno es distinto estadísticamente a cero.
Con esto se puede decir que la prueba se utiliza para determinar la dirección hacia la cual se establece la causalidad entre dos o más variables en una serie de tiempo, diciendo que una variable a la manera de Granger es la causa de que ocurra otra variable. Esto se puede utilizar cuando ocurren preguntas en economía sobre el efecto que tendría modificar una variable y si es correcta la dirección considerada para lograr los objetivos de la modificación.
Para realizar la hipótesis, se de establecer la dirección que se ha considerado para analizar, en este caso supondremos que X causa a Y, si lo vemos estadísticamente, está representado en la ecuación 1, donde el coeficiente de los valores rezagados (del pasado) de X (\(X_{t-j}\)) representados por α debe ser diferente a cero.
Entonces, si buscamos rechazar la hipótesis nula, esta debería ser: \[H_0: α_{i} = 0\] estableciendo que los términos rezagados de X (\(X_{t-j}\)) no pertenecen a la regresión. Y como hipótesis alternativa sería: \[H_1: α_{i} ≠ 0\] que los valores del pasado de X si pertenecen a la regresión.
Es de recordar que a su vez α se toma como para el grupo de todas esas observaciones es decir que, \(i = 1, 2, . . . , n\).
Paquete:
lmtest
Testing Linear Regression Models Este paquete se utiliza para una colección de test para poderse llevar a cabo en los modelos de regresión.
Sintaxis:
Función grangertest():
Argumentos:
X: es una serie temporal, donde se toman los valores que utilizarán para describir la variable 1.
Y: es otra serie temporal, donde se toman los valores que utilizarán para describir la variable 2.
order: es el número de rezagos que se utilizarán para hacer la prueba, quizá se tenga que que elegir mediante el criterio de información Akaike o Schwarz. Pero debe añadirse que la dirección de la causalidad tal vez dependa de manera crítica del número de términos rezagados incluidos.
formula: es la especificación de la dirección que se estará evaluando en la prueba de Granger, una especificación binaria puede ser y ~ x.
data: se especifica el origen o el lugar donde se encuentran los datos de las variables que se utilizarán en la prueba
Ejemplo de sintaxis:
grangertest(Y ~ X, order = 3, data = pibSV_2021)
\[F=\frac{SCR_R-SCRN_R)/m}{SCR_{NR}/(n - k)}\]
Para la construcción de este estadístico se realiza a través de la sumatoria de los cuadrados residuales de la regresión, pero estos pueden ser de dos tipo, por un lado estan los de la regresión restringida que solo ocupa los valores de la variable presente (\(Y_{t}\)) y sus propios valores del pasado (\(Y_{t-i}\)), luego debe obtener los valores de la suma de cuadrados residuales para la regresión no restringida (\(X_{t-j}\)) donde ya se involucran los valores de la otra variable del pasado en la regresión.
m es el número de retardos que se utilizarán, n es el número de observaciones y k representa la cantidad de parámetros. La salida en R que se presenta aparece el resultado como F, y si utiliza la salida con stargazer se encuentra en el mean de F. A partir de la tabla de disribución (F), se puede encontrar el valor crítico con los grados de libertad de m y de n-k, si el valor F es mayor al valor crítico encontrado a cierto grado de significancia, entonces se rechaza la hipótesis nula de la prueba.
De las hipótesis establecidas con anterioridad:
\[H_0: α_{i} = 0\] \[H_1: α_{i} ≠ 0\]
Se puede hacer bajo dos formas el criterio de decisión:
En este método si el valor de F encontrado en los resultados de la prueba es mayor al valor crítico que se establece en la tabla de la distribución F entonces se rechaza la hipótesis nula. Al rechazarse la hipótesis nula se esta diciendo que la dirección establecida en la regresión es correcta, hay evidencia que esa variable es la causalidad de la otra variable.
En este método se toma el valor P que se encuentra en la salida de R como Pr(> F), si se estblece un nivel de significancia previamente, se puede rechazar la hipótesis nula cuando el valor de P sea menor que el nivel de significancia.
Para el caso de la dirección de:
La ecuación 1: \[Y_{t}=\sum_{i=1}^{n}\alpha_{i}X_{t-i}\sum_{i=1}^{n}\beta_{j}Y_{t-j}+u_{1t}\]
Rechazo: Se rechaza que el coeficiente que posee los valores rezagados de la variable X sea estadísticamente igual a cero. Por lo tanto hay evidencia que la variable X posee una relación causal en el sentido de granger para poder predecir los valores de Y en el futuro.
No rechazo:Se rechaza que el coeficiente que posee los valores rezagados de la variable X no sea estadísticamente igual a cero. Por lo tanto hay evidencia que la variable X no posee una relación causal en el sentido de granger para poder predecir los valores de Y en el futuro.
Para ambas situaciones, luego se puede realizar la prueba a la inversa de la dirección que ha encontrado primero, pasa conocer si la dirección que se había planteado previamente era la incorrecta y posea otro tipo de dirección, incluso se puede dar el caso de ser bilateral o independientes entre sí.
Inversiones, ventas y tasa de interés, Estados Unidos, 1960-1999
Subida de datos: sobre la inversión privada fija en procesamiento de información y equipo (Inver, en miles de millones de dólares), las ventas totales en industria y comercio (Ventas, en millones de dólares) y la tasa de interés (X3, tasa de los bonos empresariales Aaa de Moody); los datos sobre Y y X2 están ajustados por estacionalidad.
library(readxl)
usa2001 <- read_excel("C:/Users/Abigail/Desktop/metodos-analisis-eco/Lab3/usa2001.xlsx")
head(usa2001)## # A tibble: 6 x 4
## Obs Inver Ventas Inte
## <dbl> <dbl> <dbl> <dbl>
## 1 1960 4.9 60827 4.41
## 2 1961 5.2 61159 4.35
## 3 1962 5.7 65662 4.33
## 4 1963 6.5 68995 4.26
## 5 1964 7.3 73682 4.4
## 6 1965 8.5 80283 4.49
Inver: Inversión fija privada en equipo para el procesamiento de información y software, miles de millones de dólares, ajustada por estacionalidad.
Ventas: Ventas totales en industria y comercio, millones de dólares, ajustadas por estacionalidad.
Inte: Tasa de los bonos empresariales Aaa de Moody, %.
Desarrollo
Hipótesis nula: \[H0: α_{i} = 0\] estableciendo que los términos rezagados de las ventas ( \(Ventas_{t-j}\) ) no pertenecen a la regresión con la inversión fija privada en equipo para el procesamiento de información y software.
Hipótesis alternativa: \[H1: α_{i} ≠ 0\] estableciendo que los términos rezagados de las ventas ( \(Ventas_{t-j}\) ) muestran que las ventas es la causa de la inversión fija privada en equipo para el procesamiento de información y software.
library(lmtest)
library(stargazer)
num_resagos<-1 #Este es el default que presenta ya la prueba en R.
grangertest(Inver~Ventas, order = num_resagos, data=usa2001)->PruebaGranger
stargazer(PruebaGranger,type = "html",title = "Prueba de Granger")| Statistic | N | Mean | St. Dev. | Min | Pctl(25) | Pctl(75) | Max |
| Res.Df | 2 | 36.500 | 0.707 | 36 | 36.2 | 36.8 | 37 |
| Df | 1 | -1.000 | -1.000 | -1.000 | -1.000 | -1.000 | |
| F | 1 | 7.931 | 7.931 | 7.931 | 7.931 | 7.931 | |
| Pr(> F) | 1 | 0.008 | 0.008 | 0.008 | 0.008 | 0.008 | |
library(magrittr)
#Con un nivel de significancia del 0.05.
PruebaGranger$F %>% as.matrix()->Fest
PruebaGranger$`Pr(>F)` %>% as.matrix()->Pest
Salida_PG<- c(Pest[2,1],0.05)
names(Salida_PG) <- c("P-Value |"," Significancia")
stargazer(Salida_PG, title = "Prueba de Granger", type = "html", digits = 2)| P-Value | | Significancia |
| 0.01 | 0.05 |
Resultado: Como el p-value es menor que el nivel de siginificancia, podemos rechazar la hipótesis nula de la prueba. Es decir que hay evidencia que las ventas totales en industria son la causalidad en el sentido de granger para la inversión fija privada en equipo para el procesamiento de información y software.
Esta prueba es creada por Christopher Sims, es una extensión de la prueba de granger con un postulado que le brinda una perspectiva distinta de la interpretación, a comparación de la prueba de granger esta también utiliza un axioma y establece que el futuro no puede causar el presente
Ecuación 1.
\[Y_{t}=\alpha_{2}+\sum_{i=1}^{i=n}\beta_{i}X_{t-i}+\sum_{i=1}^{i=m}\gamma_{t-i}Y_{t-i}+\sum_{i=1}^{i=p}\lambda_{i}X_{t+i}+u_{1t}\]
Ecuación 2.
\[Y_{t}=\alpha_{1}+\sum_{i=1}^{i=n}\delta{i}X_{t-i}+\sum_{i=1}^{i=m}\theta{t-i}Y_{t-i}+\sum_{i=1}^{i=p}\omega_{i}Y_{t+i}+u_{2t}\]
El término de error estocástico \(u_i\) para todas las regresiones no deben tener correlación, por otra parte esta prueba establece que la dirección de causalidad está determinado por la existencia o no de una realción con valores futuos, de esta manera si se describe la primera regresión (1), se puede ver que para un periodo de tiempo actual (\(t\)) la variable Y actual se ve influenciada por los valores pasados de ella misma (\(Y_{t-i}\)) y por valores pasados de X (\(X_{t-j}\)) y por los valores futuros de X (\(X_{t+i}\)), lo mismo ocurre en la segunda regresión (2) para la variable X actual.
Como se puede observar en las ecuaciónes tomando como ejemplo la primera (1), en esta no sucede como en la pruea de granger que se determinaba si \(\sum\beta_{i}\) era igual a cero o no para demostrar que los valores pasados de X en Y tenían influencia, pero en esta prueba de Sims se demostrará si \(\sum\lambda_{i}\) es igual a cero o no, esto permitirá ver la dirección de la causalidad (revisar sección 3.2.6).
Siempre utilizando el mismo ejemplo de la ecuación 1 presentada anteriormente:
\[Y_{t}=\alpha_{2}+\sum_{i=1}^{i=n}\beta_{i}X_{t-i}+\sum_{i=1}^{i=m}\gamma_{t-i}Y_{t-i}+\sum_{i=1}^{i=p}\lambda_{i}X_{t+i}+u_{1t}\]
Se puede plantear la siguiente hipótesis para saber si la dirección de Y a X es correcta en el sentido de causalidad de granger. Utilizando ahora los valores futuros de X se puede decir que su coeficiente es representado por \(\lambda_{i}\) y este determinará la influencia de Y a X futura.
Así entonces se puede establecer las siguientes hipótesis de la prueba:
Hipótesis nula:
\[H_0: \sum\lambda_{i}=0\]
Hipótesis alternativa:
\[H_1: \sum\lambda_{i}≠0\]
No se encuentra una librería como tal para esta prueba en R, pero se puede Revisar la sección 3.2.7 para ver un ejemplo manual de esta prueba en R.
Para la construcción de este estadístico se realiza a través de la sumatoria de los cuadrados residuales de la regresión, pero estos pueden ser de dos tipo, por un lado estan los de la regresión restringida que solo ocupa los valores de la variable presente (\(Y_{t}\)) y los valores del pasado de si misma (\(Y_{t-i}\)) y de la otra variable (\(X_{t-i}\)), luego debe obtener los valores de la suma de cuadrados residuales para la regresión no restringida donde ya se involucran los valores de la otra variable del futuro (\(X_{t+i}\)) en la regresión.
Al obterner las sumatorias de los cuadrados residuales de la regresión se puede realizar la fórmula que se utilizaba para la construcción del estadístico F de granger.
\[F=\frac{SCR_R-SCRN_R)/m}{SCR_{NR}/(n - k)}\]
De las hipótesis establecidas con anterioridad:
\[H_0: \sum\lambda_{i}=0\] \[H_1: \sum\lambda_{i}≠0\]
Se puede hacer bajo el criterio de decisión:
En este método si el valor de F encontrado en los resultados de la prueba es mayor al valor crítico que se establece en la tabla de la distribución F entonces se rechaza la hipótesis nula.
De acuerdo al planteamiento de la sección 3.2.2 de las hipótesis nula y alternativa, para la prueba de Sims, se estará buscando rechazar la hipótesis nula, con el objetivo de demostrar la dirección de la causalidad.
Utilizando el ejemplo de la misma ecuación 1 de la sección 3.2.1, se puede ver que \(\lambda_{i}\) representa los valores futuros de X y la ecuación representa la dirección de causalidad de Y a X en el sentido de granger. Entonces, respecto a las hipótesis establecidas en la sección 3.2.2 se puede decir que:
Caso contrario
Datos: Datos del ejercicio 12.34. aplicando la prueba de causalidad de Sims para determinar si las ventas causan el gasto en planta. Usando los datos de los últimos cuatro años como términos adelantados del análisis. (Gujarati .D, 2009)
#Carga de datos del libro a Excel.
library(readxl)
Sims1993 <- read_excel("Sims1993.xlsx")
head(Sims1993)## # A tibble: 6 x 3
## Año VentPa Inventario
## <dbl> <dbl> <dbl>
## 1 1971 224619 369374
## 2 1972 236698 391212
## 3 1973 242686 405073
## 4 1974 239847 390950
## 5 1975 250394 382510
## 6 1976 242002 378762
#Creación de una función para prueba de Sims.
SimsTest <- function(m,datos,X=2,Y=3){
#Abrir librerías
library(magrittr)
library(dplyr)
#Pasar a serie temporal
datos1 <- ts(datos)
#obtener las variables con retrasos.
reglag <- function(x,lag) c(x[-(1:lag)],rep(NA,lag))
reglag2 <- function(x,lag) c(x[+((nrow(datos)-3):(nrow(datos)))])
Ypr<- reglag(datos1[,Y],m)
Ypa<-datos1[,Y]
Xpa<-reglag(datos1[,X],m)
Xfu<-datos1[,X]
d1 <- data.frame(cbind(Ypr, Ypa, Xpa, Xfu))
#Calculo de los sumatoria cuadrada de residuos
#SCR restringida.
options(scipen = 99999)
modelo_SCRr<-lm(formula = Ypr~Ypa+Xpa,data = d1)
##Matriz X
matriz_x1 <- model.matrix(modelo_SCRr)
##Matriz Y
matriz_y1<-d1[(1:nrow(matriz_x1)),1] %>% as.matrix()
##Matriz beta
matriz_b1 <- (solve(t(matriz_x1)%*%matriz_x1))%*%(t(matriz_x1)%*%matriz_y1)
SCRr<- (t(matriz_y1)%*%matriz_y1)-(t(matriz_b1)%*%t(matriz_x1)%*%matriz_y1)
#SCR no restringida.
options(scipen = 99999)
modelo_SCRnr<-lm(formula = Ypr~Ypa+Xpa+Xfu,data = d1)
##Matriz X
matriz_x2 <- model.matrix(modelo_SCRnr)
##Matriz Y
matriz_y2<-d1[(1:nrow(matriz_x2)),1] %>% as.matrix()
##Matriz beta
matriz_b2 <- (solve(t(matriz_x2)%*%matriz_x2))%*%(t(matriz_x2)%*%matriz_y2)
SCRnr<- (t(matriz_y2)%*%matriz_y2)-(t(matriz_b2)%*%t(matriz_x2)%*%matriz_y2)
#Obtención del estadístico de prueba F.
n<- nrow(datos)
k<- 2
F_Sims<- ((SCRr−SCRnr)/m)/(SCRnr/(n−k))
return(F_Sims)
}La función anterior tiene los argumentos de:
m: Como la cantidad de retardos.
X: Como el número de la columna donde está la variable que está causando a la variable Y en la base de datos.
Y: Como el número de la columna donde está la variable que es causada por la variable X en la base de datos.
futuro: como los valores que serán usados como el futuro de la variable X.
datos: El origen de los datos.
Realización de prueba
Al obtener los valores F, de los planteamientos para la dirección de la causalidad, se tiene también que para un nivel de significancia del 0.05 el valor crítico de la distribución F es 2.53.
Si el gasto en planta causa las ventas:
SimsTest(
m = 5,
datos = Sims1993,
X = 3,
Y = 2
)## [,1]
## [1,] 0.5952432
Si las ventas causan el gasto en planta:
SimsTest(
m = 5,
datos = Sims1993,
X = 2,
Y = 3
)## [,1]
## [1,] 2.776409
De los dos resultados, se puede decir que para el supuesto de “Si las ventas causan el gasto en planta” es el correcto. Ya que este posee un valor F mayor al valor crítico, por lo tanto se rechaza la hipótesis nula y se tiene evidencia que existe una causalidad en el sentido de granger de las ventas hacia el gasto en planta.