# ================================
# EJERCICIO AUTOCORRELACIÓN
# ================================
# 2. Cargar librerías
library(wooldridge)
## Warning: package 'wooldridge' was built under R version 4.5.3
library(lmtest)
## Warning: package 'lmtest' was built under R version 4.5.3
## Cargando paquete requerido: zoo
## Warning: package 'zoo' was built under R version 4.5.2
##
## Adjuntando el paquete: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(stargazer)
## Warning: package 'stargazer' was built under R version 4.5.2
##
## 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
# 3. Cargar datos
data(hprice1)
head(hprice1, 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
# ==========================================
# 4. ESTIMAR EL MODELO
# ==========================================
modelo_precio <- lm(formula = price ~ lotsize + sqrft + bdrms, data = hprice1)
# Mostrar resultados bonitos
stargazer(modelo_precio,
title = "Modelo Precio",
type = "html",
digits = 4)
##
## <table style="text-align:center"><caption><strong>Modelo Precio</strong></caption>
## <tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left"></td><td><em>Dependent variable:</em></td></tr>
## <tr><td></td><td colspan="1" style="border-bottom: 1px solid black"></td></tr>
## <tr><td style="text-align:left"></td><td>price</td></tr>
## <tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">lotsize</td><td>0.0021<sup>***</sup></td></tr>
## <tr><td style="text-align:left"></td><td>(0.0006)</td></tr>
## <tr><td style="text-align:left"></td><td></td></tr>
## <tr><td style="text-align:left">sqrft</td><td>0.1228<sup>***</sup></td></tr>
## <tr><td style="text-align:left"></td><td>(0.0132)</td></tr>
## <tr><td style="text-align:left"></td><td></td></tr>
## <tr><td style="text-align:left">bdrms</td><td>13.8525</td></tr>
## <tr><td style="text-align:left"></td><td>(9.0101)</td></tr>
## <tr><td style="text-align:left"></td><td></td></tr>
## <tr><td style="text-align:left">Constant</td><td>-21.7703</td></tr>
## <tr><td style="text-align:left"></td><td>(29.4750)</td></tr>
## <tr><td style="text-align:left"></td><td></td></tr>
## <tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left">Observations</td><td>88</td></tr>
## <tr><td style="text-align:left">R<sup>2</sup></td><td>0.6724</td></tr>
## <tr><td style="text-align:left">Adjusted R<sup>2</sup></td><td>0.6607</td></tr>
## <tr><td style="text-align:left">Residual Std. Error</td><td>59.8335 (df = 84)</td></tr>
## <tr><td style="text-align:left">F Statistic</td><td>57.4602<sup>***</sup> (df = 3; 84)</td></tr>
## <tr><td colspan="2" style="border-bottom: 1px solid black"></td></tr><tr><td style="text-align:left"><em>Note:</em></td><td style="text-align:right"><sup>*</sup>p<0.1; <sup>**</sup>p<0.05; <sup>***</sup>p<0.01</td></tr>
## </table>
# 5. PRUEBA DE DURBIN-WATSON
# ==========================================
dw <- dwtest(modelo_precio)
print(dw)
##
## Durbin-Watson test
##
## data: modelo_precio
## DW = 2.1098, p-value = 0.6777
## alternative hypothesis: true autocorrelation is greater than 0
# ==========================================
# 6. PRUEBA LM (BREUSCH-GODFREY)
# ==========================================
# Autocorrelación de primer orden
bg1 <- bgtest(modelo_precio, order = 1)
print(bg1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo_precio
## LM test = 0.39362, df = 1, p-value = 0.5304
# Autocorrelación de segundo orden
bg2 <- bgtest(modelo_precio, order = 2)
print(bg2)
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: modelo_precio
## LM test = 3.0334, df = 2, p-value = 0.2194
Los resultados de la prueba de Breusch-Godfrey indican que no se rechaza la hipótesis nula de ausencia de autocorrelación, tanto para el primer como para el segundo orden, dado que los p-values (0.5304 y 0.2194, respectivamente) son mayores al nivel de significancia del 5%. Por lo tanto, no existe evidencia estadística de autocorrelación en los residuos del modelo estimado.
Tanto la prueba de Durbin-Watson como la prueba de Breusch-Godfrey coinciden en que no existe evidencia de autocorrelación en los residuos del modelo. Esto sugiere que el supuesto de independencia de los errores se cumple adecuadamente.