library(wooldridge)
data("hprice1")
# Mostrar las primeras 5 observaciones
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)
regresion<- lm(formula = price~lotsize+sqrft+bdrms, data = hprice1)
stargazer(regresion,title = 'modelo estimado', type = 'html')
| Dependent variable: | |
| price | |
| lotsize | 0.002*** |
| (0.001) | |
| sqrft | 0.123*** |
| (0.013) | |
| bdrms | 13.853 |
| (9.010) | |
| Constant | -21.770 |
| (29.475) | |
| Observations | 88 |
| R2 | 0.672 |
| Adjusted R2 | 0.661 |
| Residual Std. Error | 59.833 (df = 84) |
| F Statistic | 57.460*** (df = 3; 84) |
| Note: | p<0.1; p<0.05; p<0.01 |
library(fitdistrplus)
ajuste_normal<- fitdist(data = regresion$residuals, distr = 'norm')
plot(ajuste_normal)
options(scipen = 999999)
library(normtest)
Prueba_JB<- jb.norm.test(regresion$residuals)
print(Prueba_JB)
##
## Jarque-Bera test for normality
##
## data: regresion$residuals
## JB = 32.278, p-value = 0.0015
JB<- 32.278
gl<-2
VC<- 5.9915
options(scipen = 999999)
library(fastGraph)
shadeDist(xshade= Prueba_JB$statistic,ddist = 'dchisq',parm1 = gl,lower.tail = FALSE,sub=paste('VC:',VC))
Como el JB es mayor que el valor critico, de igual forma el p-value es inferior al nivel de significancia del 5%, se rechaza la hipotesis nula, los residuos no siguen una distribución normal.
library(nortest)
lillie.test(regresion$residuals)
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: regresion$residuals
## D = 0.075439, p-value = 0.2496
VC_KS<- (0.875897)/(sqrt(88))
print(VC_KS)
## [1] 0.09337093
Como el valor D es menor que el Valor critico y de igual manera el p-value es mayor que el nivel de significancia, no se rechaza la hipotesis nula, por lo que los residuos del modelo siguen una distribución normal.
Prueba_SW<- shapiro.test(regresion$residuals)
print(Prueba_SW)
##
## Shapiro-Wilk normality test
##
## data: regresion$residuals
## W = 0.94132, p-value = 0.0005937
u<-0.0038915*(log(88))^3 - 0.08751*(log(88))^2 - 0.31082*log(88) - 1.5861
sigma<- exp(0.0030302*(log(88))^2 - 0.082676*log(88) - 0.4803)
Wn<- (log(1-0.94132) - u)/(sigma)
VC_SW<- 1.644854
media_res<- ajuste_normal$estimate[1]
library(fastGraph)
shadeDist(VC_SW, ddist = "dnorm",parm1 = media_res,lower.tail = FALSE,sub=paste('Wn:',Wn,'VC_SW:',VC_SW))
El p-value es más bajo que el nivel de significancia del 5% de igual manera el Wn es mayor que el Valor critico, por lo tanto se rechaza la hipotesis nula y los residuos no siguen una distribución normal