Risk Forecasting & Predictive AnalyticsHunchLab Research Update
Robert [email protected]
@rcheetham
Michael [email protected]
Philadelphia Police Department
Crime Analysis Unit founded in 1997
Desktop ArcGIS– Analysis to support investigations
– Support COMPSTAT process
Web-based crime analysis
3 staff
Who is Azavea?
25 people- software engineers- spatial analysts- project managers
Spatial Analysis
Web & Mobile
High Performance Geoprocessing
User Experience
R&D
10% Research ProgramPro Bono ProgramTime-to-Give-Back ProgramEmployee-focused Culture Projects with Social Value
web-based crime analysis, early warning, and risk forecasting
Crime Analysis– Mapping (spatial / temporal densities)
– Trending
– Intelligence Dashboard
Early Warning– Statistical & Threshold-based Hunches (data mining)
– Alerting
Risk Forecasting– Near Repeat Pattern
– Load Forecasting
Dashboard
Space + Time
Space + Time
Animation
Early Warning & Notification
Risk Forecasting
Crime Analysis– Mapping (spatial / temporal densities)
– Trending
– Intelligence Dashboard
Early Warning– Statistical & Threshold-based Hunches (data mining)
– Alerting
Risk Forecasting– Near Repeat Pattern
– Cyclical Forecasting
Near Repeat Pattern
Contagious Crime? Near repeat pattern analysis
“If one burglary occurs, how does the risk change nearby?”
What Do We Mean By Near Repeat? Repeat victimization
– Incident at the same location at a later time
Near repeat victimization– Incident at a nearby location at a later time
Incident A (place, time) --> Incident B (place, time)
Near Repeat Pattern Analysis The goal:
– Quantify short term risk due to near-repeat victimization “If one burglary occurs, how does the risk of burglary for the
neighbors change?”
What we know:– Incident A (place, time) --> Incident B (place, time)
Distance between A and B Timeframe between A and B
What we need to know:– What distances/timeframes are not simply random?
Near Repeat Pattern Analysis The process
– Observe the pattern in historic data– Simulate the pattern in randomized
historic data– Compare the observed pattern to the
simulated patterns– Apply the non-random pattern to new
incidents
Near Repeat Pattern Analysis
An example– 180 days of burglaries – Philadelphia Division 6
Near Repeat Pattern Analysis
An example– 180 days of burglaries – Philadelphia Division 6
Near Repeat Pattern Analysis
An example– 180 days of burglaries – Philadelphia Division 6
Near Repeat Pattern Analysis
Online Version
Near Repeat Pattern AnalysisHow can you test your own data?
– Near Repeat Calculator http://www.temple.edu/cj/misc/nr/
Papers– Near-Repeat Patterns in Philadelphia
Shootings (2008) One city block & two weeks after one
shooting– 33% increase in likelihood of a second
event
Jerry Ratcliffe
Temple University
Cyclical Patterns
Improving CompStat– “Given the time of year, day of week, time of
day and general trend, what counts of crimes should I expect?”
What Do We Mean By Load Forecasting?– Generating aggregate crime counts for a
future timeframe using cyclical time series analysis
Measure cyclical patterns
Identify non-cyclical trend
Forecast expected count
+
bit.ly/gorrcrimeforecastingpaper
Cyclical Forecasting Measure cyclical patterns
Take historic incidents (for example: last five years) Generate multiplicative seasonal indices
– For each time cycle:» time of year» day of week» time of day
– Count incidents within each time unit (for example: Monday)– Calculate average per time unit if incidents were evenly
distributed– Divide counts within each time unit by the calculated average
to generate multiplicative indices» Index ~ 1 means at the average» Index > 1 means above average» Index < 1 means below average
Cyclical Forecasting
Cyclical Forecasting
Cyclical Forecasting
Cyclical Forecasting
Cyclical Forecasting Identify non-cyclical trend
Take recent daily counts (for example: last year daily counts)
Remove cyclical trends by dividing by indices
Run a trending function on the new counts– Simple average
» Last X Days– Smoothing function
» Exponential smoothing» Holt’s linear exponential smoothing
Cyclical Forecasting Forecast expected count
Project trend into future timeframe– Always flat
» Simple average» Exponential smoothing
– Linear trend» Holt’s linear exponential smoothing
Multiple by seasonal indices to reseasonalize the data
Cyclical Forecasting
Measure cyclical patterns
Identify non-cyclical trend
Forecast expected count
+
bit.ly/gorrcrimeforecastingpaper
Cyclical Forecasting
Cyclical Forecasting
Cyclical Forecasting
Cyclical Forecasting
How Do We Know It Works? Testing
Generated forecasting packages (examples)– Commonly Used
» Average of last 30 days» Average of last 365 days» Last year’s count for the same time period
– Advanced Combinations» Different cyclical indices (example: day of year vs. month of year)» Different levels of geographic aggregation for indices» Different trending functions
Scoring methodologies (examples)– Mean absolute percent error (with some enhancements)– Mean percent error– Mean squared error
Run thousands of forecasts through testing framework Choose the right technique in the right situation
Ongoing R&D
Research Topics Analysis
– Real-time Functionality Consume real-time data streams Conduct ongoing, automated analysis Push real-time alerts
Risk Forecasting– Load forecasting enhancements
Machine learning-based model selection Weather and special events
– Combining short and long term risk forecasts NIJ project with Jerry Ratcliffe & Ralph Taylor Neighborhood composition modeling using ACS data
– Risk Terrain Modeling
Research Topics
Current Implementation Funding– Local Byrne Memorial JAG solicitation due July 21,
2011 Research Funding
Acknowledgements
National Science Foundation – SBIR Program– Grant #IIP-0637589– Grant #IIP-0750507
Philadelphia Police Department Jerry Ratcliffe, Temple University Tony Smith, University of Pennsylvania Peirce County, WA
Upcoming Conferences
Crime Mapping Research Conference, October IACP, October
Many Thanks!© Photo used with permission from Alphafish, via Flickr.com
QuestionsMichael [email protected]
@rcheetham