Cops, planes, and tires

Here we’ll analyze time series data extracted from ΓRF, collected from the following sources:

  1. P25 trunked radio, police dispatching
  2. ADS-B aircraft telemetry
  3. Air traffic control, departure channel
  4. Tire pressure sensors

Hits were binned at 5 seconds, with zeros filling empty bins.  Data from 30 days was analyzed for all time series except TPMS (tire pressure sensors), for which 10 days of data was used.  Each time series appeared quite different than the others, visually.  The ratio of zeros in the P25 series was about half, whereas for the ATC departure channel series it was about 97%, for example.  The statistical properties of the different series varied widely as well.

Analysis techniques included:

  • Lomb-Scargle for identifying periodic elements of irregularly sampled series
  • Seasonal decomposition (using statsmodels.tsa.seasonal.seasonal_decompose)
  • Autocorrelation

Despite the superficial differences in the time series, their underlying characteristics were remarkably (though unsurprisingly) similar.

  • The series trend (as extracted via decomposition) hovered around some value, with excursions away from the mean now and then, possibly due to the effects of weather on radio propagation.
Seasonal Decomposition, ADS-B
  • Lomb-Scargle showed a strong daily periodicity for each series, as expected.  Each hit in each series is the result of human activity (e.g. flying a plane), and humans are periodic creatures
ATC Departure Lomb-Scargle plot
  • The histograms were somewhat asymmetrical, which I think suggests seasonality in the time series
Police dispatch activity histogram.  x-axis is hit number
  • For the residual, or “noise” (non-systematic) component of the series, the hit distribution appears more normal:
Police dispatch activity decomposition residual component, histogram
Kernel density estimation, police dispatch activity decomposition residual component
  • The correlograms, or autocorrelation plots, indicated daily periodicity as well
TPMS Correlogram.  The lag is bins.  Binning was at 5 seconds, so 17,280 bins = 1 day
P25 Police Dispatch Correlogram.  Is there a spike every 7 days as well (maybe at weekends)?
Decomposition of P25 police dispatch

Take a look at the decomposition above.  We’ve considered this time series additive, so in this model the sum of the trend, seasonal, and residual components should yield the initial series (labeled “observed” above).  What can we do with this data?

  • The seasonality can give us an idea of how busy the system we’re interested in will be at any given point in time
  • The trend might help us understand whether what we’re monitoring is changing over the long-term.  Are the police being called out more this month than they were this month last year?  Are more planes in the air now than a year ago?

Maybe the residual data can help us understand how often, and how far, we might deviate from (trend + seasonal)?  But if the trend is influenced by weather, as I’ve already speculated, then that would have to be taken into account as well…

Disclaimer: I’m not an expert in time series analysis and may have made some bad assumptions!  Please leave any helpful corrections / suggestions in the comments.