Proyecto final ánalisis númerico:ecuaciones Lokta-Volterra

Ávila Jiménez,Díaz Zamarripa, Gómez Manrique, Hernández Pérez, López Rodríguez

17 de junio del 2021

Introducción al modelo presa-depredador de Lotka-Volterra.

Suponemos que dos especies de animales interactúan dentro del mismo ecosistema y que la primera especie se alimenta sólo de vegetación y la segunda se alimenta sólo de la primera especie. En otras palabras, una especie es un depredador y la otra es una presa . Por ejemplo, imaginemos que los depredadores son zorros y las presas conejos .

Sea x(t) y y(t) las poblaciones de zorros y conejos, respectivamente, en el tiempo t. Si no hubiera conejos, entonces se podría esperar que los zorros , sin un suministro adecuado de alimento, disminuyeran en número de acuerdo con:

  • \(\frac{dx}{dt}=-ax\), a>0 Tasa de mortalidad de los depredadores (1)

Sin embargo cuando hay conejos en el medio, parece razonable que el número de encuentros o interacciones entre estas dos especies por unidad de tiempo sea conjuntamente proporcional a sus poblaciones x y y, es decir, proporcional al producto xy. Así,cuando están presentes los conejos hay un suministro de alimento y, en consecuencia, los zorros se agregan al sistema en una proporción bxy, b>0, siendo los depredadores beneficiados por encuentros con presas . Sumando esta última proporción a (1) se obtiene un modelo para la población de zorros:.

  • \(\frac{dx}{dt}=-ax+bxy\), (2)

Por otro lado, si no hay zorros, entonces la población de conejos , con una suposición adicional de suministro ilimitado de alimento, crecería con una razón proporcional al número de conejos presentes en el tiempo t:

  • \(\frac{dy}{dt}=dy\), d>0 (3)

Pero cuando están presentes los zorros, un modelo para la población de conejos es la ecuación (3) disminuida por cxy, c>0; es decir, la razón a la que los conejos son comidos durante sus encuentros con los zorros:

  • \(\frac{dy}{dt}=dy-cxy\) (4)

Las ecuaciones (2) y (4) constituyen un sistema de ecuaciones diferenciales no lineales.

  • \(\frac{dx}{dt}=-ax+bxy\) depredador

  • \(\frac{dy}{dt}=dy-cxy\) presa

donde a, b, c y d son constantes positivas. Este famoso sistema de ecuaciones se conoce como modelo presa-depredador de Lotka-Volterra.

Modelo Lokta- Volterra aplicado a los volúmenes de depósito y prestamos

Los bancos utilizan los depósitos realizados por los clientes como fondos para administrar préstamos y se benefician de la diferencia entre los tipos de interés pactados sobre los depósitos y los préstamos. Por esta razón, es importante comprender la interacción entre depósito y volumen de préstamos.

Sumarti, Nurfitriyana y Nurwenda (2014) propusieron un sistema dinámico para depósitos y volúmenes de préstamos en un banco usando las ecuaciones presa-depredador de Lotka-Volterra.. Argumentaron que, como la existencia de depredadores depende de la existencia de presas, la existencia de préstamos depende de la existencia de depósitos ya que el volumen de préstamos del banco se define como una parte de su volumen de depósitos.

Modelo simple

En primer lugar, derivamos un sistema dinámico de volúmenes de préstamos (L) y depósitos (D) basado en el modelo simple de Lotka-Volterra, de la siguiente manera:

  • \(\frac{dD}{dt}= \alpha-pDL\)

  • \(\frac{dL}{dt}= pDL-\beta L\)

  • Aquí α es la tasa de interés del depósitos (D) donde el aumento de su valor hará que el volumen del depósito aumente.

  • β es la tasa de interés del préstamos (L) donde el aumento de su valor hará que el volumen del préstamo disminuya.

  • Por otro lado, un aumento de pDL, que representa la mezcla entre los volúmenes de depósitos y de préstamos, provocará una disminución del crecimiento del volumen de depósitos, y un aumento del crecimiento del volumen de préstamos a lo largo del tiempo.

Modelo resuelto

  # x0, y0 
  init <- c(x = 4, y = 4)
  # parametros
  pars <- c(alpha = 0.16, beta = 0.08, delta = 4.5, gamma = 0.9)
  # time
  time <- seq(0, 50, by = 1)
  
