I·24 Driving Pattern Explorer

Study summary

Exploring driving patterns on large-scale dataset

This dashboard explores the identification of driving patterns on a large-scale dataset using the action-based framework developed by Yao et al. 2024. The framework labels car-following behavior into six action patterns, helping to reveal traffic characteristics across different traffic conditions.

01

What the method does

Every car-following interaction is split into phases, each labeled as one of six action patterns based on how the follower's speed, acceleration, and time headway to its leader change over time:

See Methodology for the full labeling process, thresholds, and a worked example.

02

Why these ten days

The dataset used is the I‑24 MOTION INCEPTION dataset. The study window is two consecutive work weeks on I‑24 near Nashville, TN: Week 1 (Mon Nov 21 – Fri Nov 25, 2022) contains the Thanksgiving holiday on Thursday; Week 2 (Mon Nov 28 – Fri Dec 2) is an ordinary work week. A coherent, mechanistically explicable holiday signature in Week 1 is itself a useful check: it shows the framework tracking a real, independently known change in traffic conditions rather than behaving unpredictably.

Open Results to select any single day, compare two days, or compare the two full weeks against each other.

Reproducible workflow

From trajectories to driving patterns

The method is carried over unchanged in its core logic from the earlier Lyft Level 5 study, with three corrections introduced since: speed restored as the top-priority signal, same-label phases always consolidated, and a headway-refined relabeling pass added.

Concept overview

How a driving pattern is assigned

Driving variables

For each car-following pair: the ego (follower) vehicle's speed and acceleration, and its time headway and speed difference to the leading vehicle (Yao et al. 2024).

Action trends

Between turning points, each variable is Increasing, Decreasing, or Steady.

Action phase

A segment over which every variable holds one trend at once.

Action pattern

Labeled Action phases that share a consistent driver response to traffic conditions, each carrying a duration.

The six action patterns: Speed_up, Slow_down, Catch_up, Fall_behind, Follow_behind, and Hold_speed — assigned by the rule-based cascade in steps 01–06 below.

01

Three tracked signals

Follower speed v, follower acceleration a, and time headway τ to the leader are each tracked throughout a car-following interaction.

02

Turning points

Local minima/maxima in each signal are candidate turning points. A candidate is discarded — its two neighboring intervals merged — when the interval to it is both short (≤ the merge window) and low amplitude, suppressing noise while preserving genuine trend changes.

03

State classification

Between consecutive retained turning points, each signal is Increasing, Decreasing, or steady (K), compared against its own threshold (see Data & setup for exact values).

04

Speed-first labeling

Priority order, highest first: speed (Speed_up / Slow_down) → time headway, only if speed is steady (Catch_up / Fall_behind) → acceleration, only if speed and headway are both steady (Follow_behind, else Hold_speed). Reading the trend of each signal over a phase — Increasing (I), Decreasing (D), or Steady (S) — against this order gives the pattern label directly:

SignalSpeed_upSlow_downCatch_upFall_behindFollow_behindHold_speed
Speed vIDSSSS
Time headway τDISS
Acceleration aI or DS

I = increasing, D = decreasing, S = steady, – = not decisive for this pattern (a higher-priority signal has already determined the label).

05

Consolidation

Adjacent same-label phases are merged, and any phase shorter than the minimum retained length is absorbed into a neighbor. A phase can therefore never transition into a same-label phase — the transition matrix diagonal is zero by construction.

06

Headway-refined relabeling

Within every Speed_up/Slow_down phase, an underlying label is computed with speed excluded from the cascade. If that underlying label is a single pure category across the entire phase, the phase is relabeled to it; if it's mixed, the phase keeps its speed-first label. The corrected sequence is re-merged. Both the primary and the refined sequence are retained as parallel analyses — see the Results refinement-audit panel.

07

Worked example

One follower, real I-24 MOTION trajectory

A real car-following segment from the study, with the four tracked variables plotted against elapsed time and background shading showing the resulting Action pattern for each phase. Pick a different follower vehicle to see how the same rule-based cascade plays out on a different trajectory:

Speed, acceleration, time headway, and speed difference to the leader for car-following segment CF000001925, with background shading showing the resulting action-pattern phases.

