feat: add motion semantic drift analysis script
- Implement SVD axis stability using Lasso regression on fused embeddings - Add overtone shift analysis to detect semantic content changes - Implement semantic drift tracking for motion content over time - Add party voting analysis with cross-ideological voting patterns - Generate markdown report with visualizations - Add comprehensive test suite with 12 passing tests See reports/drift/report.md for analysis results.
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 99 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 190 KiB |
+80
-6
@@ -7,27 +7,101 @@
|
||||
|
||||
## Summary
|
||||
|
||||
- **Stable axes:** None
|
||||
- **Axes with inflection points:** 0
|
||||
- **Stable axes:** [1, 2, 3, 4, 5, 7, 8, 9, 10]
|
||||
- **Axes with inflection points:** 1
|
||||
- **Parties with cross-ideological voting:** 0
|
||||
|
||||
## Axis Stability
|
||||
|
||||
**Stable axes (similarity > 0.7):** None
|
||||
**Reordered axes:** [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||

|
||||
|
||||
**Stable axes (similarity > 0.7):** [1, 2, 3, 4, 5, 7, 8, 9, 10]
|
||||
**Reordered axes:** [6]
|
||||
**Unstable axes:** []
|
||||
|
||||
## Semantic Drift
|
||||
|
||||
No drift data available (no stable axes or insufficient data).
|
||||

|
||||
|
||||
### Axis 8 Inflection Points
|
||||
|
||||
- **2016 → 2017**: drift=1.7467 (median=0.4850)
|
||||
- **2017 → 2018**: drift=1.7470 (median=0.4850)
|
||||
|
||||
## Party Voting Analysis
|
||||
|
||||
**Parties tracked:** 47
|
||||
|
||||

|
||||
|
||||
No cross-ideological voting detected.
|
||||
|
||||
## Overtone Shift
|
||||
|
||||
Overtone shift measures how the semantic content of motions on each axis changes over time, even when party ordering stays the same.
|
||||
|
||||
### Axis 1
|
||||
|
||||
- **Average shift:** 1.4680
|
||||
- **Max shift:** 1.9709
|
||||
- **Inflection points:** 0
|
||||
|
||||
### Axis 2
|
||||
|
||||
- **Average shift:** 1.4220
|
||||
- **Max shift:** 1.7869
|
||||
- **Inflection points:** 0
|
||||
|
||||
### Axis 3
|
||||
|
||||
- **Average shift:** 1.3830
|
||||
- **Max shift:** 1.8293
|
||||
- **Inflection points:** 0
|
||||
|
||||
### Axis 4
|
||||
|
||||
- **Average shift:** 1.3946
|
||||
- **Max shift:** 1.8857
|
||||
- **Inflection points:** 0
|
||||
|
||||
### Axis 5
|
||||
|
||||
- **Average shift:** 1.4333
|
||||
- **Max shift:** 1.9253
|
||||
- **Inflection points:** 0
|
||||
|
||||
### Axis 7
|
||||
|
||||
- **Average shift:** 1.3068
|
||||
- **Max shift:** 1.8408
|
||||
- **Inflection points:** 0
|
||||
|
||||
### Axis 8
|
||||
|
||||
- **Average shift:** 1.3022
|
||||
- **Max shift:** 1.8897
|
||||
- **Inflection points:** 0
|
||||
|
||||
### Axis 9
|
||||
|
||||
- **Average shift:** 1.3751
|
||||
- **Max shift:** 1.9262
|
||||
- **Inflection points:** 0
|
||||
|
||||
### Axis 10
|
||||
|
||||
- **Average shift:** 1.2993
|
||||
- **Max shift:** 1.7220
|
||||
- **Inflection points:** 0
|
||||
|
||||
## Methodology
|
||||
|
||||
- **Axis stability:** Jaccard similarity of top-N motion rankings per component across windows
|
||||
- **Axis stability:** Ridge regression weights (SVD_score ~ fused_embedding) per axis per window, compared via max(cosine similarity, Jaccard top-100 dimensions)
|
||||
- **Overtone shift:** Semantic gravity (weighted mean fused embedding) per axis per window, tracked via cosine distance between consecutive windows
|
||||
- **Semantic drift:** Cosine distance between fused embedding centroids of top-N motions per axis
|
||||
- **Inflection points:** Drift/shift rate exceeding 2× median rate
|
||||
- **Cross-ideological voting:** Parties voting 'voor' on motions where canonical opposite-wing parties have high loadings
|
||||
|
||||
- **Semantic drift:** Cosine distance between fused embedding centroids of top-N motions per axis
|
||||
- **Inflection points:** Drift rate exceeding 2× median drift rate
|
||||
- **Cross-ideological voting:** Parties voting 'voor' on motions where canonical opposite-wing parties have high loadings
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 396 KiB |
Reference in New Issue
Block a user