UNIVERSIDAD DE EL SALVADOR

FACULTAD DE CIENCIAS ECONÓMICAS

ESCUELA DE ECONOMÍA

CICLO I - 2023

Logo de la Universidad de El Salvador

“EJERCICIO DE AUTOCORRELACIÓN”

Asignatura

Econometría

Grupo teórico

Gt 01

Docente

MSF.Carlos Ademir Peréz Alas

Realizado por:

Mendoza Lemus, Johan Eli ML18043

Ciudad universitaria, 21 de mayo de 2023


Utilizando los datos del dataframe hprice1: disponible en el paquete wooldridge use el siguiente código para generar el dataframe:

#Carga de datos

library(wooldridge)
data(hprice1) 
head(force(hprice1), n=5) 
##   price assess bdrms lotsize sqrft colonial   lprice  lassess llotsize   lsqrft
## 1   300  349.1     4    6126  2438        1 5.703783 5.855359 8.720297 7.798934
## 2   370  351.5     3    9903  2076        1 5.913503 5.862210 9.200593 7.638198
## 3   191  217.7     3    5200  1374        0 5.252274 5.383118 8.556414 7.225482
## 4   195  231.8     3    4600  1448        1 5.273000 5.445875 8.433811 7.277938
## 5   373  319.1     4    6095  2514        1 5.921578 5.765504 8.715224 7.829630

1. Estime el siguiente modelo:

Price=α̂+α̂1(lotsize)+α̂2(sqrft)+α̂3(bdrms)+ε

#Estimación del modelo 
library(stargazer)
modelo_precio <- lm(formula = price ~ lotsize + sqrft + bdrms, data = hprice1)
stargazer(modelo_precio, title = "Modelo del precio", type = "html", digits = 4)
Modelo del precio
Dependent variable:
price
lotsize 0.0021***
(0.0006)
sqrft 0.1228***
(0.0132)
bdrms 13.8525
(9.0101)
Constant -21.7703
(29.4750)
Observations 88
R2 0.6724
Adjusted R2 0.6607
Residual Std. Error 59.8335 (df = 84)
F Statistic 57.4602*** (df = 3; 84)
Note: p<0.1; p<0.05; p<0.01

2. Verifique si los residuos del modelo son independientes entre sí

A) Verificación mediante la prueba de Durbin Watson.

Usando la libreria “lmtest”

library(lmtest)

dwtest(modelo_precio,alternative = "two.sided",iterations = 1000)
## 
##  Durbin-Watson test
## 
## data:  modelo_precio
## DW = 2.1098, p-value = 0.6218
## alternative hypothesis: true autocorrelation is not 0

No se rechaza la H0, ya que 0.06218 > 0.05, por lo que no evidencia de la presencia de autocorrelación

Usando la libreria “car”

library("car")

durbinWatsonTest(modelo_precio,simulate = TRUE,reps = 1000)
##  lag Autocorrelation D-W Statistic p-value
##    1     -0.05900522      2.109796   0.584
##  Alternative hypothesis: rho != 0

No se rechaza la H0, ya que p-value > 0.05, por lo que no evidencia de la presencia de autocorrelación

Usando la tabla del estadístico de Durbin-Watson

Para tres variables explicativas (lotsize, sqrft, bdrms) y 88 observiaciones (redondeado a 90) se tiene que dL = 1.589 y du = 1.726. donde:

  • (4-du = 2.274)
  • (4-dL = 2.411)
  • DW = 2.1098

De acuerdo al esquema se puede concluir que no se rechaza H0 debido que el DW calculado (2.1098) cae en la zona de no rechazo, ya que se encuentra entre los valores de du (1.726) y 4-du (2.274), por tanto, no hay presencia de autocorrelación lineal.

B) Prueba del Multiplicador de Lagrange (verificación de autocorrelación de primer y segundo orden).

library(stargazer)
library(dplyr)
library(tidyr)
library(kableExtra)
residuos<-modelo_precio$residuals
cbind(residuos,hprice1) %>% 
  as.data.frame() %>% 
  mutate(Lag_1=dplyr::lag(residuos,1),
         Lag_2=dplyr::lag(residuos,2)) %>% 
  replace_na(list(Lag_1=0,Lag_2=0))->data_pruebaBG
kable(head(data_pruebaBG,6))
residuos price assess bdrms lotsize sqrft colonial lprice lassess llotsize lsqrft Lag_1 Lag_2
-45.639765 300.000 349.1 4 6126 2438 1 5.703783 5.855359 8.720297 7.798934 0.000000 0.000000
74.848732 370.000 351.5 3 9903 2076 1 5.913503 5.862210 9.200593 7.638198 -45.639765 0.000000
-8.236558 191.000 217.7 3 5200 1374 0 5.252274 5.383118 8.556414 7.225481 74.848732 -45.639765
-12.081520 195.000 231.8 3 4600 1448 1 5.273000 5.445875 8.433811 7.277938 -8.236558 74.848732
18.093192 373.000 319.1 4 6095 2514 1 5.921578 5.765504 8.715224 7.829630 -12.081520 -8.236558
62.939597 466.275 414.5 5 8566 2754 1 6.144775 6.027073 9.055556 7.920810 18.093192 -12.081520

Regresión auxiliar y estadístico LM

library(stargazer)
regre_auxiBG<-lm(residuos~lotsize+sqrft+bdrms+Lag_1+Lag_2,data = data_pruebaBG)
Residuos_BG<-summary(regre_auxiBG)
R2_BG<-Residuos_BG$r.squared
n<-nrow(data_pruebaBG)
LM_BG<-n*R2_BG
gl=2
p_value<-1-pchisq(q = LM_BG,df = gl)
VC<-qchisq(p = 0.95,df = gl)
salida_bg<-c(LM_BG,VC,p_value)
names(salida_bg)<-c("LMbg","Valor Crítico","p value")
stargazer(salida_bg,title = "Resultados de la prueba de Breusch Godfrey",type = "html",digits = 6)
Resultados de la prueba de Breusch Godfrey
LMbg Valor Crítico p value
3.033403 5.991465 0.219435

Como el p-value (0.219435) > 0.05 no se rechaza H0, por lo tanto, se puede concluir que los residuos del modelo no siguen autocorrelación de orden “2”

Utilizando la librería “lmtest”

#Primer orden
library(lmtest)
bgtest(modelo_precio,order = 1)
## 
##  Breusch-Godfrey test for serial correlation of order up to 1
## 
## data:  modelo_precio
## LM test = 0.39362, df = 1, p-value = 0.5304

Como el p-value (0.05304) > 0.05 no se rechaza H0, por lo tanto, se puede concluir que los residuos del modelo no siguen autocorrelación de orden “1”

#Segundo orden
library(lmtest)
bgtest(modelo_precio,order = 2)
## 
##  Breusch-Godfrey test for serial correlation of order up to 2
## 
## data:  modelo_precio
## LM test = 3.0334, df = 2, p-value = 0.2194

Como el p-value (0.2194) > 0.05 no se rechaza H0, por lo tanto, se puede concluir que los residuos del modelo no siguen autocorrelación de orden “2”