3.4 KiB
| title | date | module | problem_type | component | severity | tags | applies_when |
|---|---|---|---|---|---|---|---|
| SVD Axis Stability and Overtone Shift are Independent Phenomena | 2026-04-05 | analysis | insight | motion-analysis | medium | [svd overtone-shift semantic-drift axis-stability parliamentary-analysis] | [Interpreting SVD axes over multiple time windows Comparing motion content across different parliamentary periods Understanding why stable axis labels don't guarantee stable motion content] |
SVD Axis Stability and Overtone Shift are Independent Phenomena
Key Insight
When analyzing SVD axes across time windows, axis stability and overtone shift measure fundamentally different phenomena:
| Phenomenon | What it Measures | How to Compute |
|---|---|---|
| Axis Stability | Whether the same motions/embeddings load on an axis | Lasso regression: SVD_score ~ fused_embedding, compare weight vectors via cosine similarity + Jaccard |
| Overtone Shift | How motion content evolves over time | Semantic gravity (weighted mean embedding) tracking via cosine distance |
The implication: An axis can be "stable" (parties vote similarly across years) while its semantic content drifts dramatically (different motions define the axis).
Evidence
Analysis of 9 annual windows (2016-2026) revealed:
- 9 of 10 axes are stable (similarity > 0.7)
- All stable axes show high overtone shift (1.3-1.97 cosine distance)
- No inflection points detected — drift is gradual, not sudden
Example: Axis 1 (Coalition vs Opposition)
| Metric | Value | Interpretation |
|---|---|---|
| Axis Stability | 0.83 | Coalition/opposition voting pattern is structurally consistent |
| Overtone Shift | 1.47 avg, 1.97 max | Motion content defining "coalition" vs "opposition" has changed substantially |
This means: PVV, VVD, NSC, BBB consistently vote together against SP, GL-PvdA, PvdD across all windows — but the specific motions that exemplify "coalition policy" in 2026 are semantically different from 2016.
Why This Matters
-
Axis labels are temporally bounded — "Rechts kabinetsbeleid versus links oppositiebeleid" accurately describes 2016-2026, but the underlying motions have evolved.
-
Cross-temporal comparison is valid structurally but not semantically — Party positions are comparable; motion content is not.
-
Axis 6 (Migration/Culture) is an exception — Low stability (0.35) suggests fundamental change in how this dimension is structured.
How to Analyze This
Use scripts/motion_drift.py:
uv run python scripts/motion_drift.py --db data/motions.db --output reports/drift
The script computes:
- Axis stability: Lasso regression weights compared across windows
- Overtone shift: Semantic gravity tracking
- Inflection points: Sudden drift detection
- Party trajectories: How parties move along stable axes
Prevention
When updating SVD themes:
- Run
scripts/motion_drift.pyto check current overtone shift levels - Verify that theme descriptions match current motion content, not historical content
- Monitor Axis 6 specifically for stability issues
- Consider temporal weighting in visualizations — recent windows better represent current semantics
Related
scripts/motion_drift.py— Analysis scriptdocs/research/2026-04-05-svd-overtone-shift-deep-dive.md— Deep analysisreports/drift/report.md— Generated report