Este trabajo presenta un modelo de dinámica de sistemas que analiza la evolución de los flujos migratorios en tránsito por México y la violencia que enfrentan las personas migrantes durante su recorrido. A través de simulaciones y escenarios con distintas incertidumbres, se evalúa el impacto de tres políticas públicas enfocadas en la prevención, protección humanitaria y reforma institucional. El documento incluye visualizaciones, explicación técnica del modelo y fundamentos de cada política propuesta. Puedes consultar la publicación completa de RPubs en el siguiente enlace: http://rpubs.com/sabinamartinrod/evidencia1
library(deSolve)
InitialConditions <- c(migrantes.transito = 778905,
migrantes.violentados = 146219,
migrantes.EUA = 3825000
)
times <- seq( 0, #initial time
30, #end time
1) #time step / años
violencia.migrantes <- function(t, state, parameters) {
with(as.list(c(state,parameters)), {
#Endogenous auxiliary variables
migrantes.interceptados.sur = agentes.sur*intercepcion.por.agente.sur #numero de migrantes por año que intentan cruzar a México por la frontera sur pero son atrapados por las autoridades (no entran a la variable de estado)
migrantes.interceptados.norte = intercepcion.por.agente.norte*border.patrols #numero de migrantes por año que intentan cruzar a EUA pero son atrapados por border patrols (no salen de la variable de estado)
tasa.conclusion.migratoria = tasa.deportacion.mx + tasa.normal.salida + tasa.deportacion.mx #la suma de las tasas que concluyen el tiempo como migrante
inmigracion.normal.sur = 11380.08 + 28307.46 * (t + 14) #consideramos esta variable como endógena porque incluye el tiempo. Se realizó una regresión lineal para entender el flujo natural de migrantes que vienen del sur. La regresión se realizó con datos de 2013 a 2024
tarjetas.solicitadas = inmigracion.normal.sur * tasa.solicitantes #Cantidad de migrantes que solicitan una TVRH antes de entrar a México. Tarjeta de Visitante por Razones Humanitarias (TVRH): es un permiso que otorga el gobierno mexicano para que una persona migrante pueda permanecer legalmente en el país de forma temporal. Se entrega, por ejemplo, a quienes solicitan asilo o han vivido situaciones de riesgo.
tarjetas.aceptadas = tarjetas.solicitadas * porcentaje.aceptacion #cantidad de TVRH que son aceptadas.
#Flow variables
inmigracion.sur = inmigracion.normal.sur - migrantes.interceptados.sur - tarjetas.aceptadas #principal flujo de entrada a migrantes.transito. Se restan migrantes interceptados y tarjetas aceptadas porque son migrantes que nunca están irregularmente en México.
deportacion.EUA.MX = tasa.deportacion.EUA * migrantes.EUA #cantidad de migrantes latinos no mexicanos que son deportados de EUA a México al año
estadia = (tasa.estadia.normal*migrantes.transito)/tiempo.estadia + asilos.politicos #cantidad de migrantes que dejan de ser irregulares. Se divide la cantidad total entre el tiempo que se tardan en conseguir los permisos adecuados. Se suma los asilos políticos ya que los convierte en migrantes regulares.
salida.EUA = (tasa.normal.salida*migrantes.transito)/tiempo.salida - migrantes.interceptados.norte #cantidad de migrantes al año que sale de México a EUA. Se divide entre el tiempo que tardan en salir desde que entran a méxico. Se restan los migrantes que no lograron llegar a EUA
deportacion.MX = (tasa.deportacion.mx*migrantes.transito)/tiempo.deportacion #cantidad de migrantes al año que son deportados por las autoridades mexicanas dentro de México, se divide entre el tiempo que se tardan en ser deportados.
incremento.violencia.por.autoridades = (tasa.crimenes.autoridades*migrantes.transito) #cantidad de migrantes al año que son violentados por autoridades
incremento.violencia.por.polleros = (tasa.crimenes.polleros*migrantes.transito) #cantidad de migrantes al año que son violentados por traficantes de migrantes (polleros)
conclusion.migratoria = tasa.conclusion.migratoria * migrantes.violentados #cantidad de migrantes al año que salen de situación de violencia por que dejan de ser migrantes en tránsito
defunciones = tasa.defunciones * migrantes.violentados #cantidad de migrantes al año que mueren por situaciones de violencia
#State (stock) variables (d)
dmigrantes.transito = inmigracion.sur + deportacion.EUA.MX - estadia - salida.EUA - deportacion.MX #migrantes en tránsito irregulares que hay en México
dmigrantes.violentados= incremento.violencia.por.autoridades + incremento.violencia.por.polleros - conclusion.migratoria - defunciones #Variable más importante para el análisis. Cantidad de migrantes en tránsito irregulares que están en situación de violencia en México
dmigrantes.EUA = salida.EUA - deportacion.EUA.MX #Cantidad de migrantes irregulares en EUA que pasaron por México irregularmente
list(c(dmigrantes.transito, dmigrantes.violentados, dmigrantes.EUA), inmigracion.sur = inmigracion.sur, deportacion.EUA.MX = deportacion.EUA.MX, estadia = estadia, salida.EUA = salida.EUA, deportacion.MX = deportacion.MX)
})
}
parameters<-c(
tiempo.estadia = 5, #tiempo estimado en el que un migrante tramita sus permisos para cambiar su situación a regular y quedarse en México permanente mente. (años)
tiempo.deportacion = 0.58, #tiempo aproximado que tardan las autoridades en deportar a un migrante desde su entrada al país hasta la salida de este.(años)
tiempo.salida = .5, #tiempo aproximado que tarda un migrante en llegar a EUA desde que entra a México (años).
tasa.estadia.normal = 9/100, #porcentaje de migrantes en tránsito irregulares que deciden cambiar su estatus a regular.
tasa.deportacion.mx = 13/100, #porcentaje de migrantes que son deportados por las autoridades mexicanas
tasa.normal.salida = 50/100, #porcentaje de migrantes que salen a EUA
tasa.defunciones = 0.06/100, #porcentaje de migrantes que mueren por situaciones de violencia en México
tasa.crimenes.polleros = 10.72/100, #Porcentaje de migrantes que son violentados por traficantes de migrantes Se obstuvo multiplicando el porcentaje de migrantes violentados que fueron violentados por traficantes de migrantes por el porcentaje de migrantes totales que sufre violencia.
inmigracion.normal.norte = 1424, #cantidad de migrantes irregulares que entran a méxico por año desde la frontera norte.
asilos.politicos = 16682, #cantidad de asilos políticos dados anualmente.
agentes.sur = 6180, #cantidad de agentes en la frontera sur.
intercepcion.por.agente.sur = 20, #cantidad de migrantes que son interceptados por cada agente de la frontera sur.
border.patrols = 22000, #cantidad de border patrols en la frontera de EUA
intercepcion.por.agente.norte = 39.7, #cantidad de migrantes que son interceptados por cada border patrol
tasa.crimenes.autoridades = 15.72/100, #Porcentaje de migrantes que son violentados por autoridades migratorias. Se obstuvo multiplicando el porcentaje de migrantes violentados que fueron violentados por autoridades por el porcentaje de migrantes totales que sufre violencia.
tasa.deportacion.EUA = 1.27/100, #porcentaje de migrantes irregulares que son deportados a México y no son mexicanos (este valor probablemente haya cambiado en el año del análisis, pero aún no se tienen datos suficientes para elaborar una nueva tasa)
porcentaje.aceptacion = 5/100, #porcentaje de TVRH que son aceptadas
tasa.solicitantes = 22/100 #porcentaje de migrantes provenientes del sur que solicitan TVRH para transitar México
)
intg.method<-c("rk4")
out <- ode(y = InitialConditions,
times = times,
func = violencia.migrantes,
parms = parameters,
method =intg.method )
plot(out,
col=c("blue"))
### Resultados del modelo base
library(ggplot2)
library(tidyr)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(scales)
out_df <- as.data.frame(out)
out_filtrado <- out_df %>%
select(time, migrantes.transito, migrantes.violentados)
out_long <- out_filtrado %>%
pivot_longer(cols = -time, names_to = "variable", values_to = "valor")
ggplot(out_long, aes(x = time, y = valor, color = variable)) +
geom_line(size = 1.3) +
labs(title = "Evolución de migrantes en México",
x = "Años",
y = "Número de migrantes",
color = "Variable") +
scale_color_manual(values = c("migrantes.transito" = "#1f77b4",
"migrantes.violentados" = "#e15759"),
labels = c("Migrantes en tránsito", "Migrantes violentados")) +
theme_minimal(base_size = 14) +
scale_y_continuous(labels = comma) +
theme(legend.position = "bottom")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
En la gráfica se muestra la evolución de las variables de estado según la simulación. Se omite los resultados de la variable de migrantes irregulares en EUA, ya que no es pertinente para el análisis objetivo de este estudio.
Ambas variables de estado muestran comportamientos similares en toda la evolución, esto se debe a que la cantidad de migrantes violentados depende únicamente de tasas exógenas y la cantidad de migrantes en tránsito irregulares. También es por esto que la cantidad de migrantes violentados es mucho menor a la cantidad de migrantes en tránsito en el país.
Del año 0 al 1 ambas variables experimentan un aumento veloz, sin embargo, el crecimiento desacelera a partir del año 1, donde la pendiente de ambas curvas se mantiene igual hasta el año 30. Este comportamiento es causado por los retrasos en las salidas que tiene el modelo, ya que al inicio entran muchos migrantes a la variable de estado pero no sale ninguno por los retrasos, después del año 1 empiezan a salir más migrantes.
Las incertidumbres son variables cuyo valor en el futuro es incierto. En este caso seleccionamos las incertidumbres que mayor efecto tienen en las dos principales variables de estado y cuyo valor no depende del gobierno mexicano. Esta decisión está basada en que el gobierno mexicano tiene control sobre el valor de ciertas variables, lo que realmente no las hace inciertas para el gobierno mexicano.
Por lo mencionado anteriormente, las variables selectas como incertidumbres son las siguientes: Border patrols Tasa de deportación de EUA Tasa normal de salida a EUA
Las primeras dos dependen de Estados Unidos y la tercera de los migrantes. A cada incertidumbre se le da un rango alrededor del valor real de la variable, para Border Patrols es (17000, 27000), para tasa de salida a EUA es (45/100, 55/100) y para la tasa de deportación es (1/100, 15/100).
Cada gráfica de incertidumbre contiene 1 línea para cada combinación posible de los valores de las incertidumbres. Es decir, el escenario donde hay 22 mil border patrols, 0.5 de tasa de salida y 0.01 de tasa de deportación de EUA está incluido en cada gráfica en forma de una línea, cualquier alteración de los valores, dentro de los rangos, igualmente se encuentra en cada gráfica. El valor de la incertidumbre se representa en la gráfica por medio de colores, el color de la línea cambia mientras más grande o más pequeño es el valor de la incertidumbre. Con todos los posibles escenarios y las líneas de colores se crean las gráficas de incertidumbres a continuación.
x1<- seq(17000, 27000, 1000) #border.patrols 22000
x2<- seq(45/100, 55/100, 1/100) #tasa.normal.salida 50/100
x3<- seq(1/100, 15/100, 1/100) #tasa.deportacion.EUA 1.27/100
#combine all stressors
Xs<-expand.grid(list(border.patrols=x1, tasa.normal.salida=x2, tasa.deportacion.EUA=x3))
Xs$Run.ID <- 1:nrow(Xs)
#map all Xs into the model
out_all <- list()
for (i in 1:nrow(Xs))
{
#Variables exógenas o parámetros
parameters.Xs<-c(
tiempo.estadia = 5,
tiempo.deportacion = 0.58,
tiempo.salida = .5,
tasa.estadia.normal = 9/100,
tasa.deportacion.mx = 13/100,
tasa.normal.salida = Xs$tasa.normal.salida[i],
tasa.defunciones = 0.06/100,
tasa.crimenes.polleros = 26.8/100 * 28.6/100,
inmigracion.normal.norte = 1424,
asilos.politicos = 16682,
agentes.sur = 6180,
intercepcion.por.agente.sur = 20,
border.patrols = Xs$border.patrols[i],
intercepcion.por.agente.norte = 39.7,
tasa.crimenes.autoridades = 39.3/100 * 28.6/100,
tasa.deportacion.EUA = Xs$tasa.deportacion.EUA[i],
porcentaje.aceptacion = 5/100,
tasa.solicitantes = 22/100
)
#Simulación del model
out <- ode(y = InitialConditions,
times = times,
func = violencia.migrantes,
parms = parameters.Xs,
method =intg.method )
out <- data.frame(out)
out$Run.ID <- Xs$Run.ID[i]
out_all <- append(out_all, list(out))
}
out_all <- do.call("rbind", out_all)
dim(out_all)
## [1] 56265 10
out_all <- merge(out_all, Xs, by="Run.ID")
dim(out_all)
## [1] 56265 13
p1<- ggplot(out_all,aes(x=time,y=migrantes.transito,group=Run.ID, colour=tasa.deportacion.EUA))+
geom_line()+
labs(title = "Tasa de Deportación EUA",
x = "Años",
y = "Migrantes en tránsito en México")+
scale_y_continuous(labels = comma) +
scale_color_gradient(low = "green", high = "red")
p2<- ggplot(out_all,aes(x=time,y=migrantes.transito,group=Run.ID, colour=tasa.normal.salida))+
geom_line()+
labs(title = "Tasa normal de Salida",
x = "Años",
y = "Migrantes en tránsito en México")+
scale_y_continuous(labels = comma) +
scale_color_gradient(low = "blue", high = "orange")
p3<- ggplot(out_all,aes(x=time,y=migrantes.transito,group=Run.ID, colour=border.patrols))+
geom_line()+
labs(title = "Border patrols (EUA)",
x = "Años",
y = "Migrantes en tránsito en México")+
scale_y_continuous(labels = comma) +
scale_color_gradient(low = "purple", high = "yellow")
# Ahora puedes ver las gráficas individualmente
p1
La gráfica demuestra una clara relación entre la tasa de deportación de EUA y la cantidad de migrantes en tránsito. La relación entre estas variables es directa, es decir, mientras menor es la tasa menor es la cantidad de migrantes en tránsito en México. Esto se debe a que si menos son deportados, menor son regresados a México.
p2
La relación entre la tasa de salida a EUA y la cantidad de migrantes en
tránsito es inversa. El entendimiento de esta relación es meramente
lógico, mientras más salen, menos hay en la variable de estado.
p3
Si la cantidad de Border Patrols es bajo la cantidad de migrantes dentro
del país también será más baja y vice versa. Esto se debe a que si hay
muchos Border Patrols más migrantes serán interceptados y regresarán a
México.
p4<- ggplot(out_all,aes(x=time,y=migrantes.violentados,group=Run.ID, colour=tasa.deportacion.EUA))+
geom_line()+
labs(title = "Tasa de Deportación EUA",
x = "Años",
y = "Migrantes Violentados")+
scale_y_continuous(labels = comma) +
scale_color_gradient(low = "green", high = "red")
p5<- ggplot(out_all,aes(x=time,y=migrantes.violentados,group=Run.ID, colour=tasa.normal.salida))+
geom_line()+
labs(title = "Tasa Normal de Salida a EUA",
x = "Años",
y = "Migrantes Violentados")+
scale_y_continuous(labels = comma) +
scale_color_gradient(low = "blue", high = "orange")
p6<- ggplot(out_all,aes(x=time,y=migrantes.violentados,group=Run.ID, colour=border.patrols))+
geom_line()+
labs(title = "Border patrols (EUA)",
x = "Años",
y = "Migrantes Violentados")+
scale_y_continuous(labels = comma) +
scale_color_gradient(low = "purple", high = "yellow")
# Ahora puedes ver las gráficas individualmente
p4
El efecto de esta incertidumbre en la cantidad de migrantes violentados
es el mismo que en la cantidad de migrantes en tránsito en el país. A
mayor tasa de deportación de EUA, número de migrantes violentados.
p5
Al igual que en la variable de estado anterior, en los escenarios donde
la tasa de salida a EUA es más cercano a 55% la cantidad de migrantes
violentados es menor. Esto se debe a que si hay menos migrantes en
México hay menos que podrían caer en situación de violencia.
p6
Por último la cantidad de Border Patrols afecta proporcionalmente a la
cantidad de migrantes en situación de violencia, si hay más border
patrols hay más migrantes violentados.
Para disminuir la cantidad de migrantes que son violentados en México se proponen las siguientes 3 políticas: - Política 1: Prevención estructural – Fortalecimiento del ingreso regulado en la frontera sur - Política 2: Protección desde el inicio – Aumentar la presencia del Grupo Beta en la frontera sur - Política 3: Gobernanza migratoria y garantía de derechos: Reforma del sistema de gestión y detención migratoria
A continuación se explica cada política y su efecto en el modelo:
Política- Variable a la que afecta (tarjetas aceptadas -> inmigración por frontera sur) Aumentar la entrega de la Tarjeta de Visitante por Razones Humanitarias (TVRH), garantizando que al menos el 60% de quienes solicitan asilo o refugio en México puedan obtenerla. La Tarjeta de Visitante por Razones Humanitarias (TVRH) es un permiso que otorga el gobierno mexicano para que una persona migrante pueda permanecer legalmente en el país de forma temporal. Se entrega, por ejemplo, a quienes solicitan asilo o han vivido situaciones de riesgo.
Esta política busca ofrecer una ruta legal, rápida y segura para que las personas migrantes no tengan que cruzar por caminos peligrosos ni depender de traficantes. Al contar con un permiso, pueden ingresar y moverse por México sin esconderse ni exponerse a abusos. Eso significaría menos personas cruzando por rutas peligrosas, menor dependencia de traficantes, menos detenciones arbitrarias, mayor acceso a servicios básicos, menos saturación en estaciones migratorias y un mejor control del Estado sobre quién entra y en qué condiciones.
Es necesaria porque en 2024 se entregaron 97% menos permisos que el año anterior. Aunque bajaron las solicitudes de asilo, la migración continuó, pero en condiciones más riesgosas. La falta de alternativas legales no detiene el flujo migratorio, solo lo vuelve más violento y costoso para todos.
El efecto de la política sobre la variable de inmigración por frontera sur se construyó con datos oficiales del INM y estimaciones propias. Se usaron las cifras anuales de personas que solicitaron la Tarjeta de Visitante por Razones Humanitarias (TVRH) y cuántas se emitieron. El porcentaje de aceptación se calculó dividiendo tarjetas emitidas entre solicitudes, reflejando qué tan accesible ha sido esta vía.
La propuesta de fijar un mínimo de 60 % se basa en la Ley de Migración y en datos históricos, donde la aceptación osciló entre 58 % y 92 %. En 2024 cayó al 5 %, mientras aumentó la migración irregular. Aumentar la emisión de TVRH facilita el tránsito legal, reduce el uso de rutas peligrosas y la presión institucional.
Política- Variable a la que afecta (incremento de crímenes a migrantes por traficantes de migrantes)
Esta política propone aumentar la presencia del Grupo Beta, el equipo del Instituto Nacional de Migración especializado en ayuda humanitaria, incrementando sus recorridos en Chiapas, Tabasco, Oaxaca y Veracruz, principales puntos de entrada al país.
El objetivo es proteger desde el inicio a quienes migran, brindándoles orientación, auxilio y acompañamiento para que no queden expuestos a traficantes ni a situaciones de riesgo por falta de apoyo. Aunque la mayoría de personas entra por el sur, solo una de cada cinco acciones del Grupo Beta ocurre ahí. Esto deja a quienes recién llegan sin información ni protección en un momento clave.
A diferencia de otras autoridades, el Grupo Beta no detiene ni criminaliza. Ofrece ayuda, canaliza a servicios y orienta a quienes migran. Si se aplica bien, esta política podría reducir en 12% los casos de violencia en los próximos 30 años, al ofrecer apoyo desde el primer momento, reducir la necesidad de recurrir a redes delictivas y fortalecer la confianza en las instituciones.
El efecto de la política sobre la variable de incremento de crímenes a migrantes por traficantes de migrantes se construyó con base en datos oficiales del Boletín Mensual de Estadísticas Migratorias sobre las acciones del Grupo Beta. Se identificó que el promedio anual de recorridos en la frontera sur entre 2021 y 2024 fue de aproximadamente 3,222. A partir de ese dato, se estimaron tres escenarios con aumentos proporcionales: 30 % (967 recorridos extra), 60 % (1,933) y 90 % (2,900).
Las reducciones de crímenes (5, 8 y 12 %) se basan en el supuesto de que más recorridos permiten intervenir antes y orientar a los migrantes, lo que reduce su contacto con redes de traficantes desde su entrada al país.
Política- Variable a la que afecta (incremento de crímenes a migrantes por autoridades)
Esta política propone cambiar cómo el gobierno mexicano trata a las personas migrantes sin papeles, dejando de encerrarlas en estaciones migratorias y garantizando un trato digno, sin criminalización.
Se plantean cuatro cambios clave: eliminar condiciones carcelarias en estaciones migratorias, capacitar al personal en derechos humanos, ofrecer alternativas al encierro como albergues o permisos temporales, y permitir la supervisión de estos espacios por parte de organizaciones y medios.
Si se implementa correctamente, esta política podría reducir en 40% los casos de violencia contra personas migrantes en los próximos 30 años. Un cambio en la actitud del Estado puede marcar una gran diferencia.
El efecto de la política sobre la variable de incremento de crímenes a migrantes por autoridades se construyó con base en datos oficiales sobre centros de detención migratoria y estimaciones sobre personas detenidas en 2024. De los más de 50 centros, 33 fueron cerrados por la CNDH por malas condiciones (capacidad de 1,306 personas), y actualmente solo operan 17 centros con capacidad de 4,786. Además, se reportaron 925,000 personas migrantes detenidas ese año.
Los escenarios de reducción de violencia (20, 30 y 40 por ciento) se basan en la aplicación conjunta de cuatro acciones: reforma estructural, capacitación, alternativas a la detención y rendición de cuentas. Se parte del supuesto de que un sistema con enfoque humanitario, vigilancia externa y sin lógica punitiva reduce significativamente los abusos durante la detención.
knitr::include_graphics("diagrama.png")
En este diagrama de flujo
actualizado se muestra de que forma impactan las políticas a las
variables existentes del modelo.
library(deSolve)
InitialConditions <- c(migrantes.transito = 778905,
migrantes.violentados = 146219,
migrantes.EUA = 3825000
)
times <- seq( 0, #initial time
30, #end time
1) #time step / años
violencia.migrantes.politicas <- function(t, state, parameters.politicas) {
with(as.list(c(state,parameters.politicas)), {
migrantes.interceptados.sur = agentes.sur*intercepcion.por.agente.sur
migrantes.interceptados.norte = intercepcion.por.agente.norte*border.patrols
tasa.conclusion.migratoria = tasa.deportacion.mx + tasa.normal.salida + tasa.deportacion.mx
inmigracion.normal.sur = 11380.08 + 28307.46 * (t + 14)
tarjetas.solicitadas = inmigracion.normal.sur * tasa.solicitantes
tarjetas.aceptadas = tarjetas.solicitadas * (porcentaje.aceptacion + politica1)
inmigracion.sur = inmigracion.normal.sur - migrantes.interceptados.sur - tarjetas.aceptadas
deportacion.EUA.MX = tasa.deportacion.EUA * migrantes.EUA
estadia = (tasa.estadia.normal*migrantes.transito)/tiempo.estadia + asilos.politicos
salida.EUA = (tasa.normal.salida*migrantes.transito)/tiempo.salida - migrantes.interceptados.norte
deportacion.MX = (tasa.deportacion.mx*migrantes.transito)/tiempo.deportacion
incremento.violencia.por.autoridades = (tasa.crimenes.autoridades*migrantes.transito) * (1-politica3)
incremento.violencia.por.polleros = (tasa.crimenes.polleros*migrantes.transito) * (1-politica2)
conclusion.migratoria = tasa.conclusion.migratoria * migrantes.violentados
defunciones = tasa.defunciones * migrantes.violentados
dmigrantes.transito = inmigracion.sur + deportacion.EUA.MX - estadia - salida.EUA - deportacion.MX
dmigrantes.violentados= incremento.violencia.por.autoridades + incremento.violencia.por.polleros - conclusion.migratoria - defunciones
dmigrantes.EUA = salida.EUA - deportacion.EUA.MX
list(c(dmigrantes.transito, dmigrantes.violentados, dmigrantes.EUA), inmigracion.sur = inmigracion.sur, deportacion.EUA.MX = deportacion.EUA.MX, estadia = estadia, salida.EUA = salida.EUA, deportacion.MX = deportacion.MX)
})
}
parameters.politicas<-c(
tiempo.estadia = 5,
tiempo.deportacion = 0.58,
tiempo.salida = .5,
tasa.estadia.normal = 9/100,
tasa.deportacion.mx = 13/100,
tasa.normal.salida = 50/100,
tasa.defunciones = 0.06/100,
tasa.crimenes.polleros = 10.72/100,
inmigracion.normal.norte = 1424,
asilos.politicos = 16682,
agentes.sur = 6180,
intercepcion.por.agente.sur = 20,
border.patrols = 22000,
intercepcion.por.agente.norte = 39.7,
tasa.crimenes.autoridades = 15.72/100,
tasa.deportacion.EUA = 1.27/100,
porcentaje.aceptacion = 5/100,
tasa.solicitantes = 22/100,
politica1 = 55/100, #Debido a que el porcentaje estandarizado es de 60% y el actual es de 5% se aumenta 55 puntos base para que este llegue al objetivo y tenga los resultados esperados.
politica2 = 12/100, #Porcentaje de reducción de casos de violencia por traficantes de migrantes esperado en una implementación exitosa de la política.
politica3 = 40/100 #Porcentaje de reducción de casos de violencia por autoridades migratorias esperado en una implementación exitosa de la política.
)
intg.method<-c("rk4")
out.politicas <- ode(y = InitialConditions,
times = times,
func = violencia.migrantes.politicas,
parms = parameters.politicas,
method =intg.method )
plot(out.politicas,
col=c("blue"))
out.p_df <- as.data.frame(out.politicas)
# Filtramos solo las variables que nos interesan para la gráfica
out.p_filtrado <- out.p_df %>%
select(time, migrantes.transito, migrantes.violentados)
# Transformamos a formato largo para ggplot
out.p_long <- out.p_filtrado %>%
pivot_longer(cols = -time, names_to = "variable", values_to = "valor")
# Gráfico con ggplot
ggplot(out.p_long, aes(x = time, y = valor, color = variable)) +
geom_line(size = 1.3) +
labs(title = "Evolución de migrantes en México",
x = "Años",
y = "Número de migrantes",
color = "Variable") +
scale_color_manual(values = c("migrantes.transito" = "#1f77b4",
"migrantes.violentados" = "#e15759"),
labels = c("Migrantes en tránsito", "Migrantes violentados")) +
theme_minimal(base_size = 14) +
scale_y_continuous(labels = comma) +
theme(legend.position = "bottom")
### Resultados del modelo con políticas La gráfica muestra que el número
de migrantes en tránsito crece de forma sostenida a lo largo de 30 años,
superando el millón y medio. Aunque los migrantes violentados también
aumentan, lo hacen a un ritmo mucho menor. Esto sugiere que, si bien la
migración sigue en aumento, hay margen para reducir la violencia con
políticas adecuadas de intervención y protección.
A través del modelo presentado y el análisis de incertidumbres, se evidencia que la violencia hacia personas migrantes en tránsito por México puede reducirse significativamente mediante la implementación de políticas públicas orientadas a la prevención, protección humanitaria y garantía de derechos. Las tres estrategias propuestas actúan sobre diferentes momentos del trayecto migratorio y muestran un impacto directo en la disminución de los riesgos asociados. Si bien el flujo migratorio continúa en ascenso, el fortalecimiento institucional, la legalización del tránsito y la supervisión externa permiten construir una respuesta estatal más humana, eficaz y alineada con los principios de derechos humanos.