Skip to content

Rejected experiment: centered TruncatedNormal bounded group priors - #1277

Closed
AlexanderFengler wants to merge 4 commits into
codex/1225-group-only-safe-priorsfrom
codex/1269-bound-aware-group-priors
Closed

Rejected experiment: centered TruncatedNormal bounded group priors#1277
AlexanderFengler wants to merge 4 commits into
codex/1225-group-only-safe-priorsfrom
codex/1269-bound-aware-group-priors

Conversation

@AlexanderFengler

@AlexanderFengler AlexanderFengler commented Aug 30, 2026

Copy link
Copy Markdown
Member

Status: rejected experimental candidate

This draft is being closed without merge. It is the complete structural
prototype of an automatic centered hierarchical TruncatedNormal default for
bounded, identity-linked group-only locations, but the candidate failed its
predeclared numerical smoke gate.

The exact candidate head is preserved permanently as
codex/1269-truncated-normal-experimental-base at
9e7002f00e7ff40524a8afc9e83b62723461c98f. The research-only qualification PR
#1288 targets that frozen branch directly, so closing this PR does not change
its diff or evidence history.

What this candidate implemented

  • Generated population locations and group coefficients used centered native
    hierarchical TruncatedNormal priors when the parameter had a finite native
    bound and used the identity link.
  • Analytical and black-box DDM parameters retained their calibrated HDDM
    Normal/Gamma/Beta hierarchies.
  • Transformed-link coefficients, matched deviations, group-only slopes, and
    explicit priors were unchanged.
  • Mixed identity predictors received a structural warning because bounding one
    coefficient cannot constrain a complete additive predictor.
  • Generated vector initial-value jitter respected finite and one-sided native
    group bounds without silently repairing invalid user starts.

Why it is not being merged

Canonical run
33410419447
returned screening-fail for the frozen candidate:

  • direct PyMC lower-only and two-sided Gaussian hierarchies failed divergence
    gates, so the problem is not HSSM- or Bambi-specific;
  • the HSSM softmax hierarchy failed its divergence and convergence gates;
  • the LBA chain was unusable, with R-hat up to 2.97, bulk ESS 2.33, BFMI 0.029,
    and every retained draw at maximum tree depth;
  • completed local finite-difference and PyTensor/JAX checks passed, so the
    evidence does not establish a current PyMC density or gradient defect.

The result rejects this automatic centered TruncatedNormal default. It
does not establish that every explicit hierarchical TruncatedNormal model is
invalid.

Stream boundary

This PR is historical implementation evidence for #1269; it does not close
that issue.

Validation recorded for the prototype

  • pytest tests/ -m 'not slow': 1,218 passed, 201 deselected
  • independent focused review: 505 passed plus float32/float64 boundary fuzzing
  • strict marimo validation and output-bearing export
  • strict documentation build
  • Ruff, Pyrefly, mypy, configured hooks, and git diff --check passed

@review-notebook-app

Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AlexanderFengler AlexanderFengler changed the title Fix bounded identity group-location priors Rejected experiment: centered TruncatedNormal bounded group priors Sep 1, 2026
@AlexanderFengler AlexanderFengler added the wontfix This will not be worked on label Sep 1, 2026
@AlexanderFengler

Copy link
Copy Markdown
Member Author

Closing this draft unmerged because canonical smoke run 33410419447 rejected the automatic centered TruncatedNormal candidate. The exact candidate remains preserved at 9e7002f on codex/1269-truncated-normal-experimental-base, and research-only #1288 now targets that frozen base with its 23-file, 9-commit diff unchanged. Core prior robustification in #1272 proceeds independently; any eventual production default will arrive through a separate evidence-driven bridge PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

wontfix This will not be worked on

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant