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)
modelo.precio <- lm(formula = price~lotsize+sqrft+bdrms,data = hprice1)
stargazer(modelo.precio,title="Modelo Precio",type = "html", digits=4)
| 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 |
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"))
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.
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"))