Background color marks each phase's assigned pattern: lavender = Fall_behind, sage green = Catch_up, salmon = Speed_up, pale yellow = Slow_down, tan = Follow_behind, light blue = Hold_speed (not every pattern occurs in every segment). Vertical boundaries are the retained turning points from step 02. Segments are drawn from the 2022‑11‑21 trajectory_examples output.

08

Statistics analysis

Once every phase in a day's traffic flow carries an Action pattern label, two complementary quantities characterize the population: how likely a driver is to move from one pattern to another, and how long each pattern tends to last.

Transition probabilities

Within a day's phase sequence (primary and headway-refined sequences are treated separately), let ψ(Pi→Pj) be the observed count of transitions from pattern Pi to pattern Pj. The transition probability is the row-normalized frequency:

Pr(Pn+1=Pj | Pn=Pi) = ψ(Pi→Pj)k=16 ψ(Pi→Pk) (1)

so each pattern's six outgoing probabilities sum to one. Because consolidation (step 05) forbids a phase from following another of the same label, the diagonal Pr(Pn+1=Pi | Pn=Pi) is zero by construction, for every pattern Pi.

Duration distributions

Rather than assuming a parametric form, each pattern's duration distribution is estimated non‑parametrically. For pattern Pi, let {t1, …, tz} be the durations, in seconds, of every retained phase labeled Pi on that day. A Kernel Density Estimate (KDE) with a Gaussian kernel gives a smooth density fi(t):

fi(t) = 1zh j=1z Kt − tjh (2)
K(μ) = 1√2π exp(−μ2 / 2) (3)

where z is the number of observed durations and h is the kernel bandwidth. Four moments of the fitted density then summarize pattern Pi's duration characteristics — mean μ (typical duration), variance σ2 (spread), skewness γ1 (asymmetry), and kurtosis γ2 (tail weight):

μ= t fi(t) dt
σ2= (t−μ)2 fi(t) dt
γ1= (t−μ)3 fi(t) dtσ3
γ2= (t−μ)4 fi(t) dtσ4− 3 (4)

This mirrors the distribution-based duration knowledge used to characterize Action patterns in Yao et al. 2024.

Day-to-day transition change (L1 distance)

To quantify how much one day's transition structure differs from another's, let A and B be the two days' 6×6 row-normalized transition matrices from Equation 1. The L1 (Manhattan) distance sums the absolute difference over every entry:

L1(A, B) = i=16j=16 |Aij − Bij| (5)

summed over all 36 ordered pattern pairs (i, j). L1(A, B) = 0 only when the two days share identical transition probabilities for every pattern pair; since each row of A and B sums to 1, the theoretical maximum is 12 (each of the six rows contributing at most 2 to the sum). A small L1 distance between two days is therefore direct, interpretable evidence that the underlying car-following behaviour was stable across them, while a large one flags a day whose drivers moved between patterns in a measurably different way.

Experimental setup

I‑24 MOTION dataset and processing pipeline

Every numeric threshold below is reused unchanged from the original Lyft5 study, except the segment-selection criteria that any new trajectory source necessarily requires.

01

Dataset

Vehicle trajectories reconstructed from a fixed camera network along a multi-mile section of Interstate 24 near Nashville, TN. Each record gives back-center longitudinal and lateral position (feet) and vehicle length; speed, acceleration, and lane are all derived during preprocessing. Data are released as one file per calendar day, each on the order of 105–106 trajectories and tens of gigabytes.

This study uses ten weekdays: 2022-11-21 through 2022-12-02, split into Week 1 (with the Thanksgiving holiday) and Week 2 (ordinary).

Raw file size and the daily camera-network collection window vary day to day, and matter for interpreting the Results tab: most days cover a 4‑hour window, but Friday 11/25 was collected over 11 hours — nearly three times as long — so its raw scale is not directly comparable to an ordinary day.

DayRaw data sizeCollection windowSegments extracted
Mon 11/2120.13 GB4 h75,474
Tue 11/2217.84 GB4 h63,409
Wed 11/2312.98 GB4 h22,992
Thu 11/24 (Thanksgiving)4.91 GB4 h1,421
Fri 11/2525.78 GB11 h15,810
Mon 11/2817.41 GB4 h65,149
Tue 11/2920.00 GB4 h79,510
Wed 11/3019.49 GB4 h83,242
Thu 12/0119.53 GB4 h82,935
Fri 12/0216.60 GB4 h60,446

