Conceptos básicos. Tipos y escalas de variables.
Estadística descriptiva y exploratoria. Univariada y multivariada.
La industria aseguradora vehicular genera diariamente miles de
cotizaciones que condensan información valiosa sobre los clientes, las
características técnicas de los vehículos y las tendencias del
mercado.
El análisis estadístico descriptivo permite identificar
patrones, anomalías y relaciones entre las variables, sirviendo
de base para modelos de riesgo, fijación de primas y segmentación de
clientes.
Comprender la distribución y la variabilidad de variables como el valor asegurado, el modelo o la clase del vehículo resulta esencial para:
El presente estudio, a partir de un registro real de cotizaciones vehiculares en Colombia, ofrece herramientas gráficas y numéricas que apoyan estos objetivos.
Realizar un análisis estadístico descriptivo y exploratorio del conjunto de cotizaciones vehiculares, destacando la estructura univariada y bivariada de las variables numéricas y categóricas.
Se observan r nrow(datos) registros. Las variables continuas principales son Edad, Modelo, ValorAsegurado y ValorPoliza; las demás son categóricas. Limpiamos los valores monetarios para poder analizarlos numéricamente y normalizamos “GENERO” a solo “F” y “M”.
El valor asegurado promedio es de r scales::comma(round(media_VA,0)) COP con una desviación estándar del r round(sd_VA/1e6,2) millones. El coeficiente de variación ~r round(cve_media_VA,1) % indica una dispersión moderada alrededor de la media. La mediana (r scales::comma(mediana_VA)) es inferior a la media, sugiriendo ligera asimetría a la derecha (algunos vehículos muy costosos).
# Columna a estudiar
VA <- datos$ValorAsegurado
media_VA <- mean(VA, na.rm = TRUE)
var_VA <- var(VA, na.rm = TRUE)
sd_VA <- sd(VA, na.rm = TRUE)
cve_media_VA <- 100 * sd_VA / media_VA
mediana_VA <- median(VA, na.rm = TRUE)
mad_VA <- mad(VA, na.rm = TRUE)
cve_med_VA <- 100 * mad_VA / mediana_VA
resumen <- data.frame(
Estadístico = c("Promedio", "Varianza", "Desv. estándar",
"CVE (media)", "Mediana", "MAD", "CVE (mediana)"),
Valor = round(c(media_VA, var_VA, sd_VA,
cve_media_VA, mediana_VA,
mad_VA, cve_med_VA), 2)
)
knitr::kable(resumen, caption = "Estadísticos descriptivos para Valor Asegurado")
| Estadístico | Valor |
|---|---|
| Promedio | 8.168071e+07 |
| Varianza | 5.242059e+16 |
| Desv. estándar | 2.289554e+08 |
| CVE (media) | 2.803100e+02 |
| Mediana | 6.400000e+07 |
| MAD | 3.009678e+07 |
| CVE (mediana) | 4.703000e+01 |
La edad mínima reportada es r min_edad años y la máxima r max_edad. El rango intercuartílico es de r IQR_edadaños, mostrando que el 50% central está relativamente concentrado. Se detecta un valor extremo (edad >90años) que podría requerir verificación.
min_edad <- min(datos$Edad, na.rm = TRUE)
max_edad <- max(datos$Edad, na.rm = TRUE)
rang_edad <- max_edad - min_edad
cuartiles <- quantile(datos$Edad, probs = seq(0,1,0.25), na.rm = TRUE)
IQR_edad <- IQR(datos$Edad, na.rm = TRUE)
posicion <- data.frame(
Medida = c("Mínimo", "Máximo", "Rango",
paste0("Cuartil ",0:4), "IQR"),
Edad = c(min_edad, max_edad, rang_edad,
cuartiles, IQR_edad)
)
knitr::kable(posicion, digits = 1, caption = "Medidas de posición para Edad")
| Medida | Edad |
|---|---|
| Mínimo | 1.0 |
| Máximo | 937.0 |
| Rango | 936.0 |
| Cuartil 0 | 1.0 |
| Cuartil 1 | 37.0 |
| Cuartil 2 | 42.0 |
| Cuartil 3 | 49.2 |
| Cuartil 4 | 937.0 |
| IQR | 12.2 |
El 40% de las cotizaciones provienen de mujeres y el resto de hombres.
# Pie simple de Género
pie(table(datos$Genero),
col = c("#FFC1C1", "#6495ED"),
main = "Distribución por género", radius = 0.9)
# Pie 3D de Género
pie3D(table(datos$Genero),
labels = c("Mujeres", "Hombres"),
explode = 0.1,
col = brewer.pal(2, "Pastel1"),
main = "Género (pie 3D)", radius = 0.9)
Los Automóviles representan la categoría más frecuente (r max(table(datos$Clase)) casos), seguidos de Camionetas. Las motos son minoritarias.
barplot(sort(table(datos$Clase), decreasing = TRUE),
col = brewer.pal(6, "Set3"),
main = "Frecuencia de la variable CLASE",
las = 2, ylab = "Número de registros")
Se observa una cola a la derecha consistente con la asimetría detectada previamente; pocos vehículos superan los 200M COP.
stem(VA, scale = 2)
##
## The decimal point is 8 digit(s) to the right of the |
##
## 0 | 01111111111122222222233333333333333333333333334444444444444444444444+220
## 1 | 00000000000011112222222233333333333334444444445555555666667789
## 2 | 7
## 3 | 2
## 4 |
## 5 |
## 6 |
## 7 |
## 8 |
## 9 |
## 10 |
## 11 |
## 12 |
## 13 |
## 14 |
## 15 |
## 16 |
## 17 |
## 18 |
## 19 |
## 20 |
## 21 |
## 22 |
## 23 |
## 24 |
## 25 |
## 26 |
## 27 |
## 28 |
## 29 |
## 30 |
## 31 |
## 32 |
## 33 |
## 34 |
## 35 |
## 36 |
## 37 |
## 38 |
## 39 |
## 40 |
## 41 |
## 42 |
## 43 | 8
hist(VA, breaks = "FD", freq = FALSE,
col = "#98F5FF",
main = "Distribución de Valor Asegurado",
xlab = "Valor asegurado (COP)")
lines(density(VA, na.rm = TRUE))
Las pólizas de los hombres muestran una ligera tendencia a valores mayores, aunque las medianas son similares; las colas denotan algunos aseguramientos particularmente altos.
boxplot(datos$ValorPoliza,
col = "#66CDAA",
horizontal = TRUE,
main = "Diagrama de caja de Valor de la Póliza",
xlab = "COP")
boxplot(ValorPoliza ~ Genero, data = datos,
col = c("#FFE4E1", "#B0E0E6"),
main = "Valor de la póliza por género", ylab = "COP")
stripchart(ValorPoliza ~ Genero, data = datos,
method = "jitter", add = TRUE, pch = 19, col = "gray40")
En proporción, las mujeres cotizan más automóviles que camionetas, mientras los hombres muestran mayor interés por vehículos utilitarios y camionetas.
tab_gc <- table(datos$Genero, datos$Clase)
prop_fila <- prop.table(tab_gc, 1)
prop_col <- prop.table(tab_gc, 2)
tab_gc
##
## AUTOMOVIL CAMIONETA CARROTANQUE MINIVAN MOTO PICK UP
## F 72 66 1 0 3 1
## M 132 76 0 0 10 1
colores2 <- c("#A020F0", "#FFBBFF")
barplot(tab_gc, col = colores2,
main = "GENERO × CLASE (frecuencias absolutas)")
legend("topright", legend = c("Femenino", "Masculino"), fill = colores2)
colores_clase <- brewer.pal(n = length(levels(factor(datos$Clase))), "Set2")
mosaicplot(tab_gc, col = colores_clase,
main = "Mosaic: Genero vs Clase")
La relación lineal es prácticamente nula (r round(cor(datos\(Edad, datos\)ValorAsegurado, use=‘complete.obs’),2)), indicando que la edad del solicitante no condiciona el valor del vehículo cotizado.
plot(datos$Edad, datos$ValorAsegurado,
pch = 19, col = "#6A5ACD",
xlab = "Edad del cotizante",
ylab = "Valor asegurado (COP)",
main = "Edad vs Valor Asegurado")
abline(lm(ValorAsegurado ~ Edad, data = datos), lwd = 2)
El valor asegurado promedio ronda los r round(media_VA/1e6,1) millones de COP, con dispersión moderada y cola derecha.
El público femenino aporta cerca de r round(100*prop.table(table(datos$Genero))[“F”],0) % de las solicitudes y se inclina por automóviles.
No hay evidencia de relación entre edad y valor asegurado, lo que sugiere que variables distintas (p.ej. nivel socio‑económico o tipo de vehículo) explican la heterogeneidad en los montos.
Las pólizas presentan distribuciones similares entre géneros, aunque con valores extremos ligeramente superiores en hombres.