Skip to content
jeffmaki edited this page Mar 6, 2013 · 7 revisions

Given CSV-formatted output from a previous run of data through the inference engine or raw output from on-bus hardware, the Vehicle Playback simulator will reprocess the data and display/compare the outputs. This is useful, for example, in cases where the system parameters are adjusted to improve behavior--a bus which was inferred poorly with the previous parameters can be tested with new parameters to see if it will perform better with appropriate algorithm changes. The integration tests do this in an automatic way to verify correctness of the system, but sometimes it's important to run a trace manually for verification or other purposes.

Things to keep in mind:

  • The inference algorithm is probabilistic. Results will not match exactly across different runs.
Areas where "transitions" occur will be most likely to differ between runs: phase transitions, bus going off the route, bus is at terminal(s).
  • Results should only be compared to those with the same bundle. You cannot compare results generated with the same or different code using different bundles. Bundles must match.
NOTE: Because data actually gets run through the inference engine code, the realtime input will be compared to the currently deployed bundle. If a different bundle was deployed when the data was collected, there is unlikely to be any formal inference (because schedules have changed).

Reading Historical Data

Colors

  1. blue - predicted in-progress
  2. grey with black dot - out-of-service
  3. grey with a red dot - an in-service DSC but not predicted to be in-service
Input Purpose
File The input file ("trace"). Usually previously gathered Inference Engine output
Run in real-time
  • If unchecked (default), the simulator will run trace records as quickly as possible.
  • If checked, they will be run in real time.
Pause on start Allows user to load the trace and then step instantly to a record other than the first one.
Shift start time to now Changes the dates in the trace to the current time, so you can run the trace against a bundle other than the one it was originally created for, or see the service on the map without changing any of the timestamps to reflect the traces actual dates.
Minimum record interval Records coming less than N seconds after the previous record will be pruned.
Bypass inference Bypass inference engine and pass vehile location records directly to the transit data federation. Assumes "actual" ground-truth info is set in the trace.
Fill Ground-truth Use the results of inference to fill in the ground-truth fields of the trace output.
Loop Loop and restart the trace upon completion.
Trace type Select the format of the input trace.
  • If from an Inference engine, leave as default (NycTestInferredLocationRecord).
  • If from a bus, select NycRawLocationRecord)

When "Submit" is pressed, the trace will be passed to this inference engine and re-run. The page will refresh and display the trace and the simulator's progress. Clicking "Map" will open a map with the new inference output displayed. Clicking "Records" will open a page displaying the output in tabular form.

Using the Records

This page displays the output of the inference engine with the trace. Each record is displayed with available data for:

  • Record #
  • Time
  • Vehicle Id
  • Reported Run
  • Lat/Lon
  • DSC
  • Inf. DSC
  • Actual Trip
  • Inf. Trip
  • Actual Sched. Time
  • Inf. Sched. Time
  • Actual Phase
  • Inf. Phase
  • Inf. Status
  • Actual Distance Along Block
  • Inf. Distance Along Block
The user also has the option to open the results in csv-formatting (using the "CSV Results Records" link).
Clone this wiki locally