"Segments extracted" counts an earlier candidate-segment pipeline stage, logged per day before the retention criteria in step 03 are applied — it is not the same count as the final retained car-following segments used elsewhere in this dashboard. Friday 11/25 collected for almost three times as long as an ordinary day, yet still recorded barely a quarter of the segments seen on the following week's ordinary Friday (12/02) — so the holiday-week effect visible in the Results tab extends into Friday as well, not just Thanksgiving Thursday itself.

02

Preprocessing and smoothing

Each day's raw JSON is streamed record-by-record rather than loaded into memory. Position is smoothed with a 0.6 s centered moving average, resampled to a fixed 0.1 s grid, and differentiated by central difference for speed and acceleration. Lateral position is matched to lane-center offsets (±5.5 ft tolerance) for lane assignment, and the nearest same-lane vehicle ahead is identified as leader at every instant.

Continuity is enforced during segment extraction: consecutive samples from the same follower–leader–lane combination remain part of one car-following segment only if the gap between them is ≤ 0.25 s; a larger gap, or a change of leader or lane, closes the current segment and starts a new one from the next sample. No interpolation is performed across a gap — small gaps are simply tolerated within a segment, they are not filled in.

A direct comparison against unsmoothed raw positions found a maximum difference of 0.016 m/s in speed and 0.024 m/s² in acceleration — one to two orders of magnitude below the pattern thresholds below — indicating the smoothing step is a small safety margin, not a shaping filter.

Raw versus pipeline-smoothed speed and acceleration for one example segment; the two curves are nearly indistinguishable.

Raw (red) vs. pipeline-smoothed (blue) speed and acceleration for one example segment — the curves are visually indistinguishable, matching the maximum differences reported above.

03

Car-following segment retention criteria

CriterionThreshold
Follower speedv ≥ 3.0 m/s
Segment duration≥ 20 s
Leader and laneidentical leader vehicle and lane throughout
Net space gap0 < g ≤ 120 m
Time headwayτ ≤ 6.0 s
Sampling continuityno gap exceeding 0.25 s
Kinematic plausibility|v| ≤ 70 m/s, |a| ≤ 15 m/s²
04

Turning-point and state-classification thresholds

SignalChange thresholdSymbol
Follower speed1.5 m/sθv
Follower acceleration0.25 m/s²θa
Time headway0.15 sθτ
Turning-point merge window20 samples (2.0 s)γ
Minimum retained phase length10 samples (1.0 s)Lmin

Identical to the Lyft5 study's thresholds, so any differences observed between the two datasets' results reflect differences in the underlying traffic, not a re-tuning of the method.

Ten-day study results

How driving patterns shift across weeks

Two ways to explore the same ten-day study: compare Week 1 (Nov 21–25, containing the Thanksgiving holiday) against Week 2 (Nov 28–Dec 2, an ordinary work week) end to end, or drop into any single day's own pattern-recognition and pattern-characteristics figures. Both views point to the same result: a large, short-lived shift exactly on the low-traffic Thanksgiving Thursday, and an otherwise flat, stable signal.

Overview

Week 1 vs. Week 2 at a glance

Each animation steps day by day through its week, redrawing the same panel five times in a row. Watch how Week 1 swings through the Thanksgiving trough while Week 2 barely moves — the sections below break down exactly why, and the Day breakdown tab above shows every one of these frames as its own static figure.

Week 1 · pattern frequency (Mon 11/21 → Fri 11/25)
Animated raw vs. corrected pattern frequency, and Speed_up/Slow_down further-analysis breakdown, stepping day by day through Week 1.
Week 2 · pattern frequency (Mon 11/28 → Fri 12/02)
Animated raw vs. corrected pattern frequency, and Speed_up/Slow_down further-analysis breakdown, stepping day by day through Week 2.
Week 1 · transitions & durations (Mon 11/21 → Fri 11/25)
Animated pattern transition-probability network and duration-distribution chart, stepping day by day through Week 1.
Week 2 · transitions & durations (Mon 11/28 → Fri 12/02)
Animated pattern transition-probability network and duration-distribution chart, stepping day by day through Week 2.

