#Carga de datos
library(wooldridge)
data(hprice1)
head(force(hprice1),n=5) #mostrar las primeras 5 observaciones
##   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

1. estime el siguiente modelo

price = α + α1(lotsize) + α2(sqrft) + α3(bdrms) + e

library(stargazer)
Modelo_estimado <- lm(formula = price~lotsize+sqrft+bdrms,data = hprice1)
stargazer(Modelo_estimado, title = "Modelo estimado",type = "html",digits = 8)
Modelo estimado
Dependent variable:
price
lotsize 0.00206771***
(0.00064213)
sqrft 0.12277820***
(0.01323741)
bdrms 13.85252000
(9.01014500)
Constant -21.77031000
(29.47504000)
Observations 88
R2 0.67236220
Adjusted R2 0.66066090
Residual Std. Error 59.83348000 (df = 84)
F Statistic 57.46023000*** (df = 3; 84)
Note: p<0.1; p<0.05; p<0.01

a) Use la libreria lmtest para verificar si su varianza residual es homocedástica a través de la prueba de White (incluya los términos cruzados).

options(scipen = 999)
library(lmtest)
library(stargazer)
prueba_white <- bptest(Modelo_estimado,~I(lotsize^2)+I(sqrft^2)+I(bdrms^2)+lotsize*sqrft+lotsize*bdrms+bdrms*sqrft,data = hprice1)

VC <- qchisq(p = 0.95,df = prueba_white$parameter,lower.tail = TRUE)
salida_PW <- c(prueba_white$statistic,VC,prueba_white$p.value,0.05)
names(salida_PW) <- c("LMw","VC","P-value","significancia")
print(salida_PW)
      LMw            VC       P-value significancia 

33.7316577111 16.9189776046 0.0000995294 0.0500000000

El estadístico de prueba BP es mayor a VC, y el p-value es menor al nivel de significancia. Se rechaza la hipótesis nula, por lo tanto hay evidencia que la varianza de los residuos es heterocedástica.

b) Presente sus resultados de forma gráfica a través de la librería fastGraph

library(fastGraph)
shadeDist(xshade = prueba_white$statistic, ddist = "dchisq",parm1 = 9, lower.tail = FALSE,col = c("blue","green"))