Los ataques de tiburones han sido históricamente un tema de alta atención pública, a pesar de que su ocurrencia real es extremadamente baja en comparación con otros riesgos acuáticos o ataques de otros animales. La letalidad de un ataque depende de múltiples factores, que se pretenden analizar en este estudio, como características del tiburón, circunstancias ambientales, tipo de actividad humana y condiciones médicas posteriores (Neff & Hueter, 2013). Desde la estadística, la clasificación binaria se ha consolidado como una herramienta esencial para modelar eventos dicotómicos, como muerte/no muerte, permitiendo estimar probabilidades en función de variables predictoras categóricas o numéricas; el uso de modelos predictivos en ecología marina ha aumentado en años recientes, ya que permiten identificar patrones claves para la gestión de riesgos, la conservación y la comprensión del comportamiento animal (Gallagher et al., 2017). En el caso de los tiburones, estudiar la letalidad desde un enfoque estadístico permite aportar evidencia objetiva útil para programas de seguridad en playas, manejo sostenible y educación comunitaria.
Los ataques de tiburones, aunque poco frecuentes, generan un profundo impacto social, mediático y económico en las comunidades costeras. Comprender qué factores influyen en que un ataque resulte letal es fundamental no solo para mejorar las medidas de seguridad en zonas turísticas, sino también para promover una convivencia responsable con la fauna marina. A través de un enfoque cuantitativo, este estudio emplea herramientas de análisis estadístico y de ciencia de datos para identificar patrones detrás de la letalidad de ataques de tiburones. Se utiliza un modelo de clasificación binaria que permite evaluar la influencia de variables relacionadas con el evento, como la actividad realizada por la víctima, el tipo de ataque, el país y la especie del tiburón involucrado. Este análisis ofrece información relevante para la toma de decisiones en contextos de conservación, gestión de riesgos y educación ambiental, contribuyendo a una percepción más informada y menos alarmista sobre estos animales.
Construir un modelo de clasificación binaria que prediga la letalidad de los ataques de tiburones utilizando variables como: edad, tipo de herida, actividad realizada, país o locación.
Se evaluará el desempeño del modelo mediante métricas estadísticas y visualizaciones que permitan identificar los factores que más influyen en la probabilidad de que un ataque resulte letal.
Una metodología binaria implica que la variable respuesta solo tiene dos posibles valores. En este caso:
0 = ataque no letal
1 = ataque letal
La técnica empleada es regresión logística binaria, que modela la probabilidad de que ocurra el evento “letalidad” según un conjunto de predictores.
Ventajas: Permite incluir variables categóricas (país, especie, actividad, tipo de ataque).
Produce probabilidades interpretables en términos de riesgo.
Su salida puede evaluarse con métricas estándar como accuracy, sensibilidad, especificidad y curva ROC.
El análisis se desarrolló en R, siguiendo varias etapas:
Obtención de datos La base de datos original fue encontrada en línea (Global Shark Attack File), luego revisada, depurada y adaptada al propósito del estudio. Se eliminaron registros incompletos, duplicados o inconsistentes, y se reorganizó la información siguiendo criterios estadísticos de limpieza.
Catálogo de los datos Las variables incluidas en el modelo fueron: fatal → Variable objetivo (factor: “Fatal” / “No fatal”).
Type → Tipo de ataque.
Activity → Actividad realizada por la persona.
Country → País donde ocurrió el ataque.
Species → Especie del tiburón involucrado.
Variables como Country y Species se agruparon con fct_lump_min para evitar categorías con muy pocos datos.
Agrupación de categorías infrecuentes.
Relevel de categorías base (“USA”, “white shark”, “bañistas”) para facilitar interpretación.
Filtrado de registros atípicos.
La mayoría de ataques no fueron letales (clase desbalanceada).
Actividades como bañistas y surf fueron las más frecuentes.
Países como EE.UU., Australia y Sudáfrica concentraron la mayor cantidad de casos.
Especies más comunes: white shark, tiger shark, bull shark.
Se detectaron variables altamente heterogéneas, justificando la agrupación.
El modelo ajustado glm() produjo hallazgos clave:
Actividades provocativas (p cercano a significativo)
Países como Australia, Nueva Caledonia, Papua Nueva Guinea, Sudáfrica.
Type1 (según categorización del dataset)
Variables que disminuyen la probabilidad de letalidad: Especies como blacktip, gray, small shark, copper shark, mako shark (coeficientes negativos significativos).
Sensibilidad: 0.791 → buen reconocimiento de ataques letales
Especificidad: 0.725 → buen reconocimiento de ataques no letales
Precisión: 0.33 → indica desbalance de clases (pocos letales)
# Cargar librerías necesarias
library(dplyr)
library(car)
library(pROC)
library(tidyr)
library(forcats)
ataques <- ataques %>%
mutate(Country = fct_lump_min(Country, min = 5),
Species = fct_lump_min(Species, min = 5))
# Asegurarnos de que las variables categóricas sean factores
ataques <- ataques %>%
mutate(
fatal = as.factor(fatal),
Type = as.factor(Type),
)
ataques <- ataques %>%
mutate(
Country_grouped = fct_lump(Country, n = 10),
Species_grouped = fct_lump(Species, n = 10)
)
ataques$Activity <- as.factor(ataques$Activity)
ataques$Activity <- relevel(ataques$Activity, ref = "bañistas")
ataques$Country_grouped <- as.factor(ataques$Country_grouped)
ataques$Country_grouped <- relevel(ataques$Country_grouped, ref = "USA")
ataques$Species_grouped <- as.factor(ataques$Species_grouped)
ataques$Species_grouped <- relevel(ataques$Species_grouped, ref = "white shark")
# Ajustar el modelo logístico
mod <- glm(fatal ~ Type + Activity + Country_grouped + Species_grouped, family = binomial, data = ataques)
summary(mod) ##
## Call:
## glm(formula = fatal ~ Type + Activity + Country_grouped + Species_grouped,
## family = binomial, data = ataques)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.84397 0.19297 -9.556 < 2e-16 ***
## Type1 -3.06024 1.06447 -2.875 0.004042 **
## Activityaccidentes barcos y aviones 2.03345 0.75775 2.684 0.007284 **
## Activitybuceo -0.03603 0.21151 -0.170 0.864740
## Activityindirecto -0.52974 0.45821 -1.156 0.247641
## Activitypesca/caza -0.81865 0.22066 -3.710 0.000207 ***
## Activityprovocacion 2.02508 1.23456 1.640 0.100938
## Activityuso de barcos -0.94210 0.45462 -2.072 0.038239 *
## Country_groupedAUSTRALIA 1.42353 0.21698 6.561 5.35e-11 ***
## Country_groupedBAHAMAS -0.96850 1.11567 -0.868 0.385343
## Country_groupedBRAZIL 0.41362 0.66575 0.621 0.534409
## Country_groupedEGYPT 0.98309 0.62683 1.568 0.116799
## Country_groupedITALY 0.86723 0.59600 1.455 0.145646
## Country_groupedNEW CALEDONIA 1.68293 0.64004 2.629 0.008553 **
## Country_groupedNEW ZEALAND 1.24306 0.51132 2.431 0.015054 *
## Country_groupedPAPUA NEW GUINEA 4.33108 0.79734 5.432 5.57e-08 ***
## Country_groupedSOUTH AFRICA 0.76793 0.25368 3.027 0.002469 **
## Country_groupedOther 1.99888 0.24420 8.185 2.72e-16 ***
## Species_groupedblacktip shark -3.03840 1.02108 -2.976 0.002924 **
## Species_groupedblue shark -0.46011 0.52982 -0.868 0.385165
## Species_groupedbull shark -0.40771 0.25255 -1.614 0.106454
## Species_groupedcarpet shark -16.91095 499.85800 -0.034 0.973012
## Species_groupedcopper shark -1.90912 0.52898 -3.609 0.000307 ***
## Species_groupedgray shark -3.12035 1.04447 -2.987 0.002813 **
## Species_groupedmako shark -1.64196 0.76757 -2.139 0.032423 *
## Species_groupednurse shark -14.90568 517.08416 -0.029 0.977003
## Species_groupedsmall shark -2.44096 0.77534 -3.148 0.001643 **
## Species_groupedtiger shark 0.16090 0.21522 0.748 0.454705
## Species_groupedOther -1.89274 0.33586 -5.635 1.75e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1445.9 on 1737 degrees of freedom
## Residual deviance: 1107.1 on 1709 degrees of freedom
## AIC: 1165.1
##
## Number of Fisher Scoring iterations: 16
## (Intercept) Type1
## 1.581884e-01 4.687636e-02
## Activityaccidentes barcos y aviones Activitybuceo
## 7.640405e+00 9.646118e-01
## Activityindirecto Activitypesca/caza
## 5.887582e-01 4.410247e-01
## Activityprovocacion Activityuso de barcos
## 7.576716e+00 3.898094e-01
## Country_groupedAUSTRALIA Country_groupedBAHAMAS
## 4.151762e+00 3.796514e-01
## Country_groupedBRAZIL Country_groupedEGYPT
## 1.512290e+00 2.672689e+00
## Country_groupedITALY Country_groupedNEW CALEDONIA
## 2.380303e+00 5.381274e+00
## Country_groupedNEW ZEALAND Country_groupedPAPUA NEW GUINEA
## 3.466198e+00 7.602600e+01
## Country_groupedSOUTH AFRICA Country_groupedOther
## 2.155292e+00 7.380767e+00
## Species_groupedblacktip shark Species_groupedblue shark
## 4.791164e-02 6.312152e-01
## Species_groupedbull shark Species_groupedcarpet shark
## 6.651748e-01 4.525504e-08
## Species_groupedcopper shark Species_groupedgray shark
## 1.482103e-01 4.414157e-02
## Species_groupedmako shark Species_groupednurse shark
## 1.936012e-01 3.361595e-07
## Species_groupedsmall shark Species_groupedtiger shark
## 8.707736e-02 1.174564e+00
## Species_groupedOther
## 1.506581e-01
prob <- predict(mod, type = "response")
roc_obj <- roc(ataques$fatal, prob)
plot(roc_obj, col = "darkred")## Area under the curve: 0.8334
## Niveles de fatal: 0 1
# 2. Usar índices numéricos para evitar problemas con niveles
roc_obj <- roc(ataques$fatal, prob)
punto_optimo <- coords(roc_obj, "best", ret = "threshold")[1, "threshold"]
# 3. Crear predicciones como factor con los mismos niveles
predicciones <- ifelse(prob > punto_optimo, 1, 0)
# Convertir a factor con los mismos niveles que el original
predicciones_factor <- factor(predicciones,
levels = c(0, 1),
labels = levels(ataques$fatal))
# 4. Matriz de confusión básica
matriz_confusion <- table(Predicción = predicciones_factor,
Real = ataques$fatal)
print("MATRIZ DE CONFUSIÓN:")## [1] "MATRIZ DE CONFUSIÓN:"
## Real
## Predicción 0 1
## 0 1076 53
## 1 408 201
# 5. Métricas manuales
VP <- matriz_confusion[2, 2]
VN <- matriz_confusion[1, 1]
FP <- matriz_confusion[2, 1]
FN <- matriz_confusion[1, 2]
cat("\nMÉTRICAS:\n")##
## MÉTRICAS:
## Accuracy: 0.735
## Sensitivity: 0.791
## Specificity: 0.725
## Precision: 0.33
El análisis se realizó con librerías:
dplyr
pROC
tidyr
forcats
car
Incluyó:
Limpieza y transformación de datos
Ajuste del modelo logístico
Obtención de predicciones
Curva ROC y AUC
Matriz de confusión
Cálculo manual de métricas
La letalidad de un ataque no depende exclusivamente de la especie del tiburón.
Factores humanos como actividad y ubicación geográfica son predictores críticos.
El modelo logístico mostró un buen desempeño general.
El desbalance de clases afecta la precisión, pero no la sensibilidad ni el AUC.
Este tipo de análisis puede apoyar protocolos de seguridad costera.
Implementar programas educativos focalizados en actividades de alto riesgo.
Mejorar el registro global de ataques para reducir inconsistencias.
Incorporar variables ambientales: turbidez del agua, clima, profundidad.
Probar modelos adicionales como Random Forest o Gradient Boosting.
Realizar calibración del modelo ante nuevos datos.
El presente análisis demuestra que es posible predecir la letalidad de un ataque de tiburón mediante un modelo estadístico binario basado en variables ambientales, humanas y biológicas. Los resultados revelan que la ubicación y actividad humana tienen una influencia considerable sobre los desenlaces fatales, mientras que la especie del tiburón no es siempre un factor determinante. El modelo presentó un desempeño sólido, evidenciado por una buena sensibilidad, especificidad y AUC. Esta aproximación analítica contribuye a una comprensión más profunda de los riesgos, ayudando a la gestión adecuada de playas y fomentando una percepción más equilibrada frente a los tiburones, especies esenciales para la estabilidad de los ecosistemas marinos.
Gallagher, A. J., Hammerschlag, N., Cooke, S. J., Costa, D. P., & Irschick, D. J. (2017). Evolutionary theory as a tool for predicting extinction risk. Trends in Ecology & Evolution, 32(12), 895–908.
Neff, C., & Hueter, R. (2013). Science, policy, and the public discourse of shark “attack”: A proposal for reclassifying human–shark interactions. Journal of Environmental Studies and Sciences, 3, 65–73.
Global Shark Attack File. (2024). Shark Incident Database. https://www.sharkattackfile.net