Skip to main content

A toolkit for simulating UK crime data.

Project description

Build Status Codacy Badge Codacy Badge PyPI version

Crime data simulating toolkit

This package was built over the course of an internship at Leeds Institute of Data Analytics to simulate realistic crime data (predominantly for West Yorkshire) to generate as an input into an agent-based model.

The toolkit exists in three main strategies for data simualtion:

  • a simple poisson sampler based on past data
  • a decision tree using a wide range of predictor variables
  • a microsimulation using transition probabilities

The data_manipulation folder contains notebooks highlighting how some data sources have been constructed.

Installation

This package is now available via PyPi.

pip install crime_sim_toolkit

For examples of useage checkout this example notebook.

Notes on datafiles

the census_2011_population_hh.csv file is derived from ONS data. Taking data from sheet LSOA and using row 12 as the header row and keeping only rows below with data.

To use

The expected input data for this package is from Police data UK. If it can't find data there it will default to test data.

import crime_sim_toolkit.poisson_sim as Poisson_sim


sim_week = Poisson_sim.Poisson_sim(
                               # specify the local authorities to look at (all five for West Yorkshire here)
                               LA_names=['Kirklees','Calderdale','Leeds','Bradford','Wakefield'],
                               # specify the path to the top level directory containing PoliceUK data
                               directory='/root/crime_sim_toolkit/sample_data',
                               # this can either be Day or Week
                               timeframe='Day',
                               # do you want to aggregate data to Police Force
                               aggregate=True)

# view the head of the generated pandas dataframe
sim_week.data.head()

datetime 	Crime_type 	LSOA_code 	Counts
0 	2017-01-01 	Anti-social behaviour 	West Yorkshire 	147
1 	2017-01-01 	Bicycle theft 	West Yorkshire 	7
2 	2017-01-01 	Burglary 	West Yorkshire 	65

This will create an object that contains the PoliceUK data formated into counts by crime type, by LSOA (or Police force) by timeframe. Forecasts can be generated using this transformed past data as shown in the example notebooks.

TODO

  • Build method for using Police data API
  • microsimulation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crime_sim_toolkit-1.4.0.tar.gz (6.4 MB view hashes)

Uploaded Source

Built Distribution

crime_sim_toolkit-1.4.0-py3-none-any.whl (6.5 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page