1. Caso de Estudio

Imaginemos un estudio de caso enfocado en la dinámica poblacional y los crímenes de odio dentro de una región ficticia. Este escenario servirá para comprender el impacto potencial de las políticas de prevención en la incidencia de tales crímenes a lo largo del tiempo. El objetivo es simular cómo diferentes enfoques pueden influir en la reducción de los crímenes de odio mediante la implementación de políticas públicas específicas.

Para realizar este análisis, es crucial considerar el último dígito de tu número de matrícula como variable [X] para determinar ciertos parámetros iniciales en la simulación. Este número [X] ajustará los valores iniciales relacionados con la población y la incidencia de crímenes de odio en diferentes zonas de un estado. Por ejemplo, si tu matrícula es A0012345, el 5 sustituirá a los valores faltantes en el problema [X], si tu matrícula es A0012540, el 0 sustituirá a los valores faltantes en el problema [X]. (Mi matricula: A00831873 -> 3).

El estado está dividido en tres zonas principales: urbanas, suburbanas y rurales. La población se distribuye de la siguiente manera: inicialmente tenemos 5 millones en zonas urbanas, 7 millones en zonas suburbanas y 4 millones en zonas rurales. Para simplificar el modelo consideremos que no existen muertes ni nacimientos en las poblaciones establecidas.

La incidencia inicial de crímenes de odio se establece en 100 en zonas urbanas, 50 en zonas suburbanas y 200 en zonas rurales. Se espera que los crímenes de odio se incrementen a una tasa de 10 crímenes por cada millón de habitantes.

A partir de que se implementa una política pública esta tiene un período de 10 años para ver resultados de efectividad en la reducción de los crímenes de odio. Anualmente, se espera que la incidencia de crímenes de odio disminuya un 5% en zonas urbanas, 7% en zonas suburbanas y 10% en zonas rurales, gracias a la implementación efectiva de las políticas de prevención.

Las políticas de prevención incluyen programas de educación y sensibilización que incrementan la eficacia de la reducción de crímenes de odio. Este modelo debe ejecutarse a lo largo de un período de 50 años y ver su desarrollo cada 3 meses, la variable relevante a analizar es total de crímenes de odio en el estado (además de las variables de estado y flujo que determines).

2. Diagrama causal del problema

2. Diagrama de flujo del problema

3. Modelo del problema y comportamiento dinámico de las variables de estado

# Cargar el paquete deSolve para utilizar funciones de resolución de ecuaciones diferenciales
library("deSolve")
## Warning: package 'deSolve' was built under R version 4.3.3
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.2
# Establecer las condiciones iniciales de la variable de estado.
inicial.conditions <- c(incidencia_crimenodio_urbana = 10.0,
                        incidencia_crimenodio_suburbana = 5.0,
                        incidencia_crimenodio_rural = 20.0)

# Definir el vector de tiempos para la simulación
times <- seq(0, 120, by = 1)

# Definir la función del modelo.
model_crim <- function(t, state, parameters) {
  with(as.list(c(state, parameters)), {
    # Variables Auxiliares o endógenas valores
    total_crimenes_odio <- incidencia_crimenodio_urbana + incidencia_crimenodio_suburbana + incidencia_crimenodio_rural 

    # Variables de flujo
    dincidencia_crimenodio_urbana <- eficiencia_reduccion_crimen_urbana * total_crimenes_odio
    dincidencia_crimenodio_suburbana <- eficiencia_reduccion_crimen_suburbana * total_crimenes_odio
    dincidencia_crimenodio_rural <- eficiencia_reduccion_crimen_rural * total_crimenes_odio

    # Devuelve los resultados de las derivadas
    return(list(c(dincidencia_crimenodio_urbana, dincidencia_crimenodio_suburbana, dincidencia_crimenodio_rural)))
  })
}

# Definir los parámetros del modelo.
parameters <- c(eficiencia_reduccion_crimen_urbana = 0.05,
                 eficiencia_reduccion_crimen_suburbana = 0.07,
                 eficiencia_reduccion_crimen_rural = 0.10)

# Seleccionar el método de integración a utilizar en la simulación.
intg.method <- "rk4"

# Realizar la simulación utilizando la función 'ode' del paquete deSolve
out <- ode(
  y = inicial.conditions,  # condiciones iniciales
  times = times, # tiempo de simulación
  func = model_crim, # función del modelo
  parms = parameters,
  method = intg.method
)

# Convertir la salida a un dataframe
out <- as.data.frame(out)

# Graficar los resultados de la simulación
ggplot(out, aes(x = time)) +
  geom_line(aes(y = incidencia_crimenodio_urbana, color = "Urbana")) +
  geom_line(aes(y = incidencia_crimenodio_suburbana, color = "Suburbana")) +
  geom_line(aes(y = incidencia_crimenodio_rural, color = "Rural")) +
  ggtitle("Incidencia de crimen de odio") +
  xlab("Tiempo") +
  ylab("Incidencia") +
  scale_color_manual(values = c("Urbana" = "blue", "Suburbana" = "green", "Rural" = "red")) +
  theme_minimal()

Dentro de esta gráfica se puede observar que para las tres areas la tasa de crimenes seguira aumentando pero no de la misma velocidad.