Modelo de causalidad:
knitr::include_graphics("6.7causal.png")
Modelo de flujo:
knitr::include_graphics("6.7flujo.png")
Variables de Estado (Stock variables) Kids Youngsters Adults Retirees Crimes
Variables de flujo (flow variables) Births from kids to youngsters from youngsters to adults from adults to retirees deaths
Variables auxiliares endĂ³genas (endogenous auxiliary variables) criminal youngsters criminal kids criminal adults criminal retirees crimes by criminal kids crimes by criminal adults crimes by criminal youngsters crimes by criminal retiree
ParĂ¡metros de simulaciĂ³n (variables en la frontera del sistema o exogenous auxiliary variables) annual fertility rates of adults annual fertility rates of youngsters average time as kids average time as youngster average time as adults average time as retirees percentage of kids with criminal behavior percentage of adults with criminal behavior percentage of youngsters with criminal behavior percentage of retirees with criminal behavior criminal acts per criminal kid criminal acts per criminal adult criminal acts per criminal youngster criminal acts per criminal retiree crimes by others
library(deSolve)
## Warning: package 'deSolve' was built under R version 4.2.3
InitialConditions <- c(kids= 1000000,
youngsters= 1000000,
adults= 3000000,
retirees= 750000
)
times <- seq(0,#Inicio
50,#Tiempofinal
1) #Cadencia
model <- function(t, state, parameters) {
with(as.list(c(state,parameters)), {
#Variables endogenas
criminalkids= criminal_kids_percentage*kids
criminalyoungsters= criminal_youngsters_percentage*youngsters
criminaladults= criminal_adults_percentage*adults
criminalretirees= criminal_retirees_percentage*retirees
crimes = otherscrimes + (crimes_per_kids*criminalkids) + (crimes_per_youngsters*criminalyoungsters) + (crimes_per_adults*criminaladults) + (crimes_per_retirees*criminalretirees)
#Variables de flujo
birth= (fertility_youngsters*youngsters) + (fertility_adults*adults)
kids2youngsters= kids/time_kids
youngsters2adults= youngsters/time_youngsters
adults2retirees= adults/time_adults
death= retirees/time_retirees
#Variables de estado (d)
d.kids= birth - kids2youngsters
d.youngs= kids2youngsters - youngsters2adults
d.adults= youngsters2adults - adults2retirees
d.retirees= adults2retirees - death
list(c(d.kids,d.youngs,d.adults,d.retirees))
})
}
###Variables exĂ³genas
parameters<-c(time_kids= 12,
time_youngsters= 12,
time_adults= 40,
time_retirees= 15,
fertility_youngsters= 0.3/100,
fertility_adults= 3/100,
criminal_kids_percentage= 5/100,
criminal_youngsters_percentage= 50/100,
criminal_adults_percentage= 60/100,
criminal_retirees_percentage= 10/100,
crimes_per_kids= 2,
crimes_per_youngsters= 4,
crimes_per_adults= 12,
crimes_per_retirees= 4,
otherscrimes= 6000000
)
intg.method<-c("rk4")
out <- ode(y = InitialConditions,
times = times,
func = model,
parms = parameters,
method =intg.method )
plot(out,
col=c("darkblue"))