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
##Estimación del modelo price = ˆα + ˆα1(lotsize) + ˆα2(sqrft) + ˆα3(bdrms) +e
modelo_price <- lm(price~lotsize+sqrft+bdrms, data = hprice1)
summary(modelo_price)
##
## Call:
## lm(formula = price ~ lotsize + sqrft + bdrms, data = hprice1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -120.026 -38.530 -6.555 32.323 209.376
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.177e+01 2.948e+01 -0.739 0.46221
## lotsize 2.068e-03 6.421e-04 3.220 0.00182 **
## sqrft 1.228e-01 1.324e-02 9.275 1.66e-14 ***
## bdrms 1.385e+01 9.010e+00 1.537 0.12795
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 59.83 on 84 degrees of freedom
## Multiple R-squared: 0.6724, Adjusted R-squared: 0.6607
## F-statistic: 57.46 on 3 and 84 DF, p-value: < 2.2e-16
##Ajuste de los residuos a la Distribución Normal
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_price$residuals,distr = "norm")
plot(fit_normal)
summary(fit_normal)
## Fitting of the distribution ' norm ' by maximum likelihood
## Parameters :
## estimate Std. Error
## mean -2.321494e-15 6.231624
## sd 5.845781e+01 4.406423
## Loglikelihood: -482.8775 AIC: 969.7549 BIC: 974.7096
## Correlation matrix:
## mean sd
## mean 1 0
## sd 0 1
##Prueba de Normalidad de Jarque Bera
library(tseries)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
salida_JB<-jarque.bera.test(modelo_price$residuals)
salida_JB
##
## Jarque Bera Test
##
## data: modelo_price$residuals
## X-squared = 32.278, df = 2, p-value = 9.794e-08
Para la grafica
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 Kolmogorov Smirnov -Lilliefors Cálculo Manual
library(nortest)
prueba_KS<-lillie.test(modelo_price$residuals)
prueba_KS
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: modelo_price$residuals
## D = 0.075439, p-value = 0.2496
value<-prueba_KS$p.value
Un valor p de 0.2496 indica que el valor p es mayor que el nivel de significancia comúnmente utilizado de 0.05. Por lo tanto, en este caso, no se tiene suficiente evidencia para rechazar la hipótesis nula de que los residuos del modelo siguen una distribución normal.
##Prueba de Shapiro - Wilk
salida_SW<-shapiro.test(modelo_price$residuals)
print(salida_SW)
##
## Shapiro-Wilk normality test
##
## data: modelo_price$residuals
## W = 0.94132, p-value = 0.0005937
Wn_salida<-qnorm(salida_SW$p.value,lower.tail = FALSE)
print(Wn_salida)
## [1] 3.241867
para la grafica
library(fastGraph)
shadeDist(Wn_salida,ddist = "dnorm",lower.tail = FALSE)