# Evasive Acceleration Eval

> Evaluates whether a two-dimensional risk metric (Evasive Acceleration) can statistically distinguish crash precursors from routine non-crash traffic conflicts at varying lead times before impact. It tests early-warning timeliness and discrimination capability under realistic false-alarm constraints. Use when the user has predictions and gold and needs to compute AUPRC.

- Skill: `qhjqhj00/evasive-acceleration-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/evasive-acceleration-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/evasive-acceleration-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/evasive-acceleration-eval

---


# evasive-acceleration-eval

> Driving risk emerges from the required two-dimensional joint evasive acceleration — Cheng et al. (2026) (arXiv:2604.17841, 2026)

## What this evaluates

Evaluates whether a two-dimensional risk metric (Evasive Acceleration) can statistically distinguish crash precursors from routine non-crash traffic conflicts at varying lead times before impact. It tests early-warning timeliness and discrimination capability under realistic false-alarm constraints.

## Datasets

- **highD** — total 3376; splits: eval (3376)
- **exiD** — total 16293; splits: eval (16293)
- **inD** — total 8844; splits: eval (8844)
- **SIND** — total 10386; splits: eval (10386)
- **Argo2-LCR** — total 4481; splits: eval (4481)
- **CIMSS-TA** — total 658; splits: eval (658)

## Metrics

- `AUPRC` **(primary)** — range: [0, 1]
  - Area under the Precision-Recall curve, measuring the trade-off between precision and recall across all classification thresholds. Higher values indicate better discrimination between crash precursors and routine conflicts.
- `AUROC` — range: [0, 1]
  - Area under the Receiver Operating Characteristic curve, measuring the trade-off between true positive rate and false positive rate across thresholds.
- `KS statistic` — range: [0, 1]
  - Kolmogorov-Smirnov statistic measuring the maximum vertical distance between the cumulative distribution functions of crash and conflict risk scores.
- `Recall@FPR` — range: [0, 1]
  - True positive rate (recall) computed at fixed false positive rate operating points of 1%, 5%, and 10% to evaluate early-warning timeliness under strict false-alarm constraints.

## Input / output format

**Input**: Time-series trajectories of two interacting road users (positions/velocities) sampled at 10 Hz, along with a defined collision set in relative position space.

**Output**: Scalar risk score (Evasive Acceleration magnitude in m/s²) per time step, used as a continuous score for binary classification (crash vs. conflict).

## Scoring recipe

```python
# 1. Extract negative samples: for each conflict case, take max risk score across all frames
neg_scores = [max(scores_for_case) for case in conflicts]
neg_labels = [0] * len(neg_scores)

# 2. Extract positive samples: for each crash, extract scores at precrash windows
pos_scores = []
pos_labels = []
for crash in crashes:
    for window in ["[-0.5,-0.1]", "[-1.0,-0.1]", "[-1.5,-0.1]", "[-2.0,-0.1]"]:
        window_scores = scores_in_window(crash, window)
        pos_scores.extend(window_scores)
        pos_labels.extend([1] * len(window_scores))

# 3. Compute metrics
scores = pos_scores + neg_scores
labels = pos_labels + neg_labels
auprc = compute_auprc(scores, labels)
auroc = compute_auroc(scores, labels)
ks_stat = compute_ks_test(pos_scores, neg_scores)
recall_1pct = compute_recall_at_fpr(scores, labels, fpr=0.01)
```

## Common pitfalls

- Evaluating only the final precrash instant, which trivially separates crashes from conflicts due to near-contact geometry rather than true risk quantification.
- Treating individual time steps within a single conflict case as independent samples, causing temporal redundancy and artificially inflating dataset size.
- Relying solely on fixed-threshold accuracy instead of threshold-independent metrics (AUPRC/AUROC) or fixed-FPR recall, which fails to capture early-warning timeliness under realistic false-alarm constraints.

## Evidence (verbatim from paper)

> We therefore assess statistical separability under four progressively earlier lead windows to test whether crash precursors remain distinguishable before collision becomes visually or geometrically obvious. ... Performance is evaluated using the following complementary criteria: area under the precision–recall curve (AUPRC), area under the receiver operating characteristic curve (AUROC), the Kolmogorov–Smirnov (KS) statistic, and recall (equivalently, true positive rate, TPR) at fixed false positive rate (FPR) operating points of 1%, 5%, and 10%.

## Citation

```bibtex
@misc{cheng2026evasiveacceleration,
  title={Driving risk emerges from the required two-dimensional joint evasive acceleration},
  author={Cheng et al. (2026)},
  year={2026},
  note={arXiv:2604.17841}
}
```

- arXiv: 2604.17841

