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
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_lineal<- lm(price~lotsize+sqrft+bdrms, data = hprice1)
stargazer(Modelo_lineal,tittle = "Modelo Estimado",type = "html")
|
|
|
|
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
|
Prueba de Durbin-Watson
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
dwtest(Modelo_lineal,alternative = "two.sided",iterations = 1000)
##
## Durbin-Watson test
##
## data: Modelo_lineal
## DW = 2.1098, p-value = 0.6218
## alternative hypothesis: true autocorrelation is not 0
library(car)
## Loading required package: carData
durbinWatsonTest(Modelo_lineal,simulate = TRUE, reps = 1000)
## lag Autocorrelation D-W Statistic p-value
## 1 -0.05900522 2.109796 0.564
## Alternative hypothesis: rho != 0
En ambos casos se puede rechazar la presencia de autocorrelación (No
se rechaza la H0), P value > 0.05
b) Prueba del Multiplicador de Lagrange (verifique autocorrelación
de primer y segundo orden).
library(dplyr)
##
## 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)
library(kableExtra)
##
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
##
## group_rows
Residuales<-Modelo_lineal$residuals
cbind(Residuales,hprice1) %>%
as.data.frame() %>%
mutate(Lag_1=dplyr::lag(Residuales,1),
Lag_2=dplyr::lag(Residuales,2)) %>%
replace_na(list(Lag_1=0,Lag_2=0))->data_prueba_BG
kable(head(data_prueba_BG,6))
|
Residuales
|
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 regresion auxiliar y el estadistico LMbp
library(stargazer)
regresion_auxiliar_BG<-lm(Residuales~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 = "Prueba de Breusch Godfrey", type = "html",digits = 6)
Prueba de Breusch Godfrey
|
|
|
LMbg
|
Valor Crítico
|
p value
|
|
|
|
3.033403
|
5.991465
|
0.219435
|
|
|
Como Pvalue>0.05 No se rechaza H0, por lo tanto los residuos del
modelo, no siguen autocorrelación de orden 2
Usando la libreria lmtest
Primer orden
library(lmtest)
bgtest(Modelo_lineal,order = 1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: Modelo_lineal
## LM test = 0.39362, df = 1, p-value = 0.5304
Como Pvalue>0.05 No se rechaza H0, por lo tanto puede concluirse
que los residuos del modelo no siguen autocorrelación de primer
orden.
Segundo orden
library(lmtest)
bgtest(Modelo_lineal,order = 2)
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: Modelo_lineal
## LM test = 3.0334, df = 2, p-value = 0.2194