The Extra-Geeky Math
All 170 experimental formulas in full mathematical notation. Each formula shows its core equation, empirical rationale, temperature specification, and exactly how it failed sanity review.
Cross-reference: Formula numbers below reference the 15 base methodologies documented on the methodology page. Each BM (base model) has 16 temperature variations (T1–T16), yielding 170 total formulas. Only formulas with links are included below; click any formula number to jump to its full specification.
Base Model 1: Markov-Switching VAR with Trust-Threshold Transition
Core bet: Civic stress is governed by three discrete latent regimes (quiescent, primed-mobilizable, unity-inverted). The same indicator carries different coefficients across regimes. Getting the regime right matters more than getting any single weight right.
Empirical basis: E1, E2, E7, E12, E3, E13 — full range from paradoxically-low unity (E7) to near-maximum multi-channel (E13), plus high-unrest-at-low-economic-stress cases (E1, E2).
Base formula:
$$CSI_t = \sum_{s \in {Q,P,U}} \Pr(S_t = s | I_{1:t}) \cdot \mu_s(X_t)$$
where
$$\mu_s(X_t) = c_s + a_s^{\text{Trust}} \cdot \text{Trust}_t + a_s^{\text{Griev}} \cdot G_t + a_s^{\text{Econ}} \cdot E_t^{\text{signed}} + a_s^{\text{Pol}} \cdot P_t$$
Regime-specific calibration:
- QUIESCENT ($Q$): $c_Q = 22$, $a_{\text{Econ}} = 0$ (gate closed), $a_{\text{Griev}} = 0.15$, $a_{\text{Trust}} = 0.10$
- PRIMED ($P$): $c_P = 45$, $a_{\text{Econ}} = 0.4$, $a_{\text{Griev}} = 0.6$, $a_{\text{Trust}} = 0.5$
- UNITY-INVERT ($U$): $c_U = 12$, $a_{\text{Econ}} = -0.1$, $a_{\text{Griev}} = -0.15$, $a_{\text{Trust}} = -0.2$
Transition gates: $$\Pr(S_{t+1} = U | S_t) = \text{logit}^{-1}(-3 + 8 \cdot \text{ExternalAttrib}t)$$ $$\Pr(S{t+1} = P | S_t) = \text{logit}^{-1}(-2 + 3 \cdot \text{TrustDeficit}_t)$$
BM1-T1: Citation-Locked 3-Regime Threshold Filter
Verdict: ⚠️ FLAG
Issue: External-attribution definition ambiguous; design is salvageable with definition clarification.
BM1-T2: 3-Regime MS-VAR, Validated-Central
Verdict: ✗ FAIL
Issue: $\text{CSI}_{\text{obs},t}$ (ground-truth observation target for Hamilton filter) is undefined. The formula claims to estimate via EM, but there is no dependent variable to condition the filter on.
BM1-T3: Recency-Dominated 3-Regime MS-VAR (EWMA Trajectory)
Verdict: ⚠️ FLAG
Issue: PriorUnrestStock is undefined; two of three core data sources (event-count trajectory, institutional-trust survey) are missing for pre-1990 episodes.
BM1-T4: Structural-Floor MS-VECM
Verdict: ⚠️ FLAG
Issue: Sub-model relationships (cointegration rank, adjustment speeds) are under-specified; the error-correction matrix is stated but not operationalized.
BM1-T5: Operational-Saturated 3-Regime MS-VAR
Verdict: ⚠️ FLAG
Issue: The OPS/FUEL weight creates a falsifiable contradiction: formula predicts CSI=35 at 2020 when the regime switch to Primed should yield CSI≥55.
BM1-T6: SETAR Self-Amplification
Verdict: ✗ FAIL
Issue: This is a template, not a runnable formula. No threshold variable $z_t$ is specified; episode date ranges needed for the autoregressive history are missing.
BM1-T7: Reduced-Form VAR with Granger-Ordered Indicators
Verdict: ⚠️ FLAG
Issue: A release-valve term (channeling of grievance into institutions) is described in the rationale but not implemented in the matrix specification.
BM1-T8: Stratified-Cox Trust-Gated Hazard Survival
Verdict: ✗ FAIL
Issue: Episode chronology is absent — Cox model requires entry and exit times; ExternalAttributedShock is undefined operationally.
BM1-T9: Kalman Latent-Stress State-Space
Verdict: ✗ FAIL
Issue: The nonlinearity $H(p_t)$ (a logistic transformation of polarization) is incompatible with the linear Kalman filter. A particle filter or EKF would be required but is not specified.
BM1-T10: Orthogonal-Factor MS-VAR (Factor-PCA)
Verdict: ⚠️ FLAG
Issue: Annual survey data for the latent stress factors are sparse; DW-NOMINATE congressional polarization has gaps; specification is incomplete for monthly/quarterly output.
BM1-T11: Asymmetric-Loss MS-VAR (Reference-Dependent)
Verdict: ⚠️ FLAG
Issue: Technically salvageable; the ratchet reference (expectations rise with prior peaks) is a genuine behavioral mechanism supported by behavioral-economics literature.
BM1-T12: Cointegration-ECM with Regime-Dependent Adjustment
Verdict: ✗ FAIL
Issue: Calibration check fails: the formula produces the wrong sign on multi-episode checks. The long-run equilibrium is under-claimed.
BM1-T13: Antagonistic-Suppressor MS-VAR
Verdict: ⚠️ FLAG
Issue: No disqualifying defect. Three orthogonalized suppressors (unity, employment, infrastructure) are theoretically motivated but empirically unverified.
BM1-T14: Hierarchical Bayesian Regime-Switching CSI
Verdict: ⚠️ FLAG
Issue: The observation likelihood $\Pr(X_t^e | S_{t,e}, \theta)$ is not specified. Without a stated likelihood, the Bayesian update is meaningless.
BM1-T15: Wavelet-Multiscale Regime-Gated MS-VAR
Verdict: ✗ FAIL
Issue: The weight vector $w_U$ for the Unity regime sums to 0; the regime is degenerate and contributes nothing to the model.
BM1-T16: Copula-Coupled Regime-Switching (Transfer-Entropy)
Verdict: ✗ FAIL
Issue: Transfer-entropy weights and Gumbel copula tail-lift parameters are unidentified. No calibration procedure is given.
Base Model 2: Self-Exciting Hawkes Intensity with Attribution-Signed Marks
Core bet: Civic conflict is a marked self-exciting point process. Each unrest event transiently raises the probability of subsequent events. The contagion term dominates near-term prediction. Attribution-signed marks allow out-group shocks (E7) to depress rather than excite.
Empirical basis: E1, E10, E13, E14, E2, E5 — episodes with cascade and self-excitation; challenged by economic suppressors (E3, E4, E8, E12).
Base formula:
$$\text{CSI}t = 100 \cdot \Lambda\left(\frac{\mu(t)}{\mu{\max}}\right)$$
where
$$\mu(t) = \beta_0 + \beta_{\text{Trust}} (1 - \text{Trust}t) + \beta{\text{Griev}} \cdot G_t + \beta_{\text{Econ}} \cdot \max(0, \text{NecessityCPIgap}t) - \beta{\text{Unity}} \cdot \text{ExternalUnity}_t$$
Calibration targets: $\mu(2000\text{-}2005) \to \text{CSI} \approx 22$; $\mu(2020) \to \text{CSI} \approx 65$ (slow component only).
Full intensity (including contagion):
$$\lambda(t) = \mu(t) + \sum_{t_i < t} m_i \cdot \alpha \cdot \exp(-\delta \cdot (t - t_i))$$
where $m_i = (+1) \cdot \text{Magnitude}_i \cdot \text{Attribution}_i$ and $\text{Attribution}_i = -1$ if external out-group event, $+1$ otherwise.
$$\text{CSSI}t = 100 \cdot \Lambda\left(\frac{\lambda(t)}{\lambda{\max}}\right)$$
BM2-T1: Hawkes Background-Only: PITF-Hazard Conditional
Verdict: ⚠️ FLAG
Issue: PITF U6 indicator unavailable before 1994; 2 of 15 episodes (E1, E2) are uncomputable.
BM2-T2: Validated-Central Marked Hawkes
Verdict: ✗ FAIL
Issue: E1 (1968) cannot be computed; GDELT begins 1979, RSUI 1985. The dependent-variable baseline is undefined.
BM2-T3: Short-Kernel Marked Hawkes (EWMA Trajectory)
Verdict: ⚠️ FLAG
Issue: GrievanceStock proxy from GDELT v1.0 covers 1979+ only; pre-1979 episodes (E1, E2) are uncomputable.
BM2-T4: Structural-Floor Hawkes: Kalman-Filtered Slow Substrate
Verdict: ✗ FAIL
Issue: U6 data absent before 1994; hyperparameters of the Kalman filter are unspecified.
BM2-T5: Operational-Saturated Hawkes: Realized-Intensity Nowcast
Verdict: ⚠️ FLAG
Issue: Conceptually sound; specification is incomplete for actual execution.
BM2-T6: Threshold-Gated Self-Exciting Hawkes (SETAR Branching)
Verdict: ⚠️ FLAG
Issue: No disqualifying defect; specification gaps exist but are technical rather than conceptual.
BM2-T7: VAR-Granger Reduced-Form Linearization of Hawkes
Verdict: ✓ PASS
Issue: No disqualifying defects. Fully computable pre-2020 using Granger-ordered VAR as a reduced form. Handles the branching ratio through residual covariance.
BM2-T8: Cox-Hawkes Hazard-Survival
Verdict: ⚠️ FLAG
Issue: ExternalUnity indicator is undefined; construction method is missing.
BM2-T9: Self-Exciting Stress as Latent Linear-Gaussian SSM
Verdict: ✗ FAIL
Issue: 2000–2005 baseline requires ACLED/GDELT mark data that is absent before 2020.
BM2-T10: Orthogonalized-Background Marked Hawkes (Factor-PCA)
Verdict: ⚠️ FLAG
Issue: Annual survey data are sparse; DW-NOMINATE has gaps; specification is incomplete.
BM2-T11: Loss-Averse Hawkes: Reference-Dependent Background
Verdict: ✓ PASS
Issue: Honest about ACLED pre-2020 gap. Explicit two-regime framing (pre-2020 = survey-only; post-2020 = event-inclusive). No disqualifying defects.
BM2-T12: Cointegrated Background, Error-Correcting Hawkes
Verdict: ⚠️ FLAG
Issue: 2020 anchor unresolved; wage-composition problem (low-wage workers hit harder) is inherited from the background specification.
BM2-T13: Suppressor-Gated Hawkes: Threshold-Autoregressive
Verdict: ⚠️ FLAG
Issue: No disqualifying defect. Three orthogonalized suppressors (external threat, full employment, diffuse shock) are identified but unverified.
BM2-T14: Hierarchical Bayesian Marked Hawkes (Partial-Pooling)
Verdict: ⚠️ FLAG
Issue: Hindsight bias in calibration; pre-2020 episodes inherit parameter estimates from the full 1967–2023 sample.
BM2-T15: Wavelet-Multiscale Hawkes Spectral Dual
Verdict: ✗ FAIL
Issue: Calibration by assertion; no sample calculations provided.
BM2-T16: Copula-Coupled Hawkes (Transfer-Entropy Channel Weights)
Verdict: ⚠️ FLAG
Issue: E8 (2008–09) falsification: tail copula over-predicts financial-crisis contagion, producing CSI=55 when observed is 25.
Base Model 3: Multiplicative Threshold-Gated Product (SETAR on Exogenous Gates)
Core bet: Civic conflict is a product of conjunctive factors, several acting as near-binary gates. When all gates are open AND grievance × trigger product is large, intensity reaches 70–93; any closed gate forces it to 8–30.
Empirical basis: E12, E8, E7, E1, E5, E13 — full range of gated vs. ungated; challenged by distributional channels without strong gates (E6, E9, E11).
Base formula:
$$\text{CSI}t = \text{Baseline} + \text{CoreStress}t \cdot G{\text{econ}}(z{\text{econ},t}) \cdot G_{\text{attrib}}(z_{\text{attrib},t}) \cdot G_{\text{release}}(z_{\text{release},t})$$
where each gate $G_k(z_k)$ is a logistic transition function:
$$G_k(z_k) = \frac{1}{1 + \exp(-\gamma_k(z_k - z_{k,*}))}$$
The core stress is the product of grievance and trigger:
$$\text{CoreStress}_t = \left(\text{GrievanceStock}_t\right) \times \left(\text{TriggerMagnitude}_t\right)$$
BM3-T1 through BM3-T16
(16 variations with progressively more gates and more complex functional forms; see methodology page for verdicts and details)
Summary and Cross-Formula Patterns
The 7 passing formulas share three properties:
Estimated rather than imposed kernels (BM2-T7, BM2-T11): Let the data determine lag shapes and coupling strengths rather than asserting them from theory.
Honest about data gaps (BM2-T11): Explicitly two-regime (pre-/post-2020) rather than claiming one formula covers both.
Bayesian hierarchical structure (BM3-T14, BM7-T14): With only 6–9 effective calibration episodes, credible intervals are the only statistically defensible output, not false-precision point estimates.
Citation-locked conservatism (BM9-T1): Zero-weight any channel without a published effect size.
Regime-specific rather than global multipliers (BM10-T5): Annual-cadence gains are static between calibration points; treat them as fixed background, not fast drivers.
The 44 failing formulas fail on one of five dimensions:
- Data availability (18 FAILs): Formula’s dominant signal does not exist for the calibration period.
- Unspecified randomness (12 FAILs): Templates without operationalizations; no way to actually compute.
- Incompatible structure (6 FAILs): E.g., nonlinear functions in linear frameworks.
- Circular validation (5 FAILs): Uses ACLED/GDELT as both input and ground truth.
- Degenerate components (3 FAILs): Zero-sum weights, undefined thresholds, or weights summing to zero.
For detailed specification of each of the 170 formulas, cross-reference the methodology page where the 15 base models are fully documented.