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

#correr modelo

library(stargazer)
modelo_normalidad<-lm(price = ˆα + ˆα1(lotsize) + ˆα2(sqrft) + ˆα3(bdrms) +ε, data = hprice1)
summary(modelo_normalidad)
## 
## Call:
## lm(data = hprice1, price = ˆα + ˆα1(lotsize) + ˆα2(sqrft) + 
##     ˆα3(bdrms) + ε)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -41.299  -4.117   0.383   4.547  53.462 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  6.064e+02  2.464e+02   2.461   0.0161 *  
## assess       1.233e+00  9.706e-02  12.704  < 2e-16 ***
## bdrms        2.652e+00  2.118e+00   1.252   0.2143    
## lotsize      3.452e-05  2.524e-04   0.137   0.8916    
## sqrft        8.147e-03  1.859e-02   0.438   0.6624    
## colonial    -4.100e-01  3.390e+00  -0.121   0.9041    
## lprice       2.761e+02  1.019e+01  27.107  < 2e-16 ***
## lassess     -3.968e+02  3.818e+01 -10.393 2.23e-16 ***
## llotsize     1.755e+00  5.791e+00   0.303   0.7627    
## lsqrft      -3.954e+00  4.150e+01  -0.095   0.9243    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 12.92 on 78 degrees of freedom
## Multiple R-squared:  0.9858, Adjusted R-squared:  0.9842 
## F-statistic: 602.2 on 9 and 78 DF,  p-value: < 2.2e-16

#Ajuste de los residuos

library(fitdistrplus)
## Loading required package: MASS
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:wooldridge':
## 
##     cement
## Loading required package: survival
fit_normal<-fitdist(data = modelo_normalidad$residuals,distr = "norm")
plot(fit_normal)

summary(fit_normal)
## Fitting of the distribution ' norm ' by maximum likelihood 
## Parameters : 
##          estimate Std. Error
## mean 1.627880e-16  1.2967563
## sd   1.216465e+01  0.9169452
## Loglikelihood:  -344.7376   AIC:  693.4752   BIC:  698.4299 
## Correlation matrix:
##      mean sd
## mean    1  0
## sd      0  1

#prueba de normalidad jarque bera

library(tseries)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
salida_JB<-jarque.bera.test(modelo_normalidad$residuals)
salida_JB
## 
##  Jarque Bera Test
## 
## data:  modelo_normalidad$residuals
## X-squared = 86.125, df = 2, p-value < 2.2e-16

#prueba de Kolmogorov Smirnov

library(nortest)
prueba_KS<-lillie.test(modelo_normalidad$residuals)
prueba_KS
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  modelo_normalidad$residuals
## D = 0.13815, p-value = 0.0002732
library(fastGraph)
alpha_sig<-0.05
JB<-salida_JB$statistic
gl<-salida_JB$parameter
VC<-qchisq(1-alpha_sig,gl,lower.tail = TRUE)
shadeDist(JB,ddist = "dchisq",
          parm1 = gl,
          lower.tail = FALSE,xmin=0,
          sub=paste("VC:",round(VC,2)," ","JB:",round(JB,2)))

#prueba de Shapiro - Wilk

salida_SW<-shapiro.test(modelo_normalidad$residuals)
print(salida_SW)
## 
##  Shapiro-Wilk normality test
## 
## data:  modelo_normalidad$residuals
## W = 0.89732, p-value = 3.831e-06
library(fastGraph)
shadeDist(ddist = "dnorm",lower.tail = FALSE)