
Lotka-Volterra predator-prey on yearly crime counts
Source:R/tps_statphysics.R
morie_tps_lotka_volterra_police_crime.RdTreats yearly category counts as the prey \(x(t)\) and a 3-year
rolling mean as a placeholder predator \(y(t)\) (TPS does not yet
expose a public mass-stop / use-of-force time series). Under the
classical Lotka-Volterra system,
$$\dot x = \alpha x - \beta x y, \quad \dot y = \delta x y - \gamma y,$$
the small-amplitude oscillation around the equilibrium has period
\(T = 2 \pi / \sqrt{\alpha \gamma}\). Growth rate \(\alpha\) is
estimated from log-differences of x; \(\gamma\) symmetrically
from y; the interaction rates \(\beta, \delta\) follow by
the equilibrium relations.
Usage
morie_tps_lotka_volterra_police_crime(
category = "Assault",
save_fig = TRUE,
fig_dir = NULL
)Value
A morie_rich_result with the four LV parameters, the
linearised cycle period, the year range, and a qualitative
interpretation.
References
D'Orsogna MR, Perc M (2015). Statistical physics of crime: A review. Physics of Life Reviews 12: sec. 3.4.
Examples
# \donttest{
rr <- morie_tps_lotka_volterra_police_crime("Assault",
save_fig = FALSE)
#> morie_tps: no local TPS cache for 'Assault'; using the bundled sample from rmoriedata. Fetch the full export with morie_tps_fetch_category().
print(rr$summary_lines)
#> $Method
#> [1] "LV predator-prey on yearly counts (D&P 2015 sec. 3.4)"
#>
#> $Years
#> [1] "2014-2026"
#>
#> $alpha
#> [1] 0.064
#>
#> $beta
#> [1] 0.00082
#>
#> $gamma
#> [1] 0.039
#>
#> $delta
#> [1] 5e-04
#>
#> $cycle_yr
#> [1] 126.3
#>
#> $Figure
#> [1] "(skipped)"
#>
# }