-
Notifications
You must be signed in to change notification settings - Fork 242
Reimplement particle MCMC (SMC and PG) natively, removing AdvancedPS #2853
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
yebai
wants to merge
58
commits into
main
Choose a base branch
from
smc-rewrite
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 19 commits
Commits
Show all changes
58 commits
Select commit
Hold shift + click to select a range
51549c8
Replace AdvancedPS with a native particle MCMC implementation
yebai a2eb174
Consolidate particle MCMC files, drop redundant fork step, add notes
yebai 3e0960b
Default to stratified resampling
yebai 0620231
Drop redundant prior/Jacobian accumulators from particles
yebai 5d9d127
Reuse surviving parents on resample to cut allocations
yebai ad5979b
Clarity pass: high-level design note, sectioning, key-step notes
yebai 48e112a
Document particle-MCMC rewrite in HISTORY; add RNG-respected tests
yebai 22daced
Port extra particle-MCMC tests from PR 2848 (ck/smc)
yebai 4789428
Note that resampler scheme types are not exported
yebai cd6444a
Minimise: drop unused step-counter generality
yebai b904713
Minimise: drop redundant threadsafe check in SMC step
yebai 499b61a
Derive numeric types instead of hardcoding Float64
yebai 87c0bb7
Move import Random123 into particle_mcmc.jl
yebai bcae152
Release the particle MCMC rewrite as 0.47.0
yebai 0223944
Fix method ambiguity in TracedRNG seed!
yebai ad08bbf
Make RNG seed splitting version-stable and decorrelated
yebai 716cc1e
Cite Andrieu, Doucet & Holenstein (2010) in the particle MCMC module
yebai 541bc2a
Stabilise the gdemo CSMC+ESS test against seed variation
yebai 160ab54
Add opt-in within-sweep particle threading to SMC and PG
yebai 75d3c0b
Keep particle log-score consistent with the likelihood accumulator
yebai 50d2f40
Rename ParticleMCMCContext to SMCContext
yebai 7247b13
Parametrise Particle on its RNG and weight types
yebai 39ab78e
Document why particle assume always draws from the prior
yebai 8f6f700
Reuse Particle as the PG state (const PGState = Particle)
yebai f80dc16
Clarify particle parallelism: rename threaded to multithreaded, separ…
yebai 280ade9
Move project instructions into AGENTS.md, include from CLAUDE.md
yebai 564b471
SMC: bundle the population directly, drop the step-loop, PGState, and…
yebai 99a2c2b
Add per-observation ESS to SMC output; rename evidence stat to log_no…
yebai 186282c
Fix Inference.jl test for the log_normalizing_constant rename
yebai b55ea5a
Rename resampler types with a Resampler suffix
yebai 96c11a5
Pin the CSMC reference to the retained trajectory by value
yebai 14bc29d
Guard stratified/systematic resampling against weight undersum
yebai 1a917bb
Warn when SMC is given initial_params
yebai bf9357d
Explain why the CSMC reference reproduces by value, with the math
yebai 118348b
Finish the resampler rename in HISTORY.md
yebai 58a4e0a
Detect a changed reference execution trace instead of silently resamp…
yebai 43f4694
Draw conditional-sweep ancestors multinomially, whatever scheme is named
yebai 8e74b4c
Report which sampling keywords SMC actually honours
yebai ac77e43
Let ess_per_step follow LogProbType instead of pinning it to Float64
yebai 8665e57
Build a CSMC reference from the retained particle, not from loose values
yebai bee0e0c
Record the measured CSMC+ESS margin, which is thinner than the commen…
yebai e8ef7a0
Stop AGENTS.md claiming the particle samplers wrap AdvancedPS
yebai f7af068
Delegate the accloglikelihood!! overload instead of reimplementing it
yebai 542b85c
Assert MoGtest posterior means, not idealised cluster labels
yebai 861d1ce
Mention the reference-replay branch in the SMCContext docstring
yebai 7b12f5f
Skip Aqua's persistent_tasks check on Windows, where it is flaky
yebai 6c8247d
Drop the reference's seed-replay machinery, which value-pinning made …
yebai 9efc184
Rename ESSResampler and the weight-ESS helper away from the ESS sampl…
yebai 2ff6b22
Say that PG's log_normalizing_constant is biased, and test that it is
yebai 92b3638
Check the particle samplers against two models with tractable posteriors
yebai 8390a7c
Produce the particle weight from the accumulator, dropping the type p…
yebai bbfc692
Tidy the particle samplers and their tests
yebai 3f822ff
Derive the fixed-parameter test models, and give the files a header h…
yebai 5cd20ea
Drop the dead normalized_weights import from the particle tests
yebai 9dce003
Correct two comments that misdescribe how particles carry state
yebai e4628df
Cover latents whose dimension varies between executions
yebai 6535094
Widen the varying-dimension tolerance to allow for chain autocorrelation
yebai 8663adf
Fold the normalizing-constant caveat into its bullet, for the formatter
yebai File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.