library(readxl)
#Leyendo la base
datos <- read_excel("C:/Users/kaqu/Documents/Maestria Ciencia de Datos/Metodos_simulacion_estadistica/Unidad_2/caso.xlsx")
attach(datos)
names(datos)
## [1] "mes" "desempleo" "homicidios"
kbl(summary(datos[,2:3]),caption = "<center><strong>Descriptivas Generales
</strong></center>")%>% kable_paper(bootstrap_options = "striped")
| desempleo | homicidios | |
|---|---|---|
| Min. :10.06 | Min. : 51.61 | |
| 1st Qu.:11.19 | 1st Qu.: 80.72 | |
| Median :11.99 | Median :121.38 | |
| Mean :11.98 | Mean :134.61 | |
| 3rd Qu.:12.65 | 3rd Qu.:176.94 | |
| Max. :14.02 | Max. :327.05 |
En cuanto a la tabla de algunas descriptivas, se puede observar que el porcentaje promedio de desempleo es cercano al 12%. En cuanto a la tasa de homicidios parece una distribución menos simética por la distancia que hay entre los cuartiles, al menos el 50% de los casos evaluados alcanza una tasa de homicios de 121 casos por cada 100.000 habitantes.
par(mfrow = c(2,2))
boxplot(desempleo, horizontal = TRUE, main = "Boxplot Tasa de desempleo",col="#A6CEE3" )
hist(desempleo,main = "Histograma Tasa de desempleo" , ylab = "Frecuencia" , xlab = "Tasa Desempleo *(100.000 hab)",col="#A6CEE3")
boxplot(homicidios, horizontal = TRUE, main = "Boxplot Homicidios",col="#A6CEE3" )
hist(homicidios,main = "Histograma Homicidios" , ylab = "Frecuencia" , xlab = "Homicidios",col="#A6CEE3")
Efectivamente se puede observar que la tasa de homicidios, tiene un comportamiento asimétrico positivo alcanzando hasta un valor atipico de alrededor 327 casos. Por otra parte, en cuanto al porcentaje de desempleo tiene una distribución asimetrica, logrando mayor distribución de 12% y 13%.
ggplot(data = datos, aes(x=desempleo, y=homicidios)) +
#geom_histogram(aes(y = ..count.., fill = ..count..)) +
geom_point()+
#geom_smooth(method=lm, se=FALSE)+
scale_fill_gradient(low = "light blue", high = "light blue") +
#stat_function(fun = dnorm, colour = "black", args = list(mean = mean(precio_millon), sd = sd(precio_millon))) +
ggtitle("Diagrama de Dispersión ") + labs(x = "% Desempleo") + labs(y = "Tasa de Homicidios")
Se puede observar que si hay una relación creciente entre el porcentaje de desempleo, y la tasa de homicidios, es por eso que a medida que se aumente el % de desempleo aumentara la tasa de homicidios.
Parece tener mas que un comportamiento lineal, quizas un comportamiento exponencial, pero esta hipotésis se hira desarrollando a medida que se avance con el ejercicio.
round(cor(desempleo,homicidios),2)
## [1] 0.96
La correlación existente entre la tasa de desempleo y los homicidios es de 0.96, al ser un número tan cercano entonces se puede pensar preliminarmente, que hay una relación lineal positiva fuerte.
m1=lm(homicidios~desempleo)
summary(m1)
##
## Call:
## lm(formula = homicidios ~ desempleo)
##
## Residuals:
## Min 1Q Median 3Q Max
## -19.335 -11.928 -4.618 6.006 62.193
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -628.936 35.846 -17.55 <2e-16 ***
## desempleo 63.751 2.983 21.37 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 18.06 on 38 degrees of freedom
## Multiple R-squared: 0.9232, Adjusted R-squared: 0.9212
## F-statistic: 456.6 on 1 and 38 DF, p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(m1)
Se puede observar que existe una componente sistemática entre los residuales y valores ajustados, mas exactamente en forma de parabola, mientras que deberian distribuirse de forma aleatoria. En cuanto al QQ -plot se puede observar que no se alinean en cuanto a la linea para la normalidad, es por esto que se harán algunas pruebas estadísticas que permitan tener una mejor interpretación de los supuestos.
mean(residuals(m1))
## [1] 5.551115e-16
El valor esperado (promedio) de los residuales es igual a 0.
\(H_0 : X \sim N(\mu,\sigma^2)\)
\(H_a : X \nsim N(\mu,\sigma^2)\)
shapiro.test(m1$residuals)
##
## Shapiro-Wilk normality test
##
## data: m1$residuals
## W = 0.85901, p-value = 0.00015
Com $ P-value $ es menor a a 0.05 (nivel de significancia escogido), se rechaza \(H_0\), entonces podría pensar que los errores no siguen una distribución normal.
\(H_0 : Los \, residuales \, se \, distribuyen \, con \, la \, misma \, varianza\)
\(H_a : Los \, residuales \, no \ se \, distribuyen \, con \, la \, misma \, varianza\)
bptest(m1)
##
## studentized Breusch-Pagan test
##
## data: m1
## BP = 2.0361, df = 1, p-value = 0.1536
Como $ P-value $ es mayor a 0.05 (nivel de significancia escogido), no se rechaza \(H_0\), entonces se podría pensar que los errores cumplen con el supuesto de homocedasticidad.
\(H_0 : No \, existe \, correlación \, entre \, los \, errores\)
\(H_a : Existe \, correlación\, entre\, los\, errores\)
dwt(m1, alternative = "two.sided")
## lag Autocorrelation D-W Statistic p-value
## 1 0.6423077 0.2745439 0
## Alternative hypothesis: rho != 0
Como $ P-value $ es menor a 0.05 (nivel de significancia escogido), se rechaza \(H_0\), entonces se podría pensar que los errores estan autocorrelacionados.
En este caso se viola el supuesto de normalidad e independencia de los errores, por ende se podría pensar en realizar alguna transformación sobre la variable respuesta o inclunsive sobre la variable explicativa.
m2=lm(log(homicidios)~desempleo)
summary(m2)
##
## Call:
## lm(formula = log(homicidios) ~ desempleo)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.08538 -0.02273 0.00001 0.02223 0.09549
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.027556 0.075235 -13.66 3.08e-16 ***
## desempleo 0.486124 0.006262 77.64 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.03791 on 38 degrees of freedom
## Multiple R-squared: 0.9937, Adjusted R-squared: 0.9936
## F-statistic: 6027 on 1 and 38 DF, p-value: < 2.2e-16
Gracias a los p-values asociados a los coeficientes \(\beta_0\) y \(\beta_1\), ambos son significativamente diferentes de 0.
coef_determinacion= (cor(desempleo,homicidios)*cor(desempleo,homicidios))
coef_determinacion
## [1] 0.9231719
coef_determinacion_m2= (cor(desempleo,log(homicidios))*cor(desempleo,log(homicidios)))
coef_determinacion_m2
## [1] 0.9937347
Se puede observar que al hacer la transformación a la variable respuesta, la explicabilidad del modelo aumenta hasta en un 7%.
par(mfrow=c(2,2))
plot(m2)
Se puede observar como ese componente sistemático observado en el primer modelo casi tiende a desaparecer, y el gráfico qq-plot parece tener un mejor ajuste.
mean(residuals(m2))
## [1] -3.296901e-18
El valor esperado (promedio) de los residuales es igual a 0.
\(H_0 : X \sim N(\mu,\sigma^2)\)
\(H_a : X \nsim N(\mu,\sigma^2)\)
shapiro.test(m2$residuals)
##
## Shapiro-Wilk normality test
##
## data: m2$residuals
## W = 0.99108, p-value = 0.9859
Com $ P-value $ es mayor a 0.05 (nivel de significancia escogido), no se rechaza \(H_0\), entonces podría pensar que los errores siguen una distribución normal.
\(H_0 : Los \, residuales \, se \, distribuyen \, con \, la \, misma \, varianza\)
\(H_a : Los \, residuales \, no \ se \, distribuyen \, con \, la \, misma \, varianza\)
bptest(m2)
##
## studentized Breusch-Pagan test
##
## data: m2
## BP = 8.0921, df = 1, p-value = 0.004446
Como $ P-value $ es menor a 0.05 (nivel de significancia escogido), se rechaza \(H_0\), entonces se podría pensar que los errores no cumplen con el supuesto de homocedasticidad.
\(H_0 : No \, existe \, correlación \, entre \, los \, errores\)
\(H_a : Existe \, correlación\, entre\, los\, errores\)
dwt(m2, alternative = "two.sided")
## lag Autocorrelation D-W Statistic p-value
## 1 -0.05449206 1.941941 0.698
## Alternative hypothesis: rho != 0
Como $ P-value $ es mayor a 0.05 (nivel de significancia escogido), no se rechaza \(H_0\), entonces se podría pensar que los errores no estan autocorrelacionados.
En este caso se viola el supuesto de homocedasticidad de la varianza de los errores, por ende se podría pensar en realizar alguna transformación sobre la variable respuesta o inclunsive sobre la variable explicativa seria una buena opción.
exp(predict(m2,newdata = list(desempleo=11)))
## 1
## 75.17389
Si el gobierno logrará disminuir la tasa de desempleo a un 11%, se espera que la tasa de homicidios en promedio sea de 75 casos por cada 100.000 habitantes.