library(foreign)
datos_regresion <- read.dta("https://stats.idre.ucla.edu/stat/data/crime.dta")
library(stargazer)
modelo_estimado_1<-lm(crime~pctmetro+pctwhite+pcths+poverty+single,data=datos_regresion)
print(modelo_estimado_1)
##
## Call:
## lm(formula = crime ~ pctmetro + pctwhite + pcths + poverty +
## single, data = datos_regresion)
##
## Coefficients:
## (Intercept) pctmetro pctwhite pcths poverty
## -1796.322 7.609 -4.486 8.658 26.250
## single
## 109.452
stargazer(modelo_estimado_1, title= "Modelo Estimado", type = "text", digits = 8)
##
## Modelo Estimado
## ===============================================
## Dependent variable:
## ---------------------------
## crime
## -----------------------------------------------
## pctmetro 7.60873200***
## (1.29511100)
##
## pctwhite -4.48645400
## (2.77713400)
##
## pcths 8.65751100
## (7.82644400)
##
## poverty 26.24974000**
## (11.08248000)
##
## single 109.45190000***
## (20.35401000)
##
## Constant -1,796.32200000**
## (668.61390000)
##
## -----------------------------------------------
## Observations 51
## R2 0.84986150
## Adjusted R2 0.83317950
## Residual Std. Error 180.16160000 (df = 45)
## F Statistic 50.94466000*** (df = 5; 45)
## ===============================================
## Note: *p<0.1; **p<0.05; ***p<0.01
##Mediante VIF'S
X<-datos_regresion[,-1]
X1<-X[,1]
X_math<-X[,-2]
library(mctest)
mc.plot(x = X_math[,-1],y = datos_regresion$crime,vif = 2,)
library(mctest)
eigprop(x= X_math[,-1])
##
## Call:
## eigprop(x = X_math[, -1])
##
## Eigenvalues CI Intercept murder pctmetro pctwhite pcths poverty
## 1 6.2770 1.0000 0.0000 0.0017 0.0017 0.0002 0.0000 0.0005
## 2 0.5680 3.3243 0.0001 0.1734 0.0004 0.0019 0.0001 0.0002
## 3 0.0980 8.0029 0.0000 0.0027 0.4510 0.0016 0.0000 0.0800
## 4 0.0418 12.2521 0.0007 0.1619 0.4048 0.0174 0.0061 0.2288
## 5 0.0105 24.4338 0.0011 0.5516 0.0300 0.4199 0.0026 0.0038
## 6 0.0039 40.1010 0.0734 0.0628 0.0281 0.5512 0.1009 0.0560
## 7 0.0008 88.1336 0.9246 0.0460 0.0841 0.0079 0.8902 0.6307
## single
## 1 0.0002
## 2 0.0000
## 3 0.0003
## 4 0.0044
## 5 0.3458
## 6 0.6401
## 7 0.0092
##
## ===============================
## Row 5==> murder, proportion 0.551596 >= 0.50
## Row 6==> pctwhite, proportion 0.551185 >= 0.50
## Row 7==> pcths, proportion 0.890159 >= 0.50
## Row 7==> poverty, proportion 0.630717 >= 0.50
## Row 6==> single, proportion 0.640096 >= 0.50
library(psych)
FG_test<-cortest.bartlett(X_math[,-1])
print(FG_test)
## $chisq
## [1] 178.8333
##
## $p.value
## [1] 4.085989e-30
##
## $df
## [1] 15
X<-datos_regresion[,-1]
X1<-X[,1]
X_math<-X[,-2]
library(mctest)
mc.plot(x = X_math[,-1],y = datos_regresion$crime,vif = 3,)
-Se debe excluir poverty
library(fitdistrplus)
library(stargazer)
fit_normal<-fitdist(data = modelo_estimado_1$residuals,distr = "norm")
plot(fit_normal)
##Mediante Jarque-Bera
library(normtest)
jb.norm.test(modelo_estimado_1$residuals)
##
## Jarque-Bera test for normality
##
## data: modelo_estimado_1$residuals
## JB = 2.2973, p-value = 0.1855
-Un nivel de significancia del 5% , V.C. = 5.9915,JB=0.93032 La Hipótesis Nula no se rechaza -p-value>Nivel de signicancia, Entonces podemos decir que la prueba tiene una distribución normal, no hay evidencia de autocorrelacion de 1er orden
library(nortest)
lillie.test(modelo_estimado_1$residuals)
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: modelo_estimado_1$residuals
## D = 0.065404, p-value = 0.8468
-Con un nivel de significancia del 5% La Hipótesis Nula no se rechaza. -p-value>nivel de significancia, por lo que poder decir que la prueba tiene una distribución normal, no hay evidencia de autocorrelacion de 1er orden
shapiro.test(modelo_estimado_1$residuals)
##
## Shapiro-Wilk normality test
##
## data: modelo_estimado_1$residuals
## W = 0.98127, p-value = 0.594
-Un nivel de significancia del 5%, p-value>Nivel de significancia, La Hipótesis Nula no se rechaza. -La prueba tiene una distribución normal, no hay evidencia de autocorrelacion de 1er orden
## Prueba de White, Heterocedasticidad
library(lmtest)
prueba_white<-bptest(modelo_estimado_1,~I(poverty^2)+I(single^2)+I(pctmetro^2)+I(pctwhite^2)+I(pcths^2)+(poverty*single*pctmetro*pctwhite*pcths),data = datos_regresion)
print(prueba_white)
##
## studentized Breusch-Pagan test
##
## data: modelo_estimado_1
## BP = 47.234, df = 36, p-value = 0.09962
Como 0.09962>0.05 No se rechaza la Ho, por lo tanto hay evidencia de que la varianza de los residuos es homocedástica.
library(lmtest)
dwtest(modelo_estimado_1,alternative = "two.sided",iterations = 1000)
##
## Durbin-Watson test
##
## data: modelo_estimado_1
## DW = 1.7632, p-value = 0.3568
## alternative hypothesis: true autocorrelation is not 0
Se rechaza la presencia de autocorrelación (No se rechaza la H0), ya que el pvalue>0.05
library(lmtest)
bgtest(modelo_estimado_1,order = 2)
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: modelo_estimado_1
## LM test = 2.8363, df = 2, p-value = 0.2422
Como pvalue>0.05 No se rechaza H0, por lo tanto puede concluirse que los residuos del modelo, no siguen autocorrelación de orden “2”
library(lmtest)
library(sandwich)
#Sin corregir:
coeftest(modelo_estimado_1)
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1796.3220 668.6139 -2.6866 0.01008 *
## pctmetro 7.6087 1.2951 5.8750 4.786e-07 ***
## pctwhite -4.4865 2.7771 -1.6155 0.11319
## pcths 8.6575 7.8264 1.1062 0.27452
## poverty 26.2497 11.0825 2.3686 0.02221 *
## single 109.4519 20.3540 5.3774 2.594e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Corregido:
estimacion_omega<-vcovHC(modelo_estimado_1,type = "HC1")
coeftest(modelo_estimado_1,vcov. = estimacion_omega)
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1796.3220 750.7679 -2.3926 0.02096 *
## pctmetro 7.6087 1.6436 4.6294 3.124e-05 ***
## pctwhite -4.4865 3.4340 -1.3065 0.19803
## pcths 8.6575 8.0870 1.0705 0.29008
## poverty 26.2497 11.4622 2.2901 0.02675 *
## single 109.4519 24.4221 4.4817 5.051e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1