Pattern breakdown

How often each pattern occurs, and how much that changes day to day

Both weeks, all ten days, side by side.

01

Statistics of driving patterns

Segments extracted per day, log scale

Retained volume, not phase composition — this is the raw scale of car-following activity each day supplied to the pipeline before any pattern labelling happens.

02

Day-to-day transition change

L1 distance between consecutive days

Transition-matrix L1 distance (Equation 5, see Methodology) between each day and the one before it, both weeks.

Findings

What the pattern breakdown shows

  • Week 1's transition-matrix distance spikes to 2.46 on Wed→Thu (Thanksgiving) — more than double any other step that week, and roughly twenty times Week 2's Wed→Thu step (0.12).
  • Week 2 stays flat all week: pattern-to-pattern switching behavior barely moves, holiday or not — every one of its day-to-day steps stays under 0.6.
  • The spike lines up exactly with the volume collapse in the Statistics chart above (75,474 → 1,421 segments by Thursday) — the sequencing shift isn't random, it tracks the traffic drop day for day.
  • The spike is short-lived: by Thu→Fri the distance is back down to 1.06, close to the week's own Mon→Tue baseline (1.06) — a one-day disruption, not a drift.

Pattern duration breakdown

How long each pattern lasts, and how that changes day to day

03

Duration trends by weekday

Mean phase duration, Mon–Fri

One subplot per pattern, each on its own y-scale. Catch_up, Fall_behind and Follow_behind all climb steadily through Week 1 toward Thursday–Friday while Speed_up and Slow_down fall; Hold_speed barely moves. Week 2 stays close to flat on every pattern.

Findings

What the duration breakdown shows

  • Week 1's pattern durations follow the same holiday signature as their sequencing. From Monday to Thanksgiving Thursday, the three gap-adjustment patterns that don't involve an actual speed change — Catch_up, Fall_behind, and Follow_behind — all lengthen sharply (Catch_up's mean duration more than doubles, from 5.0 s to 11.0 s).
  • Speed_up and Slow_down — the two patterns driven by an actual speed change — shorten over the same days (Speed_up: 9.3 s → 6.4 s). Hold_speed stays essentially flat throughout, around 3.0 s on every day of both weeks.
  • Week 2 shows none of this movement: every pattern's mean duration stays within roughly a second of its week-long average, every day.
  • Lower traffic pressure during the holiday trough is the natural read: with fewer vehicles to react to, drivers spend longer gradually closing or opening a gap (Catch_up / Fall_behind / Follow_behind) and less time making the sharp, reactive speed adjustments (Speed_up / Slow_down) that denser traffic provokes.

Synthesis

Why this happens, and what it means

Why it happens. Thanksgiving produced a real, large drop in through-traffic on I-24 (a 92% collapse in retained car-following segments from Wednesday to Thursday alone), and that volume collapse alone explains both shifts above. With fewer vehicles interacting, the reactive maneuvers driven by an actual speed change (Speed_up, Slow_down) become less frequent and shorter, while the slower gap-adjustment behaviors (Catch_up, Fall_behind, Follow_behind) that don't require a speed change become more common and longer. One underlying cause — lower traffic pressure — produces both the transition-sequence spike and the duration shift.

What it shows about the framework. The same pipeline that flags the holiday shift precisely on Thanksgiving Thursday stays essentially flat across five ordinary Week 2 days and recovers immediately once traffic returns to normal on Friday. That combination — sensitive to a real, independently known change in conditions, but stable and specific under ordinary conditions — is the behavior expected of a method that tracks genuine driving behaviour rather than noise or drift. That the I‑24 MOTION results reproduce the same pattern-based structure originally validated on the Lyft Level 5 dataset also supports the method transferring cleanly from a smaller, controlled dataset to a larger, real-world one.

Bottom line: the framework is sensitive to meaningful behavioural change, stable under normal conditions, and transferable to large-scale real-world data.

Day breakdown

Any single day, in detail

Pick a day below — shift-click a second day to compare it side by side. Figures use the headway-refined sequence.

01

Pattern recognition

Raw vs. corrected pattern frequency, and further analysis of Speed_up / Slow_down

02

Pattern characteristics

Pattern transition probabilities and duration distributions (headway-refined)