### Predicting bus arrival times using estimated road network state

Tom Elliott

## Part 1: Motivation

What's wrong with the current system?

Currently, it works like this …

- Bus arrives at a stop, delay is recorded
- ETA = scheduled arrival time + delay
- Repeat for all stops until it reaches yours …

stop3
stop4
ETAs for a person waiting at the 7:40 stop:

- Initial expected waiting time: 10 minutes
- Actual waiting time: 16 minutes

## Part 2: Proposed solution

- Develop improved model to estimate vehicle speeds
- Update network state as buses travel along roads
- Use network state to estimate arrival times

#### 1. Bus model: particle filter

- Flexibility: easily handles asymmetry, multimodality
- Intuitive likelihood (distance between two points)
- Transition function can be as complicated as necessary

#### 1. Bus model: particle filter

- Imaginary fleet, clustered around real bus
- Let them travel independently until new observation recieved
- "Bootstrap resample" based on proximity to real bus
- Travel …
- Resample …
- Travel …
- Resample …
- Travel …

#### 1. Bus model: particle filter

All we need to do is …

- Model all buses in Auckland (1000+ at peak hour)
- In real-time, target is 30 seconds or faster

- Goodbye R, hello C++

#### 2. Network Model

- Road segment = stretch of road between two intersections
- Independent of route
- State = [travel time, variance]
- Data = estimated travel time of buses along segment

#### 2. Network Model

- Model all buses in real time
- Update network state as buses traverse segments

#### 3: Arrival time prediction

- Sum travel time of road segments along the route
- For each particle to obtain a distribution
- Include additional uncertainty for traffic lights, intermediate stops
- Prediction intervals to account for uncertainty

(e.g., 10-16 minutes)