Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
d99cf0f
leaderboard: add STT transcription accuracy section with perturbation…
lindsaydbrin Jun 23, 2026
c9d3f9b
perturbations: deterministic CI pipeline + leaderboardStats regen too…
lindsaydbrin Jun 24, 2026
96671a1
Apply pre-commit
lindsaydbrin Jun 24, 2026
12c189b
fix: resolve ruff lint (B007/D417/D205) in perturbation pipeline
lindsaydbrin Jun 24, 2026
a30da79
perturbations: drop unused derive_pass_metrics and clean up comments
lindsaydbrin Jun 24, 2026
8836d28
update delta vs clean chart to use same amber ticks for stt models
katstankiewicz Jun 24, 2026
f527c00
add statsmodels to pyproject
katstankiewicz Jun 24, 2026
1d7e52d
add assembly ai universal 3.5 pro
katstankiewicz Jun 24, 2026
6ddd9fe
perturbation charts: add amberFirst prop and tick label offset
lindsaydbrin Jun 25, 2026
e2c3f3d
code-simplifier: refactor data_perturbations and stats_perturbations
lindsaydbrin Jun 25, 2026
aaee3fa
add assembly ai universal 3.5 pro results (#166)
fanny-riols Jun 29, 2026
be66f2b
website: update results page STT section and leaderboard tables
fanny-riols Jun 29, 2026
c243f2d
update assemblyai transcription key entitiy perturbation numbers
katstankiewicz Jun 29, 2026
8a2e773
update assemblyai metrics
katstankiewicz Jun 30, 2026
c879df3
website: add ElevenLabs disclaimer and provider prefix to STT bar chart
fanny-riols Jun 30, 2026
4ad6a6a
rebuild website
fanny-riols Jun 30, 2026
e6c2474
update assemblyai text
katstankiewicz Jun 30, 2026
17a72f9
website: update STT accuracy chart labels and disclaimer wording
fanny-riols Jun 30, 2026
f887d0b
website: remove stale build artifact after rebase
fanny-riols Jun 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions analysis/perturbations/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Perturbation Analysis Pipeline

This pipeline computes perturbation deltas (perturbed vs. clean) and per-condition
metric-value confidence intervals from per-trial scores, then writes the
`perturbation_delta` and `metric_values` blocks into
`website/src/data/leaderboardStats.json` for the leaderboard's perturbation charts.

## Files

| File | Role |
|------|------|
| `data_perturbations.py` | Computes per-scenario means, clean-vs-perturbation deltas, and per-condition metric values from raw trial scores. |
| `stats_perturbations.py` | Runs bootstrap CIs and paired sign-flip permutation tests with Holm-Bonferroni correction. CIs use `eva.utils.bootstrap` so they match the leaderboard metrics; both CIs and permutation tests are deterministic via a derived `run_seed`. |
| `run_perturbations.py` | End-to-end driver: calls `data_perturbations` then `stats_perturbations` in sequence. |
| `regenerate_perturbation_blocks.py` | Reads the results CSVs and writes `perturbation_delta` + `metric_values` blocks into `leaderboardStats.json`. Additive and idempotent (only writes new or changed entries). Dry-run by default; pass `--write` to apply. |

## How to run

```bash
# 1. Compute deltas and statistics
uv run python analysis/perturbations/run_perturbations.py

# 2. Preview changes to leaderboardStats.json (dry-run, writes a .regen file)
uv run python analysis/perturbations/regenerate_perturbation_blocks.py

# 2b. Apply changes
uv run python analysis/perturbations/regenerate_perturbation_blocks.py --write
```

## Configuration

The scripts are driven by local, gitignored YAML configs. `perturbations_config.yaml`
controls the analysis run: which models/aliases to include, which metrics to compute,
bootstrap/CI settings, and where to find the per-trial input scores.
`regenerate_perturbation_blocks.yaml` controls the regen step: which metrics to write,
the leaderboard JSON and results paths, and any display-name overrides.
Loading
Loading