Carga de datos
library(wooldridge)
data("hprice1")
head(force(hprice1),n=6)
## price assess bdrms lotsize sqrft colonial lprice lassess llotsize
## 1 300.000 349.1 4 6126 2438 1 5.703783 5.855359 8.720297
## 2 370.000 351.5 3 9903 2076 1 5.913503 5.862210 9.200593
## 3 191.000 217.7 3 5200 1374 0 5.252274 5.383118 8.556414
## 4 195.000 231.8 3 4600 1448 1 5.273000 5.445875 8.433811
## 5 373.000 319.1 4 6095 2514 1 5.921578 5.765504 8.715224
## 6 466.275 414.5 5 8566 2754 1 6.144775 6.027073 9.055556
## lsqrft
## 1 7.798934
## 2 7.638198
## 3 7.225482
## 4 7.277938
## 5 7.829630
## 6 7.920810
Modelo Estimado
library(stargazer)
modelo_estimado<-lm(formula = price~lotsize+bdrms+sqrft,data = hprice1)
stargazer(modelo_estimado,type = "text",title = "Modelo Estimado")
##
## Modelo Estimado
## ===============================================
## Dependent variable:
## ---------------------------
## price
## -----------------------------------------------
## lotsize 0.002***
## (0.001)
##
## bdrms 13.853
## (9.010)
##
## sqrft 0.123***
## (0.013)
##
## 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(lmtest)
prueba_White<-bptest(modelo_estimado,~I(lotsize^2)+I(bdrms^2)+I(sqrft^2)+lotsize*bdrms*sqrft, data = hprice1)
print(prueba_White)
studentized Breusch-Pagan test
data: modelo_estimado BP = 33.803, df = 10, p-value = 0.0001995 Interpretación Como el Pvalue es < el nivel de significancia (0.0001995<0.05), se rechaza la Ho, entonces se observa que hay evidencia de que la varianza de los residuos es Heterocedastica.
library(fastGraph)
alpha_sig<-0.05
gl<-3+3+3
residuos<-modelo_estimado$residuals
data_pWhite<-as.data.frame(cbind(residuos,hprice1))
modelo_EST<-lm(formula = I(residuos^2)~lotsize+sqrft+bdrms+I(lotsize^2)+I(sqrft^2)+I(bdrms^2)+I(lotsize*bdrms)+I(lotsize*sqrft)+I(sqrft*bdrms),data = data_pWhite)
VC<-qchisq(p=0.95,df=gl)
sum<-summary(modelo_EST)
R2<-sum$r.squared
n<-nrow(data_pWhite)
LMW<-n*R2
shadeDist(LMW,ddist = "dchisq",
parm1=gl,
lower.tail = FALSE, xmin=0,
sub=paste("VC:",round(VC,2),"","LMW",round(LMW,2)))