Enunciado
La empresa multinacional Global Risk Analytics Corp., dedicada a consultoría en análisis de riesgo, seguridad corporativa y expansión territorial, requiere elaborar un informe técnico basado en datos para comprender los factores asociados a los niveles de arrestos por agresión en Estados Unidos. Para ello, se utilizará la base de datos USArrests, incluida en RStudio.
Actividad 1. Reconocimiento de la base de datos
data("USArrests")
datos <- USArrests
head(USArrests)
## Murder Assault UrbanPop Rape
## Alabama 13.2 236 58 21.2
## Alaska 10.0 263 48 44.5
## Arizona 8.1 294 80 31.0
## Arkansas 8.8 190 50 19.5
## California 9.0 276 91 40.6
## Colorado 7.9 204 78 38.7
str(USArrests)
## 'data.frame': 50 obs. of 4 variables:
## $ Murder : num 13.2 10 8.1 8.8 9 7.9 3.3 5.9 15.4 17.4 ...
## $ Assault : int 236 263 294 190 276 204 110 238 335 211 ...
## $ UrbanPop: int 58 48 80 50 91 78 77 72 80 60 ...
## $ Rape : num 21.2 44.5 31 19.5 40.6 38.7 11.1 15.8 31.9 25.8 ...
La base de datos contiene 50 observaciones y 4 variables.
Cada fila representa un estado de EEUU, mostrando las tasas de criminalidad y el porcentaje de población urbana.
Todas las variables son cuantitativas continuas, porque expresan tasas o porcentajes que pueden tomar muchos valores dentro de un rango es decir contienen decimales.
La variable dependiente es Murder que es la tasa de arrestos por asesinato, ya que puede ser explicada en función de otros factores.
Como predictoras se pueden usar Assault, UrbanPop y Rape, porque son características que influyen en la tasa de asesinatos.
Actividad 2. Estadística descriptiva
#install.packages("psych")
library(psych)
## Warning: package 'psych' was built under R version 4.4.3
describe(USArrests)
## vars n mean sd median trimmed mad min max range skew
## Murder 1 50 7.79 4.36 7.25 7.53 5.41 0.8 17.4 16.6 0.37
## Assault 2 50 170.76 83.34 159.00 168.48 110.45 45.0 337.0 292.0 0.22
## UrbanPop 3 50 65.54 14.47 66.00 65.88 17.79 32.0 91.0 59.0 -0.21
## Rape 4 50 21.23 9.37 20.10 20.36 8.60 7.3 46.0 38.7 0.75
## kurtosis se
## Murder -0.95 0.62
## Assault -1.15 11.79
## UrbanPop -0.87 2.05
## Rape 0.08 1.32
La variable Assault tiene un promedio de 170.76, lo que significa que en promedio los estados presentan alrededor de 171 agresiones por cada 100 000 habitantes. Por otro lado, la mediana es 159, lo que indica que la mitad de los estados tiene valores menores a 159 y la otra mitad valores mayores.
La variable que presenta mayor variabilidad es Assault, porque tiene la desviación estándar más alta sd = 83.34 y también el rango más grande que es de 292. Esto quiere decir que los datos de agresiones cambian mucho entre los diferentes estados
En la variable Murder el minimo es de 0.8 y el maximo de 17.4
En la variable Assault, el mínimo es 45 y el máximo es 337. En la
variable UrbanPop el mínimo es de 32.0 y el máximo de 91.0 En la
variable Rape el minimo es de 7.3 y el máximo de 46.0
La desviación estándar de Assault es 83.34, lo que indica que los valores de agresiones se alejan bastante del promedio.
La base de datos permite observar que la criminalidad no se comporta igual en todos los estados de Estados Unidos. Hay estados donde los niveles de delitos son bajos, mientras que en otros las cifras son mucho más altas, especialmente en la variable Assault, que representa las agresiones. Esto demuestra que existen diferencias marcadas en los niveles de violencia entre un lugar y otro. Además, las medidas como el promedio y la mediana ayudan a entender el comportamiento de los datos, mientras que la desviación estándar y el rango muestran que hay bastante variación entre los estados.
Actividad 3. Análisis gráfico exploratorio
par(mfrow=c(2,2))
# Distribución de Assault
hist(USArrests$Assault,
main="Distribución de Assault",
xlab="Assault",
col="lightblue",
border="black")
# Assault vs UrbanPop
plot(USArrests$UrbanPop, USArrests$Assault,
main="UrbanPop vs Assault",
xlab="UrbanPop",
ylab="Assault",
pch=19,
col="blue")
# Assault vs Murder
plot(USArrests$Murder, USArrests$Assault,
main="Murder vs Assault",
xlab="Murder",
ylab="Assault",
pch=19,
col="red")
# Assault vs Rape
plot(USArrests$Rape, USArrests$Assault,
main="Rape vs Assault",
xlab="Rape",
ylab="Assault",
pch=19,
col="darkgreen")
11. Describa la forma general de la distribución de Assault.
La distribución de la variable Assault muestra que la mayoría de los estados tienen niveles de agresiones entre valores medios, aunque también hay algunos estados con cifras mucho más altas. En el histograma se puede observar que los datos no son iguales y que existen ciertos valores altos que hacen que la distribución se incline un poco hacia la derecha. Esto da a entendert que aunque en muchos estados tienen niveles similares de agresión, hay otros donde la violencia es mucho más fuerte.
Al observar el gráfico entre UrbanPop y Assault, la relación parece moderada. Sí se alcanza a observar que algunos estados con mayor población urbana presentan más agresiones, aunque los puntos están bastante dispersos.
La relación entre Murder y Assault se ve positiva, porque a medida que aumentan los homicidios también aumentan las agresiones. En el gráfico los puntos siguen una tendencia ascendente, por lo que parece existir una relación directa entre ambas variables.
De las relaciones observadas, la de Murder con Assault parece la más adecuada para empezar un modelo de regresión simple. Esto se debe a que los puntos muestran una tendencia más ordenada y fácil de identificar.
En los gráficos se observan algunos puntos alejados del resto, especialmente en los valores más altos de Assault y Murder. Estos podrían considerarse datos atípicos porque representan estados con niveles de criminalidad mucho mayores que la mayoría.
Actividad 4. Matriz de correlación
correlacion <- cor(USArrests)
round(correlacion, 2)
## Murder Assault UrbanPop Rape
## Murder 1.00 0.80 0.07 0.56
## Assault 0.80 1.00 0.26 0.67
## UrbanPop 0.07 0.26 1.00 0.41
## Rape 0.56 0.67 0.41 1.00
pairs(USArrests)
La variable que tiene la mayor correlación positiva con Assault es Murder, con un valor de 0.80. Esto indica que existe una relación fuerte y positiva entre ambas variables. Es decir, los estados que presentan mayores niveles de homicidios también tiene mayores niveles de agresiones.
La correlación entre UrbanPop y Assault es 0.26, por lo que la relación puede considerarse débil
Sí existe correlación entre algunas variables independientes. Por ejemplo, Murder y Rape tienen una correlación de 0.56, mientras que UrbanPop y Rape presentan 0.41. Además, Murder y UrbanPop casi no tienen relación, ya que su correlación es de apenas 0.07.
Aunque dos variables estén correlacionadas no significa que una sea la causa de la otra. La correlación solamente indica que existe una relación o asociación entre ambas variables, pueden existir otros factores que influyan al mismo tiempo en ambas variables.
Para iniciar un modelo de regresión múltiple, sería recomendable incluir Murder y Rape, ya que son las variables que presentan las correlaciones más altas con Assault de 0.80 y con Rape de 0.67. UrbanPop también podría incluirse inicialmente para evaluar si aporta información adicional al modelo.
Actividad 5. Regresión lineal simple: modelo con UrbanPop
modelo <- lm(Assault ~ UrbanPop, data = USArrests)
summary(modelo)
##
## Call:
## lm(formula = Assault ~ UrbanPop, data = USArrests)
##
## Residuals:
## Min 1Q Median 3Q Max
## -150.78 -61.85 -18.68 58.05 196.85
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 73.0766 53.8508 1.357 0.1811
## UrbanPop 1.4904 0.8027 1.857 0.0695 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 81.33 on 48 degrees of freedom
## Multiple R-squared: 0.06701, Adjusted R-squared: 0.04758
## F-statistic: 3.448 on 1 and 48 DF, p-value: 0.06948
plot(USArrests$UrbanPop, USArrests$Assault,
pch=19,
col="blue",
xlab="UrbanPop",
ylab="Assault",
main="Regresión lineal simple")
abline(modelo, col="red", lwd=2)
La ecuación estimada del modelo es:
\[ Assault = 73.08 + 1.49 \cdot UrbanPop \]
El intercepto es 73.08, lo que significa que si el porcentaje de población urbana fuera 0, el modelo estimaría aproximadamente 73 arrestos por agresión.
El coeficiente de UrbanPop es 1.49, esto quiere decir que, por cada aumento de 1% en la población urbana, los arrestos por agresión aumentan aproximadamente 1.49 unidades.
La variable UrbanPop no es estadísticamente significativa al 5%, porque su valor p es 0.0695, y este valor es mayor que 0.05.
El valor de R cuadrado =0.067 significa que solamente el 6.7% de la variabilidad de Assault es explicada por la variable UrbanPop. Esto muestra que el modelo tiene una capacidad explicativa baja y que la mayor parte de la variación de las agresiones depende de otros factores no incluidos en el modelo.
Este modelo no es suficiente para explicar los arrestos por agresión. Aunque existe una relación positiva entre UrbanPop y Assault, la relación es débil y el porcentaje explicado por el modelo es muy bajo.
Actividad 6. Regresión lineal simple alternativa: modelo con Murder
modelo_simple_murder <- lm(Assault ~ Murder, data = USArrests)
summary(modelo_simple_murder)
##
## Call:
## lm(formula = Assault ~ Murder, data = USArrests)
##
## Residuals:
## Min 1Q Median 3Q Max
## -107.24 -36.35 -3.67 32.15 118.45
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 51.27 14.69 3.490 0.00105 **
## Murder 15.34 1.65 9.298 2.6e-12 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 50.31 on 48 degrees of freedom
## Multiple R-squared: 0.643, Adjusted R-squared: 0.6356
## F-statistic: 86.45 on 1 and 48 DF, p-value: 2.596e-12
plot(USArrests$Murder, USArrests$Assault,
pch=19,
col="red",
xlab="Murder",
ylab="Assault",
main="Regresión lineal: Assault vs Murder")
abline(modelo_simple_murder, col="blue", lwd=2)
La ecuación estimada del modelo es:
\[ Assault = 51.27 + 15.34 \cdot Murder \]
El coeficiente de Murder es 15.34, lo que significa que por cada aumento de una unidad en homicidios, los arrestos por agresión aumentan aproximadamente 15.34 unidades. La relación es positiva, por lo que estados con mayores niveles de homicidios tienden también a presentar mayores niveles de agresiones.
La variable Murder sí es estadísticamente significativa al 5%, porque su valor p es 2.6e-12, el cual es muchísimo menor que 0.05. Esto indica que existe evidencia suficiente para afirmar que Murder tiene una relación importante con Assault.
El modelo con Murder tiene un R cuadrado de 0.643, mientras que el modelo con UrbanPop tenía un R cuadrado de 0.067. Esto significa que el modelo con Murder explica aproximadamente el 64.3% de la variabilidad de Assault, mientras que UrbanPop solo explicaba el 6.7%. Por lo tanto, Murder tiene una capacidad mucho mayor para explicar el comportamiento de las agresiones.
El modelo simple más conveniente es Assault ~ Murder, tanto estadística como contextualmente. Desde el punto de vista estadístico, este modelo presenta un R cuadrado de 0.643, lo que indica que el 64.3% de la variación de los arrestos por agresión es explicada por la variable Murder. Además, el valor p del modelo es muy pequeño, por lo que la relación es altamente significativa. Contextualmente, este modelo tiene más sentido porque ambas variables representan delitos violentos y están directamente relacionadas con los niveles de criminalidad en los estados analizados.
Actividad 7. Comparación de modelos simples
# Modelo con UrbanPop
modelo_simple_urban <- lm(Assault ~ UrbanPop, data = USArrests)
# Modelo con Murder
modelo_simple_murder <- lm(Assault ~ Murder, data = USArrests)
# R cuadrado
summary(modelo_simple_urban)$r.squared
## [1] 0.06701456
summary(modelo_simple_murder)$r.squared
## [1] 0.6430008
# R cuadrado ajustado
summary(modelo_simple_urban)$adj.r.squared
## [1] 0.04757736
summary(modelo_simple_murder)$adj.r.squared
## [1] 0.6355633
# Comparación AIC
AIC(modelo_simple_urban, modelo_simple_murder)
## df AIC
## modelo_simple_urban 3 585.7055
## modelo_simple_murder 3 537.6727
# Comparación BIC
BIC(modelo_simple_urban, modelo_simple_murder)
## df BIC
## modelo_simple_urban 3 591.4416
## modelo_simple_murder 3 543.4088
El modelo Assault ~ Murder tiene el mayor R cuadrado con un valor de 0.643, mientras que el modelo Assault ~ UrbanPop tiene un R cuadrado de 0.067. Esto significa que el modelo con Murder explica mucho mejor la variabilidad de los arrestos por agresión.
El modelo Assault ~ Murder presenta el menor AIC con 537.67 y el menor BIC con 543.41. En comparación, el modelo con UrbanPop tiene valores más altos. Esto indica que el modelo con Murder tiene un mejor ajuste.
No, el mejor modelo no debe elegirse solamente por criterios numéricos. Aunque medidas como R cuadrado, AIC y BIC son importantes, también debe analizarse si la relación entre las variables tiene sentido en el contexto del problema.
Se recomendaría el modelo Assault ~ Murder, porque presenta mejores resultados estadísticos y además existe una relación lógica entre homicidios y agresiones, ya que ambas variables representan delitos violentos.
Una limitación es que la regresión simple solo analiza la relación entre dos variables y deja fuera otros factores importantes. Otra limitación es que puede generar modelos con poca capacidad explicativa.
Actividad 8. Regresión lineal múltiple
# Modelo múltiple
modelo_multiple <- lm(Assault ~ Murder + UrbanPop + Rape,
data = USArrests)
# Resumen del modelo
summary(modelo_multiple)
##
## Call:
## lm(formula = Assault ~ Murder + UrbanPop + Rape, data = USArrests)
##
## Residuals:
## Min 1Q Median 3Q Max
## -102.420 -21.226 -4.897 21.999 125.744
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -15.4520 31.8581 -0.485 0.6300
## Murder 12.4700 1.8533 6.729 2.33e-08 ***
## UrbanPop 0.6304 0.5054 1.247 0.2186
## Rape 2.2502 0.9432 2.386 0.0212 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 45.58 on 46 degrees of freedom
## Multiple R-squared: 0.7192, Adjusted R-squared: 0.7009
## F-statistic: 39.27 on 3 and 46 DF, p-value: 9.678e-13
# Valores ajustados del modelo
ajustados <- fitted(modelo_multiple)
# Gráfico
plot(USArrests$Assault, ajustados,
pch = 19,
col = "blue",
xlab = "Valores reales de Assault",
ylab = "Valores ajustados",
main = "Modelo de regresión múltiple")
# Línea de referencia
abline(0,1, col = "red", lwd = 2)
La ecuación estimada del modelo múltiple es:
\[ \text{Assault} = -15.45 + 12.47(\text{Murder}) + 0.63(\text{UrbanPop}) + 2.25(\text{Rape}) \]
El coeficiente de Murder es 12.47, lo que significa que, manteniendo constantes UrbanPop y Rape, por cada aumento de una unidad en la tasa de homicidios, los arrestos por agresión aumentan aproximadamente 12.47 unidades.
El coeficiente de UrbanPop es 0.63, lo que indica que, manteniendo constantes Murder y Rape, un aumento de 1% en la población urbana incrementa en promedio 0.63 unidades los arrestos por agresión.
El coeficiente de Rape es 2.25, significa que, manteniendo constantes Murder y UrbanPop, por cada aumento de una unidad en la tasa de violaciones, los arrestos por agresión aumentan aproximadamente 2.25 unidades.
Las variables Murder y Rape son estadísticamente significativas al 5%, porque sus valores p son menores a 0.05. En cambio, UrbanPop no es significativa, ya que su valor p es 0.2186.
El modelo tiene un R cuadrado de 0.7192, lo que significa que el 71.92% de la variabilidad de Assault es explicada conjuntamente por Murder, UrbanPop y Rape. Además, el R cuadrado ajustado es 0.7009, indicando que el modelo mantiene una buena capacidad explicativa incluso considerando el número de variables incluidas.
El modelo múltiple ofrece una mejor explicación estadística, ya que su R cuadrado de 0.7192 es mayor que el obtenido en los modelos simples. Esto indica que al combinar varias variables se logra explicar mejor el comportamiento de los arrestos por agresión.
Sí, los coeficientes tienen signos coherentes con el contexto del problema. Todas las variables presentan coeficientes positivos, lo que indica que mayores niveles de homicidios, urbanización y violaciones se relacionan con mayores niveles de agresiones.
Actividad 9. Evaluación de supuestos del modelo múltiple
#install.packages("lmtest")
#install.packages("car")
library(lmtest)
## Warning: package 'lmtest' was built under R version 4.4.3
## Cargando paquete requerido: zoo
## Warning: package 'zoo' was built under R version 4.4.3
##
## Adjuntando el paquete: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(car)
## Warning: package 'car' was built under R version 4.4.3
## Cargando paquete requerido: carData
## Warning: package 'carData' was built under R version 4.4.3
##
## Adjuntando el paquete: 'car'
## The following object is masked from 'package:psych':
##
## logit
par(mfrow = c(2,2))
plot(modelo_multiple)
# NORMALIDAD DE RESIDUOS
shapiro.test(residuals(modelo_multiple))
##
## Shapiro-Wilk normality test
##
## data: residuals(modelo_multiple)
## W = 0.9725, p-value = 0.2915
# HOMOCEDASTICIDAD
bptest(modelo_multiple)
##
## studentized Breusch-Pagan test
##
## data: modelo_multiple
## BP = 4.6168, df = 3, p-value = 0.2021
# MULTICOLINEALIDAD
vif(modelo_multiple)
## Murder UrbanPop Rape
## 1.536825 1.262276 1.840863
En el gráfico Residuals vs Fitted, los residuos se encuentran dispersos alrededor de la línea horizontal y no muestran un patrón muy marcado. Esto indica que el supuesto de linealidad se cumple de manera aceptable, aunque existen pequeñas variaciones en algunos valores altos.
La prueba de Shapiro-Wilk presenta un valor p de 0.2915, mayor que 0.05. Por lo tanto, no se rechaza la hipótesis de normalidad y se puede considerar que los residuos siguen aproximadamente una distribución normal.
La prueba de Breusch-Pagan tiene un valor p de 0.2021, que es mayor que 0.05. Esto indica que no existe evidencia para afirmar que hay heterocedasticidad, por lo que la varianza de los residuos puede considerarse constante.
Los valores VIF de Murder = 1.54, UrbanPop = 1.26 y Rape = 1.84 son bajos y se encuentran muy por debajo de 5. Esto indica que no existe multicolinealidad relevante entre las variables independientes.
En los gráficos aparecen algunos estados como North Carolina, Delaware y Hawaii ligeramente alejados del resto. Sin embargo, ninguno supera claramente las líneas de distancia de Cook, por lo que no parecen ser observaciones influyentes.
En general, el modelo múltiple cumple adecuadamente los supuestos de regresión lineal. Los residuos presentan una distribución aproximadamente normal, la varianza se mantiene constante y no existe multicolinealidad importante entre las variables. Además, no se observan puntos influyentes graves que afecten significativamente el modelo.
Actividad 10. Predicción e interpretación aplicada
# Nuevo estado hipotético
nuevo_estado <- data.frame(
Murder = 8,
UrbanPop = 70,
Rape = 25
)
# Predicción puntual e intervalo de confianza
predict(modelo_multiple,
nuevo_estado,
interval = "confidence")
## fit lwr upr
## 1 184.6941 170.3306 199.0577
# Predicción e intervalo de predicción
predict(modelo_multiple,
nuevo_estado,
interval = "prediction")
## fit lwr upr
## 1 184.6941 91.83006 277.5582
La predicción puntual obtenida es de 184.69. Esto significa que, para un estado con Murder = 8, UrbanPop = 70 y Rape = 25, el modelo estima aproximadamente 185 arrestos por agresión por cada 100 000 habitantes.
El intervalo de confianza va desde 170.33 hasta 199.06. Esto indica que, con un nivel de confianza del 95%, el promedio esperado de arrestos por agresión para estados con características similares se encuentra dentro de ese rango.
El intervalo de predicción va desde 91.83 hasta 277.56. Esto significa que el valor real de Assault para un estado individual con esas características podría variar dentro de ese intervalo.
El intervalo de confianza estima el rango donde se espera que esté el promedio de la respuesta, mientras que el intervalo de predicción estima el rango donde podría encontrarse una observación individual.
Una empresa multinacional podría utilizar esta predicción para identificar estados con mayores niveles esperados de violencia y así tomar decisiones relacionadas con inversión, seguridad o asignación de recursos. También permitiría evaluar posibles riesgos antes de iniciar operaciones en determinadas zonas.
Conclusión
En conclusión, el análisis realizado con la base USArrests permitió identificar que variables como Murder y Rape tienen una relación importante con los arrestos por agresión. El modelo de regresión múltiple fue el que presentó mejores resultados, logrando explicar gran parte de la variabilidad de Assault. Además, los supuestos del modelo se cumplieron de manera aceptable, por lo que el modelo puede considerarse válido para realizar predicciones y apoyar la toma de decisiones en análisis de riesgo y seguridad.