library(wooldridge)
library(fastGraph)
library(haven)
hprice1 <- read_dta("C:/Users/USUARIO/Downloads/hprice1.dta")
head(hprice1, n=5)
## # A tibble: 5 x 10
## price assess bdrms lotsize sqrft colonial lprice lassess llotsize lsqrft
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 300 349. 4 6126 2438 1 5.70 5.86 8.72 7.80
## 2 370 352. 3 9903 2076 1 5.91 5.86 9.20 7.64
## 3 191 218. 3 5200 1374 0 5.25 5.38 8.56 7.23
## 4 195 232. 3 4600 1448 1 5.27 5.45 8.43 7.28
## 5 373 319. 4 6095 2514 1 5.92 5.77 8.72 7.83
library(stargazer)
modelo_estimado<-lm(formula= price~lotsize+sqrft+bdrms, data = hprice1)
stargazer(modelo_estimado, type="html", title="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 |
library(stargazer)
residu<-modelo_estimado$residuals
data_prueba_white<-as.data.frame(cbind(residu, hprice1))
regresion_auxiliar<-lm(formula= I(residu^2)~lotsize+sqrft+ bdrms+I(lotsize^2)+I(sqrft^2)+ I(bdrms^2)+lotsize*sqrft+bdrms, data=data_prueba_white)
resumen<-summary(regresion_auxiliar)
n<-nrow(data_prueba_white)
R_2<-resumen$r.squared
LM_w<-n*R_2
gl<-3+3+3
P_value<-1-pchisq(q=LM_w, df=gl)
vc<-qchisq(p=0.95, df=gl)
salida_white<-c(LM_w,vc,P_value)
names(salida_white)<-c("LMw", "valor critico","p_value")
stargazer(salida_white, title= "Prueba white", type="text", digits=5)
library(lmtest)
prueba_white<-bptest(modelo_estimado,~I(lotsize^2)+I(sqrft^2)+ I(bdrms^2), data= hprice1)
print(prueba_white)
##
## studentized Breusch-Pagan test
##
## data: modelo_estimado
## BP = 11.99, df = 3, p-value = 0.007416
en visto de los resutados donde se asume que el p_value<0.05 de acuerdo a los resultados hay evidencia de rechazar la hipotesis nula
library(fastGraph)
shadeDist(xshade= modelo_estimado$chisq, ddist="dchisq", parm1= modelo_estimado$df, lower.tail= FALSE, sub=paste("vc:", vc, "LM_W:", LM_w, "p_value:", P_value, modelo_estimado$chisq))