modelo_lv <- function(pars, time = seq(0, 50, by = 1)) {
  # sistema
  ecuaciones <- function(t, init, pars) {
    with(as.list(c(init, pars)), {
      d_x <- - alpha * x + beta * x * y 
      d_y <- delta * y - gamma * x * y
      return(list(c(x = d_x, y = d_y)))
    })
  }
  # resolver
  rk4(y = init, times = time, func = ecuaciones, parms = pars)
}
resultados_lv <- modelo_lv(pars = pars, time = seq(0, 50, by = 1))

graf_rk4 <- ggplot(data.frame(resultados_lv))+
  geom_vline(xintercept = 0, linetype="dashed")+
  geom_hline(yintercept = 0, linetype="dashed")+
  geom_line(aes(x=data.frame(resultados_lv)$time, y=x), color="red", size=0.5)+
  geom_line(aes(x=data.frame(resultados_lv)$time, y=y), color="blue", size=0.5)+
  theme_bw()

ggplotly(graf_rk4)
data.frame(resultados_lv)
##    time        x         y
## 1     0 4.000000 4.0000000
## 2     1 5.285972 6.0255712
## 3     2 6.379682 2.5009779
## 4     3 6.103193 0.8100858
## 5     4 5.435864 0.4037998
## 6     5 4.770338 0.3698589
## 7     6 4.214669 0.5896543
## 8     7 3.866607 1.4250335
## 9     8 4.025287 3.8963518
## 10    9 5.249178 5.8739401
## 11   10 6.320683 2.5719950
## 12   11 6.080950 0.8545313
## 13   12 5.430997 0.4308959
## 14   13 4.775575 0.3945395
## 15   14 4.228856 0.6236081
## 16   15 3.893439 1.4805668
## 17   16 4.070766 3.9206995
## 18   17 5.269733 5.6933030
## 19   18 6.282241 2.5247125
## 20   19 6.041876 0.8651408
## 21   20 5.403112 0.4494781
## 22   21 4.759183 0.4198566
## 23   22 4.225776 0.6696763
## 24   23 3.912437 1.5805381
## 25   24 4.133181 4.0442796
## 26   25 5.333569 5.4889390
## 27   26 6.259654 2.3915191
## 28   27 5.990710 0.8476993
## 29   28 5.357471 0.4601478
## 30   29 4.725723 0.4455108
## 31   30 4.209175 0.7271541
## 32   31 3.926446 1.7212496
## 33   32 4.212125 4.2392872
## 34   33 5.426749 5.2500108
## 35   34 6.244460 2.2079121
## 36   35 5.930787 0.8117117
## 37   36 5.299243 0.4650111
## 38   37 4.680126 0.4719450
## 39   38 4.183355 0.7960112
## 40   39 3.939079 1.8998912
## 41   40 4.307976 4.4758837
## 42   41 5.536134 4.9656858
## 43   42 6.228010 2.0048576
## 44   43 5.864143 0.7674200
## 45   44 5.232878 0.4672370
## 46   45 4.627091 0.5006336
## 47   46 4.152827 0.8775296
## 48   47 3.954669 2.1147716
## 49   48 4.421573 4.7213670
## 50   49 5.650598 4.6301951
## 51   50 6.203105 1.8036874
  # D0, L0 
  init1 <- c(D = 0.04, L = 0.01)
  # parametros
  pars1 <- c(alpha1 = 0.07, beta1 = 0.12, p1 = 2, p2= 4)
  # time
  time <- seq(0, 250, by = 1)
  
modelo_lv2 <- function(pars1, time = seq(0, 250, by = 1)) {
  # sistema
  ecuaciones2 <- function(t, init1, pars1) {
    with(as.list(c(init1, pars1)), {
      d_D <- alpha1 * D - p1 * D * L 
      d_L <- p2 * D * L - beta1 * L
      return(list(c(D = d_D, L = d_L)))
    })
  }
  # resolver
  rk4(y = init1, times = time, func = ecuaciones2, parms = pars1)
}
resultados_lv2 <- modelo_lv2(pars1 = pars1, time = seq(0, 250, by = 1))

