Cargar los 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

Estimar el modelo

library(stargazer)
modelo_estimado <- lm(price~lotsize+sqrft+bdrms,data = hprice1)
stargazer(modelo_estimado,title = "Modelo Estimado", type = "text")
## 
## Modelo Estimado
## ===============================================
##                         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

Verifique si los residuos del modelo son independientes entre sí, a través de:

A) Prueba de Durbin Watson.

# Usando libreria "lmtest"
library(lmtest)
dwtest(modelo_estimado, alternative = "two.sided", iterations = 1000)
## 
##  Durbin-Watson test
## 
## data:  modelo_estimado
## DW = 2.1098, p-value = 0.6218
## alternative hypothesis: true autocorrelation is not 0
# Usando libreria "car"
library(car)
library(carData)
durbinWatsonTest(modelo_estimado, simulate = TRUE, reps = 1000)
##  lag Autocorrelation D-W Statistic p-value
##    1     -0.05900522      2.109796    0.62
##  Alternative hypothesis: rho != 0

En las dos pruebas, se puede rechazar la presencia de autocorrelación, por lo tanto la \(H_0\) no se rechaza, ya que el \(P_{value} > 0.05\)

B) Prueba de Multiplicador de Lagrange

# Verifique autocorrelación de primer y segundo orden
# PREPARACIÓN DE DATOS
library(lmtest)
bgtest(modelo_estimado,order=1) # Primer orden
## 
##  Breusch-Godfrey test for serial correlation of order up to 1
## 
## data:  modelo_estimado
## LM test = 0.39362, df = 1, p-value = 0.5304

Ante la prueba realizada vemos que \(p_{value > 0.05}\) por lo tanto no se rechaza \(H_0\), es decir que los residuos, no siguen autocorrelación de primer orden.

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

Ante la prueba realizada vemos que \(p_{value > 0.05}\) por lo tanto no se rechaza \(H_0\), es decir que los residuos, no siguen autocorrelación de segundo orden.