library(foreign)
datos_regresion <- read.dta("https://stats.idre.ucla.edu/stat/data/crime.dta")
Cada parametro significa:
single: Poblacion que es padre soltero.
crime: crimenes violentos por cada 100,000 habitantes.
library(stargazer)
modelo_estimado<-lm(crime~pctmetro+pctwhite+pcths+poverty+single,data=datos_regresion)
stargazer(modelo_estimado, 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
library(mctest)
#A traves de car
X<- datos_regresion[,-1]
X1<- X[,-1]
X_math<- X1[,-2]
#A traves de mctest
library(mctest)
mc.plot(x=X_math[,-1], y= datos_regresion$crime, vif = 2) #en Y seleccionamos la variable dependiente.
Si VIF>2 presenta colinealidad Si VIF>5 son altamente colineales En este caso todos los que son mayores a 2 presentan colinealidad y mayores a 5 colinealidad severa
# colocamos la matriz x dentro y ya.
library(psych)
FG_test<-cortest.bartlett(X_math[,-1])
print(FG_test)
## $chisq
## [1] 104.7377
##
## $p.value
## [1] 6.114823e-18
##
## $df
## [1] 10
m<-ncol(X_math[,-1])
n_2<-nrow(X_math[,-1])
gl<-m*(m-1)/2
VC<-qchisq(p = 0.95,df = gl)
print(VC)
## [1] 18.30704
La condicion es la siguiente:
Se rechaza la Ho
eigprop(x=X_math[,-1])
##
## Call:
## eigprop(x = X_math[, -1])
##
## Eigenvalues CI Intercept pctmetro pctwhite pcths poverty single
## 1 5.7820 1.0000 0.0000 0.0021 0.0003 0.0001 0.0006 0.0003
## 2 0.1044 7.4426 0.0001 0.1578 0.0061 0.0008 0.1393 0.0049
## 3 0.0868 8.1617 0.0006 0.4701 0.0403 0.0014 0.0046 0.0038
## 4 0.0219 16.2524 0.0003 0.2775 0.0816 0.0056 0.1684 0.2806
## 5 0.0041 37.5563 0.0823 0.0255 0.8712 0.0934 0.0665 0.6241
## 6 0.0008 82.7494 0.9167 0.0669 0.0005 0.8987 0.6206 0.0862
##
## ===============================
## Row 5==> pctwhite, proportion 0.871175 >= 0.50
## Row 6==> pcths, proportion 0.898729 >= 0.50
## Row 6==> poverty, proportion 0.620577 >= 0.50
## Row 5==> single, proportion 0.624139 >= 0.50
mc.plot(x=X_math[,-1], y= datos_regresion$crime, vif = 3) #en Y seleccionamos la variable dependiente.
En caso de que el umbral de las VIF = 3 deben excluirse la variable poverty porque presenta colinealidad.
modelo_estimado2<-lm(crime~pctmetro+pctwhite+pcths+single,data=datos_regresion)
library(fitdistrplus)
library(stargazer)
fit_normal<-fitdist(data = modelo_estimado2$residuals,distr = "norm")
plot(fit_normal)
library(normtest)
jb.norm.test(modelo_estimado2$residuals)
##
## Jarque-Bera test for normality
##
## data: modelo_estimado2$residuals
## JB = 2.4363, p-value = 0.158
En caso de la prueba de Jarque-Bera la condicion de no rechazar de la Ho se puede evaluar por medio del p-value en la cual no se rechasa si p > \(\alpha\) y cuando el estadÃstico JB<V.C. JB(2.4363) < V.C(5.9915) p (0.153) > \(\alpha\)(0.05)
NO SE RECHAZA LA HIPOTESIS NULA POR LO QUE HAY EVIDENCIA QUE LOS RESIDUOS SIGUEN UNA DISTRIBUCION NORMAL
library(nortest)
lillie.test(modelo_estimado2$residuals)
##
## Lilliefors (Kolmogorov-Smirnov) normality test
##
## data: modelo_estimado2$residuals
## D = 0.084074, p-value = 0.4912
D (0.084074) < V.C.(0.1904381) p-value (0.4912) > \(\alpha\)(0.05)
shapiro.test(modelo_estimado2$residuals)
##
## Shapiro-Wilk normality test
##
## data: modelo_estimado2$residuals
## W = 0.97686, p-value = 0.4153
En caso de la prueba de Shapiro-Wilk para un nivel de significanciadel 5% el V.C. = 1.644854 la condicion de no rechazar de la \(H_o\) es que el estadistico SW < V.C., ademas tambien se puede evaluar por medio del p-value en la cual la condicion de no rechazo es p-value > \(\alpha\)
SW (0.97686) < V.C.(1.644854) p-value (0.4153) > \(\alpha\)(0.05)
Prueba de Breusch Pagan (White)
library(lmtest)
prueba_white<-bptest(modelo_estimado2,~I(pctmetro^2)+I(single^2)+I(pctwhite^2)+I(pcths^2)+pctwhite*pctmetro*pcths*single,data = datos_regresion)
print(prueba_white)
##
## studentized Breusch-Pagan test
##
## data: modelo_estimado2
## BP = 32.434, df = 19, p-value = 0.02791
En este el p-value es menor que \(\alpha\) Por lo que es posible rechazar la Ho, Hay evidencia de que existe homocedasticidad
Prueba de Breusch Godfrey
# Verificando autocorrelacion de 1er Orden
bgtest(modelo_estimado2,order = 1)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo_estimado2
## LM test = 0.039428, df = 1, p-value = 0.8426
No hay evidencia de autocorrelación de 1° orden ya que (pvalue>0.05)
# Verificancdo autorcorrelacion de 2do Orden
bgtest(modelo_estimado2,order = 2)
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: modelo_estimado2
## LM test = 1.4324, df = 2, p-value = 0.4886
No hay evidencia de autocorrelación de 2° orden ya que (pvalue>0.05)
En caso que se detecte heterocedasticidad
library(lmtest)
library(sandwich)
#Sin corregir:
coeftest(modelo_estimado2)
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -700.8799 506.4730 -1.3838 0.1731
## pctmetro 6.7559 1.3049 5.1773 4.837e-06 ***
## pctwhite -3.2788 2.8635 -1.1450 0.2581
## pcths -5.8351 5.1188 -1.1399 0.2602
## single 139.4207 16.7234 8.3369 9.472e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Corregido:
estimacion_omega<-vcovHC(modelo_estimado2,type = "HC1")
coeftest(modelo_estimado2,vcov. = estimacion_omega)
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -700.8799 550.5977 -1.2729 0.2094340
## pctmetro 6.7559 1.6821 4.0163 0.0002165 ***
## pctwhite -3.2788 3.2358 -1.0133 0.3162226
## pcths -5.8351 5.0538 -1.1546 0.2542253
## single 139.4207 23.1021 6.0350 2.566e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
En caso de la existencia de ña heterocedasticidad se sabe que la varianza de la diagonal principal es sesgada por lo que no es constante, al hacer la corrección incrementa el rango del error para hacer el modelo más significativo.