Carga de datos
library(wooldridge)
data(hprice1)
head(force(hprice1),n=5)
| 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_estimado<-lm(formula = price~lotsize+sqrft+bdrms, data = hprice1)
stargazer(modelo_estimado, title = "Ejercicio Autocorrelación", type = "html")
Ejercicio Autocorrelación
|
|
|
|
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.Verificion: los residuos del modelo son independientes entre
sí.
a) Prueba 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
Debido a que 0.6218 > 0.05 se puede rechazar la presencia de
autocorrelación, es decir, No se rechaza la Ho.
Usando libreria “car”
library(car)
durbinWatsonTest(modelo_estimado,simulate = TRUE,reps = 1000)
## lag Autocorrelation D-W Statistic p-value
## 1 -0.05900522 2.109796 0.592
## Alternative hypothesis: rho != 0
Debido a que 0.664 > 0.05 se puede rechazar la presencia de
autocorrelación, es decir, No se rechaza la Ho.
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(dplyr)
library(tidyr)
library(kableExtra)
u_i<-modelo_estimado$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 LMBP
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
|
|
|
Debido a que 0.219435 > 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_estimado,order = 2)
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: modelo_estimado
## LM test = 3.0334, df = 2, p-value = 0.2194
Como pvalue>0.05 No se rechaza H0, por lo tanto puede concluirse
que los residuos del modelo, no siguen autocorrelación de orden “2”