Base de datos.

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

1. Estimación del modelo.

library(stargazer) 
modelo_ejercicio<-lm(formula = price~lotsize+sqrft+bdrms, data=hprice1) 
stargazer(modelo_ejercicio, title = "Ejercicio", type = "html") 
Ejercicio
Dependent variable:
price
lotsize 0.002***
(0.001)
sqrft 0.123***
(0.013)
bdrms 13.853
(9.010)
Constant -21.770
(29.475)
Observations 88
R2 0.672
Adjusted R2 0.661
Residual Std. Error 59.833 (df = 84)
F Statistic 57.460*** (df = 3; 84)
Note: p<0.1; p<0.05; p<0.01

2. Verificación de si los residuos del modelo son independientes entre sí.

a) Prueba de Durbin Watson.

Utilizando libreria lmtest.

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

Se puede rechazar la presencia de autocorrelación (No se rechaza la H0), ya que el p-value > 0.05, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelación de 1° orden

Utilizando libreria car.

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

Se puede rechazar la presencia de autocorrelación (No se rechaza la H0), ya que el p-value > 0.05, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelación de 1° orden

Usando la tabla.

De acuerdo al esquema, el DW calculado, cae en la zona de no Rechazo de H0, por lo tanto no hay presencia de autocorrelación lineal.

b) Prueba del Multiplicador de Lagrange

Preparación de datos:

library(stargazer)
library(dplyr)
library(tidyr)
library(kableExtra)
u_i<-modelo_ejercicio$residuals
cbind(u_i,hprice1) %>% 
  as.data.frame() %>% 
  mutate(Lag_1=dplyr::lag(u_i,1),
         Lag_2=dplyr::lag(u_i,2)) %>% 
  replace_na(list(Lag_1=0,Lag_2=0))->data_prueba_BG
kable(head(data_prueba_BG,6))
u_i 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

Calculando la regresión auxiliar y el estadístico LM

library(stargazer)
regresion_auxiliar_BG<-lm(u_i~lotsize+sqrft+bdrms+Lag_1+Lag_2,data = data_prueba_BG)
sumario_BG<-summary(regresion_auxiliar_BG)
R_2_BG<-sumario_BG$r.squared
n<-nrow(data_prueba_BG)
LM_BG<-n*R_2_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 p-value > 0.05, No se rechaza H0, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelación de orden “2”.

Usando la librería “lmtest”.

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

Como p-value > 0.05, No se rechaza H0, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelación de orden “2”.