Carga de datos

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

Estime el modelo

library(stargazer)
modelo.precio <- lm(formula = price~lotsize+sqrft+bdrms,data = hprice1)
stargazer(modelo.precio,title="Modelo Precio",type = "html", digits=4)
Modelo Precio
Dependent variable:
price
lotsize 0.0021***
(0.0006)
sqrft 0.1228***
(0.0132)
bdrms 13.8525
(9.0101)
Constant -21.7703
(29.4750)
Observations 88
R2 0.6724
Adjusted R2 0.6607
Residual Std. Error 59.8335 (df = 84)
F Statistic 57.4602*** (df = 3; 84)
Note: p<0.1; p<0.05; p<0.01

2. Verique el supuesto de normalidad, a través de:

a) Prueba Jarque-Bera

options(scipen = 9999)
library(normtest)
JB <- jb.norm.test(modelo.precio$residuals)
print(JB)
## 
##  Jarque-Bera test for normality
## 
## data:  modelo.precio$residuals
## JB = 32.278, p-value = 0.0005
qqnorm(modelo.precio$residuals)
qqline(modelo.precio$residuals)

Interpretación: Existe evidencia en favor de rechazar la Ho, se estima que no hay evidencia de que los residuos siguen una distribución normal.

#Gráfica
library(magrittr)
gl <- 2
ValorC <- qchisq(p = 0.95,df = 2)

library(fastGraph)
shadeDist(xshade = JB$statistic, ddist = "dchisq",parm1 = 2,lower.tail = FALSE,
          sub= paste("VC:", ValorC%>%round(digits = 6), "JB:", JB$statistic%>%round(digits = 6)), col = c("blue","red"))

b) Prueba Kolmogorov-Smirnov

library(nortest)
lillie.test(modelo.precio$residuals)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  modelo.precio$residuals
## D = 0.075439, p-value = 0.2496

Interpretación: Con el p-value obtenido con esta prueba hay evidencia en favor de no rechazar la Ho, por lo tanto consideraríamos que los residuos siguen una distribución normal.

c) Prueba Shapiro-Wilk

Shap <- shapiro.test(modelo.precio$residuals)
print(Shap)
## 
##  Shapiro-Wilk normality test
## 
## data:  modelo.precio$residuals
## W = 0.94132, p-value = 0.0005937

Interpretación: El p-value es menor que el nivel de significancia, existe evidencia a favor de rechazar la Ho, por lo tanto puede considerarse que los residuos provienen de una distribución normal.

#Gráfica
library(magrittr)
library(fastGraph)
shadeDist(xshade = Shap$statistic, ddist = "dnorm",parm1 = 0,lower.tail = FALSE,
          sub= paste("VC:", 1.64485, "SW:", Shap$statistic%>%round(digits = 6)), col = c("blue","red"))