{
  "id": "social-deciles-fusion-v3",
  "registeredAt": "2026-10-10T19:18:30.706620+00:00",
  "status": "Exploratory; 2023\u20132025 outcomes and earlier model results already inspected",
  "hypothesis": "Training-selected adjacent fusion retains useful adjusted differences with fewer effective social coefficients and improves generalisation.",
  "cohort": "Identical 133 exact-code English authorities, 2018\u20132025; 399 temporal and 133 geographic assessment rows; original frozen temporal and nine leave-region-out folds.",
  "outcome": "Police-reported personal-injury collision events at road location, including non-motor-only events; log(all-motor miles/100000) offset. Not claims or resident-driver risk.",
  "features": "Income and employment deprivation, and 2011 no-qualifications share. Original historical vintages, baseline controls and training-only history prior. No interactions.",
  "deciles": "Original inverse-CDF, equal unique training area \u00d7 vintage cutpoints, separately by vintage; 1 most deprived / highest no-qualifications. Preserve all ten source deciles. Fold cuts relearned in every inner/outer/bootstrap fit.",
  "models": {
    "B": "Existing baseline",
    "C-linear": "Baseline + three continuous linear scores",
    "C-smooth": "Baseline + three natural splines, 3 df each",
    "DE": "Baseline + all ten categorical deciles for each feature",
    "Q": "Baseline + fixed pairs 1\u20132,3\u20134,5\u20136,7\u20138,9\u201310 for each feature",
    "F": "Baseline + adjacent fused decile effects; separate groupings within each feature, shared tuned penalty ratio"
  },
  "estimator": "NB2 jointly estimated dispersion. Minimise mean negative log likelihood plus lambda times sum of absolute adjacent coefficient differences. Reference decile 5; no monotonicity. Original tiny ridge 1e-6 on base and level coefficients for numerical stability.",
  "penalty": "lambda = ratio \u00d7 maximum absolute mean social score at constrained all-fused baseline NB fit. Recalculate lambda_max in each training fit. Ratios: [1.0, 0.3, 0.1, 0.03, 0.01, 0.003, 0.0]. Descending warm-start path; ratio one uses the exact constrained baseline endpoint (amendment 1); ratio zero uses the original unpenalised categorical NB fit.",
  "solver": "Positive/negative split of adjacent differences; bounded L-BFGS-B, maxiter 4000, ftol 1e-13, gtol 1e-7, maxls 60. Fixed second polishing attempt from first solution if projected mean-objective gradient >0.0001 or unsuccessful, with ftol 1e-15. Both diagnostics retained. No changed estimator. Adjacent differences <=1e-7 are declared fused; report threshold. Every attempted path fit is archived; only converged candidates can be selected.",
  "innerValidation": "Only outer-training rows. Sort distinct training region names and allocate cyclically into min(3,number of regions) blocks. Hold each block out of ALL inner training years, assess its latest outer-training year; other regions may contribute that year. This is geographic tuning, not a future-year inner test. At least two regions required. All preprocessing refitted inside each inner block. The 2019 deprivation edition is absent before 2020, so early nested temporal fits cannot support its cutpoints; no assessment-derived fallback.",
  "selection": "Sum inner held-out Poisson deviance across all blocks. A ratio is eligible only if every inner fit converges and its outer-training fit converges with adequate merged-band support. Select the strongest penalty whose inner deviance is within 0.5% of the lowest eligible deviance. This is a prespecified simplicity tolerance, not a statistical equivalence claim. No outer outcomes enter selection.",
  "support": "Every feature \u00d7 vintage \u00d7 merged outer-training band needs >=10 distinct original authorities and >=100 training collisions, positive motor mileage. Bootstrap replica IDs never inflate distinct support. Inner sparse cells are not a separate eligibility filter; their effects are assessed by inner predictions.",
  "assessment": "Same count outcomes, realised miles and rows for six models. Held-out Poisson deviance primary; O/E and mileage-weighted absolute rate error secondary. Report pooled, each year, all geographic regions, and effective social coefficients.",
  "uncertainty": {
    "seed": 202610103,
    "replicates": 199,
    "method": "Sample nine regions with replacement, retain area histories together; same regional draw for train/test/models. Relearn all cutpoints, inner region splits, tuning and fusion for each temporal fold. Refit all comparators. Percentile 95% intervals across fully paired replicates. Only nine independent region blocks and 199 draws: exploratory tail precision.",
    "failures": "Archive all failures without replacement draws. Incomplete intervals are diagnostic, never pass the uncertainty gate. Bootstrap rank and support issues disclosed.",
    "boundaryStability": "For the 2025 temporal fold, fraction of valid full refits retaining each adjacent decile boundary; cutpoints also refitted. Report selected ratio and band-count distributions. Not a p-value or causal finding."
  },
  "candidateGates": "F vs B: >=1% pooled and every annual gain, paired 95% lower >0 with all 199 complete paired draws, pooled/annual O/E within 0.90\u20131.10, positive pooled geographic gain and >=5/9 improving regions, overall absolute error no worse, every selected point band supported, full-rank converged point designs. Same inherited research gates; no automatic pricing deployment.",
  "replacementGates": "Only after candidate gates pass: vs DE, Q and C-smooth, upper paired 95% excess deviance <0.5%, no worse pooled absolute error or calibration distance. Linear comparison also reported. No claims based on ordinary post-selection coefficient significance.",
  "publication": "Separate v3 with original v1/v2 unchanged. Show 2025 assessment model grouping trained through 2024; coefficients referenced to decile 5, learned-band support, all comparisons, boundary stability, protocol and reproducible files.",
  "limits": [
    "Authority groupings cannot be applied to LSOAs without separate validation. LSOA matched all-road mileage remains unavailable.",
    "Correlated area characteristics, omitted historical joint road-class/rurality exposure and retrospective cohort selection remain limitations.",
    "No significance-based adjacent testing. A merged pair is not proof of equal underlying risk.",
    "No fresh confirmation: retain existing prospective 2027\u20132029 reserve and access audit.",
    "Bootstrap coefficient intervals are exploratory refit summaries, not post-selection confidence guarantees."
  ],
  "sources": [
    "https://epub.ub.uni-muenchen.de/10625/1/tr060.pdf",
    "https://scikit-learn.org/stable/auto_examples/model_selection/plot_nested_cross_validation_iris.html"
  ],
  "numericalAmendment": {
    "id": "fusion-v3-numerical-amendment-1",
    "recordedAt": "2026-10-10T19:18:28.329363+00:00",
    "reason": "At ratio 1, all adjacent effects are constrained to zero by the intended lambda-max endpoint. Numerical optimization moved a few effects by around 1e-7 despite meeting the solver KKT tolerance, creating spurious bands.",
    "change": "Return the original baseline NB coefficients and exactly zero social coefficients at ratio 1. Other ratios, grid, inner splits, support, selection tolerance, comparators and evaluation rules unchanged. Refit all outputs.",
    "inspection": "Original point outcomes and 51 completed bootstrap resamples existed before this numerical correction; all preserved. Entire experiment remains exploratory.",
    "originalFiles": [
      {
        "name": "frozen-design.json",
        "sha256": "59bd7ad9a0680b636bb28b9b3388992993a26f8e24cba405a7e07a9ddc901b95"
      },
      {
        "name": "partial-bootstrap.json.xz",
        "sha256": "9798de1fa06c2b859bb8f0ab150c7ab6ae58009b4d7894e5468247f05e7389e1"
      },
      {
        "name": "point-fits.json.xz",
        "sha256": "47e6c0b6e3015b00148a334a7a4420598d9fb0e6d680164c128e5a4b5c4b914b"
      },
      {
        "name": "point-summary.json",
        "sha256": "3a2ecb3974d70c8172c19cb46257ab1ba02dcd5d1033e440f82551a7d9e3a82c"
      },
      {
        "name": "predictions.json.gz",
        "sha256": "f3cd922bb008ff0ef1b18b77b7e5c753df97333bec8bdabf8948b420c78118cb"
      },
      {
        "name": "protocol.json",
        "sha256": "2fa066649c201591d3459ae2d66128f8009a407dd9cd5e555a16419345b44cd0"
      },
      {
        "name": "social-deciles-fusion-v3.py",
        "sha256": "12b6980aa2242ad03fa3e26bb14aa4590a674a83725c79d1a9b7e41d8ef22c63"
      }
    ]
  }
}
