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

modelo_lineal<-lm(formula =   price ~lotsize+sqrft+bdrms, data = hprice1)

#Prueba JB

library(normtest)
library(stargazer)
library(fastGraph)
Jb<- jb.norm.test(modelo_lineal$residuals)
estadistico_JB<-Jb$statistic
p_value<-Jb$p.value
VC<-5.9915
gl<-2
nivel_significancia<-0.05
Salida_JB<-c(estadistico_JB , p_value, VC, nivel_significancia)
names(Salida_JB)<-c("JB","p-value","VC","significancia")
stargazer(Salida_JB, title = "Resultado de la prueba Jarque- Bera" , type = "html" )
Resultado de la prueba Jarque- Bera
JB p-value VC significancia
32.278 0.0005 5.992 0.050
shadeDist(xshade = Jb$statistic, ddist="dchisq", parm1 =gl , lower.tail = FALSE, sub=paste("VC:", VC, "JB:", Jb$statistic))

#Dado que el estadistico JB es mayor que el Valor critico, se puede determinar que existe evidencia estadistica para establecer que los residuales no siguen una distribucion normal

#Prueba KS

library(nortest)
KS<-lillie.test(modelo_lineal$residuals)
estadistico_KS<-KS$statistic
p_value_KS<-KS$p.value
VC_KS<-0.09337
nivel_significancia_KS<- 0.05
Salida_KS<-c(estadistico_KS , p_value_KS, VC_KS,nivel_significancia_KS )
names(Salida_KS)<-c("KS","p-value","VC","significancia")
stargazer(Salida_KS, title = "Resultado de la prueba KOLMOGOROV-SMIRNOV-LILLIE" , type = "html" )
Resultado de la prueba KOLMOGOROV-SMIRNOV-LILLIE
KS p-value VC significancia
0.075 0.250 0.093 0.050

#Prueba SW

library(stargazer)
SWT<-shapiro.test(modelo_lineal$residuals)
estadistico_SW<-SWT$statistic
p_value_SW<-SWT$p.value
VC_SW<-1.6448
nivel_significancia_SW<-0.05
Salida_SW<-c(estadistico_SW , p_value, VC_SW, nivel_significancia_SW)
names(Salida_SW)<-c("SW","p-value_SW","VC","significancia")
stargazer(Salida_SW, title = "Resultado de la prueba SHAPIRO-WILK" , type = "html" )
Resultado de la prueba SHAPIRO-WILK
SW p-value_SW VC significancia
0.941 0.0005 1.645 0.050
shadeDist(xshade = SWT$statistic , ddist="dnorm", parm1 = 0 , lower.tail = FALSE, sub=paste("VC:", VC, "SWT:", SWT$statistic))

#Dado que el nivel de significancia es mayor que p-value existe evidencia estadistica para determinar que los residuales no tienen una distribucion normal