Resumen del Caso 6.7 de Pruyt

El caso explora el argumento de Levitt y Dubner (2006) en Freakonomics, donde se sugiere que la reducción en la tasa de criminalidad podría estar vinculada con la legalización del aborto y/o medidas efectivas de planificación familiar. Se modela una cadena de envejecimiento para analizar el impacto de una disminución en la tasa de nacimientos dentro de familias con múltiples problemas, enfocándose en la dinámica poblacional y su relación con el crimen.

Diagrama Causal

A continuación, se presenta el diagrama causal del modelo:

Diagrama de Flujo

El siguiente diagrama de flujo ilustra la evolución de la población a lo largo del tiempo:

Código del Modelo en R

El siguiente código implementa la simulación del modelo:

library(deSolve)
InitialConditions <- c(kids= 1000000,
                       youngs= 1000000,
                       adults= 3000000,
                       retirees= 750000
  )

times <- seq(0,#initial time
             50,#end time
             1) #time step

case_6_7 <- function(t, state, parameters) {
  with(as.list(c(state,parameters)), {
    #Endogenous auxiliary variables
    criminal.kids= criminal.kids.percentage*kids
    criminal.youngs= criminal.youngs.percentage*youngs
    criminal.adults= criminal.adults.percentage*adults
    criminal.retirees= criminal.retirees.percentage*retirees
    crimes = crimes.others + (crimes.per.kid*criminal.kids) + (crimes.per.young*criminal.youngs) + (crimes.per.adult*criminal.adults) + (crimes.per.retiree*criminal.retirees)
      
    #Flow variables
    birth= (fertility.youngs*youngs) + (fertility.adults*adults)
    kids.to.youngs= kids/time.kid
    youngs.to.adults= youngs/time.young
    adults.to.retirees= adults/time.adult
    death= retirees/time.retiree
    
      
    #State (stock) variables (d)
    d.kids= birth - kids.to.youngs
    d.youngs= kids.to.youngs - youngs.to.adults
    d.adults= youngs.to.adults - adults.to.retirees
    d.retirees= adults.to.retirees - death
    
    list(c(d.kids,d.youngs,d.adults,d.retirees))
  })
}

###exogenas
parameters<-c(time.kid= 12,
              time.young= 12,
              time.adult= 40,
              time.retiree= 15,
              fertility.youngs= 0.3/100,
              fertility.adults= 3/100,
              criminal.kids.percentage= 5/100,
              criminal.youngs.percentage= 50/100,
              criminal.adults.percentage= 60/100,
              criminal.retirees.percentage= 10/100,
              crimes.per.kid= 2,
              crimes.per.young= 4,
              crimes.per.adult= 12,
              crimes.per.retiree= 4,
              crimes.others= 6000000
  )


intg.method<-c("rk4")

out <- ode(y = InitialConditions,
           times = times,
           func = case_6_7,
           parms = parameters,
           method =intg.method )

plot(out,
     col=c("blue"))

Explicación del Modelo

Este modelo simula la evolución de la población dentro de familias con múltiples problemas y su relación con la criminalidad. Se estructura como una cadena de envejecimiento con flujos entre las categorías de niños, jóvenes, adultos y retirados. La tasa de natalidad se define en función de la cantidad de adultos y jóvenes, mientras que las transiciones entre grupos etarios dependen del tiempo promedio en cada etapa.

Los crímenes se modelan como la suma de delitos cometidos por personas dentro de estas familias, con tasas específicas de criminalidad según la edad. Se incorpora además un valor fijo para los crímenes cometidos por personas fuera de estas familias.


Referencia Bibliográfica

Pruyt, E. (2013). Small System Dynamics Models for Big Issues. TU Delft Library. ISBN: 978-94-6186-195-5.