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. Estimación del modelo

Estime el siguiente modelo:

price = ˆα + ˆα1(lotsize) + ˆα2(sqrft) + ˆα3(bdrms) + E

library(stargazer)
## 
## Please cite as:
##  Hlavac, Marek (2022). stargazer: Well-Formatted Regression and Summary Statistics Tables.
##  R package version 5.2.3. https://CRAN.R-project.org/package=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. Verificación de que los residuos del modelos son independientes entre si

A. Prueba de Durbin Watson

library(lmtest)
## Warning: package 'lmtest' was built under R version 4.2.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.2.3
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
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
Criterio de decisión:

-Rechazar H0 sí P Value ≤ α

No se rechaza la hipotesis H0, ya que el p value (0.62) es mayor que el nivel de signifciacia (0.05), por lo tanto, se concluye que no existe autocorrelación entre las variables.

Usando el estadistico Durbin-Watson

Para las 3 variables explicativas que se tomaron y las 88 observaciones que posee la prueba (las cuales se redondean a 90), se obtiene que dl=1.589 y du=1.726.

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

NO se rechaza H0, debido a que se encuentra dentro de la zona de no rechazo y a la vez, está entre los valores dl (1.589) y 4-dl (2.411), lo que nos indica que NO hay presencia de autocorrelación.

B. Prueba del multiplicador de Lagrange

library(car)
## Loading required package: carData
durbinWatsonTest(Modelo.precio,simulate = TRUE,reps = 1000)
##  lag Autocorrelation D-W Statistic p-value
##    1     -0.05900522      2.109796   0.608
##  Alternative hypothesis: rho != 0

Autocorrelación de Orden Superior (Orden “m”)

library(dplyr)
## Warning: package 'dplyr' was built under R version 4.2.3
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:car':
## 
##     recode
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)
## Warning: package 'tidyr' was built under R version 4.2.3
library(stargazer)
library(kableExtra)
## Warning: package 'kableExtra' was built under R version 4.2.3
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows
resid<-Modelo.precio$residuals
cbind(resid,hprice1) %>% as.data.frame() %>% mutate(lag_1=dplyr::lag(resid,1),
       lag_2=dplyr::lag(resid,2)) %>%
  replace_na(list(lag_1=0,lag_2=0)) -> data_prueba_BG
kable(head(data_prueba_BG,n=6))
resid 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
reg.aux.bg<-lm(resid~lotsize+sqrft+bdrms+lag_1+lag_2,data = data_prueba_BG)
resumen.BG<-summary(reg.aux.bg)
n<-nrow(data_prueba_BG)
gl<-2
R.2.BG<-resumen.BG$r.squared
LM.BG<-n*R.2.BG
VC<-qchisq(p=0.95,df=gl)
p.value.bg<-1-pchisq(q = LM.BG,df=gl)
salida.BG<-c(LM.BG,VC,p.value.bg)
names(salida.BG)<-c("LM BG", "Valor Crítico", "Valor P")
stargazer(salida.BG, title = "Prueba de BG",type = "html", digits = 6)
Prueba de BG
LM BG Valor Crítico Valor P
3.033403 5.991465 0.219435
Criterio de decisión:

-Rechazar H0 sí P Value ≤ α

No se rechaza la hipotesis H0, debido a que p value (0.21) es mayor que el nivel de significacia (0.05) en la condición de primer orden, por lo tanto, se concluye que no existe autocorrelación entre las variables.

Usando lmtest

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
Criterio de decisión:

-Rechazar H0 sí P Value ≤ α

No se rechaza la hipotesis H0, debido a que p value (0.53) es mayor que el nivel de significacia (0.05) en la condición de primer orden, por lo tanto, se concluye que no existe autocorrelación entre las variables.

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
Criterio de decisión:

-Rechazar H0 sí P Value ≤ α

No se rechaza la hipotesis H0, debido a que p value (0.21) es mayor que el nivel de significacia (0.05) en la condición de segundo orden, por lo tanto, se concluye que no existe autocorrelación entre las variables.