graf_rk4_2 <- ggplot(data.frame(resultados_lv2))+
  geom_vline(xintercept = 0, linetype="dashed")+
  geom_hline(yintercept = 0, linetype="dashed")+
  geom_line(aes(x=data.frame(resultados_lv2)$time, y=D), color="red", size=0.5)+
  geom_line(aes(x=data.frame(resultados_lv2)$time, y=L), color="blue", size=0.5)+
  #geom_line(aes(x=Tiempo, y=y_3), color="darkgreen", size=0.5)+
  #geom_line(aes(x=x_1, y=x_1), color="black", size=1)+
  #coord_fixed(ratio = 1)+ # misma escala en los ejes
  theme_bw()

ggplotly(graf_rk4_2)
data.frame(resultados_lv2)
##     time          D           L
## 1      0 0.04000000 0.010000000
## 2      1 0.04203263 0.010450284
## 3      2 0.04412403 0.011011331
## 4      3 0.04626174 0.011701107
## 5      4 0.04842905 0.012541693
## 6      5 0.05060398 0.013560029
## 7      6 0.05275822 0.014788698
## 8      7 0.05485588 0.016266653
## 9      8 0.05685229 0.018039714
## 10     9 0.05869291 0.020160557
## 11    10 0.06031275 0.022687742
## 12    11 0.06163661 0.025683158
## 13    12 0.06258080 0.029207079
## 14    13 0.06305713 0.033309987
## 15    14 0.06297971 0.038020615
## 16    15 0.06227487 0.043330486
## 17    16 0.06089378 0.049176865
## 18    17 0.05882567 0.055428162
## 19    18 0.05610833 0.061877720
## 20    19 0.05283196 0.068252003
## 21    20 0.04913325 0.074236168
## 22    21 0.04517949 0.079513972
## 23    22 0.04114633 0.083812555
## 24    23 0.03719509 0.086939697
## 25    24 0.03345567 0.088803705
## 26    25 0.03001812 0.089412885
## 27    26 0.02693287 0.088858466
## 28    27 0.02421678 0.087288714
## 29    28 0.02186203 0.084881957
## 30    29 0.01984501 0.081823788
## 31    30 0.01813371 0.078290733
## 32    31 0.01669319 0.074440381
## 33    32 0.01548904 0.070406786
## 34    33 0.01448947 0.066299567
## 35    34 0.01366620 0.062205299
## 36    35 0.01299478 0.058190095
## 37    36 0.01245446 0.054302648
## 38    37 0.01202789 0.050577274
## 39    38 0.01170067 0.047036715
## 40    39 0.01146099 0.043694592
## 41    40 0.01129919 0.040557477
## 42    41 0.01120748 0.037626600
## 43    42 0.01117958 0.034899239
## 44    43 0.01121052 0.032369814
## 45    44 0.01129638 0.030030765
## 46    45 0.01143419 0.027873227
## 47    46 0.01162171 0.025887551
## 48    47 0.01185737 0.024063701
## 49    48 0.01214016 0.022391558
## 50    49 0.01246954 0.020861137
## 51    50 0.01284541 0.019462750
## 52    51 0.01326802 0.018187119
## 53    52 0.01373795 0.017025456
## 54    53 0.01425609 0.015969513
## 55    54 0.01482357 0.015011614
## 56    55 0.01544178 0.014144668
## 57    56 0.01611231 0.013362178
## 58    57 0.01683695 0.012658240
## 59    58 0.01761766 0.012027535
## 60    59 0.01845656 0.011465325
## 61    60 0.01935591 0.010967449
## 62    61 0.02031805 0.010530316
## 63    62 0.02134544 0.010150908
## 64    63 0.02244054 0.009826788
## 65    64 0.02360586 0.009556114
## 66    65 0.02484384 0.009337663
## 67    66 0.02615682 0.009170869
## 68    67 0.02754696 0.009055873
## 69    68 0.02901612 0.008993599
## 70    69 0.03056579 0.008985839
## 71    70 0.03219689 0.009035381
## 72    71 0.03390963 0.009146159
## 73    72 0.03570322 0.009323454
## 74    73 0.03757565 0.009574135
## 75    74 0.03952327 0.009906973
## 76    75 0.04154040 0.010333017
## 77    76 0.04361872 0.010866057
## 78    77 0.04574669 0.011523179
## 79    78 0.04790870 0.012325412
## 80    79 0.05008413 0.013298462
## 81    80 0.05224629 0.014473492
## 82    81 0.05436121 0.015887873
## 83    82 0.05638643 0.017585757
## 84    83 0.05826986 0.019618223
## 85    84 0.05994902 0.022042581
## 86    85 0.06135107 0.024920272
## 87    86 0.06239408 0.028312565
## 88    87 0.06299044 0.032273229
## 89    88 0.06305292 0.036837495
## 90    89 0.06250385 0.042007335
## 91    90 0.06128724 0.047734508
## 92    91 0.05938208 0.053904895
## 93    92 0.05681387 0.060329685
## 94    93 0.05366040 0.066749675
## 95    94 0.05004836 0.072856702
## 96    95 0.04613958 0.078330761
## 97    96 0.04210985 0.082884734
## 98    97 0.03812579 0.086304526
## 99    98 0.03432591 0.088473683
## 100   99 0.03081010 0.089377624
## 101  100 0.02763786 0.089089895
## 102  101 0.02483335 0.087747634
## 103  102 0.02239381 0.085524266
## 104  103 0.02029865 0.082605388
## 105  104 0.01851732 0.079170824
## 106  105 0.01701519 0.075383288
## 107  106 0.01575748 0.071382661
## 108  107 0.01471166 0.067284350
## 109  108 0.01384856 0.063180240
## 110  109 0.01314281 0.059141073
## 111  110 0.01257282 0.055219430
## 112  111 0.01212044 0.051452800
## 113  112 0.01177061 0.047866459
## 114  113 0.01151093 0.044476006
## 115  114 0.01133126 0.041289534
## 116  115 0.01122340 0.038309413
## 117  116 0.01118073 0.035533756
## 118  117 0.01119797 0.032957581
## 119  118 0.01127100 0.030573734
## 120  119 0.01139660 0.028373607
## 121  120 0.01157239 0.026347700
## 122  121 0.01179664 0.024486040
## 123  122 0.01206822 0.022778503
## 124  123 0.01238647 0.021215056
## 125  124 0.01275120 0.019785928
## 126  125 0.01316258 0.018481735
## 127  126 0.01362111 0.017293566
## 128  127 0.01412762 0.016213040
## 129  128 0.01468318 0.015232341
## 130  129 0.01528911 0.014344240
## 131  130 0.01594696 0.013542095
## 132  131 0.01665847 0.012819862
## 133  132 0.01742558 0.012172082
## 134  133 0.01825035 0.011593878
## 135  134 0.01913502 0.011080952
## 136  135 0.02008191 0.010629577
## 137  136 0.02109345 0.010236596
## 138  137 0.02217212 0.009899434
## 139  138 0.02332041 0.009616103
## 140  139 0.02454079 0.009385229
## 141  140 0.02583561 0.009206085
## 142  141 0.02720709 0.009078638
## 143  142 0.02865719 0.009003616
## 144  143 0.03018748 0.008982594
## 145  144 0.03179904 0.009018109
## 146  145 0.03349227 0.009113804
## 147  146 0.03526665 0.009274616
## 148  147 0.03712047 0.009507010
## 149  148 0.03905053 0.009819270
## 150  149 0.04105166 0.010221861
## 151  150 0.04311626 0.010727870
## 152  151 0.04523360 0.011353537
## 153  152 0.04738913 0.012118886
## 154  153 0.04956353 0.013048432
## 155  154 0.05173167 0.014171960
## 156  155 0.05386142 0.015525294
## 157  156 0.05591248 0.017150927
## 158  157 0.05783514 0.019098305
## 159  158 0.05956945 0.021423373
## 160  159 0.06104498 0.024186877
## 161  160 0.06218177 0.027450668
## 162  161 0.06289312 0.031271169
## 163  162 0.06309100 0.035689261
## 164  163 0.06269443 0.040716375
## 165  164 0.06164105 0.046317845
## 166  165 0.05990028 0.052396485
## 167  166 0.05748567 0.058781559
## 168  167 0.05446244 0.065229432
## 169  168 0.05094643 0.071440782
## 170  169 0.04709280 0.077094465
## 171  170 0.04307615 0.081891456
## 172  171 0.03906724 0.085597218
## 173  172 0.03521264 0.088070766
## 174  173 0.03162194 0.089273805
## 175  174 0.02836407 0.089260756
## 176  175 0.02547093 0.088156039
## 177  176 0.02294537 0.086126779
## 178  177 0.02077031 0.083357549
## 179  178 0.01891694 0.080030826
## 180  179 0.01735119 0.076314127
## 181  180 0.01603805 0.072353075
## 182  181 0.01494430 0.068268924
## 183  182 0.01403992 0.064159011
## 184  183 0.01329862 0.060098880
## 185  184 0.01269791 0.056145174
## 186  185 0.01221886 0.052338723
## 187  186 0.01184571 0.048707482
## 188  187 0.01156545 0.045269155
## 189  188 0.01136744 0.042033453
## 190  189 0.01124305 0.039003973
## 191  190 0.01118530 0.036179730
## 192  191 0.01118862 0.033556390
## 193  192 0.01124862 0.031127247
## 194  193 0.01136188 0.028883984
## 195  194 0.01152584 0.026817273
## 196  195 0.01173862 0.024917219
## 197  196 0.01199894 0.023173712
## 198  197 0.01230606 0.021576678
## 199  198 0.01265966 0.020116271
## 200  199 0.01305984 0.018783004
## 201  200 0.01350702 0.017567847
## 202  201 0.01400196 0.016462290
## 203  202 0.01454566 0.015458378
## 204  203 0.01513940 0.014548739
## 205  204 0.01578467 0.013726593
## 206  205 0.01648318 0.012985752
## 207  206 0.01723679 0.012320616
## 208  207 0.01804756 0.011726172
## 209  208 0.01891768 0.011197983
## 210  209 0.01984947 0.010732183
## 211  210 0.02084531 0.010325482
## 212  211 0.02190769 0.009975163
## 213  212 0.02303909 0.009679095
## 214  213 0.02424199 0.009435756
## 215  214 0.02551878 0.009244261
## 216  215 0.02687172 0.009104404
## 217  216 0.02830284 0.009016724
## 218  217 0.02981382 0.008982584
## 219  218 0.03140587 0.009004278
## 220  219 0.03307956 0.009085171
## 221  220 0.03483461 0.009229870
## 222  221 0.03666965 0.009444450
## 223  222 0.03858185 0.009736729
## 224  223 0.04056657 0.010116613
## 225  224 0.04261682 0.010596517
## 226  225 0.04472270 0.011191874
## 227  226 0.04687066 0.011921738
## 228  227 0.04904260 0.012809481
## 229  228 0.05121487 0.013883556
## 230  229 0.05335716 0.015178273
## 231  230 0.05543121 0.016734489
## 232  231 0.05738967 0.018599988
## 233  232 0.05917508 0.020829259
## 234  233 0.06071950 0.023482147
## 235  234 0.06194508 0.026620710
## 236  235 0.06276635 0.030303450
## 237  236 0.06309494 0.034576093
## 238  237 0.06284725 0.039458569
## 239  238 0.06195529 0.044928817
## 240  239 0.06037965 0.050905926
## 241  240 0.05812239 0.057237247
## 242  241 0.05523609 0.063695697
## 243  242 0.05182510 0.069992769
## 244  243 0.04803674 0.075808752
## 245  244 0.04404303 0.080835195
## 246  245 0.04001774 0.084818819
## 247  246 0.03611470 0.087594621
## 248  247 0.03245304 0.089099993
## 249  248 0.02911132 0.089368888
## 250  249 0.02612967 0.088511412
## 251  250 0.02351709 0.086686929

Conclusiones

La existencia del préstamo depende de la existencia del depósito porque el banco asignará el volumen del préstamo de una parte del volumen del depósito.

Este modelo de depredador-presa aplicado al balance general de los bancos solo sirve como una herramienta analitica, pues las tasas de interes que se manejan en un banco son muy diversas y el modelo no las contempla a todas, el modelo no sirve para predecir el volumen de depositos o de prestamos, pero si para entender su comportamiento.

Referencias

Bastos De Almeida, M. (2017). The Lotka-Volterra equations in finance and economics. Universidad de Lisboa, Portugal.