Skip to content
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

Standardize logp, logweights, and "info" per-sample metadata #58

Open
cscherrer opened this issue Feb 26, 2021 · 3 comments
Open

Standardize logp, logweights, and "info" per-sample metadata #58

cscherrer opened this issue Feb 26, 2021 · 3 comments

Comments

@cscherrer
Copy link

As I understand, there's currently no standard for passing values like the log-density or log-weight (when that exists) for each sample. Algorithms that require these will each have to come up with their own standards, which will then need to be managed separately.

I have some description of how I'm handling these one instance of SampleChains here.

It would make things much easier if things like this can be standardized, to the extent they're common across samplers.

@cpfiffer
Copy link
Member

We had this but removed it. Our view is that this should be standardized within the various ecosystems that touch AbstractMCMC, for exactly the reason you've highlighted -- some samplers and model types need vastly different internals, and it's basically impossible (I think) to build a robust internal interface that standardizes everything.

@cscherrer
Copy link
Author

cscherrer commented Feb 26, 2021

"Everything" yes, sure. I'm suggesting standardizing optional per-sample named fields:

  • samples, for samples (EDIT: This name only really makes sense for a collection of samples)
  • logp or something similar for log-density the samples were drawn from
  • logweights for those
  • info for miscellaneous, which will vary from one sampler to the next

@cpfiffer
Copy link
Member

Yeah, that's about what we had. We kind of decided that it not worth standardizing because cross-talk between samplers or whatever is already tricky enough. I think if this were to be standardized, it would be more at the AbstractPPL level and not at the AbstractMCMC level.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants